Methoden zum Zugriff auf Daten und Funktionen des Publication Planners.
Allgemeine Beispiele zur Verwendung der Klasse publication finden sie hier.
Methoden zum Zugriff auf Daten und Funktionen des Publication Planners. Das Modul stellt Methoden zum Zugriff auf Publikationsdaten und Funktionen des Publication Planners bereit.
static int publication::checkin(char* documentID, char* documentPath = 0)
Buche ein Dokument ein.
Diese Funktion setzt die für Publikationsskripte erforderlichen Umgebungsvariablen und führt dann Panelstatement 115 (Einbuchen) aus.
In aller Regel besteht dieses Panelstatement hauptsächlich aus einem Aufruf der Funktion priint::checkin, die das eigentliche Einbuchen ausführt, je nach Anforderung aber auch mehr, bspw. Zurückschreiben von Parametern etc.
Beachten Sie die Dokumentation des Scriptbefehls priint::checkin, deren Verhalten ist mit InDesign® Desktop und InDesign® Server etwas unterschiedlich ist:
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
documentID | String oder char* | - | ID des Dokuments, siehe DocumentID |
documentPath | String oder char* | 0 | Dokumentpfad, optional. |
Panelstatement 53 (Vor Schließen, Standardkonfiguration ab PubServer 4.0.5 Build > #370). Hiermit wird erreicht, dass beim Schließen eines Dokuments mit InDesign® Server dieselben Routinen wie beim Einbuchen mit InDesign® Desktop ausgeführt werden:
int main () { int result = 0;
if (system::is_server ()) { result = publication::checkin(gDocumentID, gDocumentPath); }
return result; }
static int publication::unsaved_commit(int behaviour)
Lege das Verhalten beim Einbuchen ungesicherter Dokumente fest.
Diese Funktion kann z.B. in einem Login-Skript verwendet werden, um das Verhalten beim Einbuchen
ungesicherter Dokumente zu steuern.
Mögliche Werte sind
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
behaviour | int | - | kRevert, kDeny oder kAutosave, weitere Erläterungen siehe oben |
static int publication::checkout(char* documentID, char* documentPath = 0)
Buche ein Dokument aus.
Diese Funktion setzt die für Publikationsskripte erforderlichen Umgebungsvariablen und führt dann Panelstatement 111 (Ausbuchen) aus.
In aller Regel besteht dieses Panelstatement hauptsächlich aus einem Aufruf der Funktion priint::checkout, die das eigentliche Ausbuchen ausführt.
Bitte beachten Sie:
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
documentID | String oder char* | - | ID des Dokuments, siehe DocumentID |
documentPath | String oder char* | 0 | Dokumentpfad, optional. |
static int publication::checkout_clicked(int listIndex)
Buche ein Dokument aus.
Diese Funktion setzt die für Publikationsskripte erforderlichen Umgebungsvariablen und führt dann Panelstatement 111 (Ausbuchen) aus.
In InDesign® Server leer implementiert
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
listIndex | int | - | Index des Dokuments in der aktuell angezeigten Liste im Panel. Der Listeneintrag muß auf ein gültiges Dokument zeigen. |
static int publication::checkout_by_id(
char* documentId,
int id1 = 2,
int id2 = 0,
int id3 = 0,
int convert = 0)
Buche ein Dokument anhand der documentId aus.
Diese Funktion setzt die für Publikationsskripte erforderlichen Umgebungsvariablen und führt dann Panelstatement 111 (Ausbuchen) aus.
Beachten Sie: mit dieser Funktion können Dokumente unabhängig vom Publikationen-Panel ausgebucht werden, d.h.: die meisten der üblicherweise im
Publikationen-Panel verfügbaren Werte (Status, Info1, Info2 etc.) sind nicht verfügbar.
In aller Regel werden diese für den Checkout-Vorgang auch nicht benötigt, das im Standard angelegte Panelstatement 111 z.B. verwendet als einzige
Attribute die IDs des Publikations-Knoten, also die numerischen id1, id2 und id3 sowie die StringID, die als Dokument-ID des Publikations-Dokuments
verwendet wird.
Dokumente, die im priint:planner verwaltet werden, führen den Typ (Publikation, Dokument, Spread) im id1 Attribut mit, hier steht
Sollen mit dieser Funktion Dokumente ausgebucht werden, die nicht über den priint:planner verwaltet werden bzw. über eine andere Komponente als das Standard CometPublication PlugIn bereitgestellt werden, müssen diese Werte ggf. anders angegeben werden, kurz: id1, id2 und id3 müssen genau dem auch im Publikations-Panel für den entsprechenden Eintrag definierten Wert entsprechen.
Ist das Dokument bereits an diesem Arbeitsplatz ausgebucht, wird es lediglich in den Vordergrund geholt bzw. aus dem Dateisystem geöffnet.
Bitte beachten Sie auch: In InDesign® Server und PDF Renderer ist diese Funktion leer implementiert
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
documentId | char * | - | Id des Dokuments im Publikations-System |
id1 | int | 2 | numerische id1 des Dokuments (in der Regel für den Knoten-Typ verwendet) |
id2 | int | 0 | numerische id2 des Dokuments |
id3 | int | 0 | numerische id3 des Dokuments |
convert | int | 0 | Handhabbung von Dokumenten, die mit einer älteren CC Version erstellt wurden: 0 : automatisch konvertieren 1 : nicht konvertieren 2 : Dialog anzeigen |
suppressUI | int | 0 | [Ab v.5.0 R36570] Warnungen über fehlende Bilder etc. unterdrücken. 1 : Warnungen unterdrücken sonst : Warnungen zeigen |
static int publication::checkin_by_id(
char* documentId,
int id1 = 2,
int id2 = 0,
int id3 = 0)
Buche ein Dokument anhand der documentId ein.
Diese Funktion setzt die für Publikationsskripte erforderlichen Umgebungsvariablen und führt dann Panelstatement 115 (Checkin) aus.
Beachten Sie: mit dieser Funktion können Dokumente unabhängig vom Publikationen-Panel eingebucht werden, d.h.: die meisten der üblicherweise im
Publikationen-Panel verfügbaren Werte (Status, Info1, Info2 etc.) sind nicht verfügbar.
In aller Regel werden diese für den Checkin-Vorgang auch nicht benötigt, das im Standard definierte Panelstatement 115 z.B. basiert vollständig auf der
globalen Variable gDocumentID, die unabhängig vom Panel definiert ist.
Dokumente, die im priint:planner verwaltet werden, führen den Typ (Publikation, Dokument, Spread) im id1 Attribut mit, hier steht
Sollen mit dieser Funktion Dokumente eingebucht werden, die nicht über den priint:planner verwaltet werden bzw. über eine andere Komponente als das Standard CometPublication PlugIn bereitgestellt werden, müssen diese Werte ggf. anders angegeben werden, kurz: id1, id2 und id3 müssen genau dem auch im Publikations-Panel für den entsprechenden Eintrag definierten Wert entsprechen.
Bitte beachten Sie auch: In InDesign® Server und PDF Renderer ist diese Funktion leer implementiert.
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
documentId | char * | - | Id des Dokuments im Publikations-System |
id1 | int | 2 | numerische id1 des Dokuments (in der Regel für den Knoten-Typ verwendet) |
id2 | int | 0 | numerische id2 des Dokuments |
id3 | int | 0 | numerische id3 des Dokuments |
static int publication::revert(char* documentId, char* documentPath = 0)
Freigeben eines ausgebuchten Dokumentes. Beim Freigeben wird der Status auf dem priint:cometserver zurückgesetzt, ohne das Dokument hochzuladen, lokale Änderungen am Dokument gehen verloren.
Die Funktion setzt die für Publikationsskripte erforderlichen Umgebungsvariablen und führt dann Panelstatement 117 aus.
Diese Methode erfordert eine bestehende Verbindung zu einem priint:comet Server. In InDesign® Server und PDF Renderer ist diese Funktion leer implementiert
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
documentID | String oder char* | - | ID des Dokuments, siehe DocumentID |
documentPath | String oder char* | 0 | Dokumentpfad, optional. |
static int publication::revert_by_id(
char* documentId,
int id1 = 2,
int id2 = 0,
int id3 = 0)
Freigeben eines ausgebuchten Dokumentes anhand der documentId. Beim Freigeben wird der Status auf dem priint:cometserver zurückgesetzt, ohne das Dokument hochzuladen, lokale Änderungen am Dokument gehen verloren.
Dokumente, die im priint:planner verwaltet werden, führen den Typ (Publikation, Dokument, Spread) im id1 Attribut mit, hier steht
Sollen mit dieser Funktion Dokumente eingebucht werden, die nicht über den priint:planner verwaltet werden bzw. über eine andere Komponente als das Standard CometPublication PlugIn bereitgestellt werden, müssen diese Werte ggf. anders angegeben werden, kurz: id1, id2 und id3 müssen genau dem auch im Publikations-Panel für den entsprechenden Eintrag definierten Wert entsprechen.
Diese Methode erfordert eine bestehende Verbindung zu einem priint:comet Server. In InDesign® Server und PDF Renderer ist diese Funktion leer implementiert
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
documentId | String oder char* | - | Id des Dokuments im Publikations-System |
id1 | int | 2 | numerische id1 des Dokuments (in der Regel für den Knoten-Typ verwendet) |
id2 | int | 0 | numerische id2 des Dokuments |
id3 | int | 0 | numerische id3 des Dokuments |
static int publication::aftercheckout(char* documentID, char* documentPath = 0)
Nach Ausbuchen eines Publikations-Dokuments.
Diese Funktion setzt die für Publikationsskripte erforderlichen Umgebungsvariablen und führt dann Panelstatement 125 (Nach Ausbuchen) aus.
In der Regel sind in diesem Statement Routinen zur Initialisierung eines Publikationsdokuments definiert, zum Beispiel Lesen und Setzen von Publikationsparametern etc. Da hierfür das Dokument verfügbar sein muss - also bereits ausgebucht und geöffnet - werden diese Vorgänge in einem eigenen Script definiert.
In InDesign® Desktop ist diese Funktion leer implementiert, da Panelstatement 125 bei jedem Ausbuchen (über Panel oder Skript) automatisch ausgeführt wird.
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
documentID | String oder char* | - | ID des Dokuments, siehe DocumentID |
documentPath | String oder char* | 0 | Dokumentpfad, optional. |
Panelstatement 44 (Nach Öffnen, Standardkonfiguration ab PubServer 4.0.5 Build > #370). Hiermit wird erreicht, dass nach dem Öffnen eines Dokuments mit InDesign® Server dieselben Routinen wie nach dem Ausbuchen mit InDesign® Desktop ausgeführt werden:
int main () { int result = 0;
if (system::is_server ()) { result = publication::aftercheckout(gDocumentID, gDocumentPath); }
return result; }
static int publication::aftersave(char* documentID, char* documentPath = 0)
Nach Speichern eines Publikations-Dokuments.
Diese Funktion setzt die für Publikationsskripte erforderlichen Umgebungsvariablen und führt dann Panelstatement 112 (Nach Speichern) aus.
Dieses Panelstatement ist nur in Ausnahmefällen notwendig, wenn auf jeden Speicher-Vorgang eines Publikations-Dokuments gesondert reagiert werden muß
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
documentID | String oder char* | - | ID des Dokuments, siehe DocumentID |
documentPath | String oder char* | 0 | Dokumentpfad, optional. |
Panelstatement 48 (Nach Sichern, Standardkonfiguration ab PubServer 4.0.5 Build > #370). Hiermit wird erreicht, dass nach dem Sichern eines Dokuments mit InDesign® Server dieselben Routinen wie nach dem Sichern mit InDesign® Desktop ausgeführt werden (in der Regel also keine):
int main () { int result = 0;
if (system::is_server ()) { result = publication::aftersave(gDocumentID, gDocumentPath); }
return result; }
static char* publication::get_property(char* documentId, char* propertyName)
Ermittle eine Eigenschaft einer Publikation oder eines Dokuments. Siehe Beispiel "Publikationseigenschaften".
Nur verfügbar bei Verbindung mit einem PubServer >= V4.0.5 Build #585
Name | Typ | Default | Beschreibung |
Return | char * | Wert der Eigenschaft oder 0 bei Fehlern. Der Ergebnisstring ist nur bis zum nächsten Aufruf der Funktion gültig und darf nicht verändert oder freigegeben werden. | |
documentId | String oder char* | - | Dokument ID. Wird 0 übergeben, wird die Dokument ID des aktuellen Dokuments ermittelt. |
propertyName | String oder char* | - | Name der Eigenschaft, z.B. "description" |
static int publication::set_property(
char* documentId,
char* propertyName,
char* propertyValue)
Setze die Eigenschaft einer Publikation oder eines Dokuments. iehe Beispiel "Publikationseigenschaften".
Nur verfügbar bei Verbindung mit einem PubServer >= V4.0.5 Build #585
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
documentId | String oder char* | - | Dokument ID. Wird 0 übergeben, wird die Dokument ID des aktuellen Dokuments ermittelt. |
propertyName | String oder char* | - | Name der Eigenschaft, z.B. "description" |
propertyValue | String oder char* | - | Neuer Wert der Eigenschaft |
static char* publication::get_label(char* documentId)
Ermittle den Namen (der / das ? Label) einer Publikation oder eines Dokuments. Shortcut für publication::get_property (documentId, "label2"), siehe Beispiel "Publication properties".
Nur verfügbar bei Verbindung mit einem PubServer >= V4.0.5 Build #585
Name | Typ | Default | Beschreibung |
Return | char * | Label oder 0 bei Fehlern. Der Ergebnisstring ist nur bis zum nächsten Aufruf der Funktion gültig und darf nicht verändert oder freigegeben werden. | |
documentId | String oder char* | - | Dokument ID. Wird 0 übergeben, wird die Dokument ID des aktuellen Dokuments ermittelt. |
static int publication::set_label(char* documentId, char* label)
Setze den Namen (der / das ? Label) einer Publikation oder eines Dokuments. Shortcut für publication::set_property (documentId, "label2", value), siehe Beispiel "Publication properties".
Nur verfügbar bei Verbindung mit einem PubServer >= V4.0.5 Build #585
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
documentId | String oder char* | - | Dokument ID. Wird 0 übergeben, wird die Dokument ID des aktuellen Dokuments ermittelt. |
label | String oder char* | - | Neuer Name |
static StringList publication::get_parameters(char* documentID)
Hole die Parameter eines Publikations-Dokuments.
Die Parameter werden als StringList zurückgegeben, die jeweils einen Schlüssel und als folgendes Element einen Wert enthält:
Schlüssel und Werte können mit Methoden der Klasse StringList ausgelesen und z.B. ins Dokument übertragen werden.
Name | Typ | Default | Beschreibung |
Return | StringList | Neu allokiertes Objekt der Klasse StringList. Diese Liste muß mit stringlist::release wieder freigegeben werden. | |
documentID | String oder char* | - | ID des Dokuments, siehe DocumentID |
static int publication::apply_parameters(ItemRef documentRef, char* documentID = 0)
Hole die Parameter eines Publikations-Dokuments und setze sie als Attribute des XML Root Elements des Dokuments.
Name | Typ | Default | Beschreibung |
Return | int | 0 oder error code | |
documentRef | ItemRef | - | Dokument auf dass die Parameter angewendet werden sollen |
documentID | String oder char* | - | ID des Dokuments, siehe DocumentID |
static int publication::set_parameter(
char* documentId,
char* parameterIdentifier,
char* value1,
char* value2 = 0,
char* value3 = 0)
Setze den Parameter einer Publikation oder eines Dokuments. Es können einer, zwei oder drei Werte übergeben werden.
Für Parameter des Typs kTypeCombo oder kTypeCheckbox werden die Werte automatisch konvertiert, siehe Beispiel "Parameter schreiben".
Nur verfügbar bei Verbindung mit einem PubServer >= V4.0.5 Build #585
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
documentId | String oder char* | - | Dokument ID. Wird 0 übergeben, wird die Dokument ID des aktuellen Dokuments ermittelt. |
parameterIdentifier | String oder char* | - | Identifier des Parameters |
value1 | String oder char* | - | erster Wert des Parameters |
value2 | String oder char* | 0 | zweiter Wert des Parameters, sofern 0 wird nur 1 Wert geschrieben |
value3 | String oder char* | 0 | dritter Wert des Parameters, sofern 0 werden nur 1 bzw. 2 Werte geschrieben |
static char* publication::get_rootpublication_id(char* documentId = 0)
Ermittle die ID der Root-Publikation einer Publikation oder eines Dokuments.
Nur verfügbar bei Verbindung mit einem PubServer >= V4.0.5 Build #585
Name | Typ | Default | Beschreibung |
Return | char * | ID oder 0 bei Fehlern. Der Ergebnisstring ist nur bis zum nächsten Aufruf der Funktion gültig und darf nicht verändert oder freigegeben werden. | |
documentId | String oder char* | - | Dokument ID. Wird 0 übergeben, wird die Dokument ID des aktuellen Dokuments ermittelt. |
static char* publication::get_publication_path(char* documentId = 0)
Ermittle den Pfad (Ordner im Dateisystem) einer Publikation
Nur verfügbar bei Verbindung mit einem PubServer >= V4.1.5 Build #940
Name | Typ | Default | Beschreibung |
Return | char * | Pfad oder 0 bei Fehlern. Der Ergebnisstring ist nur bis zum nächsten Aufruf der Funktion gültig und darf nicht verändert oder freigegeben werden. | |
publicationId | String oder char* | - | Publikations-ID. |
static PublicationList publication::collect_documents(char* publicationId, int levels = -1)
Sammle alle Dokumente einer Publikation bis zu levels Ebenen
Nur verfügbar bei Verbindung mit einem PubServer >= V4.1.5 Build #940
Name | Typ | Default | Beschreibung |
Return | PublicationList * | Publikationsliste oder 0 bei Fehlern. | |
publicationId | String oder char* | - | Publikations-ID. |
levels | int | -1 | Wieviele Ebenen? -1 für alle Ebenen |
static char* publication::get_publication_id(char* documentId = 0)
Ermittle die ID der Publikation eines Dokuments.
Nur verfügbar bei Verbindung mit einem PubServer >= V4.0.5 Build #585
Name | Typ | Default | Beschreibung |
Return | char * | ID oder 0 bei Fehlern. Der Ergebnisstring ist nur bis zum nächsten Aufruf der Funktion gültig und darf nicht verändert oder freigegeben werden. | |
documentId | String oder char* | - | Dokument ID. Wird 0 übergeben, wird die Dokument ID des aktuellen Dokuments ermittelt. |
static PublicationList (char* parentId = 0)
static PublicationList publication::get_subnodes(char* parentId = 0)
Hole die Unterelemente einer Publikation.
Nur verfügbar bei Verbindung mit einem PubServer >= V4.0.5 Build #585
Name | Typ | Default | Beschreibung |
Return | PublicationList | Publikationsliste oder 0 bei Fehlern. Die Liste muß mit publication::publicationlist::release wieder freigegeben werden. | |
parentId | String oder char* | - | ID des Parent-Knotens. Bei 0 werden die Publikationen der obersten Ebene (Root-Elemente) zurückgegeben. |
Sammle alle Dokumente, die in und unter der aktuellen Auswahl der Publikationspalette enthalten sind.
#include "internal/panels.h" #include "internal/products.h"
int get_documents (IDType id, IDTypeList docIDs, int depth) { if (idtype::id (id) == 1) { // Publication // Dive into .. // PublicationList subs = publication::get_subnodes(idtype::stringid(id)); IDType subid = idtype::alloc (); int i; Publication p;
for (i = 0; i <> publication::publicationlist::length (subs); i++) { p = publication::publicationlist::get (subs, i); idtype::set_id (subid, publication::get (p, kID)); idtype::set_id2 (subid, publication::get (p, kID2)); idtype::set_id3 (subid, publication::get (p, kID3)); idtype::set_stringid (subid, publication::gets (p, kStringID)); get_documents (subid, docIDs, depth + 1); } publication::publicationlist::release (subs); idtype::release (subid); } else if (idtype::id (id) == 2) { // Document // Take it .. // idtypelist::append (docIDs, depth, 0, 0, idtype::stringid (id)); } else if (idtype::id (id) == 3) { // Spread // Ignore .. // }
return 0; }
int apply_doc (IDType id) { int i;
for (i = 0; i < idtype::id (id); i++) wlog ("", " "); wlog ("", "%s\n", idtype::stringid (id));
return 0; }
int main () { IDTypeList publications = idtypelist::alloc (kPanelPublications, kSelected); IDType id; IDTypeList docIDs = idtypelist::alloc ();
// Collect all selected documents // Loop over all selected entries of the publication panel /// for (id = idtypelist::first (publications); id; id = idtypelist::next (publications)) { get_documents (id, docIDs, 0); }
// Deal with all documents // Loop over all docIDs found // for (id = idtypelist::first (docIDs); id; id = idtypelist::next (docIDs)) { apply_doc (id); }
idtypelist::alloc (publications); idtypelist::alloc (docIDs);
return 0; }
static PublicationList publication::get_master_documents()
Hole die Liste verfügbarer Musterdokumente.
Nur verfügbar bei Verbindung mit einem PubServer >= V4.0.5 Build #585
Name | Typ | Default | Beschreibung |
Return | PublicationList | Publikationsliste oder 0 bei Fehlern. Die Liste muß mit publication::publicationlist::release wieder freigegeben werden. |
static PublicationList publication::search(
char* rootPublicationId = 0,
char* subPublicationId = 0,
char* docName = 0,
char* workflowStatusId1 = 0,
char* workflowStatusId2 = 0,
char* workflowStatusId3 = 0,
char* param1 = 0,
char* value11 = 0,
char* value12 = 0,
char* value13 = 0,
char* param2 = 0,
char* value21 = 0,
char* value22 = 0,
char* value23 = 0,
char* param3 = 0,
char* value31 = 0,
char* value32 = 0,
char* value33 = 0,
int restrictiveCheckbox = 0,
int recursive = 0)
Suche nach Dokumenten. Je mehr Kriterien angegeben sind, desto weniger wird gefunden. Wird die Funktion ganz ohne Parameter aufgerufen, werden einfach alle Dokumente zurückgeliefert.
Nur verfügbar bei Verbindung mit einem PubServer >= V4.0.5 Build #585
Name | Typ | Default | Beschreibung |
Return | PublicationList | Publikationsliste oder 0 bei Fehlern. Die Liste muß mit publication::publicationlist::release wieder freigegeben werden. | |
rootPublicationId | String oder char* | 0 | |
subPublicationId | String oder char* | 0 | |
docName | String oder char* | 0 | |
workflowStatusId1 | String oder char* | 0 | |
workflowStatusId2 | String oder char* | 0 | |
workflowStatusId3 | String oder char* | 0 | |
param1 | String oder char* | 0 | |
value11 | String oder char* | 0 | |
value12 | String oder char* | 0 | |
value13 | String oder char* | 0 | |
param2 | String oder char* | 0 | |
value21 | String oder char* | 0 | |
value22 | String oder char* | 0 | |
value23 | String oder char* | 0 | |
param3 | String oder char* | 0 | |
value31 | String oder char* | 0 | |
value32 | String oder char* | 0 | |
value33 | String oder char* | 0 | |
restrictiveCheckbox | int | - | |
recursive | int | - |
static ProductList publication::get_document_product_selection(char* documentId = 0)
Ermittle die für dieses Dokument verplanten Produkte.
Nur verfügbar bei Verbindung mit einem PubServer >= V4.0.5 Build #585
Name | Typ | Default | Beschreibung |
Return | ProductList | Liste der verplanten Produkte, diese Liste kann z.B. für den Aufbau mit productlist::establish verwendet werden | |
documentId | String oder char* | - | Dokument ID. Wird 0 übergeben, wird die Dokument ID des aktuellen Dokuments ermittelt. |
static ProductList publication::get_document_product_planning(
char* documentId = "",
char* entityIdentifier = "",
char* searchString = "",
int mappingFlag = 0)
Ermittle die für dieses Dokument verplanten Produkte (neue Produktverplanung).
Nur verfügbar bei Verbindung mit einem PubServer >= V4.0.5 Build #1920
Name | Typ | Default | Beschreibung |
Return | ProductList | Liste der verplanten Produkte, diese Liste kann z.B. für den Aufbau mit productlist::establish verwendet werden Die Liste muss mit productlist::release wieder freigegeben werden. |
|
documentId | String oder char* | 0 | Dokument ID. Wird 0 übergeben, wird die Dokument ID des aktuellen Dokuments ermittelt. |
entityIdentifier | String oder char* | "" | nur Produkte der angegebenen Entität |
searchString | String oder char* | "" | nur Produkte, die diesem Suchkriterium entsprechen |
mappingFlag | int | 0 | Markierung für Ermittlung der ID 0 = verwende die ID des verplanten Buckets 1 = verwende die ID des Planungsdatensatzes 2 = verwende die ID des verplanten Buckets und die ID des Planungsdatensatzes als parent |
static WorkflowStatusList publication::get_workflow_states()
Hole alle Dokument-WorkflowStati.
Nur verfügbar bei Verbindung mit einem PubServer >= V4.0.5 Build #585
Name | Typ | Default | Beschreibung |
Return | WorkflowStatusList | WorkflowStatus Liste oder 0 bei Fehlern. Die Liste muß mit publication::workflowstatuslist::release wieder freigegeben werden. |
static WorkflowStatusList publication::get_document_workflow_states(char* documentId = 0)
Hole die möglichen WorkflowStatus eines Dokuments.
Nur verfügbar bei Verbindung mit einem PubServer >= V4.0.5 Build #585
Name | Typ | Default | Beschreibung |
Return | WorkflowStatusList | WorkflowStatus Liste oder 0 bei Fehlern. Die Liste muß mit publication::workflowstatuslist::release wieder freigegeben werden. | |
documentId | String oder char* | 0 | Dokument ID. Fehlt der Parameter oder wird 0 übergeben, wird die Dokument ID des aktuellen Dokuments ermittelt. |
static WorkflowStatusList publication::get_document_workflow_status(char* documentId = 0)
Hole den aktuellen WorkflowStatus eines Dokuments.
Nur verfügbar bei Verbindung mit einem PubServer >= V4.0.5 Build #585
Name | Typ | Default | Beschreibung |
Return | WorkflowStatus | WorkflowStatus oder 0 bei Fehlern. Das Objekt muß mit publication::workflowstatus::release wieder freigegeben werden. | |
documentId | String oder char* | 0 | Dokument ID. Fehlt der Parameter oder wird 0 übergeben, wird die Dokument ID des aktuellen Dokuments ermittelt. |
static int publication::set_document_workflow_status(
char* documentId,
char* actionId,
char* url)
Setze den WorkflowStatus eines Dokuments.
Nur verfügbar bei Verbindung mit einem PubServer >= V4.0.5 Build #585
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
documentId | String oder char* | - | Dokument ID. Wird 0 übergeben, wird die Dokument ID des aktuellen Dokuments ermittelt. |
actionId | String oder char* | - | ID des nächsten Arbeitsschrittes. Dies ist nicht die ID des WorkflowStatus, sondern die actionId. Siehe Hinweise unter publication::workflowstatus::gets |
url | String oder char* | 0 |
static WorkflowStatusList publication::get_next_workflow_states(char* documentId = 0)
Hole die möglichen nächsten WorkflowStatus eines Dokuments. Objekte dieser Liste beinhalten auch die actionId, also die ID des konkreten nächsten Arbeitsschrittes.
Nur verfügbar bei Verbindung mit einem PubServer >= V4.0.5 Build #585
Name | Typ | Default | Beschreibung |
Return | WorkflowStatusList | WorkflowStatus Liste oder 0 bei Fehlern. Die Liste muß mit publication::workflowstatuslist::release wieder freigegeben werden. | |
documentId | String oder char* | 0 | Dokument ID. Fehlt der Parameter oder wird 0 übergeben, wird die Dokument ID des aktuellen Dokuments ermittelt. |
static PublicationTypeList publication::get_publication_types()
Hole alle Publikationstypen
Nur verfügbar bei Verbindung mit einem PubServer >= V4.0.5 Build #585
Name | Typ | Default | Beschreibung |
Return | PublicationTypeList | Publikationstyp Liste oder 0 bei Fehlern. Die Liste muß mit publication::publicationtypelist::release wieder freigegeben werden. |
static ParameterList publication::get_all_parameters()
Hole alle Parameter
Nur verfügbar bei Verbindung mit einem PubServer >= V4.0.5 Build #585
Name | Typ | Default | Beschreibung |
Return | ParameterList | Parameter Liste oder 0 bei Fehlern. Die Liste muß mit publication::parameterlist::release wieder freigegeben werden. |
static ParameterList publication::get_parameter_values(int parameterId)
Hole die Listenwerte eines Parameters des Typs kTypeCombo
Nur verfügbar bei Verbindung mit einem PubServer >= V4.0.5 Build #585
Name | Typ | Default | Beschreibung |
Return | ParameterList | Parameter Liste oder 0 bei Fehlern. Die Liste muß mit publication::parameterlist::release wieder freigegeben werden. | |
parameterId | int | - | ID des Parameters |
static char* publication::get_parameter_from_document(ItemRef document, char* parameterIdentifier)
Lese den Wert eines Parameters aus der XML Struktur des Dokuments.
Nur verfügbar bei Verbindung mit einem PubServer >= V4.0.5 Build #585
Name | Typ | Default | Beschreibung |
Return | char * | Wert oder 0 bei Fehlern. Der Ergebnisstring ist nur bis zum nächsten Aufruf der Funktion gültig und darf nicht verändert oder freigegeben werden. | |
documentId | ItemRef | - | Dokument. 0 = aktuelles Front Dokument. |
parameterIdentifier | String oder char* | - | Identifier des Parameters |
static int publication::release(Publication publication)
Gebe ein Publikations-Objekt frei.
Name | Typ | Default | Beschreibung |
publication | Publication | - | freizugebendes Objekt |
static int publication::get(Publication publication, int selector)
Ermittle eine Integer Eigenschaft eines Publikations-Objekts.
Name | Typ | Default | Beschreibung |
Return | int | (numerische) Eigenschaft dieses Objekts des bezeichnenden Selektors | |
publication | Publication | - | Publikations Objekt |
selector | int | - | Welche Eigenschaft? Mögliche Werte sind kID kID2 kID3 kCanOverrideURL kCanOverrideLocal kStatementId kIconId kHasChildren |
static int publication::set(
Publication publication,
int selector,
int value)
Setze eine Integer Eigenschaft eines Publikations-Objekts.
Name | Typ | Default | Beschreibung |
publication | Publication | - | Publikations Objekt |
selector | int | - | Welche Eigenschaft? Mögliche Werte sind kID kID2 kID3 kCanOverrideURL kCanOverrideLocal kStatementId kIconId kHasChildren |
value | int | - | Neuer Wert für die gewählte Eigenschaft |
static char* publication::gets(Publication publication, int selector)
Ermittle eine String Eigenschaft eines Publikations-Objekts.
Name | Typ | Default | Beschreibung |
Return | char * | (String) Eigenschaft dieses Objekts des bezeichnenden Selektors | |
publication | Publication | - | Publikations Objekt |
selector | int | - | Welche Eigenschaft? Mögliche Werte sind kStringID kDocumentId (Alias für kStringId) kInfo kName kLabel (Alias für kName) kType kStatus kInfo1 kInfo2 kDomain kPath kUrl |
static char* publication::sets(
Publication publication,
int selector,
char* value)
Setze eine String Eigenschaft eines Publikations-Objekts.
Name | Typ | Default | Beschreibung |
Return | char * | (String) Eigenschaft dieses Objekts des bezeichnenden Selektors | |
publication | Publication | - | Publikations Objekt |
selector | int | - | Welche Eigenschaft? Mögliche Werte sind kStringID kDocumentId (Alias für kStringId) kInfo kName kLabel (Alias für kName) kType kStatus kInfo1 kInfo2 kDomain kPath kUrl |
value | - | char* oder String | neuer Wert für die gewählte Eigenschaft |
static char* publication::to_xml(Publication publication, char* rootElementName = "publication")
Generiere die XML Struktur eines Publikations-Objekt.
Wenn Sie über die Verwendung dieser Funktion nachdenken, sind Sie möglicherweise an näheren Informationen zur Interaktion von cscript mit auf dem PubServer als PlugIn bereitgestellten Java-Methoden interessiert. Mehr Informationen dazu finden Sie hier.
Name | Typ | Default | Beschreibung |
Return | char * | xml string oder 0 bei Fehlern. Der Ergebnisstring ist nur bis zum nächsten Aufruf einer to_xml-Funktion gültig und darf nicht verändert oder freigegeben werden. | |
publication | Publication | - | Objekt |
rootElementName | String oder char* | publication | Name des Root-Elements |
static Publication publication::from_xml(char* xml)
Generiere ein Publikations-Objekt aus einer XML Struktur.
Wenn Sie über die Verwendung dieser Funktion nachdenken, sind Sie möglicherweise an näheren Informationen zur Interaktion von cscript mit auf dem PubServer als PlugIn bereitgestellten Java-Methoden interessiert. Mehr Informationen dazu finden Sie hier.
Name | Typ | Default | Beschreibung |
Return | Publication | Object vom Typ Publication. Dieses Objekt muss mit publication::release wieder freigegeben werden. | |
xml | String oder char* | - | xml string |
static Publication publication::alloc()
Erzeuge ein neues, leeres Publication Objekt.
Name | Typ | Default | Beschreibung |
Return | Publication | Objekt vom Typ Publication. Dieses Objekt muss mit publication::release wieder freigegeben werden. |
static int publication::copy(Publication destination, Publication source)
Kopiere alle Werte von Objekt source nach Objekt destination
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
destination | Publication | - | Zielobjekt |
destination | Publication | - | Quellobjekt |
static PublicationList publication::publicationlist::alloc()
Erzeuge ein neues, leeres PublicationList Objekt.
Name | Typ | Default | Beschreibung |
Return | PublicationList | Objekt vom Typ PublicationList. Dieses Objekt muss mit publication::publicationlist::release wieder freigegeben werden. |
static int publication::publicationlist::release(PublicationList list)
Gebe eine Publikations-Liste frei
Name | Typ | Default | Beschreibung |
list | PublicationList | - | freizugebende Liste |
static int publication::publicationlist::length(PublicationList list)
Länge einer Publikationsliste
Name | Typ | Default | Beschreibung |
Return | int | Länge der Liste | |
list | PublicationList | - | Liste |
static Publication publication::publicationlist::get(PublicationList list, int n)
Hole die nte Publikation einer Publikationsliste. Der Index muß innerhalb { 0 .. Länge der Liste - 1 } liegen.
Name | Typ | Default | Beschreibung |
Return | Publication | Objekt vom Typ Publication | |
list | PublicationList | - | Liste |
n | int | - | Index des Listenelements |
static char* publication::publicationlist::to_xml(PublicationList list, char* rootElementName = "publications")
Generiere die XML Struktur einer Publikations-Liste.
Wenn Sie über die Verwendung dieser Funktion nachdenken, sind Sie möglicherweise an näheren Informationen zur Interaktion von cscript mit auf dem PubServer als PlugIn bereitgestellten Java-Methoden interessiert. Mehr Informationen dazu finden Sie hier.
Name | Typ | Default | Beschreibung |
Return | char * | xml string oder 0 bei Fehlern. Der Ergebnisstring ist nur bis zum nächsten Aufruf einer to_xml-Funktion gültig und darf nicht verändert oder freigegeben werden. | |
list | PublicationList | - | Liste |
rootElementName | String oder char* | publications | Name des Root-Elements |
static PublicationList publication::publicationlist::from_xml(char* xml)
Generiere eine Publikations-Liste aus einer XML Struktur.
Wenn Sie über die Verwendung dieser Funktion nachdenken, sind Sie möglicherweise an näheren Informationen zur Interaktion von cscript mit auf dem PubServer als PlugIn bereitgestellten Java-Methoden interessiert. Mehr Informationen dazu finden Sie hier.
Name | Typ | Default | Beschreibung |
Return | PublicationList | Liste vom Typ PublicationList. Dieses Liste muss mit publicationlist::release wieder freigegeben werden. | |
xml | String oder char* | - | xml string |
static int publication::publicationlist::add_all(
PublicationList target,
PublicationList src,
int deleteFromSource)
Füge alle Elemente der Liste src in die Liste target ein.
Bei deleteFromSource != 0 werden die Elemente aus der Quellliste entfernt (aber nicht freigegeben)
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode. | |
target | PublicationList - | Zielliste | |
src | PublicationList - | Quellliste | |
deleteFromSource | 0 | Elemente aus der Quelliste entfernen |
static ParameterList publication::parameterlist::alloc()
Erzeuge ein neues, leeres ParameterList Objekt.
Name | Typ | Default | Beschreibung |
Return | ParameterList | Objekt vom Typ ParameterList. Dieses Objekt muss mit publication::parameterlist::release wieder freigegeben werden. |
static int publication::parameterlist::release(ParameterList list)
Gebe eine Parameter-Liste frei
Name | Typ | Default | Beschreibung |
list | ParameterList | - | freizugebende Liste |
static int publication::parameterlist::length(ParameterList list)
Länge einer Parameter Liste
Name | Typ | Default | Beschreibung |
Return | int | Länge der Liste | |
list | ParameterList | - | Liste |
static Parameter publication::parameterlist::get(ParameterList list, int index)
Hole den nten Parameter einer Parameter-Liste. Der Index muß innerhalb { 0 .. Länge der Liste - 1 } liegen.
Name | Typ | Default | Beschreibung |
Return | Parameter | Objekt vom Typ Parameter | |
list | ParameterList | - | Liste |
n | int | - | Index des Listenelements |
static char* publication::parameterlist::to_xml(ParameterList list, char* rootElementName = "parameters")
Generiere die XML Struktur einer Parameter-Liste.
Wenn Sie über die Verwendung dieser Funktion nachdenken, sind Sie möglicherweise an näheren Informationen zur Interaktion von cscript mit auf dem PubServer als PlugIn bereitgestellten Java-Methoden interessiert. Mehr Informationen dazu finden Sie hier.
Name | Typ | Default | Beschreibung |
Return | char * | xml string oder 0 bei Fehlern. Der Ergebnisstring ist nur bis zum nächsten Aufruf einer to_xml-Funktion gültig und darf nicht verändert oder freigegeben werden. | |
list | ParameterList | - | Liste |
rootElementName | String oder char* | parameters | Name des Root-Elements |
static ParameterList publication::parameterlist::from_xml(char* xml)
Generiere eine Parameter-Liste aus einer XML Struktur.
Wenn Sie über die Verwendung dieser Funktion nachdenken, sind Sie möglicherweise an näheren Informationen zur Interaktion von cscript mit auf dem PubServer als PlugIn bereitgestellten Java-Methoden interessiert. Mehr Informationen dazu finden Sie hier.
Name | Typ | Default | Beschreibung |
Return | ParameterList | Liste vom Typ ParameterList. Dieses Liste muss mit parameterlist::release wieder freigegeben werden. | |
xml | String oder char* | - | xml string |
static int publication::parameterlist::add_all(
ParameterList target,
ParameterList src,
int deleteFromSource)
Füge alle Elemente der Liste src in die Liste target ein.
Bei deleteFromSource != 0 werden die Elemente aus der Quellliste entfernt (aber nicht freigegeben)
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode. | |
target | ParameterList | - | Zielliste |
src | ParameterList | - | Quellliste |
deleteFromSource | int | 0 | Elemente aus der Quelliste entfernen |
static Parameter publication::parameter::alloc()
Erzeuge ein neues, leeres Parameter Objekt.
Name | Typ | Default | Beschreibung |
Return | Parameter | Objekt vom Typ Parameter. Dieses Objekt muss mit publication::parameter::release wieder freigegeben werden. |
static int publication::parameter::release(Parameter parameter)
Gebe ein Parameter-Objekt frei.
Name | Typ | Default | Beschreibung |
parameter | - | Parameter | freizugebendes Objekt |
static int publication::parameter::get(Parameter parameter, int selector)
Ermittle eine Integer Eigenschaft eines Parameter-Objekts.
Name | Typ | Default | Beschreibung |
Return | int | (numerische) Eigenschaft dieses Objekts des bezeichnenden Selektors | |
parameter | Publication | - | Publikations Objekt |
selector | int | - | Welche Eigenschaft? Mögliche Werte sind kID kType (kTypeText, kTypeCombo oder kTypeCheckbox) |
static char* publication::parameter::gets(Parameter parameter, int selector)
Ermittle eine String Eigenschaft eines Parameter-Objekts.
Name | Typ | Default | Beschreibung |
Return | char * | (String) Eigenschaft dieses Objekts des bezeichnenden Selektors | |
parameter | - | Parameter | Parameter Objekt |
selector | int | - | Welche Eigenschaft? Mögliche Werte sind kStringID kName kLabel (Alias für kName) kValue1 kValue2 kValue3 |
static char* publication::parameter::to_xml(Parameter parameter, char* rootElementName = "parameter")
Generiere die XML Struktur eines Parameter-Objekts.
Wenn Sie über die Verwendung dieser Funktion nachdenken, sind Sie möglicherweise an näheren Informationen zur Interaktion von cscript mit auf dem PubServer als PlugIn bereitgestellten Java-Methoden interessiert. Mehr Informationen dazu finden Sie hier.
Name | Typ | Default | Beschreibung |
Return | char * | xml string oder 0 bei Fehlern. Der Ergebnisstring ist nur bis zum nächsten Aufruf einer to_xml-Funktion gültig und darf nicht verändert oder freigegeben werden. | |
parameter | Parameter | - | Parameter Objekt |
rootElementName | String oder char* | parameter | Name des Root-Elements |
static Parameter publication::parameter::from_xml(char* xml)
Generiere ein Parameter-Objekt aus einer XML Struktur.
Wenn Sie über die Verwendung dieser Funktion nachdenken, sind Sie möglicherweise an näheren Informationen zur Interaktion von cscript mit auf dem PubServer als PlugIn bereitgestellten Java-Methoden interessiert. Mehr Informationen dazu finden Sie hier.
Name | Typ | Default | Beschreibung |
Return | Parameter | Objekt vom Typ Parameter. Dieses Objekt muss mit parameter::release wieder freigegeben werden. | |
xml | String oder char* | - | xml string |
static int publication::parameter::copy(Parameter destination, Parameter source)
Kopiere alle Werte von Objekt source nach Objekt destination
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
destination | Parameter | - | Zielobjekt |
destination | Parameter | - | Quellobjekt |
static PublicationTypeList publication::publicationtypelist::alloc()
Erzeuge ein neues, leeres PublicationTypeList Objekt.
Name | Typ | Default | Beschreibung |
Return | PublicationTypeList | Objekt vom Typ PublicationTypeList. Dieses Objekt muss mit publication::publicationtypelist::release wieder freigegeben werden. |
static int publication::publicationtypelist::release(PublicationTypeList list)
Gebe eine Publikationtyp-Liste frei
Name | Typ | Default | Beschreibung |
list | PublicationTypeList | - | freizugebende Liste |
static int publication::publicationtypelist::length(PublicationTypeList list)
Länge einer Publikationstypliste
Name | Typ | Default | Beschreibung |
Return | int | Länge der Liste | |
list | PublicationTypeList | - | Liste |
static PublicationType publication::publicationtypelist::get(PublicationTypeList list, int index)
Hole den nten Publikationstyp einer Publikationstypliste. Der Index muß innerhalb { 0 .. Länge der Liste - 1 } liegen.
Name | Typ | Default | Beschreibung |
Return | PublicationType | Objekt vom Typ PublicationType | |
list | PublicationTypeList | - | Liste |
n | int | - | Index des Listenelements |
static char* publication::publicationtypelist::to_xml(PublicationTypeList list, char* rootElementName = "publicationtypes")
Generiere die XML Struktur einer Publikationstyp-Liste.
Wenn Sie über die Verwendung dieser Funktion nachdenken, sind Sie möglicherweise an näheren Informationen zur Interaktion von cscript mit auf dem PubServer als PlugIn bereitgestellten Java-Methoden interessiert. Mehr Informationen dazu finden Sie hier.
Name | Typ | Default | Beschreibung |
Return | char * | xml string oder 0 bei Fehlern. Der Ergebnisstring ist nur bis zum nächsten Aufruf einer to_xml-Funktion gültig und darf nicht verändert oder freigegeben werden. | |
list | PublicationTypeList | - | Liste |
rootElementName | String oder char* | publicationtypes | Name des Root-Elements |
static PublicationTypeList publication::publicationtypelist::from_xml(char* xml)
Generiere eine Publikationstyp-Liste aus einer XML Struktur.
Wenn Sie über die Verwendung dieser Funktion nachdenken, sind Sie möglicherweise an näheren Informationen zur Interaktion von cscript mit auf dem PubServer als PlugIn bereitgestellten Java-Methoden interessiert. Mehr Informationen dazu finden Sie hier.
Name | Typ | Default | Beschreibung |
Return | PublicationTypeList | Liste vom Typ PublicationTypeList. Dieses Liste muss mit publicationtypelist::release wieder freigegeben werden. | |
xml | String oder char* | - | xml string |
static int publication::publicationtypelist::add_all(
PublicationTypeList target,
PublicationTypeList src,
int deleteFromSource)
Füge alle Elemente der Liste src in die Liste target ein.
Bei deleteFromSource != 0 werden die Elemente aus der Quellliste entfernt (aber nicht freigegeben)
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode. | |
target | PublicationTypeList - | Zielliste | |
src | PublicationTypeList - | Quellliste | |
deleteFromSource | 0 | Elemente aus der Quelliste entfernen |
static PublicationType publication::publicationtype::alloc()
Erzeuge ein neues, leeres PublicationType Objekt.
Name | Typ | Default | Beschreibung |
Return | PublicationType | Objekt vom Typ PublicationType. Dieses Objekt muss mit publication::publicationtype::release wieder freigegeben werden. |
static int publication::publicationtype::release(PublicationType publicationType)
Gebe ein Publikationstyp-Objekt frei.
Name | Typ | Default | Beschreibung |
publicationType | Publication | -Type | freizugebendes Objekt |
static char* publication::publicationtype::gets(PublicationType publicationType, int selector)
Ermittle eine String Eigenschaft eines Publikationstyp-Objekts.
Name | Typ | Default | Beschreibung |
Return | char* (String) | Eigenschaft dieses Objekts des bezeichnenden Selektors | |
publicationType | Publication | - | Type Publikationstyp Objekt |
selector | int | - | Welche Eigenschaft? Mögliche Werte sind kStringID kID (Alias für kStringID) kName kLabel (Alias für kName) |
static char* publication::publicationtype::to_xml(PublicationType publicationtype, char* rootElementName = "publicationtype")
Generiere die XML Struktur eines PublicationType-Objekts.
Wenn Sie über die Verwendung dieser Funktion nachdenken, sind Sie möglicherweise an näheren Informationen zur Interaktion von cscript mit auf dem PubServer als PlugIn bereitgestellten Java-Methoden interessiert. Mehr Informationen dazu finden Sie hier.
Name | Typ | Default | Beschreibung |
Return | char * | xml string oder 0 bei Fehlern. Der Ergebnisstring ist nur bis zum nächsten Aufruf einer to_xml-Funktion gültig und darf nicht verändert oder freigegeben werden. | |
publicationtype | PublicationType | Publication | -Type Objekt |
rootElementName | String oder char* | publicationtype | Name des Root-Elements |
static PublicationType publication::publicationtype::from_xml(char* xml)
Generiere ein PublicationType-Objekt aus einer XML Struktur.
Wenn Sie über die Verwendung dieser Funktion nachdenken, sind Sie möglicherweise an näheren Informationen zur Interaktion von cscript mit auf dem PubServer als PlugIn bereitgestellten Java-Methoden interessiert. Mehr Informationen dazu finden Sie hier.
Name | Typ | Default | Beschreibung |
Return | PublicationType | Objekt vom Typ PublicationType. Dieses Objekt muss mit publicationtype::release wieder freigegeben werden. | |
xml | String oder char* | - | xml string |
static int publication::publicationtype::copy(PublicationType destination, PublicationType source)
Kopiere alle Werte von Objekt source nach Objekt destination
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
destination | PublicationType | - | Zielobjekt |
destination | PublicationType | - | Quellobjekt |
static WorkflowStatusList publication::workflowstatuslist::alloc()
Erzeuge ein neues, leeres WorkflowStatusList Objekt.
Name | Typ | Default | Beschreibung |
Return | WorkflowStatusList | Objekt vom Typ WorkflowStatusList. Dieses Objekt muss mit publication::workflowstatuslist::release wieder freigegeben werden. |
static int publication::workflowstatuslist::release(WorkflowStatusList list)
Gebe eine WorkflowStatus-Liste frei
Name | Typ | Default | Beschreibung |
list | WorkflowStatusList | - | freizugebende Liste |
static int publication::workflowstatuslist::length(WorkflowStatusList list)
Länge einer WorkflowStatus-Liste
Name | Typ | Default | Beschreibung |
Return | int | Länge der Liste | |
list | WorkflowStatus | - | Liste |
static WorkflowStatus publication::workflowstatuslist::get(WorkflowStatusList list, int index)
Hole den nten WorkflowStatus einer WorkflowStatus Liste. Der Index muß innerhalb { 0 .. Länge der Liste - 1 } liegen.
Name | Typ | Default | Beschreibung |
Return | WorkflowStatus | Objekt vom Typ WorkflowStatus | |
list | WorkflowStatusList | - | Liste |
n | int | - | Index des Listenelements |
static char* publication::workflowstatuslist::to_xml(WorkflowStatusList list, char* rootElementName = "workflowstates")
Generiere die XML Struktur einer WorkflowStatus-Liste.
Wenn Sie über die Verwendung dieser Funktion nachdenken, sind Sie möglicherweise an näheren Informationen zur Interaktion von cscript mit auf dem PubServer als PlugIn bereitgestellten Java-Methoden interessiert. Mehr Informationen dazu finden Sie hier.
Name | Typ | Default | Beschreibung |
Return | char * | xml string oder 0 bei Fehlern. Der Ergebnisstring ist nur bis zum nächsten Aufruf einer to_xml-Funktion gültig und darf nicht verändert oder freigegeben werden. | |
list | WorkflowStatusList | - | Liste |
rootElementName | String oder char* | workflowstates | Name des Root-Elements |
static WorkflowStatusList publication::workflowstatuslist::from_xml(char* xml)
Generiere eine WorkflowStatus-Liste aus einer XML Struktur.
Wenn Sie über die Verwendung dieser Funktion nachdenken, sind Sie möglicherweise an näheren Informationen zur Interaktion von cscript mit auf dem PubServer als PlugIn bereitgestellten Java-Methoden interessiert. Mehr Informationen dazu finden Sie hier.
Name | Typ | Default | Beschreibung |
Return | WorkflowStatusList | Liste vom Typ WorkflowStatusList. Dieses Liste muss mit workflowstatuslist::release wieder freigegeben werden. | |
xml | String oder char* | - | xml string |
static int publication::workflowstatuslist::add_all(
WorkflowStatusList target,
WorkflowStatusList src,
int deleteFromSource)
Füge alle Elemente der Liste src in die Liste target ein.
Bei deleteFromSource != 0 werden die Elemente aus der Quellliste entfernt (aber nicht freigegeben)
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode. | |
target | WorkflowStatusList - | Zielliste | |
src | WorkflowStatusList - | Quellliste | |
deleteFromSource | 0 | Elemente aus der Quelliste entfernen |
static WorkflowStatus publication::workflowstatus::alloc()
Erzeuge ein neues, leeres WorkflowStatus Objekt.
Name | Typ | Default | Beschreibung |
Return | WorkflowStatus | Objekt vom Typ WorkflowStatus. Dieses Objekt muss mit publication::workflowstatus::release wieder freigegeben werden. |
static int publication::workflowstatus::release(WorkflowStatus status)
Gebe ein WorkflowStatus-Objekt frei.
Name | Typ | Default | Beschreibung |
status | - | WorkflowStatus | freizugebendes Objekt |
static char* publication::workflowstatus::gets(WorkflowStatus status, int selector)
Ermittle eine String Eigenschaft eines WorkflowStatus-Objekts.
Name | Typ | Default | Beschreibung |
Return | char * | (String) Eigenschaft dieses Objekts des bezeichnenden Selektors | |
workflowstatus | - | WorkflowStatus | WorkflowStatus Objekt |
selector | int | - | Welche Eigenschaft? Mögliche Werte sind kStringID kID (Alias für kStringID) kName kLabel (Alias für kName) kType kActionId kActionId ist nur bei Dokument-spezfischen WorkflowStatus verfügbar |
static char* publication::workflowstatus::to_xml(WorkflowStatus workflowstatus, char* rootElementName = "workflowstatus")
Generiere die XML Struktur eines WorkflowStatus-Objekts.
Wenn Sie über die Verwendung dieser Funktion nachdenken, sind Sie möglicherweise an näheren Informationen zur Interaktion von cscript mit auf dem PubServer als PlugIn bereitgestellten Java-Methoden interessiert. Mehr Informationen dazu finden Sie hier.
Name | Typ | Default | Beschreibung |
Return | char * | xml string oder 0 bei Fehlern. Der Ergebnisstring ist nur bis zum nächsten Aufruf einer to_xml-Funktion gültig und darf nicht verändert oder freigegeben werden. | |
workflowstatus | WorkflowStatus | - | WorkflowStatus Objekt |
rootElementName | String oder char* | workflowstatus | Name des Root-Elements |
static WorkflowStatus publication::workflowstatus::from_xml(char* xml)
Generiere ein WorkflowStatus-Objekt aus einer XML Struktur.
Wenn Sie über die Verwendung dieser Funktion nachdenken, sind Sie möglicherweise an näheren Informationen zur Interaktion von cscript mit auf dem PubServer als PlugIn bereitgestellten Java-Methoden interessiert. Mehr Informationen dazu finden Sie hier.
Name | Typ | Default | Beschreibung |
Return | WorkflowStatus | Objekt vom Typ WorkflowStatus. Dieses Objekt muss mit workflowstatus::release wieder freigegeben werden. | |
xml | String oder char* | - | xml string |
static int publication::workflowstatus::copy(WorkflowStatus destination, WorkflowStatus source)
Kopiere alle Werte von Objekt source nach Objekt destination
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
destination | WorkflowStatus | - | Zielobjekt |
destination | WorkflowStatus | - | Quellobjekt |
static int publication::planninglist::release(PlanningList list)
Gebe eine Planning-Liste frei
Name | Typ | Default | Beschreibung |
list | PlanningList | - | freizugebende Liste |
static int publication::planninglist::length(PlanningList list)
Länge einer Planning Liste
Name | Typ | Default | Beschreibung |
Return | int | Länge der Liste | |
list | PlanningList | - | Liste |
static Planning publication::planninglist::get(PlanningList list, int index)
Hole den nten Planning einer Planning-Liste. Der Index muß innerhalb { 0 .. Länge der Liste - 1 } liegen.
Name | Typ | Default | Beschreibung |
Return | Planning | Objekt vom Typ Planning | |
list | PlanningList | - | Liste |
n | int | - | Index des Listenelements |
static char* publication::planninglist::to_xml(PlanningList list, char* rootElementName = "plannings")
Generiere die XML Struktur einer Planning-Liste.
Wenn Sie über die Verwendung dieser Funktion nachdenken, sind Sie möglicherweise an näheren Informationen zur Interaktion von cscript mit auf dem PubServer als PlugIn bereitgestellten Java-Methoden interessiert. Mehr Informationen dazu finden Sie hier.
Name | Typ | Default | Beschreibung |
Return | char * | xml string oder 0 bei Fehlern. Der Ergebnisstring ist nur bis zum nächsten Aufruf einer to_xml-Funktion gültig und darf nicht verändert oder freigegeben werden. | |
list | PlanningList | - | Liste |
rootElementName | String oder char* | plannings | Name des Root-Elements |
static PlanningList publication::planninglist::from_xml(char* xml)
Generiere eine Planning-Liste aus einer XML Struktur.
Wenn Sie über die Verwendung dieser Funktion nachdenken, sind Sie möglicherweise an näheren Informationen zur Interaktion von cscript mit auf dem PubServer als PlugIn bereitgestellten Java-Methoden interessiert. Mehr Informationen dazu finden Sie hier.
Name | Typ | Default | Beschreibung |
Return | PlanningList | Liste vom Typ PlanningList. Dieses Liste muss mit planninglist::release wieder freigegeben werden. | |
xml | String oder char* | - | xml string |
static PlanningList publication::planninglist::alloc()
Erzeuge ein neues, leeres PlanningList Objekt.
Name | Typ | Default | Beschreibung |
Return | PlanningList | Objekt vom Typ PlanningList. Dieses Objekt muss mit publication::planninglist::release wieder freigegeben werden. |
static int publication::planninglist::add_all(
PlanningList target,
PlanningList src,
int deleteFromSource)
Füge alle Elemente der Liste src in die Liste target ein.
Bei deleteFromSource != 0 werden die Elemente aus der Quellliste entfernt (aber nicht freigegeben)
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode. | |
target | PlanningList - | Zielliste | |
src | PlanningList - | Quellliste | |
deleteFromSource | 0 | Elemente aus der Quelliste entfernen |
static int publication::planning::release(Planning planning)
Gebe ein Planning-Objekt frei.
Name | Typ | Default | Beschreibung |
planning | - | Planning | freizugebendes Objekt |
static int publication::planning::get(Planning planning, int selector)
Ermittle eine Integer Eigenschaft eines Planning-Objekts.
Name | Typ | Default | Beschreibung |
Return | int | (numerische) Eigenschaft dieses Objekts des bezeichnenden Selektors | |
planning | Planning | - | Planning Objekt |
selector | int | - | Welche Eigenschaft? Mögliche Werte sind kDeleted kID kImportId kPageTemplateElementId kPageTemplateId kPrintTemplateId kSequence kUsePrintPageTemplate |
static char* publication::planning::gets(Planning planning, int selector)
Ermittle eine String Eigenschaft eines Planning-Objekts.
Name | Typ | Default | Beschreibung |
Return | char * | (String) Eigenschaft dieses Objekts des bezeichnenden Selektors | |
planning | Planning | - | Planning Objekt |
selector | int | - | Welche Eigenschaft? Mögliche Werte sind kBucketId kContextAssortment kContextCountry kContextLanguage kContextWell kContextMarket kContextTargetGroup kContextPublication kContextDocumentId kCreatedBy kCreatedOn kDpTemplateId kEntityBucketId kEntityModelId kEntityPlanningId kIdentifier kLabel kOrigin kPageId kParentPlanningId kTimestamp kUpdatedBy kUpdatedOn kVersion |
static float publication::planning::getfloat(Planning planning, int selector)
Ermittle eine Float Eigenschaft eines Planning-Objekts.
Name | Typ | Default | Beschreibung |
Return | float | (float) Eigenschaft dieses Objekts des bezeichnenden Selektors | |
planning | - | Planning | Planning Objekt |
selector | int | - | Welche Eigenschaft? Mögliche Werte sind kXPosBottomRight kXPosTopLeft kYPosBottomRight kYPosTopLeft |
static StringList publication::planning::getlist(Planning planning, int selector)
Ermittle eine Listen Eigenschaft eines Planning-Objekts.
Name | Typ | Default | Beschreibung |
Return | StringList | (String-Liste) Eigenschaft dieses Objekts des bezeichnenden Selektors | |
planning | - | Planning | Planning Objekt |
selector | int | - | Welche Eigenschaft? Mögliche Werte sind kPriceRefs kTableDataRefs kTextRefs kBucketRefs kCordRefs kKeyValueRefs kChildren kMediaAssetRefs kMetaData |
static char* publication::planning::to_xml(Planning planning, char* rootElementName = "planning")
Generiere die XML Struktur eines Planning-Objekts.
Wenn Sie über die Verwendung dieser Funktion nachdenken, sind Sie möglicherweise an näheren Informationen zur Interaktion von cscript mit auf dem PubServer als PlugIn bereitgestellten Java-Methoden interessiert. Mehr Informationen dazu finden Sie hier.
Name | Typ | Default | Beschreibung |
Return | char * | xml string oder 0 bei Fehlern. Der Ergebnisstring ist nur bis zum nächsten Aufruf einer to_xml-Funktion gültig und darf nicht verändert oder freigegeben werden. | |
planning | Planning | - | Planning Objekt |
rootElementName | String oder char* | planning | Name des Root-Elements |
static Planning publication::planning::from_xml(char* xml)
Generiere ein Planning-Objekt aus einer XML Struktur.
Wenn Sie über die Verwendung dieser Funktion nachdenken, sind Sie möglicherweise an näheren Informationen zur Interaktion von cscript mit auf dem PubServer als PlugIn bereitgestellten Java-Methoden interessiert. Mehr Informationen dazu finden Sie hier.
Name | Typ | Default | Beschreibung |
Return | Planning | Objekt vom Typ Planning. Dieses Objekt muss mit planning::release wieder freigegeben werden. | |
xml | String oder char* | - | xml string |
static Planning publication::planning::alloc()
Erzeuge ein neues, leeres Planning Objekt.
Name | Typ | Default | Beschreibung |
Return | Planning | Objekt vom Typ Planning. Dieses Objekt muss mit publication::planning::release wieder freigegeben werden. |
static int publication::planning::copy(Planning destination, Planning source)
Kopiere alle Werte von Objekt source nach Objekt destination
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
destination | Planning | - | Zielobjekt |
destination | Planning | - | Quellobjekt |
Publikations- und Root-Publikations ID eines Dokuments oder einer Publikation ermitteln
// Root/Publication-ID
/** * Demonstrates how to get the publication ID and * root publication ID for a document. * * See also DocumentProperties example * * This script DOES require an opened publication document. */ int main() { char * buffer = alloc (4096);
// use the // publication::get_publication_id // function to get the publication ID for a document: strcpy (buffer, publication::get_publication_id()); wlog ("", "Publication ID='%s'\n", buffer);
// // variants: // 1. use the current front document: // publication::get_publication_id () // 2. specify the document ID: // publication::get_publication_id (char * documentId) // // Example: // char * documentId = alloc (4096); // char * publicationId = alloc (4096); // xml::get_document_attribute (gDocument, "documentId", documentId); // strcpy (publicationId, publication::get_publication_id (documentId)); //
// use the // publication::get_rootpublication_id // function to get the publication ID for a document: strcpy (buffer, publication::get_rootpublication_id()); wlog ("", "Root Publication ID='%s'\n", buffer);
// // variants: // 1. use the current front document: // publication::get_rootpublication_id () // 2. specify the document ID: // publication::get_rootpublication_id (char * documentId) // // Example: // char * documentId = alloc (4096); // xml::get_document_attribute (gDocument, "documentId", documentId); // strcpy (publicationId, publication::get_rootpublication_id (documentId)); //
release (buffer);
return 0; }
Eigenschaften einer Publikation oder eines Dokuments lesen und schreiben
// Publikationseigenschaften
/** * Demonstrates how to * - retrieve document properties from PubServer for a * specific document * - change / write particular properties to the server * * See also the DocumentInformation example * * This script DOES require an opened publication document. * * CAUTION! * This script changes description and label of the current * document! */ int main() { char * buffer = alloc (4096);
// for demo purpose, we copy the documentId into a // variable. // The documentId parameter can also be 0, in this // case the ID of the current front document is used. char * documentId = alloc (4096);
strcpy (documentId, publication::get_parameter_from_document (gDocument, "documentId")); // use the // publication::get_property // function to retrieve document properties // strcpy (buffer, publication::get_property (documentId, "description")); wlog ("", "Document description='%s'\n", buffer);
strcpy (buffer, publication::get_property (documentId, "label2")); wlog ("", "Document label2='%s'\n", buffer);
// for label2 there is also a shortcut, the following should // give the same result: strcpy (buffer, publication::get_label (documentId)); wlog ("", "Document label2 (again)='%s'\n", buffer);
// NOTE: // At the time cscript / InDesign® plugins support arbitrary // property names, but only some are supported in PubServer. // // Property names known to work are: // description, masterdocument, sort, label, label2 ... // // If more properties are required, this must be implemented // in the PubServer (CometDataBean).
// to set properties, use the // publication::set_property // or // publication::set_label // functions: publication::set_property (documentId, "description", "Description (changed from cscript)"); publication::set_label (documentId, "Label (changed from cscript)");
release (buffer); release (documentId); return 0; }
Informationen zu allen konfigurierten Parametern ermitteln
// Parameter
#include "internal/publications.h"
/** * Get all available publication parameters. */ int main () { // use the // publication::get_all_parameters // function to get ALL available parameters including // meta information (such as type, identifier, label etc.) // // The function returns a newly allocated ParameterList object, // which should (or actually must) be released later. // ParameterList parameters = publication::get_all_parameters (); Parameter parameter = 0; ParameterList dropdownValues = 0; Parameter dropdownEntry = 0; int c = 0; char * paramIdentifier = alloc (4096); char * paramLabel = alloc (4096); char * paramValue1 = alloc (4096); char * paramValue2 = alloc (4096); char * paramValue3 = alloc (4096); int paramType = 0; int paramId = 0;
// use the // publication::parameterlist::length // and // publication::parameterlist::get // functions to iterate through list for (c = 0; c < publication::parameterlist::length (parameters); ++c) { parameter = publication::parameterlist::get (parameters, c);
// use the // publication::parameter::gets (for string values) // and // publication::parameter::get (for integer values) // functions to access parameter properties. // // Valid property selectors are: // kID (Integer) : the parameter ID // kType (Integer) : the parameter type, one of // kTypeText // kTypeCombo or // kTypeCheckbox // kIdentifier (String): identifier of the parameter // kLabel (String) : human readable parameter name // kValue1 (String) : first value // kValue2 (String) : second value // kValue3 (String) : third value // //
strcpy (paramIdentifier, publication::parameter::gets (parameter, kIdentifier)); strcpy (paramLabel, publication::parameter::gets (parameter, kLabel)); strcpy (paramValue1, publication::parameter::gets (parameter, kValue1)); strcpy (paramValue2, publication::parameter::gets (parameter, kValue2)); strcpy (paramValue3, publication::parameter::gets (parameter, kValue3));
paramType = publication::parameter::get (parameter, kType); paramId = publication::parameter::get (parameter, kID);
wlog ("", "Parameter: %s [%s | %d], type=%d, values='%s'|'%s'|'%s'\n", paramLabel, paramIdentifier, paramId, paramType, paramValue1, paramValue2, paramValue3); // CAUTION! Do NOT try the following: // wlog ("", "Parameter: %s=%s\n", // publication::parameter::gets (workflowStatus, kLabel), // publication::parameter::gets (workflowStatus, kValue1) ); // // The result pointer of the gets function refers to a static string and each
// usage of this function will dispose pointers from previous results. // In some situation this might even work (if the memory isn't reallocated in // the meantime), but it can also cause access violations and crashes.
// read dropdown values for combo parameter type if (paramType == kTypeCombo) { // use the // publication::get_parameter_values // function to get a list (again a ParameterList) of available DropDown // values for a specific parameter. // // Note: // - this function only works for COMBO (kTypeCombo) parameters // - you must provide the parameter ID (NOT the identifier) // dropdownValues = publication::get_parameter_values (paramId); // ... etc. wlog ("", "DropDown has %d entries\n", publication::parameterlist::length (dropdownValues));
// don't forget to release publication::parameterlist::release (dropdownValues); } }
publication::parameterlist::release (parameters);
release (paramIdentifier); release (paramLabel); release (paramValue1); release (paramValue2); release (paramValue3);
return 0; }
Parameter einer Publikation oder eines Dokuments ermitteln
// Parameter einer Publikation
/** * Demonstrates how to * - retrieve publication parameters from PubServer * for a specific document * - transfer publication parameters into the XML structure * of the document * * See also the Parameters and SetParameters examples * * This script DOES require an opened publication document. */ int main() { // use the // publication::get_parameters // function to retrieve parameters (key value pairs) for // the current front document: StringList documentParameters = publication::get_parameters(); char * key = alloc (4096); char * value = alloc (4096); int i = 0, c = 1; int resultCode = 0;
// // variants: // 1. use the current front document: // publication::get_parameters () // 2. specify the document ID: // publication::get_parameters (char * documentId) // // Example: // char * documentId = alloc (4096); // xml::get_document_attribute (gDocument, "documentId", documentId); // documentParameters = publication::get_parameters (documentId); //
// iterate through stringlist for (i = 0; i < stringlist::length (documentParameters) - 1; i += 2) { strcpy (key, stringlist::get (documentParameters, i)); strcpy (value, stringlist::get (documentParameters, i + 1));
wlog ("", "Parameter %d: %s='%s'\n", i, key, value);
// NOTE: // Multi value parameters are listed in this format: // key => value1:value2:value3 // key_1 => value1 // key_2 => value2 // key_3 => value3 // // Checkbox (boolean) values will be either "true" or "false" // // The value of ComboBox parameters is the identifier of the // selected list entry }
// use the // publication::apply_parameters // function to transfer all parameters into the document // XML structure: resultCode = publication::apply_parameters (gDocument);
wlog ("", "publication::apply_parameters returned code %d\n", resultCode);
// You can use publication::get_parameter_from_document to read a // parameter value from the document XML structure. // Actually, this is just a shorthand for // xml::get_document_attribute (ItemRef doc, char * parameterIdentifier, char * out) // The result pointer is valid until the next call of the function. // wlog ("", "Parameter (in this case: documentId) read from document: %s\n", publication::get_parameter_from_document (gDocument, "documentId"));
release (key); release (value); stringlist::release (documentParameters); return 0; }
Zurückschreiben von Parametern einer Publikation oder eines Dokuments
// Parameter schreiben
/** * Demonstrates how to set (i.e.: write to PubServer) * parameters. * * See also the DocumentParameters and Parameters examples * * This script DOES require an opened publication document. * * NOTE: * This only works, if you configured the following parameters * for the test document (identifier: type): * * - text: text parameter with 3 values * - combo: ComboBox parameter with a list entry named 'test' * - check: Checkbox parameter */ int main() { char * parameterIdentifier = alloc (4096); int resultCode = 0; // we copy the documentId into a variable. We could also use '0' for // the following examples, in this case the documentId is read from // the current front document. char * documentId = alloc (4096);
strcpy (documentId, publication::get_parameter_from_document (0, "documentId"));
// use the // publication::set_parameter // function to write a parameter value back to PubServer
// 1. Text parameter. // You can specify 1 .. 3 parameter values strcpy (parameterIdentifier, "text"); resultCode = publication::set_parameter (documentId, parameterIdentifier, "first value", "second value", "third value"); wlog ("", "Set %s parameter returned result code %d\n", parameterIdentifier, resultCode);
// 2. ComboBox strcpy (parameterIdentifier, "combo"); resultCode = publication::set_parameter (documentId, parameterIdentifier, "test"); wlog ("", "Set %s parameter returned result code %d\n", parameterIdentifier, resultCode);
// 3. Checkbox // Use "false", "0" or "null" to set the value to false (unchecked), // all other values will be interpreted as true. strcpy (parameterIdentifier, "check"); resultCode = publication::set_parameter (documentId, parameterIdentifier, "true"); wlog ("", "Set %s parameter returned result code %d\n", parameterIdentifier, resultCode);
return 0; }
Publikationstypen auflisten
// Publikationstypen
#include "internal/publications.h" /** * Rather unspectacularly: get all publication types from server * * This script does NOT require a opened publication * document. */ int main() { // use the // // publication::get_publication_types // // function to get a list of all configured publication types // PublicationTypeList publicationTypeList = publication::get_publication_types(); PublicationType publicationType = 0; int c = 0; char * id = alloc (4096); char * label = alloc (4096);
// use the // publication::publicationtypelist::length // and // publication::publicationtypelist::get // functions to iterate through list for (c = 0; c < publication::publicationtypelist::length (publicationTypeList); ++c) { publicationType = publication::publicationtypelist::get (publicationTypeList, c);
// use the // publication::publicationtype::gets (for string values) // function to access publication type properties. // // Valid property selectors are // // kID (String) : the workflow status ID // kLabel (String) : human readable workflow status name strcpy (id, publication::publicationtype::gets (publicationType, kID)); strcpy (label, publication::publicationtype::gets (publicationType, kLabel));
wlog ("", "PublicationType: %s [ %s ]\n", label, id);
// CAUTION! Do NOT try the following: // wlog ("", "PublicationType: %s [ %s ]\n", // publication::publicationtype::gets (publicationType, kLabel), // publication::publicationtype::gets (publicationType, kID) ); // // The result pointer of the gets function refers to a static string and each // usage of this function will dispose pointers from previous results. // In some situation this might even work (if the memory isn't reallocated in // the meantime), but it can also cause access violations and crashes. }
release (id); release (label);
publication::publicationtypelist::release (publicationTypeList);
return 0; }
Alle Dokument-Workflow Status laden
// Workflow Status
#include "internal/publications.h"
/** * Demonstrates how to retrieve all available document workflow * states from the PubServer and how to get properties of * particular workflow states. * * See also the DocumentWorkflow example script. * * This script does NOT require a opened publication * document. */ int main() { // use the // // publication::get_workflow_states // // function to get a list of all available workflow states // WorkflowStatusList workflowStatusList = publication::get_workflow_states (); WorkflowStatus workflowStatus = 0; int c = 0; char * id = alloc (4096); char * label = alloc (4096); char * type = alloc (4096); char * actionId = alloc (4096);
// use the // publication::workflowstatuslist::length // and // publication::workflowstatuslist::get // functions to iterate through list for (c = 0; c < publication::workflowstatuslist::length (workflowStatusList); ++c) { workflowStatus = publication::workflowstatuslist::get (workflowStatusList, c);
// use the // publication::workflowstatus::gets (for string values) // function to access workflow status properties. // // Valid property selectors are // // kID (String) : the workflow status ID // kType (String) : the workflow status type // kLabel (String) : human readable workflow status name // kActionId (String) : ID of the action associated to this status / object. // actionId is always empty for "global" workflow states, // and only set, when the workflow status has been // requested for a specific document in a specific // workflow state (i.e.: using either the // publication::get_document_workflow_status // or // publication::get_next_workflow_steps // function. // See also the DocumentWorkflow example). strcpy (id, publication::workflowstatus::gets (workflowStatus, kID)); strcpy (label, publication::workflowstatus::gets (workflowStatus, kLabel)); strcpy (type, publication::workflowstatus::gets (workflowStatus, kType)); strcpy (actionId, publication::workflowstatus::gets (workflowStatus, kActionId));
wlog ("", "WorkflowStatus: %s [ %s ], type=%s, actionId=%s\n", label, id, type, actionId);
// CAUTION! Do NOT try the following: // wlog ("", "WorkflowStatus: %s [ %s ]\n", // publication::workflowstatus::gets (workflowStatus, kLabel), // publication::workflowstatus::gets (workflowStatus, kID) ); // // The result pointer of the gets function refers to a static string and each // usage of this function will dispose pointers from previous results. // In some situation this might even work (if the memory isn't reallocated in // the meantime), but it can also cause access violations and crashes. }
release (id); release (label); release (type); release (actionId);
publication::workflowstatuslist::release (workflowStatusList);
return 0; }
Workflow Status eines bestimmten Dokuments auflisten
// Dokument Workflow Status
#include "internal/publications.h"
/** * Demonstrates how to retrieve all available workflow states * from the PubServer for a specific (e.g. the current front) * document. * * See also the Workflow and DocumentNextSteps example script. * * This script DOES require a opened publication document. * * NOTE 1: at the time you get the list in alphabetical order. * This is subject to change without notice. * NOTE 2: if no workflow process is assigned to this document, * the result list is just empty (not null) * */ int main() { // use the // // publication::get_document_workflow_states // // function to get a list of workflow states available for the // current document. // WorkflowStatusList workflowStatusList = publication::get_document_workflow_states (); // // variants: // 1. use the current front document: // publication::get_document_workflow_states () // 2. specify the document ID: // publication::get_document_workflow_states (char * documentId) // // Example: // char * documentId = alloc (4096); // xml::get_document_attribute (gDocument, "documentId", documentId); // workflowStatusList = publication::get_document_workflow_states (documentId); WorkflowStatus workflowStatus = 0; int c = 0; char * id = alloc (4096); char * label = alloc (4096); char * type = alloc (4096); char * actionId = alloc (4096);
// use the // publication::workflowstatuslist::length // and // publication::workflowstatuslist::get // functions to iterate through list for (c = 0; c < publication::workflowstatuslist::length (workflowStatusList); ++c) { workflowStatus = publication::workflowstatuslist::get (workflowStatusList, c);
// use the // publication::workflowstatus::gets (for string values) // function to access workflow status properties. // // Valid property selectors are // // kID (String) : the workflow status ID // kType (String) : the workflow status type // kLabel (String) : human readable workflow status name // kActionId (String) : ID of the action associated to this status / object. // actionId is always empty for "global" workflow states, // and only set, when the workflow status has been // requested for a specific document in a specific // workflow state (i.e.: using either the // publication::get_document_workflow_status // or // publication::get_next_workflow_steps // function. // See also the DocumentWorkflow example). strcpy (id, publication::workflowstatus::gets (workflowStatus, kID)); strcpy (label, publication::workflowstatus::gets (workflowStatus, kLabel)); strcpy (type, publication::workflowstatus::gets (workflowStatus, kType)); strcpy (actionId, publication::workflowstatus::gets (workflowStatus, kActionId));
wlog ("", "WorkflowStatus: %s [ %s ], type=%s, actionId=%s\n", label, id, type, actionId);
// CAUTION! Do NOT try the following: // wlog ("", "WorkflowStatus: %s [ %s ]\n", // publication::workflowstatus::gets (workflowStatus, kLabel), // publication::workflowstatus::gets (workflowStatus, kID) ); // // The result pointer of the gets function refers to a static string and each // usage of this function will dispose pointers from previous results. // In some situation this might even work (if the memory isn't reallocated in // the meantime), but it can also cause access violations and crashes. }
release (id); release (label); release (type); release (actionId);
publication::workflowstatuslist::release (workflowStatusList);
return 0; }
Workflow Status setzen
// Workflow Status setzen
#include "internal/publications.h"
/** * Demonstrates how to * - retrieve the NEXT available workflow states from the * PubServer for a specific (e.g. the current front) document. * - set a workflow state (i.e. set the actionId) for a document * * See also the Workflow and DocumentWorkflow example script. * * This script DOES require a opened publication document. * */ int main() { // use the // // publication::get_document_workflow_states // // function to get a list of next workflow states available // for the current document. // WorkflowStatusList workflowStatusList = publication::get_next_workflow_states (); // // variants: // 1. use the current front document: // publication::get_next_workflow_states () // 2. specify the document ID: // publication::get_next_workflow_states (char * documentId) // // Example: // char * documentId = alloc (4096); // xml::get_document_attribute (gDocument, "documentId", documentId); // workflowStatusList = publication::get_next_workflow_states (documentId);
WorkflowStatus workflowStatus = 0; int c = 0; char * id = alloc (4096); char * label = alloc (4096); char * type = alloc (4096); char * actionId = alloc (4096); char * nextActionId = alloc (4096); int resultCode = 0;
// use the // publication::workflowstatuslist::length // and // publication::workflowstatuslist::get // functions to iterate through list for (c = 0; c < publication::workflowstatuslist::length (workflowStatusList); ++c) { workflowStatus = publication::workflowstatuslist::get (workflowStatusList, c);
// use the // publication::workflowstatus::gets (for string values) // function to access workflow status properties. // // Valid property selectors are // // kID (String) : the workflow status ID // kType (String) : the workflow status type // kLabel (String) : human readable workflow status name // kActionId (String) : ID of the action associated to this status / object. // actionId is always empty for "global" workflow states, // and only set, when the workflow status has been // requested for a specific document in a specific // workflow state (i.e.: using either the // publication::get_document_workflow_status // or // publication::get_next_workflow_steps // function. // See also the DocumentWorkflow example). strcpy (id, publication::workflowstatus::gets (workflowStatus, kID)); strcpy (label, publication::workflowstatus::gets (workflowStatus, kLabel)); strcpy (type, publication::workflowstatus::gets (workflowStatus, kType)); strcpy (actionId, publication::workflowstatus::gets (workflowStatus, kActionId));
wlog ("", "WorkflowStatus: %s [ %s ], type=%s, actionId=%s\n", label, id, type, actionId);
// if nextActionId has not yet been set, copy actionId to nextActionId if (strlen (nextActionId) == 0) { strcpy (nextActionId, actionId); }
// CAUTION! Do NOT try the following: // wlog ("", "WorkflowStatus: %s [ %s ]\n", // publication::workflowstatus::gets (workflowStatus, kLabel), // publication::workflowstatus::gets (workflowStatus, kID) ); // // The result pointer of the gets function refers to a static string and each // usage of this function will dispose pointers from previous results. // In some situation this might even work (if the memory isn't reallocated in // the meantime), but it can also cause access violations and crashes. }
// if nextActionId is not empty: set workflow state to this action if (strlen (nextActionId) > 0) { // - first parameter is documentId (or 0 to use the documentId of the // current front document) // - second parameter is action ID (NOT workflowstatus ID) // - third parameter is a "url" - whatever this is good for resultCode = publication::set_document_workflow_status (0, nextActionId, ""); wlog ("", "publication::set_document_workflow_status returned code %d\n", resultCode); }
release (id); release (label); release (type); release (actionId); release (nextActionId);
publication::workflowstatuslist::release (workflowStatusList); return resultCode; }
Detaillierte Suche nach Dokumenten
// Dokument Suche
#include "internal/publications.h" int debugPublicationList (PublicationList publications) { Publication publication = 0; int c = 0;
for (; c < publication::publicationlist::length(publications); ++c) { publication = publication::publicationlist::get (publications, c);
wlog ("", "Document #%d [%d]\n", (c + 1), publication); wlog ("", "\tID=%s\n", publication::gets (publication, kStringID)); wlog ("", "\tLabel=%s\n", publication::gets (publication, kName)); wlog ("", "\tPath=%s\n", publication::gets (publication, kPath)); }
return 0; }
int main() { PublicationList searchResult = 0; Publication publication = 0; int c = 0;
// // the search function takes 20 parameters, // all can be 0, empty strings or omitted. // char * rootPublicationId = ""; char * subPublicationId = ""; char * docName = ""; char * workflowStatusId1 = ""; char * workflowStatusId2 = ""; char * workflowStatusId3 = ""; char * param1 = ""; char * value11 = ""; char * value12 = ""; char * value13 = ""; char * param2 = ""; char * value21 = ""; char * value22 = ""; char * value23 = ""; char * param3 = ""; char * value31 = ""; char * value32 = ""; char * value33 = ""; int restrictiveCheckbox = 1; int recursive = 1;
// // this will just get ALL documents: searchResult = publication::search(); wlog ("", "Found %d documents\n", publication::publicationlist::length (searchResult)); debugPublicationList (searchResult); publication::publicationlist::release (searchResult);
// // find all publications with a particular name (in this case // documents like 0010, 0100, 0110, ...) // searchResult = publication::search (0, 0, "10"); wlog ("", "Found %d documents\n", publication::publicationlist::length (searchResult)); debugPublicationList (searchResult); publication::publicationlist::release (searchResult);
return 0; }
Ausgabe des Publikationsbaums
// Publikationsstruktur
#include "internal/publications.h" int debugPublicationList (PublicationList publications) { Publication publication = 0; int c = 0;
for (; c < publication::publicationlist::length(publications); ++c) { publication = publication::publicationlist::get (publications, c);
wlog ("", "Document #%d [%d]\n", (c + 1), publication); wlog ("", "\tID=%s\n", publication::gets (publication, kStringID)); wlog ("", "\tLabel=%s\n", publication::gets (publication, kName)); wlog ("", "\tPath=%s\n", publication::gets (publication, kPath)); }
return 0; } int getSubPublications (char * publicationId) { PublicationList tree = 0; Publication publication = 0; int c = 0; char * subPublicationId = alloc (4096);
wlog ("", "\n\n=> Children of publication '%s'\n\n", publicationId);
// use the // publication::get_tree // function to load the publications. // No parameter, 0 or empty string means: get root publication. // tree = publication::get_tree(publicationId);
debugPublicationList (tree);
for (c = 0; c < publication::publicationlist::length (tree); ++c) { publication = publication::publicationlist::get (tree, c);
strcpy (subPublicationId, publication::gets (publication, kStringID));
if (publication::get (publication, kHasChildren) == 1) { getSubPublications (subPublicationId); } }
release (subPublicationId); publication::publicationlist::release (tree);
return 0; }
int main() { return getSubPublications (""); }
PDF-Export aller Dokumente aller ausgewählten Publikationen. Die Dokuemnte sollen in ein gemeinsames PDF und in der gleichen Reihenfolge wie in der Palette exportiert werden. Das Skript checkt dazu alle nötigen Dokumente der Reihe nach aus und fügt sie ein temporäres InDesign®-Buch ein. Danach wird das PDF aus diesem Buch exportiert und die Dokumente werden wieder freigegeben.
#include "internal/panels.h" #include "internal/products.h"
char stBookPath [] = "$DESKTOP/";
// recursively collect publications of type document int add_publica ( IDTypeList ids, StringList names, IDType id, char * path, char * name) { PublicationList children = 0; Publication p; int i; IDType cid;
if (string::length (path) > 2) { // Only documents having a path
idtypelist::append (ids, id); //register the object stringlist::append (names, name); //register the name
wlog ("", "# pub %d : '%s' with id [%d %d %d '%s']\n", idtypelist::length (ids), name, idtype::id (id), idtype::id2 (id), idtype::id3 (id), idtype::stringid (id)); } else { // Recursively dive into the publication children = publication::get_tree (idtype::stringid (id)); for (i = 0; i < publication::publicationlist::length (children); i++) { p = publication::publicationlist::get (children, i); cid = idtype::alloc ( publication::get (p, kID), publication::get (p, kID2), publication::get (p, kID3), publication::gets (p, kStringID)); add_publica ( ids, names, cid, publication::gets (p, kPath), publication::gets (p, kName)); idtype::release (cid); } publication::publicationlist::release (children); }
return 0; }
int main () { IDTypeList pub_sel = idtypelist::alloc (kPanelPublications, kSelected); // Currently selected entries of publications panel List pub_li = list::alloc (kPanelPublications, kSelected); // Need this for name and path of the currently selected entries only IDTypeList pub_ids = idtypelist::alloc (); // All documents of the selected publications (recursive dive into *pub_sel*) int i = 0; IDType id; String name = string::alloc (); // Name of selected publiction(s) String path = string::alloc (); // Path of selected publiction(s) StringList names = stringlist::alloc (); // List of names - needed for messages only String msg = string::alloc (); // Progress bar messages String bookPath = string::alloc (stBookPath); // Path of temporay InDesign® book String pdfPath = string::alloc (stBookPath); ItemRef bookRef = item::alloc ();
wlog ("", "\n# Export selected publications to PDF\n");
// Collect IDs for (id = idtypelist::first (pub_sel); id; id = idtypelist::next (pub_sel)) { // get name and path of the selected entries directly fro the panel list::gettext (pub_li, i, "Path", path); list::gettext (pub_li, i, "State", name); // ATTENTION : Name is shown in field state1! string::trim (path, '\''); string::trim (name, '\''); i++;
// Use the first name as to be the output name if (i == 1) { string::append (bookPath, name); string::append (bookPath, ".indb"); string::append (pdfPath, name); string::append (pdfPath, ".pdf"); }
// Recursive dive into the entry add_publica (pub_ids, names, id, string::get (path), string::get (name));
return 0; }
// If no documents selected, return immediately if (idtypelist::length (pub_ids) == 0) { wlog ("", "# No publication documents selected\n"); wlog ("", "# Export selected publications to PDF - done\n"); return 0; }
// Create the book string::set (msg, "Export publications to '%s'", file::name (name, pdfPath)); progress::start (msg, idtypelist::length (pub_ids)*3+2); file::remove (bookPath); book::create (bookPath); book::open (bookPath, bookRef);
// Check out documents and insert them into the book i = 0; for (id = idtypelist::first (pub_ids); id; id = idtypelist::next (pub_ids)) { string::set (msg, "Checkout %d/%d : '%s'", i+1, idtypelist::length (pub_ids), stringlist::get (names, i)); progress::step(msg, 2); wlog ("", "# %s\n", msg); i++;
publication::checkout_by_id ( // Check out. This will open the document as the new front document idtype::stringid (id), idtype::id (id), idtype::id2 (id), idtype::id3 (id));
document::path (path, 0); // Get the path of the current front document book::insert (bookRef, path); // Append the document to the book }
// Export the book progress::step("Exporting PDF", 1); wlog ("", "# %s\n", "Exporting PDF"); book::repaginate (bookRef); book::export_ (bookRef);
// Close book and remove its file book::close (bookRef); file::remove (bookPath);
// Revert checked out documents i = 0; for (id = idtypelist::first (pub_ids); id; id = idtypelist::next (pub_ids)) { string::set (msg, "Revert %d/%d : '%s'", i+1, idtypelist::length (pub_ids), stringlist::get (names, i)); progress::step(msg, 1); wlog ("", "# %s\n", msg); i++;
publication::revert_by_id ( idtype::stringid (id), idtype::id (id), idtype::id2 (id), idtype::id3 (id)); }
// Finish work progress::stop(bookPath); file::launch (pdfPath); wlog ("", "# Export selected publications to PDF - done\n\n");
return 0; }
Alphabetic index HTML hierarchy of classes or Java