It was only three months ago that we shipped Orchard 1.0 and 1.1 is already here with some substantial improvements and many bug fixes. Let me walk you through the most important ones…
Here is our old Orchard 1.0 dashboard next to the new one:
We've flattened the menu and tried to have a more rational grouping of items. Several things that used to be sub-menu items have been moved to be tabs on the right panel:
Managing the widgets on a site in a way that scales from the simplest blogs to large sites is tricky. We implemented that with a system of programmable layers, and the UI we had to control that in 1.0 wasn't very friendly. We improved that in 1.1:
Now you can filter out inactive zones, you can toggle visibility on the layers and theme authors can now provide a visual guide of the zones they expose.
Lists are an easy way to assign custom content items to containers. The admin workflow to create and fill lists was not very intuitive in 1.0 so we improved it in 1.1. We added some help messages, some additional admin screens, and the ability to restrict a list to a specific content type.
For example, once you've added the Containable part to the Page type, you can create a list of pages:
Notice how we now also have a new Bios admin menu item, giving us direct access to the management screen for our list.
It is now possible to browse for your image files right from TinyMCE:
You can use the new dialog to upload new files or to browse existing ones.
Recipes are XML files that describe series of steps such as module installation or feature activation. They can currently be used in three places: setup, module installation and import/export.
Setup recipes enable the creation of specialized distributions of Orchard. We ship with three recipes: the Default one, equivalent to our 1.0 release, the Blog recipe and the Core recipe which is limited to a very small set of features, for users who prefer to start from scratch and add stuff as they need it. You can choose the recipe to use from the setup screen:
Module recipes are similar but are exposed by modules and executed as part of their installation.
This new feature enables the import and export of site content and settings under an XML format that happens to be the same recipe format we just discussed. That opens up some interesting scenarios such as generating a setup recipe for your development environment by exporting the data from the site after it's been setup and populated.
The export screen enables you to choose exactly what data you want:
The warmup feature creates cached versions of select pages so they can be served very fast while the rest of the site is warming up, getting compiled, etc.
Visual Studio deployment is now configured out of the box to publish all necessary files from the web project into production.
This feature adds shape alternates based on the current URL. For example, layout-url-about.cshtml or Widget-HtmlWidget-url-homepage.cshtml are alternate template names for respectively the ~/about page and the home page.
I kept my favorite feature for the end of this post. You can think of Shape Tracing as Firebug for Orchard.
Once enabled and activated on a page of your site, Shape Tracing enables you to visually explore the tree of shapes that was used to compose it.
The first tab shows the shape name, the template that was used to render it, the display type (Detail, Summary, etc.) and the possible alternates. It even exposes buttons to create these alternate files if you want to.
The Model tab is extremely useful in building a template: it enables you to explore the shape object and drill into it. When you click one of the nodes in the tree, the top line of the tab shows the expression that you can copy and paste into your template in order to render it.
The Placement tab shows the placement.info file that determined the placement of the shape.
The Template and HTML tabs show the server code for the shape and the corresponding rendered HTML.
And this is pretty much it, except for dozens of bug fixes.
The release can be downloaded from CodePlex:
Upgrade instructions from 1.0 to 1.1: