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

    1. <%@ 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- and this is enough to display the text! We save the template, return to umbraco.local - and voila - our text is now available to users. I note that our page is also available at umbraco.local / testpage.aspx - i.e. Umbraco manages site URLs - and each page has url = the full path in the content tree (testpage subpages can have addresses - /testpage/subpage1.aspx, /testpage/subpage2.aspx - but this is a topic for another discussion).

    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.

    Also popular now: