I’ve just came across a new feature which, I suppose, will be ready for the upcoming Orchard 1.1 release – the Recipes.
It allows you to describe the startup configuration of Orchard and brew your own environment just by defining the necessary setup steps in simple XML. Cool!
Apart from the manifest part (the <Recipe> section) containing info about recipe you can define everything you need for your Orchard application to successfully set up:
- Modules needed (the <Module> section). The coolest thing about this section is that you can define even the modules not existing in the installation package and those will be automatically downloaded and installed from Orchard Gallery (or other repositories of your own you may optionally specify)
- Features enabled/disabled by default (the <Feature> section)
- Themes available (the <Theme> section)
- Content types and parts (<Metadata> section with <Types> and <Parts> subsections)
- Default site settings (<Settings> section)
- Migrations to run (<Migration> section). You can specify for which features the migrations should be run (* by default, which means all)
- Commands to invoke (<Command> section).
As an example of such recipe take a look at the one used for setting up a default environment.
I guess this gives a huge boost for everyone building highly customized applications on Orchard, as the whole setup phase can be clearly defined. So you can simply say “goodbye” to hours spent on setting up your Orchard box for the n-th time!