73D54F8FE61244E8951F355551669FAE
  • Thomas Pollinger
  • 09.12.2019
  • DE

How-To: Speichern und Freigeben einer Seite per RQL zeitgleich in mehreren Sprachen

Hallo allerseits, es gab wieder eine RQL Frage in unserer Slack-Community. Es soll eine neue (per RQL) erstellte Seite zeitgleich in allen Sprachen vollständig abgeschlossen und freigegeben werden. Dafür hat man dann in der Diskussion folgende Lösungen gefunden:

Lösung 1

Saving Pages

<IODATA loginguid="[!guid_login!]" sessionkey="[!key!]" dialoglanguageid="ENU">
  <PAGE action="save" guid="[!guid_page!]" actionflag="4096"/>
</IODATA>

Switching the Language Variant

<IODATA loginguid="[!guid_login!]" sessionkey="[!key!]">
  <PROJECT>
    <LANGUAGEVARIANT action="setactive" guid="[!guid_languagevariant!]"/>
  </PROJECT>
</IODATA> 

Diese Abfolge dann für jede Sprache wiederholen und zum Schluss wieder auf die zuvor eingestellt Sprache wechseln. Dabei wird nicht die GUI des Anwenders verändert.
 

Lösung 2

In vielen Fällen hilft es, bei den RQL-Abfragen einfach die Sprache mit anzugeben. Also im ersten Knoten nach <IODATA> das Attribut languagevariantid="[!id_languagevarinat!]" (z.B. DEU oder ENU) mit anzugeben.

Dann führt der Management Server die entsprechenden Aktion in der übergebeben Sprache aus - ohne die aktuelle Sprache zu verändern.

Hinweis: Ähnliches gibt es auch für Projekte, wenn man im RQL im ersten Knoten nach <IODATA> das Attribut projectguid="[!guid_project!]" angibt- Dann führt der Management Server das RQL in dem entsprechenden Projekt aus, ohne aktiv in das Projekt zu wechseln oder ohne überhaupt in einem Projekt zu sein.

Man sollte dies jedoch vorher ausprobieren, da es derzeit keine vollständige Liste von RQLs gibt, in der beschrieben ist für welche Anfragen dies zutrifft.

Mit diesem Wissen sieht dann der RQL wie folgt aus:

<IODATA loginguid="[!guid_login!]" sessionkey="[!key!]">
  <PAGE action="save" guid="[!guid_page!]" actionflag="4096" languagevariantid="[!id_languagevariant!]" />
  <PAGE action="save" guid="[!guid_page!]" actionflag="4096" languagevariantid="[!id_languagevariant!]" />
  <PAGE action="save" guid="[!guid_page!]" actionflag="4096" languagevariantid="[!id_languagevariant!]" />
  ...
</IODATA>

und hier als Beispiel mit den Attributen befüllt:

<IODATA loginguid="[!guid_login!]" sessionkey="[!key!]">
  <PAGE action="save" guid="2FDA30ACB4B4455F9D6B87F65AE9EB19" actionflag="4096" languagevariantid="ENU" />
  <PAGE action="save" guid="2FDA30ACB4B4455F9D6B87F65AE9EB19" actionflag="4096" languagevariantid="DEU" />
  <PAGE action="save" guid="2FDA30ACB4B4455F9D6B87F65AE9EB19" actionflag="4096" languagevariantid="FRC" />
</IODATA>

Danke nochmals für diesen wertvollen Hinweis aus Oldenburg, welcher nun viele Plug-Ins und Integrationen einfacher hält ;)


Über den Autor:
Thomas Pollinger

... ist Senior Site Reliability Engineer bei der Vodafone GmbH in Düsseldorf. Seit dem Jahr 2007 betreut er zusammen mit seinen Kollegen die OpenText- (vormals RedDot-) Plattform Web Site Management für die deutsche Konzernzentrale.

Er entwickelt Erweiterungen in Form von Plug-Ins und PowerShell Skripten. Seit den Anfängen in 2001 (RedDot CMS 4.0) kennt er sich speziell mit der Arbeitweise und den Funktionen des Management Server aus.