Methoden zur Kommunikation mit einem priint:comet Server.

Letzte Änderung :
30.07.2025, 07:35 Uhr

Methoden zur Kommunikation mit einem priint:comet Server. Das Modul stellt Methoden zur Kommunikation mit einem priint:comet Server zur Verfügung.

static int priint::checkout(
  char* documentId,
  char* path,
  char* masterdocumentID = 0)

Buche ein Dokument aus. Diese Methode erfordert eine bestehende Verbindung zu einem priint:comet Server. Bei ODBC wird diese anhand der mittels des Panelstatements 110 ermittelten Verbindungsdaten hergestellt, bei SOAP muss der WebService die Erweiterungen für priint:comet Server unterstützen. Näheres siehe Dokumente: Checkin / Checkout

Beachten Sie, dass das Verhalten 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
path String oder char* - Pfad (Ausgabe). Der Pfad kann von dem im Objekt der Liste abgelegten Pfad abweichen, wenn die Datei z.B. über SOAP angefordert werden muss.
masterdocumentID String oder char* 0 optional, wenn das Dokument noch nicht existiert wird es aus dem Musterdokument erzeugt

Buche ein Dokument aus (Panelstatement 111). In diesem Kontext können die Variablen gDocumentStatus, gDocumentPath sowie Tags für Werte von Objekten des Publikationen-Panels verwendet werden):

int main () 
{
    char 	* 	path 	= alloc (4096);
    int 		result 	= priint::checkout ("<Content_StringID>", path);
if (result == 0) { strcpy (gDocumentPath, path); } else { wlog ("", "checkout <Name> (<Content_StringID>) failed with result code %d\n", result); }
release (path); return result; }

Version 3.1

priint:comet InDesign® Plug-Ins, comet_pdf

static int priint::checkin(
  char* documentId,
  char* path,
  char* options = 0,
  int env = 8)

Buche ein Dokument ein. Diese Methode erfordert eine bestehende Verbindung zu einem priint:comet Server. Bei ODBC wird diese anhand der mittels des Panelstatements 110 ermittelten Verbindungsdaten hergestellt, bei SOAP muss der WebService die Erweiterungen für priint:comet Server unterstützen. Näheres siehe Dokumente: Checkin / Checkout

Beachten Sie, dass das Verhalten 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
path String oder char* - Pfad des Dokuments. In Skripten sollte die globale Variable gDocumentPath verwendet werden.
options String oder char* 0 Optionen zur Metadatengenerierung, siehe hier
env int 8 Umgebung, mögliche Werte sind kWithInDesignServer (8) und kNoInDesignServer (9)
#include "internal/types.h"

Buche ein Dokument ein (Panelstatement 115. In diesem Kontext können die Variablen gDocumentStatus, gDocumentPath sowie Tags für Werte von Objekten des Publikationen-Panels verwendet werden.

int main () 
{
    int result = priint::checkin ("<Content_StringID>", gDocumentPath);
if (result != 0) { wlog ("", "checkin <Name> (<Content_StringID>) failed with result code %d\n", result); }
return result; }

Version 3.1

priint:comet InDesign® Plug-Ins, comet_pdf

static int priint::revert(char* documentId, char* path)

Freigeben eines Dokuments. Diese Methode erfordert eine bestehende Verbindung zu einem priint:comet Server. Bei ODBC wird diese anhand der mittels des Panelstatements 110 ermittelten Verbindungsdaten hergestellt, bei SOAP muss der WebService die Erweiterungen für priint:comet Server unterstützen. Näheres siehe Dokumente: Checkin / Checkout
Beim Freigeben wird der Status auf dem priint:cometserver zurückgesetzt, ohne das Dokument hochzuladen => lokale Änderungen gehen verloren. Um dasselbe Verhalten bei "lokal" ausgebuchten Dokumenten zu erzielen, wird optional ein vorher angelegtes Backup des Dokuments wieder hergestellt. Näheres siehe Dokumente: Checkin / Checkout

Name Typ Default Beschreibung
Return int   0 oder Fehlercode
documentId String oder char* - ID des Dokuments, siehe DocumentID
path String oder char* - Pfad des Dokuments. In Skripten sollte die globale Variable gDocumentPath verwendet werden.

Zu beachten: Je nach Kontext stehen nicht alle globale Skriptvariablen des aktuellen Publikations-Objekts zur Verfügung. Insbesondere ist bei (automatischem) Aufruf in Folge von fehlgeschlagenem priint::checkout gDocumentID leer, da zu diesem Zeitpunkt die Zuordnung Publikations-ID (ID1, ID2, ID3, StringID) zu documentID noch nicht bekannt ist. Wenn Ihr checkout-Skript sinngemäß so aussieht:

(Fragment, Panelstatement 111):

int main ()
{
    return priint::checkout ("", gDocumentPath);
}

Zu beachten: Je nach Kontext stehen nicht alle globale Skriptvariablen des aktuellen Publikations-Objekts zur Verfügung. Insbesondere ist bei (automatischem) Aufruf in Folge von fehlgeschlagenem priint::checkout gDocumentID leer, da zu diesem Zeitpunkt die Zuordnung Publikations-ID (ID1, ID2, ID3, StringID) zu documentID noch nicht bekannt ist. Wenn Ihr checkout-Skript sinngemäß so aussieht:

(Fragment, Panelstatement 111):
dann sollte das korrespondierende Revert Skript so aussehen:

int main () 
{
    return priint:revert ("", gDocumentPath);
}

Gib ein Dokument frei (Panelstatement 117). In diesem Kontext können die Variablen gDocumentStatus, gDocumentPath sowie Tags für Werte von Objekten des Publikationen-Panels verwendet werden.

int main () 
{
    int result = priint::revert ("<Content_StringID>", gDocumentPath);
if (result != 0) { wlog ("", "reverting <Name> (<Content_StringID>) failed with result code %d\n", result); }
return result; }

Version 3.1

priint:comet InDesign® Plug-Ins, comet_pdf

static int priint::document_status(char* documentId)

Ermittle den Status eines Dokuments. Diese Methode erfordert eine bestehende Verbindung zu einem priint:comet Server. Bei ODBC wird diese anhand der mittels des Panelstatements 110 ermittelten Verbindungsdaten hergestellt, bei SOAP muss der WebService die Erweiterungen für priint:comet Server unterstützen. Näheres siehe Dokumente: Checkin / Checkout

Name Typ Default Beschreibung
Return int   Status, der Wert sollte in die globale Variable gDocumentStatus übernommen werden
Mögliche Stati sind:
  • kAvailable Das Dokument ist verfügbar
  • kOpenedOnServer Das Dokument ist auf dem Server geöffnet und kann derzeit nicht verwendet werden.
  • kOpenedOnClient Das Dokument ist auf einem (anderen) Client ausgebucht und kann derzeit nicht verwendet werden.
  • kOpenedByUser Das Dokument ist vom Benutzer ausgebucht, es wird angenommen, dass es derzeit verwendet werden kann.
  • kOpenedInSession Das Dokument ist in der aktuellen Sitzung ausgebucht und kann verwendet werden.
  • kNotExisting Das Dokument ist registriert, exitiert aber (physikalisch) nicht, vor Verwendung muß es aus einem Musterdokument erzeugt werden.
  • kNotRegistered Das Dokument ist nicht registriert, sprich: gänzlich unbekannt. Es kann nicht verwendet werden.
documentId String oder char* - ID des Dokuments, siehe DocumentID
#include "internal/types.h"

Ermittle den Dokumentenstatus (Panelstatement 114). In diesem Kontext können die Variablen gDocumentStatus, gDocumentPath sowie Tags für Werte von Objekten des Publikationen-Panels verwendet werden.

int main () 
{
    int status = priint::document_status ("<Content_StringID>");
if (status < 0) { wlog ("", "Error: status for document <Name> (<Content_StringID>) could not be obtained: %d\n", status); return -1; } *gDocumentStatus = status;
return 0; }

Version 3.1

priint:comet InDesign® Plug-Ins, comet_pdf

static int priint::call_checkin(char* documentId, char* path)

Führe die Checkin-Routinen aus. Diese Methode simuliert einen Klick auf den Checkin-Button des Publikationen-Panels (auch wenn der entsprechende Eintrag derzeit nicht angezeigt wird). Hauptzweck ist es, das Einbuchen auch an andere Events binden zu können (bspw. Speichern oder Schließen einer Publikation).

Name Typ Default Beschreibung
Return int   0 oder Fehlercode
documentId String oder char* - ID des Zieldokuments, siehe DocumentID
path String oder char* - Pfad des Dokuments. In Skripten sollte die globale Variable gDocumentPath verwendet werden.

Rufe die Checkin-Routinen für ein Dokument auf, z.B. als Panelstatement 113 (Schließen). In diesem Kontext können die Variablen gDocumentStatus, gDocumentPath sowie Tags für Werte von Objekten des Publikationen-Panels verwendet werden.

int main () 
{
    return priint::call_checkin ("<Content_StringID>", gDocumentPath);
}

Version 3.1

priint:comet InDesign® Plug-Ins, comet_pdf

static DBC priint::connection()

Hole die aktuelle priint:comet Server Verbindung. Die Verbindung darf niemals über einen Skriptbefehl gelöscht werden.

Name Typ Default Beschreibung
Return DBC   Aktuelle priint:comet Server Verbindung von InDesign® oder 0

Version 3.1

priint:comet InDesign® Plug-Ins, comet_pdf

static int priint::set_prefs_editable(int editable)

Aktiviere oder deaktiviere den Voreinstellungen-Dialog.

Name Typ Default Beschreibung
editable int - 0: deaktiviere den Voreinstellungen-Dialog
1: aktivieren.

Version 3.1

priint:comet InDesign® Plug-Ins, comet_pdf

static int priint::set_pref(int prefID, int value)

Setze lokale priint:cometserver Voreinstellungen. Zur Bedeutung der Parameter und Werte siehe Voreinstellungen

Name Typ Default Beschreibung
prefID int - einer der Werte

kPriintDownloadPolicy
kPriintOfflinePolicy
kPriintLocalBackup
kPriintShowProgress.

internal/types.h muss für diese Konstanten eingebunden werden.
value int - abhängig von prefID

kPriintDownloadPolicy : kPriintAutoDownload, kPriintAlwaysDownload, kPriintNeverDownload

kPriintOfflinePolicy: kPriintLimitedOfflineOP, kPriintNoOfflineOP, kPriintFullOfflineOP

kPriintLocalBackup : 0 | 1

kPriintShowProgress: 0 | 1
#include "internal/types.h"

Version 3.1

priint:comet InDesign® Plug-Ins, comet_pdf

static int priint::get_pref(int prefID)

Hole lokale priint:cometserver Voreinstellungen. Zur Bedeutung der Parameter und Werte siehe Voreinstellungen

Name Typ Default Beschreibung
Return int   abhängig von prefID

kPriintDownloadPolicy : kPriintAutoDownload, kPriintAlwaysDownload, kPriintNeverDownload

kPriintOfflinePolicy: kPriintLimitedOfflineOP, kPriintNoOfflineOP, kPriintFullOfflineOP

kPriintLocalBackup : 0 | 1

kPriintShowProgress: 0 | 1
prefID int - einer der Werte

kPriintDownloadPolicy
kPriintOfflinePolicy
kPriintLocalBackup
kPriintShowProgress

internal/types.h muss für diese Konstanten eingebunden werden.
#include "internal/types.h"

Version 3.1

priint:comet InDesign® Plug-Ins, comet_pdf

static int priint::create_metadata(
  ItemRef docRef,
  char* destPath,
  char* options = 0,
  int type = 7)

Erzeuge die priint:comet Metadaten eines Dokumentes.

Name Typ Default Beschreibung
Return int   Fehercode oder 0
docRef itemRef - Dokument

0 : Aktuelles Dokument
destPath String oder char* - Vollständiger Zielpfad für das Metadaten-ZIP

0 : Dokumentpfad und Name mit der Endung ".meta.zip" verwenden. Nur bei nicht-neuen Dokumenten!
options String oder char* 0 Optionen für den Export, siehe hier
type int kUseServerSettings Welche Einstellungen sollen verwendet werden?

kUseServerSettings
kWithInDesignServer
kNoInDesignServer

Version 3.1

priint:comet InDesign® Plug-Ins, comet_pdf

static int priint::create_cometgroup_previews(
  ItemRef docRef = 0,
  char* destPath = 0,
  int resolution = 120,
  char* options = 0,
  char* ext = 0,
  int rmvExisting = 0)

Erzeuge von jeder Cometgruppe eines Dokumentes ein Preview.

Name Typ Default Beschreibung
Return int   Fehercode oder 0
docRef itemRef 0 Dokument

0 : Aktuelles Dokument
destPath String oder char* 0 Vollständiger Zielpfad für den Ordner der Previewdateien. Existiert der Ordner nicht, wird er angelegt.

0 : Dokumentpfad und Name (ohne die Endung indd) verwenden. Nur bei nicht-neuen Dokumenten!
resolution int 120 Bildauflösung in dpi
options String oder char* 0 Bild-Optionen für die Previews, siehe hier
ext String oder char* 0 Zum Format passende Dateiendung (z.B. "jpg" oder "png") oder leer
rmvExisting int 0 Soll ein bestehender Ordner zuvor gelöscht werden?

0 : Nein, nicht löschen
1 : Ja, ein alter Ordner kann gelöscht werden

Erzeuge 360 dpi PNG-Previews aller Cometgruppen des aktuellen Dokumentes.

int main ()
{
    int 			r
r = priint::create_cometgroup_previews (0, 0, 360, "format:png;", "png", 1); showmessage ("Result : %d", r);
return 0; }

v4.2 R31950, 29. Nov 2022

priint:comet InDesign® Plug-Ins, comet_pdf

Seit
Plugin Version 3.1
Letzte Änderung
30.07.2025, 07:35 Uhr
Autor
Christoph Soergel

Alphabetic index HTML hierarchy of classes or Java