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:

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:

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

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

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:

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:

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:

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:

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