Das Dokument beschreibt die für das Comet-Standarddatenmodell nötigen Erweiterungen zur Aktivierung neuer Features. Fehlen die Erweiterungen, bleibt das entsprechende Feature deaktiert.

Die folgende Tabelle enthält alle Erweiterungen. In den Beschreibungen ist wenn nötig jweils ein Verweis zu einer ausführlichen Beschreibung. Der in der ersten Spalte der Tabelle verwendete Feature-Name wird auch im Logfile verwendet.

Einführung Beschreibung XML und SOAP ODBC und Oracle Typ

1.3 Build 96

1. Jan 2006

StringID

Erweiterung der ObjektIDs um eine StringID.

Das Attribut hat Einfluss auf das Laden, Aktualisieren und Zurückschreiben aller Platzhalter, die die entsprechenden Objekte verwenden.

panelstatements.xml
panelstatements.
  panelstatement.
    hasstringids

findstatements.xml
findstatements.
  panelstatement.
    hasstringids

PanelStatements.
  hasStringIDs

FindStatements.
  hasStringIDs

int

1.3.1 R112

27. Jan 2006

Pageitem scripts

Angabe einer Action-ID. Die Action wird vor dem Einsetzen des Templates ausgeführt und kann die ID des Templates, das tatsächlich eingesetzt werden soll, ändern.

pageitems.xml
pageitems.
  pageitem.
    spread.
      scriptid
pageitems.
  scriptid
int

1.4 R280

24. Okt 2006

Table placeholders

Typ eines Templates. Das Attribut wird benötigt, wenn Sie Tabellenplatzhalter und -templates verwenden wollen.

Der Wert des Attributes wird beim Anlegen eines Templates in Abhängigkeit der aktuellen Dokumentauswahl gesetzt und im Template-Dialog gezeigt :

  • Rahmenauswahl ergibt Rahmentemplate
  • Tabelle, Tabellenzelle, Text in Tabelle ergibt Tabellentemplate

Das selbe Symbol wird in der Templateliste verwendet um den Typ des Templates anzuzeigen.

pageitems.xml
pageitems.
  pageitems
    kind
pageitems.
  kindID
int
-

Preview snippets

zur Zeit unbenutzt

pageitems.xml
pageitems.
  pageitem
    record
      id
      id2
      id3
      stringid
pageitems
  recordID
  recordID2
  recordID3
  recordStringID
int
int
int
string

1.4 R368

6. Jun 2007

Grid direction

Ist ein Raster des Produktaufbaus zeilen- oder spaltenweise sortiert?

  0 - automatisch
  1 - zeilenweise
  2 - spaltenweise

Das Attibut wird beim Anlegen und Ändern eines Rasters mit Hilfe der Palette Raster-Assistent automatisch gepflegt und hat Einfluss auf Aufbau und Reorganisation von Seiten mit Hilfe des Produktaufbaus .

grids.xml
grids.grid
    direction
grids.
  
direction
int

1.4.2 R504

15. Nov 2007

Magnets & Nails

Werden in einem Template Magneten verwendet? Das Attribut wird beim Anlegen und Ändern von Templates gesetzt und hat Einfluss auf das Einfügen und Aktualisieren von Rahmen. Fehlt das Attribut, werden Magneten zwischen Template-Rahmen beim Laden der Rahmenplatzhalter ignoriert.

pageitems.xml
pageitems.
  pageitem
    magnets
pageitems.
  magnets
int

2.1 R1760

20. Feb 2010

Pageitem visible flag

Sichtbarkeit von Templates in der Produktrecherche und im Whiteboard. Ist das Flag nicht definiert, werden alle Templates angezeigt. Das Popup zur Einstellung der Sichtbarkeit im Template-Dialog ist deaktiviert.

Wenn Sie das Attribut einfügen, setzen Sie den Default-Wert am besten auf den Wert 3 (überall sichtbar).

pageitems.xml
pageitems.
  pageitem
    active
pageitems.
  active
int

