The Simplismo framework
The Pixel To Code Simplismo Umbraco framework simplifies the process of building a flexible, responsive and full-featured Umbraco website.
We might one day release Simplismo as a package for the Umbraco community to use like any other startup package, but in the meantime we're honing and improving it by using it on all our websites. It's working a treat. If you'd like to try it for yourself, get in touch.
The main principles are as follows.
A proliferation of templates is often the reason why complex Umbraco installs become unmaintainable. Developers create a new template for every variation of a page, duplicating code and confusing the user.
In Simplismo, we have a simple set of base templates which describe only the basic layout, with either one, two or three columns. Positioning of elements on the page is handled in the Content tree.
If you have a lot of pages with a specific, set format, then of course you can extend a base template accordingly.
You add sections, blocks, collections, and other content items into the tree in a hierarchical way. The base templates call a function that accesses and displays the content on the page.
This gives total flexibility to change content in the CMS without resorting to code, and granularises the page so that code can be easily reused.
A simple document type structure
All pages share the same document type: Page. This vastly simplifies content creation and development of features such as the navigation etc. Items of content that can be displayed either in a list or as a page, such as news items, staff biographies, or the like, inherit properties from the Page document type and add their own, such as date or job title.
Other items of content, are similarly structured hierarchically, inheriting properties from their parent types, and rendered by their own specific MVC views. To create a new type of content, just add a new document type, add a view to display its data, add the content items in whichever arrangement you like, and you're done.
Consistency is the key, and this gives you a system that's easy to understand, easy to change, and easy to maintain. A triple whammy that is otherwise very hard to achieve.
In order to make the framework easy to pick up and use, whatever your Umbraco experience, the codebase is almost entirely razor scripts. There's no route hijacking, no custom models or controllers, no external dll dependancies. That makes deployment a breeze, but you can of course adapt it to your own development environment in any way you wish.