Das nächste Liferay: Ausblick auf Liferay Portal 7

Frank Pientka

© Shutterstock.com / eltoro69

Nach einigen Jahren steht nun eine neue Version des Liferay Portal vor der Tür: Liferay 7, dessen Finalversion für Ende 2015 erwartet wird. Diese Version bietet nicht nur Neuerungen an der Oberfläche, sondern präsentiert sich auch mit neuer, modularer Architektur. Liferay 7 will außerdem schlüssige Antworten hinsichtlich Mobile-Unterstützung und Kollaboration geben. Wir werfen einen Blick auf die Vorabversion.

Seit Jahren zählt Liferay in Gartners „Magic Quadrant for Horizontal Portals“ zu den führenden Herstellern – das scheint nicht nur die ohnehin vorhandenen Fans, sondern auch die Führungsetagen zu überzeugen, weswegen sich Liferay weltweit einer stattlichen Installationszahl erfreut. Die kommende Liferay-Version 7, die bei Redaktionsschluss als Milestone-Release 4 vorhanden war und Ende des Jahres erscheinen soll, bringt einige kleinere und größere Änderungen. Zu den kleineren gehören Verbesserungen in der Oberfläche, neue Web- und Mobile-UI-Komponenten, eine stärkere Modularität bei Erweiterungen und eine bessere Asynchronität bei der Verarbeitung. Eine bessere Überwachung durch einen eigenen Cloud-Dienst und eine leistungsfähigere Suche runden die Neuerungen ab.

Eine der größten Änderungen betrifft den Unterbau der Software: Die Architektur wurde auf Basis von OSGi grundlegend verändert. Eine erste OSGi-Unterstützung wurde bereits mit Version 6.2 eingeführt und mit Version 7 noch weiter ausgebaut. Da Liferay OSGi für das eigene Produkt hinsichtlich Erweiterbarkeit und Anpassbarkeit immer wichtiger wird, ist Liferay übrigens als Firma und strategischer Partner der OSGi Alliance beigetreten und wurde inzwischen auch in deren Vorstand aufgenommen.

WordPress im Videotutorial

Im entwickler.tutorial Einstieg in WordPress erklärt Vladimir Simović, Blogger, Autor, Unternehmer und Experte für WordPress und CSS, die Grundlagen von WordPress – von der Installation bis hin zu Plug-ins und Themes.

Neuer Look im Frontend

Bereits in der Liferay-Version 6.2 lassen sich mit AlloyUI und Twitter Bootstrap responsive Websites erstellen, für deren Bearbeitung der bewährte CKEditor in der Version 4.1 zur Verfügung steht. Alternativ lässt sich jetzt als neuer WYSIWYG-Editor der schlanke AlloyEditor (Abb. 1) verwenden, der bereits für Blogeinträge über die Property editor.wysiwyg.portal-web.docroot.html.portlet.blogs.edit_entry.html.jsp=alloyeditor konfigurierbar ist.

Abb. 1: Der schlanke AlloyEditor erleichtert das Editieren

Abb. 1: Der schlanke AlloyEditor erleichtert das Editieren

Der Umstieg auf die Frontend-Frameworks AlloyUI 3.0 und Bootstrap 3.x bewirkt, dass bei einer Migration auf die nächste Liferay-Version so einiges beachtet werden muss, denn Yahoo! hat die Entwicklung seiner JavaScript-Bibliothek YUI, auf der AlloyUI basiert, mittlerweile eingestellt, weshalb Liferay nun neben dem Yahoo!-Framework wieder jQuery 2.1 verwendet. Dieses wurde bereits vor den Liferay-6.x-Generationen als Standard eingesetzt, trat dann aber hinter AlloyUI zurück.

Die Rückkehr zu jQuery bedingt, wie schon bei vergangenen Umstellungen auf frühere Versionen von AlloyUI, so einige Änderungen bei den Namespaces, für die es auf Github und GetBootstrap Migrationsanleitungen gibt.

Um die Arbeit mit JSF zu vereinfachen, gibt es das Liferay Faces Project. Liferay Portal 6.2 unterstützt JSF mit Liferay Faces 3.2 (JSF 2.1) und 4.2 (JSF 2.2). Die Version Liferay Faces 4.2, die auch PrimeFaces 5.2 unterstützt und einige neue AlloyUI-Komponenten mitbringt, wird die Basis für Liferay 7 sein. Um ältere Faces-Anwendungen auf die neuere Version zu migrieren, sind die Anweisungen in der Dokumentation zu beachten.

Mehr Mobile

Bereits in Liferay 6.2 besteht die Möglichkeit, wahlweise über ein Theme im Responsive Design oder eine native App, die mit Liferay 7 noch ausgebaut wird, mobile Geräte zu bedienen (Abb. 2). Vergleichbar mit dem Liferay-SDK handelt es sich beim Mobile-SDK um einen Codegenerator auf Maven-Basis, der die Entwicklung von nativen mobilen Anwendungen mit Liferay erleichtert.

