Processlist Options XML - Web Services - Foundation 23.2 - Foundation 23.2 - Ready - Content Composer - external

Content Composer Web Services

Platform
Content Composer
Product
Web Services
Release
Foundation 23.2
License

Mit diesem Options-XML kann angegeben werden, welche Vorgänge in der zurückgegebenen Vorgangsliste enthalten sein sollen.

Mögliche Einstellunge

  1. Rückgabe der vom Benutzer selbst erzeugten Vorgänge (default bei Übergabe eines Leerstrings).
  2. Rückgabe der Vorgänge die an den Benutzer direkt oder an eine Benutzergruppe, der der Benutzer angehört, weitergeleitetet wurden.
  3. Rückgabe der eigenen sowie der weitergeleiteten Vorgänge. Wird für diesen Parameter ein Leerstring übergeben, so werden nur die vom Benutzer selbst erzeugten Vorgänge (siehe Punkt 1) zurückgegeben.
<mws>
   <processlist>
      <item name="forwarded" include="1" />
      <item name="nonforwarded" include="0"/>
   </processlist>
</mws>

Die Items des Elementes processlist legen fest, welche Vorgänge in der zurückgegebenen Vorgangsliste enthalten sind.

Die Attribute haben folgende Bedeutung:

Element Beschreibung

name

forwarded: Es werden alle weitergeleiteten Vorgänge zurückgegeben. Dies sind die Vorgänge, die entweder an den Benutzer selbst oder an eine Benutzergruppe, der der Benutzer angehört, weitergeleitet wurden.

nonforwarded: Es werden alle nicht weitergeleiteten Vorgänge zurückgegeben. Dies sind die Vorgänge, die der Benutzer selbst erstellt hat.

include

0: Die entsprechenden Vorgänge werden nicht in die Rückgabeliste aufgenommen.

1: Die durch das Attribut name spezifizierten Vorgänge sollen in der Liste enthalten sein.

Besonderheiten

Wird für die Options ein Leerstring übergeben, oder werden beide Attribute ausgeschaltet (include="0"), dann werden defaultmäßig nur die vom Benutzer selbst erstellten Vorgänge zurückgegeben.

Erweiterte, optionale XML Attribute

Optional können die folgenden Attribute zur weiteren Anpassung der zurückgelieferten Vorgangsliste angegeben werden:

<mws>
   <processlist>
      ...
      <item name="listuser" include="Admin" />
      <item name="shortprocdesc" include="10"/>
      <item name="additionalCondition" include=" AND (MWS_STATUS = 2)" />
      <item name="replacecondition" include="(MWS_STATUS = 2)" />
      ...
   </processlist>
</mws>

Die Attribute haben folgende Bedeutung:

Element Beschreibung

name

listuser:

Wird dieses Attribut spezifiziert, wird die entsprechende Prozessliste des angegebenen Users zurückgegeben. Dabei werden bei den weitergeleiteten Prozessen nur diejenigen berücksichtigt, die an den angegebenen User direkt weitergeleitet wurden.

shortprocdesc:

Wird dieses Attribut spezifiziert und ein Prozess hat eine Prozessbeschreibung, ist in seinem process-Element innerhalb des zurückgegebenen ProcessList XML das Attribut shortprocdesc enthalten.

Das Attribut shortprocdesc ist mit den ersten x Zeichen der Prozessbeschreibung befüllt.

Ist keine Prozessbeschreibung vorhanden, ist das entsprechende Attribut nicht enthalten.

Beispiel

<process id="ade9e10d-ccfb-490f-a5b4-6fb1ac69bfd8"
 user="Admin" system="dm1" type=""
 objectname="TestBundle" title="My Title"
 state="0" created_at="27012010140555"
 lastsaved="04022010173422" 
 created_by="Admin" 
 shortprocdesc="ShortDescription" />

additionalcondition:

Wird dieses Attribut spezifiziert, wird die Bedingung des SelectStatements um die angegebene Bedingung erweitert.

Damit können die Bedingungen, die sich aufgrund anderer processlist options ergeben, individuell erweitert werden.

replacecondition:

Wird dieses Attribut spezifiziert, wird die Bedingung des SelectStatements komplett durch die hier angegebene Bedingung ersetzt.

Alle anderen spezifizierten prozesslist options werden überschrieben.

Dadurch besteht die Möglichkeit, innerhalb der Prozessliste genau die Prozesse zu bekommen, die die angegebene Bedingung erfüllen.

include

Username: Enthält dieses Attribut einen Leerstring, wird es ignoriert

Anzahl Zeichen: Anzahl der zurückzugebenden Zeichen der Prozessbeschreibung. Enthält dieses Attribut den Wert 0, wird es ignoriert.

Hinzuzufügende Bedingung: Enthält dieses Attribut einen Leerstring, wird es ignoriert

Neue Bedingung: Enthält dieses Attribut einen Leerstring, wird es ignoriert

Anwendungsbeispiel

In diesem Beispielskript werden alle Prozesse gelöscht, die entweder abgeschlossen (Status = 2) oder gesperrt (Status=1) sind und länger als einen Tag nicht mehr bearbeitet wurden.

Dazu wird mittels der Prozesslist Option replacecondition die Bedingung für das Select-Statement komplett neu definiert und anschließend alle in der erhaltenen Prozessliste vorhandenen Prozesse gelöscht.

;********************* MLMwsClient ****************************************
GetObject("MwsClient","MLMwsClient")
MwsClient.MwsUrl = "http://localhost:8011/mws/mwsprocess"
GetObject("date", "MLDate")
;
; Current date
CurrDateAsInt = date.CurrentDate()
;
; current date minus 1 day
SearchDateInt = date.IncDate(CurrDateAsInt, -1, 0, 0)
;
;SearchDate as string
SearchDateStr = date.Int64ToDateString("dd.MM.yyyy", SearchDateInt)
FreeObject("date")
Protocol(SearchDateStr, 8)
;
; replacecondition --> Status = 1 and last edit less than SearchDate
options = FormatStr("<mws><processlist><item name=""replacecondition"" include=""(MWS_STATUS = 2) OR ((MWS_STATUS = 1) AND (MWS_LASTSAVED &lt;= '%s'))"" /></processlist></mws>", SearchDateStr)
myXmlResult = ""
res = MwsClient.Process_GetList(0, 100, options)
;
Protocol(res, 8)
myXmlResult = MwsClient.LastXmlResult
Protocol(result, 8)
;
if (myXmlResult <> "")
   GetObject("xml", "MLXmlDocument")
   xml.LoadXml(myXmlResult)
   root = xml.DocumentElement ;rootElement holen
   nodeList = root.SelectNodes("/mws/processlist/process") ;get all nodes of the process list
   Protocol("Number of processes:  {0}", 8, nodeList.Count)
   nodeListEnumerator = nodeList.GetEnumerator() ; Get an enumerator for the nodes
   ;
   ; Iterate over all items...
   readNext = nodeListEnumerator.MoveNext()
   while (readNext)
      node = nodeListEnumerator.Current ; get current item node
      ;
      ;read processid
      attrColl = node.Attributes
      attr = attrColl.GetNamedItem("id")
      processId = attr.Value
      Protocol("ProcessId: {0}", 8, processId)
      if (processId <> "")
         MwsClient.Process_Delete(processId) ; Delete process
         Protocol("Process [{0}] deleted", 8, processId)
      end-if
      readNext = nodeListEnumerator.MoveNext() ; get next item node
   end-while
   FreeObject("xml")
end-if
FreeObject("MwsClient")
;