CA8C0A3EEACA4EB7B471617BDDE4186B
  • Thomas Pollinger
  • 16.11.2017
  • DE

RQL: Load/Save/Delete Identity Settings (IDENTITYSETTING & IDENTITYSETTINGS)

Mehr per Zufall habe ich beim testen des Web Site Management (RedDot CMS) Servers Release 16 Service Pack 2 (Build 16.0.2.211) diesen RQL gefunden. Das ist quasi eine Art Schlüssel-Werte-Datenbank welche je Benutzer angelegt und genutzt wird. ;)


WICHTIG: Dieser RQL (load/save) steht zwar in der offiziellen RQL-Dokumentation. Ist jedoch erst ab Release 16 SP1 für anderen Key/Values einsetzbar und wird eigentlich nur intern in der Software für "benutzerspezifische Daten" genutzt. Es gibt keine Garantie seitens OpenText und dem Support, dass die gespeicherten Werte nach einem Update der Software noch vorhanden sind und es gibt keine Versionierung der Daten! Jedoch bei sinnvollem und gewissenhaftem Einsatz z.B. via Plug-Ins oder der RQL-API kann das eine sehr hilfreiche Erweiterung sein - um kurzzeitig sich Daten zu merken.


Save

Variante A: Mehrere neue Keys/Values in bestehender/neuer Gruppe anlegen und speichern. (jeweils logischer Name)

<IODATA loginguid="[!guid_login!]">
  <ADMINISTRATION>
    <IDENTITYSETTINGS action="save">
      <IDENTITYSETTING group="[!name_group!]" key="[!name_key!]">[!value_base64!]</IDENTITYSETTING>
      <IDENTITYSETTING group="[!name_group!]" key="[!name_key!]">[!value_base64!]</IDENTITYSETTING>
      ...
    </IDENTITYSETTINGS>
  </ADMINISTRATION>
</IODATA>


Variante B: Mehrere bestehende Keys mit neuem Value überschreiben/ersetzen. (per GUID)

<IODATA loginguid="[!guid_login!]">
  <ADMINISTRATION>
    <IDENTITYSETTINGS action="save">
      <IDENTITYSETTING guid="[!guid_identitysetting!]">[!value_base64!]</IDENTITYSETTING>
      <IDENTITYSETTING guid="[!guid_identitysetting!]">[!value_base64!]</IDENTITYSETTING>
      ...
    </IDENTITYSETTINGS>
  </ADMINISTRATION>
</IODATA>


Variante C: Einzelnen Keys/Value in bestehender/neuer Gruppe anlegen und speichern. (jeweils logischer Name)

<IODATA loginguid="[!guid_login!]">
  <ADMINISTRATION>
    <IDENTITYSETTING action="save" group="[!name_group!]" key="[!name_key!]">[!value_base64!]</IDENTITYSETTING>
  </ADMINISTRATION>
</IODATA>


Variante D: Einzelnen bestehenden Eintrag mit neuem Value überschreiben/ersetzen. (per GUID)

<IODATA loginguid="[!guid_login!]">
  <ADMINISTRATION>
    <IDENTITYSETTING action="save" guid="[!guid_identitysetting!]">[!value_base64!]</IDENTITYSETTING>
  </ADMINISTRATION>
</IODATA>

 

Load

Variante A: Lade alle Key/Values aus allen Gruppen.

<IODATA loginguid="[!guid_login!]">
  <ADMINISTRATION>
    <IDENTITYSETTING action="load" />
  </ADMINISTRATION>
</IODATA>


Variante B: Lade alle Key/Values aus einer Gruppe. (jeweils logischer Name)

<IODATA loginguid="[!guid_login!]">
  <ADMINISTRATION>
    <IDENTITYSETTING action="load" group="[!name_group!]" />
  </ADMINISTRATION>
</IODATA>


Variante C: Lade einen Key/Value aus einer Gruppe. (jeweils logischer Name)

<IODATA loginguid="[!guid_login!]">
  <ADMINISTRATION>
    <IDENTITYSETTING action="load" group="[!name_group!]" key="[!name_key!]" />
  </ADMINISTRATION>
</IODATA>


Variante D: Lade einen Key/Value. (per GUID)

<IODATA loginguid="[!guid_login!]">
  <ADMINISTRATION>
    <IDENTITYSETTING action="load" guid="[!guid_identitysetting!]" />
  </ADMINISTRATION>
</IODATA>


Variante E: Lade alle Key/Values aus allen Gruppen.

<IODATA loginguid="[!guid_login!]">
  <ADMINISTRATION>
    <IDENTITYSETTINGS action="load" />
  </ADMINISTRATION>
</IODATA>


Variante F: Lade alle Key/Values aus einer Gruppe. (jeweils logischer Name)

<IODATA loginguid="[!guid_login!]">
  <ADMINISTRATION>
    <IDENTITYSETTINGS action="load">
      <IDENTITYSETTING group="[!name_group!]" />
    </IDENTITYSETTINGS>
  </ADMINISTRATION>
</IODATA>


Variante G: Lade einen bestimmten Key/Value aus einer Gruppe. (jeweils logischer Name)

<IODATA loginguid="[!guid_login!]">
  <ADMINISTRATION>
    <IDENTITYSETTINGS action="load">
      <IDENTITYSETTING group="[!name_group!]" key="[!name_key!]" />
    </IDENTITYSETTINGS>
  </ADMINISTRATION>
</IODATA>


Variante H: Lade einen Key/Value. (per GUID)

<IODATA loginguid="[!guid_login!]">
  <ADMINISTRATION>
    <IDENTITYSETTINGS action="load">
      <IDENTITYSETTING guid="[!guid_identitysetting!]" />
    </IDENTITYSETTINGS>
  </ADMINISTRATION>
</IODATA>

 

Delete

Lösche eine bestimmten Key/Value. (per GUID)

<IODATA loginguid="[!guid_login!]">
  <ADMINISTRATION>
    <IDENTITYSETTING action="delete" guid="[!guid_identitysetting!]" />
  </ADMINISTRATION>
</IODATA>

Hinweis: Die Daten (Values) sollten immer in Base64 encodiert an den RQL übergeben werden!


Viel Spaß beim ausprobieren und bitte den Hinweis (WICHTIG) von oben beachten!


Ü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.