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
How 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 is a Razor view. 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
XML Schema downloads.
- package.xsd
Download the XML schema for Nucleus install package manifests.
- Error Codes
Reference listing of Nucleus Developer Extensions error codes.