Developing ExtensionsExtensions can add new layouts, modules, file system providers, scheduled tasks, content editors, entire line-of-business applications and other components. Read about extensibility options for Nucleus.
- 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.
- Modules
Modules are applications which run within Nucleus, which present information on pages.
- 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.
- 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.
- Other Examples
Create client-side libraries, file system providers, search index managers and search providers, or other general-purpose extensions.
TutorialsDeveloper walkthroughs/tutorials.
- Developing a Nucleus Module
Walkthough - Developing a Nucleus Module.
TopicsNucleus Extension development topics.
- Authorization
Nucleus implements .Net Core Authorization policies in order to control access to controllers and/or controller actions. Learn about the Nucleus authorization policies here.
- Database Scripts
Database scripts are used to create and manage your database schema (tables, indexes and other database objects). Learn how to create database scripts for your extension here.
- Saving Settings
Documentation on using built-in Nucleus functionality to save and retrieve module and site settings.
- Extension Packaging
An extension package is a zip file which contains all of the files needed for your extension, along with a Extension Packaging (package.xml) file with instructions for Nucleus on how to install your components. Read about the packaging and manifest format here.
- Razor Views
The user interface for Nucleus modules and extensions are Razor views. Your views can make use of Nucleus view features (tag helpers, html helpers and url helpers) to make it easier to interact with Nucleus.
- Caching Data
Nucleus core caches most data entities in memory in order to improve performance. Modules and extensions can use the Nucleus Cache Manager to cache their own data.
- Startup Classes
Startup classes add functionality to Nucleus during startup.
- Data Providers
Data providers are implemented by Nucleus extensions in order to interact with the database.
- Event Handlers
The Nucleus core and Nucleus Extensions can raise system events for others to handle, or implement Event Handlers to execute code when a system or extension event is raised.
ReferenceNucleus developer reference documents.
- API Documentation
Nucleus framework (API) documentation.
- CSS Reference
Description of CSS classes which can be used by extensions.
- Third-Party Components
Nucleus uses a number of third-party components. Their source and license types are listed here for reference.
- XML Schemas
- package.xsd