DotNetNuke, Orchard oder Umbraco?

OrchardUmbracoDNNDotNetNukeCMSContent Management

... oder warum ich auf Orchard gewechselt habe. Hier sind meine persöhnlichen Erfahrungen und Meinungen zusammengefasst.

Die Geschichte

Seit einiger Zeit unterhalte ich Websites für private Homepage und diverse Vereine. Ausser für die private Site bestand immer die Anforderung, dass mehrere Benutzer den Inhalt bearbeiten können müssen. Es musste also ein CMS her, wenn ich nicht das Rad neu erfinden wollte. Aus beruflichen Gründen musste das CMS wenn möglich auf Microsoft Plattform (.NET, IIS) basieren. Ausserdem war mit den Websites kein Geld zu verdienen. Deshalb sollte die Einführung eines CMS so kostenneutral wie möglich sein. Damals, es war etwa im Jahr 2009, fiel die Wahl auf DotNetNuke.

DotNetNuke erfüllte alle Anforderungen. Die Basisversion ist kostenlos. Der Quellcode ist öffentlich verfügbar. Es hat eine grosse Community die laufend am System weiterentwickelt. Die Bedienung und Wartung ist nicht ohne Stolperfallen, aber im Wesentlichen einfach und bis heute Richtungsweisend. Alle notwendigen Module sind vorhanden. Weitere Module können selber programmiert werden. So hatte ich beispielsweise ein eigenes PayPal Zahlungsmodul entwickelt. Dennoch, es gab Faktoren die störten. Ich beschloss zu wechseln. Zu jener Zeit, es war Ende 2013 war Umbraco für mich das präferierte System. Orchard schien damals zu komplex und zu undokumentiert.

Umbraco ist ein schlankes Tool. Das Konzept ist, nicht das CRM zur Verfügung zu stellen, sondern die Plattform für das CRM. Umbraco kommt praktisch ohne Inhalt daher. Damit ermöglicht es extrem schlanke Sites zu entwickeln. Das heisst, im Endeffekt entwickelt man sein eigenes Rad neu. Man hat zwar ein überaus potentes Werkzeug, aber damit ist das Problem, dass man alles zuerst einmal entwerfen muss nicht gelöst. Um ehrlich zu sein, ganz so schlimm wie ich es hier darstelle ist es nicht. Es gibt einige Skins und Module, die einem bei der Erstellung der Sites helfen. Dennoch, ich konnte mit Umbraco nie richtig warm werden. Erneut schaute ich mich um und entdeckte Orchard.

Orchard hat sich in letzter Zeit extrem entwickelt. Die meisten Berichte, die man im Internet findet, stammen aus 2011. Die sind hoffnungslos veraltet. Der erste Eindruck von Orchard ist, dass es überladen ist mit Modulen und die Administration dadurch unübersichtlich. Das stimmt im Vergleich zu Umbraco. Aber Orchard bietet sehr viel 'out of the Box'. Alle Module wirken professionell und aktuell. Berechtigungen können extrem granular vergeben werden. Es gibt einen brauchbaren Blog, ein eindrückliches Query Modul und ganz besonders - Workflows! Der erzeugte Code der Website ist ansprechend kompakt. Alles in allem, ich bin ziemlich beeindruckt von Orchard.

Aber alle Systeme haben eine grosse Menge an Gemeinsamkeiten. Wo grenzen sie sich ab? Ich versuche im Folgenden meine Eindrücke von den drei Systemen darzulegen.

Wieso diese drei?

Zum einen sind es die drei, die ich aus eigener Anschauung kenne. Ich habe oben kurz die Geschichte um den Einsatz der drei Systeme dargestellt.

Zum anderen sind es die drei besten die auf .NET basieren.

Klar, es gibt andere Kentico, Sitefinity, Sitecore, .Net CMS und viele mehr. Aber sie sind teilweise nicht wirklich frei, oder zu jung oder zu spezialisiert, auf Blogs zum Beispiel.

DotNetNuke (DNN)

Homesite: http://www.dnnsoftware.com/

Download: http://www.dnnsoftware.com/community/download

DNN ist das grösste und bekannteste der drei CMS. Es ist weit verbreitet, stabil, bewährt. Es ist der Rolls Royce unter den .NET CMS, nach wie vor. Hinter DNN steht eine grosse Community und die Firma DNN Corp. Die Basisversion von DNN (DNN Plattform) ist frei verfügbar und wird hauptsächlich von der Community supported. Darauf aufbauend gibt es zwei kommerzielle Versionen, die von DNN Corp. vertrieben werden. Sie bieten zusätzlichen Support, Skalierbarkeit und weitere Funktionalitäten.

Technologie

Die Entwicklung von DNN begann zu Anfangszeiten von .NET. Damals war WebForms und ASP.NET 1.0 aktuell und 'state of the art'. Master Pages gab es noch nicht. DNN verwendet eine Alternative mit WebControls, die mindestens ebenso elegant ist. Daher verzichtet DNN bis heute auf Master Pages. Inzwischen ist es möglich Razor Syntax zu nutzen. Es werden API's geboten für Module und WebServices.

Als Datenbank kommt SQL Server zum Einsatz.

DNN integriert die Administration direkt ins Frontend. Dies führt zu herausragendem Bedienungskomfort.

Inhalt verwaltet DNN in Form von Modulen, die auf Seiten platziert werden. Man legt also die Seite an und platziert dann per 'drag and drop' Module darauf. Module können alles sein - Blog, Wetterinformationen, Kalender, News, Store, HTML, etc. Die Community hat eine grosse Menge solcher Module entwickelt. Nach dem Platzieren des Moduls auf eine Seite kann es konfiguriert werden.

DNN kann mehrere Websites mit einer Installation verwalten. Module können auf mehreren Seiten und auf mehreren Sites angezeigt werden. Internationalisierung wird unterstützt auf Basis der .NET Ressource Dateien (.resx) für statische Texte. Inhalt kann in mehreren Sprachversionen angelegt werden. Die Verwaltung einer internationalen Site ist recht komfortabel.

Benutzererfahrung

Nach einer kurzen Eingewöhnung gestaltet sich die Administration einer Site mit DNN sehr einfach und logisch. Neue Inhalte sind schnell erstellt. Durch die Administration direkt im Frontend sieht man vielfach gleich die Auswirkung einer Änderung am Inhalt.

Module sind online verfügbar. Zum Teil sind sie kostenpflichtig, zum Teil frei. Sie können direkt aus dem Internet installiert werden.

Mobile Geräte werden stark unterstützt. Einerseits können natürlich responsive Skins erzeugt werden. Andererseits kann aufgrund der Geräteklasse auf andere Seiten verzweigt werden.

Mehrsprachige Sites werden ebenfalls sehr gut unterstützt.

Nachteile

Jedes Modul ist ein eigenes Web Control. Die Module haben einen sehr unterschiedlichen Entwicklungsstand. Oft werden sie mit CSS Dateien ausgeliefert, die mit der aktuellen Skin nicht kompatibel sind. Module können schlecht auf Daten anderer Module zugreifen. Datenstrukturen sind nicht einheitlich.

Man merkt DNN die lange Geschichte an, die es bereits erlebt hat.

Ein typisch schweizerisches Problem ist, dass Updates regelmässig zum nicht mehr Funktionieren der Website führen. Das liegt daran, dass die Sprachdateien nicht gleichzeitig aktualisiert werden. Wenn man Standardsprache de-CH einstellt und als fallback Sprache de-DE, dann fehlen oft Textressourcen, was dazu führt, dass DNN unschön beendet. In einem solchen Fall müssen die Resourcen ergänzt werden. Dabei hilft DNN sehr.

Fazit

Es gibt wenig wirkliche Kritikpunkte. Aber insgesamt ist mein Eindruck, dass es halt ein Wenig unflexibel ist. Auch kleine Anpassungen, die nicht gleich in den Einstellungen vorgenommen werden können arten bald in etwas mühsame Arbeit aus.

Umbraco

Homesite: http://umbraco.com/

Download: http://umbraco.com/download

