SlideShare ist ein Scribd-Unternehmen logo
jRQL - WSMS Aufgaben elegant automatisieren
Frank Leja
1.   Einführung

2.   12 Plug-ins für Admins

3.   jRQL API

4.   jRQL bei Hapag-Lloyd
Einführung - Wer bin ich?

• Frank Leja
• 2002 Start bei Hapag-Lloyd als Webentwickler
• 2003 CMS Admin
• 2004 Beginn jRQL Entwicklung


• erstellte Projekte
    1. Intranet HIP
    2. Webseite www.hlag.com


• Motivation jRQL:
    • Autorenaufgaben automatisieren
    • Administratoraufgaben automatisieren


• jRQL permanent erweitert


3
Einführung - Nehmen und Geben


Nehmen
• viel von der Gemeinschaft profitiert:
    • www.reddotusergroup.org
    • www.reddotcmsblog.com
• Tipps für CMS und RQL
• Plug-ins



Geben
Hapag-Lloyd spendet
    • 12 Plug-ins für Administratoren
    • und zugrundeliegendes Java API jRQL




4
Einführung – Gliederung


Teil 1: 12 Plug-ins für Admins
• für alle WSMS Administratoren

• keine Java Kenntnisse notwendig!
• basieren auf jRQL

Teil 2: Java API jRQL
• Nutzung benötigt Java Kenntnisse
• mit Dokumentation
• ohne Quelltext


Teil 3: jRQL bei Hapag-Lloyd
Beispiele
    • wie Hapag-Lloyd von jRQL profitiert
    • was mit jRQL möglich ist
5
1.   Einführung

2.   12 Plug-ins für Admins

3.   jRQL API

4.   jRQL bei Hapag-Lloyd
12 Plugins für Admins – Überblick 1/2


Die 12 Plug-ins
• beantworten Fragen meiner täglichen Arbeit
• stellen spezielle Aspekte dar


WSMS bot keine adäquaten Dialoge


hier Auszug aus Unofficial RedDot CMS blog
    http://www.reddotcmsblog.com/12-java-plugins-using-rql-api/




7
12 Plugins für Admins – Überblick 2/2

    Bereich                    Name
    Content classes            1. Find template elements
    Content class              2. Show elements usage
    Content class              3. Show language variant dependency
    Content class              4. Preassignment reference
    Content classes              Show content class GUIDs
    Berechtigung               5. Show users of group
    Berechtigung                 Collect mail adresses
    Publizierung                 Cancel waiting jobs
    Publizierung                 Delete job reports
    Seiten                       Show child details
    Seiten                       Reset draft pages
    Seite                        Show page by GUID
8
Content classes - Find template elements 1/5

    Frage
    In welchen content classes ist ein bestimmtes Element vorhanden?



Eingabe                                          Antwort
                                                 Anzeige aller passenden Elemente
                                                 aus allen content classes.




• Elementtyp
• Name (mit Wildcard)


9
Content classes - Find template elements 1/5




10
Content class - Show elements usage 2/5

 Frage
 Welche Elemente einer content class kann ich löschen, sind unbenutzt?



Eingabe                                        Antwort
                                               Anzeige welche Elemente in welchen
                                               Templates benutzt werden.




11
Content class - Show elements usage 2/5




12
Content class - Show language variant dependency 3/5

Frage
Kommen die Seiten einer content class in den Übersetzungsworkflow?



Eingabe                                       Antwort
                                              Zeigt für alle Elemente an, ob es
                                              sprachvariantenabhängig
                                              oder –unabhängig konfiguriert ist.




13
Content class – Show language variant dependency 3/5




                                                       sprachvarianten-
                                                       abhängig und …


                                                       … änderbar = OK


                                                       … nicht änderbar
                                                       = falsch?




14
Content class - Preassignment reference 4/5

Frage
An welchen MultiLink-Templateelementen ist eine content class vorbelegt?



     Eingabe                                  Antwort
                                              Zeigt alle Templateelemente aller
                                              content classes an, an denen die
                                              ausgewählte content class vorbelegt
                                              ist.




     • alle Folder oder
     • ein bestimmter Folder
15
Content class - Preassignment reference 4/5




16
Berechtigung - Show users of group 5/5

Frage
Kann ich direkt im SmartTree ermitteln, ob ein Benutzer an einer Seite berechtigt ist?



Eingabe                                        Antwort
                                               Zeigt im SmartTree alle Benutzer einer
                                               Benutzergruppe direkt an.




17
Berechtigung - Show users of group 5/5




                                         spart Wechsel in
                                         den ServerManager




18
12 Plugins für Admins - Ausblick



 weitere Informationen
 Unofficial RedDot CMS blog
     http://www.reddotcmsblog.com/12-java-plugins-using-rql-api/


 • Beschreibung aller Plug-ins
 • download inklusive Applikationsserver
 • Installationsanleitung




            Kein Java Know-how notwendig!


19
1.   Einführung

2.   12 Plug-ins für Admins

