Orchard CMS Review – Eine .NET WordPress Alternative
Seit über 10 Jahren setzen wir auf .NET-Lösungen im Bereich von Content Management Systemen. Obwohl WordPress mittlerweile ein fester Bestandteil unseres Daily Business ist, passt .NET besser in unsere ganze Microsoft-Umgebung.
Auf der Suche nach einem modernen Content Management System damit wir unser, mittlerweile etwas in die Jahre gekommenen .NET CMS ablösen können, sind wir dabei auf Orchard CMS gestossen.
Tja und was soll ich sagen – Es ist der Wahnsinn! Aber erst mal der Reihe nach.
Orchard ist ein kostenloses, quellcode-offenes, auf dem .NET Framework basierendes Content Management System, welches von den Leuten der Microsoft-Stiftung «Outercurve Foundation» entwickelt wird.
Orchard wird komplett in C# für die .NET Plattform entwickelt. Um grösstmögliche Erweiterbarkeit und Flexibilität bieten zu können, steckt hinter Orchard eine ausgeklügelte Architektur welche stark von der sogenannten «Dependency Injection» Gebrauch macht. Statt auf klassische ASP.NET Webforms, greift Orchard auf ASP.NET MVC mit Razor-Syntax zurück. Damit verwendet Orchard CMS neuste Technologien und erzeugt validen (X)HTML Code.
Orchard, mit seiner durchdachen Architektur, ist auf mehreren Ebenen erweiterbar. Dabei kann jede Erweiterung als Modul in der Orchard-Gallery veröffentlicht werden. Unterschieden werden dabei folgende Arten von Modulen:
Themes
Design und Layout, das Erscheinungsbild der Website wird als Theme bezeichnet. Es enthält unter andere, Javascript-Dateien, Stylesheets, MVC Razor-Templates sowie die Placement.info-Datei die steuert, an welcher Stelle eines Layouts, welcher Inhalt angezeigt wird.
Widgets
Widgets sind kleine Bauklötze, wie zum Beispiel die Anzeige eines Warenkorbs oder einer Tagcloud auf einer Seite. Meistens bilden Sie kleine Inhalte auf der Website ab.
Extension Module
Sie enthalten Funktionen und Erweiterungen, welche im Hintergrund des Systems arbeiten und keinen direkten Einfluss auf das Erscheinungsbild haben, sondern grundlegende Methoden zur Verfügung stellen, die in den Bereich der Infrastruktur des Systems fallen, wie zum Beispiel das «Alias»-Module um «Friendly URL’s» zu generieren.
Content Module
Sie beziehen sich auf den Inhalt und sind Erweiterungen welche für die Logik von Erstellen, Anzeigen, Bearbeiten und für Informationen zur Darstellung von Inhalten verantwortlich sind.
Ich liebe Orchard (und ihr solltet das auch tun) weil:
- Orchard hat vollen Support von Microsoft. Eine starke Entwickler-Community und entsprechender Support der Plattform wird somit gewährleistet.
- Orchard ist super flexibel. Das Erstellen von Custom «Content Items» wird von Haus aus unterstützt, ohne dass dubiose Plugins installiert werden müssen.
Der Programmieraufwand wird somit massiv reduziert, weil die nötigen Datenstrukturen «zusammengeklickt» werden können. - Orchard ist «Multitenant»-fähig. Das bedeutet, dass mehrere Seiten mit derselben codebasierten Installation laufen. Übersetzt: 1 Datenbank – Mehrere Websites.
- Der integrierte MediaManager (welche im Gegensatz zu WordPress das Erstellen von physikalischen Ordner-Hierarchien standardmäßig erlaubt) enthält einen umfangreichen Bildeditor (Cropping, Resizing, Diverse Filtermöglichkeit, etc.)
- Orchard enthält einen bequemen Workflow-Editor. Damit kann zum Beispiel festgelegt werden, dass nach dem Absenden eines Formulars ein neues Content Item erstellt werden soll.
- Orchard erlaubt das Erstellen von «Recipes» im XML-Format. Darin wird die initiale Startup Konfiguration festgelegt und kann somit bei jeder neuen Website ausgeführt werden.
Sollte euch das alles noch nicht aus den Socken hauen (obwohl ich das ehrlich gesagt nicht verstehen kann) zeig ich euch gerne noch das absolute Killer-Feature: Shape Tracing
Orchard enthält ein Designer Tool names «Shape Tracing». Dieses erlaubt das Anwählen einzelner Sektionen auf der Website um damit Informationen über den gerenderten Code zu erhalten.
Ist dieses aktiv kann mit der Maus über einzelne Website-Elemente geklickt werden um Informationen zum Shape, Model, Placement.info, Template oder den HTML-Code einzuholen.
Mit dem «Alternate Tool» können automatisch Templates für ein Shape erstellt werden, welche dann als Razor-File in der Projektstruktur abgelegt wird.
Das ist wirklich der Wahnsinn, oder? Übrigens hier eine unserer ersten Orchard-Webseiten: www.in4out-webagentur.ch