Nicht der Rolls Royce, eher das Vollblutpferd ist Umbraco. Umbraco managt Inhalt, nichts weiter. Es ist modern, stark, flexibel. Wichtig ist, dass hier von Umbraco 7.x die Rede ist. Diese Version unterscheidet sich stark von den Vorversionen. Dise Version ist eine Neuimplementierung auf Basis von MVC und Angular JS. Es wurde bereits für die Version 5.x eine Neuimplementierung mit MVC versucht. Diese Version wurde aber nie fertiggestellt. Versionen 6 und <5 sind Web Forms basierend.

Dem Vernehmen nach wird die Microsoft MSDN Website mit Umbraco betrieben. Wie bei DNN steht eine aktive und sehr hilfsbereite Community hinter Umbraco. Aber gesteuert wird das ganze von der kommerziellen Firma Umbraco HQ. Diese vertreibt kostenpflichtige Supportpakete und Erweiterungen.

Technologie

Umbraco 7.x ist eine komplette neuimplementierung auf Basis von .NET MVC. Es werden moderne entwicklungsprinzipien angewendet.

Datenbank kann eine MS SQL Server Variante sein oder MySQL

Internationalisierung wird von Anfang an unterstützt. Hier zeigt sich ein Vorteil, dass Umbraco ein holändisches Projekt ist.

Benutzerfahrung

Das Administrationspanel ist sehr schlicht und schön. Hier zeigt sich was mit Angular JS alles machbar ist.

Das Frontend ist frei definierbar, die Benutzerfahrung richtet sich nach dessen Implementierung. Für den leichteren Einstieg gibt es Scriptvorlagen. Damit kann etwa ein Menu erstellt werden oder Ähnliches. Genauer gesagt, die Scripts generieren HTML Elemente. Im Fall des Menus ist es eine <ul/> Liste. CSS und eventuell JavaScript Code für die korrekte Darstellung sind selber zu erstellen.

Erweiterungsmodule können online heruntergeladen werden und sind zum Teil kostenpflichtig und zum Teil frei. Für Version 7.x gibt es noch fast gar keine brauchbaren Erweiterungen. Es ist anzunehmen, dass sich das in den nächsten Monaten ändern wird, sobald die Benutzer der Vorversionen verstanden haben, dass die Version 7.x ein grosser Schritt in die Zukunft ist.

Nachteile

Die Dokumentation ist nahezu unbrauchbar. Nirgends wird unter den Versionen unterschieden. In den Vorversionen wurde stark mit einer von Umbraco generierten XML Datei gearbeitet um auf Inhalte per XSLT Script zugreifen zu können. Neu würde man das nicht mehr so machen, aber man kann, wenn man unbedingt will. Da gibt es jedoch viel bessere und flexiblere Lösungen, eine LINQ Implementierung beispielsweise. Diese Diskrepanz zieht sich durch den gesamten Berg von Dokumentation und ist für mich ein Horror. Es mag sein, dass alles nicht so schlimm ist, es gibt ja Benutzerforen. Aber für mich war nicht einmal ein vernünftiger Einstieg in die Programmierung von Modulen möglich, da sich immer wieder Informationen auf die alten Versionen bezogen haben. Das viel beworbene und kostenpflichtige Umbraco.tv hilft hier auch nicht wirklich weiter.

Der Mangel an einsetzbaren Modulen wurde bereits erwähnt.

Fazit

Ich habe mal in einem Forum die Frage gestellt, wie sich Umbraco gegen zum Beispiel Orchard abgrenzt. Sinngemäss hat jemand geantwortet: "I think Umbraco is about development, whereas other CMS are about implementing". Einem Entwickler wie mir weckt dieser Satz zuerst eine gewisse Sympathie für Umbraco. Aber nach jeder Entwicklung folgt die Implementierung. Es sei denn, das Entwicklungsprojekt gehöre zu den 80% nie fertiggestellter IT Projekte. Also bedeutet Umbraco zuerst Mehraufwand.

Umbraco ist also das Vollblutpferd der drei CMS. Nur fehlen ihm halt Stall, Weide, Jockey und Rennbahn. Wer ihm dies bieten kann, der wird damit Freude haben.

Orchard

Homesite: http://orchardproject.net/

Download: http://orchardproject.net/download

Orchard - nunja, es ist kein Rolls Royce und kein Vollblutpferd. Orchard ist, sagen wir mal, der Peugeot, oder vielleicht der Toyota. Nicht so schwerfällig wie der Rolls und dazu noch mit modernsten Funktionen ausgerüstet.

