Orchard Harvest 2017–Orchard Core CMS

For the last presentation of the day, Sébastien explained what Orchard Core is all about. Orchard Core runs on ASP.NET Core, and as a consequence is leaner, faster, and cross-platform. One big change is that its content is persisted as documents instead of relational tables.

Other differences include:

  • The admin theme is now a setting.
  • The content item editor has a new live preview feature, content editor, an flow part that largely replaces the layout feature of Orchard 1. The whole thing is responsive and easy to work with.
  • A navigation is one single content item, with its hierarchy persisted as a single document. This is very fast, but preserves the extensibility of Orchard 1: menu items are still themselves content items, it’s just that they are persisted all together in the containing menu content item’s document. This also helps versioning the menu as a whole, as well as efficiently caching it.
  • The order of parts in type definitions is easier to change.
  • There are named parts.
  • Blogs are just lists of blog posts.
  • Tokens are input into Handlebar templates (for example in Autoroute).
  • The widget editor supports drag and drop between zones, and has an undo button.
  • Widgets can be used in “flow pages”, in which case their editor is displayed inline in the content item editor.
  • Recipes can have dynamic values and define variables. They are also JSON documents.
  • It’s crazy fast. 15ms to render a blog with widgets without caching on a laptop in Debug mode under load (2000 rps). This is way faster than Orchard 1 with caching on.
  • Creating and setting up a new tenant is instantaneous. So is enabling a module.
  • Memory usage: tenants are lazily loaded on their first requests, and 500 tenants fit in 2GB on a 64 bit machine.

Migrating data will not be trivial, and will have to go through import/export. Migrating modules should be easy. Modules are like a mini-MVC application, much like in Orchard 1.

You can follow the progress on https://github.com/OrchardCMS/Orchard2/wiki/Roadmap

It’s also a great time to start contributing!

No Comments