Mit seiner langjährigen Erfahrung als Umbraco-Trainer hat byte5-CPO ein gutes Auge dafür, was Editoren in Umbraco benötigen. Nachdem vor einem Monat die neue Version 8 erschienen ist, hat Sören als Antwort auf Engpässe gleich nach Veröffentlichung zwei neue Packages entwickelt und der Umbraco-Community zur Verfügung gestellt. Wie sehen diese v8-Packages aus? Welche Funktionen erfüllen sie? Darüber spricht Package-Autor Sören mit uns im Interview.

Soeren DegerVor gerade mal vier Wochen ist Umbraco 8 erschienen. Du hast dich dann entschieden, direkt zwei Packages für die neue Version zu entwickeln. Wie kam es dazu?

Für unsere Arbeit als Goldpartner ist es extrem wichtig, im kompletten Umbraco-Produktportfolio immer auf dem aktuellen Stand zu sein – dazu gehört natürlich auch Umbraco 8. Vor allem bei einem Major-Release wie diesem war es für mich selbstverständlich, bereits vor dem offiziellen Release-Termin die Vorabversionen gründlich zu testen und alle Änderungen zu analysieren. Nur so können wir unsere Kunden bestmöglich beraten.

Allgemein halte ich es für am sinnvollsten, direkt die neue Version zur Entwicklung von eigenen, kleineren Projekten zu verwenden und dabei Breaking-Changes zu analysieren. So lässt sich prüfen, wie die eigenen Anforderungen in der neuen Version am besten umgesetzt werden können. Hinzu kommt, dass fast alle Community-Packages aus Umbraco 7 mit der neuen Version 8 nicht kompatibel sind und diese entweder migriert oder neu entwickelt werden müssen. Es gibt also eine ganze Menge kleinerer Projekte, welche man hierfür umsetzen und dann als Package der Community zur Verfügung stellen kann.

 

Was sind die Aufgaben deiner beiden Packages?

Als Erstes habe ich ein kleines Package, die „Supportly Content App“ entwickelt, welche ich bereits im vierten Teil meiner Blogserie zu Umbraco 8 kurz erläutert habe. Dieses Package bietet Redakteuren jederzeit eine kontextbezogene Dokumentation im Backend.

Supportly Content AppAbb. 1: Supportly Content App

Mein zweites Packages ist die „Linked Nodes Content App“. Mir war es wichtig, gleich zu Beginn von Umbraco 8 tatsächlich praxisrelevante Packages zu entwickeln, welche Redakteure in ihrer täglichen Arbeit unterstützen und diese erleichtern. Die Akzeptanz eines CMS steht und fällt letztendlich fast immer mit der Akzeptanz seiner Redakteure.

 

Was genau kann die „Linked Nodes Content App“?

Es kommt immer wieder vor, dass Redakteure Bilder, Dateien oder Content-Knoten löschen, obwohl diese noch irgendwo im Backend eingebunden sind. Wenn diese Verlinkungen nicht aufgehoben werden, führt das meist zu Fehlern im Frontend. Noch dazu kommt, dass diese Fehler häufig erst einige Zeit später durch Zufall entdeckt werden. Es ist dann oft recht zeitaufwändig, herauszufinden, wo die Ursache für den Fehler liegt.

Die Linked Nodes Content App gibt Redakteuren schnell eine Übersicht, welche Links zum aktuellen Content-Knoten gehören und welche Content-Knoten die aktuelle Media-Datei, also beispielweise ein Bild, referenzieren. Über dem Kachelsymbol der Linked Nodes Content App erscheint deshalb ein Badge, das die Anzahl der aktiven Verlinkungen anzeigt. Sind keine Dateien verlinkt, wird auch kein Badge angezeigt. Der Redakteur muss somit nicht zur Content-App wechseln um initial zu prüfen, ob überhaupt Verlinkungen vorhanden sind. Dies spart dem Redakteur einen Klick und somit in der Summe viel Zeit.

Linkednodes Heroimage
Abb. 2: Linked Nodes Content App: Übersicht mit Badge in Kachel der Content-App und Badge bei Property mit Anzahl der Verlinkungen

