Privacy consent
Module development and Orchard Core APIs
Included modules
- Getting started with module development
- Basic techniques in module development
- Developing custom content
- Intermediate techniques in module development
- Advanced techniques in module development
- Automated testing in Orchard Core
- Complementary topics in module development
Introduction
Time requirement
1 hourDependencies
The below topics are the core of what an Orchard developer should know. Other, less important items are listed under Extended Orchard Core APIs.
- Structural overview of the Orchard source
- Contents of the Orchard folder (docs, App_Data in OrchardCore.Cms.Web, module/theme folders...)
- Solution overview, a look at how Orchard structures projects (packages)
- The structure of a module (OrchardCore.Media is a good complete example)
- Manifest: features and dependencies
- Views, wwwroot folders
- Other conventional folders
- The structure of a theme
- Code generation templates
- Integrating with the current theme
- Dependency injection and basic services on the example of a simple controller
- Notifier
- Localizers
- Logger
- T-strings in templates
Introduction
Time requirement
2 hours 30 minutesDependencies
The below topics are the core of what an Orchard developer should know. Other, less important items are listed under Extended Orchard Core APIs.
- Displaying entities with display management
- Basic document storage
- Storing documents in the database for entities with
ISession
- Indices, migrations, and querying
- Storing documents in the database for entities with
- Abstracted file storage with
IMediaFileStore
Introduction
Time requirement
2 hours 30 minutesDependencies
The below topics are the core of what an Orchard developer should know. Other, less important items are listed under Extended Orchard Core APIs.
- Content part development
- Parts and their comparison to entities, part data storage
- Content type and content part migrations, code generation with Helpful Extensions
- Drivers: Display and edit methods
- Editor and display shapes
- Handlers
- Placement
- Exercise
- Module code generation
- SpaceShip content type
- Title part for name
AutoroutePart
for urlSpaceShipPart
content part- Captain
- Class
- Number of crew
MediaPickerField
(needs the Fields feature) for an image: for this also a shape template override with a stylesheet include (e.g. the image should be displayed with rounded corners)
Introduction
Time requirement
3 hoursDependencies
The below topics are the core of what an Orchard developer should know. Other, less important items are listed under Extended Orchard Core APIs.
- Custom routes with attribute routing and route maps
- Filters
- Injecting shapes into the layout
- Registering resources from filters (alternatively easier with Helpful Libraries)
- Events and hooking into events like
ILoginFormEvent
- Permissions and authorization
- Background tasks
Introduction
Time requirement
2 hours 30 minutesDependencies
The below topics are the core of what an Orchard developer should know. Other, less important items are listed under Extended Orchard Core APIs.
- Ways of storing settings
- Site settings and implementing an admin menu
- Content type settings (e.g. Indexing)
- Content part settings: part-level and type-level settings
- Caching
IMemoryCache
for instance-level cachingIDynamicCacheService
orIDistributedCache
for farm-wide caching
- Recipes inside modules
Introduction
Time requirement
2 hoursDependencies
The below topics are the core of what an Orchard developer should know. Other, less important items are listed under Extended Orchard Core APIs.
- Writing unit tests with help of the Lombiq Testing Toolbox.
- Writing UI tests with the help of Lombiq UI Testing Toolbox.
Introduction
Time requirement
2 hoursDependencies
The below topics are the core of what an Orchard developer should know. Other, less important items are listed under Extended Orchard Core APIs.
- Middlewares
- Integrating with client-side build pipelines using Lombiq NPM MSBuild Targets and Lombiq Node.js Extensions.