Best Practice: Wie Sie mit jRQL Ihre OpenText-Entwickler entlasten können

Best Practice: jRQL

Dass umfangreiche Routineaufgaben in der Systementwicklung mit Hilfe von Plugins erledigt werden, ist in vielen Unternehmen eine Selbstverständlichkeit. Bei kleineren Tätigkeiten hingegen überwiegt meist die Scheu vor dem zusätzlichen Aufwand in der Plugin-Entwicklung, sodass Tag für Tag der mühsame manuelle Weg beschritten wird. Wie es auch anders  – und besser – gehen kann, zeigt sich am Beispiel von jRQL für den OpenText Management Server, das sich in Kombination mit der richtigen Plattform sogar auf Basis des gängigen JavaScript programmieren lässt.

Grundsätzlich ermöglicht die Befehlssprache RQL des OpenText Management Servers, idealerweise gekapselt in jRQL, die Entwicklung von Plugins und größeren Applikationen gegen den OpenText Management Server. Voraussetzung sind dafür allerdings eine Java-Entwicklungsumgebung sowie die entsprechenden Java-Kenntnisse. Um diese Anforderungen zu umgehen und somit auch für kleinere Teilaufgaben effizient Plugins entwickeln zu können, stehen einige Plattformen zur Verfügung, die die Programmierung spürbar erleichtern.

Für Produkte wie den Content Server geht OpenText diesen Weg beispielsweise im Rahmen von AppWorks, das folgendermaßen beschrieben wird:

"AppWorks allows you to quickly and easily build purpose-specific apps for the enterprise using the web technologies we are all familiar with: HTML5, CSS3 and JavaScript."

So werden keine Java-Kenntnisse mehr benötigt, als Alternative steht die Verwendung von Javascript zur Verfügung.

Eine Lösung für den OpenText Management Server

Für den OpenText Management Server hingegen kann der Universal Messenger diese Rolle einnehmen und somit die Brücke zwischen jRQL und Javascript-Entwicklern schlagen, denn bei dieser technischen Kombination werden die Logiken im Universal Messenger in serverseitig ausgeführten Javascript entwickelt und nicht in Java. Auf diesem Weg können kleinere Skript-Funktionen oder komplette grafische Applikationen realisiert werden. Bei letzteren handelt es sich um eine Kombination aus HTML, CSS und Javascript – genau wie bei AppWorks von OpenText.

Anschließend können diese AddOns sowohl im Universal Messenger verwendet werden als auch direkt auf der Website (z.B. für Anmeldeformulare oder im OpenText Management Server als grafische Plugins). Wird zusätzlich das jRQL-Framework im Installationsverzeichnis des Universal Messenger abgelegt, stehen alle jRQL-Funktionen auch für die Javascript-Welt zur Verfügung.

Für technisch versierte Redakteure oder CMS-Administratoren steht diese Javascript-Welt auch in einer Konsole zur Verfügung. Diese kann im Web-Browser geöffnet werden, um anschließend direkt über jRQL-Befehle mit dem CMS zu interagieren.

In welchen Fällen sind Plugins hilfreich?

Als typische Anwendungsfälle aus dem CMS-Alltag können folgende Situationen betrachtet werden, die sich schon nach kurzer Plugin-Entwicklung automatisiert durchführen lassen:

  • Das Entfernen des automatisch gesetzten "Kopie von..." im Seitentitel, wenn ein gesamter Teilbäumen kopiert wurde.
  • Vereinfachte Freigabe von Teilbäumen bzw. Seiten mit Containerseiten.
  • Das umfassende Zuweisen von Detailberechtigungspaketen im OpenText Management Server.

Erfahrungsgemäß tritt die letztgenannte Situation relativ häufig auf, da sie bereits bei einem einzigen Fehlklick in der Management Server-Oberfläche auftreten kann. Dies geschieht vor allem, nachdem ein Detailberechtigungspaket versehentlich nicht abgehängt, sondern vollständig gelöscht wurde. In diesem Fall muss man das Paket nicht nur neu anlegen, sondern auch bei allen bereits erstellten Seiten neu verknüpfen.

Wie diese mühsame Arbeit auf Basis von Javascript automatisch erledigt werden kann, zeigt der folgende Quellcode:

function addAuth(url, user, pass) {
  if (!url || !user || !pass) throw 'Need configuration arguments!';

  var url= 'http://SERVER/CMS/WebService/RqlWebService.svc';
  var user = 'admin';
  var pass = 'XXX';

  var cmsUrl = new Packages.java.net.URL(url);
  var cmsCred = new Packages.com.hlcl.rql.as.PasswordAuthentication(user, pass);
  var cmsClient = null;

  try {
    var cmsClient = new Packages.com.hlcl.rql.as.CmsClient(cmsCred, cmsUrl);
    var prj = cmsClient.getProjectByName('Dummy-Projekt');

    var authPack = prj.getDetailedAuthorizationPackageForPageByName('Package-Name');
    var search = prj.definePageSearch();
    search.addTypeCriteriaLinkedAndUnlinkedPages(); // all pages, but not in recycle bin
    for (var page in Iterator(search.getPages())) {
      page.assignAuthorizationPackage(authPack);
    }
  } finally {
    if (cmsClient) cmsClient.disconnect();
  }
}

addAuth();

Dabei ist zu beachten, dass im Beispiel die eigentliche Funktionalität bereits als Funktion aufgeschrieben wurde. Sie ließe sich grundsätzlich auch im Dateisystem ablegen, sodass sie der Universal Messenger automatisch bei seinem Start einliest. In diesem Fall müsste nur die letzte Zeile in der Konsole eingegeben werden, da die Funktion bereits bekannt wäre.

Abwägen, wann sich die Plugin-Entwicklung lohnt

Neben dem dargestellten Beispiel gibt es selbstverständlich auch eine Reihe weiterer Situationen, in denen eine Plugin-Entwicklung entscheidende Vorteile gegenüber der manuell ausgeführten Arbeit erbringt. Ob sich die Programmierung unterstützender Systeme wirklich lohnt, ist vor allem von den Programmierkenntnissen der beteiligten IT-Experten abhängig.

Doch mit Hilfe der beschriebenen Plattformen Universal Messenger und AppWorks erweitert sich der Kreis der Programmierer, die eine jRQL-Entwicklung gegen den OpenText Management Server durchführen können. Zudem wird die Programmierung insgesamt übersichtlicher und kann schneller durchgeführt werden.

Newsletter abonnieren

Die besten Tricks und Expertentipps für rundum erfolgreiche Webprojekte.

Folgen Sie uns ...

... und verpassen Sie nie wieder einen neuen Beitrag in unserem Blog.

Sie haben noch Fragen?

Dann kontaktieren Sie uns einfach und wir stehen sofort zur Verfügung.

Nachricht senden

×

Eine Nachricht senden...

Formular wird geladen ...

Tipps der Redaktion

Um-logo-teaser

Bieten Sie Ihren Kunden die perfekte Customer Experience

  • E-Mail-Marketing
  • Customer Interaction
  • Website-Personalisierung

Mehr Infos zur Software

×Schließen