Dieses SDK wird jetzt mit Liferay Screens um grafische Elemente und Icons erweitert, um ein konsistentes Design leichter zu erreichen. Diese stehen zunächst nur für iOS zur Verfügung, eine Unterstützung für Android soll im Laufe des Jahres erfolgen. Um das SDK zu verwenden, muss ein zusätzliches Kompatibilitäts-Plug-in für Liferay Screens im Server installiert werden, das weitere Services zur Verfügung stellt. Ebenso kann ein Liferay Push Portlet installiert werden, mit dem sich testweise Push-Nachrichten, nach Registrierung bei Apples Push Notification Service oder bei Google Cloud Messaging Server, auf die jeweiligen iPhone- oder Android-Geräte senden lassen.

Abb. 2: Native Liferay-App für iOS mit der Theme-Bibliothek

Abb. 2: Native Liferay-App für iOS mit der Theme-Bibliothek

Modularität und Asynchronität

Für die 7er-Version wurden viele Standard-Portlets (RSS, XSL Content, Nested Portlets, iFrame, Sitemap, Breadcrumb, Tags Navigation, Tags Administration, Categories Navigation, Categories Administration und Web Content Display) auf OSGi-Module umgestellt. Als Ablaufumgebung werden Apache Felix, Aries und Eclipse Gemini verwendet. Damit lassen sich OSGi-Module nach dem Blueprint-Standard als Web Application Bundles (WABs) erstellen, welche in einem eigenen Unterverzeichnis osgi außerhalb der eigentlichen Portalanwendung liegen. Wie der Ort für das Unterverzeichnis (module.framework.base.dir=${liferay.home}/osgi) erfolgt die Konfiguration des OSGi-Systems über die Properties in der Datei portal-ext.properties.

Um den Umfang der Standardinstallation zu minimieren, wurde gleichzeitig die Anzahl der mitgelieferten Portlets von 123 auf 91 reduziert. Wer bislang seine Webinhalte mit dem RSS-Feed Portlet zur Verfügung gestellt hat, sollte mit Liferay 7.0. auf das Asset Publisher Portlet wechseln, da Ersteres nicht mehr weiter unterstützt wird. Leider ist die Entwicklung eigener OSGi-Erweiterungen bislang nur wenig dokumentiert, was im Übrigen auch für die Verwendung von Portlet 3.0 gilt; die Verwendung der neuen Möglichkeiten wird dadurch zunächst erschwert.

Ein weiterer Aspekt des nächsten Liferay ist die Verwendung von asynchroner Webkommunikation mit WebSockets. Wenn nicht die WebSockets-Unterstützung des zugrunde liegenden Applikationsservers verwendet werden soll, kann auch die interne IONetty-Bibliothek von Liferay zum Einsatz kommen.

Sprachen und Orte

Offiziell werden von Liferay derzeit zwölf Sprachen unterstützt. Als neue Sprachen kommen Katalanisch, Niederländisch, Finnisch, Hebräisch, Französisch und Japanisch hinzu.

Wer seine Webinhalte in Abhängigkeit zum geografischen Ort ausliefern möchte, kann dies bisher mit dem IP Geocoder Portlet erledigen. Das Portlet ermittelt dazu die Stadt aus der IP-Adresse im Request aus der GeoIP-City-Legacy-Datenbank von Max Mind. Mit dem neuen Liferay kann man nun bereits beim Anlegen der Inhalte angeben, für welche Lokation der Inhalt gültig sein soll. Außerdem kann man nun als Kartenmaterial neben Google Maps alternativ auch OpenStreetMap verwenden.

Schnellere Suche

Eine weitere wichtige Neuerung betrifft die Suche: Der Index wird zwar immer noch im Lucene-4.9-Format gespeichert, es müssen aber, dank einer feineren Steuerung, nicht mehr alle Suchindices zusammen aktualisiert werden.

Für die Indexierung und Ausführung der Suche wird Elasticsearch verwendet. Gerade bei großen Dokumentenmengen wird dadurch die Suche gegenüber Solr/Lucene spürbar beschleunigt.

Aufmacherbild: Share illustration with document icons and abstract hand via Shutterstock.com / Urheberrecht: eltoro69

Geschrieben von
Frank Pientka
Frank Pientka
  Frank Pientka ist Senior Architect bei der MATERNA GmbH in Dortmund. Er ist seit mehreren Jahren im Bereich Java EE tätig. Seine Schwerpunkte sind Applikationsserver, Portalserver und Datenbanken. Dazu hat er auch schon mehrere Fachartikel und ein Buch über Geronimo veröffentlicht.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: