OPTEN, das einzige Umbraco-zertifizierte Unternehmen der Schweiz

Umbraco Scaffolding

Wir verwenden so ziemlich für jede Webseite das dänische Open Source CMS Umbraco. Das CMS wird für jedes Projekt neu aufgesetzt und konfiguriert. Wir müssen bei jeder neuen Installation die gleichen Grundeinstellungen vornehmen und verschiedene Elemente erstellen. Dieser Prozess sollte nun automatisiert werden. Das Ziel war, eine einfache Umbraco Webseite auf unseren internen Standards in nur 15 Minuten zu installieren.

Diagramm Scaffolding

Eine Umbraco Webseite besteht aus verschiedenen Elementen (siehe Abbildung). Das Ziel ist es, eine Auswahl an vorkonfigurierten Elemente anzuzeigen und zu installieren. Diese Übersicht wird auf dem  Dashboard, welches sich in der Entwickler Sektion von Umbraco befindet, angezeigt. Dieses Dashboard wird über ein Package installiert. Packages sind installierbare Komponenten (Plugins) die es erlauben, in einem Schritt beinahe beliebige Elemente (Dokumenttypen, Templates, CSS, Javascript-Files, usw.) zu installieren.

Das Dashboard basiert auf HTML, CSS und JavaScript. Zudem basiert das komplette Backend auf dem JavaScript-Framework Angular.

Das Dashboard bietet eine Übersicht der Elemente, welche installiert werden können. Die Elemente wurden in einer Konfigurationsdatei abgelegt, welche mit der Installation des Packages in Umbraco kopiert wird. Mit JavaScript wird die Datei gelesen und anschliessend das Dashboard aufgebaut. Auf dem Dashboard können weitere Einstellungen vorgenommen werden. Die Elemente können von der Installation ein- oder ausgeschlossen werden. Zudem können Namen und Abhängigkeiten von Komponenten angepasst werden.

Nach dem Tätigen der Einstellungen wird der Installationsbutton gedrückt. Durch die Abhängigkeiten der Elemente musste ich einen Workflow implementieren, welcher schön ein Element nach dem anderen installiert. Zudem musste ich eine eigene Loop-Funktion im JavaScript programmieren. Das Problem war, dass die Kommunikation zwischen dem Dashboard und dem Server asynchron ist. Das heisst das Dashboard wartet nicht auf die Antwort des Servers, sondern installiert alle Elemente gleichzeitig. Die neue Loop-Funktion wartet auf die Antwort des Servers und führt erst nach dem Erhalt die nächste Installation durch.

Mit diesem Package können wir einfacher und vor allem schneller mit einer Umbraco Webseite starten. Diese Grundinstallation bringt alle zukünftigen Webseiten auf einen soliden Standard. Das Package bringt einen weiteren Vorteil und zwar werden wir firmenweit die Webseiten nach den gleichen Standards aufbauen. Wir werden das Package aktiv aktualisieren und erweitern. Ich habe bereits verschieden Verbesserungsvorschläge von Mitarbeitern bekommen. Zudem werden wir das Package der Umbraco Community zur Verfügung stellen.


kommentieren


0 Kommentar(e):