3.   jRQL API

4.   jRQL bei Hapag-Lloyd
Was ist jRQL?


• Basis aller Plug-ins
• Application Programming Interface (API)
• objektorientiert                              flexibel
• Java 5


• im Kern ~ 100 Klassen
• zusätzlich ~ 45 Hilfsklassen


• kapselt ~ 160 RQL Kommandos
                                      robust
                                               jRQL        bewährt


• auch undokumentierte


• getestet in CMS 7.5 und MS 9


siehe jRQL Blog                                umfassend

     http://jrql.wordpress.com/
21
Wie funktioniert jRQL?


       Plug-in           Plug-in             Batchprogramm




                                    jRQL
                  RQL




                              RQL




                                                RQL
                         Management Server
22
Vorteile der zusätzlichen Schicht


Objektorientiert
• trennt das Was vom Wie
• RQL XML Verarbeitung versteckt
• übersichtlich und elegant


Kapselung
• 1 RQL Kommando = 1 Implementierung
• Objekte speichern RQL Ergebnisse
• jedes jRQL Objekt kann RQL Kommandos starten
• geringe Releaseabhängigkeit
• high-level-API
• nachträgliche Verbesserung möglich


Wiederverwendung
• beschleunigt Neuentwicklung
• reduziert Testaufwand
23
Was kann jRQL? - Übersicht




            Anmelden                Autoren

                             jRQL

           SmartTree            ServerManager

24
Was kann jRQL? – Bereich 1 - Anmelden 1/2




                        Plug-in             Batch
     jRQL Anmeldung
                           vorhandene       Login mit Name
                          Sitzungsdaten      und Passwort

      Berechtigung         Mitbenutzung        eigene

     Aufgaben (Tasks)      Mitbenutzung        eigene



25
Was kann jRQL? – Bereich 1 - Anmelden 2/2


Batchprogramm 1                     Batchprogram 2



                                                                        jRQL




     Projekt 1       Projekt 2    Projekt 3          Projekt A   Projekt B

                                          MS 1   MS 2

           gleichzeitiger Zugriff auf
                 • beliebig viele Projekte und
26
                 • beliebig viele WSMS
Was kann jRQL? – Bereich 2 - Autoren


Inhaltselemente bearbeiten

•    Standardfelder
•    Text
•    Image
•    Media
•    inklusive Vorgabewerte


Liste und Container                              Seite

• Seite(n)                                       • Publizierung starten
  • erstellen                                    • Workflow
  • abhängen                                       • Status anzeigen
  • verschieben                                    • Aktionen auslösen
  • verknüpfen                                   • …
• …

         vollständige Liste aller Funktionen (JavaDoc) auf http://jrql.110mb.com/
27
Was kann jRQL? – Bereich 3 - SmartTree


 Content class bearbeiten

•    Plug-ins zuweisen
•    Elemente löschen
•    Festes Stylesheet setzen
•    Standardfeld Text erstellen
•    MultiLinks referenzieren, inklusive aller Seiten
•    …


 Publizierung

• Exportpakete aufbauen
• Jobs und Reports verwalten
•…


         vollständige Liste aller Funktionen (JavaDoc) auf http://jrql.110mb.com/
28
Was kann jRQL? – Bereich 4 - ServerManager


 Benutzer und Gruppen

• Eigenschaften lesen
• Benutzer einer Gruppe
  hinzufügen
• Benutzer abmelden
• …


 Projekte                                       Plug-in

 •   sperren                                   •   aktivieren
 •   freigeben                                 •   deaktivieren
                                               •   an content class zuweisen
 •   Export starten                            •   …
 •   …

        vollständige Liste aller Funktionen (JavaDoc) auf http://jrql.110mb.com/
29
1.   Einführung

2.   12 Plug-ins für Admins

3.   jRQL API

4.   jRQL bei Hapag-Lloyd
jRQL bei Hapag-Lloyd – Überblick


                                                     Beispiele
                      • Massenupdates
     Administration   • Export und Import            1. Relaunch hlag.com
                      • Content classes bearbeiten



                      • 14 aktive
                        • 5 Imports                  2. HIP Seitenstatistik
Batchprogramme
                        • 4 Statistiken
                        • 2 housekeeping
                                                     3. Eigene Statistik


                      • 64 aktive
                                                     4. Edit linking
        Plug-ins      • Täglich > 260 Aufrufe        5. Submit with blocks
                      • Standarddialoge ersetzt
                                                     6. Publish page
31
jRQL bei Hapag-Lloyd – Administration - Relaunch hlag.com 1/2


Anforderung Publizierungskonfiguration
• 30 Projektvarianten (5 Templates x 6 Umgebungen)
• 4 Sprachvarianten
• 20 Exportpakete


jRQL kann:
• Publizierungsstruktur erstellen und navigieren
• im Publizierungspaket neue SV / PV Kombination hinzufügen
• an Kombination
     • Publizierungsziele bearbeiten
     • Ordner in publizierte Seiten setzen


Vorteile
• hat viel Zeit gespart
• keine Flüchtigkeitsfehler

32
jRQL bei Hapag-Lloyd – Administration - Relaunch hlag.com 2/2

Anforderung Massendaten migrieren, z.B.
• 220 Pressemitteilungen
• 300 Büroseiten mit 2300 Kontaktzeilenseiten


Altes Projekt              1. kopieren on-the-fly                    Neues Projekt
zu Seite navigieren                                                  Seite erstellen
Daten lesen                                                          Daten schreiben

                           2. Export, Korrektur und Import
Altes Projekt                                                        Neues Projekt
zu Seite navigieren                                                  Seite erstellen
Daten lesen                                                          Daten schreiben


                           3. Assets migrieren
Altes Projekt                                                        Neues Projekt
                      Download                  Assets importieren
                                                                     Dateinamen setzen
                                  Dateisystem
33
jRQL bei Hapag-Lloyd – Batchprogramme


                                                     Beispiele
                      • Massenupdates
     Administration   • Export und Import
                                                     1. Relaunch hlag.com
                      • Content classes bearbeiten



                      • 14 aktive
                        • 5 Imports                  2. HIP Seitenstatistik
Batchprogramme
                        • 4 Statistiken              3. Eigene Statistik
                        • 2 housekeeping


                                                     4. Edit linking
                      • 64 aktive
        Plug-ins      • Täglich > 260 Aufrufe        5. Submit with blocks
                      • Standarddialoge ersetzt
                                                     6. Publish page
35
jRQL bei Hapag-Lloyd – Batchprogramme - HIP Seitenstatistik 1/2


Frage
Welche Benutzer haben in der letzten Woche welche Seiten erstellt oder geändert?



Eingabe                             Antwort
• Benutzername und Passwort         • sammelt alle physischen Seiten unter Startseite
• Startseite                        • ermittelt Details physischer Seiten
                                    • erstellt eine Excel-Datei




36
jRQL bei Hapag-Lloyd – Batchprogramme - HIP Seitenstatistik 2/2




Seiten ID                       Erstellung           Publizierter Dateiname
Überschrift                     Änderung             Berechtigung
Content class



37
jRQL bei Ihnen – Batchprogramme - Eigene Statistik


jRQL sammelt physische Seiten
• fertige Komponente mitgeliefert
• Beispielprogramm im jRQL download enthalten


Vorbedingungen
• alle content classes markieren, die physische Seiten definieren
• implementieren, was für eine physische Seite getan werden soll


Anleitung im jRQL Blog
     http://jrql.wordpress.com/2009/12/15/do-something-for-all-physical-pages-in-a-project/




38
jRQL bei Hapag-Lloyd – Plug-ins


                                                     Beispiele
                      • Massenupdates
     Administration   • Export und Import            1. Relaunch hlag.com
                      • Content classes bearbeiten



                      • 14 aktive
                        • 5 Imports                  2. HIP Seitenstatistik
Batchprogramme
                        • 4 Statistiken
                        • 2 housekeeping
                                                     3. Eigene Statistik


                      • 64 aktive
                                                     4. Edit linking
        Plug-ins      • Täglich > 260 Aufrufe        5. Submit with blocks
                      • Standarddialoge ersetzt
                                                     6. Publish page
39
jRQL bei Hapag-Lloyd – 1. Plug-in - Edit linking 1/2


Fragen
An welchen MultiLinks ist eine Seite verknüpft?


Eingabe                              Antwort
                                     Anzeige aller MultiLinks, an denen die geöffnete
                                     Seite verknüpft ist.


                                     • Verknüpfung lösen
                                     • Hauptlink wählen




40
jRQL bei Hapag-Lloyd – 1. Plug-in - Edit linking 2/2




                                                       MultiLink




                                                       Seite des
                                                       MultiLinks




                                                       bearbeiten

41
jRQL bei Hapag-Lloyd – 2. Plug-in - Submit with blocks 1/2


Frage
Wie findet ein Autor alle Blockseiten zu einer physischen Seite, wenn er alle in
einem Schritt bestätigen möchte?




Eingabe                               Antwort
                                      Ermittlung der Struktur der physischen Seite
                                      und Bestätigung aller Blockseiten im Entwurf
                                      mit einem Klick.




42
jRQL bei Hapag-Lloyd – 2. Plug-in - Submit with blocks 2/2




                                                             Struktur der
                                                             physischen Seite




                                                             gewählte Seiten
                                                             bestätigen
43
jRQL bei Hapag-Lloyd – 3. Plug-in - Publish page 1/2


Frage
Welche Projekt- und Sprachvarianten muss ein Benutzer wählen, wenn er eine
Seite publizieren möchte?




Eingabe                              Antwort
                                     Autor wählt für geöffnete Seite nur noch
                                     Umgebung, das Plug-in entscheidet nach
                                     content class.




44
jRQL bei Hapag-Lloyd – 3. Plug-in - Publish page 2/2




                                                       Vorbelegung
                                                       steuerbar



                                                       berücksichtigt
                                                       Berechtigung des
                                                       Autors

                                                       Startet
                                                       Publizierung


45
jRQL – Einschränkungen


• jRQL ist nicht vollständig
• subjektive Auswahl


• keine Gewähr
• kein Quelltext


• Grundfunktionen nur in CMS 7.5 und MS 9 getestet
• nicht mehr alle Funktionen verwendet


• verwendete Serversprache: Englisch




46
jRQL – Weitere Informationen

jRQL Blog

http://jrql.wordpress.com/

• Tutorial mit getting started
• download als Eclipse-Projekt
• Installationsanleitung



vollständige Dokumentation aller Funktionen (JavaDoc)
     http://jrql.110mb.com/




47

Weitere ähnliche Inhalte

Andere mochten auch

News feeds für Kunden
News feeds für KundenNews feeds für Kunden
News feeds für Kunden
msg systems ag
 
The programming philosophy of jrql
The programming philosophy of jrqlThe programming philosophy of jrql
The programming philosophy of jrql
msg systems ag
 
News On Feeds Aggregators
News On Feeds AggregatorsNews On Feeds Aggregators
News On Feeds Aggregators
David Ricker
 
MBA 625 - Hapag Lloyd - Container Housing in Haiti Initiative
MBA 625 - Hapag Lloyd - Container Housing in Haiti InitiativeMBA 625 - Hapag Lloyd - Container Housing in Haiti Initiative
MBA 625 - Hapag Lloyd - Container Housing in Haiti Initiative
marhenbun
 
Hapag Lloyd
Hapag LloydHapag Lloyd
Hapag Lloyd
niketasingh
 
Learn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionLearn BEM: CSS Naming Convention
Learn BEM: CSS Naming Convention
In a Rocket
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting Personal
Kirsty Hulse
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
ux singapore
 
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job? Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Stanford GSB Corporate Governance Research Initiative
 

Andere mochten auch (9)

News feeds für Kunden
News feeds für KundenNews feeds für Kunden
News feeds für Kunden
 
The programming philosophy of jrql
The programming philosophy of jrqlThe programming philosophy of jrql
The programming philosophy of jrql
 
News On Feeds Aggregators
News On Feeds AggregatorsNews On Feeds Aggregators
News On Feeds Aggregators
 
MBA 625 - Hapag Lloyd - Container Housing in Haiti Initiative
MBA 625 - Hapag Lloyd - Container Housing in Haiti InitiativeMBA 625 - Hapag Lloyd - Container Housing in Haiti Initiative
MBA 625 - Hapag Lloyd - Container Housing in Haiti Initiative
 
Hapag Lloyd
Hapag LloydHapag Lloyd
Hapag Lloyd
 
Learn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionLearn BEM: CSS Naming Convention
Learn BEM: CSS Naming Convention
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting Personal
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
 
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job? Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
 

Ähnlich wie jRQL- Management Server Aufgaben elegant automatisieren

Ruby und Rails für .NET Entwickler
Ruby und Rails für .NET EntwicklerRuby und Rails für .NET Entwickler
Ruby und Rails für .NET Entwickler
NETUserGroupBern
 
Grails im Überblick und in der Praxis
Grails im Überblick und in der PraxisGrails im Überblick und in der Praxis
Grails im Überblick und in der Praxis
Tobias Kraft
 
Liquid - Templating on Rails
Liquid - Templating on RailsLiquid - Templating on Rails
Liquid - Templating on Rails
gearwheeldotnet
 
Server Revolutions- Der Spring Source DM Server
Server Revolutions- Der Spring Source DM ServerServer Revolutions- Der Spring Source DM Server
Server Revolutions- Der Spring Source DM Server
Sandro Sonntag
 
Web Entwicklung mit PHP - Teil 3 Beta
Web Entwicklung mit PHP - Teil 3 BetaWeb Entwicklung mit PHP - Teil 3 Beta
Web Entwicklung mit PHP - Teil 3 Beta
Hans-Joachim Piepereit
 
The Lotus Code Cookbook
The Lotus Code CookbookThe Lotus Code Cookbook
The Lotus Code Cookbook
Ulrich Krause
 
react-de.pdf
react-de.pdfreact-de.pdf
react-de.pdf
ssuser65180a
 
UML Klassendiagramme - Einführung
UML Klassendiagramme - EinführungUML Klassendiagramme - Einführung
UML Klassendiagramme - Einführung
Michael Whittaker
 
IntelliJ für Flex
IntelliJ für FlexIntelliJ für Flex
IntelliJ für Flex
Simon Tiffert
 
TYPO3 5.0 - Der aktuelle Stand der Zukunft
TYPO3 5.0 - Der aktuelle Stand der ZukunftTYPO3 5.0 - Der aktuelle Stand der Zukunft
TYPO3 5.0 - Der aktuelle Stand der Zukunft
Jochen Rau
 