Die Übersicht in der Content-App listet dann alle Verlinkungen im Detail auf. Standardmäßig wird der Knotenname angezeigt. Beim Klick auf den Knotennamen öffnet sich direkt der entsprechende Content-Knoten ohne dass dieser zunächst im Content-Baum gesucht werden muss. Weiterhin wird der Pfad zu diesem Content-Knoten als Breadcrumb angezeigt, außerdem der Alias der Property, in welchem die Verknüpfung vorhanden ist, und zusätzlich auch noch die Knoten-ID. Der Property-Alias ist vor allem dann sehr nützlich, wenn man Knoten mit sehr vielen Propertys hat. So muss der Redakteur nicht lange suchen, um die Verlinkung im referenzierenden Content-Knoten zu finden.

 

Die Content-App kann sicher auch individuell angepasst werden?

Ja, klar. Nach der Installation des Packages von https://our.umbraco.org wird zunächst eine Konfigurationsansicht angezeigt. Hier lässt sich auswählen, welche Spalten in der Übersicht angezeigt werden sollen. Für die meisten Redakteure ist es ausreichend, wenn der Knotenname und der Pfad angezeigt werden, sodass einfach die Spalten Property-Alias und ID deaktivieren werden können. Die Spalte für den Knotenname ist als Default gesetzt und kann nicht deaktiviert werden. Diese Übersicht kann jederzeit angepasst werden, indem in der Packages-Section bei den installierten Packages auf „Package Options“ von der Linked Nodes Content App geklickt wird.

Linkednodes Customization
Abb. 3: Konfiguration der Linked Nodes Content App: Übersicht 

Da die meisten Entwickler Packages über nuGet installieren, habe ich natürlich mein Package auch auf nuget.org veröffentlicht.

Der Nachteil an dieser Art der Installation ist, dass das Package nicht bei den installierten Packages im Umbraco-Backend gelistet wird. Ist dies der Fall, lässt sich das aber auch über die Einstellungen direkt in einer eigenen, kleinen Konfigurationsdatei vornehmen, welche sich im lokalen Verzeichnis 
/App_Plugins/b5LinkedNodesContentApp/linkedNodes.config befindet.

 

Was passiert, wenn ein Redakteur die Anzeige der Content-App übersieht und versehentlich doch einen Knoten löscht?

Genau für diesen Zweck habe ich zwei Event-Handler implementiert. Diese können bei den „Package Options“ oder auch direkt in der Konfigurationsdatei einzeln aktiviert und deaktiviert werden. Bei aktivierten Event-Handlern ist es nicht möglich, einen Content- und/oder Media-Knoten zu löschen, wenn noch Verlinkungen vorhanden sind. Es wird dann beim Löschen eine entsprechende Fehlermeldung angezeigt.

Linkednodes Deleting Is Denied
Abb. 4: Event-Handler verhindert Löschen von Knoten, wenn noch Verlinkungen vorhanden sind

 

Hast du eine Weiterentwicklung dieses Packages geplant?

Die Resonanz aus der Community war schon ziemlich groß, was mich natürlich sehr freut. Auch Callum Whyte und Owain Williams sprachen am 15. März bei UmbraCoffee über meine Content-App. Das Package wurde außerdem bis heute bereits über 100 mal von der Communtiy-Webseite und von nuGet heruntergeladen. Dieses positive Feedback bedeutet für mich, dass ich die Linked Nodes Content App auf jeden Fall weiterentwickeln werde.

Worüber ich mich besonders gefreut habe, ist, dass ich – im Übrigen ganz charakteristisch für die Umbraco-Community – bereits von vielen anderen Entwicklern der Community Unterstützung angeboten bekommen habe. Mit ihnen habe ich darüber gesprochen, wie genau das Package weiterentwickelt werden könnte und welche neuen Features zuerst implementiert werden sollten. Das nächste Feature steht schon an: die Möglichkeit, auch in der Übersicht Verlinkungen entfernen zu können.

 

 

Vielleicht hat jetzt schon ein Leser Lust bekommen, dir bei der Weiterentwicklung der Linked Nodes Content App zu helfen. Wie kann man sich daran beteiligen?

Der gesamte Quellcode ist auf Github öffentlich verfügbar. Bei Interesse als Contributor können sich Interessierte auch gerne per Mail oder auf Twitter bei mir melden.

 

Sören, danke für das interessante Interview!

Die Linked Nodes Content App auf einen Blick gibt's in unserem Video:

 

Auch gespannt, wie es mit v8 weitergeht? Dann lies doch Sörens Blogpost zum Thema.

 

Zurück