Mit „Phoenix” integriert ownCloud ein komplett neu gestaltetes Frontend in seine Software. Die Oberfläche soll künftig nur noch HTML-, JavaScript- und CSS-Dateien enthalten und vollständig vom Server entkoppelt sein. Die neue WebUI schafft eine übersichtlichere und leichter verständliche Code-Struktur. Durch den modularen Aufbau entsteht ein Entwurfsmuster (Design Pattern), das ohne weitere Anpassungen der CSS-Dateien verwendet werden kann.

Die Entscheidung für den kompletten Relaunch erfolgte vor allem aus technischen Überlegungen heraus. Das ownCloud-Frontend wurde in den vergangenen Jahren kontinuierlich weiterentwickelt – sowohl mit Blick auf die User-Erfahrung, aber auch aus technischer Perspektive. Auf diese Weise entstand eine Vielzahl paralleler JavaScript-Bibliotheken, Frameworks und Komponenten, die das bestehende Frontend zunehmend komplexer, aber auch unübersichtlicher werden ließen.

Die Entwickler suchten in der Folge nach einer einfachen Möglichkeit, HTML-Templates zu schreiben, sie vom Datenmodell zu entkoppeln und dadurch eine saubere und verständliche Struktur zum Schreiben von Code zu erhalten. Phoenix macht nun an dieser Stelle einen radikalen Schnitt und liefert eine von Grund auf neu gestaltete Oberfläche auf Basis neuester Frontend-Technologien wie WebPack, Vue.js oder UIKit.

Quelle: ownCloud GmbH

Eine große Neuerung ist der modulare Aufbau (UIKit), der ein sogenanntes „atomares Design-Muster” vorsieht, das ohne großen Programmieraufwand implementiert und weiterentwickelt werden kann.

 

Neustart auf der grünen Wiese

Mit dem Relaunch erfolgt eine vollständige Trennung des Frontend vom ownCloud-Server. Phoenix ist damit ein reiner Web-Client, der nur HTML-, JavaScript- und CSS-Dateien enthält und nur über öffentliche APIs wie WebDAV oder OCS Share mit dem Server kommuniziert.

Quelle: ownCloud GmbH

Der Grundstein für Phoenix wurde im Jahr 2017 im Rahmen des Google Summer Of Code gelegt. Der Community-Entwickler Noveen Sachdeva implementierte im Rahmen seines Projektes die js-owncloud-client-Bibliothek und das entsprechende Feature, um domänenübergreifende Anfragen an den ownCloud Server zu ermöglichen.

Die Integration von Cross-Origin Resource Sharing (CORS) ermöglicht es jeder Webseite, über APIs kontrolliert auf ownCloud zuzugreifen. Der Prototyp für Phoenix stammt von Felix Heidecke. (Profil auf GitHub: https://github.com/felixheidecke)

Aus Deployment-Sicht kann Phoenix in einer komplett isolierten Umgebung betrieben und auf einem separaten Webserver gehostet werden. Ein Betrieb als konsolidierte Anwendung innerhalb desselben Webservers, der auch das ownCloud-Backend zur Verfügung stellt, ist ebenfalls möglich.

Die erste Version von Phoenix zielt vor allem auf größere und geclusterte Installationen, bei denen die Betreiber der ownCloud mehr Kontrolle über die Ressourcennutzung und Netzwerktopologie haben möchten. Phoenix wird über den ownCloud Marketplace installiert und aktualisiert und ist sofort nach der Installation einsatzbereit.

Aktuell befindet sich Phoenix in der Testphase und wird demnächst parallel zum bestehenden Frontend über den ownCloud Marketplace verfügbar sein. Der nächste Entwicklungsschritt wird anschließend im Rahmen des Google Summer of Code erfolgen. Die Auswahl der Studenten und die Bestimmung der konkreten Themen für das bekannte Programmierstipendium erfolgt durch ownCloud in Zusammenarbeit mit den Partnern CERN und AARNet.

Im Anschluss folgt der Release des App-Plugins und die Suche nach ersten Kandidaten für die Testphase. Phoenix ist Open Source und als Community-Projekt offen für alle, die zum Projekt beitragen wollen. Interessierte Entwickler können sich über den Phoenix-Channel auf ownCloud Talk (https://talk.owncloud.com/channel/phoenix) oder im entsprechenden GitHub-Thread (https://github.com/owncloud/phoenix) beteiligen.