WGA 3.0 - What's new?

Migration von früheren Versionen

WebGate Anywhere 3 ist im wesentlichen problemlos von früheren WGA-Versionen aus aktualisierbar. Einige wenige veränderte Verhaltensweisen, die zu Migrationsaufwand führen können, sind in der folgenden Liste aufgeführt:

  • Links in alten Sprachnavigatoren sind Aufgrund einer Änderung in der Sprachauswahl-Doktrin unwirksam. Anstelle eines simplen Links zum Dokument in einer anderen Sprache muss ein spezieller URL-Typ verwendet werden:
    <tml:url type=“changelanguage“/>
  • Die Administrationseite ist jetzt unter /wgadmin.jsp erreichbar. Aufrufe zu /wgadmin als auch zu /admin werden dorthin umgeleitet. Lediglich alte Browser-Bookmarks auf
  • /admin.jsp werden fehlschlagen und müssen aktualisiert werden.
  • Alle Schlüsselnamen (Namen, welche eindeutige Schlüssel auf andere Dokumente sind) werden nun in der WGAPI und per TMLScript grundsätzlich in kompletten Lowercase ausgegeben. Damit werden Probleme mit case-sensitiven Datenbank-Plattformen (wie es die meisten relationalen Systeme sind) vermieden.
    Vergleiche gegen diese Namen in Scriptsprachen werden u.U. nicht mehr wie gewollt funktionieren, z.B.:
    this.meta(„uniquename“) == „Home“ // FALSCH. Das Feld „uniquename“ wird niemals mit großem H ausgegeben
    this.meta(„uniquename“) == „home“ // RICHTIG
    Die folgenden Metadaten-Felder sind davon betroffen:
    • Die Felder „uniquename“ und „language“ im Inhaltsdokument
    • Das Feld „name“ in TML-Modul, CSS/JS-Modul, Seitentyp, Website-Bereich und Sprachdefinition
    • Das Feld „mediakey“ im TML-Modul
    • Die Felder „innerlayout“, „outerlayout“ und „allowedpositions“ im Seitentyp
    • Das Feld „contenttype“ im Struktureintrag
    Das direkte Verwenden von Design-Dokumenten bleibt davon unberührt, da die dazu benutzten Funktionalitäten den übergebenen Namen automatisch ins Lowercase konvertieren. Z.B. kann in einem WebTML-Tag <tml:include> der Name eines einzubindenden TML-Moduls nach wie vor in beliebigem Case angegeben werden und wird trotzdem funktionieren.
  • Bzgl. Lotus Domino: Bei neu angelegten Dokumenten über das Browser Interface werden Schlüsselnamen (s.o.) in den jeweiligen Items in Lowercase angelegt. Dies ist ein neues Verhalten, da bislang der Case aus den Definitionsdokumenten übernommen wurde. Insbesondere alte Formelfunktionen die diese Schlüsselnamen in einem anderen Case abfragen, können ein verändertes Verhalten zeigen.
  • Der WGAAuthoringServer ist als separates Projekt nicht mehr Bestandteil von WGA3. Als Ersatz wurde ein Authoring Server in das Publisher-Projekt integriert, der jedoch noch nicht den vollen Funktionsumfang besitzt, dafür aber nicht von Lotus Domino abhängig ist. Das Betreiben eines WGA2 Authoring Servers parallel mit einem WGA3 Publisher ist problemlos möglich.
  • Die Datenbank „WGA Authoring Configuration“ wird nicht mehr benötigt.

Neue Datenbank-Implementierungen
Es gibt zwei neue wesentliche WGAPI-Datenbank-Implementierungen,
  • Über die „WGA Content Store for JDBC“ kann eine relationale Datenbank als Content-Store und als Personalisierungs-Datenbank dienen. Unterstützt werden alle relationalen Datenbanken die von „Hibernate“ - einer Brückensoftware zwischen relationalen Datenbanken und objektorientierten Systemen- verwendet werden können. Eine detaillierte Liste entnehmen sie Kapitel 4.1.4 "Relationaler Datenbankserver" ab Seite 11.
  • Eine spezielle Version o.g. Implementierung ist die „WGA Content Store for FirebirdSQL“, die eine komfortable Möglichkeit bietet, sich an einen lokale FirebirdSQL-Datenbankserver zu verbinden

Neue und verbesserte Schnittstellen für Authoring und Design
Das Browser Authoring Interface wurde stark überarbeitet und bietet nun nicht nur Zugriff auf Content, sondern auf alle Bestandteile einer Content Store. Somit ist es nun ein vollwertiges Interface, nicht nur zum Authoring, sondern auch für Design und Administration.
Das Browser Interface bietet neue und überarbeitete Dialoge für die Content-Erfassung z.B. für Datumswerte, Datei-Uploads und Grafiken.