3.1 R1567

24. Sep 2009

Pagetemplates

Unterstützung des Seitenaufbaus . Unter XML kann die Datei automatisch angelegt werden. Unter SOAP, ODBC und Oracle können Seitentemplates und damit der gesamte Seitenaufbau dann nicht unterstützt werden.

Datei pagetemplates.xml Tabelle pagetemplates -

Framerules

Festlegen der Aktionen, die vor und nach dem Einfügen eines Templates ausgeführt werden sollen (z.B. Anlegen neuer Seiten vor einem Produkt). Die Angaben sind wichtig, weil vor dem Laden eines Templates dessen Regeln noch unbekannt sind - aber trotzdem ausgeführt werden sollen.

Informationen finden Sie an mehreren Stellen:

Datei framerules.xml Tabelle framerules -

Support globals

Unterstützung globaler Variablen in cScript.

Immer aktiviert Tabelle globals -

3.1 R1864

8. Mai 2010

Support object names

Können in den Anzeigen von Produkten in der Aufgabenpalette und in der Palette Platzhalterwerte Objektnamen angezeigt werden? Fehlt das Attribut, wird entweder kein Name (Platzhalterwerte) angezeigt oder versucht, einen Namen aus den Platzhaltern des Dokumentes zu ermitteln.

Weitere Informationen finden Sie in der Beschreibung zur Aufgabenpalette und in der Beschreibung der Platzhalter.

placeholder.xml
metadata.
  placeholder.
    objectnameid
placeholder.ObjectNameID int

3.2 R1828

9. Apr 2010

Templates for new pages

Fortsetzungstemplates. Kann ein Template neben der Angabe eines Gegenüber auch eine Fortsetzungstemplate haben? Fortsetzungstemplates werden beim Seitenaufbau () verwendet, wenn ein Stellplatz zu klein für ein Template ist aber in einem weiteren Stellplatz fortgesetzt werden darf.

Das Attribut wird beim Sichern eines Templates automatisch gepflegt. Fehlt es, können N:1-Stellplätze des Seitenaufbaus nicht unterstützt werden.

pageitems.xml
pageitems.
  pageitem
    spread
      continue
pageitems.
  continueid
int
-

Pageitem colors

noch unbenutzt

pageitems.xml
pageitems.
  pageitems.
    
color
pageitems.
  color
int

3.1 R1956

17. Jul 2010

Löschen von Templates / Rastern / Seitentemplates verhindern

Vor dem Löschen eines Templates / Rasters / Seitentemplates über die jeweilige Palette wird das entsprechende Panelstatement ausgeführt und kann das Löschen des Eintrages verhindern.

Panelstatement 118 für Templates -
Panelstatement 119 für Raster, analog zum Löschen von Templates
Panelstatement 120 für Seitentemplates

3.2.3 R2630

1. Sep 2011

Templategruppen

Templates gleicher Gruppen können bei Seitenreorganisationen die Inhalte von zusammengehörenden Rahmen (gleiche Kennung der Rahmen) untereinander austauschen. Jedes Template kann beliebig vielen Gruppen angehören. Haben zwei Templates keine gemeinsame Gruppe und gehören nicht zum selben Smart-Template, werden die Inhalte von Rahmen gleicher Kennung bei Templatewechseln nicht übernommen.

Die Gruppenname werden durch komma-getrennt jeweils in Anführungszeichen in einem String verwaltet. ("Gruppe 1", "Grupe 2").

Gruppen können mit Hilfe der Templates-Palette definiert und vergeben werden.

pageitems.xml
pageitems.
  pageitems.
    memberships
pageitems.
  memberships
string

3.1 R2178

22. Okt 2010

Status der Ladenbuttons in der Previewpalette

Deaktivieren/Ausblenden des Ladenbuttons der Einträge der Previewpalette.

previewstatements.xml
previewstatements.
  
previewstatement.
    hasButtonState
previewstatements.
  hasButtonState
int

3.2.2 R2366

23. Mär 2011

Linkskript für Einträge der Previewpalette

Skript, das nach dem Einsetzen eines Previeweintrages (Text, Bild, Rahmen) ausgeführt wird.

previewstatements.xml
previewstatements.
  
previewstatement.
    hasLinkScript
previewstatements.
  hasLinkScirpt
int

3.2.3 R2450

17. Mai 2011

Prä- und Postfixe für Platzhalter

Textplatzhalter können vor und hinter sich einen Trenntext einfügen, der nicht zum Platzhalter gehört. Dieser Text wird beim Laden des Platzhalters aotomatisch aktualisiert.

placeholder.xml
metadata.
  placeholder.
    prefix
    postfix
    prefixifempty
    postfixifempty
placeholder.
  prefix
  postfix
  prefixifempty
  postfixifempty
vier Strings

3.2.3 R2568

11. Jul 2011

Trenntexte im Textfluss-Aufbau

Im Seitentemplate-gesteuerten Textflussaufbau können damit Trenntexte zwischen den Produkten generiert werden. Zwei Trenntexte können eingestellt werden :

  • Erstes Produkt
  • Alle weiteren Produkte

Als Trenntext können folgende Werte gewählt werden

  • kein Trenner
  • Leerzeichen
  • Absatz
  • -
  • Alle Aktionen mit der KlassenID 46
pageitems.xml
pageitems.
  pageitem.
    textflowPrefix1Action
    textflowPrefix1
    textflowPrefixNAction
    textflowPrefixN
pageitems.
  textflowPrefix1Action
  textflowPrefix1
  textflowPrefixNAction
  textflowPrefixN
int, String,

int, String

3.3 R 2630

1. Sep 2011

Aufbauhilfe

Unterstützung das Produktaufbaus : Während das Aufbau eines Produktes kann an verschiedenen Stelle ein Skript, das im Template definiert ist, aufgerufen werden und etwa zusätzliche Grössenprüfungen machen.

pageitems.xml
pageitems.
  pageitem.
    buildSupportScript
pageitems.
   buildSupportScript
int

3.3 R 2636

6. Sep 2011

Platzhaltergruppen

In der täglichen Arbeit ist es häufig erforderlich, eine bestimmte (auch größere) Auswahl von Platzhaltern regelmäßig zu aktualisieren. Damit Sie dazu nicht nach jedem Neuladen der Platzhalterliste die Augen-Markierungen neu setzen müssen, können Markierungen auch in Platzhaltergruppen gesichert werden ...

Datei placeholdergroups.xml, siehe hier Tabellen placeholdergroups und placeholdergroupsXplaceholders -

3.3 R 2700

7. Nov 2011

Templatekanten zur Prüfung von Überdeckungen