Die Java Plattform Strategie
Die Java Plattform StrategieDie Java Plattform Strategie
Die Java Plattform Strategie
Java Usergroup Berlin-Brandenburg
 
Implementierung der Knowledge Engineering Workbench in myCBR
Implementierung der Knowledge Engineering Workbench in myCBRImplementierung der Knowledge Engineering Workbench in myCBR
Implementierung der Knowledge Engineering Workbench in myCBR
Alexander Hundt
 
fn project serverless computing
fn project serverless computingfn project serverless computing
fn project serverless computing
Wolfgang Weigend
 
20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatenge20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatenge
Karin Patenge
 
Plsql drum test automatisiere, wer sich sich ewig bindet! - DOAG 2017
Plsql drum test automatisiere, wer sich sich ewig bindet! - DOAG 2017Plsql drum test automatisiere, wer sich sich ewig bindet! - DOAG 2017
Plsql drum test automatisiere, wer sich sich ewig bindet! - DOAG 2017
Torsten Kleiber
 
JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013
Oliver Zeigermann
 
Monitoring und Profiling von Java-Anwendungen
Monitoring und Profiling von Java-AnwendungenMonitoring und Profiling von Java-Anwendungen
Monitoring und Profiling von Java-Anwendungen
gedoplan
 
PostgreSQL: Die Freie Datenbankalternative
PostgreSQL: Die Freie DatenbankalternativePostgreSQL: Die Freie Datenbankalternative
PostgreSQL: Die Freie Datenbankalternative
Peter Eisentraut
 
Drupal, Context Modul
Drupal, Context ModulDrupal, Context Modul
Drupal, Context Modul
rokr
 
Javaland 2016 - Flyway vs. LiquiBase - Battle der Datenbankmigrationstools
Javaland 2016 - Flyway vs. LiquiBase - Battle der DatenbankmigrationstoolsJavaland 2016 - Flyway vs. LiquiBase - Battle der Datenbankmigrationstools
Javaland 2016 - Flyway vs. LiquiBase - Battle der Datenbankmigrationstools
Stephan Kaps
 

Ähnlich wie jRQL- Management Server Aufgaben elegant automatisieren (20)

Ruby und Rails für .NET Entwickler
Ruby und Rails für .NET EntwicklerRuby und Rails für .NET Entwickler
Ruby und Rails für .NET Entwickler
 
Grails im Überblick und in der Praxis
Grails im Überblick und in der PraxisGrails im Überblick und in der Praxis
Grails im Überblick und in der Praxis
 
Liquid - Templating on Rails
Liquid - Templating on RailsLiquid - Templating on Rails
Liquid - Templating on Rails
 
Server Revolutions- Der Spring Source DM Server
Server Revolutions- Der Spring Source DM ServerServer Revolutions- Der Spring Source DM Server
Server Revolutions- Der Spring Source DM Server
 
Web Entwicklung mit PHP - Teil 3 Beta
Web Entwicklung mit PHP - Teil 3 BetaWeb Entwicklung mit PHP - Teil 3 Beta
Web Entwicklung mit PHP - Teil 3 Beta
 
The Lotus Code Cookbook
The Lotus Code CookbookThe Lotus Code Cookbook
The Lotus Code Cookbook
 
react-de.pdf
react-de.pdfreact-de.pdf
react-de.pdf
 
UML Klassendiagramme - Einführung
UML Klassendiagramme - EinführungUML Klassendiagramme - Einführung
UML Klassendiagramme - Einführung
 
IntelliJ für Flex
IntelliJ für FlexIntelliJ für Flex
IntelliJ für Flex
 
TYPO3 5.0 - Der aktuelle Stand der Zukunft
TYPO3 5.0 - Der aktuelle Stand der ZukunftTYPO3 5.0 - Der aktuelle Stand der Zukunft
TYPO3 5.0 - Der aktuelle Stand der Zukunft
 
Die Java Plattform Strategie
Die Java Plattform StrategieDie Java Plattform Strategie
Die Java Plattform Strategie
 
Implementierung der Knowledge Engineering Workbench in myCBR
Implementierung der Knowledge Engineering Workbench in myCBRImplementierung der Knowledge Engineering Workbench in myCBR
Implementierung der Knowledge Engineering Workbench in myCBR
 
fn project serverless computing
fn project serverless computingfn project serverless computing
fn project serverless computing
 
20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatenge20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatenge
 
Plsql drum test automatisiere, wer sich sich ewig bindet! - DOAG 2017
Plsql drum test automatisiere, wer sich sich ewig bindet! - DOAG 2017Plsql drum test automatisiere, wer sich sich ewig bindet! - DOAG 2017
Plsql drum test automatisiere, wer sich sich ewig bindet! - DOAG 2017
 
JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013
 
Monitoring und Profiling von Java-Anwendungen
Monitoring und Profiling von Java-AnwendungenMonitoring und Profiling von Java-Anwendungen
Monitoring und Profiling von Java-Anwendungen
 