Orchard ist sorgfältig und intelligent programmiert. Die Erweiterungsmodule sind überaus mächtig. Es ist Open Source aber wird gesponsert von Microsoft indem Microsoft Mitarbeiter an dem Projekt mitarbeiten. Dennoch beschränken sich die Entwickler nicht nur auf MS Tools und Bibliotheken. Als ORM wird beispielsweise nHibernate eingesetzt statt des Microsoft eigenen Entity Frameworks.

Internationalisierung ist möglich und gut beschrieben. Mobile Geräte werden nicht speziell unterstützt.

Technologie

Die Basis ist MVC und als Datenbank MS SQL Server Variante oder MySQL. Es werden modernste Entwicklungsprinzipien und Technologien verwendet, wie OR Mapper, Dependency Injection, etc.

In Orchard wird Inhalt mit Inhaltstypen definiert. Ein Typ wird aus Inhaltsteilen(content parts) zusammengestellt. Daneben gibt es Widgets. Dies alles kann auf Seiten platziert werden, die wiederum nur ein Inhaltstyp sind. Die einzelnen Bestandteile einer anzuzeigenden Seite werden zusammengestellt und bilden eine Struktur von Shapes. Die HTML Repräsentation dieser Shapes bildet die anzuzeigende Webseite. Zugegeben, man muss sich eindenken, aber Orchard ist extrem flexibel.

Benutzererfahrung

Ausser Sie wissen was Sie tun, installieren Sie nicht die Basisinstallation. Diese ist wirklich nur das Minimum und alle Konfigurationen müssen von Hand vorgenommen werden. Die Vorgaben der Beispiele sind vernünftig und können gut als Basis für eine eigene Site dienen.

Die Administration wirkt überladen. Und beinahe jedes neu aktivierte Modul macht hier weitere Einträge. Wenn man sich jedoch auskennt, dann ist es OK.

Wirkliches Highlight ist die Flexibilität. Das Query Modul zum Beispiel; In DNN muss ein separates Modul für Linkfavoriten installiert werden. In Orchard erstelle ich einen neuen Inhaltstyp, erfasse meine Links und im Query Modul generiere ich hiervon eine Liste und definiere eventuell Filter und Darstellung. Ebenfalls begeistert hat mich das Workflow Modul.

Viele Module sind in der Standardversion enthalten. Weitere Module können heruntergeladen werden. Sie sind zum Teil kostenpflichtig.

Development scheint auf den ersten Blick sehr logisch, wenn auch komplex. Echte Erfahrungen habe ich noch nicht gemacht.

Nachteile

Orchard ist jung. Man weiss nicht so recht, wie gut es skaliert. Die komplexen Mechanismen zum Erstellen einer Webseite lassen vermuten, dass es nicht das schnellste CMS sein wird. Die Entwicklung ist rasant.

Die Dokumentation wird oft bemängelt. Ich finde sie jedoch um Welten besser als bei Umbraco. Sie trifft öfters zu, ist allerdings immer etwas oberflächlich. Es gibt ein Buch bei O'Reilley, das aber nicht mehr sehr aktuell ist. Hier kann man bestimmt noch einiges verbessern.

Fazit

Umbraco ist für die, die nicht mit vier Tonnen durch die Landschaft fahren müssen oder ein Vollblut zähmen wollen aber dafür ein agiles vielseitiges Werkzeug schätzen. Ich bereue den Umstieg nicht.

Schlussbemerkung

Was ich hier geschrieben habe trifft auf den Zeitpunkt zu, an dem der Blog entstanden ist. Noch heute arbeiten zwei Websites von mir mit DNN. In einem halben Jahr mag das eine oder andere in diesem Text nicht mehr stimmen.

Wichtig ist zu erkennen, dass es das beste CMS nicht gibt. Umbraco ist grossartig, für meine aktuellen Bedürfnisse scheint es mir nicht geeignet. DNN ist grossartig, für meinen Anwendungsfall scheint es mir zu statisch, zu schwerfällig. Und Orchard ist grossartig, mir fehlt nur noch ein Kalendermodul und ich wäre vollends glücklich.

No Comments

Add a Comment