Hello Umbraco!
This is not a saucepan with two handles on an orange background - but the Umbraco logo - open-source ASP.NET CMS. This article is a short introductory course at Umbraco. In addition to general questions - what is it and why, I will show how you can quickly deploy it and make the first application - in just 5 minutes.
Umbraco is an open-source CMS written in ASP.NET / C #. Initially, it was developed by Danish programmer Niels Hartvig for their projects, but now it has become quite adult and open-source. So what does the user - and the developer - Umbraco offer?
Let's start with the strengths:
1) This is open-source. Umbraco uses a mixed license - MIT / Umbraco UI License. The second, in fact, is the same MIT while maintaining the logos and the Umbraco brand. There is also a commercial license - which includes support, a number of paid add-ons and allows CMS rebranding
2) XML / XSLT / WebForms as a frontend - at first such explicit emphasis on XML / XSLT seems unusual, but later comes the realization how convenient it is.
3) Extensibility - a fairly convenient and flexible API for writing your own modules that complement functionality, data types, macros, etc.
4) Support for various databases - SQL Server, MySql, VistaDB (embedded DBMS, convenient for development).
5) Convenient deployment mechanism - package system
6) A convenient interface for the administrator / editor
7) A large number of already created extensions, add-ons, data types, ready-made solutions based on Umbraco (eCommerce, blog-engines, etc)
8) The ability to use IronPython for development of extensions - for those who do not want learn C # / VB.net
9) Active community - a lot of new projects, a “live” forum, a wiki, there are quite active bloggers.
However, a number of things that sometimes cause inconvenience should be noted:
1) Some “randomness” of the development — there is no clearly defined concept that would limit the developer — accordingly, you need to constantly monitor yourself so that the project does not turn into a set of loosely connected flaps.
2) There is no strict and unified documentation - as I said, there are many sources - but often there is no specific address to find a solution that looks like an obvious problem. However, the community responds quickly - and you can get an answer if you wish. Well, as a last resort - there are always source codes.
3) This is open-source - and for this you have to pay very often out of time errors. But - if there is a desire, community and source code - everything is repaired within a reasonable time.
To make you think that Umbraco is quite a serious thing, it’s appropriate to cite large projects that use it - Peugeout.com, Heinz.com, Wired.co.uk, Hasselblad.com, sandisk.com, Denmark MSDN Community - msdncommunity .dk.
So, a lot of good has already been said - I think everyone is eager to try Umbraco in business. First, we need the actual CMS - the latest version and sources are available on umbraco.codeplex.com . The current version is 4.0.3, but 4.1 is on the way. In version 4.1 - there are many really very cool changes - beta II is still available - but it is not recommended for production use. The release is just around the corner - the 2nd quarter of 2010, but for now, for all the examples we will use version 4.0.3. Download the archive with the latest version, unpack it, create a new site in IIS and bind it to the local address - I will use umbraco.local . You can create a database in MS SQL Server - but this is not necessary for development; embedded DBMS VistaDB will be enough.
All these complicated and tedious steps can be avoided - using the Microsoft Web Platform Installer (http://www.microsoft.com/web/Downloads/platform.aspx). Find Umbraco CMS in the Content management list or simply click Install at www.microsoft.com/web/gallery/Umbraco%20CMS.aspx
Finally, CMS is installed - go to umbraco.localin your favorite browser - and we see the Umbraco welcome page - with a proposal to install. Installation includes several simple steps - accepting a license (or not accepting it, but then you can finish it), setting up a connection to the database, creating a database structure, setting an administrator password, checking file system permissions (reading / writing to the necessary directories). At the last stage, Umbraco will offer to install Runway Foundation - a set of basic elements for building a site (text pages, navigation, FAQ, etc). We politely refuse - to keep the experiment clean.
After that, the actual CMS pages will be available - at umbraco.localyou can watch a curious stub informing that there is nothing on the site yet and there is nothing to show (if we agreed to Runway installation, we would immediately get a demo text page) and most importantly, access to the admin panel - umbraco.local / umbraco / umbraco .aspx .
In the lower left, sections are available - sections of the admin panel, in which all the functionality is collected. Section Content - contains the actual tree of the site - what will be available to the user. Media - allows you to upload pictures, flash, etc. Users - defines the users of the admin panel, including grouping, assignment of access rights. Settings is one of the key sections, templates, scripts, CSS and - the cornerstone - Document types are configured there. What is it - we will find out a little later. Developer section - provides access to manage packages, macros, data types, and the cache. Well, Members are users again, but this time - the site itself (Umbraco also includes its Membership Provider).
Further I will show an approximate process of creating a page - without focusing on the details.
So, creating a page includes creating a Document type, creating a template for it, adding an element with the created document type to the Content tree, and publishing. To get started, create a Document type for the text page. We go to the Settings - Document type section, the context menu - Create ..., enter the name - TextPage and do not forget the Create matching template checkbox.
The creation is completed - and we see as many as 4 tabs with the settings, but so far we are interested in the last 2 - Tabs and Generic properties. On the Tabs tab, add one Tab - let's call it Content. And in the Generic properties - add the PageText property of type Richtext editor - and place it on the Content tab.
If something is not clear yet, then wait a couple more minutes, the clarification will come just now. Great, now there is a Document type - you can create content. We won’t touch the template yet - I’m too eager to see how our DocumentType looks for the administrator.
We go to the Content section - and in the context menu of the root (Content) select Create .., specify our created Document type - and set the name - TestPage. OK - and now we already see the world through the eyes of the site editor - in addition to the Properties tab (service) - we see the Content tab we created and a text editor - into which you can already enter the text of the first page. The PageText property name does not appear anywhere - but it is a requirement of the Richtext editor data type - it takes up all available space.
The page is created, filled - you can publish it. Just click Save and publish - and you can go to umbraco.local and enjoy a blank white page (instead of a message about the lack of content) - after all, a template for rendering our page has not yet been created. Ok, go back to the admin section Settings> Templates - and open the automatically created TextPage template. I think the contents of the template may alert you
- <%@ Master Language="C#" MasterPageFile="~/umbraco/masterpages/default.master" AutoEventWireup="true" %>
* This source code was highlighted with Source Code Highlighter.
Yes, the premonition was not deceived - this is the usual ASP.NET MasterPage - with all that it implies (such as the ability to use WebForms + ASP.NET components, inherit pages, build a hierarchy of templates, write code behind) - in a word, like Komarov’s - “Oh, how cool everyone is! ”
So, mentally preparing to write a bunch of C # code to display the text ... Soon! Just click “Insert umbraco page field” on the toolbar and select our pageText field.
The template will be added
Well, the simplest example is over - all the goodies are left behind - like working with content via XSLT, a hierarchy of document types, templates, URL management - and much more. And accordingly, the question arises - will you be interested in reading a series of articles on this CMS? Of course, this will not be just a translation of the documentation, but a structured presentation from the roots to the very ends.
What else could be interesting:
umbraco.org - the project site (there are training videos, documentation)
our.umbraco.org - the community (wiki, forum, projects)
umbraco.codeplex.com - sources and new versions of
en.wikibooks.org/wiki / Umbraco - Some Interesting Articles
www.nibble.be - Umbraco Blog
twitter.com/umbraco - twitter of the founder and maintainer - Niels Hartvig
twitter.com/alek_sys - twitter of me)
Vasily K, Kirill Komarov - Krutototut - a song for the mood.