48EC57C13BA44304B3C399FFF1EF1EB7
  • Thomas Pollinger
  • 10.09.2018
  • DE

Kleine Tipps für Zwischendurch (Nr. 13)

Keine Dokumentation hat den Anspruch auf Vollständigkeit. Dies gilt auch bei der RQL-Dokumentation für den Management Server. Manchmal wurde ein Query vergessen oder auch bewusst weggelassen. Daher ist ein aktiver Austausch mit dem Hersteller wichtig. Damit man die Rückmeldung gibt, was einem fehlt oder was nicht vollständig ist. Dabei lernt man auch eine Menge an noch nicht bekannten Möglichkeiten, welche einem der Management Server bietet. Wie diesen RQL, der es einem ermöglicht gezielt auf verfügbare Projekte bzw. weitere Daten seines  Benutzers (ohne Server Manager Berechtigung) anzufragen.

Ein Benutzer darf die Projekte, denen er zugewiesen ist, auflisten. Das wird z.B. für das Menü gebraucht, über das er zwischen den Projekten wechseln kann. Das dazugehörige RQL liefert unter anderem auch die gesuchten Informationen über den Lock-Zustand der Projekte.

Sprich... wenn man GUID des aktuell eingeloggten Users sowie GUID des Projekts von Interesse hat, dann genügt das für folgendes RQL:

<IODATA loginguid="[!loginguid!]" sessionkey="[!sessionkey!]">
  <ADMINISTRATION>
    <USER guid="[!guid_user!]">
      <PROJECTS action="list"/>
    </USER>
  </ADMINISTRATION>
</IODATA>

Beispielantwort des RQL-Webservice:

<IODATA>
  <USER guid="[!guid_user!]">
    <PROJECTS action="list" parentguid="[!guid_parent!]" parenttype="USR">
      <PROJECT guid="[!guid_project!]" name="{Proejct name}" servername="{Server name}" server="{Server}" versioning="-1" archive="-1" testproject="0" inhibitlevel="0" lockinfo="" checkdatabase="016.215" lockedbysystem="0" inhibit="0" userlevel="4" templateeditorright="0" languagemanagerright="0" denyprojectsettings="1" denyadministerpublication="1" />
    </PROJECTS>
  </USER>
</IODATA>

Da sind die Attribute lockedbsystem, testproject und lockinfo. Dieses RQL darf auch von niedrig priviligierten Usern, insbesondere ohne Server-Manager-Rechte, abgerufen werden. ;)

Einziger Nachteil: Es listet alle Projekte auf, zu denen der Benutzer Zutritt hat.

Wenn man dazu noch die Attribute auswertet, kann man ne Menge an Infos sinnvoll nutzen:

"locked":
Only if the attribute userguid was included in the query.
Indicates whether the project is locked for the user:
0 = not locked
1 = locked
"inhibit":
-1 = Locked to all users including Server Manager
 1 = Beginning with Administrator (except for Server Manager)
 2 = Beginning with Site Builder
 3 = Beginning with Editor
 4 = Beginning with Author
 5 = Beginning with Visitor
16 = For the Publisher
17 = 1 and 16, locked beginning with Administrator (except for Server Manager) and locked for Publisher
18 - 21 = analogous to 17 

Wie z.B. ob ein Projekt für die Publizierung gesperrt ist oder den Grund (Text) für die Sperrung.

An dieser Stellen vielen Dank nochmals an unsere Kollegen in OIdenburg, insbesondere Yarin, welcher uns mit solchen Infos immer tatkräfig unterstützt!


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