PostgreSQL: Die Freie Datenbankalternative
PostgreSQL: Die Freie DatenbankalternativePostgreSQL: Die Freie Datenbankalternative
PostgreSQL: Die Freie Datenbankalternative
 
Drupal, Context Modul
Drupal, Context ModulDrupal, Context Modul
Drupal, Context Modul
 
Javaland 2016 - Flyway vs. LiquiBase - Battle der Datenbankmigrationstools
Javaland 2016 - Flyway vs. LiquiBase - Battle der DatenbankmigrationstoolsJavaland 2016 - Flyway vs. LiquiBase - Battle der Datenbankmigrationstools
Javaland 2016 - Flyway vs. LiquiBase - Battle der Datenbankmigrationstools
 

jRQL- Management Server Aufgaben elegant automatisieren

  • 1. jRQL - WSMS Aufgaben elegant automatisieren Frank Leja
  • 2. 1. Einführung 2. 12 Plug-ins für Admins 3. jRQL API 4. jRQL bei Hapag-Lloyd
  • 3. Einführung - Wer bin ich? • Frank Leja • 2002 Start bei Hapag-Lloyd als Webentwickler • 2003 CMS Admin • 2004 Beginn jRQL Entwicklung • erstellte Projekte 1. Intranet HIP 2. Webseite www.hlag.com • Motivation jRQL: • Autorenaufgaben automatisieren • Administratoraufgaben automatisieren • jRQL permanent erweitert 3
  • 4. Einführung - Nehmen und Geben Nehmen • viel von der Gemeinschaft profitiert: • www.reddotusergroup.org • www.reddotcmsblog.com • Tipps für CMS und RQL • Plug-ins Geben Hapag-Lloyd spendet • 12 Plug-ins für Administratoren • und zugrundeliegendes Java API jRQL 4
  • 5. Einführung – Gliederung Teil 1: 12 Plug-ins für Admins • für alle WSMS Administratoren • keine Java Kenntnisse notwendig! • basieren auf jRQL Teil 2: Java API jRQL • Nutzung benötigt Java Kenntnisse • mit Dokumentation • ohne Quelltext Teil 3: jRQL bei Hapag-Lloyd Beispiele • wie Hapag-Lloyd von jRQL profitiert • was mit jRQL möglich ist 5
  • 6. 1. Einführung 2. 12 Plug-ins für Admins 3. jRQL API 4. jRQL bei Hapag-Lloyd
  • 7. 12 Plugins für Admins – Überblick 1/2 Die 12 Plug-ins • beantworten Fragen meiner täglichen Arbeit • stellen spezielle Aspekte dar WSMS bot keine adäquaten Dialoge hier Auszug aus Unofficial RedDot CMS blog http://www.reddotcmsblog.com/12-java-plugins-using-rql-api/ 7
  • 8. 12 Plugins für Admins – Überblick 2/2 Bereich Name Content classes 1. Find template elements Content class 2. Show elements usage Content class 3. Show language variant dependency Content class 4. Preassignment reference Content classes Show content class GUIDs Berechtigung 5. Show users of group Berechtigung Collect mail adresses Publizierung Cancel waiting jobs Publizierung Delete job reports Seiten Show child details Seiten Reset draft pages Seite Show page by GUID 8
  • 9. Content classes - Find template elements 1/5 Frage In welchen content classes ist ein bestimmtes Element vorhanden? Eingabe Antwort Anzeige aller passenden Elemente aus allen content classes. • Elementtyp • Name (mit Wildcard) 9
  • 10. Content classes - Find template elements 1/5 10
  • 11. Content class - Show elements usage 2/5 Frage Welche Elemente einer content class kann ich löschen, sind unbenutzt? Eingabe Antwort Anzeige welche Elemente in welchen Templates benutzt werden. 11
  • 12. Content class - Show elements usage 2/5 12
  • 13. Content class - Show language variant dependency 3/5 Frage Kommen die Seiten einer content class in den Übersetzungsworkflow? Eingabe Antwort Zeigt für alle Elemente an, ob es sprachvariantenabhängig oder –unabhängig konfiguriert ist. 13
  • 14. Content class – Show language variant dependency 3/5 sprachvarianten- abhängig und … … änderbar = OK … nicht änderbar = falsch? 14
  • 15. Content class - Preassignment reference 4/5 Frage An welchen MultiLink-Templateelementen ist eine content class vorbelegt? Eingabe Antwort Zeigt alle Templateelemente aller content classes an, an denen die ausgewählte content class vorbelegt ist. • alle Folder oder • ein bestimmter Folder 15
  • 16. Content class - Preassignment reference 4/5 16
  • 17. Berechtigung - Show users of group 5/5 Frage Kann ich direkt im SmartTree ermitteln, ob ein Benutzer an einer Seite berechtigt ist? Eingabe Antwort Zeigt im SmartTree alle Benutzer einer Benutzergruppe direkt an. 17
  • 18. Berechtigung - Show users of group 5/5 spart Wechsel in den ServerManager 18
  • 19. 12 Plugins für Admins - Ausblick weitere Informationen Unofficial RedDot CMS blog http://www.reddotcmsblog.com/12-java-plugins-using-rql-api/ • Beschreibung aller Plug-ins • download inklusive Applikationsserver • Installationsanleitung Kein Java Know-how notwendig! 19
  • 20. 1. Einführung 2. 12 Plug-ins für Admins 3. jRQL API 4. jRQL bei Hapag-Lloyd
  • 21. Was ist jRQL? • Basis aller Plug-ins • Application Programming Interface (API) • objektorientiert flexibel • Java 5 • im Kern ~ 100 Klassen • zusätzlich ~ 45 Hilfsklassen • kapselt ~ 160 RQL Kommandos robust jRQL bewährt • auch undokumentierte • getestet in CMS 7.5 und MS 9 siehe jRQL Blog umfassend http://jrql.wordpress.com/ 21
  • 22. Wie funktioniert jRQL? Plug-in Plug-in Batchprogramm jRQL RQL RQL RQL Management Server 22
  • 23. Vorteile der zusätzlichen Schicht Objektorientiert • trennt das Was vom Wie • RQL XML Verarbeitung versteckt • übersichtlich und elegant Kapselung • 1 RQL Kommando = 1 Implementierung • Objekte speichern RQL Ergebnisse • jedes jRQL Objekt kann RQL Kommandos starten • geringe Releaseabhängigkeit • high-level-API • nachträgliche Verbesserung möglich Wiederverwendung • beschleunigt Neuentwicklung • reduziert Testaufwand 23
  • 24. Was kann jRQL? - Übersicht Anmelden Autoren jRQL SmartTree ServerManager 24
  • 25. Was kann jRQL? – Bereich 1 - Anmelden 1/2 Plug-in Batch jRQL Anmeldung vorhandene Login mit Name Sitzungsdaten und Passwort Berechtigung Mitbenutzung eigene Aufgaben (Tasks) Mitbenutzung eigene 25
  • 26. Was kann jRQL? – Bereich 1 - Anmelden 2/2 Batchprogramm 1 Batchprogram 2 jRQL Projekt 1 Projekt 2 Projekt 3 Projekt A Projekt B MS 1 MS 2 gleichzeitiger Zugriff auf • beliebig viele Projekte und 26 • beliebig viele WSMS
  • 27. Was kann jRQL? – Bereich 2 - Autoren Inhaltselemente bearbeiten • Standardfelder • Text • Image • Media • inklusive Vorgabewerte Liste und Container Seite • Seite(n) • Publizierung starten • erstellen • Workflow • abhängen • Status anzeigen • verschieben • Aktionen auslösen • verknüpfen • … • … vollständige Liste aller Funktionen (JavaDoc) auf http://jrql.110mb.com/ 27
  • 28. Was kann jRQL? – Bereich 3 - SmartTree Content class bearbeiten • Plug-ins zuweisen • Elemente löschen • Festes Stylesheet setzen • Standardfeld Text erstellen • MultiLinks referenzieren, inklusive aller Seiten • … Publizierung • Exportpakete aufbauen • Jobs und Reports verwalten •… vollständige Liste aller Funktionen (JavaDoc) auf http://jrql.110mb.com/ 28
  • 29. Was kann jRQL? – Bereich 4 - ServerManager Benutzer und Gruppen • Eigenschaften lesen • Benutzer einer Gruppe hinzufügen • Benutzer abmelden • … Projekte Plug-in • sperren • aktivieren • freigeben • deaktivieren • an content class zuweisen • Export starten • … • … vollständige Liste aller Funktionen (JavaDoc) auf http://jrql.110mb.com/ 29
  • 30. 1. Einführung 2. 12 Plug-ins für Admins 3. jRQL API 4. jRQL bei Hapag-Lloyd
  • 31. jRQL bei Hapag-Lloyd – Überblick Beispiele • Massenupdates Administration • Export und Import 1. Relaunch hlag.com • Content classes bearbeiten • 14 aktive • 5 Imports 2. HIP Seitenstatistik Batchprogramme • 4 Statistiken • 2 housekeeping 3. Eigene Statistik • 64 aktive 4. Edit linking Plug-ins • Täglich > 260 Aufrufe 5. Submit with blocks • Standarddialoge ersetzt 6. Publish page 31
  • 32. jRQL bei Hapag-Lloyd – Administration - Relaunch hlag.com 1/2 Anforderung Publizierungskonfiguration • 30 Projektvarianten (5 Templates x 6 Umgebungen) • 4 Sprachvarianten • 20 Exportpakete jRQL kann: • Publizierungsstruktur erstellen und navigieren • im Publizierungspaket neue SV / PV Kombination hinzufügen • an Kombination • Publizierungsziele bearbeiten • Ordner in publizierte Seiten setzen Vorteile • hat viel Zeit gespart • keine Flüchtigkeitsfehler 32
  • 33. jRQL bei Hapag-Lloyd – Administration - Relaunch hlag.com 2/2 Anforderung Massendaten migrieren, z.B. • 220 Pressemitteilungen • 300 Büroseiten mit 2300 Kontaktzeilenseiten Altes Projekt 1. kopieren on-the-fly Neues Projekt zu Seite navigieren Seite erstellen Daten lesen Daten schreiben 2. Export, Korrektur und Import Altes Projekt Neues Projekt zu Seite navigieren Seite erstellen Daten lesen Daten schreiben 3. Assets migrieren Altes Projekt Neues Projekt Download Assets importieren Dateinamen setzen Dateisystem 33
  • 34. jRQL bei Hapag-Lloyd – Batchprogramme Beispiele • Massenupdates Administration • Export und Import 1. Relaunch hlag.com • Content classes bearbeiten • 14 aktive • 5 Imports 2. HIP Seitenstatistik Batchprogramme • 4 Statistiken 3. Eigene Statistik • 2 housekeeping 4. Edit linking • 64 aktive Plug-ins • Täglich > 260 Aufrufe 5. Submit with blocks • Standarddialoge ersetzt 6. Publish page 35
  • 35. jRQL bei Hapag-Lloyd – Batchprogramme - HIP Seitenstatistik 1/2 Frage Welche Benutzer haben in der letzten Woche welche Seiten erstellt oder geändert? Eingabe Antwort • Benutzername und Passwort • sammelt alle physischen Seiten unter Startseite • Startseite • ermittelt Details physischer Seiten • erstellt eine Excel-Datei 36
  • 36. jRQL bei Hapag-Lloyd – Batchprogramme - HIP Seitenstatistik 2/2 Seiten ID Erstellung Publizierter Dateiname Überschrift Änderung Berechtigung Content class 37
  • 37. jRQL bei Ihnen – Batchprogramme - Eigene Statistik jRQL sammelt physische Seiten • fertige Komponente mitgeliefert • Beispielprogramm im jRQL download enthalten Vorbedingungen • alle content classes markieren, die physische Seiten definieren • implementieren, was für eine physische Seite getan werden soll Anleitung im jRQL Blog http://jrql.wordpress.com/2009/12/15/do-something-for-all-physical-pages-in-a-project/ 38
  • 38. jRQL bei Hapag-Lloyd – Plug-ins Beispiele • Massenupdates Administration • Export und Import 1. Relaunch hlag.com • Content classes bearbeiten • 14 aktive • 5 Imports 2. HIP Seitenstatistik Batchprogramme • 4 Statistiken • 2 housekeeping 3. Eigene Statistik • 64 aktive 4. Edit linking Plug-ins • Täglich > 260 Aufrufe 5. Submit with blocks • Standarddialoge ersetzt 6. Publish page 39
  • 39. jRQL bei Hapag-Lloyd – 1. Plug-in - Edit linking 1/2 Fragen An welchen MultiLinks ist eine Seite verknüpft? Eingabe Antwort Anzeige aller MultiLinks, an denen die geöffnete Seite verknüpft ist. • Verknüpfung lösen • Hauptlink wählen 40
  • 40. jRQL bei Hapag-Lloyd – 1. Plug-in - Edit linking 2/2 MultiLink Seite des MultiLinks bearbeiten 41
  • 41. jRQL bei Hapag-Lloyd – 2. Plug-in - Submit with blocks 1/2 Frage Wie findet ein Autor alle Blockseiten zu einer physischen Seite, wenn er alle in einem Schritt bestätigen möchte? Eingabe Antwort Ermittlung der Struktur der physischen Seite und Bestätigung aller Blockseiten im Entwurf mit einem Klick. 42
  • 42. jRQL bei Hapag-Lloyd – 2. Plug-in - Submit with blocks 2/2 Struktur der physischen Seite gewählte Seiten bestätigen 43
  • 43. jRQL bei Hapag-Lloyd – 3. Plug-in - Publish page 1/2 Frage Welche Projekt- und Sprachvarianten muss ein Benutzer wählen, wenn er eine Seite publizieren möchte? Eingabe Antwort Autor wählt für geöffnete Seite nur noch Umgebung, das Plug-in entscheidet nach content class. 44
  • 44. jRQL bei Hapag-Lloyd – 3. Plug-in - Publish page 2/2 Vorbelegung steuerbar berücksichtigt Berechtigung des Autors Startet Publizierung 45
  • 45. jRQL – Einschränkungen • jRQL ist nicht vollständig • subjektive Auswahl • keine Gewähr • kein Quelltext • Grundfunktionen nur in CMS 7.5 und MS 9 getestet • nicht mehr alle Funktionen verwendet • verwendete Serversprache: Englisch 46
  • 46. jRQL – Weitere Informationen jRQL Blog http://jrql.wordpress.com/ • Tutorial mit getting started • download als Eclipse-Projekt • Installationsanleitung vollständige Dokumentation aller Funktionen (JavaDoc) http://jrql.110mb.com/ 47