Über das WebDAV-Protokoll bietet WGA3 Design-Ressourcen wie TML-Module, CSS/JS-Module und Dateicontainer zur Bearbeitung an. WebDAV wird von vielen Web-Editoren wie z.B. Macromedia Dreamweaver nativ unterstützt. WebDAV-Quellen können jedoch auch über Microsoft „Webordner“ oder andere Dritt-Anbieter-Tools ins Dateisystem eingebunden werden, worüber sie allen Editoren zur Verfügung stehen.

In den WGA3 Publisher wurde ein Authoring Server integriert, der das bislang vom separaten AuthoringServer-Projekt bekannte Word-Interface bietet. Im Gegensatz zum WGA2 Authoring Server ist dieser in der Lage, Content in allen vollwertigen Content Stores (z.B. auch in einer SQL Content Store) zu pflegen.

Datenbank-Synchronisation und Migration
WGA3 bietet Möglichkeiten, um den Datenbestand zwischen zwei vollwertigen Content Stores (auch unterschiedlichen Typs. z.B. Domino und SQL-Content Stores) zu synchronisieren. Zwei Varianten sind möglich:
  • Bei der „Migration“ wird die Zieldatenbank komplett geleert und alle Dokumente der Quelldatenbank hinüberkopiert. Dies bietet sich für „Einmal“-Übertragungen an, bei welchen die Datenbank-Plattform einer Content-Store dauerhaft gewechselt werden soll.
  • Bei der „Synchronisation“ werden die Datenbestände von Quell- und Zieldatenbank verglichen und anschließend „synchronisiert“, wobei nur die Dokumente übertragen werden, die mit der Zieldatenbank differieren. Zudem werden nur freigegebene Inhaltsdokumente übertragen, nicht aber in Arbeit befindliche oder archivierte. Dies bietet sich für dauerhafte Beziehungen zwischen zwei Content Stores an, wobei z.B. die Quell-Datenbank für das Authoring und die Ziel-Datenbank für das Publishing verwendet wird.

WebTML und TMLScript
Ein neuer Typ TML-Aktionen namens „Master-Actions“ wurde erstellt. Aktionen dieses Typs werden grundsätzlich unter dem jeweiligen Master-Login der aktuellen Datenbank ausgeführt. Wahlweise können Master-Actions auch asynchron ausgeführt werden.
Neue Kriterien für Selektions-Tags:
  • hasprofile="true" ist true, wenn der aktuelle Benutzer ein Benutzerprofil hat
  • language="sprachekürzel" ist true, wenn der Browser-Benutzer die angegebene Sprache als bevorzugte Sprache hat
<tml:input>-Felder können mithilfe des neuen Attributes „meta“ nun auch Metadaten in Dokumente schreiben.
Eine neuer URL-Typ speziell für Sprachwechsel-Links wurde eingeführt:
<tml:url type=“changelanguage“/>
WebTML-Warnungen werden nun mit Zeilennummern ausgegeben, um Position des verursachenden Tags im TML-Modul besser identifizieren zu können.
Die Kurzform this.varname = varvalue entspricht this.setVar(„varname“, varvalue).
Die Methoden this.removeVar und this.removeSessionVar können einmal gesetzte WebTML-Variablen entfernen. Die Methode „removeField“ des TMLForm-Objektes macht dasselbe mit Feldern.
Per Befehl „callAction()“ kann eine TML-Aktion aus einem anderen TMLScript heraus aufgerufen werden.
Die Methode „writeCSV()“ am TMLForm-Objekt kann verwendet werden, um Formulardateien in eine lokale kommaseparierte Tabellendatei auszugeben.
Ein neuer Suchtyp „tmlscript“ ermöglicht die Angabe eines TMLScript-Ausdruckes als Selektionskriterum.

Administrationstools
Erweiterungen der Administrationsseite:
  • Die Administrationsseite ist jetzt unter /wgadmin zu finden und besitzt, ebenso wie das Browser Interface ein neues Design.
  • Die Administrationsseite besitzt eine neuen Dialog „ACL“ zum Pflegen von Zugriffs-Kontrolllisten bei WGA Content Stores für JDBC
Erweiterungen des WGA Managers
  • Im WGA Manager sorgt eine neue Aktion „Reconnect on store“ bei Datenbank-Editoren dafür, dass die betroffene Datenbank bei der nächsten „Store on Server“-Aktion unter Verwendung der aktuellen Konfiguration neu angebunden wird.
  • Ein neues Register „Authentication“ bei Content-Datenbanken im WGA Manager, welches zur Konfiguration von Authentifizierungs-Quellen benutzt werden kann. Dies setzt eine DB-Implementierung voraus, welche externe Authentifizierungen unterstützt (wie die WGA Content Store for Domino/CORBA-Access und die WGA Content Store for JDBC/FirebirdSQL).

Weitere neue Implementierungen
Es ist nun möglich, das Request-Logging in eine relationale Datenbank zu speichern. Dies ist nicht vom Typ der verwendeten Content Store abhängig, kann also z.B. auch bei Domino-Datenbanken als Content Stores genutzt werden.