Structure Extensions is a package that enables several enhancements to the Structure features of Document & Media Types.
For example, you can set Textpage to be the Default Document Type under your Homepage, set only Folders to be allowed in the Root Level of the Media section, and set Image as the default Media Type for a Folder.
The goal is to reduce clicks and be friendlier by guiding users towards the most common types they will be creating. Check out the screencast to see it in action.
Usage
Simply install the package to get started. Two new options will be added to the Structure Tab of your Document & Media Types. Use these options to set default content types and configure which types are allowed at the root.
Note: By default, no content types will be allowed at the Root levels. You should manually set which ones are allowed (if desired) by checking the “Allowed at root” checkbox on the Structure tab of each type.
Technical Notes
The controls on the Structure tab are injected dynamically; none of the Umbraco core files are modified. The package adds a configSection to your web.config and stores it’s config in /config/StructureExtensions.config - but there is no need to touch this by hand as it’s managed by the controls. Note it’s still possible to override the “allowed root types” by using the Move/Copy dialog (for now…).
Installation
Download the packages below and install via Umbraco, or install via Nuget: Our.Umbraco.StructureExtensions
Upgrading & Compatibility
Version 1.x should be used for Umbraco v4 sites, and 2.x for Umbraco v6 sites.
When upgrading from 1.x to 2.x, you must remove the `allowedAtRoot` attribute from your /config/StructureExtensions.config file, as this attribute is no longer used.
I have some other ideas for adding more control/limitations over document type structures. If you have any thoughts or ideas or would like to get involved, please let me know.
Workitems
If you like this package and would like to see similar features in the core someday, feel free to vote up these related Umbraco workitems:
Thanks Lee Kelleher for some inspirational code :)