Umbraco 5 Alpha 3 is out today

Friday, October 21, 2011 by Alex Norcliffe

Hi everyone! It's time to release another Alpha of Umbraco 5 just in time for the weekend.

For a quick intro on what our Alphas have entailed so far, some background on the v5 effort, and some tips and tricks on getting Alphas up and running, check out the following posts:

- Umbraco 5 Alpha 1 Release

- Umbraco 5 Alpha 2 is out today

You can download the Alpha 3 web application zip from CodePlex, and within minutes of this blogpost going up our status page will reflect the latest updates too. I'll cut to the chase because this release has a massive amount of new features and improvements which we'll hope you'll enjoy testing!

What's in the Alpha 3

Here's a list of some of the improvements. As you can see, things are coming together pretty quickly lately - happy days.

  • Permissions!
    • Permissions grid on user groups editor (puts the permissions on the "system root" as a handy way of editing top-level permissions in one place)
    • Permissions grid on content & media.
    • Permissions are pluggable!
  • Rollback context menu on Content
  • Publish items from context menu
  • Move / Copy from context menu on Content & Media
  • Recycle bin
    • This is essentially a Move operation when you "delete" items - and the Recycle bin now also has permissions!
  • Templates tree shows Razor files as a tree with MVC layouts as a top node, and files that depend on the layout underneath
    • Click 'Create' on the context menu for an existing Layout to create a new template with auto-setup of Layout tag and Sections
  • New Languages tree including editing of fallbacks.
    • The Dictionary is not in Alpha 3 yet, but language fallbacks will be used when grabbing dictionary items. If a language is not found for an item it will use the language fallbacks to look elsewhere.
    • Languages are saved in a deep-config file at /App_Data/Umbraco/Config/umbraco.cms.languages.config, so compatible with continuous integration setups.
  • TinyMCE improvements
    • Insert hyperlinks to media items
    • New Insert Media dialog
  • A lot of other stuff under the hood, e.g. Hive relations & improvements, using Permissions to protect your own methods etc.

I hope you'll agree, it's quite a big list since Alpha 2! Let's have a quick scan at some of these new features.

Permissions

Permissions in Umbraco 5 are very powerful, and of course you can plug in your own permissions. We'll cover that in one of our upcoming tutorial posts. The intention for the Permissions model in v5 is to:

  • Let you inherit permissions from parent nodes
  • Let you override those inherited permissions - including denying a permission that is allowed further up the tree
  • Let you assign permissions to user groups so you can add/remove users from those groups at will to have the permissions apply to the users easily
  • Let you protect your own methods in your plugins with either built-in permissions, or even your own custom ones that come with your plugin

Umbraco 5 comes with an Administrators user group which has all permissions set to "Allow". Let's make a new user group:

image

Here I've clicked the "Allow" column to grant everything, and then denied the Create, Publish and Save permissions.

Let's make a new Dummy account and make it a member of that new group:

image

Now, logging on as that Dummy user, and right-clicking the Homepage, I don't have the Create, Publish or Save context menu items:

image

If I go to edit the Homepage and try to click Publish, I get told that I can't:

image

But those permissions were for all content, because I applied them directly to the user group. This sets up the "default" permissions between the User Group and the root System node to give you a handy way of setting system-wide permission sets.

Let's say I want to leave those defaults, but allow my Dummy user to create content under the Faq node. As an admin user, I'll go to the Faq node and choose "Permissions" from the context menu:

image

Here I've clicked on the Allow radio button for the Create permission. Let's save that and log back in as the Dummy user. Right-clicking on Homepage still shows no Create option, but right-clicking the Faq node allows me to Create:

image image

As you can see, Permissions in Alpha 3 are quite powerful already but we have more improvements on the way - the main one being speed. Right now (especially if you run on SqlCe) you'll notice some tree operations are a bit slow because we haven't optimised it fully yet, but performance of these items will massively improve as we get closer to a release.

Improvements to the Template editor

In Umbraco 4, there's a lot of lovely secret sauce to represent ASP.Net Master Pages (i.e., Templates in v4 terminology) as a hierarchical tree. It's an example of the Umbraco mantra: use regular technology for those who like it, but give a friendly GUI for those who don't need or want to know the details.

In Umbraco 5 as you may know we've switched to MVC3 rather than WebForms. What that means is the "Template" technology underpinning it is entirely different. It's taken some work, but in Alpha 3 we now have Template representing hierarchically. Here you can see the DevDataset layout which I was given as part of my installation, and I can expand it to see what Views (i.e. Templates) use that Layout:

image

Furthermore, if I right-click a Layout and choose "Create", and complete the wizard step, I get given a new template with the Layout property set and the @section elements available to me so I can get going quickly:

