A few days ago I got the question from a manager: “Is this default in Umbraco?” To be honest, that is a very difficult question that deserves a blog post on it’s own. So here it is! The answer to a general question asked to an umbraco developer: "Is this default in Umbraco?"
It is probably a default setup on how you can work with Umbraco. So: yes.
Slightly longer answer
It depends of course on what you call “default”. But the developer you are asking this question, has probably implemented the things asked already a few times. Been there, done that. And if he hasn’t done so, he might have found a blog post or forum topic which explains how to do so. Or maybe he has found (a free) package, which does the things considered to be default.
The reason why the developer can say it is default, is packages, blogs and extending umbraco IS default. Without the default behaviour, you would not have a website.
First of all, I wrote earlier that Umbraco is not a CMS, I called it a framework. Umbraco provides a base for you to build web applications (or websites), without trying to interfere with the developers using it.
Umbraco does not provide strict guidelines on how to setup your website. It does not force information into predefined concepts. As such the developer need to (sic, by default) extend the Umbraco download, in order to have a website. The nice thing about Umbraco, is that it doesn’t limit you in how you organise everything to get things done. It gives you a solid base where you can plug in different things.
The core of Umbraco exists out of an amount of default modules. These modules take care of rendering your webpages, building URL’s, saving and publishing content items (nodes) and rendering backend. These modules are “default”, but no-one would not expect otherwise from a CMS. That's why you are not writing your own rendering engine, but instead choose a CMS.
A lot of modules in the Umbraco Core can be replaced or extended by your own needs. I consider replacing these modules, or adding extra functionality to modules ALSO default. A developer familiar with the concerned topics (extending umbraco and dev’s reference), doesn’t need to know all the internals to add easy customizations to your website. This is were a lot of power of umbraco comes from, and is to my knowledge not always easy to do with other cms’s. Extending the base is daily job, and can be considered default.
If the core is not enough, there are a lot of packages. Packages are pieces of software which are developed by 3th parties (except for Courier, Contour and Concierge), which add extra functionality to Umbraco. Most packages are free, some not. Packages are build for Umbraco, and the Umbraco back-end makes it very easy to install addons. I think we can safely say that most Umbraco installations use packages. This makes me believe the Umbraco Packages are default. If someone would try too argue against, consider that there are packages which are now included (or parts of it) into to core (like uGoLive, uComponents, …).
One of the great side effects of having such a Robust core is that a lot of package creators, implement the same robust principles in there software. This makes it for packages developers easy to plug into events of 3th party packages, and “customize” this further.
If you read up till here, you might wonder: all this customization sounds like pretty expensive. I can’t talk for other companies, or what they are charging for certain functionality. In our experience, Umbraco offers a lot of extendable default functionality speeding up development. This gives the customizations in question a much higher return on investment, compared to Umbraco-less solutions.
So what do you think? What do you consider "default" in umbraco?