<obj-where> <obj-copy>

Definition:

<!ENTITY % cm.obj-copy " 
 ((parent | name)+, recursive?) 
"> 
<!ELEMENT obj-copy %cm.obj-copy;>
<!ELEMENT recursive (%cm.atom;)> 

Aufgabe: Die mit obj-where ermittelten Dateien werden kopiert und erhalten jeweils eine Arbeitsversion.

Spezielle Parameter dieses Funktionselements:

  • parent: spezifiziert die ID des Zielordners – fehlt der Parameter, wird als Ziel der Ordner angenommen, in der sich die Datei befindet.
  • name: gibt an, dass value den Namen enthält, den die Dateikopie erhalten soll. Fehlt der Name, wird der Name der zu kopierenden Datei verwendet. Gibt es diesen in dem Zielordner bereits, wird ein neuer Name nach dem Muster NameX berechnet, wobei X eine Zahl ist.
  • recursive: wenn die betreffende Datei ein Ordner ist, gibt value an, ob die darin enthaltenen Dateien ebenfalls (rekursiv) kopiert werden sollen (YES, TRUE oder 1) oder nicht (NO, FALSE oder 0). Links auf Dateien innerhalb des kopierten Baumes verweisen auf die Kopien, während Links auf Dateien außerhalb des Baumes auf die bisherigen Linkziele zeigen. Voreinstellung: FALSE.

Zusatzinformationen: Haben die Quelldateien eine freigegebene Version, so wird diese jeweils in einen neue Arbeitsversion kopiert. Ist keine freigegebene Version vorhanden, so wird versucht, die eingereichte Version zu verwenden. Ist auch diese nicht vorhanden, wird die Arbeitsversion verwendet. Gibt es diese nicht, so erhalten die neuen Dateien eine leere Arbeitsversion.

Verwendung: Zunächst werden mit obj-where Dateien ermittelt, bevor obj-copy verwendet wird, um diese Dateien zu kopieren.

Rückgabewert bei Erfolg: die IDs der neuen Dateien.

Erforderliche Rechte: Der authentifizierte Benutzer muss das Recht permissionRead für die Quelldateien haben; der Benutzer muss ebenfalls das Recht permissionCreateChildren in dem Zielordner und das in der Vorlage der Zieldateien definierte globale Dateianlegerecht haben.

Beispiel:

<cm-request...>
  <obj-where>
    <id>2315</id>
  </obj-where>
  <obj-copy>
    <parent>/news/archiv</parent>
  </obj-copy>
</cm-request>

<cm-response...>
  <cm-code numeric="0" phrase="ok">
    <obj>
      <id>11387</id>
    </obj>
  <cm-code/>
</cm-response>