Foundations for Professionals .NET Professionals im Profil guide to C# guidgen.de

Blog

Nutze den Augenblick
und teile der Welt mit, was Du zu sagen hast.

Ein CMS auf Basis von ASP.NET

Samstag, 4. Oktober 2008, 12:43 Uhr
Permalink | Kommentare (1) | Kommentare als RSSRSS

Schon seit geraumer Zeit bin ich auf der Suche nach einem Content Management System (CMS), das auf ASP.NET basiert, kostenfrei und idealerweise Opensource wie auch leistungsfähig und skalierbar ist. Zugleich darf die Einarbeitung in ein entsprechendes System aber auch nicht zu aufwändig und kompliziert sein, schließlich geht es mir ausschließlich um den privaten und KMU-Einsatz.

Aus verschiedenen Gründen scheiden die Platzhirsche der Branche leider aus, allen voran AxCMS.net der Firma Axinom, das zwar so wohl kostenfrei wie auch ausgesprochen leistungsfähig ist, für das genannte Einsatzgebiet aber leider zu umfangreich ist, wodurch der notwendige Einarbeitungs- und Wartungsaufwand in nicht mehr zu vertretende Höhen schießt.

Nach einiger Suche bin ich nun, wie es scheint, auf ein System gestoßen, das alle meine Anforderungen erfüllt und zudem äußerst flexibel und zudem erweiterbar ist: Die Rede ist von Umbraco. Dieses System basiert auf ASP.NET 2.0, unterstützt verschiedene Datenbanken, unter anderem auch SQL Server 2005 und 2008, und legt dem Webdesigner keinerlei Einschränkungen auf, wenn es um das Design der Webseite geht.

Auch wenn der erste Anfang ein wenig mühsam ist, so ist das Konzept von Umbraco doch letztlich sehr durchdacht und übersichtlich, wenn man sich erst einmal an die Terminologie gewöhnt hat:

  • Das grundlegende Element in Umbraco sind sogenannte Document Types, die analog zu einer Tabellenbeschreibung in einer Datenbank vorgeben, aus welchen Element ein einzelnes Objekt bestehen kann - im einfachsten Fall wird durch einen Document Type eine ganze Seite beschrieben, die beispielsweise aus einer Überschrift, einem Bild und einer Textbox für Richtext besteht. Ein Document Type muss aber nicht zwingendermaßen eine ganze Seite beschreiben, auch der Teil einer Seite ist abbildbar.
  • Passend zu jedem Document Type gibt es ein sogenanntes Template, das als beliebiger Code in HTML oder XHTML definiert sein kann, und welches die optische Darstellung des Document Types definiert. Auch hier gilt wiederum, dass ein Template im einfachsten Fall die ganze Seite beschreibt, in komplexeren Szenarien durchaus aber nur einen Ausschnitt der Seite beschreibt. Da sich so wohl Document Types wie auch Templates ineinander verschachteln lassen, ist es problemlos möglich, hierarchische Strukturen zu erstellen, die dem Konzept der Masterseiten in ASP.NET ähneln.
  • Gefüllt wird die Kombination aus Document Type und Template nun mit Leben, indem der Benutzer Content zur Verfügung stellt, der sich von seiner Struktur an den Document Type und von seiner Optik an dem passenden Template orientiert.
  • Ergänzt wird das ganze durch die Möglichkeit, dynamischen Content in ein Template einbinden zu können - dies geschieht über sogenannte Makros, wobei ein Makro im Grunde genommen nichts anderes als ein Wrapper um ein Stück Code ist. Dieser Code wiederum kann in verschiedenen Sprachen angebunden werden, beispielsweise in XSLT, C# oder Python.
  • Ein XSLT-Makro bietet sich immer dann an, wenn Daten verarbeitet werden sollen, die bereits in Umbraco vorliegen - intern bildet Umbraco sämtlichen Content und sämtliche Strukturen nämlich als XML ab, so dass sich der Einsatz von XSLT anbietet. Sollen hingegen externe Inhalte wie beispielsweise Datenbank- oder Webserviceabfragen eingebunden werden, so bietet sich der Einsatz von C# an. In Umbraco ist es sogar möglich, ASP.NET-Webcontrols direkt als Makro einzubinden, so dass keine spezielle Vererbungshierarchie notwendig ist.

Aktuell ist derzeit noch die Umbraco-Version 3, Version 4 ist aber bereits für Ende des Jahres angekündigt. Diese Version wird dann die Fähigkeiten von ASP.NET noch deutlich besser ausnutzen, da zahlreiche Konzepte nicht mehr proprietär umgesetzt werden, sondern so, wie man es in ASP.NET auch machen würde - begonnen bei Masterseiten für Templates über die Verwendung von ASP.NET-Membership- und -Role-Providern bis hin zu einer Überarbeitung aller Umbraco-eigenen Schlüsselworte auf eine Syntax, die der von ASP.NET entspricht.

Alles in allem bietet das System zwar nicht so viel out of the box wie manch kommerzielles oder größeres System, dafür bietet es dem Entwickler aber alle Freiheiten, seine Wünsche und Ideen umzusetzen, ohne ihm irgendwelche Einschränkungen aufzuerlegen.

Als einziger Wermutstropfen bleibt derzeit eigentlich nur, dass sich ein Einstieg in Version 3 derzeit nicht mehr wirklich lohnt, da Version 4 dermaßen viele Neuerungen mitbringt, dass man dann lieber direkt auf dieser Version aufsetzen sollte. Wem es aber nicht auf ein paar Monate ankommt, dem sei dieses System uneingeschränkt empfohlen.

Kommentare

Kommentar schreiben


(Zeigt dein Gravatar icon)  

  Country flag

biuquote
  • Kommentar
  • Live Vorschau
Loading