Auswertung von Templateformen (im Gegensatz zur Bounding-Box des Templates.

pageitems.xml
pageitems.
  pageitem.
    
hasShapes

Die nötigen Informationen über die Rahmenkanten werden jeweils in die Datei templateID.shapes "neben" den Template-Dateien abgelegt.

pageitems.
  
shapes
XML & SOAP : int

Datenbank : text

3.3.1 R3450

21. Feb 2013

Sichern der IDML-Varianten von Templates

Sollen beim Sichern von Templates automatisch IDML-Varianten der Templates angelegt werden?

Die Template-Dateien im IDML/W2ML-Format werden mit den Endungen idml/w2ml neben der INDD-Version des Templates im Ordner pageitems/data des Datenpools abgelegt.

pageitems.
  dataIDML

Mit dem Panelstatement 121 kann auch ein eigener Ablageort festgelegt werden.

Siehe auch prefs::add_idml_to_templates.

text

Sichern der W2ML-Varianten von Templates

Sollen beim Sichern von Templates automatisch W2ML-Varianten der Templates angelegt werden?

pageitems.
  dataW2ML

Mit dem Panelstatement 137 kann auch ein eigener Ablageort festgelegt werden.

Siehe auch prefs::add_w2ml_to_templates

text

3.4 R6000

20. Okt 2014

Aktionen nach dem Anwenden eines Seitentemplates

Nach dem Anwenden von Seitentemplates auf Seiten können in einem Skript weitere Aktionen ausgelöst werden.

Für das Feature sind keine Erweiterugen des Datenmodelles nötig. Hier fiinden Sie weitere Informationen zur Anwendung.

4.0.5 R8410

10. Jul 2015

Comet-Snippets

Comet-Snippets aufgebauter Produkte ohne Fortsetzungen.

snippets.xml

Wenn die Datei nicht existiert, wird Sie bei Bedarf automatisch angelegt.

Tabelle comet_snippets.

-

4.0.5 R8600

14. Aug 2015

Frame Infos

Es sollen Informationen über einen oder mehrere Rahmen in den Datenbestand gesichert werden. Diese Informationen können zu einem späteren Zeitpunkt abgerufen und wieder auf die entsprechenden Rahmen angewendet werden. ...

frameinfos.xml

Wenn die Datei nicht existiert, wird Sie bei Bedarf automatisch angelegt.

Tabelle comet_frameinfos.

-

4.1 R12350

14. Aug 2016

Produktrecherche Sprache

Für die Produktrecherche Palette sollen die Sprachen der Produkte auswählbar sein. Die ausgewählte Sprache wird in eigenen findstatements verwendet. Mehr Infos hier

Panelstament 140

-
4.0.5 R20104

1. Sep 20017

Stringvergeichsskript in Platzhaltern


Vergleich von Dokument- und Datenpoolwert von Platzhaltern im Standard-Sync, weitere Informationen siehe hier

placeholder.xml
metadata.
  placeholder.
    styleid

placeholder.
  CharacterStyleID

int
4.1
R21612

5. Feb. 2018

Erwartete Minimalgröße von Templates

Der Produktaufbau prüft vor dem Einsetzen eines Produkt-Templates die Größe des verfügbaren Platzes im Seitenelement. Ist das Seitenelement zu klein, wird das nächste passende Seitenelement gesucht. Soll für diese Größenprüfung die wirkliche Größe oder eine erwartete Minimalgröße des Templates verwendet werden?

Weitere Informationen dazu finden Sie hier.

pageitems.xml
pageitems.
  pageitem.
    hasMinSize,
    realWidth,
    realHeight

pageitems.
  hasMinSize,
  realWidth,
  realHeight
int, float, float
4.2
R32000

9. Dez. 2022

InDesign-Version von Templates

Warne vor dem Überschreiben von Templates älterer InDesign-Versionen und verhindere den Versuch, Templates neuerer InDesigns zu verwenden.

Mit dem Initialwert 0 wird die Versionsprüfung templateweise abgeschaltet.

pageitems.xml
pageitems.
  pageitem.
    version

pageitems.
  version
int
5.0
R36820

10. Juni 2025

Timestamps in Templates

Warne vor dem Überschreiben eben gemachter Änderungen durch Dritte am Template

pageitems.xml
pageitems.
  pageitem.
    timestamp,
    updatedby

pageitems.
  timestamp,
  updatedby
String,
String

Der aktuelle Status der Features (ausser Löschen von Templates/Rastern/Seitentemplates) wird bei jeder Änderung der Datenverbindung ins Logfile geschrieben.

Hier ein Beispiel:

# Configuration for '/Users/paul/Desktop/fifo/priint 5.5/xmldata'
#	StringIDs : YES | NO
#	Template Scripts : YES | NO
#	Template for New Pages (Continuations) : YES | NO
#	Template Colors : YES | NO
#	Template Version : YES | NO
#	Table Placeholders (Kind of Template) : YES | NO
#	Preview Snippets : YES | NO
#	Template Visible Flag : YES | NO
#	Magnets & Nails : YES | NO
#	Frame Rules : YES | NO
#	Snippet Page Items : YES | NO
#	Use UTF8 : YES | NO
#	Support Globals : YES | NO
#	Support Object Names : YES | NO
#	Support Memberships : YES | NO
#	Support Previews Button State : YES | NO
#	Support Previews Link Script : YES | NO
#	Support Placeholder Pre/Postfix : YES | NO
#	Support Template Textflow Prefix : YES | NO
#	Build Support Script : YES | NO
#	Support Template Shapes : YES | NO
#	Support PDF Renderer : YES | NO
#	Has Path Setting : YES | NO
#	Path Setting Has Version : YES | NO
#	Has Comet Snippets : YES | NO
#	W2ML Page Template :  YES | NO
#	Page Templates Document Metadata: YES | NO
#	Templates have Min Sizes : YES | NO
#	Templates have Timestamps : YES | NO
#	Can Placeholder Variants : YES | NO
#	DocWatch : YES | NO

Hier eine Kurzbeschreibung der Log-Einträge. Die Beschreibung bezieht sich hauptsächlich auf XML-Offline und SOAP bzw. PubServer. Die entsprechenden Attribute für ODBC-Verbindungen entnehmen Sie bitte der obigen Tabelle.

Log-Nachricht Beschreibung
StringIDspanelstatements.xml : Existiert panelstatements.panelstatement.hasstringids?
Template Scriptspageitems.xml : Existiert pageitems.pageitem.spread.scriptid?
Template for New Pages(Fortsetzungstemplates) Existiert pageitems.pageitem.spread.continue?
Template Colorspageitems.xml : Existiert pageitems.pageitems.color?
Template Versionpageitems.xml : Existiert pageitems.pageitem.version?
Table Placeholders (Kind of Template)pageitems.xml : Existiert pageitems.pageitems.kind?
Preview Snippetspageitems.xml : Existieren pageitems.pageitem.record.id, ~.id2, ~.id3, ~.stringid?
Template Visible Flagpageitems.xml : Existiert pageitems.pageitem.active?
Magnets & Nailspageitems.xml : Existiert pageitems.pageitem.magnets?
Frame RulesExistiert die Datei framerules.xml?
Snippet Page Itemspageitems.xml : Existiert pageitems.pageitem.format?
Use UTF8 XML und SOAP/PubServer -> immer YES
ODBC -> abhängig von der gewählten Zeichensatz-Kodierung beim Login
Support Globals XML-Offline und SOAP/PubServer -> immer YES (obwohl kein PubServer globale Variablen von cScript unterstützt. Aber die Plug-Ins könnten es.)
ODBC -> Existiert die Tabelle globals?
Support Object Namesplaceholder.xml : Existiert metadata.placeholder.objectnameid?
Support Membershipspageitems.xml : Existiert pageitems.pageitems.memberships?
Support Previews Button Statepreviewstatements.xml : Existiert previewstatements.previewstatement.hasButtonState?
Support Previews Link Scriptpreviewstatements.xml : Existiert previewstatements.previewstatement.hasLinkScript?
Support Placeholder Pre/Postfixplaceholder.xml : Existieren metadata.placeholder.prefix, ~.postfix, ~.prefixifempty, ~.postfixifempty?
Support Template Textflow Prefixpageitems.xml : Existieren pageitems.pageitem.textflowPrefix1Action, ~.textflowPrefix1, ~.textflowPrefixNAction, ~.textflowPrefixN?
Support Build Support Scriptpageitems.xml : Existiert pageitems.pageitem.buildSupportScript?
Support Template Shapespageitems.xml : Existiert pageitems.pageitem.hasShapes?
Support PDF RendererXML, SOAP, PubServer -> Immer YES
ODBC -> Existiert das Attribut pageitems.dataW2ML?
Has Path SettingExistiert die Datei setting.xml?
Path Setting Has Version XML und SOAP/PubServer immer YES
ODBC -> Existiert das Tabellen-Attribut comet_setting.application
Has Comet Snippets XML-Offline und SOAP -> Existiert die Datei snippets.xml?
PubServer -> Immer YES
ODBC -> Existiert das Attribut comet_snippets.id?
W2ML Page TemplateXML, SOAP, PubServer -> Immer YES
ODBC -> Existiert das Tabellenattribut pagetemplates.dataW2ML?
Page Templates Document MetadataXML, SOAP, PubServer -> Immer YES
ODBC -> Existiert das Tabellenattribut pagetemplates.metadata?
Templates have Min Sizespageitems.xml : Existieren pageitems.pageitem.hasMinSize, ~.realWidth, ~.realHeight?
Templates have Timestampspageitems.xml : Existieren pageitems.pageitem.timestamp, ~.updatedby?
Can Placeholder VariantsXML, SOAP, PubServer -> Immer YES
ODBC -> Existiert das Tabellenattribut placeholder_variants.placeholderID?
DocwatchIst docWatch im Loginskript (Panelstatement 92) aktiviert system::set_docwatch (1)?

Haben Sie ein Attribut zum Datenmodell hinzugefügt, müssen Sie sich mit diesem Pool neu verbinden (Datenordner neu setzen bzw. Logout/Login). Im folgenden wird jeweils an einem Beispiel beschrieben, wie Sie Ihr Datenmodell erweitern können. Alle anderen Erweiterungen können Sie analog machen.

Das Hinzufügen von Attributen in eine XML-Datei können Sie mit einem beliebigen Texteditor, der unformatierten Text bearbeiten kann, machen. Lassen Sie einfach ein geeignetes Ende-Tag ersetzen durch durch dieses Ende-Tag+Zeilentrenner+Neues Tag - und das für die gesamte Datei.

Hinzufügen von active in pageitems.xml

Suche    </spread>
Ersetze  </spread>
       <active>3</active>

Wenn Sie das WERK II Programm xmlquery haben, können Sie es auch etwas eleganter machen :

  1. Öffnen Sie die Datei xentities.xml und fügen dort die folgenden Zeilen ein:

<dummy>
  <file>pageitems.xml</file>
  <attr>pageitems.pageitem</attr>
  <name>active</name>
  <type>name</type> 
  <writable>1</writable>
   </dummy>

  1. Öffnen Sie die Datei mit dem WERK II Programm xmlquery und sichern Sie die Datei mit commit :

   xmlquery
   >open pageitems
   >update active=3 node pageitems.pageitems
   >commit;

  1. Die bearbeiteten Dateien enthalten jetzt das gewünschte Attribut jeweils mit dem Wert 3. Damit das Feld nicht jedesmal neu angelegt wird, entfernen Sie die in Schritt 1 eingefügten Zeilen wieder aus xentities.xml.

Das Vorgehen ist analog zu XML. Sie müssen nur vorher die Datei vom Service holen und sie danach wieder an den Service senden.

Datei holen

int main ()
{
	SOAP	soap 	= soap::connection ();
	int		result;

	if (!soap)
	{
		showmessage ("Keine Verbindung zum Internetdienst");
		return 0;
	}

	result = soap::download_tofile (soap, "pageitems.xml", "$DESKTOP");	
	if (result != 0)
	{
		showmessage ("Fehler beim Laden der Datei : %s",
		serror (result));
		return 0;
	}

	return 0;
}

Datei senden

int main ()
{
	SOAP	soap = soap::connection ();
	int		result;

	if (!soap)
	{
		showmessage ("Keine Verbindung zum Internetdienst");
		return 0;
	}

	result = soap::upload (soap, "$DESKTOP/pageitems.xml", -1, "pageitems.xml");	
	if (result != 0)
	{
		showmessage ("Fehler beim Senden der Datei : %s",
		serror (result));
		return 0;
	}

	return 0;
}

Die Anweisungen zum Hinzufügen von Tabellenattributen können von Datenbanktyp zu Datenbanktyp unterschiedlich sein. Stellvertretend hier die Anweisung für mySQL (die aber fast überall funktioniert).

alter table pageitems add active int (10);
update pageitems set active = 3;
commit;