Use the snippets in the Snippets file to quickly copy text instead of having to type it all in.
This assumes you already have an Orchard Core solution ready but as a first step you can also demo creating it. The corresponding snippet uses Lombiq Utility Scripts .
- Setup with the Blog recipe (as it’s simple yet a quite complete overview of Orchard features; you may use Agency too, but the rest of these notes assume you’ve used Blog), briefly explain every option and field on the setup screen. "Password1!" is a simple demo password that you can use.
- Access the admin, show that it’s responsive.
- The Orchard content model: Show the basics of Orchard’s concepts around content, since that’s in the core of the CMS.
- Show and explain the default Blog Post and Article content items. Show and compare their content types (like telling that their titles are handled by the same Title Part).
- As a more complex demo create a Page with an Html Widget, explain Preview, draft and versioning.
- Explain content definition: Content types/parts/fields. Modify the Html Widget type to use a WYSIWIG editor.
- Create a new widget content type, Markdown Widget with MarkdownBody, and demo it with the same Page.
- Batteries included: Show what other features are built into Orchard that cover most of what a usual website should do.
- Media Library: Upload images and show them on a page.
- User management basics.
- Recipes again, import/export
- Modules and themes: Basic concepts of Orchard extensibility, how to configure them. Enable another theme (like Agency) to show how themes work.
- Enable Audit Trail, configure all content types to record events for. Show how creating, then editing a Blog Post is recorded, with diffs. Use the occasion to explain versioning.
- Enable Workflows and create a Workflow Type to show a notification when content is published (notification Liquid:
Thank you {{User.Identity.Name}}!
). - Layers and widgets: Show how the same widget concept used with Pages can be utilized again.
- Queries and Search with Lucene: Explain the concept of queries, what Lucene is, how listing content items works. You can also explain SQL Queries.
- Templates: Create a template to override some small shape template.
- Localization: Configure site cultures, set up a language selector, create localized content items, mention how UI labels are localized.
- Introduction to extending Orchard
- Create a theme with the command line template if you haven't created it together with the solution:
dotnet new octheme -n "OrchardCore.Theme"
- Modify Layout.liquid (e.g. you can write something in front of the site name) and explain the concept of shapes and shape template overrides.
- Show some simple examples from the Training Demo module.
YourFirstOrchardCoreController
is a good example. Alternatively or additionally, you can show the code of something simpler, likeTitlePart
, in the Orchard Core source. You can correlate what people have seen on the admin with the code. Explain that a module/theme is just an ASP.NET Core area and for a quick start, you can turn a C# project into an Orchard Core extension by not much more than adding a Manifest file.
- Create a theme with the command line template if you haven't created it together with the solution: