Nucleus .Net Core CMS: Web application framework and content management system for .Net Core

Extensions

Developers can create Extensions to add new layouts, modules, file system providers, scheduled tasks, content editors, entire line-of-business applications and other components.  Extensions are .NET core class libraries, typically developed in Visual Studio and C#.

Extensions are packaged as zip files with a manifest (package.xml file) and are installed by site administrators.

The extensions system in Nucleus CMS uses .NET core features to automatically isolate extension assemblies, so that different extensions can use their own private set of dependency assemblies - so different extensions can use different versions of the same package.

Nucleus CMS provides developer tools (Visual Studio project and item templates) and framework (API) documentation so that .NET core developers can extend the application.  You can download developer tools from the downloads page.

Extension Packaging

An extension can contain any combination of modules, scheduled tasks, layouts, containers or other code in a single installation package.  An extension package is a zip file which contains all of the files needed for your extension, along with a manifest (package.xml) file with instructions on how to install your components.

  1. Layouts and Containers
    Layouts control the visual presentation of modules on a page. Layouts are often called "Themes" or "Skins" in other content management systems. Containers control the visual presentation of specific modules that they are assigned to.
  2. Modules
    Modules are applications which run within Nucleus, which present information on pages.
  3. Scheduled Tasks
    Scheduled tasks perform their work periodically and are generally used to perform system maintenance, like expiring cache entries or updating a search index.
  4. Control Panel Extensions
    Some extensions do not have a user interface, but need to provide a way for site administrators to set configuration settings. Use a control panel extension to add an item to the Manage or Settings control panel.
  5. Other Examples
    Create client-side libraries, file system providers, search index managers and search providers, or other general-purpose extensions.