Zurück

Liferay DevCon 2015 - Ein Rückblick

Wieder einmal ist die DevCon vorbei und wieder einmal gab es viele Neuigkeiten. Seit der letzten DevCon hat Liferay 7 immer mehr Gestalt angenommen, vorab: fertig ist es dennoch nicht. Aber der Reihe nach...

 

 

Liferay 7 - Module über Module

OSGi in Liferay bedeutet, dass der Software Kern kleiner wird und viel Funktionalität in austauschbare Module umzieht. Letztes Jahr gab es hiervon nur eine Hand voll, doch mittlerweile sprechen wir von mehr als 500 Modulen.

Die Module sind einzeln aktivierbar/deaktivierbar und vor allem auch einzeln upgradebar. Das ist ein großer Vorteil, da wir nicht unbedingt mehr an Release-Zyklen gebunden sind, die Teams der einzelnen Komponenten können zwischendurch unabhängig von "Gesamt-Liferay" Bugfixes liefern, die auch ohne große Upgrades eingespielt werden können. Man tauscht einfach nur das Modul aus.

 

Extension Points - was bedeutet das für mich?

Vergessen wir EXT, vergessen wir Hooks, wir brauchen mehr Extension Points. Aber was bedeutet das?

Ähnlich wie Hooks, die einen Einsprung an eine bestimmte Stelle erlauben (denken wir hier einfach mal an ModelListener mit ihren onBeforeUpdate, onAfterCreate, etc Methoden), gibt es diese definierten Einsprünge für OSGi Module auch, nur dass es jetzt deutlich mehr werden. Aber keine Sorge, die alten Hook-Varianten sind nahezu alle in ähnlicher Form vorhanden, nur dass wir diese nicht mehr in der liferay-hook.xml definieren müssen, sondern direkt an der Klasse annotieren.

Nur JSPs sind etwas schwieriger zu ändern. Bisher hooken wir die gesamte JSP. Das Vorgehen ist natürlich nicht so gut, da jede JSP faktisch nur ein einziges Mal gehookt werden kann/darf/sollte. Anderenfalls ergeben sich unterschiedliche Stände, die die gesamte Oberfläche zerstören können.

Nun wird es auch hier Extension Points geben, das große Problem dabei ist allerdings, dass die Liferay-Teams natürlich nicht wissen können, wo wir Entwickler letztlich unseren "Senf dazugeben" wollen. Heißt: Anforderungen und Änderungen an JSPs sammeln und an Liferay senden (sofern noch keiner existiert), etwa in ihrem JIRA.

Doch wo gibt es Beispiele/Tutorials? Einfach mal den Link klicken!

 

Konvertierung/Migration/Nichtstun - ja was nun?

Für eigene Plugins gibt es eine Reihe von Möglichkeiten, was gemacht werden kann, um ein bestehendes 6.2er Plugin in ein Liferay 7 Portal zu werfen. Da wir uns immer noch in einem Portal bewegen, sind alle Portlets, die sich an den Portlet-Standard halten, weiterhin ganz normal nutzbar. Interessant wird es allerdings bei den Liferay-spezifischen Plugins (was nahezu alle sein sollten - allein ein Service-Aufruf reicht schon).

Die tiefgreifenden Änderungen an allen Teilen Liferays waren nicht ohne API Änderungen möglich, unsere liebgewonnenen (oder auch nicht) ServiceUtils werden so nicht mehr verwendet, andere Hilfsklassen sind komplett verschwunden. Doch die Liferay IDE hilft uns hier!

Einerseits gibt es eine Konvertierungs- und andererseits eine Migrationsfunktion. Die Konvertierung prüft das Projekt auf alte API Aufrufe und ähnlichem. Dabei werden einige Änderungen automatisiert durchgeführt. Schafft die IDE das nicht, listet sie die restlichen Punkte auf und versucht dem Entwickler Lösungsvorschläge zu unterbreiten und dazugehörige Tickets auf dem Liferay JIRA zu verlinken. Am Ende kommt aber dennoch ein WAR raus.

Im Gegensatz dazu ändert die Migration den Projekttyp komplett und migriert alles Richtung OSGi. Hier kommt am Ende eine JAR raus. Leider konnten wir uns hiervon nicht überzeugen, da dies nicht Teil der Präsentation war.

 

Neues in Liferay 7

Liferay 7 bringt viele neue Funktionen mit, etwa ein komplett überarbeitetes Web Forms Portlet (welches nur noch Forms heißt). Dieses ermöglicht endlich auch mehrseitige Formulare, hat eine Form von Databinding (Achtung: Daten werden auf Client-Seite über Web Services abgeholt, was einen Zugang erfordert, welcher immer durch den User ausgelesen werden kann! Wir hoffen, dass sich hier noch etwas tun wird) und lässt die Felder nicht nur untereinander platzieren, sondern erlaubt ein freies Verschieben der Grenzen, sodass eine formatierte Oberfläche rauskommt.

Statt alles einzeln zu beschreiben, möchte ich auf den Blog von Jorge Ferrer verweisen, der in letzter Zeit viel zu den Themen gepostet hat und diese auch mit Screenshots anreichert.

 

Oktoberfest - was ist denn hier los?

Diese DevCon hatte sein eigenes Oktoberfest, oder viel mehr Oktoberfestspiele! Im Prinzip ist es ganz einfach, es gab einen Bieranstich durch den Community Leader James Falkner (wir sollten ihn mal zum Üben nach München schicken, die Schlagzahl war optimierungsbedürftig ;-]), natürlich auch Bier, aber vor allem Spiele an jedem Partnerstand mit einigen tollen Gewinnen.

Bei unserem Spiel mussten in möglichst kurzer Zeit fünf Nägel gerade (damit hatten die Besucher die meisten Probleme...ob es wohl am Bier lag...) in einen Holzscheit geschlagen werden. Die Siegerzeit von 7,79 Sekunden wurde durch Mathias (The Machine) Konrath aufgestellt, den ich an dieser Stelle herzlich grüßen möchte.

Auch James Falkner und Ray Augé (wer ihn nicht kennt, er ist einer der wichtigsten Core Entwickler und treibt das OSGi Thema voran) haben es versucht. Leider kamen beide nicht mal in die Nähe der Siegerzeit.

 

Liferay 7? Ja wann denn nun?

Eine berechtigte Frage, immerhin warten wir schon ein Jahr darauf. Doch wer glaubt, dass sie jetzt kommt, der wird zunächst enttäuscht. Die aktuelle Version ist eine Alpha 1 (immerhin sind wir schon die Milestones durch, die Betas und Previews liegen aber auch noch vor uns). Hier kann man sich bereits ein Bild machen, man sollte aber keine funktionierende Version erwarten. Es wird also noch etwas dauern.

Vor Liferay 7 werden wir aber noch eine Liferay 6.2 GA5 sehen, die den aktuellen 6.2 Branch weiter stabilisiert, neue Features sind also nicht zu erwarten.

 

Fazit

Auch wenn wir noch warten müssen, gibt es einiges, worauf wir uns freuen können. Sehen wir es so...je länger wir warten, desto mehr Zeit hat Liferay, die 7er Version zu stabilisieren und uns ein gutes Produkt zu liefern, mit dem wir in Zukunft gerne arbeiten werden.

Kommentare
Trackback-URL:

Noch keine Kommentare. Seien Sie der Erste.

Ancud IT-Beratung GmbH
Glockenhofstraße 47 
90478 Nürnberg 

Tel.: +49 911 2525 68-0