Världens första UUGS-möte Del 1 - Alex Norcliffe om Umbraco 5

2011-03-01

Trevlig tillställning i rikt utsmyckade lokaler

Häromkvällen var det dags för världens första UUGS-möte. Det var en fin inramning med goda mackor och vacker konst på Cloud Nine. Ett mycket bra arrangemang.

Kvällen skulle inletts med en presentation av Niels Hartvig, men i hans frånvaro fick vi istället lyssna till Alex Norcliffe - Lead Architect för Umbraco 5. Det kändes som om utvecklingen rullar på i god fart, och för mig som ännu inte hunnit titta på version 5 var det en ögonöppnare. Jag hade hoppats på lite om MVC3 och Umbraco, men jag anar att det är så pass centralt att de flesta redan känner till det.

Alex berättade att v5 är en fullständig omskrivning av existerande kodbas. De verkar ligga långt framme när det gäller .NET, och det mesta känns väldigt modernt.

Hostname support

i v5 kommer man att kunna sätta hostnames på vilken nod i trädet som helst. Man stödjer också Virtual directories.

Relations API - Allt är noder!

När man i administrationen under Links to documents tittar på en nod som har ett hostname satt så ser man alla url:er som den sidan har. Detta hanteras av det omskrivna Relations API. Relations API har en helt annan betydelse i v5, eftersom allt är relationer. Om jag förstod det rätt så är alla noder i administrationen noder i samma träd. Man ska tänka sig att det finns en system-nod ovanför roten i content-trädet, och ovanför konfigurationen. Sedan använder man sig av Relations API för att koppla samman till exempel rättigheter hos en användargrupp till en specifik nod. Man kan t. ex skriva egna permissions. som är en typ av Relation, och som sedan kan sättas på varje nod eller på hela trädet. Rättighetshanteringen verkar också ha fått sig ett ordentligt lyft.

The Hive

The Hive är abstraherar noder och möjliggör hämtning av innehåll från andra källor på ett enklare sätt än genom .NET-kod eller CMS import.

The central goal of the data access strategy in Umbraco 5 is to allow for the data to be loaded from a flexible list of sources. Components in the stack which require access to data use an abstracted "gateway" called Hive, shielding the developer from the inner workings of whichever persistence implementation is really responsible for reading and saving the data.

Alex demonstrerade en Umbraco Hive Provider som hämtar in noder från en Wordpress-blogg. Han menar att Hive gör att Umbraco tar ett viktigt steg i och med att man tillåter flera olika typer av innehåll från flera olika källor.

LINQ och Hive? Alex menar att det inte behövs, men att Hive stöder en delmängd av LINQ.

Han talade lite om Massive.cs, som är ett sätt att ladda databasdata dynamiskt. Massive Laddar alla fält i en databas och tillgängliggör dem som publika properties. Det verkar väldigt kraftfullt, och är skrivet på relativt få rader. Jag föstod inte om Hive är skrivet med hjälp av Massive eller om Alex hade använt Massive när han byggde sin Umbraco Hive Provider för Wordpress.

Förändrad rättighetshantering:

En användare kan höra till en eller flera user groups. Det har blivit enklare att sätta default permissions, och det är tydligare hur saker och ting ärvs.

Övrigt

Färre modal dalogues - mindre MS office-känsla och mer webb.

Rollback dialogue har gjorts om.

De sista 18 månaderna har fler och fler börjat bygga egna system ovanpå Umbraco.

Custom sections kommer att få översättningsbara texter

Det ska bli enklare att lägga in egna plugins/ back end extensions, och de kan läggas in var som helst i backenden. Man behöver inte gå in i databasen för att installera detta.

Dictionary sparas som xml istället för i en databas. Alex lovade att de ska titta på det lite störande faktum att man inte kan flytta runt på Dictionary Items med mindre än att ta bort och skapa nya. Languages har fall back languages, så om ett dictionary item saknas för ett språk, tar det andra vid.

Backend GUI är skrivet i Knock-out js . det verkar gå snabbt att få ut saker i det.

Mycket matnyttigt med andra ord. Jag ser fram emot en framtida uppdatering.

/Bibliotekarien - The Librarian