image

We'll be improving this further to add in some of the features in v4 around inserting fields and macros of course, but we think this is a great step in the right direction to give users similar tools even though we're now on top of the MVC stack. Let us know what you think!

Known issues / limitations

As usual, it's an Alpha, so there will be bugs and performance issues, but we really are grateful for you trying out the Alpha so that you can be a part of a stable Umbraco 5 release! We've put the issues list on the CodePlex release page to keep it in one place.

Collaboration

Today there's an Umbraco User-Group meetup in Amsterdam, and tomorrow (Sat 22nd October) they're having a hackday on Umbraco 5. On November 4th, there's the UK meetup and all the hacking that will ensue. On November 10th, I'll be in Brussels to talk about v5 too. We love being part of such an awesome community, and make no mistake - if you'd like to contribute to the codebase for Version 5, please do drop us a line! As I said last time, the best way is to grab the sourcecode from CodePlex, take a look at our developer Wiki (which is a work-in-progress), and once you feel acclimatised to the codebase or want to ask questions, we'll meet you on the Our forums to help you with your first pull request!

Alternatively, if there are ways in which you feel we could take steady, accessible steps to reducing any barriers for you to want to dig into Visual Studio and make that first pull request, please let us know too.

 

Happy bug-hunting and thanks again for helping!
Team 5

7 comment(s) for “Umbraco 5 Alpha 3 is out today”

  1. Gravatar ImageChris Houston Says:

    Looks great, everyone in the core and HQ are doing an awesome job, keep it up guys :)

    Just a quick thought on the permissions, if the user does not have permission to publish a node, is it not possible to remove the "publish" buttons, in the same way you only show the Create button if they have create permissions?

    Looking forward to having a play with it!

    Cheers, Chris

  2. Gravatar ImageAndy Says:

    Great - look forward to taking a look at the latest release - looks to be coming together really well.

    Having spent a bit of time looking through the code and monitorring progress, wanted to comment on your last point - "Alternatively, if there are ways in which you feel we could take steady, accessible steps to reducing any barriers for you to want to dig into Visual Studio and make that first pull request, please let us know too." - as have had a couple of thoughts here.

    One is that for interested contributors it's not very apparent what the issues are that you would appreciate efforts on. Whilst you have the issue list on codeplex, only 3 as far as I can see have ever been tagged with the appropriate release - so it's not obvious what's needed or what would be useful to work on. I know when submitting issues the general user doesn't have permissions to assign an issue to a release - but think it would help if someone who does have these permissions could review submitted issues and tag them appropriately - perhaps even flagging ones you would appreciate contributors looking at, and noting others that are already planned for work by the core team so efforts aren't duplicated?

    Second one is on pull requests - I can see there are a number pending, but don't see much change in terms of evaluation or comments. I've had one there for 3 weeks with no update yet, dealing with one of the 3 flagged issues from alpha 1. Please don't get me wrong - it's admitidly trivial, and mainly done so I can learn the contribution process - so I can quite see why it's way down the list of priorities for the project! But would suggest a bit more response there would perhaps help those looking to contribute?



  3. Gravatar ImageAlex Norcliffe Says:

    Hi @Chris - thanks for the feedback! Agreed & it's definitely the intention to get there with that one but for the moment buttons (UIActions in the codebase) are protected by the methods they run on the server side. We'll be working on filtering the display of them based on permissions as soon as we can.

  4. Gravatar ImageAlex Norcliffe Says:

    Hi @Andy - thanks for getting in touch about collaboration, and thanks also for the pull request itself!

    With your feedback in mind (and others) we're working on a public page so that we can address exactly your first point - listing what tasks are up for grabs, what's in progress etc. Regarding pull requests, we definitely want & need to improve the process there too so in the near term I'll be setting up a weekly v5 pull-request review to make sure we act on them in good time & that people get good feedback about whether their request will get accepted, and how soon etc.

    So I can add it to the one for this week, is this one yours? http://umbraco.codeplex.com/SourceControl/network/Forks/abutland/TestingFork/contribution/1542#

  5. Gravatar ImageAndy Says:

    Thanks for the update @Alex - and you're welcome. Both your suggestions sound good to me - I'll check back for that page.

    And yes, that was the one. Just had an update on the original issue itself, and looks like Matt Brailsford has sorted it out with change set 436c8d984c5a, so you can likely just close the pull request.

  6. Gravatar ImageMike Says:

    Hey,

    I can't see images in the RSS feed.

    Thanks for looking at that!

  7. Gravatar ImageJohn Says:

    Looks groovy brothers. Umbraco looks a lot like the holy grail so far! Nice one. Thank you everyone for all your hard work.

Leave a comment