JGU XSL: XML-Inhalte einblenden

Mit dem Shortcode: [xmltransformation] blenden Sie per XML (Extended Markup Language) strukturierte Daten in Ihre Seite ein.

Daten aus Fremdsystem in eigene Seiten einbauen

Mithilfe dieser Erweiterung können externe XML-Daten in WordPress eingebunden werden (der externe Server, von dem die Daten stammen, muss allerdings aus Sicherheitsgründen eine Adresse innerhalb uni-mainz.de besitzen).

Alle Institutions- und Personeninformationen aus dem UnivIS können so wiederverwendet werden.

Sie brauchen also Übersichten über Ansprechpartner oder Mitarbeiterkontaktdaten in WordPress nicht nochmals extra pflegen, um sie in Ihrer Webseite anzuzeigen. Vorteil: Die Daten existieren dann nur einmal, müssen nur einmal gepflegt werden und laufen so weniger Gefahr, zu veralten.

Aktivieren Sie in Ihrem Blog das Plugin jgu-xsl.

Dieses Plugin (aus der Liste aller Plugins) schalten Sie als Redakteur Ihres Blogs selbstständig aus und ein. Sie brauchen uns dazu nicht 🙂

Dies funktioniert im Dashboard unter JGU Tools.

Ausführliche Anleitung zum Plugin aus- und einschalten


 

 

Wie ist der Shortcode aufgebaut?

  • xmltransformation (die äußere Klammer).
    Hier gelten folgende Parameter:

    • xsl: Hier geben Sie die XSLT-Datei an
    • items: in Verbindung mit unseren xslt-Dateien die Anzahl der Elemente, die angezeigt werden sollen
    • cache: Hier können Sie ggf. die automatische Zwischenspeicherung der Daten anpassen oder aufheben (s. dazu auch weiter unten). Wir empfehlen die Voreinstellung: lassen Sie diesen Parameter weg.
  • xml: innere Klammer für die Adresse der XML-Daten und der XSL-Datei.
    Hier gelten folgende Parameter:

    • adresse: Hier geben Sie die XML-Datei an
    • utf8: Der Zeichensatz, in dem die Daten geschrieben sind (immer utf8="0", nur bei UnivIS einfach ganz weglassen)
    • search: in Verbindung mit Univis der Bereich, der durchsucht werden soll: Institutionen (=departments) oder Personen (=persons)
    • number: in Verbindung mit UnivIS die Nummer der Institution
    • person: in Verbindung mit UnivIS der Name der Person
    • fullname: in Verbindung mit UnivIS der volle Name der Person

Beiträge (anderer) Blogs

Aktuelles in Webseiten wird oft als RSS-Feed angeboten. Alle RSS-Feeds aus Projekten der zentralen CMS-Systeme der Universität (WordPress, OpenText) können auf diese Weise aufgerufen werden. Wichtig ist, die vollständige URL des RSS-Feeds im Attribut adresse einzutragen, und das Attribut utf8=0 nicht zu vergessen.
Hier ein Beispiel für das Blog einer Bereichsbibliothek der UB:

[xmltransformation xsl="http://scripts.zdv.uni-mainz.de/xsl/rss-compact.xsl" ]
[xml adresse="//www.blogs.uni-mainz.de/bbgeorgforstergebaeude/feed/" utf8="0"]
[/xmltransformation]

Feed und Kategorien einblenden

Wenn Sie also /feed an die Webadresse Ihres Blogs hängen, bekommen Sie alle Meldungen als RSS-Feed. Sie können diese Liste auf Kategorien einschränken. In diesem Blog gibt es die Kategorie Neuigkeiten:
//www.blogs.uni-mainz.de/blog/category/neuigkeiten/
. Wenn Sie an deren Adresse wiederum "/feed" anhängen, bekommen Sie die Ausgabe nicht in HTML sondern in XML:
//www.blogs.uni-mainz.de/blog/category/neuigkeiten/feed

und können mit dieser Adresse diesen Datenauszug in Ihrer Webseite einblenden!

Beispiel: nur die Beiträge der Kategorie "Neuigkeiten":


[xmltransformation xsl="http://scripts.zdv.uni-mainz.de/xsl/rss-compact.xsl" ]
[xml adresse="//www.blogs.uni-mainz.de/blog/category/neuigkeiten/feed/" utf8="0"]
[/xmltransformation]

 

(Die gleiche Funktion erhalten Sie in WordPress übrigens auch mit dem Standard-Widget RSS-Feed für die Allgemeine Sidebar).

Sie können die Anzahl der eingeblendeten Beiträge (Attribut items) festlegen, wenn Sie rss-compact.xsl verwenden xsl="http://scripts.zdv.uni-mainz.de/xsl/rss-compact.xs" items="3" , Bsp.:

[xmltransformation xsl="http://scripts.zdv.uni-mainz.de/xsl/rss-compact.xsl" items="5"]
[xml adresse="//www.blogs.uni-mainz.de/bbgeorgforstergebaeude/feed/" utf8="0"]
[/xmltransformation]

Obacht, die items müssen bei der xmltransformation stehen!

Wählen Sie aus folgenden Formaten

  • Überschrift Blogname (und Kategoriename) dunkelgrau hinterlegt, eine hellgraue Zeile pro Meldungsüberschrift:
    xsl="http://scripts.zdv.uni-mainz.de/xsl/rss-compact.xsl"
    rss-compact
  • Überschrift "Aktuelles" statt Blogname und Kategorie:
    xsl="http://scripts.zdv.uni-mainz.de/xsl/rss-compact-ueberschrift-aktuelles.xsl"
    rss-compact-ueberschrift-aktuelles
  • Überschrift, einfach Liste mit Meldungsüberschrift und Text:
    xsl="http://scripts.zdv.uni-mainz.de/xsl/rss-einfach.xsl"
    rss-lang
  • Meldungsüberschriften mit Texten:
    xsl="http://scripts.zdv.uni-mainz.de/xsl/rss-lang.xsl"
    rss-einfach

Personen- und Institutionendaten aus dem UnivIS einblenden

Im folgenden Aufbaubeispiel des Shortcodes werden innerhalb einer einzigen XML-Transformation hintereinander zwei verschiedene Einrichtungen ( 'Departments' UB und ZDV Anwenderdienste) abgefragt (die für Ihren Bereich passenden Nummern kann Ihnen der UnivIS-Schreibberechtigte Ihres Bereichs aus der UnivIS-Institutionenverwaltung mitteilen).

Die Struktur einer Einrichtung:

[xmltransformation]

[xml adresse="univis" search="departments" number="30100000"] [xml adresse="univis" search="departments" number="30400020"]

[/xmltransformation]

Eine Person:


[xmltransformation]
[xml adresse="univis" search="persons" fullname="schmidt,dirk"]
[/xmltransformation]

Mitarbeiterliste einer Einrichtung:


[xmltransformation]
[xml adresse="univis" search="departments" number="30400020"]
[/xmltransformation]

Beispielseite: Mehrere Personen einer Einrichtung

UnivIS-Daten selbst formatieren

Andere im Uni-Web erreichbare XML-Ausgaben könnten Sie mit eigenem XSL-Stylesheets darstellen, indem Sie im Attribut 'xsl' die Adresse (URL) eines eigenen XSL-Stylesheets angeben.


[xmltransformation xsl="http://scripts.zdv.uni-mainz.de/xsl/ansprechpartner.xsl"]
[xml adresse="http://univis.uni-mainz.de/prg?search=departments&number=30400020&show=xml"]
[/xmltransformation]

Da die Daten im Univis-XML auch in englischer Sprache vorliegen, können auch englischsprachige Daten abgerufen werden. Hier ein Beispiel:


[xmltransformation xsl="http://scripts.zdv.uni-mainz.de/xsl/uv-ohne-tabelle-en.xsl"]
[xml adresse="http://univis.uni-mainz.de/prg?search=departments&number=30400020&show=xml"]
[/xmltransformation]

Wenn Sie in WordPress angemeldet sind, können Sie bei "XML-Daten und Stylesheet" die aktuellen XML-Daten, als auch das XSL-Stylesheet abrufen.

XSL-Vorlagen

Automatische Zwischenspeicherung (Caching)

Die Ergebnisse der XSL-Transformationen werden in WordPress automatisch für 12 Stunden zwischengespeichert (‚gecached‘). Dadurch sind alle folgenden Seitenaufrufe schneller, da die Informationen nicht neu von den XML-Adressen abgerufen werden müssen.
Über den Paramter ‚cache‘ können Sie im Shortcode-Teil xmltransformation die Cache-Dauer ändern, wenn Sie möchten. Geben Sie dazu die gewünschte Cache-Dauer in Sekunden an. cache=“3600″ z.B. setzt die Cache-Dauer auf genau eine Stunde. Werte größer als 604800 (eine Woche) sind nicht möglich.

Beispiel für eine Verkürzung der Caching-Dauer auf 1 Stunde (3600 Sekunden):

[xmltransformation xsl="http://scripts.zdv.uni-mainz.de/xsl/rss-compact.xsl" cache="3600"]
[xml adresse="//www.blogs.uni-mainz.de/blog/category/neuigkeiten/feed/" utf8="0"]
[/xmltransformation]

Wir empfehlen die Verwendung des voreingestellten Cachings (12 Stunden). Dann können Sie den Parameter cache="..." einfach weglassen.

Wenn Sie einen bestehenden Cache löschen, oder den Cache nicht verwenden möchten: setzen Sie den Parameter cache=“0″ . Wenn Sie als Redakteur eingeloggt sind, wird der Cache bei jedem Seitenaufruf automatisch gelöscht, damit Sie Änderungen der Parameter immer sofort angezeigt bekommen.

Tipps und Tricks

Neue Personen werden (nur auf der Webseite) nicht alphabetisch einsortiert. Im Univis sieht alles gut aus. Was tun? Um die Univisschlüssel neu zu sortieren, im Univis einloggen, in der Institutionenverwaltung auf die Funktion gehen, bei der die Sortierung nicht korrekt ist. Dort auf den Knopf "Eigenschaften" drücken. Hier sehen Sie das dann angezeigte Formular:

univis-sortieren-01

In der Eigenschaftenliste "Personeneinträge nicht alphabetisch sortieren" anhaken (ja, es ist unlogisch, aber trotzdem...). - Speichern - Speichern. Nochmal in die Funktionseigenschaften, den Haken wieder entfernen (man WILL ja alphabetisch sortieren). - Speichern - Speichern. Nach Neuladen der über xslt-erzeugten Seite ist die Sortierung dort alphabetisch.