Version Kurzbeschreibung Beschreibung Datum
R 835 Bug 1251 - Platzhalter in Tabellen verschwinden beim Zuweisen Textplatzhalter in Tabellen verschwinden, wenn man per Shift-Klick in die Produktpalette ein neues Produkt zuweist.

Testdaten folgen gleich; zum Testen einfach den Rahmen mit der Tabelle per Rahmenwerkzeug auswählen und ein Produkt aus der zweiten Ebene zuweisen.

Das ganze passiert bei CS3, Rev 821, vorher funktioniert es.

Das ist ein recht heikler Fehler, der mir da unterlaufen ist. Er betrifft alle Umgebungen, die Platzhalter in Tabellen und TaggedText in Platzhaltern verwenden - also fast alle. Der Fehler hat sich bei Bugfix 1190 eingeschlichen und ist jetzt behoben.

18.07.2008
R 821 Bug 1246 - askstring2 unter SOAP wertet das Statement zum Laden der Popup-Einträge nicht aus. Askstring2 kann ja ein Popup zeigen, dessen Einträge mit Hilfe eines Statements im Aufruf geladen werden können. Unter SOAP funktioniert das leider nicht. Das Popup bleibt immer leer.

Unter SOAP wurde hier auch ein SOAP-Aufruf erwartet. Im vorliegenden Fall handelte es sich aber um eine XML-Query-Abfrage. Ich habe die Funktion so erweitert, dass unter SOAP beide Möglichkeiten unterstützt werden.

08.07.2008
Bug 1210 - Infos1 und Infos2 auslesen in Textplatzhalterskript Es gibt meines Wissens keine Möglichkeit, in einem Textplatzhalterskript an die Werte info1 und info2 des Platzhalters ranzukommen. Praktisch wären z.B. 2 entsprechende globale variablen gInfos1 und gInfos2, die ich im Skript verwenden kann.

Und Thorsten setzt noch eins drauf : Die Variablen sollten sowohl im Script als auch direkt im Platzhalter ausgelesen werden können - sowohl für Text- als auch für Rahmenplatzhalter.

In Skripten können die Eigenschaften von Platzhaltern für Rahmen gelesen und geschrieben werden (placeholder::(s)get_value, placeholder::change_tags). Die Eigenschaften von Textplatzhaltern können nur gesetzt werden.

In Queries von Platzhaltern kann prinzipiell nur gelesen werden. Da werden bisher keine Platzhaltereigenschaften (ausser <placeholderID>) unterstützt.

Lösung

In Skripten können jetzt auch die Eigenschaften von Text-Platzhaltern geholt werden. placeholder::defined, placeholder::get_value und placeholder::sget_value haben entsprechende Parameter erhalten. Mehr dazu in der aktuellen Online-Doku.

in den Action-Skripten der Platzhalter können die Platzhalterwerte mit den gleichen Namen wie bei placeholder::get_value verwendet werden, also etwa "select 'Kindergeburtstag : ' || <Infos1> from ...

08.07.2008
Informationen über Textplatzhalter Die Funktionen placeholder::defined, placeholder::get_value und placeholder::sget_value konnten bisher nur für Rahmenplatzhalter verwendet werden. Alle drei Funktionen haben einen weiteren Paramanter (textIndex) erhalten, um auch Textplatzhalter abfragen zu können. Ausserdem haben alle drei Funktionen Parameter bekommen, mit denen die tatsächliche Startposition und Länge eines Textplatzhalters erfragt werden können. 07.07.2008
Bug 1242 - In der neuen Version 797 geht der query::fetch in eine char Variable nicht Die gleiche Funktion unter der 712 mit den gleichen Daten funktioniert!! Der Fetch in eine Int Variable geht schon! Es ist auch egal was für ein Text das ist ich habe es auch mal nur mit dem String "char" versucht stürzt Indesing auch ab.

Funktioniert (richtig) ab R805.

05.07.2008
Bug 1222 - OCI: Scripte werden abgeschnitten Bei einer OCI-Verbindung werden Scripte (in diesem Fall ein Palettenscript) nach 4000 Zeichen abgeschnitten. Bei ODBC funktioniert alles. Der Datentyp von actions.statement ist clob.

Ist in R730 behoben, bei Problemen mit dieser Version (im Zusammenhang mit OCI Verbindung) bitte Rückmeldung.

29.05.2008
Bug 1233 - Menüeinträge sind falsch einsortiert Die Menüeinträge "Platzhalterwerte" und "Platzhalterwerte-Info" stehen unter "Fenster -> Comet", sollten aber unter "Fenster -> Comet-Admin" stehen. (R 773 und 790 beta, CS3)

Erledigt.

01.07.2008
Bug 1228 - Rev 773: Lizenzdatei wird nicht gelesen Nur CS2 (und vielleicht nur Mac):die Lizenzdatei wird von den Plug-Ins nicht erkannt, stattdessen kommen
anstrengende Debug-Meldungen:
Reading LIC! "#2100"

Trial License "#2100" bla bla... (siehe Anhang)

Letztlich werden die Plug-Ins nicht geladen. Die Lizenzdatei habe ich sicherheitshalber mal mit der neuesten Version des Lizenznummern-Programms (vom 2. Juni) neu erzeugt, was aber auch nichts ändert.

Der Fehler ist wieder behoben.

30.06.2008
Bug 1219 - Vertikaler Keil: textmodel:justify funktioniert nicht (CS3) Es wird der Fehler 1115 ausgegeben. Unter CS 2 funktioniert es noch. Beiliegendes Skript gibt den Fehler aus
#include "internal/types.h"
#include "internal/text.h"

int main ()
{
    int 	result = -3;
    
    result = textmodel::justify(
    		gFrame,
    		kBegin,
    		kEnd,
    		-1,
    		"",0,"AbstandTabellen",
			0.0);
   showmessage("%d",result);
   return 0;
}

Der Fehler ist behoben :-))

22.06.2008
Bug 1223 - STRINGID wird in XML-Version in Build-Statements nicht ersetzt Der Fehler ist jetzt behoben. 25.06.2008
Bug 1190 - InDesign® stürtzt ab beim Einlesen einer Tabelle Ich habe ein Problem mit einer Tabelle, die als TaggedText (mit Angabe von PageItem und RootID) mittels Comet in InDesign® übertragen wird. Es funktioniert grundsätzlich prima. Nur bei einigen Tabellen nicht. In diesem Fall macht Comet immer wieder die Anfrage nach dem Tabelleninhalt und nach einiger Zeit stürzt der InDesign® ab.

In diesem Fall war der Platzhalter der letzte in einem Text ohne Tabellen. Der Fehler lag nun daran, dass die Tabellenzellen den aktuellen Textplatzhalter übernommen haben. Dann kam nach dem TT-Import das Autoload. Der Text der Zelle wurde also durch eine Tabelle ersetzt, danach das Autoload für diese Tabelle, usw.. Das konnte gar nicht aufhören.

Der Fehler ist behoben.

07.07.2008
R 730 Bug 1134 - linklist::collect-Ergebisliste sortiert nach Z-Order Damit auch beliebige Dokumentrahmen sortiert werden können, gibt es jetzt auch die Funktion

itemlist::sort

Auch hier kann zeilen- und spaltenweise und nach der Z-Order sortiert werden.

23.05.2008
Seitenadapter Version 1.1
  • Wesentlich schneller
  • Zwei Bildausschnitte statt wie bisher nur einen
  • Bild-Magnet
  • Automatische Grössenanpassung der Dokument-Arbeitsfläche
  • Bearbeitung gesperrter Rahmen
  • Ecken-Werkzeug für min./max. proportionale Grössenänderung
  • Schriftgrössenanpassung überarbeitet (min./max. Schriftgrösse, ganzzahlige Schriftgrössen)
  • Preview-Funktion mit Schrittweite, Undo möglich
  • Ausrichten von Rahmen (Skriptbefehl)
22.05.2008
Bug 1164 - set_startpage ignoriert den übergebenen Style Egal was set_startpage als Style übergibt er behält immer die Einstellung die im Dokument ist!

err_code = document::set_startpage(2, 4);

Das geht jetzt wieder. Ab CS2 gibt es noch einige Möglichkeiten mehr :

   5 : 01, 02, 03, ...
   6 : 001, 002, 003, ...
   7 : 0001, 0002, 0003, ...
   8 : Fullwidth (? Was auch immer das bedeutet)
   9 : Kanji

20.05.2008
Bug 1166 - Absturz von frame::replace_all, wenn im Text Tabellen enthalten sind Die Aufrufe frame::replace_all (gFrame, "") bzw. textmodel::replace_all ("") führen zum Absturz von InDesign®, wenn der Textrahmen Tabellen enthält.

Dass das noch niemandem aufgefallen ist - der Fehler ist jetzt behoben.

20.05.2008
Bug 1162 - Skriptbefehl zur Anwendung der nötigen/verbotenen Bildteile des Seitenadapters Im Seitenadapter kann man für Bilder einen Bereich eines Bildes angeben, der mindestens gezeigt werden soll und einen Bereich, der nicht mehr gezeigt werden darf. Die dazu nötigen Rahmentransformationen sollen nicht mehr automatisch vom Adapter gemacht werden sondern mit Hilfe eines Skriptbefehles in einem Resize-Skript des Rahmens erledigt werden. Dazu brauchen wir natürlich diesen Befehl.

frame::apply_display_details macht das Gewünschte.

20.05.2008
Bug 1157 - Skriptbefehl zum Ausrichten von Rahmen Wir brauchen einen Skriptbefehl, mit dem Dokumentrahmen ausgerichtet werden können. Der Befehl sollte auch für Rahmen innerhalb einer Gruppe funktionieren.

Der neue Befehl itemlist::align tut das Gewünschte.

15.05.2008
Bug 1156 - Skriptbefehl für die Textskalierung Wir benötigen einen Skriptbefehl, mit dem die Grösse von Texten skaliert werden kann.

Den Befehl textmodel::scale_font gibt es schon eine ganze Weile. Ich hab ihn aber noch ein bisschen erweitert und die vergessene Doku nachgeschrieben. Man kann den Befehl jetzt auch mit Minimum und Maximum der Schriftgrösse verwenden, nur ganzzahlige Schriftgrössen erlauben und Textoversets verbieten. Ausserdem kann der Befahl als eine Art FitContentToFrame verwenden - in diesem Fall wird die Skalierung selbst gesucht und der Text so verändert, daß er den Rahmen möglichst genau ausfüllt.

14.05.2008
R 712 Bug 1151 - Jede Menge Hyperlinks Enthält ein Platzhalter eine Anweisung hyperlink::create~, entstehen bei jedem Aktualisieren neue Hyperlinks im Dokument.

Beim Neuladen von Texten über den Cometen wurden bisher Hyperlinks im alten Text nicht gelöscht. Und InDesign® macht das von alleine schon mal gar nicht. Dadurch entstanden Hunderte unbenutzter Hyperlinks.

Zusätzlich vergibt InDesign® Neuanlegen von Hyperlinks automatisch eindeutige Namen (Name, Name 2, Name 3, ...). Das ist zwar nett, aber wenn man Hyperlinks gerade erst gelöscht hat (wie es der neuen Comet tut), kommt da zum Teil falsches raus - und dann stürzts ab.

Und wie kriegt man die überflüssigen Hyperlinks aus den Dokumenten wieder raus?

Die InDesign®-Bordmittel (Hyperlink-Palette und dort der Papierkorb) führen leider zum Absturz von InDesign®. Deshalb gibt es jetzt den neuen Skriptbefehl hyperlink::delete_all. Damit werden alle Hyperlinks aus dem Dokument entfernt. Der Befehl kann wahlweise direkt und ohne irgendwelche Tests und Updates einfach die blöden Hyperlinks löschen, sichert dann das Dokument und öffnet es neu.

Wenn man das machen will, ist es am besten, ein Palettenskript für die Produktrecherche zu machen (Eintrag in actions.xml) mit folgendem Inhalt für das harte, direkte Löschen mit Sichern und Neuladen

int main ()
{
    hyperlink::delete_all (
        0,		// Aktuelles Dokument
        1);		// Direkt löschen
    return 0;
}
08.05.2008
Bug 1146 - CSV-Konvertierung ist extrem langsam Die Konvertierung einer CSV-Datei in XML dauert unter CS3 extrem lange. Für 60 MB Datei, die unter CS2 in 4-5 Minuten konvertiert wurde, braucht CS3 4-5 Stunden.

Der Fehler ist behoben. Das Konvertieren dauert jetzt bei mir (Mac DualCore mit 2,33GHz) etwa 80-90 Sekunden - find ich eigentlich ganz flott für eine 60 MB CSV-Datei mit über 170.000 Datensätzen.

FYI

Das Problem lag an einer geänderten Implementierung der verwendeten STL-Klasse std::list. Offensichtlich ist die von Apples XCode verwendete GNU-STL nicht ganz so der Brüller.

08.05.2008
Bug 1143 - <w2>-Tag Erweiterung, so dass die Platzhalterwerte Infos1/Infos2 gesetzt werden können Geht jetzt in w2 und in-Tag. Hier ein Beispiel :

     <w2: 123469, 100, 1299, 1, 'stringid', infos1 'aaaaa', infos2 'bbbbb'>dummy</w2>

Zusätzlich werden Infos1 und und Infos2 jetzt auch in der Platzhalterpalette angezeigt.

06.05.2008
Bug 1144 - productlist::build_list() funktioniert nicht mit Flag kIntersectionsAllowed (produktorientierter Rasteraufbau) Der produktorientierte Rasteraufbau über den Befehl productlist::build_list() liefert nicht das gleiche (korrekte) Ergebnis, wie der selbe Aufbau in manueller Weise.

Productlist::build_list ist eigentlich für den Aufbau von Produkten unabhängig von der Produktpalette (InDesign® Server und Spezialfälle) gedacht. In allen anderen Fällen ist document::build_products die bessere Wahl. Ich hab eine entsprechende Bemerkung in die Doku eingefügt.

Tja, und ansonsten : Stimmt, der Aufbau ist unterschiedlich. Auf dem langen Weg zwischen den einzelnen Plugins (die programmiertechnisch verschiedene Applikationen darstellen) ist die kleine Info "Raster-ID" der einzelnen Produkte verloren gegangen. Diesen Fehler hab ich gefixt - jetzt stimmt auch das.

06.05.2008
Bug 1119 - list::reload (3) lösst kein Neuladen der Produktrecherche-Palette aus Die Anweisung list::reload (3) lösst kein Neuladen der Produktrecherche-Palette aus.

Das versteh ich gut, dass das nicht funktioniert : list::reload lädt nur die einzelnen Einträge, nicht die Liste der Einträge der neu. Das ist in der Doku nicht eindeutig genug beschrieben - und ehrlich gesagt fällt mir auch für die Funktionsaufrufe kein eindeutiger Name ein.

List::reload hat jetzt nach der KlassenID für die Zielpaletteeinen den weiteren Parameter reloadList. Dieser Parameter gibt an, ob die Liste komplett neu geladen werden soll oder nur die einzelnen Einträge.

25.04.2008
Bug 1131 - InDesign® CS3 wird unerwartet beendet bei Verwendung von frame::resize Rahmen dürfen nicht kleiner werden als die Breite ihrer Ränder. Die Funktion frame::resize liefert in diesem Fall den Fehler 11266. Das entsprechende Dokument scheint danach nicht mehr richtig zu funktionieren.

Ich habe die Funktion frame::resize erweitert. Dort wird jetzt geprüft, ob die Zielgrösse des Rahmens mit der gesetzten Rahmenbreite vereinbar ist. Ist das nicht so, wird die Rahmenbreite automatisch entsprechend verkleinert.

24.04.2008
Bug 1140 - frame::stroke verlangt immer eine Farbe Der Aufruf frame::stroke verlangt zwingend die Angabe einer Farbe. Will man die Farbe unverändert lassen und nur eine andere Einstellung der Rahmenkante ändern, muss man die bisherige Farbe kennen (wofür es leider zur Zeit noch keinen Skriptbefehl gibt.). Und dann weiss man nicht weiter :-(

Die Farbangabe ist jetzt optional und kann mit "" angegeben werden. Damit sind alle Parameter des Aufrufes ausser dem Rahmen selbst optional. Fehlen alle Werte oder haben ihre Defaultwerte, tut die Funktion nichts.

24.04.2008
Bug 1139 - Nach Import von Vorlage über die Vorlagenpalette ist Neulogin erforderlich Zumindest unter SOAP ist nach dem Import von Vorlagen über die Vorlagenpalette ein Neulogin erforderlich. Bis dahin werden die alten Previews angezeigt und die alten Vorlagen verwendet - zumindest dann, wenn die Vorlage beim Import in der Palette angezeigt wird.

In den anderen Datenpools ist zwar keine neue Datenverbindung nötig, aber die Vorlagenpalette muss neu geladen werden.

Der Export/Import von ist immens aufwendig. Diesen kleinen Punkt habe ich übersehen. Jetzt verhält sich alles so wie es soll.

24.04.2008
Bug 1137 - Referenzpunkt für frame::resize, frame::image_size, frame::image_scale Die genannten Funktionen verwenden als Referenzpunkt immer die linke obere Rahmenecke. Könnte man auch andere Referenzpunkte verwenden?

Ja, meine lieben Freunde, man kann. Die drei Funktionen sind erweitert, so dass die neun üblichen Rahmenpunkte als Referenzpunkte verwendet werden können. Und zusätzlich, weil ich so lieb bin kann, kann man darüber hinaus noch einen Offset von diesen Punkten aus setzen.

23.04.2008
Bug 1091 - Probleme mit frame::embed_image|file (Siehe auch hier.) Ein weiteres Problem mit eingebetteten Bildern : Die gesamten frame-Funktionen mit Bildern (frame::image_getpos, frame::image_pos, ...) funktionieren nicht. Anscheindend wird das eingebettete Bild der Rahmen nicht gefunden.

Na, da kommt Freude auf. Dieser Fehler ist jetzt behoben.

23.04.2008
R 683 Bug 1135 - linklist::collect in verketteten Textrahmen In verketteten Textrahmen wird jeder Link für jeden Rahmen der Kette gefunden. Bei drei verketteten Rahmen wird also jeder Platzhalter dreimal gefunden.

Zeigt ein Rahmen der übergebenen Liste auf den selben Text, wird er ab jetzt nur einmal durchsucht. Dann ist alles richtig.

22.04.2008
Bug 1134 - linklist::collect-Ergebisliste sortiert nach Z-Order Zur Berechnung, wieviel Platz ein Produkt auf einer Seite belegt, müssen wir wissen, welcher Rahmen welchen verdeckt. Dazu wäre es sehr hilfreich, die Ergebnisliste von linklist::collect auch nach der Z-Order sortiert zu bekommen.

linklist::collect und linklist::collect_any können jetzt auch mit der Sortierangabe kSortByZOrder aufgerufen werden. Weiter hinten liegende Rahmen sind dann auch weiter hinten in der Ergebnisliste.

22.04.2008
Bug 1133 - table::compress_colwise und table::fit_col sind sehr langsam Die beiden Funktionen table::compress_colwise und table::fit_col werden sehr langsam, wenn die Texte im Rahmen lang sind und/oder viele Tabelle enthalten. Auffällig ist dabei auch, dass hintere Tabellen deutlich länger brauchen als erste Tabellen im Text.

Das ist leider richtig. fit_col versucht in kleiner werdenden Schritten die jeweilige Spalte anzupassen bis kein Zellen-Overset mehr auftritt. Leider benötigen die Zellen ein Re-Rendering des Textes, damit der nötige Overset-Anzeiger aktiviert wird. Diese Malerei dauert natürlich immer länger, je weiter unten man im Text ist. Und compress_colwise verwendet fit_col ziemlich oft.

Soweit ist das einsehbar.

Trotzdem ist es jetzt schneller, weil, nun ja, wir können ja auch rumtricksen. Im Stresstest habe ich 50 Tabellen in 30 Seiten Text. Es macht jetzt keinen Unterschied mehr, die erste oder letzte Tabelle zu bearbeiten. Ich habe jeweils 10 mal compress_colwise auf eine ziemlich breite Tabelle gemacht. Hier die Ergebnisse :

1. Tabelle Letzte Tabelle
Alt 16 Sek. 78 Sek.
Neu 13 Sek. 13 Sek
22.04.2008
Bug 1130 - frame::duplicate Wir benötigen einen neuen Skriptbefehl, mit dem Rahmen im Dokument dupliziert werden können.

frame::duplicate tut das Gewünschte. Kopiert können Rahmen innerhalb eines Dokumentes oder zwischen (geöffneten) Dokumenten.

22.04.2008
Nachtrag
R 603 -
R 673
Bug 998 - Unterstützung für InDesign® Objektstile

Zumindest rudimentäre Unterstützung geht ab R612: mit dem neuen Skriptbefehl

frame::set_objectstyle (ItemRef frame, char * stylename, int applyEmptyCat = 0)

kann einem Rahmen ein Objektstil zugewiesen werden. "frame" und "stylename" sind selbsterklärend, der dritte Parameter gibt an, ob leere (= unchecked / nicht aktivierte) Kategorien des Stils angewandt werden sollen.

 
Bug 1008 - FATAL ERROR in cstring conversion Dieser Fehler trat unter Windows bis R610 beim Parsen von XML Dateien mit UTF-8 Umlauten auf und wurde behoben  
Bug 1012 - (CS3 Server) Log funktioniert nur eingeschränkt Bis R610 beinhalteten die Logausgaben von InDesign® Server / CS3 nur Meldungen des CoreService PlugIns, dieser Fehler ist behoben.  
Bug 1018 - Pre / PostRules der Pageitems überschreiben Werte der Produkte

Ab R563
Für Produkte per product::set gesetzte
- kPreRuleid
- kPreRuleparams
- kPostRuleid
- kPostRuleparams
- kGridid
- kElementid
- kAdparams

werden beim automatischen Produktaufbau durch die entsprechende Werte des PageItems überschrieben.

Ab R603 so gelöst:

Der für das Produkt gesetzte Wert wird nur überschrieben, wenn für das PageItem ein Wert != 0 bzw. nicht leer (für Strings) angegeben ist.
Weichen die beiden Werte (Produkt und PageItem) voneinander ab und sind beide != 0 bzw. nicht leer, wird im Logfile eine Warnung ausgegeben.

 
Bug 1022 - Soap Projekte funktionieren unter Windows nicht

Ab R592 (mit Soap Cache)
Wenn der File-Delimiter des Systems von dem in den SOAP fileId's verwendeten abweicht, kann das PlugIn keine sinnvolle ID zur Identifizierung der gecachten Skripte bilden.

Typischerweise tritt das Problem unter Windows auf und äußert sich z.B. mit Fehler 403 beim der Ausführung von Batch-Jobs.

Dieser Fehler ist seit R610 behoben.

 
Bug 1058 - Comet geht 31 Jahre nach

Punkrock im Autocometen: für die Start- und Endzeiten (dmn_ScheduledJobs.started und dmn_ScheduledJobs.ended) wird das Jahr 1977 angegeben. Auf dem Rechner ist es 2008.

CS3 Server R603 auf OS-X Server 10.4.11

Behoben ab R668

 
Bug 1103 - Publikationen-Palette ist nicht SOAP-fähig

Stimmt so nicht ganz: nach demselben Prinzip wie für XML Offline Projekte konnte die Publikationspalette auch über SOAP verwendet werden, allerdings war das nicht praktikabel.

Jetzt werden die Daten statt aus der Konfigurationsdatei über SOAP::getList geladen, siehe dazu die aktualisierte Dokumentation der Publikationen-Palette.

 
Bug 1021 - Absturz bei Produktaufbau (PreScript, PreRule) Dies war kein Bug in den PlugIns, einige mögliche Fallen sind im Bug-Bericht aber aufgeführt und damit gleich die Motivation für den neuen Skriptbefehl productlist::seek begründet.  
Bug 1028 - Farbe 'None' wird jedesmal dupliziert

(InDesign® Server CS2 / CS3)

Der Fehler lag in der Farbverwaltung auf InDesign® Server, ab R610 werden Farben richtig verwaltet.

 
Bug 1033 - document::print funktioniert nicht

(InDesign® CServer CS2 / CS3)

Funktioniert ab R606

 
Bug 1034 - Zeichensatz-Problem bei polnischen Zeichen

Ursache war leider ein genereller Fehler im SOAP Framework bei der Verarbeitung numerischer Entities (HEX oder dezimal) >= 255. Der (zunächst korrekt) ermittelte Zahlenwert wird einfach auf einen char verkürzt.

Numerische Entities in SOAP werden jetzt beim Lesen generell in InDesign® Tags umgewandelt, fehlerfrei funktoniert dies ab R672

 
R 678 Bug 984 - Shortcuts für die Palettenmenüs Shortcuts können jetzt hinter dem Namen der Aktion durch zwei Kommas getrennt angegeben werden. Folgende Schlüsselworte bezeichnen die einzelnen Modifier-Tasten
  • Shift
  • Ctrl
  • Cmd
  • Opt

Mehr dazu siehe auch hier und in der Online-Doku.

Unter SQL werden die Shortcuts leider nicht ausgewertet. Da steht dann hinter dem Menü immer ",, Cmd+Shift+W" oder so was.

Oops, das geht jetzt.

Trotzdem noch mal laut : Die Shortcuts werden nur gesetzt, wenn sie in InDesign® noch nicht verwendet werden. Cmd+Irgendwas geht kaum noch, vielleicht noch Ö, Ü, ß oder so was. Bevor ihr Fehler eintragt, also bitte erst mal im Menü Edit:Keyboard Shortcuts ... probieren. Danke.

21.04.2008
Bug 1129 - Schlagschatten an Platzhalter Bei den angelieferten Daten vom Kunden tritt bei verwendeten Schlagschatten am Pfad eines Bildes das Phänomen auf, das der Schlagschatten auch am Platzhalter sichtbar ist. Bei kleinster Veränderung des Rahmens verschwindet der fehlerhafte Schlagschatten am Platzhalter. Wenn nichts editiert wird bleibt der Fehler in den Druckdaten erhalten. Bei der angehängten Datei können Sie den Fehler bei den beiden T-Shirts unten rechts sehen.

          

Der Schlagschatten an den Adornments der Platzhalter wird jetzt nicht mehr mitgedruckt.

           

21.04.2008
Bug 1127 - frame::insert u.ä verschieben in Platzhalterskripten den Platzhaltzer Also, das ist schon merkwürdig, dass das bisher noch keiner gemerkt hat : Das folgende kleine Platzhalterskript erzeugt, wenn der Platzhalter nicht gerade an der Stelle 0 liegt, richtige Fehler.
int main ()
{
	frame::insert (gFrame, "abc", 0);
	textmodel::replace ("AAAAA");

	return 0;
}

Bis zu drei Zeichen (die Länge des eingefügten Textes vor dem Platzhalter) vom Ende des alten Platzhalters bleiben nämlich im Dokument stehen. Zum Ausgleich dafür werden vor dem Platzhalter eben so viele Zeichen entfernt. Mit frame::replace kann man noch bessere Dinge provozieren.

Au Schreck! Das hab ich aber jetzt sofort repariert!

17.04.2008
Aktualisierung der Seitennummerierung und Crossreferenzen und Büchern Beim Aktualisieren aller Platzhalter eines Dokumentes wird jetzt, wenn das Dokument Teil eines geöffneten Buches ist, automatisch die Seitennummerierung im gesamten Buch aktualisiert.

Enthalten die Buchdokumente Comet-Crossreferenzen, werden auch diese aktualisiert.

14.04.2008
Bug 1114 - link::textlen ist immer 0 Obwohl der Link mit linklist::collect geholt wurde, ist der Wert von link::textlen immer 0. Und was ist eigentlich link::length im Gegensatz dazu?

Das stimmt. link::textlen gibt die Länge des exportierten Textes an, der ist aber erst nach einem link::content verfügbar (also auch dessen Länge). Das war in der Doku nicht so gut beschrieben. link::length dagegen gibt an, wie lang der Text im Dokument ist. Das sind (ganz klar) zwei verschiedene Werte, wenn man nur mal bedenkt, wie lang ein TaggedText so werden kann.

Damit es keine Verwechslungen mehr gibt, habe ich die Funktion link::textlen umbenannt in text::content_length. link::textlen erzeugt ab sofort einen Skriptfehler und muss ersetzt werden.

10.04.2008
Bug 1121 - Querverweise (Crossreferenzen) in InDesign® Dokumenten und -Büchern InDesign® unterstützt ja leider keine Querverweise in Dokumenten und in Buch-Dokumenten. Nun brauchen wir das aber das leider hin und wieder. Gibt es eine Möglichkeit, das irgendwie mit unseren Plugins zu lösen?

Lösung

Mit einer Kombination aus InDesign®-Hyperlinks mit Zielverweisen und dem (neuen) Werk II Platzhaltertyp "Querverweis" ist das jetzt möglich : Die Hyperlinks definieren dabei das Querverweis-Ziel, die Querverweis-Platzhalter können dann auf diese Ziele verweisen. Zum Anlegen von Querverweis-Zielen und suchen dieser Ziele gibt es diverse Skriptfunktionen und Menübefehle.



  1.  

Das Ganze funktioniert innerhalb von Dokumenten und, wenn ein Buch geöffnet ist, das dieses Dokument enthält, auch über das ganze Buch.

Die Querverweise werden aktualisiert, wenn ALLE Rahmen eines Dokuemtes neu geladen werden oder über den (neuen) Menübefehl "Aktualisiere Seitennummern und Querverweise" in der Buchpalette. Ausserdem gibt es einen Skriptbefehl dazu (document::update_crossrefs).

Mehr dazu in der Online-Doku (InDesign/Plugins/crossref.html).

Neue Skriptfunktionen

Erweiterte Skriptfunktionen

Neue Skriptglobale

10.04.2008
Bug 1078 - Platzhalter zeigt nach Neuladen falschen Snc-Status, roten Haken Platzhalter, die aus Skripten bestehen, behalten beim Neuladen ihr Sync-Icon. Wenn sie also vorher einen roten Haken hatten, haben sie nach erfolgreichem Neuladen immer noch einen roten Haken. Wenn sie vor dem Laden einen grünen Haken haben, behalten sie den auch.

Workaround:

Im Laden-Skript placeholder::set_sync (1); einbauen.

Dieser Fehler ist behoben.

10.04.2008
Bug 1094 - table::compress_colwise unterschlägt Zellen Bei sehr schmalen Rahmenbreiten verliert compress_colwise manchmal Zellen, wenn der Parameter firstCol > 0 ist. Dass in diesem Falle gar kein Platz da ist, um die Tabelle korrekt umzubauen, ist mir schon klar. Das Gemeine ist allerdings, dass compress_colwise trotzdem 0 zurückgibt; ein Fehlercode wäre an dieser Stelle gut.

Das geht jetzt. Die Tabelle wird so weit kompromiert, wie das möglich ist - dabei steht sie dann aber über den Rahmenrand hinaus. In diesem Fall wird der Fehlercode wrongColumnsForCompressErr (1266) zurückgegeben, obwohl die Tabelle komprimiert wurde.

Ausserdem (juhu!) dürfen Tabellen jetzt mehrfach komprimiert werden - das Ergebnis ist immer fein. Zusätzlich gibt es die neue Funktion table::decompress_colwise.

07.04.2008
Version 2.1 R 666 Das Release 666 trägt gleichzeitig die neue Versionsnummer 2.1.

Achtung : Auch die CS- und CS2-Versionen der Comet-Plug-Ins haben jetzt Versionsnummer 2.1. Beim Austausch mit den bisherigen Plug-Ins (Version 1.4.x) ist gleichzeitig ein neuer Lizenzschlüssel erforderlich.

04.04.2008
R 666 Bug 1099 - Tabellen werden zu oft bearbeitet In Texten mit Platzhaltern und Tabellen mit Platzhaltern werden offensichtlich die Tabellen viel zu oft bearbeitet. Das macht leider nicht den den Cometen nicht nur langsam sondern auch Text/Platzhalterinhalte kaputt. Sichtbar wird der Fehler auch im Logfile. Dort stehen unmässig viele Nachrichten der Art

    # Text [370, 424] contains 4 tables.

Und wenn man mal schaut, enthält so ein Textteil dann gar keine Platzhalter.

Das war ein schwerer Fehler, er ist jetzt behoben.

05.04.2008
Bug 1091 - Probleme mit frame::embed_image|file Unter Windows scheint der URL-Import von Bidern immer noch nicht zu klappen.

Das ist leider richtig. Eine klitzekleine Änderung an R644 in letzter Minute hat diesen Fehler bewirkt. Er ist jetzt behoben und Bilder können auch über eine URL geladen werden. Sollte der Import trotzdem nicht klappen : Bitte erstmal im Internet-Browser versuchen, ob die URL auch richtig ist und tatsächlich ein Ergebnis liefert

Zwei weitere kleine Fehler wurden gefixt :

  1. Ein im Rahmen bestehendes Bild wird jetzt vor dem Einbetten entfernt.
  2. Hat der Rahmen ein XML-Element im Dokument, wird dieses Element nach dem Import wieder hergestellt.
04.04.2008
Import/Export von Vorlagen Der Export und Import von Vorlagen über die Vorlagenpalette wurde komplett überarbeitet :
  • In der Vorlagenpalette ist Mehrfachselektion möglich.
  • Beim Export werden nur die selektierten Vorlagen exportiert.
  • Es gibt zwei Import-Menüs
    • Importieren ohne Überschreiben Bestehende Vorlagen des aktuellen Datenpool werden nicht verändert.
    • Importieren Überschreiben bestehender Vorlage und Einfügen neuer Vorlagen aus dem Importordner
  • Das Konvertieren-Button () ist entfernt. Konvertieren läuft jetzt immer über Export-Import.
  • Beim Import wird automatisch ein Upgrade aller Platzhalter auf die aktuelle Plugin-Version gemacht. Der Upgrade der Vorlagen wird über Snippets gemacht. Da unter CS noch keine Snippets definiert sind, kann unter CS auch kein Upgrade gemacht werden!
03.04.2008
Bug 1096 - Unter SQL werden die Nägel und Magneten in Vorlagen ignoriert Auch wenn ich in in der Tabelle pageitems das Attribut magnets angelegt habe, ignoriert der Comet, dass dieser Datenpool Nägel und Magneten verwenden darf. In den Konfigurationseinstellungen, die ins Logfile geschrieben werden, steht weiterhin :

    # Magnets & Nails : off

Dieser Fehler ist behoben.

03.04.2008
Bug 1086 - Die Anzeige von altem und neuem Wert in der ToDo-List ist so klein, dass man sie kaum lesen kann. Kann man diese Schrift deshalb nicht ein bisschen grösser machen?

Ja, man kann. Ich verwende dort jetzt statt 8-Punkt Verdana die 9-Punkt-Verdana.

27.03.2008
Bug 1085 - In der kleinen Ansicht der Preview-Palette fehlt der orange Pfeil Jetzt ist er auch in der kleinen Preview-Ansicht da und benutzbar. 27.03.2008
Bug 1084 - Absturz beim Atualisieren leerer Platzhalter in Tabellenzellen Enthalten Tabellenzellen einen leeren Platzhalter und wird dieser Platzhalter aktualisiert (z.B. mit textmodel::replace), dann stürzt InDesign® ab. Der Absturz kommt zwar erst, wenn man später mit dem Dokument arbeiten will, aber das macht es auch nicht besser.

Workaround

Leere Zellen mit Platzhaltern kann man sich leicht "einfangen", sie einstehen beim Anlegen neuer Tabellenzeilen oder -spalten, wenn der Vorgänger Platzhalter enthält. Das passiert sowohl beim Anlegen von Zeilen und Spalten über InDesign® als auch über die Skriptsprache. In der Skriptsprache sollte man in diesem Fall immer ein textmodel::clear_placeholders über die erzeugten Zellen laufen lassen.

Lösung

Das ist in der Tat ein übles Verhalten. Durch die Ersetzung des Platzhalters wird in diesem Fall der intern bitter benötigte Zellentrenner (\r) aus dem Dokument gelöscht und InDesign® kann die Zuordnung von Tabellenzellen zu ihrem Text nicht nicht mehr ordentlich machen und denkt sich halt was aus.

Der Fehler ist jetzt behoben. Vor JEDEM Einfügen von Text in Tabellenzellen wird jetzt in einer aufwendigen Rechnerei sichergestellt, dass die gewünschten Textpositionen nicht über den Zellenrand hinaus reichen und bei Bedarf eingeschränkt.

Zusätzllch haben die beiden Funkionen table::insert_rows und table::insert_cols einen neuen Parameter bekommen, mit dem die Platzhalter automatisch aus den neuen Zellen entfernt werden. Dann kann man sich das mühevolle Ausrechnen der Zellentextindexe für textmodel::clear_placeholders ersparen.

27.03.2008
Bug 1083 - Wenn der Inhalt eines Bildrahmens (brauner Rahmen) ausgewählt ist, führt Bildeinsetzen über die Preview-Palette zum Absturz Wenn der Inhalt eines Bildrahmens (brauner Rahmen) ausgewählt ist, führt Bildeinsetzen über den orangen Pfeil die Preview-Palette zum Absturz von InDesign®.

Dieser Fehler ist behoben.

27.03.2008
Bug 1082 - textmodel::cut, textmodel::copy, textmodel::paste Zum Umbauen erstellter Dokumente wäre es sehr hilfreich, über Funktionen für Cut/Copy/Paste von formatiertem Text über cscript zu verfügen.

Die Funktionen gibt es jetzt. Mehr dazu in der aktuellen Doku (textmodel::cut, textmodel::copy, textmodel::paste).

27.03.2008

Version Kurzbeschreibung Beschreibung Datum
R 644 Bug 1035 - Image platzieren mit script Folgendes Skript funktioniert nur im InDesign® auf dem MAC OSX.
img     = image::alloc(imagePath); // imagePath ist eine URL
					
printf (imageName, "/tmp/iquest/%s.jpg", barCodeName);
image::save(img, imageName);
image::release(img);
frame::image(gFrame, imageName, kPlaceTopLeft, 0.0);

Im Windows wird das Bild nicht gesetzt.

Tja, weil immer wieder Leute nicht wollen, dass Quicktime auf ihrer Dose installiert wird - dabei - was kann ihr denn besseres passieren? Also dann : image::alloc akzeptiert jetzt auch unter Windows URLs. Damit geht das dann.

22.03.2008
Bug 1014 - Bilder per HTTP-Angabe laden können Direkt in InDesign® kann man beim Platzieren von Bildern die Bilder auf per HTTP-URL laden, wenn ich das gleich in einem Bildplatzhalter mache, dann wird allerdings kein Bild geladen.

Wäre schön, wenn das mal gehen würde.

frame::embed_file und frame::embed_image tun das Gewünschte. Näheres dazu wie Immer in der Doku. embed_file akzeptiert auch URL - auch unter Windows! Und auch unter CS3!! Und da auch image::alloc jetzt unter Windows und Mac und CS und CS2 und CS3 URLs akzeptiert, kann man auch die Version embed_image des Befehles verwenden (wers mag).

22.03.2008
Bug 738 - file::download funktioniert nicht Unter CS3 funktioniert leider file::download nicht.

Das geht jetzt. Und es geht auch mit CS2 und CS und mit CS unter Windows und mit CS2 unter Windows und auch mit CS3 unter Windows.

Also - jetzt brauchts nur noch richtige URLs.

22.03.2208
Bug 997 - Methode um aus einem String einen float-Wert zu machen So wie bereits val() aus einem Zahlenstring einen int-Wert macht. Bei der Methode muss man dann wahrscheinlich ein festes Zahlenformat vorschreiben, damit man das gut parsen kann, z.B. immer . Als Dezimaltrenner und keine Tausendertrennzeichen.

Aah, die Genießer! Diese Funktionen gibts jetzt zusätzlich :

  • fval, float-Wert eines String (mit Komma oder Punkt, aber ohne Tausender-Trenner!)
  • ftoa, String das float-Wertes, als 2. Parameter ist ein printf-Format (wie "%.2f") erlaubt
21.03.2008
Bug 1036 - image::alloc (size) fehlt Bislang kann man nur eine Image-Variable erzeugen, die ihre Größe aus einer Dateigröße bestimmt. Wenn man aber ein Datenbank-Preview oder sogar das Bild in der Datenbank gespeichert ist, kann man die Image-Variable nicht richtig für das Auslesen der Datenbank vorbereiten.

Mit query::output (qu,kImage,img,image::bytes (im)-1) scheint man ja den Blob in eine Image-Variable holen zu können.

Die Bildgrösse muss auch gar nicht angegeben werden, es genügt völlig, ein neues (leeres) Bild zu allokieren und query::output mitzugeben. Um den Rest kümmern wir uns.
Image img = image::alloc ();
						
:
:
query::output (qu, kImage, img);
21.03.2008
Bug 1060 - Zugriff auf Tabellenzelle aus Textplatzhalter Wenn ich einen Textplatzhalter in eine Tabellenzelle setze, habe ich (soweit ich das gefunden habe) keinen Zugriff auf die Tabelle, in der sich der Platzhalter befindet.

Mit der neuen Funktion textmodel::get_table kann das jetzt gemacht werden. Mehr dazu siehe hier.

21.03.2008
Bug 1072 - table::fit_col in verketteten Textrahmen Die Funktion wirkt nur im ersten Rahmen einer Kette. Dabei ist nichts im Übersatz. Trotzdem gibt die Funktion in verketteten Rahmen Error 1259 (Table in Overset) zurück.

Wo er Recht hat, hat er Recht. Es wurde immer nur bestimmt, ob im ersten Rahmen ein Overset ist. Das ist natürlich nicht ganz richtig, es muss der letzte Rahmen der Kette sein. So wird es jetzt gemacht und der Fehler ist damit behoben.

20.03.2008
Bug 1037 - image::save (im,kPath,1) schreibt korrupte Datei Die Datei, die nach image::snapshot_page mit image::save geschrieben wird, kann weder von InDesign® noch sonstwo geöffnet werden.

Leider war das Erstellen des Schnappschusses der Seite nicht ganz richtig -image::save konnte in diesem Fall nur fehlerhafte Dateien schreiben. Jetzt geht alles wieder.

20.03.2008
Bug 1071 - Welchen aktuellen Wert haben $DESKTOP, $PREFS usw.? Gibt es einen einfachen Befehl, mit dem die aktuellen Werte dieser Bezeichner ermittelt werden können? Schön wäre es, auch die Werte von Aliasnamen der Palette "Einstellungen" (z.B. $DATA) ermitteln zu können.

file::uncurtain macht das. Ein Beispiel befindet sich im Bug 1048.

20.03.2008
Bug 1048 - Pfad anlegen per document::saveas Im Gegensatz zu document::duplicate funktioniert document::saveas nur, wenn der Zielpfad vorhanden ist. Sonst kommt die poetische Fehlermeldung:

    "Doc.indd" kann nicht unter einem neuen Namen gespeichert werden. Die Datei
    "Doc.indd" ist beschädigt (Fehlercode: 1).

Okay, das geht jetzt. Hier ein Beispielskript, das den Text des aktuellen Rahmens als neuen Pfad nimmt (uncurtain ist neu und ersetzt $DESKTOP und so was, siehe Bug 1071) :


int main ()
{
	String    s = string::alloc ();
	int       res;

	textmodel::gettext (s);
	res = document::saveas (0, file::uncurtain (string::get (s)));
	wlog ("", "Save as (%d) : '%s'\n",
			  res,
			  file::uncurtain (string::get (s)));

	return 0;
}
20.03.2008
Bug 982 - <link>-Tag ist leer wenn das verknüpfte Bild nicht verfügbar ist

Bug 1047 - frame::image_getpath liefert nur Pfade von vorhandenen Dateien

Verweist auf Bildrahmen auf eine nicht (mehr) existierende Datei, sind leider die Angaben über den verwendeten Bildpfad leer (placeholder::path, frame::get_imagepath, <link>, <linkfolder>, <linkname>).

Das sollte jetzt gehen. Eigentlich nur für den Mac wurde aus dem erhaltenen Pfad intern ein Dateiobjekt erzeugt, von dem dann noch mal der Pfad ermittelt wurde. So was ist leider nötig, weil Adobe immer noch die alten MacOS 9- Pfade (Laufwerk:Users:paul:...) verwendet und nicht die neuen MacOS X-Pfade (/Users/paul/...). Wenn eine Datei nicht mehr verfügbar war, ist dieser Zwischenschritt fehlgeschlagen.

Nun, unter Windows braucht man diese Konvertierung gar nicht. Und unter MacOS X ist es auch nicht so schwer, den führenden Laufwerksnamen zu entfernen und alle : durch / zu ersetzen.

20.03.2008
R 633 Bug 1070 - Skriptfunktion zum Bestimmen des Textrahmens an einer Textposition Es wird eine Skriptfunktion benötigt, die abhängig von der Textposition den zugehörigen Textrahmen ermittelt.

textmodel::get_frame tut das Gewünschte.

19.03.2008
Bug 1003 - Textplatzhalter in Inline-Rahmen erhalten keine RecordIDs Hat man in einem Textrahmen einen Inline-Rahmen, der selbst wieder einen Textplatzhalter enthält, und verknüpft den ganzen Rahmen mit einem Produkt, so erhält der Platzhalter im Inline-Rahmen keine RecordIDs. Bei CS 2 klappt es, nur bei CS 3 geht es schief. Getestet auf Windows.

Das geht jetzt auch unter CS3

19.03.2008
Bug 1029 - Datenbank-Previews werden nicht angezeigt in der Preview-Palette Fehler
  1. Bei Snippets stürzt InDesign® unter Windows ab.
  2. TIFF-Bilder nicht gezeigt werden. Von diesen Dateien kann offensichtlich kein Preview erzeugt werden.
  3. Die Previews-Palette erstellt sich die Previews entweder jeweils aus der entsprechenden Datei selbst oder zeigt Snippets an (die dann keinen Pfad haben). Beides zusammen, also ein Dateieintrag, der einen Datenbankpreview zeigt, geht leider nicht.

Lösung

  1. Snippets führen jetzt auch unter Windows nicht mehr zum Absturz.
  2. TIFF-Bilder können jetzt gezeigt werden.
  3. Previews können jetzt auch von der Datenbank geladen werden. Die Auswahl der Blobs erfolgt über eine Erweiterung im Pfad-Attribut (siehe oben). Hier alle drei Möglichkeiten für diesen Wert:
    Name Syntax Bemerkungen
    Datei path Dateiverweis, das Preview wird automatisch erzeugt.
    Snippet snippet@select BLOB from ....
    Datei mit Preview image@select BLOB, path from ... Dateiverweis mit eigenem Preview. Previews sollten JPG, PNG oder GIF vorliegen

19.03.2008
Bug 1004 - Previewpalette zeigt keine Vorschau der Bilder Versandhandel-Showcase (ftp:...w2admin/Showcases), mysql-DB, die Previewpalette zeigt zwar die richtigen Einträge an, aber die Vorschau-Felder bleiben grau. Es steht in der Palette jeweils, das die Datei vorhanden sei. Die Bilder können per Drag&Drop geladen werden. Im Logfile steht nichts auffälliges.

Das stimmt zwar - aber in diesem Showcase sind ausschließlich EPS-Bilder enthalten. Und DIE gingen nicht. Jetzt geht auch EPS wieder.

19.03.2008
Bug 1069 - AppleScript aus der Skriptsprache ausführen Für einen Kunden benötigen wir dringend die Möglichkeit, AppleScript aus cscript heraus ausführen zu können. Schön wäre es, wenn das Skript ein Ergebnis an zurückgeben könnte.

Das geht jetzt mit dem neuen Skriptbefehl run_applescript - natürlich nur unter Mac! Der Aufruf erwartet als Eingabe ein vollständiges AppleScript, nicht den Verweis auf irgendeine Skriptdatei. In einem zusätzlichen char*-Parameter kann der return-Wert des Skriptes abgegriffen werden. Ein Beispiel befindet sich in der Doku.

18.03.2008
Tabellen falsch aktualisiert In allen Releases von R 556 - R 623 ist ein Fehler beim Aktualisieren von Platzhaltern. Dieser Fehler bewirkt, dass Tabellen im Text mit falschen Objekt-IDs verknüpft wurden. Dieses Releases sollten nicht verwendet werden! 18.03.2008
Bug 1066 - table::fit_cols funktioniert nicht immer Ist eine Tabellenspalte sehr schmal, führt fit_cols zu seltsamen Ergebnissen. Es scheint fast so, als würden Tabellenspalten mit negativer Breite gesetzt.

Workaround : Vor fit_cols einmal resize_cols auf der entsprechende Spalte ausführen und die Spaltenbreite größer 13 setzen.

Es stimmt, fit_cols hat tatsächlich negative Spaltenbreiten gesetzt. Das Selbe konnte man mit resize_cols erreichen. fit_cols funktioniert jetzt auch bei sehr schmalen Spalten und resize_cols setzt keine negativen Spaltenbreiten mehr.

18.03.2008
Bug 1065 - Neue Gestaltungsmethoden erst nach Neulogin verfügbar Wenn ich im Tabellenmodul eine neue Gestaltungsmethode von Typ Skript anlege, wird diese neue Methode erst nach Neulogin ins Methoden-Popup übernommen.

Der Fehler trat tatsächlich nur bei Gestaltungsmethoden vom Typ Skript auf. Und auch dort ist er jetzt behoben.

17.03.2008
R 621 Produktrecherche neu laden nach Seitenwechsel Auf der Produktrecherche befindet sich vor dem Popup für die Suchmethode ein kleines Button, mit dem eingestellt werden kann, ob sich die Palette nach einem Seitenwechsel im Frontdokument erneuern soll () oder nicht ().
Neue Skriptfunktionen für Tabellengestaltung table::compress_colwise und table::get_keystring 16.03.2008
Bug 1055 - document::page gibt es nicht mehr In einem Skript kommt document::page() vor. Leider kennt der Interpreter das nicht mehr!

   CoreService Error...
   "Error 6 - undeclared identifier :document::page"

SCHADE, war eigentlich 'ne nette Sache.

Die Funktion ist jetzt wieder verfügbar.

11.03.2008
Bug 1056 - <w2>-Platzhalter zwischen Tabellen im TaggedText bekommen falsche Textpositionen Hat man einen TT-Text, in dem zwischen Tabellen w2-Platzhalter stehen, werden zwar Text und Tabellen richtig eingefügt. Leider sind aber die Platzhalter-Positionen zwischen den Tabellen falsch. Sie verschieben sich pro eingefügte Tabellen um etwa 2-8 Zeichen nach vorne.

Das stimmt leider. Vor dem Einfügen von TT-Text muss der Comet sehr penibel und aufwendig ausrechnen, an welche Textposition welches importiertes Zeichen kommen wird. Leider ist das von Tabellen nicht vorhersehbar. InDesign® verteilt in den Text pro Tabelle einen Tabellen-Anker, der jeweils genau die genannten 2-8 Zeichen lang ist und es gibt keine Möglichkeit, von aussen festzustellen, wieviel Ankerzeichen eine Tabelle einnehmen wird.

Wie auch immer - mit einigen kleinen Tricks, die wir so darauf haben und nicht weitererzählen, gehts aber trotzdem, die Platzhalterpositionen richtig zu bestimmen.

Der Fehler ist jetzt behoben.

11.03.2008
Bug 1030 - Zeichenstile in TaggedText-Tabellen Es ist schwierig, innerhalb einer TaggedText-Tabelle einen Zeichenstil zu setzen:

    <clStart:1,1>Normal<clEnd:>
    <clStart:1,1><cstyle:Bold>Fett<cstyle:><clEnd:>

bringt InDesign® durcheinander. In der ersten Zelle steht "NormalFett", die zweite bleibt leer. Ein TaggedText-Export zeigt, dass InDesign® zusätzlich ein (leeres) Absatzformat angibt:

    <clStart:1,1>Normal<clEnd:>
    <clStart:1,1><pstyle:><cstyle:Bold>Fett<cstyle:><clEnd:>

Das funktioniert beim normalen Import, der Comet macht allerdings eine zusätzliche Leerzeile in die Zelle mit dem fetten Text. Anscheinend geht der Comet davon aus, dass <pstyle:> immer mit einer Zeilenschaltung verbunden ist und übernimmt die dann automatisch.

Ein Workaround ist, vor dem <cstyle:> ein unsichtbares Leerzeichen einzufügen:

    <clStart:1,1>Normal<clEnd:>
    
<clStart:1,1><0x200B><cstyle:Bold>Fett<cstyle:><clEnd:>

Es geht ganz einfach : Man muss sich nur an die (bisher) ungeschriebene Regel halten :

Im TaggedText die langen Tags verwenden, also statt clStart CellStart, statt clEnd CellEnd usw.. Ich habe das jetzt extra nochmal in die Doku geschrieben. Und außerdem hab ich das entsprechende Plugin mit den Kurzformen der TabellenTags bekannt gemacht (aber nur die!!!!!). Comet wird NICHT vor jedem TT-Import alle 278 Kurzformen in Langformen übersetzen.

Was ist mit Absatz-Stilen am Anfang einer Tabellenzelle? Der comet ersetzt ja jeden <ParaStyle:...> durch ein Absatz-Ende und den ParaStyle. Auch den ersten ParaStyle in einer Tabellenzelle??? Es war jedenfalls mal so, und da funktionierte dann der Workaround, das Tag <pstyle:...> zu verwenden. Hast Du Deine neue Lösung mal mit einer TaggedText-Tabelle getestet, in der Absatz-Stile gesetzt werden? Wenn nicht, mach das bitte noch. Wenn das klappt, ohne Extra-Return, kannst Du den Bug gerne wieder schließen.

Auch das funktioniert.

10.03.2008
Bug 1039 - comet.pln funktioniert nicht (R601 CS2) Das Reader-Plugin meldet beim Start einen Konflikt mit sich selbst. Comet++ und CometXML funktionieren einwandfrei.

Das funktioniert jetzt wieder. Eine neue Resource wurde aus Versehen doppelt ins Reader-Plugin eingesetzt.

Bug 1034 - Zeichensatz-Problem bei polnischen Zeichen Polnische Zeichen (z.B. das durchgestrichene L) werden im Cometen falsch ausgegeben. Vermutlich liegt das Problem im SOAP-Server. Auf der dahinter liegenden MySQL-Datenbank ist noch alles ok (Abruf per MySQL-Client und Aqua Data Studio funktionieren).

Mit SOAP-Server und InDesign® auf dem PC tritt das Problem genauso auf.

Das funktioniert jetzt.

11.03.2008
Bug 1022 - Soap Projekte funktionieren unter Windows nicht Wenn der File-Delimiter des Systems von dem in den SOAP fileId's verwendeten abweicht, kann das PlugIn keine sinnvolle ID zur Identifizierung der gecachten Skripte bilden.

Typischerweise tritt das Problem unter Windows auf und äußert sich z.B. mit Fehler 403 beim der Ausführung von Batch-Jobs.

Der Fehler ist behoben.

13.02.2008
Bug 1017 - framerules-select-Statement für ODBC ist falsch Wenn man framesrules verwenden möchte, daher die Tabelle framerules anlegt, geht es trotzdem nicht, da der comet ein fehlerbehaftetes sql-statement abschickt, nämlich fehlt der Teil "from framesrules", wie man im angehängten screenshot sehen kann. Getestet mit Win CS 2 R 601 und einer mysql-Datenbank.

Der Fehler ist behoben.

11.02.2008
Bug 1005 - Replace-Button auf Preview-Palette tut nichts In CS 3 passiert nichts, wenn man mit der Preview-Palette ein Bild durch eine Variante ersetzen will (Knopf mit dem orangen Pfeil in der Liste). Getestet mit dem Versandhandel-Showcase (ftp:...w2admin/Showcases). Im logfile steht nichts auffälliges.

Der Fehler ist behoben.

21.02.2008
Bug 1023 - TaggedtextChaos nach Indesign Update auf 5.0.2 Nach einem InDesign® CS3 Update auf Version 5.0.2 auf dem Mac kommt es zu einigen unerfreulichen Effekten wenn man TaggedText ausgibt:
  • Gibt man den Tag ParaStyle mit, wird dieser durch 3-5 Returns ersetzt statt nur einem.
  • Gibt man eine Platzhalter mit dem w2 Tag aus, bleibt nach dem Laden des Platzhalters immer der letzte Buchstabe des Dummy-Textes stehen.
  • Gibt man nur Text mit Paragraphen-Stilvorlage aus (auch <pstyle>) kommt immer ein einfaches weiches Return am Anfang
  • Wenn ich unter ID 5.0.2 einen TaggedText mit einem CharStyle ausgeben will (%!TT<CharStyle:W2_Stattpreis>text oder %!TT<cstyle:W2_Stattpreis>text) bekommen ich ebenfalls jede Menge Returns.

Der Fehler ist behoben. Er trat tatsächlich nur nach einem Update auf 5.0.2 und nur auf Intel-Macs auf.

FYI:

Das Problem ist ein offensichtlich verändertes Verhalten des InDesign®-Importes. Bisher musste TaggedText immer im Format <ASCII-WIN> vorliegen und Windows-Zeilentrenner haben. Bei Bedarf hat der Comet die nötigen Umwandlungen selbst gemacht. Alle anderen Angaben führten zum Absturz. Ab 5.0.2 muss auf dem Mac <ASCII-MAC> mit Mac-Zeilentrennern verwendet werden.

11.03.2008
Bug 1044 - InDesign® springt zu erster Dokumentseite nach Einfügen eines Produkt Nach dem Einfügen eines Produkts über Drag&Drop oder Produktrecherche springt die Seitenanzeige immer auf die erste Seite. Dieses Verhalten ist ausgesprochen lästig, besonders, wenn der gesamte Seitenaufbau über Drag&Drop in Einzelschritten erfolgt.

Der Fehler trat nur dann auf, wenn ein Produkt wiederholende Elemente enthielt und ist jetzt behoben.

Zum Einfügen der wiederholenden Elemente musste zuvor die aktuelle Seite ermittelt werden - um nach dem Einfügen wieder dorthin zurückspringen zu können. Diese Berechnung war leider falsch.

11.03.2008
R 601 Doku Seitenadaption Für die Seitenadaption gibt es jetzt eine Doku. Bisher ist nur die Skriptprogrammierung für die Adaption beschrieben. 27.01.2008
Referenzpunkte für Rahmen bei Seitenadaption Die Bilder von Bildrahmen können für die Seitenadaption mit (rechteckigen) Beschneidungspfaden versehen werden. Die Adaption stellt dann sicher, dass verbotene Bildteile nicht sichtbar werden. Dabei wurden die Rahmen an die linke obere Ecke des Beschneidungspfade verschoben - ein bißchen verwirrend.

Für Rahmen mit Beschneidungen können jetzt Referenzpunkte gesetzt werden (). Der Rahmen wird dann (ausgehend vom neuen Rahmen) entsprechend positioniert. Der Referenzpunkt wird nur angewendet, wenn Bidlbeschneidungen nötig waren.

27.01.2008
R 592 Bug 1000 - Rahmenliste für die Seitenadaption Um die Arbeit mit der Seitenadaption zu erleichtern gibt es jetzt eine zusätzliche Palette, in der alle Rahmen der aktuellen Seiten mit den wichtigsten Einstellungen aus der Seitenadaption enthalten sind. 26.01.2008
Bug 999 - Unter SOAP werden includes jedesmal neu geladen. Unter SOAP werden includes jedesmal neu geladen. Das ist natürlich ein Riesen-Overhead.

Der Fehler ist behoben, Includes werden jetzt einmal geladen und dann im Cache (~/Documents/XCache) gehalten. Ein Produktaufbau kann dadurch bis zu 4 Mal schneller werden!

24.01.2008
R 580 Bug 991 - Aufbauregel "neue Seite" wird bei productlist::build_list ignoriert Beim manuellen Aufräumen werden die entsprechenden Rahmen dann richtig auf eine neue Seite gesetzt. Leider nützt das in diesem Fall nichts, weil das Dokument vollautomatisch generiert wird.

Du musst die Datei framerules.xml anlegen und deine Vorlage 6 (kl. Bild + Seitenwechsel) noch mal sichern, dann wird die entsprechende Info dort abgelegt. Beim Aufbau kann diese Info noch nicht ermittelt werden, weil die Vorlage ja noch gar nicht geladen ist und es zu lange dauert, jede Vorlage vorzuladen. Wie framerules aussehen muss, steht hier.

Es ist doch ein Fehler. Er tritt aber nur dann auf, wenn die Produktrecherche geschlossen ist. In diesem Fall sind die framerules nicht geladen und können also auch nicht angewendet werden. Dieser Fehler ist behoben.

Und wenn es dann immer noch nicht geht : Die Comet-Gruppen müssen aktiviert sein

Diese Einschränkung hab ich rausgemacht.

21.01.2008
Bug 992 - Fehlermeldung "Dieser Vorgang kann nicht rückgängig gemacht werden" Leider kommt diese Fehlermeldung auch beim Autocometen, und auch bei eigener Sequenz. Der Aufbau geht so:

productlist::build_list(prods, 0, 0, 0, 0, -1, "", "", 1, 0, 0, 0.0, 0.0, 0.0, 0.0, 1, "build_seq");

Wenn man die Fehlermeldung mit "Abbrechen" wegklickt, ist das Dokument wieder (fast) leer.

Dass das Dokument nach "Abbrechen" wieder in den Ursprungszustand zurückgespielt wird, ist okay. Auch wenns schwerfällt, anderen zuzustimmen, in diesem Fall sollte man Okay wählen.

Was nicht ging war, den Aufbau pro Produkt in einer eigenen Sequenz zu machen
(die hoffentlich kurz genug ist, dass die obige Meldung nicht kommt) vorletzter Parameter des zitierten Aufrufes. Da bin ich mit der Reihenfolge der vielen Parameter durcheinander gekommen.

Jetzt gehts jedenfalls.

21.01.2008
Bug 993 - Konfigurations-Meldungen im Logfile geben bei SOAP den falschen Verbindungsnamen an Im Logfile werden beim Login einige Meldungen zur aktuellen Konfiguration des Datenpools angegeben. Unter Soap wird dabei fälschlicherweise der Pfad da letzten XML-Verbindung angegeben, nicht die Beschreibung der neuen Soap-Verbindung. Das ist - zumindest verwirrend.

Außerdem wäre es vielleicht hilfreich, die Meldungen mit einem einheitlichen Präfix zu versehen, damit man sie im Logfile auch alle finden kann.

Die Konfiguration eines Datenpools wird jetzt zusammengefasst ins Logfile geschrieben :

# Configuration for 'Verbindungsname'
        StringIDs               : supported | off
        Pageitem scripts        : supported | off
        Table placeholders      : supported | off
        Preview snippets        : supported | off
        Magnets & Nails         : supported | off
        Mirrored pageitems      : supported | off
        Grids direction         : supported | off
        Framerules              : supported | off

Der Verbindungsname ist auch bei SOAP richtig.

21.01.2008
Bug 987 - Palettenskripte im Programmmenü erst verfügbar, wenn das zugehörige Menü der Palette einmal aufgeklappt war. Im Programmmenü werden unter

Zusatzmodule -> Produkte|Platzhalter|... ->

die ersten acht Palettenskripte der jeweiligen Palette angegeben. Leider sind diese Einträge erst erreichbar, wenn das zugehörige Menü der Palette einmal aufgeklappt wurde. Und das nach jeder Änderung der Datenverbindung.

Die Menüeinträge sind jetzt auch ohne Palette verfügbar. Sie werden nach jeder Änderung der Datenverbindung aktualisiert. Außerdem enthält das Programmmenü jetzt nicht mehr nur die ersten 8 Einträge sondern die komplette Menüstruktur, wie in der Palette mit allen Submenüs, Shortcuts und den entsprechenden Kontexten.

Siehe auch hier.

15.01.2008
Bug 984 - Shortcuts für die Palettenmenüs Für die Palettenmenüs können zwar Shortcuts angelegt werden. Sie werden aber ausschließlich im Programm-Menü gezeigt. Das enthält erstens nur max. 8 Skripte und zweitens haben dann die Skripte aller Datenpools die gleichen Shortcuts. Bißchen doof eigentlich.

Shortcuts können jetzt hinter dem Namen der Aktion durch zwei Kommas getrennt angegeben werden. Ist ein Shortcut in InDesign® bereits definiert, wird die Angabe aus actions ignoriert.

Siehe auch hier.

Key-Definition

Die Buchstaben werden normal verwendet, auch die Tag-Schreibweise wie z.B. <0x00D5> für Ö ist erlaubt. Die Funktionstasten heißen F1 - F12. Folgende Schlüsselworte bezeichnen die einzelnen Modifier-Tasten

    Shift Ctrl Cmd Opt

Alle Teile werden mit + getrennt. Also etwa

    ,, Shift+Ctrl+W

InDesign®-Kontext

Vor der Tastenkombination kann ein InDesign®-Kontext definiert werden. Dieser Kontext beeinflusst nur den Shortcut, nicht den Menüeintrag selbst und legt fest, in welchem Kontext der Shortcut sichtbar ist. Folgende Kontexte (und keine weitere mehr!!) sind verfügbar :

    Dialog Default Ever Table XML Text

Ist die Angabe leer, ist der Shortcut immer sichtbar. Die Angabe

    ,, Text Shift+Ctrl+W

erzeugt (wenn nicht schon woanders definiert!), den entsprechende Shortcut dann nur, wenn es eine aktuelle Textauswahl gibt.

Comet-Kontext

Für die automatische (De)aktivierung von Menüeinträgen können folgende Angaben gemacht werden :

    Panel Document

Ist Panel eingeschaltet, ist das Menü deaktiviert, wenn die entsprechende Palette der ClassID geschlossen ist. Ist Document eingestellt, muss ein Dokument geöffnet sein. Fehlt die Angabe, ist der Menüeintrag immer aktiviert. Die folgende Angabe bewirkt also, dass das zugehörige Menü nur dann aktiv ist, wenn die Palette und ein Dokument geöffnet sind :

,, Panel Document Shift+Ctrl+W

Tastaturbefehle ...

Da die Shortcuts immer automatisch gesetzt werden, macht es keinen Sinn mehr, Shortcuts über "Tastaturbefehle ..." zu setzen. Die Menüeinträge der Paletten-Aktionen (nur der Palettenaktionen) finden sich also nicht mehr in diesem Dialog.

15.01.2008
Bug 983 - Submenüs für die Palettenskripte Inzwischen gibt es zu einigen Paletten eine große Anzahl von Palettenskripten und das zugehörige Menü ist entsprechend lang - und unübersichtlich. Schön wäre, wenn dort Untermenüs eingefügt werden könnten.

Das geht jetzt. Das Verfahren ist sehr einfach : Vor dem Namen der entsprechenden Aktion wird der Submenü-Pfad mit ^ (Dach) als Trenner angegeben. Der Rest geschieht automatisch.

Ein gültiger Name einer Aktion wäre also

Die Reihenfolge in den Untermenüs wird ebenfalls über die Sequenznummer festgelegt.

15.01.2008
Bug 973 - Dokumenten-ID Alle InDesign®-Dokumente können ab jetzt eine eigene Dokumenten-ID haben. Die ID besteht wie üblich aus drei Zahlen und einem String (max. 1999 Zeichen). Die erste Zahl muss >= 0 sein.

Vorlagen werden automatisch mit der Dokument-ID

     -1, PageitemID, 0, Benutzername

versehen.

Zum Holen und Setzen der Dokument-ID gibt es die beiden neuen Skriptfunktionen document::getid und document::setid.

12.01.2008
Bug 972 - Unbekannte Zeichen in Unicode-Strings schneiden den String ab (nur Mac) Zeichen, die der Unicode-Converter am Mac nicht umsetzen kann, führen leider dazu, dass der String an dieser Stelle abgebrochen wird. Im Logfile steht die Meldung :

    # WARNING! Some characters in "<your string>" have been substituted with '-'

Ein '-' wird nicht zwar im String eingefügt, der String wird aber einfach abgebrochen.

Eigentlich sollten solche Zeichen ja mit <0xBEEF> kodiert werden. Ich versuche jetzt trotzdem, so viele Teilstücke des Strings zu dekodieren wie möglich.

12.01.2008
Bug 971 - <nl> am Ende von %!TT-Texten wird ignoriert (nur Mac) Unter Mac/CS2 wird ein abschließendes <nl> an einem %!-TT-Text ignoriert.

Dieser Fehler ist jetzt behoben.

12.01.2008
Skriptänderungen nach Editieren in InDesign® werden unter SOAP erst nach Neu-Login wirksam Kein Fehler, aber sehr lästig : Wenn ich unter SOAP aus InDesign® ein Skript editiere, werden die Änderungen zwar auf dem Server gesichert, die interne Cache-Datei des Skriptes bleibt aber unverändert und wird erst nach Neu-Loggin überschrieben.

Die Cache-Datei des Skriptes wird jetzt ebenfalls angepasst. Das Arbeiten macht jetzt wieder Spaß.

10.01.2008
R 563 Lizenzprüfung am Mac funktioniert nicht Am Mac kann es vorkommen, dass die Lizenzprüfung nicht funktioniert. Auffallend ist, dass im Bestelldialog einige Einträge des Popup-Menüs für die Ethernet-ID deaktiviert sind.

Der Fehler lag daran, dass die interne Repräsentation der MAC-IDs der Ethernet-Karten nicht fortlaufend von 1-n ist, sondern dass in der Liste "Löcher" sind. Die Prüfung der Lizenz gegen die verfügbaren Mac-IDs wurde aber bisher abgebrochen, wenn keine MAC-ID gefunden wurde.

Diese "Löcher" werden jetzt übersprungen. Der Fehler sollte damit behoben sein.

09.01.2008
Unterstützung von nativen Oracle-Datenbank-Verbindungen (OCI) Mit dem neuen Plug-In CoreService [Oracle] kann die Verbindung zu einer Oracle 10g-Datenbank auch nativ über OCI erfolgen.

ACHTUNG : Auf dem Mac funktioniert der Oracle-Client nur für Power-Mac, nicht für Intel-Macs. Das heißt, CS3 geht auf einem Intel-Mac nicht. Das Problem ist die Bibliothek, die für die Verbindung benötigt wird und die von Oracle nur für PPC erstellt wurde. Oracle ist seit 24 Monaten (!!!) dabei, das zu ändern - aber so Oracle "... nobody is going to do this on their lunch hour and then upload it to OTN after dessert". Andere fragen sich, ob bei Oracle 2 Jahre lange Mittagspausen gewährt werden und wollen zu Oracle wechseln. Wer sich bei Oracle beschweren/bedanken/beklagen machen will, hier ein Link.

Lesen Sie zur Installation und Einrichtung von OCI bitte unbedingt diese Beschreibung!

05.01.2008
R 555 Bug 969 - productlist::build_list funktioniert nicht mehr Mein Aufbauscript benutzt den Befehl productlist::build_list - in Rev 509 baut Comet die Liste auf, in Rev 539 nicht (alles andere ist gleich)

Der Fehler war ziemlich blöd : Jetzt werden die Produkte ja nicht mehr auf Seitengrößen sondern auf die BoundingBox des Rasters getestet. Leider ist die ID-API-Funktion Rectangle::Union der Meinung dass z.B. die beiden Rechtecke

    42.519684, 53.858269, 552.7559, 170.07874
    42.519684, 67.619186, 552.7559, 183.83966

die BoundingBox

    42.519684, 53.858269, 552.75589, 183.83966

haben. Was zwar fast stimmt, aber eben nicht ganz.

02.01.2008
R 539 Bug 962 - linklist::collect funktioniert in der CS3-Version der Plug-Ins nicht Die Anweisung linklist::collect, die in der selben Datei unter CS2 Ergebnisse findet, geht unter CS3 leer aus.

Weiß auch nicht, warum an der entscheidenden Stelle im Quellcode ein #if (csversion_ < 3) stand. Jetzt gehts jedenfalls.

19.12.2007
Bug 960 - frame::fit von Inline-Rahmen im Overset führt zum Absturz Normalerweise werden die Rahmenplatzhalter von Inline-Rahmen, die im Overset liegen, nicht angefasst. Wenn sich aber während des Ladens der Textplatzhalter vor dem Inline das Inline in den Overset verschiebt, dann wird dieser Rahmenplatzhalter trotzdem ausgeführt. Wenn dann frame::fit ausgeführt wird, stürzt das undankbare InDesign® ab. Wie unerfreulich.

Ja, so sind die Fehler inzwischen, wenn-wenn-wenn-DANN. Dieser Fehler ist jetzt jedenfalls behoben.

18.12.2007
Bug 959 - Inhalte gesperrter Ebenen werden beim Aktualisieren verändert Wenn ich die Platzhalter des gesamten Dokumentes aktualisiere oder synchronisiere, werden auch Inhalte gesperrter Ebenen verändert. Das sollte eigentlich nicht sein, oder?

Platzhalter gesperrter Ebenen werden jetzt beim Aktualisieren und Synchronisieren nicht mehr bearbeitet. In den Store-Skripten kann man die Platzhalterinhalte weiterhin verändern. Auch die Skriptbefehle itemlist::allframes, ... nehmen keine Rücksicht auf gesperrte Ebenen. Wenn das speziell gebraucht wird, bitte diesen Bug wieder öffnen - oder einen neuen.

(11.01.2008) Es hat sich gezeigt, dass es oft so gewollt ist, die Inhalte gesperrter Ebenen zu ändern. Die Sperre ist deshalb wieder aufgehoben.

18.12.2007
Bug 771 - InDesign® stürzt beim Aktualisieren der Platzhalter des Dokuments ab (wenn Platzhalter auf gesperrten Ebenen liegen) Wird frame::move_to_layer angewendet, wenn mind. eine der beiden Ebenen gesperrt ist, stürzt InDesign® ab.

Dieser Fehler ist behoben, die Funktion prüft jetzt, ob Ausgangs- oder Zielebene gesperrt sind und liefert in diesem Fall einen Fehlercode zurück.

18.12.2007
Bug 763 - Groß-/Kleinschreibung von Tabellennamen Die Groß-/Kleinschreibung von Tabellennamen in der Datenbank-Version von Comet ist nicht einheitlich. So werden die Panelstatements zum Beispiel aus der Tabelle "PanelStatements" gelesen. Meistens ist das egal, aber bei MySQL unter Unix (wiederum mit der Ausnahme von Mac OSX) sind die Tabellen- und Spaltennamen case sensitive. Da teilweise die gleiche Tabelle mal in Groß- und mal in Kleinschreibung angesprochen wird, nützt das Umbenennen der Konfigurationstabellen auch nichts.

Ein möglicher Workaround ist, bei MySQL die Option lower_case_table_names = 1 zu setzen. Das funktioniert allerdings spätestens dann nicht mehr, wenn jemand wirklich Großbuchstaben in MySQL benutzt. Deshalb sollten wir bei Gelegenheit alle SQL-Abfragen auf durchgehende Kleinschreibung umstellen.

Die folgenden Schreibweisen habe ich im gesamten (!!) Quelltext aller (!!) Plugins ersetzt durch Kleinschreibungen. Sollten sich immer noch falsch geschriebene Tabellennamen finden, schaut bitte zuerst in den Panelstatements nach, ob die dort stehen. Wenn nicht, den Bug nochmal öffnen - in dem Fall wäre es schön, wenn ihr den Tabellennamen und vielleicht die Fehlersituation angebt.

  • Actions
  • CharacterStyles
  • ConditionMenues
  • Conditions
  • Domain
  • iq_Colors
  • iUser
  • PageItems
  • PageItemTypes
  • PlaceHolder
  • PreviewStatements
  • RelatedTo
  • States
  • UserXDomain
18.12.2007
Bug 957 - Produktaufbau nicht möglich, weil grid_elements nicht gefunden wird Für den Produktaufbau müssen die Rasterplätze geladen werden. Dazu wird die Tabelle grid_elements gelesen. Die heißt aber bei mir gridelements (ohne _). Damit ist der gesamte Produktaufbau nicht mehr möglich. Es gibt kein Panelstatement, in denen die gewünschten Anweisungen konfiguriert werden können.

Eigentlich sollte die Tabelle ja grid_elements (mit _) heißen. Damit es auch ohne _ funktioniert, wird jetzt vorher getestet, ob grid_elements überhaut existiert. Wenn nicht, wird die Tabelle gridelements verwendet.

18.12.2007
Bug 773 - Pfade per <link> in Bildplatzhalter enthalten \\ statt \ Bei einem einfachen Rahmenplatzhalter soll im Sync-Scrript mit <link> der aktuelle Bildpfad geholt werden. Allerdings werden alle einfachen \ durch \\ ersetzt.

In <link>, <linkfolder>, <linknameN> werden jetzt auch unter Windows / statt \ als Pfadtrenner verwendet. In den Pfaden zum Bildeinfügen dürfen schon seit längerem auch unter Windows / als Pfadtrenner verwendet werden - besser gesagt : Alle Pfade sollten als Pfadtrenner nur noch / verwenden!

17.12.2007
Bug 796 - Platzhalterpalette zeigt nicht alle Platzhalter an Wir haben im mittlerweile 106 Platzhalter und die Platzhalterpalette zeigt die nicht alle an wenn man einen bel. Bereich wählt. Kann es sein, dass es da bei 100 (oder in der Nähe von) Platzhaltern ein hartes Limit gibt?

Das stimmt, es gibt ein Limit, 100. Ich habe das mal hochgesetzt auf 3000. Genug?

17.12.2007
Bug 691 - document::place_items / document::insert_macro setzt RecordIDs nicht Wenn man mit der Skriptsprache eine Vorlage ins Dokument einsetzt, möchte man die Vorlage typischerweise mit einem bestimmten Produkt verlinken. Die Befehle document::place_items / document::insert_macro haben sogar schon Parameter, um die entsprechenden RecordIDs zu übergeben.

Schön wäre es jetzt, wenn der ID-Tupel auch an die Platzhalter in der Vorlage weitergegeben werden würde. Das Skript muss sonst durch alle Rahmen gehen, und jeweils ein Verlinken und Laden anstoßen. Die Performance ist sicher besser, wenn das das PlugIn direkt tut.

Die Funktionen haben zwei neue Parameter bekommen :

    autoLoad und classID

Ist autoLoad != 0 werden alle Platzhalter mit der ClassID classID (oder alle überhaupt, wenn *classID* = 0 ist), verknüpft, geladen und bei Bedarf aufgebaut (wiederholende Elemente).

17.12.2007
Bug 831 - Absturz von InDesign® beim Anlegen einer neuen Vorlage Wenn man beim Anlegen einer neuen Vorlage (Rahmen- oder Tabellen-Vorlage) automatisch einen Tabellen- bzw. Platzhalter für wiederholende Elemente erhalten möchte, aber im Popup für die Farbe keine Farbe auswählt, stürzt InDesign® ab!

Wenn man eine Farbe einstellt, klappt das Anlegen - das ist natürlich ein Workaround, daher niedrige Priorität.

Der Absturz ist nicht immer passiert. Ich glaube, der Fehler lag daran, dass
bei neuen Platzhaltern die Farbauswahl nicht initialisiert war. Das wird jetzt gemacht. Ich hab dann keinen Absturz mehr hingekriegt.

17.12.2007
Bug 619 - Inline-Rahmen in verketteten Textrahmen verdrängen folgende Elemente nicht Wir haben ein Projekt, in dem Dokumente aus verketteten Textrahmen aufgebaut werden. Die Rahmen enthalten Text und Bilder (als Inline-Rahmen). Bislang haben wir die Dokumente nur in CS1 generiert. In CS2 verdrängen die Inline-Rahmen den darauf folgenden Text oder Inline-Rahmen nicht.

Offensichtlich wird die Konturführung in CS und CS2 unterschiedlich gehandhabt : CS kennt nur den Standard "Objekt überspringen", die Palette "Konturführung" ist bei Inline-Rahmen deaktiviert. Unter CS2 kann die Konturführung eingestellt werden.

Sie können 3 Dinge tun :

  1. Die ID-Standardeinstellung für die Konturführung von Inlines ändern (Nach dem Start von ID und OHNE GEÖFFNETES DOKUMENT)
  2. Die Kontur im Skript setzen (frame::wrap, frame::wrap_ignore, frame::wrap_invert, ...)
  3. (Erst ab Release 528 (heute :-) )) Die Kontur im in-Tag mit wrap ... setzen
17.12.2007
Bug 562 - Comet übersetzt auch SQL Ergebnisse Die Ergebnisse, die in der Produktrecherche (und anderen) Paletten angezeigt werden, werden zuvor von InDesign® offensichtlich durch einen Übersetzer geschickt. Jedenfalls werden Ergebnisse wie Page, File, ... u.ä. in den Paletten übersetzt angezeigt.

Dieser Fehler ist behoben.

14.12.2007
Bug 832 - Table-Design-Methode für jede 2. Zeile/Spalte kann nicht in erster Zeile/Spalte beginnen Im Tabellenmodul kann man Table-Design-Metoden so anlegen, dass sie z.B. ab der 1. Zeile/Spalte für jede 2. Zeile/Spalte ausgeführt werden. Leider wird hier die C-Notation für Zeilen/Spalten verwendet, sodass man in das erste EIngabe-Feld eine 0 eingeben müsste, wenn die Design-Methode in der ersten Zeile/Spalte angewendet werden soll. In dieses Feld darf man aber nur Werte größer als 0 eintragen!

Ich wäre dafür, dass wir hier NICHT die C-Notation verwenden, sondern dass die oberste Zeile einer Tabelle Zeile eins ist, genauso natürlich auch für Spalten.

Ja, das war ein blöder Fehler. Wenn ich jetzt ab 1 zähle, werden zwar alle Gestaltungen, die bis jetzt gemacht wurden, anders, dafür kann man dann aber auch ab 1 zählen. Und die erste Zeile/Spalte auch einschließen

14.12.2007
Bug 833 - Rastervorlagen-Palette erlaubt nur 99 pro Zeile oder Spalte In der Rastervorlagen-Palette kann man maximal 99 Zeilen oder Spalten anlegen lassen. Für dynamische Vorlagen ist das viel zu wenig! Man muss mindestens jeden Punkt einen Rasterplatz machen lassen können: Eine Din A4 Seite ist etwa 30 cm hoch, das sind 300*2,8 Punkte, also muss man mindestens 999 Zeilen anlegen lassen können, finde ich.

Übrigens schlage ich als Palettenname Raster-Assistent bzw. Grid-Wizard vor. Der jetzige Name verwirrt die Leute immer heftig.

Ach herrje. Die Palette hat jetzt einen neuen Namen und kann 999 x 999 Rasterplätze anlegen - was dann auch entsprechend lange dauert - und beim Produktaufbau auch ordentlich Speicher zieht (Minimum 10 MB für linkes und rechtes Raster).

14.12.2007
Bug 850 - Einsortieren von Paletten in Comet / Comet-Admin Die Paletten von IQuest.comet sind neu in die Menüs eingeordnet :
  • Comet
    • Einstellungen
    • Previews
    • Produktrecherche
    • Publikationen
    • Publikationsinfos
  • Comet Admin
    • Arbeitsvorbereitung
    • Aufbauregeln
    • Comet
    • Platzhalter
    • Platzhalterwerte
    • Raster
    • Rastervorlagen
    • Vorlagen
    • Seitenadaptionen
    • Tabellenaufbau
  • Sudoku
  • XCell
  • Seitenadaptionen
14.12.2007
Bug 842 - Tastatur-Befehl für Actions zurücksetzen auf Platzhalterwerte Es wäre schön, wenn man der Funktion Actions zurücksetzen auf der Palette Platzhalterwerte auch eine Taste zuordnen könnte.

Das geht jetzt - wie alle Comet-Menübefehle im Produktbereich IQuest.comet.

14.12.2007
Bug 874 - productlist::remove_pos führt zu absturz Wenn ich eine Produktliste gProducts habe und ein Produkt folgendermassenentfernen will...
p = productlist::first (gProducts);
productlist::remove_pos (gProducts, 0);
product::release (p, kGlobalStack);

stürzt Indesign beim Gridaufbau ab. Verwendet man an Stelle von remove_pos die Funktion remove, funktioniert es:

p = productlist::first (gProducts);
productlist::remove (gProducts, p);
product::release (p, kGlobalStack);

Sorry, das stimmt leider. War ein kleiner Indexfehler der Parameter von productlist::remove_pos, der jetzt behoben ist.

14.12.2007
Bug 895 - Anzeige des geänderten SyncState in Load-Skripten funktioniert nicht Laut Doku (und Nachfrage) sollten die Zeilen

    *gSyncChanged=1;
    placeholder::set_sync(-1);

bewirken, dass auch in Load-Skripten das entsprechende Sync-Symbol angezeigt wird. Dem ist aber nicht so (Plugin-Version 1.4.2 R451).

Ooops, das stimmt. Im Quellcode fehlte ein kleines "else". Jetzt funktioniert es wie in der Doku beschrieben. Zusätzlich wird der Wert von gSyncChanged jetzt auch in Textplatzhaltern unterstützt, siehe auch placeholder::sync_state.

14.12.2007
Prüfung der Seitengröße beim Produktauf ist unhandlich, (siehe auch Bug 896) Die Seitengröße als Prüfung für Produktvorlagen beim Aufbau zu verwenden, ist sehr unhandlich. Häufig werden Vorlagen verwendet, die (ein bißchen) über den Seitenrand hinausstehen.

Deshalb wird zur Prüfung jetzt die BoundingBox um alle aktuellen Rasterplätze verwendet. Das kann zu Problemen führen, wenn die Rasterplätze zu klein sind. Sollte das passieren (Fehler -3334), behebt folgendes den Fehler :

  •    
    Ist diese Option eingeschaltet, wird die Seitengröße (inkl. Margins) zum Test verwendet und nicht mehr die BoundingBox.
  • oder eben die Rasterplätze entsprechend vergrößern.
14.12.2007
Bug 954 - Abfragen der InDesign®-Version Es wäre praktisch, wenn über die Klasse "system" die InDesign®-Version sowie dessen Sprachversion abgefragt werden kann.

Es gibt jetzt die Funktionen

    system::version
    system::language

14.12.2007
Bug 496 - Überschreiben von Rastern und Vorlagen nur mit Alt-Taste Wäre es sinnvoll, wenn sich Raster und Vorlagen nur mit gedrückter Alt-Taste überschreiben ließen (analog zum Löschen)? Ich finde, ja.

Die ALT-Taste muss jetzt sowohl bei Vorlagen als auch bei Rastern gehalten werden, wenn diese geändert werden sollen. ... Und, ääh, bitte keine Anrufe, man könne keine Vorlagen mehr ändern ...

13.12.2007
Bug 473 - textmodel::insert_products mit Produktliste Bei Fließlayouts wird ja vermutlich mehr als zuvor mit verschachtelten Vorlagen gearbeitet werden. Deshalb wäre es nett, wenn ich dem Befehl eine Produktliste als Parameter mitgeben könnte (zusätzlich zu den "internen" Listen wie "selected" oder "watched").

Seit Einführung von InDesign® Server geht das für den Produktaufbau mit der Anweisung produclist::build_list. Seit heute geht es auch für den Textfluss - hier gibt es jetzt die Funktion textmodel::insert_list. In der Online-Hilfe sind auch Beispiele zur Verwendung der Funktionen zu finden.

13.12.2007
Bug 464 - Rahmenscripte (Aufbauregeln) werden nicht ausgeführt Die Scripte, die sich mit der Aufbauregeln-Palette als Vor- und Nachbereitung an Rahmen hängen lassen, werden nicht ausgeführt (weder im Fließ- noch im Rasterlayout)

Das geht jetzt. Die Aufbauregeln werden in der neuen Tabelle/Datei framerules gespeichert wenn eine Vorlage gesichert oder geändert wird.

Ist ein Produkt einmal aufgebaut, werden die im Rahmen hinterlegten Regeln verwendet. Um zu verhindern, dass in Vorlagen mehrere (widersprüchliche) Regeln hinterlegt sind, zeigt die Vorlagenpalette beim Anlegen und Ändern von Vorlagen mit mehreren Regeln einen Dialog, in dem angegeben werden kann, welcher Rahmen für die Regeln verwendet werden soll.

    

Achtung

Diese Prüfung kann natürlich nicht im faceless-Betrieb (Server, Skripte) gemacht werden. Hier werden die Regeln des ersten Rahmen verwendet. Der erste Rahmen ist der, der im Dokument zuerst angelegt wurde. Da man das natürlich meistens nicht mehr weiß, sollten Vorlagen mit mehreren Rahmen nur angelegt werden, wenn die Regeldefinition dort eindeutig ist. Hilfreich dazu sind die Funktionen placeholder::(s)get_value und placeholder::change_tags mit den Slots PreRule, PostRule, PreRuleParams, PostRuleParams, AdParams, Grid und GridElement.

XML-Struktur von framerule.xml

<?xml version="1.0"?>

<framerules>
  <framerule>
	<pageitemid>0</pageitemid>
	<prerule>
	  <id>0</id>
	  <params></params>
	</prerule>
	<postrule>
	  <id>0</id>
	  <params></params>
	</postrule>
	<banner>
	  <gridid>0</gridid>
	  <elementid>0</elementid>
	  <pagerelative>0</pagerelative>
	  <intersection>0</intersection>
	  <distance>0.0</distance>
	</banner>
  </framerule>
</framerules>

Attribute von framerules

  id (int)
  pageitemid (int)
  prerule_id (int)
  prerule_params (varchar(4000))
  postrule_id (int)
  postrule_params (varchar(4000))
  grid_id (int)
  element_id (int)
  pagerelative (int)
  intersection (int)
  distance (float)

12.12.2007
Bug 948 - Bei Textfluss auch Auswahl: nur im Textfluss-Aufbau verwenden. In den Aufbauregeln kann zwar festgelegt werden, ob und wie ein Rahmen beim Textfluss-Aufbau verwendet werden soll (Textinhalt, Inline, Ignorieren). Es gibt aber keine Möglichkeit festzulegen, dass ein Rahmen nur beim Textfluss verwendet werden soll.

Zusätzlich zu den Eigenschaften für den Textfluss kann jetzt festgelegt werden, ob ein Rahmen beim normalen Einfügen der Vorlage ignoriert werden soll oder nicht. Ignorierbare Rahmen werden beim Einfügen von Vorlagen ins Dokument (Drag'n Drop, Vorlage einsetzen, Produktaufbau, insert_macro, ...) übergangen.

       

07.12.2007
Bug 946 - strncmp fehlt in der Skriptsprache Die Funktion gibt es jetzt : strncmp (s1, s2, len); 07.12.2007
Bug 927 - hyperlink::appearance tut's nicht mit Frame-Hyperlink R 451: wenn ich mit hyperlink::frame_create_urldest einen Hyperlink anlege, kann ich dessen Aussehen nicht mit hyperlink::appearance ändern. Bei Hyperlinks, die per hyperlink::create_urldest angelegt wurden, geht's.

Der Parameter hstate in hyperlink::appearance ändert nicht die Sichtbarkeit eines Verweisrahmens. Er regelt nur das Aussehen des Verweises, wenn die Datei als PDF exportiert wird (Obwohl ich sie da gar nicht sehe.). Die Sichtbarkeit kann entweder mit show/hide gesetzt werden oder mit dem (neuen) Parameter visible in hyperlink::appearance.

07.12.2007
Bug 945 - <document>-Tag liefert einen falschen Wert Seit einiger Zeit liefert das Standard-Tag <document>, das in Platzhalteranweisungen verwendet werden darf, einen falschen Wert : Es liefert den kompletten Dokumentpfad, sollte aber nur den Namen liefern.

Tja, da ist mir ein kleiner Fehler unterlaufen. Das Tag liefert jetzt wieder richtig den DokumentNAMEN - und nicht den ganzen Pfad.

  • <document>  : Dokumentname
  • <folder>       : Ordner des Dokumentes
  • <path>         : Kompletter Pfad des Dokumentes
06.12.2007
Bug 937 - kExportW2 gibt keine StringID aus Wenn man mit frame::gettext und dem Format kExportW2 einen Textplatzhalter ausgibt, wird leider die StringID nicht mitausgegeben.

Da war noch mehr falsch :

  • Auch kExportTT hat die StringID nicht exportiert
  • Die Definition des Tags war falsch. Sie muss lauten <w2: ...., definition classID relatedToID, selectID ... >

Diese Fehler sind jetzt behoben.

06.12.2007
Bug 938 - ID-Bibliotheken haben keine Text- und Rahmenplatzhalter In CS ging es noch, in CS2 und CS3 nicht mehr : Die InDesign®-Bibliotheken verlieren seit CS2 unsere Text- und Rahmenplatzhalter. Ein leidiges Problem. Tests mit aktuellen Beispielen von Adobe, die die verwendeten Techniken für die Platzhalter ebenfalls benutzen, zeigen, dass auch diese Beispiele in Bibliotheken nicht mehr funktionieren.

Adobe verwendet seit CS2 als Basisformat für die Bibliotheken nicht mehr die Binärdaten sondern INX. Das kennt natürlich unsere Platzhalter nicht. Um INX unsere Platzhalter bekannt zu machen, muss man - naheliegend - die entsprechenden Plugins skriptfähig machen. Das geht jetzt. Sowohl Text- als auch Rahmenplatzhalter werden von INX (und damit von Bibliotheken) unterstützt.

    w2fr : Kennung eines Rahmenplatzhalters
   w2tt : Kennung eines Textplatzhalters

Die Werte des Platzhalters sind als String angegeben. Sie beginnen also INX-konform mit k_, dann kommen die Werte des Paltzhalters als leerzeichen-getrennte Liste von Parameter-Name=Wert - Paaren. Als Parameternamen werden die auch in placeholder::change_tags definierten Namen und ihre zugehörigen Datentypen verwendet. Paramenternamen, die mit My beginnen, dürfen nicht geändert werden, reserved~-Werte werden ignoriert. Der Wert von table darf nur geändert werden, wenn er nicht internal ist, er darf nicht den Wert internal zugewiesen bekommen.

if(app.documents.length != 0)
{
  if(app.selection.length != 0)
  {
    for(var i = 0;i < app.selection.length; i++)
    {
 		var txt;      

		switch(app.selection[i].constructor.name)
		{
			case "GraphicLine"	:
			case "Oval"    		:
			case "Polygon"    	:
			case "Rectangle"    	:
			case "TextFrame"    	:
			  txt  = "Placeholder=101";
			  txt  += " ID=1 ID2=11 ID3=111 StringID='<0x00FC>'";
			  app.selection[i].framePlaceHolder = txt;
			  break;
   
			case "Text"      		:
			case "Character"    	:
			case "Word"      		:
			case "Line"      		:
			case "TextStyleRange"	:
			case "Paragraph"    	:
			  txt  = "Placeholder=60";
			  txt  += " ID=1 ID2 = 0 ID3=0 StringID='hallo'";
			  app.selection[i].textPlaceHolder = txt;
			  break;

			case "TextColumn"		:
			  break;

			case "InsertionPoint"	:
			  break;
  
			case "Cell"  			:
				txt  = " ColGroupPrefix1='alpha'";
				txt  += " ColGroupPrefixN='omega'";
				app.selection[i].tableModuleData = txt;
				break;
  
			case "Table"  		:
			   txt	= "OjectName='Hologramm'";
			   txt	+= " Groups='\"qwertzu\" \"Moleskine\"'";
			   app.selection[i].tableModuleData = txt;
			   break;
		}    
    }
  }
}
04.12.2007
Bug 935 - Scrollbalken in der Produktrecherche Die Produktrecherche ist ein ziemlich großes Fenster. Ein vertikaler Scrollbalken würde sicher Punkte bringen.

Diese Punkte sind geholt. Die Liste hat jetzt einen vertikalen Scrollbalken.

27.11.2007
R 507 Bug 925 - Unterstützung von InDesign®-Büchern über die Skriptsprache. Wir benötigen dringend eine Unterstützung der InDesign®-Bücher über die Skriptsprache :
  • Neues Buch anlegen
  • Dokumente einfügen
  • PDF-Export

Mit viel Mühe habe ich das Modul book gemacht. Dort gibt es die folgenden Funktionen :

  • book::create
  • book::open
  • book::close
  • book::insert
  • book::save
  • book::position
  • book::is_valid
  • book::set_master
  • book::get_master
  • book::remove
  • book::moveto
  • book::export_
  • book::count_docs
  • book::nth_doc
  • book::repaginate
15.11.2007
Aufbauregeln anwenden Die in der Palette Aufbauregeln gemachten Einstellungen werden jetzt beim Produktaufbau ausgeführt. Sie müssen nicht mehr im Pre-Script von document::build_products festgelegt werden. Montabaur

27.11.2007

Comet-Gruppen Automatische Gruppenzuordnung beim Einfügen von Vorlagen, die aus mehreren Rahmen bestehen. Diese Gruppen werden beim Aufräumen des Dokumentes beachtet - d.h. also, damit das Aufräumen der Produkte nicht mehr die Produkte zerstört, müssen die einzelnen Rahmen der Produkte nicht mehr in InDesign® gruppiert werden.

Comet-Gruppierungen können auch in der Palette Aufbauregeln festgelegt () und gelöst () werden. Mit Hilfe des Buttons können Comet-Gruppen im Dokument sichtbar gemacht werden.

Achtung

  • Wird der Hauptrahmen einer Gruppe () aus dem Dokument entfernt, wird die Gruppe aufgelöst. Sie müssen die restlichen Rahmen dann neu comet-gruppieren.
  • Die Gruppenzuordnungen werden beim Einfügen von Vorlagen nicht übernommen - dort werden alle Rahmen der Vorlage zu einer (neuen) Gruppe zusammengefügt.
Magneten und Nägel in Vorlagen Die Magneten und Nägel der Seitenadaption können jetzt auch in den Vorlagen-Rahmen des Cometen verwendet werden. Mit Hilfe der Magneten können zwischen den einzelnen Rahmen feste Abstände definiert werden, die nach dem Laden der Rahmen wiederhergestellt werden. Mehr dazu siehe hier.
Mehrfach-Verknüpfung in der Produktrecherche Sind in der Produktrecherche mehrere Produkte und im Dokument mehrere Rahmen ausgewählt, werden die Produkte von links nach rechts und von oben nach unten den Rahmen zugeordnet. Dazu muss beim Verknüpfen zusätzlich die Alt-Taste gedrückt sein, also

      Shift-Alt Klick

Icons in der Produktrecherche Die Produktrecherche kann jetzt mit eigenen Bildicons versehen werden, mehr dazu hier.
R 503 Bug 917 - table::cell::get_stroke fehlerhaft Hallo Leute, die Erweiterungen an der Tabellen-API sind echt gut!

Allerdings funktioniert 'get_stroke' nicht. Egal welche der Seiten-Konstanten (eLeftSide, etc.) man übergibt, als Resultat wird immer der Wert '1' (internal error) zurückgegeben. Sowohl 'linetype' als auch 'weight' sind immer '0'.

Da muss ich wohl ein bißchen geschlafen haben. Der Fehler ist jetzt behoben.

FYI

Alles war eigentlich richtig, nur hat die innere Funktion den Fehlerstatus nicht auf "Erfolg" gesetzt, so dass die Skriptfunktion von einem Fehler ausgegangen ist. ...

08.11.2007
Bug 918 - page::getstr Fehler bei verketteten Rahmen page::getstr holt in verketteten Rahmen immer die Seite des ERSTEN Rahmens. page::get dagegen funktioniert.

Das ist kein Problem - page::get funktioniert jetzt auch nicht mehr. Spaaass, page::getstr funktioniert jetzt richtig

08.11.2007
Bug 901 - Inhaltsverzeichnisse über die Skriptsprache einfügen/aktualisieren Wir benötigen eine Skriptunterstützung zum Anlegen und Aktualisieren von Inhaltsverzeichnissen. Der jeweilige Inhaltverzeichnis-Stil ist dabei bereits im Dokument definiert.

document::table_of_content macht das Gewünschte.

30.10.2007
R 488 Bug 817 - Erweiterung der "Table-API" Alle fehlenden "Getter"-Methoden zu den bereits existierenden "Setter"-Methoden.

Beispiele:

table::font(...) 		⇒ table::get_font(...)
table::colorize(...) 	⇒ table::get_colorize(...)
table::stroke(...)		⇒ table::get_stroke(...)
...

Zu den Funktionen, die Zelleigenschaften setzen, gibt es jetzt die dazugehörigen Get-Methoden. Alle Zell-Methoden können jetzt auch mit

    table::cell::func_name

gerufen werden. Getter haben das Präfix "get_", Setter beginnen in der Regel mit "set_". Bisherige Funktionennamen behalten ihre Gültigkeit, sind aber zum Teil aus der Dokumentation entfernt wurden.

Achtung

Nicht alle table-Funktionen, die auf Zellbereichen bearbeiten, ändern auch Zell-Eigenschaften. So setzen etwa die o.g. Funktion table::font aber auch table::style, table::font, table::align u.ä. nicht Zelleneigenschaften sondern Texteigenschaften - in diesem Fall jeweils für den Text der angegebenen Zellbereiche. Für diese Funktionen wurden keine Get-Methoden implementiert.

Folgende Get-Methoden sind implementiert :

23.10.2007
Bug 886 - Parameter "kExportPlainNoTypografics" von gettext liefert falsches Ergebnis. Am Mac (CS 2, R 451) werden folgende Quotes _nicht_ übersetzt:

("99" oben) - <0x201D>
("9" oben) - <0x2019>
« (franz. Anführung) - <0x00AB>
» (franz. Abführung) - <0x00BB>

Der Rest (insbesondere die Anführung) funktioniert.

Der Fehler ist behoben. Die folgenden Anführungszeichen werden jetzt ersetzt. Dabei werden Doppelzeichen durch ", und einfache Zeichen durch ' ersetzt. Die Primes werden jeweils durch die entsprechende Anzahl von ' ersetzt.

22.10.2007
Adobe MAX in Barcelona 14. bis 18. Oktober
R 484 Bug 890- Umlaute in Pfaden werden unter Mac/CS2 nicht richtig umgesetzt Enthalten die Pfade oder Namen von Dateien unter CS2 auf dem Mac Umlaute, werden diese Dateien nicht mehr gefunden. Die Abfragen nach Pfad und Namen ergeben falsche Werte.

Das Problem ist zumindest für unsere Umlaute und die geläufigen europäischen Kringerl gelöst. Đ (die vietnamesische Währung Dong) oder eine Schüssel über dem ă (Wer braucht wohl so was?) gehen noch nicht richtig. Hier ist das Problem, dass die Strings in unseren Plugins unterwegs in 8-Bit umgewandelt werden. Eine vollständige Lösung kann hier nur bringen, dass wir intern auch mit Unicode oder UTF8 arbeiten. Aber dazu sind größere Änderungen nötig.

FYI

Pfade werden auf dem Mac intern inzwischen anders codiert. Apple verwendet hier jetzt sog. combining characters. Umlaute und andere Zeichen mit irgendwelchen Kringeln über/unter/vor/hinter/mittendrin werden danach so codiert :

    Erst das Basiszeichen, dann der Unicode des Kringels.

Super Idee - und schön, dass sie so einmalig ist. Um das Ganze noch ein bißchen aufzulockern, wird dann aber nicht der Unicode verwendet, sondern das Ganze noch in UTF8 umgeformt. Das rauszufinden und Strings entsprechend zu kodieren, kostet schon mal ein Wochenende. Und das auch noch mit der tollen Entwicklungumgebung XCode von Apple (die auch noch toller werden soll. Apple sagt ja, da macht man dann extra Fehler, nur um den tollen Debugger bei der Arbeit zu sehen. Höhöhö.)

10.10.2007
Bug 747, Bug 767 - Tabellenaufbauaktion mit Skripten,

siehe auch hier

In den Skripten konnte bisher nicht auf die Umgebungs-IDs (RootTableRecordID, Column.., Row...) zugegriffen werden. Das geht jetzt. Folgende Variablen sind in Aufbau-Skripten definiert :
<RootTableRecordID>        = gRootTableRecordID
<RootTableRecordID2>       = gRootTableRecordID2

Genaue Beschreibungen finden sich hier : Beschreibung siehe gProduct und Skriptumgebung

10.10.2007
Bug 876 - XML-Export exportiert Absatzmarken falsch Absatzmarken werden vom XML-Export als Sonderzeichen (<0x0019> exportiert. Da der Export als Grundlage für Textdokumente verwendet wird, wäre es hier besser, die Absatzmarke als Text zu haben. Das Gleiche gilt übrigens für die aktuelle Seitennummer.

Dieser Fehler ist behoben. Absatzmarken und aktuelle Seitennummern werden jetzt als Text Exportiert.

Achtungs

  • Vorige und nächste Seite funktionieren nicht. Aber das scheint auch in InDesign® selbst nicht so richtig zu funktionieren.
  • Die Ersetzung der Marken wird ausschließlich in der Funktion xmlexport::export_ gemacht. textmodel::gettext liefert wie bisher die Sonderzeichen. Sollte das hier auch nötig sein, müssen wir das dort gesondert ändern.
05.10.2007
Erweiterung des Taggedtext-Formates um Tabellen-Tags Das InDesign®-TaggedText-Format wurde um einige Tags erweitert, die den Import von Tabellen unterstützen sollen. Tabellen können sich mit Hilfe dieser Angaben die Gestaltungsmethoden aus Tabellenvorlagen holen und diese Methoden selbst anwenden. Mehr dazu hier. 04.10.2007
R 477 Bug 872 - Tabellen- und Zellenstile in CS3 In CS3 gibt es Stile für Tabellen und Tabellenzellen . Es würde einiges erleichtern, wenn die Stile aus der Skriptspracher heraus gesetzt werden könnten.

Mit den neuen Funkionen

    table::apply_tablestyle
    table::apply_cellstyle

geht das jetzt. Der jeweilige Stil muss im Dokument definiert sein und wird über seinen Namen identifiziert. Um einen Stil wieder entfernen, wird der Leerstring als Name angegeben.

29.09.2007
Bug 868 - table::fit_col funktioniert nur in der ersten Tabelle eines Textes ... sonst wird die entsprechende Spalte immer 5000 Pixel breit. Ziemlich bald danach stürzt InDesign® ab.

Das Problem ist nicht die erste, zweite, dritte Tabelle. Das Problem sind Tabellen, die im unsichtbaren Bereich eines Textrahmens (Overset) liegen. Um festzustellen, ob eine Tabellenzelle einen Overset hat, muss InDesign® diese Zelle neu zeichnen. Das wird aber mit Tabellen im Overset nicht gemacht. Da dadurch ein bestehender Zellen-Overset erstmal weiter besteht, kam die Funktion an ihr Abbruchkriterium von 5000 Pixeln.

Ich habe 2 Dinge getan :

  1. Tabellen, die (teilweise) im Overset liegen, werden nicht mehr bearbeitet (Fehler 1259)
  2. Abbruch ist jetzt bei 1000 Pixeln - aber der wird ja jetzt eigentlich nicht mehr erreicht.

Es ist ziemlich wichtig, den Fehlercode der Funktion abzufragen :

result = table::fit_col (0, 1);
if (result) showmessage (serror (result));
28.09.2007
Bug 356 - Bug in textmodel::clear_placeholders() Ein Aufruf von textmodel::clear_tags lässt die letzte Zelle einer Tabelle unberührt - der Platzhalter dort bleibt stehen. Der Fehler tritt nur dann auf, wenn die Tabellenzelle leer ist und weitere Tabellen im Text folgen.

Dieser Fehler ist behoben. Die Platzhalter werden jetzt vollständig entfernt. Zusätzlich wurde die Funktion tabele::get_textpos erweitert : Lässt man die Angaben für die Tabellenzelle weg, werden Startposition und Textlänge der gesamten Tabelle berechnet :

      table::get_textpos (T, &start, &len);

28.09.2007
Bug 794 - Nach Abmelden von SOAP wird alter Connect-String weiter angezeigt Viele Plugins (Produktrecherche, Vorlagen, Platzhalterwerte) zeigen nach dem Abmelden noch den alten Connect-String an. Und schlimmer, sie zeigen auch noch die alten Daten. Man kann dann versuchen, damit zu arbeiten, das geht natürlich schief. Der Screenshot ist der Beweis.

Dies passiert anscheinend dann, wenn kein gültiger xml-offline-Pfad gesetzt ist. Das normale Auslog-Verhalten schient dann zu fehlen.

... dabei hat das so viel Arbeit gemacht, die Paletten alle wieder ordentlich zurückzusetzen.

Der Fehler resultiert aus dem Fix von Bug 764. Ist der Pfad leer oder falsch, wird seither die Initialisierung der Verbindung unterbrochen. Dadurch wurden auch die Paletten nicht mehr zurück gesetzt.

Der Fehler ist jetzt behoben.

27.09.2007
Bug 852 - Palettenskript mit deutschen Umlauten startet nicht (nur SOAP) Ich konnte ein Palettenskript mit dem Namen "Platzhalter zurückschreiben" erst starten, nachdem ich das Skript umbenannt habe auf "Platzhalter zurueckschreiben". Das "ü" war in der Palette auch nicht richtig angezeigt worden.

Die Zuordnung zwischen Menü und Skript wird natürlich über den Menütitel gemacht. Da hier die Umlaute falsch dargestellt waren, hat diese Zurordnung nicht funktioniert. Das sollte jetzt behoben sein.

27.09.2007
Bug 859 - Comet schneidet SQL Statements (beim lesen) in Panelstatements R437 MS SQL Server Unicode Comet liest nur 2021 Characters von 2141. Dann bekomme ich ein SQL Error. Der Rest des SQL-Befehles wird abgeschnitten.

Der Fehler ist inzwischen behoben. Ich habe mit einem Befehl, der über 4000 Zeichen lang ist, getestet. Eine Begrenzung gibt es aber nach wie vor : Sie liegt bei

                                8191

27.09.2007
InDesign® CS3 Die erste Testversion für CS3 ist fertig. 20.09.2007
Bug 807 - SOAP Interoperabilität getBinaryFile Der Comet kann Attachments aus getBinaryFile Antworten einiger Webservices nicht auswerten. Soweit ich feststellen kann, liegt die Ursache in einer falschen Auswertung der Mime-Boundaries. Einziger Unterschied zwischen einer funktionierenden und einer nicht funktionierenden Antwort war die zusätzliche Zeichensequenz 0d0d0a (wird vom Cometen vor dem Boundary offenbar zwei mal erwartet).

Das Auslesen der Attachments ist jetzt wie gewünscht (und sinnvoll!) resistenter, Windows Version mit dem Hybris-Testservice getestet, jeweils ein auf PHP / NuSOAP sowie Axis basierender SOAP-Service funktionieren auch noch :-)

20.09.2007
R 451 Bug 836 - Textplatzhalter wird nicht gelöscht Wenn in einem Textrahmen am Anfang ein Platzhalter steht, wird der nicht mitgelöscht, wenn der ganze Text gelöscht ist. Der Platzhalter lässt sich auch nur löschen, wenn Text vorhanden ist. Sonst bleibt der Platzhalter immer stehen und wird neu eingetipptem Text zugeordnet.

Platzhalter sind eine Texteigenschaft wie Font oder Textfarbe. Diese Eigenschaften bleiben an der Einfügestelle erhalten - auch dann, wenn der gesamte Text gelöscht wird. Ich glaube, in vielen Fällen ist dieses Verhalten sogar erwünscht.

Wird ein neuer Platzhalter (oder "Kein Platzhalter") in der Platzhalterpalette geklickt, wird dieser Platzhalter jetzt aber auch in leeren Texten gesetzt.

12.09.2007
Bug 837 - SOAP: StringIDs werden nicht geladen In neueren Versionen (getestet mit R 437 und R "450 oder so") werden keine StringIDs geliefert (werden in der Produktrecherche nicht angezeigt). Mit R 416 funktioniert alles.

Der Fehler ist beim Fix Bug 784 (R 427)von hereingekommen. Er ist behoben, StringIDs unter SOAP werden wieder geholt.

12.09.2007
Bug 804 - XML-Fehlermeldung Wenn irgendwas mit einer Datei nicht stimmt, kommt die wenig aufschlussreiche Fehlermeldung:

"ERROR: XML file '/path/to/blah.xml' not found or valid."

Wäre es möglich, das bei Gelegenheit aufzuteilen in:

    "ERROR: XML file '/path/to/blah.xml' not found." und
    "ERROR: XML file '/path/to/blah.xml' not valid."?

- Sagt Puh der Bär zu Blah der Datei : Musst du mal im Logfile schauen.
- Sagt Blah die Datei zu Puh dem Bär : Da bin aber zu schön dafür

Okay, sagt daraufhin Puh der Bär, dann zeig ich also allen, was mir an dir nicht gefällt - in einem Dialog. Und bei dem darfst du nicht mal mitreden, nur bestätigen.

12.09.2007
Seitenadaption Freigabe Version 1.0 11.09.2007

Version Kurzbeschreibung Beschreibung Datum
R 450 Bug 828 - Relative Positionen und Abstände in der Seitenadaption Bisher können mit den Nägeln und den Magneten nur feste Werte definiert werden. Wir benötigen darüber hinaus noch Nägel und Magneten, die relative Positionen bzw. Abstände definieren können.

Hat ein Rahmen z.B. bisher den Abstand 100 zu einer Seite und wird die Seite doppelt so groß, sollte der Abstand dann 200 betragen.

Zusätzlich zu den Werkzeugen "Nägel" und "Magneten" gibt es jetzt noch die "Prozent-Nägel" und die "Prozent-Magneten" (Die Menübeschriftung im InDesign® ist ein bißchen anders - länger). Diese Werkzeuge machen genau das Gewünschte.

                 

Die Prozentwerkzeuge sind rot eingefärbt, die normalen Werkzeuge haben eine grüne Färbung.

Ist eine Seite mit unterschiedlichen Nägeln fixiert, wird der Prozentnagel angewendet.

Hat ein Rahmen z.B. oben ein normalen Nagel und unten ein Prozent-Nagel, passiert folgendes :

  1. Der Abstand zur Seitenoberkante wird prozentual angepasst.
  2. Der Abstand zur Seitenunterkante wird wieder hergestellt. Dadurch verändert der Rahmen seine Höhe
  3. Der Abstand zur linken Seitenkante wird prozental angepasst.

Um solche Situationen zu vermeiden, sollten in diesen Fällen besser die Nägel in die Kantenmitte geschlagen werden.

29.08.2007
Bug 805 - Einstellungen-Palette wird bei Login nicht neu geladen Wenn ich einen neuen XML-Datenordner wähle, wird die Einstellungen-Palette nicht neu geladen.

Neu geladen werden soll die Liste auch nicht, aber sie muss bei Bedarf geleert werden. Das wird jetzt gemacht.

28.08.2007
Bug 797 - Bestelldialog für Floating Elements Die Einträge für Schwebende Rahmen und Schwebende Rahmen++ sind jetzt nicht mehr im Bestelldialog enthalten. 28.08.2007
Bug 816 - Hyperlink setzen funktioniert nicht für mehrere Tabellenzellen Wenn beim Zuweisen oder Aktualisieren mehrere Tabellenzellen ausgewählt sind, wird durch die darin enthaltenen Platzhalter kein Hyperlink erzeugt. Wenn der Textcursor in den Tabellenzellen steht oder der ganze Rahmen ausgewählt ist, funktioniert es.

Das geht jetzt. War ein Fehler in der Adobe-SelectionSuite - die man hier aber gar nicht unbedingt benötigt.

27.08.2007
Bug 799 - Hyperlinks für Rahmen Zusätzlich zu den bisherigen Methoden "hyperlink::create_pagedest" und "hyperlink::create_urldest", die sich nur auf das Textmodell beziehen, sollte es entsprechende Methoden für Rahmen-Hyperlinks geben.

Geht jetzt mit den neuen Funktionen hyperlink::frame_create_pagedest und hyperlink::frame_create_urldest.

27.08.2007
Bug 826 - <0x003C> in TaggedText (%!TT) beendet String Wenn in einem TaggedText <0x003C> (3C ist das öffnende <) vorkommt, z.B.
char * t = "%!TTbla bla bla<0x003C>blub blub blub";
textmodel::replace(t);

bricht das EInsetzen des Textes bei <0x003C> ab, man erhält im Beispiel nur: bla bla bla. Allerdings wenn ein schließendes > vorkommt, klappt es:

char * t = "%!TTbla bla bla<0x003C>blub> blub blub";
textmodel::replace(t);

liefert bla bla bla<blub> blub blub. Dieser Fehler ist leider SEHR schlimm, da wir bei Beckhoff Cats-SOAP immer <0x003C> bekommen, wenn ein < im Text auftritt und zur Zeit der Text in den Platzhaltern (über 100 Stück) dann abbricht. <0x003E> macht auch Probleme. Anscheinend werden beide Zeichen wie ihre literale Entsprechung interpretiert: <0x003C>cTypeface:Italic<0x003E> wird nämlich als gültiges Tag erkannt.

Lösung

Vor dem Einsetzen von TaggedText (der ja in aller Regel vorher doch mit den <0xXXXX>-Tags aufgebaut wird) werden jetzt die folgenden Ersetzungen gemacht :

<0x003C> in \<
<0x003E> in \>

Das dürfte das Problem lösen. Heißt jetzt z.B. ein Produkt "<:-)", dann könnte in der XML-Datei

&lt;:)

stehen. Der Name wird dann in der Palette richtig angezeigt. Soll der Name eventuell auch als TaggedText ins Dokument eingefügt werden, sollte aber besser folgende Schreibweise gewählt werden :

&lt;0x003C&gt;:)

Dann funktioniert es als Palettenname, Plaintext und TaggedText.

ACHTUNG

Beim Zurückschreiben in XML-Dateien werden die spitzen Klammern nicht automatisch in &lt;0x003C&gt; konvertiert. Das muss das entsprechende Skript selbst tun!

27.08.2007
Bug 813 - Kein reset von Tabellenmodul-Actions (hier Table-Design-Methode) durch Patzhalterwerte-Palette. Der tolle Knopf auf der Platzhalterwerte-Palette zum Löschen der gespeicherten Actions löscht leider nicht den Cache des Tabellenmoduls.

Der tolle Knopf lädt jetzt auch die Aktionen (Aufbau und Gestaltung) des Tabellenmoduls neu.

27.08.2007
Bug 825 - gBuildTable: Undeclared identifier In den Laden-Platzhaltern für Tabellenvorlagen soll man ja über gBuildTable beeinflussen können, ob die Tabelle direkt aufgebaut wird oder später durch table::build. Wenn ich das in einen Platzhalter einbaue bekomme ich immer: Fehler 6 - undeclared identifier.

Der Aufbau sollte eigentlich inzwischen über die Einstellung im Platzhalter unterdrückt werden. Die Variable existierte nur noch, weil ich vergessen hatte, sie zu entfernen. Sie ist jetzt wieder aktiviert.

Erlaubt der Tabellenplatzhalter den Aufbau, hat gBuildTable beim Skriptaufruf den Wert 1, sonst 0. Wird der Wert im Skript geändert, wird der Aufbau damit unterdrückt (resp. erlaubt).

27.08.2007
R 445 UFT8-freie Comet Version Die UTF-8-freie Version der Comet-Plugins wird unter dem Namen R445_Unicode_Off abgelegt. In dieser Version können weiterhin Unicode-Datenbanken verwendet werden. Die Darstellung der Zeichen mit einem Unicode größer 127 ist aber falsch. 15.08.2007
R 444 Unterstützung von Unicode-Datenbanken

Die Comet-Plugins unterstützen jetzt auch Unicode-Datenbanken. Dazu müssen die entsprechenden ODBC-Treiber installiert sein (siehe unten). Beim Einloggen in die Datenbank muss die Checkbox Unicode aktiviert sein.

Aktuelle Einschränkungen

  • Bisher nur Windows. Die Mac-Version folgt Ende August.
  • Zur Zeit sind nur die Paletten Produktrecherche und Vorlagen angepasst. Weitere Paletten folgen bis Ende August.
  • Im Logfile werden keine Unicode-Zeichen geschrieben. Auch hier wird die Form <0x00FC> verwendet.

Known bugs

Der Skriptbefehl query::output (qu, kString, str, 4000) erwartet im vierten Parameter die Länge in Bytes, die geholt werden dürfen. Das ist unter Unicode die Anzahl der Zeichen, die geholt werden dürfen. Aber jedes dieser Zeichen muss evtl. noch in die Form <0x00FC> gebracht werden. Das Ergebnis kann also bis zu 8 mal länger werden. Deshalb darf beim query::output höchsten (Bytelänge-1)/8 stehen. Also etwa :

char str[8001];

query::output (qu, kString, str, 1000)

Liste der getesteten ODBC-Treiber

Datenbank und Plattform OpenLink AccuSoft Microsoft
 MSSQL Mac OS X
Windows Funktioniert Vorlagen können nicht gespeichert werden, BLOB schreiben klappt nicht
Die Liste wird fortgesetzt

14.08.2007
Bug 788 - XML-Offline: Problem beim Lesen von UTF-8-Dateien Beim Zugriff auf UTF-8-Dateien konvertiert der Comet die Datei intern ins MacRoman-Encoding. Dabei gehen leider alle Zeichen hops, die sich nicht auf MacRoman mappen lassen (zum Beispiel die hochgestellte 2 wie in m2)

UTF8 in XML-Dateien wird jetzt richtig gelesen. Die Paletten zeigen die richtigen Zeichen :

  

Strings im Speicher

Intern werden die Unicode-Zeichen in der Form <0x00FC> aufbewahrt. Für den Import in InDesign® ist das schon die richtige Darstellung. Für xmlquery müssen Zeichen mit einem Unicode größer 127 in den folgenden Fällen ebenfalls in der Form <0x00FC> geschrieben werden:

  • In Panelstatements wenn panelstatements.xml nicht UTF8 ist
  • in CScripten
  • in xmlquery-Actions

Aktuelle Einschränkungen

  • Leider klappt das UTF8 bisher nur unter Mac. Die Windowsversion wird folgen.
  • Zur Zeit sind nur die Paletten Produktrecherche und Vorlagen angepasst. Weitere Paletten folgen bis Ende August.
  • Beim Zurückschreiben von Daten in die XML-Datei wird kein UTF8 geschrieben. Zeichen mit einem Unicode größer 127 werden in der Form <0x00FC> geschrieben. Auch hier wird bis Ende August angepasst und in Dateien mit dem Encoding UTF8 wieder UTF8 geschrieben.
  • Im Logfile werden keine Unicode-Zeichen geschrieben. Auch hier wird die Form <0x00FC> verwendet.

Testphase

Die Einführung von Unicode betrifft weite Teile des Quellcodes der Plugins. Zur Sicherheit gibt es daher vom aktuellen Release noch eine Unicode-freie Version (_Unicode_Off).

Fehler bei der Unicode-Darstellung und Verarbeitung bitte im Bug 788 eintragen.

13.08.2007
Bug 791, und hier - Lange Namen in der Produktpalette werden so abgekürzt, dass man sie nicht mehr unterscheiden kann.

Leider ist die Abkürzung der Texte mit "..." ein absoluter (im wahrsten Sinne des Wortes) Showblocker : InDesign® versucht den angezeigten Text an der angegebenen Stelle zu kürzen, zeichnet dann offscreen, schaut ob der String passt, und kürzt dann bei Bedarf weiter. Und (zumindest unter Windows) dauert das bei längeren String (um dies ja gerade geht) auch lange - pro Zeile bis zu 30 Sekunden. Das ist völlig indiskutabel. Die Abkürzungen werden daher bis auf weiteres entfernt und lange Texte einfach abgeschnitten.

Der Hilfetext bleibt.

Bis auf weiteres heißt : Wir werden demnächst ein eigenes Control für diese Texte einfügen. Aber das dauert noch ein bißchen - bleibt aber in meiner ToDo-Liste stehen.

13.08.2007
R 437 Bug 659 - Tabellenmodule und Tabellen automatisch entfernen Es wäre schön, wenn die Tabellen automatisch verschwinden würden, wenn die Actions zum Kopieren der Zeilen bzw. Spalten eine leere Liste liefern. Könnte man ja ggf. optional in der Platte einstellen.

Im Moment müsste man da als Workaround vermutlich im Tabellenplatzhalter erstmal abfragen, ob die Tabelle Inhalte bekommt und dann die Tabelle einfügen oder auch nicht, da wäre es schon praktischer und schneller (da die Daten nicht zweimal geprüft werden müssen) wenn das automatisch passiert.

Im Moment ist das Verhalten halt so, dass die Vorlage über den Tabellenplatzhalter so eingefügt wird und stehen bleibt.

Lösung

In der Palette "Tabellenaufbau" gibt es jetzt unter den Spalteneinstellungen (Woanders war kein Platz mehr) eine Checkbox, mit der dieses Verhalten eingestellt werden kann.

       

10.08.2007
Bug 787 - InDesign® hängt sich auf bei geöffneter Tabellenmodul-Palette Wenn die Palette Tabellenmodul geöffnet ist und Daten einer Tabellenvorlage anzeigt stürzt InDesgin ab oder gerät in eine Endlosschleife, wenn man z.B. zu einem anderen Programm wechselt und dann wieder Indesgin in den Vordergrund bringt. Denselben Effekt hat man, wenn man die Palette minimiert und dann wiederherstellt.

Der Fehler ist behoben.

FYI

Die Sache war eigentlich recht ?lustig?. Kommt die Palette in den Vordergrund, werden alle Daten (Aktionen, Gestaltungsmethoden, ...) neu geladen und alle Controls wieder mit ihren nötigen Notifiern versehen. (Notifier sind Funktionen, die ausgeführt werden, wenn sich der Wert eines Controls ändert. Wenn z.B. ein anderer Popup-Eintrag gewählt wird.)

In der Initialisierungsphase sollen die Notifier meist unterdrückt werden. Die entsprechenden Methoden haben dafür ein Flag. Leider ist aber bei den Enable/Disable-Methode für Menüeinträge dieser Parameter an verschiedenen Stellen und so kam es, dass bei Enable der Popup-Notifier gerufen wurde.

Das an sich ist nun nicht so schlimm - in diesem Fall wurde aber in der Initialisierung in einer Schleife über die Aktionen gelaufen und unglücklicherweise hat auch der Notifier diese Liste verwendet und den Listenindex dadurch zurückgesetzt. Wodurch dann die Initialisierung nicht weiterkam --> Endlosschleife.

10.08.2007
Bug 678 - Produktrecherche: Findstatements werden bei der Auswahl bereits ausgeführt Wenn man zusätzlich zur Standardsuche weitere Suchen definiert, dann wird die Suche bereits ausgeführt, wenn man nur den Eintrag auswählt (wenn man danach die Standardsuche wieder auswählt wird diese allerdings nicht sofort ausgeführt).

Dieses Verhalten ist schlecht, wenn ich z.B. nach einem Namen mit Wildcards suchen kann:<statement>getProductList&#xA;productname like &lt;searchvalue1&gt;%</statement>

Wenn dann die Suche bei der Auswahl ausgeführt wird, dann wird nach '%' gesucht und damit alle Einträge gefunden, was zu einem recht langen Ergebnis führen kann. Selbst ohne Wildcards werden von unserer Suche alle Elemente gefunden, da productname like "" immer 'true' ist.

Inzwischen habe ich das mal richtig ausprobiert. Das Problem ist nicht, dass die Suche direkt ausgeführt wird, sondern, dass durch das Benutzen des DropDowns für die Such-Auswahl die vier Textfelder GELÖSCHT werden! So schreibt der Benutzer da zwar zuerst etwas rein, wenn die Suche dann aber die Felder ausliest, sind sie schon wieder leer - und die Suche nicht eingeschränkt! Wenn Ihr das in Aktion sehen wollt, verwendet den allseits bekannten Beckhoff-Entwicklungs-SOAP-Server 212.100.45.120. Die drei Findstatements sind so gestaltet, dass sie auch bei leeren Textfeldern nur je ein Produkt zurückliefern. Sie enthalten trotzdem <searchvalue1> bis <searchvalue4>. Aber im logfile kann man sehen, dass die Abfrage, die abgeschickt wird, für die searchvalues jeweils nur ein % enthält.

Antworten

Die Tags <searchvalue1>, ... bekommen den aktuell im Suchfeld enthaltenen Text mit % am Ende und in Anführungszeichen Bei reinen Zahlen werden Anführungszeichen weggelassen. Bei den Findstatements kann man die Suchfelder vorbelegen mit den Werten value1, ... . Mit der (neuen) Angabe --- in den Values kann das Überschrieben der Suchelder verhindert werden.

Die automatische Suche bei den Findstatements bleibt erhalten. Bei diesen Suchen werden auch die Suchfelder (Beschriftung und Wert) neu belegt. Dazu werden die im Findstatement für value1, ..., label1, ... angegeben Werte verwendet. (Und nochmals : Steht in valueX ein "---", bleibt das entsprechende Suchfeld unverändert.

NEU : Mit der Angabe --- als Suchwert (value1, ...) wird verhindert, dass das entsprechende Suchfeld verändert wird.

Die Standardsuche wird weiterhin nicht automatisch ausgeführt. Aber : Bei Auswahl der Standardmethode werden jetzt die Suchfelder nicht mehr gelöscht.

08.08.2007
Bug 798 - Vorlagen lassen sich nicht einsetzen, wenn "Eigene Dateien" im Netzwerk liegt Ist der Benutzerordner "Eigene Dateien" irgendwo im lokalen Netzwerk gesetzt, werden keine Vorlagen eingesetzt. Merkwürdigerweise wird aber das Logfile an die richtige Stelle geschrieben. Der Fehler beim Einsetzen von Vorlagen ist 122.

Der Fehler tritt nur dann auf, wenn der Ordner "Eigene Dateien" wie folgt ausgewählt ist :

  1. Ordner im Netzwerk
  2. Freistellung dieses Ordners
  3. Freigestellten Ordner mit einem Laufwerksbuchstaben verbinden
  4. "Eigene Dateien" auf diesen Laufwerksbuchstaben zeigen lassen.
  5. Und schließlich muss man Vorlagen über eine Datenbankverbindung einsetzen.

In diesem Fall wird von Windows als Ordner für "Eigene Dateien" ein Pfad wie z.B. Y:\ ermittelt. Der Backslash am Ende war zu viel. Dann entstand ein Pfad der Art Y:\\_werkii_pit26.indd. Und bei dem gingen dann einige Sicherheitstests vor dem Anlegen der temporären Datei für die Vorlage schief.

Der Fehler ist behoben.

08.08.2007
Bug 766 - Tabellenmodul aktualisiert Platzhalter nach dem Kopieren von Spalten nicht Wir haben eine Tabelle, bei der zuerst die Spalten kopiert werden und danach gibt es zwei Zeilen die jeweils noch kopiert werden.

Bei der zweiten kopierten Zeile werden die Spalten richtigkopiert allerdings werden ab der zweiten Zeile (die erste Kopie) die Platzhalter nicht aktualisiert. Die IDs der einzelnen Zellen sind korrekt, aber die Werte nicht. Wenn in den Zellen die Platzhalter dann manuell aktualisiert ist alles ok.

Nachtrag

Auch das manuelle Aktualisieren klappt nur dann, wenn es in einer bestimmten Reihenfolge gemacht wird.

Problem

Das Problem bestand darin, dass in zwei hintereinanderfolgenden Zellen die gleiche Zell-ID gesetzt wird. Comet hat die beiden in den Zellen enthaltenen Platzhalter nicht als unterschiedliche Platzhalter erkannt.

Das Problem ist gelöst.

06.08.2007
R 429 Bug 689, Bug 782, Bug 792, und siehe hier - <StringID> nicht quoten Das Tag <StringID> in dieser Schreibweise wurde bisher nicht geqouted. Jetzt wird es das - dann müssten alle bestehenden Projekte geändert werden.

Das Tag <StringID> wird jetzt nicht mehr gequoted. Das ist die einzige Ausnahme bei den Tags mit Stringwerten. Neuere Projekte sollten das Tag <STRINGID> verwenden.

04.08.2007
Bug 786 - Platzhalter mit TaggedText: Erster Absatz wird nicht mit dem richtigen Absatzstil versehen Wenn ich einen einfachen Platzhalter setze, der dann einen TaggedText lädt wird der erste Absatz nicht so formatiert wie im TaggedText angegeben sonder er behält die Formatierung die er vor dem Verknüpfen mit dem Produkt hatte.

Die Kurzbegründung lautet : Verflucht!

Die lange Begründung ist : InDesigns® TaggedText-Import ist immer absatzgeführt. Bei unserem %!TT-Import soll aber um den Einfügetext nicht jedesmal ein neuer Absatz entstehen. Mit einiger (!) Mühe kann das ja auch verhindert werden. Aber was soll mit den Absatzstilen passieren? Soll der erste Absatzstil im TT-Text den aktuellen Absatzstil ersetzen? Manchmal vielleicht - aber gewiss nicht immer. Oder soll das der letzte Absatzstil des TT-Textes machen? Oder lieber doch nicht?

Aus diesem Grund gibt es jetzt verschiedene TT-Derivate :

  • %!DD
  • %!DN
  • %!ND
  • %!NN

D steht dabei für "Dokumentstil verwenden", N steht für "Neuen Stil anwenden". Die Position gibt an, ob der Absatzteil vor oder nach dem eingefügten Text gemeint ist.

Wird der alte Absatzstil beibehalten, wird über die neuen Textteile, die in den alten Absatz fallen, der neue Absatzstil als Zeichenstil gezogen. Dieser Text sieht dann also so aus, als hätte er den neuen Stil - er hat aber noch den im Dokument gültigen Absatzstil.

Eine Besonderheit ist !%ND mit einem Import ohne Absatz (es gibt also höchstens am Anfang ein <ParaStyle:>). Die Angaben widersprechen sich in diesem Fall und die erste Angabe bekommt den Vorrang : Der Absatz bekommt also den neuen Absatzstil. Im Anhang zu Bug 786 gibt es eine Testumgebung mit Testdatei für die TT-Derivate.

%!TT bleibt unverändert bestehen.

Aktueller Fall

Im aktuellen Fall war das Problem aber ein anderes. Da wird immer an der Textstelle 0 eingefügt und %!DN und so werden gar nicht benötigt.

Hier waren im Stilnamen \s enthalten (etwa Copy\_text\_headline). InDesign®-TaggedText braucht die wohl, aber wenn man intern mit der API einen Absatz- oder Zeichenstil sucht, gibt es Fehler. In der nächsten Version geht der TT-Import mit diesen Namen.

03.08.2007
Bug 789 - Mailadresse im Bestelldialog In den Bestelldialogen ist als Mailadresse info@priint.com angegeben. Es sollte aber lizenz@werk-ii.com sein.

Ist in der Datei oem.xml nichts anderes angegeben, ist das jetzt so.

03.08.2007
Bug 791 - Lange Namen in der Produktpalette Lange Namen in der Produktpalette werden so abgekürzt, dass man sie nicht mehr unterscheiden kann. Kann man da nicht kurzfristig etwas machen bis die Paletten scrollbar werden und/oder die Spaltenbreiten geändert werden können?

Lange Namen in der Palette werden jetzt nicht mehr hinten sondern in der Mitte abgekürzt. Die Namen unterscheiden sich meist erst am Ende und nicht in der Mitte. Abgekürzte Namen erzeugen außerdem einen Yellow-Text, wenn man mit der Maus drüber fährt. Der Yellow-Text enthält den vollständigen Text (allerdings unter Mac nur bis zu 255 Zeichen).

03.08.2007
R 427 Bug 784 - StringID in Panelstatements wird manchmal ignoriert In manchen XML-Projekten geht manchmal die StringID verloren. Das heißt, in der ersten Ebene der Produktrecherche wird statt der Spalte 1 die IconID (als Zahl) angezeigt.

Wenn man sich mit einem anderen Projekt verbindet und dann wieder mit diesem, geht es wieder.

Leider ist der Effekt nicht wirklich reproduzierbar; manchmal tritt er halt auf. Dass aber sogar ein Neustart nichts bringt, lässt vermuten, dass HasStringIDs irgendwo in Bezug aufs Projekt zwischengespeichert wird?

Jedenfalls haben die Panelstatements alle StringIDs.

Lösung?

Ich kann den Fehler zwar auch nicht wiederholen. Aber ich hatte das Phänomen auch schon mal. Und ich kann nichts finden, was den Fehler verursacht. Da der Fehler aber nur bei der Standardsuche auftritt, habe ich dort jetzt noch mal eine Extra-Nachfrage eingebaut, ob es eine StringID gibt - was das Problem hoffentlich behebt.

01.08.2007
Bug 785 - Vorlagen können nicht angelegt werden, wenn noch keine Vorlage existiert Hat eine XML-Installation noch keine Vorlagen, kann keine neue Vorlage angelegt werden. Alles ist okay, wenn mind. eine Vorlage da ist. Na so was. Der Fehler ist behoben. Die XML-Datei pageitems.xml muss aber mindestens den 0-Eintrag haben. Und der sollte richtig sein. So:
<pageitem>
    <id>0</id>
    <name></name>
    <description>0</description>
    <data>
      <src></src>
    </data>
    <preview>
      <src></src>
    </preview>
    <type>
      <id>0</id>
      <name></name>
    </type>
    <state>
      <id>0</id>
      <value>ohne Statusangabe</value>
    </state>
    <domain>
      <id>0</id>
      <name></name>
    </domain>
    <placeholder>
      <id>0</id>
      <name></name>
    </placeholder>
    <leftpos>0.0</leftpos>
    <toppos>0.0</toppos>
    <rightpos>0.0</rightpos>
    <bottompos>0.0</bottompos>
    <spread>
      <position></position>
      <leftitem>0</leftitem>
      <middleitem>0</middleitem>
      <rightitem>0</rightitem>
      <scriptid>0</scriptid>
    </spread>
    <record>
      <id>0</id>
      <id2>0</id2>
      <id3>0</id3>
      <stringid>0</stringid>
    </record>
  </pageitem>
31.07.2007
Bug 782 - <StringID> und andere Tags nicht durch Strings ersetzen Bisher werden Tags, die Stringwerte enthalten, beim Ersetzen immer automatisch in Anführungszeichen gesetzt. Kann man das irgendwie verhindern?

Alle Tags mit Stringwerten können jetzt mit den folgenden Präfixen versehen werden :

 Prefix  Beschreibung Beispiel abc'def ergibt
 ohne einfache Anführungszeichen im Strings werden verdoppelt, der String wird in einfache Anführungszeichen gesetzt <name> 'abc''def'
Unquoted_ einfache Anführungszeichen im Strings werden verdoppelt <Unquoted_name>
<parent.parent.Unquoted_name>
abc''def
Content_ Wert unverändert übernehmen <Content_name>
<parent.parent.Content_name>
abc'def
Diese Strings produzieren mit Sicherheit Fehler und werden nicht unterstützt 'abc'def'

Bitte beachten Sie, dass die Angaben Unquoted_ und Content_ immer vor dem letzten Wort des Tags angegeben werden!

31.07.2007
Bug 779 - link::layer, link::textlen und link::frame liefern falsche Werte Die Aufrufe der o.g. Funktionen liefern falsche Werte. link::frame z.B liefert immer 0. Die anderen Werte sind nicht zu deuten.

Oops, interne falsche Zuordnung zwischen Funktionsname und Funktion. Diese Fehler sind behoben.

31.07.2007
Bug 781 - Typecasts von int auf float und umgekehrt funktionieren nicht Leider liefern Typecasts der Form (int)99.9 oder (float)123 nicht die richtigen Ergebnisse.

Ooops, ich dachte, das funktioniert. Offensichtlich ist das nicht immer so. Typecasts von int in float und umgekehrt sollten ab sofort immer mit den neuen Funktionen

    toint
    tofloat

gemacht werden.

31.07.2007
Bug 780 - Kann die Musterseite einer existierenden Seite erfragt und geändert werden? Das geht im Moment noch nicht. Nur page::create bietet die Möglichkeit, eine Musterseite zu setzen. Zu erfragen oder gar zu ändern ist sie aber nicht mehr.

Die neuen Funktionen page::get_masterpage und page::set_masterpage machen das Gewünschte.

31.07.2007
Bug 769 - Tabellenmodul und Design-Methoden auf Gruppen Ich habe eine Design-Methode, die die Tabellenzellen einfärben soll. Beim Aufbau liefert der Server bereits eine Gruppierung mit (die Zeilen sind entweder in der Gruppe 'groupby' oder 'produkt') und dann soll die Design-Methode alle 'groupby'-Gruppen einfärben.

Kommentar

Ich habe das genauer untersucht. Das Problem ist, dass die Gruppenzuweisung aus der Table-Insert-Action nicht korrekt auf die Zellen übertragen wird. Nur das letzte Auftreten einer Gruppe wird wirklich auf die Zellen übernommen. Nach dem Aufbau ist die letzte Zeile der Tabelle die einzige, die zur Gruppe product gehört, und nur die letzte Zwischenüberschrift gehört zur Gruppe groupby. Die Design-Methode wird dann konsequenterweise nur auf diese Zellen angewendet. Ich habe in einem Extra-Skript die Table-Insert-Action getestet, sie scheint mir tadellos zu sein.

Lösung

Das Problem mit dem MoreGroups ist, dass nicht unterschieden werden kann, ob eine Gruppe über die Palette oder als MoreGroup gesetzt wurde. Ich kann also vor dem Aufbau nicht mal hergehen und alle Gruppen aus den Zellen entfernen. Andrerseits werden Gruppen beim Kopieren von Zeilen und Spalten weitergegeben - also auch MoreGroups, die während des Aufbaus gesetzt wurden. Das Ganze erst nach dem Einfügen aller Zeilen/Spalten einer Zelle zu machen, funktioniert auch nicht, weil ja in dieser Zelle vom letzten Aufbau noch MoreGroups stehen können ... siehe Anfang.

In der Tabelle werden die MoreGroups jetzt getrennt aufbewahrt. So kann die Tabelle vor dem Aufbau gefixt werden. Die MoreGroups stimmen jetzt - auch nach wiederholtem Aufbau.

Tipp

Einen schnellen Überblick über Gruppenzugehörigkeiten kann man mit einem Klick in das kleine Farbquadrat neben dem Gruppennamen bekommen. Alle Zellen, die zu dieser Gruppe gehören, werden dann in dieser Farbe hinterlegt.

                  

Achtung, diese Farbe wird mitgedruckt. Die Markierung ist nur ein Ersatz für die fehlende Möglichkeit, übe die InDesign®-API eigene CellAdornments zu implementieren. Also : Am besten nach dem Überprüfen der Gruppen gleich noch mal auf das Farbquadrat klicken.

31.07.2007
R 422 Bug 777 - Treeview in den Publikationen klappt nicht Was muss ich denn machen, um in den Publikationen einen Treeview zu bekommen. Irgendwas klappt immer nicht.

Da war die Doku nicht vollständig - über Treeviews stand da kein Wort. Der Treeview selbst klappt, wenn er richtig konfiguriert ist. Die Doku für die Publikationen ist jetzt aktuell und man sollt ein der Lage sein, einen Treeview selbst zu konfigurieren.

25.07.2007
Bug 776 - Icons der Dokumentpalette fehlen - oder welche gibt es? Welche IconIDs kann ich der Dokumente (Publikationen-Palette) verwenden? 2098 wie z.B. in der Produktrecherche klappt nicht.

In der Palette gibt es jetzt die gleichen Icons mit den gleiche IDs wie in der Produktrecherche, siehe Doku für die Publikationen.

25.07.2007
Bug 775 - Textfluss-Aufbau mit Tabellenplatzhaltern vermischt die Produkttexte und -tabellen Der Aufbau eines Produktes mit Tabellenplatzhaltern im Textfluss funktioniert. Werden aber mehrere Produkte aufgebaut, werden die Texte der verschiedenen Produkte ineinander verschoben. Einige Tabellen werden aufgebaut, andere nicht. Manchmal scheinen Text und/oder Tabellen auch mit falschen Produkten geladen zu werden.

Das war ein kleiner Indexfehler der jetzt behoben ist. An dieser Stelle will ich nochmals auf den Importdialog des Textfluss-Aufbaus hinweisen : -Shift öffnet einen Importdialog.

25.07.2007
R 418 Bug 772 - Veränderte Textplatzhalter in Vorlagen und bei Copy/Paste Beim Anlegen von Vorlagen und bei Copy/Paste kommt es hin und wieder vor, dass sich unsere Platzhalter verschieben. Z.B.:

    Vorher    : [Titel]
    Nachher  : T[itel]

Oder auch :

    Vorher : [Bestell-Nummer]
    Nachher : [Bestell]-[Nummer]

Beides führt natürlich beim Neuladen zu falschen Texten.

Problem

Werden in einem Textplatzhalter Textattribute (Font, Farbe, Großes, ...) geändert, werden die Platzhalter intern in verschiedende sogenannte Runs getrennt. Die Comet-Plugins stellen sicher, dass alle zusammengehörigen Runs richtig erkannt werden. Offensichtlich werden einige dieser redundanten Runs von InDesign® aber nicht richtig kopiert.

Lösung

Drei Dinge gibt zur Lösung des Problemes :

  1. Die Skriptbefehle textmodel::gremove_redundant_tags, textmodel::remove_redundant_tags, frame::remove_redundant_tags und document::remove_redundant_tags. Mit diesen Anweisungen können an ausgewählten Dokumentteilen (oder im gesamten Dokument) die redundanten Platzhalter entfernt werden.
  2. Über das neue Menü Zusatzmodule::PLatzhalter:Platzhalter vor dem Sichern aufräumen kann eingestellt werden, dass vor jedem Sichern eines Dokumentes die redundanten Platzhalter im gesamten Dokument automatisch entfernt werden. Das Menü ist als Toggle-Menü implementiert - man kann das Verhalten also an- und ausschalten.
  3. Das Menü Zusatzmodule::PLatzhalter:Platzhalter jetzt aufräumen räumt die aktuelle Datei auf.
24.07.2007
R 416 Bug 764 - Abbruch bei Konfigurationsfehler Wenn man einen falschen Datenordner wählt oder die Datenbank- bzw. SOAP-Connection unterbrochen wird, kommt immer eine lange Reihe von Fehlermeldungen. Ich fände es sinnvoll, wenn eine Tabelle / Konfig-Datei als "führende" Konfig gälte, bei deren Fehlen weitere Prüfungen / Abfragen unterbleiben.

Als Minimalforderung wird jetzt die Existenz der Datei panelstatements.xml geprüft. Wer die in einen Ordner legt und diesen dann auswählt, handeltgewissermassen vorsätzlich - und bekommt weiterhin die Höchstwarnstufe.

23.07.2007
Bug 711 - Tabellenplatzhalter in Tabellenmodul-Tabelle, siehe auch hier Der Erstaufbau von Tabellen in Tabellen klappt. Soll die Tabelle aber noch einmal aufgebaut ewrden, haben die Tabellen in der Tabelle die falschen RootTableRecordIDs. Die Zellen, die diese Tabellen, haben aber die richtige Zell-ID bekommen.

Der Fehler lag daran, dass beim Verlinken nur direkte Tabellen von Texten bearbeitet werden. Untertabellen werden dabei übergangen. Da damit alles andere im Comet funktioniert, habe ich nicht diese Stelle sondern das Setzen der Zell-IDs geändert : Dort werden jetzt auch Untertabellen richtig verlinkt.

Ausserdem werden diese Tabellen jetzt automatisch auch neu aufgebaut. Um in Skripten unterscheiden zu können, ob eine Tabelle automatscih von einer äusseren Tabelle aufgebaut wird oder nicht, gibt es die neuen Skriptbefehle

    table::get_parent (T);
    table::has_parent (T);

Das Ladenskript 12345785 des Platzhalters 117 bei Beckhoff habe ich entsprechend geändert : In der while-Schleife, die alle Tabellen neu aufbaut, steht jetzt noch der Test :

   if (!table::has_parent (tab))
   {
       ...
   } 
23.07.2007
Bug 747, Bug 767 - Tabellenaufbauaktion mit Skripten Ich will nicht immer sql/xmlquery selects schreiben. Kann man nicht auch Skripte für die Aufbauaktionen im Tabellenmodul verwenden?

Geht jetzt. Beschreibung siehe gProducts.html, idtype.html und idtypelist.html der Online-Doku.

Mit dieser neuen Variante lassen sich jetzt auch Tabellen mit der aktuellen Produktauswahl aufbauen (productlist::get).

20.07.2007
Bug 765 - Drap&Drop eines Produktes verlinkt Platzhalter nicht Der Fehler liegt daran, dass in der ersten Ebene der Produkte Icon- und ClassID vertauscht sind. Dann wird kein Icon gezeigt und die falsche ClassID verhindert das Verknüpfen mit den neuen Rahmen.

Ich vertausche jetzt Icon- und ClassID, wenn sie offensichlich falsch sind :

   if (classID > 1999 && imageID < 2000)

Damit sollte das Problem behoben sein.

20.07.2007
R 415 Previews-Palette Die Previews-Palette wurde überarbeitet. In der Statuszeile Palette wird bei DragDrop jetzt angezeigt, was die Aktion beim Loslassen aktuell machen würde. Ich denke, das ist hilfreich. 17.07.2007
Absturz beim Produktaufbau In R406 war leider ein schwerer Fehler enhalten, diese Version bitte nicht mehr verwenden. Dieser Fehler ist jetzt wieder behoben.

Anmerkung für Paul : Suche nach "QWE" im SourceCode!

17.07.2007
Bug 761 - Tabellenmodul - erste/innere/letzte Gruppe falsch, wemm keine Zeilen/Spalten angelegt wurden Wurden von einer Tabellenzelle keine weiteren Zeilen/Spalten angelegt, bekommt die auslösende Zeile/Spalte die Gruppenzugehörigkeit first. Sollte sie nicht eigentlich auch last sein?

Wird kein Block angelegt, erhalten die Zellen dieses Blockes jetzt beide Gruppen, first und last. Jede Zelle des Blockes (also nicht nur die inneren) wird ausserdem der Basisgruppe zugewiesen.

  • Innere Zellen werden jetzt also eindeutig daran erkannt, dass sie weder in first noch in last last sind.
  • Zellen, die sowohl in first als auch last liegen, weisen darauf hin, dass keine weiteren Tabellenzellen angelegt wurden.

Bei einer Blockgrösse > 1 gilt die Gruppenzugehörigkeit jeweils für alle Zellen des Blockes. Mit einer Blockgrösse von 3 ergibt sich also

1 Produkt gefunden

     
     
Gruppe_first, Gruppe, Gruppe_last
Gruppe_first, Gruppe, Gruppe_last
Gruppe_first, Gruppe, Gruppe_last

2 Produkte gefunden

     
     
Gruppe_first, Gruppe
Gruppe_first, Gruppe
Gruppe_first, Gruppe
Gruppe, Gruppe_last
Gruppe, Gruppe_last
Gruppe, Gruppe_last

3 Produkte gefunden

     
     
Gruppe_first, Gruppe
Gruppe_first, Gruppe
Gruppe_first, Gruppe
Gruppe
Gruppe
Gruppe
Gruppe, Gruppe_last
Gruppe, Gruppe_last
Gruppe, Gruppe_last
12.07.2007
Bug 755 - <layer> Tag in row/col Statements im Tabellenmodul Für sprachabhängigen Tabellenaufbau müsste ich die Dokument-Ebene abfragen können. Equivalent zum <layer> Tag bei Platzhalter.

Die entsprechenden Tags können jetzt auch in den Aktionen des Tabellenmodules verwendet werden. Siehe dazu auch hier.

Hier ein Beispiel :

select
    
x.sonid, 0, 0,
    
CONCAT('Seite ',<pagestr>,', Ebene ',<layer>),
    ''
from pdb_productlink x
where x.fatherid = <RootTableRecordID>
    and x.kind = 'Variante'
    and x.active = 1
order by x.sort

Beachtet aber unbedingt : Die Informationen über Ebene, Seite, Zelleninhalte (<text>, ...) beziehen sich natürlich immer auf die auslösende Zelle, NICHT AUF DIE NEU ANGELEGTEN Zellen.

12.07.2007
Bug 127 - Rahmenplatzhalter zeigt roten Haken obwohl SyncStateInvisible = 1 Zwei Textrahmen-Platzhalter existieren, beide haben SyncStateInvisible=1, beiden zeigen nach Aufbau roten Haken, die Platzhalterwerte-Palette zeigt den SyncState nicht richtig an!

Beide Fehler sind behoben : Der SyncStatus wird nicht mehr gezeigt, wenn das nicht gewollt ist und in den Platzhalterwerten wird der richtige Wert von SynStateInvisible gezeigt.

12.07.2007
R 406 Bug 743 - Hyperlinks auf URLs Neben den Verweisen auf andere Dokumentseiten (hyperlink::create) werden auch URL-Verweise benötigt.

Dazu gibt es jetzt die Funktion hyperlink::create_urldest. Damits einheitlich ist, gibt es jetzt auch die Funktion hyperlink::create_pagedest, die wie hyperlink::create aber mit geringfügig geänderter Parameterreihenfolge ist.

05.07.2007
Bug 741 - Textaufbau verliert jeden ersten Absatzstil Beim Textaufbau wird jeder erste Absatzstil des eingefügten Textes entfernt.

Das stimmt so nicht. Der Textaufbau fügt aber den Text immer an der aktuellen Einfügeposition an. Das kann auch mitten im Absatz sein. Der erste Absatzstil des eingesetzten Textes wird dabei durch den im Dokument geltenden Absatzstil ersetzt.

Um das Problem zu lösen, kann jetzt vor und nach jedem eingefügten Produkt ein beliebiger Text ins Dokument eingefügt werden :

  • Der Skriptbefehl textmodel::insert_products hat zwei weitere Parameter (prefix, postfix). Mit der Angabe <para> wird ein neuer Absatz eingefügt.
  • Der Aufbau über das Button der Produktrecherche öffnet mit Shift-Click einen Importdialog. Dort können Prefix und Postfix (und anderes) ebenfalls eingestellt werden.
04.07.2007
Bug 740 - Auswahl in der ToDo-Liste wird nicht bei jedem Textplatzhalter richtig gesetzt Bei einigen nicht-synchronen Textplatzhaltern wird die Auswahl in der ToDo-Liste nicht gesetzt.

Auffällig daran ist, dass die Auswahl dann richtig gesetzt wird, wenn der Textcursor am Anfang des Textplatzhalters steht. Und das ist auch die Lösung des Problems. Platzhalter können intern aus verschiedenen Teilstücken bestehen. Ändert sich der Textstil, wird der Platzhalter intern unternbrochen. Zum Vergleich mit der ToDo-Liste wird aber immer das erste Teilstück benötigt.

Der Fehler ist jetzt behoben.

04.07.2007
Bug 739 - Nicht erklärbarer Abbruch -122 beim Seitenaufräumen Das Seitenaufräumen wird unerklärlicherweise mit Fehler -122 beendet. In der Meldung steht noch "Could not find the import preparation script". Was für ein Skript soll denn dort ausgeführt werden?

Der Fehler kommt daher, dass mind. ein Rahmen eine Aufbauregel enthält, die im aktuellen Datenpool nicht verfügbar oder leer ist. Aber das war -zugegebenermassen - nicht so einfach zu erkennen, eigentlich gar nicht. Denn leider hat das Plugin Aufbauregeln in dieser Situation einen falschen Wert (nämlich Leer) angezeigt. Das ist jetzt geändert. In den Aufbauregeln werden jetzt Unbekannt und die ID der Regel angezeigt. Ausserdem ist die Fehlermeldung beim Seitenaufräumen ein bisschen informativer.

03.07.2007
Platzhalterdarstellung über Menü und in der Reader-Version Zum Wechseln der Platzhalterdarstellung gibt es jetzt im Menü Ansicht und im Rechte Maustaste im Dokument-Menü jeweils das Untermenü Platzhalter mit den Einträgen Verbergen, Zeigen, Mit Status zeigen. In der CS3-Version werden die entsprechenden Buttons nicht mehr in der Werkzeugpalette sein.

Die Menüs sind auch in der Reader-Version enthalten

03.07.2007
Bug 714 - Dokumente bekommen comet Kennung Auch wenn die comet Plugin installiert sind, bekommen auch Dokumente die ohne comet Funktionalitäten aufgebaut wurden und keine sichbaren Platzhalter haben eine comet Kennung. Diese Dokumente können von anderen Arbeitsplätzen nicht mehr ohne weiteres geöffent werden (Sichern unter Dialog).

Dies muss in der CS3 Version behoben werden. Am besten mit einem Menüpunkt comet Aktivieren / Deaktivieren.

Lösung

Die Meldung über fehlende Plugins hat zwei verschiedene Auslöser :

  1. Im Dokument sind Text- und/oder Rahmenplatzhalter enthalten.
  2. Ein Plugin hat eine dokumentbezogene Voreinstellung geändert (z.B. die Darstellung der Platzhalter oder einen Produktaufbau [der merkt sich nämlich das verwendete Raster])

Alle damit zusammenhängenden Daten werden jetzt als "ignorierbar" ins Dokument eingetragen. Dadurch wird die Warnung unterdrückt. Da die entsprechenden Daten ohne ihre zugehörigen Plugins natürlich auch nicht mehr geschrieben werden können, können Änderungen im Dokument auftreten :

  • Dokumentbezogene Voreinstellungen bleiben erhalten
  • Rahmenplatzhalter bleiben erhalten. Beim Duplizieren von Rahmen gehen die Platzhalter verloren. Änderungen an Rahmeneinstellungen oder enthaltenen Bildern erhalten den Rahmenplatzhalter.
  • Textplatzhalter bleiben zwar erhalten, neu eingefügter Text bekommt aber keinen Platzhalter (auch dann nicht, wenn in einen Platzhalter geschrieben wird.) Platzhalter werden nicht kopiert.
  • Einstellungen des Tabellenmoduls gehen verloren, wenn die Tabelle geändert wird (auch wenn lediglich Text in der Tabelle geändert wird).

Grundsätzlich gilt :

  1. Werden Dokumente ohne Comet-Plugins geöffnet, erscheint keine Fehlermeldung mehr.
  2. Werden die Dokumente ohne Änderungen geschlossen, gehen (natürlich) auch keine Daten verloren.
  3. Änderungen von Dokumenten können Comet-Daten (Platzhalter) entfernen.
  4. Sind die sog. Comet-Reader Plugins installiert, bleiben Comet-Daten erhalten. In einem Workflow, in dem Dateien von einem Comet-lizenzfreien InDesign® zwischenbearbeitet werden, sollte grundsätzlich geprüft werden, ob die dort vorgesehenen Änderungen platzhaltersicher sind!

Im Reader sollten die folgenden Plugins enthalten sein :

  • Comet
  • CoreServlett
  • CoreSelection
  • EmbeddedLink
  • FrameLink
  • PlainCopy

02.07.2007
R401 Bug 607, Bug 627, Bug 627- Lizenzfehler Die Lizenzprüfung wurde überarbeitet und an Mac und Windows mit aktuellem und 2 Monate vorgestelltem Datum sowohl für Comet als auch für Comet Reader jeweils ohne Lizenzdatei, mit neuer und mit bestehender Lizenzdatei getestet.

Nach der Willkommensmeldung im Logfile kommt jetzt eine Meldung, die den erwarteten Pfad der Lizenzdatei zeigt :

    # Searching license file at '/Applications/Adobe InDesign® CS2/Plug-Ins/Werk [2]/w2.lic'

Danach wird das Ergebnis des Lesens dieser Datei notiert :

# License file not found.
Die Datei wurde am angegebenen Pfad nicht gefunden. Bitte Pfad und
Zugriffsrechte prüfen.

# w2.lic must not be a directory. Cannot open file.
Ein Objekt w2.lic wurde zwar gefunden aber als Ordner identifiziert.

# Cannot open license file for reading.
Die Lizenzdatei wurde zwar gefunden, kann aber nicht zum Lesen geöffnet werden. Bitte Zugriffsrechte prüfen.

# Error __ERRNUM__ while reading license file.
Die Datei konnte zwar geöffnet werden. Aber das Lesen der Datei schlug fehl. (Zur weiteren Bearbeitung als Bugfix bitte die Fehlernummer __ERRNUM__ angeben.

# License file successfully read.
Die Lizenzdatei konnte erfolgreich gelesen werden. Treten jetzt noch Probleme mit der Lizenznummer auf, kann das folgende Ursachen haben (Darüber werden aus naheliegenden Gründen keine Meldungen ins Logfile geschrieben.) :

  1. Die Lizenzdatei ist überhaupt falsch
  2. Für das Plugin ist kein Lizenzschlüssel verfügbar (Die Namen vor den Schlüsseln dürfen nicht verändert werden!)
  3. Die Lizenzangabe kann nicht entschlüsselt werden.
  4. Der Schlüssel enthält falsche Nummern (InDesign®-ID und MAC-ID müssen stimmen. Die Lizenzdatei funktioniert nur auf dem Rechner, der die Bestelldatei erzeugt hat oder dessen Angaben enthält.)
  5. Und schliesslich kann auch die Versionsnummer der Lizenz abgelaufen sein. Eine Lizenznummer gilt immer für drei Versionen (z.B. 1.1 - 1.4, 1.9-2.1)

Soll das Tabellenmodul nicht benutzt werden, kann es abgeschaltet werden mit dem folgenden Eintrag in der Lizenzdatei :

   Tabellenaufb "UNUSED"

mit einem Tab als Trenner.

30.06.2007
R390 Bug 724 - Unitext-Export in XML-Format Der Export als Unitext bringt die Unicode-Zeichen in C-Notation. Nett wäre, wenn man sie auch in XML-Notation bekommen könnte (vielleicht auch in InDesign®-Notation, wenn Du grad schon dran bist?); das in cScript zu machen, ist ja etwas mühselig.

Beispiele:
kExportUnitext \\00ae // zwingend kleingeschrieben
kExportXMLUnitext &#x00AE; // Groß- / Kleinschreibung wurst
(dezimal): &#0174;

Die Dezimale Schreibweise finde ich überflüssig - aber wenn es noch einfacher zu implementieren ist...

Es gibt jetzt folgende Möglichkeiten

kExportUnitext (<unitext>) \\00ae
kExportXUnitext (<xunitext>) <0x00AE>
kExportXMLUnitext (<xmlunitext>) &#x00AE;

Die Angaben in den Klammern können in Aktionen von Textplatzhaltern verwendet werden, um den aktuellen Platzhaltertext im entsprechenden Fomrat zu erhalten.

29.06.2007
Bug 733 - product::set (prd, kString, v) setzt nichts im PreSkript Das funktioniert jetzt. 29.06.2007
Bug 734 - frame::bbox liefert bei Inline-Rahmen im Overset kein Ergebnis Befindet sich ein Inline-Rahmen im Overset, kann dessen BBox nicht bestimmt werden. Der Fehler beeinflusst auch die Bildplatzierung.

Der Fehler ist behoben.

Achtung

Die Bounding Box unsichtbarer Rahmen darf bloss zur Bestimmung der Rahmengrösse verwendet werden. Die Positionen selbst können natürlich nicht richtig bestimmt werden. Im Logfile steht für unsichtbare Rahmen die Meldung

# frame::bbox called for an invisible frame. Use bbox values only to get the frame size.

29.06.2007
Bug 731 - Welchen ODBC-Treiber kann man auf dem Mac für mySQL verwenden? Christoph sei Dank haben wir nun endlich eine Lösung :

1.) Installation

Zur Neuinstallation oder Aktualisierung einer bestehenden MyOdbc Installation gibt es liegt jetzt ein ZIP-Paket auf dem FTP Server. Dieses enthält alle benötigten Bibliotheken sowie drei doppelklickbare Shell-Skripte:

  • Install.command installiert die Treiber, prüft und korrigiert auf Wunsch alle vorhandenen DSN-Einträge, die MyOdbc verwenden und legt auf Wunsch einen neuen DSN an
  • Add.command legt einen neuen MyOdbc DSN an.
  • Sanity.command prüft und korrigiert auf Wunsch alle vorhandenen MyOdbc DSN Einträge

Die Treiber sind mit 10.3 und 10.4 PowerPC und 10.4 Intel getestet, somit also für derzeit weitgehend "alle" Macs einsetzbar. Beschwerden wegen schlechter Perfomance gab es bislang keine. Die vollständigen Treiber in Skripte sind hier zu finden.

2.) Erweitern der Panelstatements

Damit Umlaute richtig angezeigt werden wird für die MyOdbc DSN Einträge ein Initialisierungs-Statement angegeben, das für Konvertierung aller Daten nach bzw. von Macroman sorgt. Leider (ich halte das ja für einen Bug...) werden beim Einfügen / Aktualisieren auch Blob-Spalten konvertiert, was Previews und Vorlagen ziemlich unbrauchbar macht. Die Lösung hierfür ist, in den entsprechenden Statements explizit anzugeben, das Blob-Spalten den Zeichensatz "Latin1" verwenden. Das geht mittels eines "introducers", am Beispiel von Statement 29 (Eintragen der binären Daten von Vorlagen):

    update PageItems set
       data = _latin1?, preview = _latin1?,
       leftPos = ?, topPos = ?, rightPos = ?, bottomPos = ? 
    where id = ...

Neu sind die beiden "_latin1" vor den Platzhaltern für data und preview. Bemerkenswert daran ist, dass in der MySql-Dokumentation ausdrücklich vermerkt ist, dass der "introducer" keine Konvertierung bewirkt, offenbar aber (und das steht nicht da) eine unerwünschte Konvertierung verhindern kann

Entsprechend geändert werden müssen die Statements

  • 29
  • 64
  • 80
  • 103

3.) Neue PlugIns (R38x) installieren + Eintrag in Keywords

In der neuesten PlugIn-Version sind alle im PlugIn fest kodierten Statements erweitert; wenn in der Datenbank das Keyword LATIN1 definiert ist, wird dessen Wert allen Blob-Spalten vorangestellt. Für mySQL muss der Wert von LATIN1 auf _latin1 gesetzt werden.

28.06.2007
Bug 730 - Eine neu angelegte Vorlage wird erst nach Neuladen der Palette richtig angezeigt. Die neue Vorlage wird zwar in der Palette angezeigt, aber alle ihre Werte (incl. Preview) sind falsch oder leer. Nach Neuladen der Vorlage-Palette ist alles okay. Der Fehler tritt nur bei ODBC.Verbindungen auf.

Behoben

28.06.2007
Bug 729 - Gibt es eine Möglichkeit zu testen, ob ein ItemRef auf einen existierenden Dokumentrahmen zeigt? Gibt es eine Möglichkeit zu testen, ob ein ItemRef auf einen existierenden Dokumentrahmen zeigt? item::defined liefert als Ergebnis nur, ob überhaupt eine Referenz da ist. Es ist aber nicht sicher, ob das dahinterstehende Objekt überhaupt noch im Dokument existiert und, wenn ja, ob es tatsächlich ein Rahmen ist oder nicht doch etwa ein Lesezeichen.

Für die verschiedenen Objekte, auf die ein ItemRef zeigen kann, gibt es jetzt jeweils eine is_valid Methode. Die Methoden prüfen, of die Referenz definert ist und auf ein existierendes Objekt vom entsprechenden Typ zeigt :

28.06.2007
Bug 711 - Tabellenplatzhalter in Tabellenmodul-Tabelle Wenn in einer Hot-Spot-Zelle im Tabellenmodul nur ein Tabellen-Platzhalter steht, erhält dieser beim Aufbau der Tabelle falsche IDs. Es wird die richtige Anzahl Zeilen erzeugt, und jede Zelle hat die richtigen Cell-IDs. Aber die eingefügten Tabellen haben nach dem Aufbau falsche RootTableRecordIDs. Dies passiert nur, wenn in der Zelle nur ein Tabellenplatzhalter steht. Steht noch mehr darin, geht alles gut.

Das war eine ziemlich hinterhältige Sache : Nachdem der Platzhalter durch die Tabelle ersetzt wurde, muss die Tabellenliste durchsucht werden, ob eine der Tabellen an der Textposition des alten Textes steht. Aber diese Positionen stimmen erst nach einer Neuberechnung des Textes - zur nächsten Idle-Time oder nach einem expliziten (und komplizierten und langsamen) Repaint.

Da aber InDesign® neue Tabellen immer an die Tabellenliste anfügt, reicht es aus, die hinzugefügten Tabellen zu bearbeiten und alles wird gut. (D.h., ein Tabellenplatzhalter kann wie bisher beliebig viele -auch gar keine- Tabelle enthalten. Alle werden mit der ID des ersetzten Platzhalters verbunden.)

Achtung

Das Verfahren klappt bei CS und CS2. Ich weiss noch nicht, ob auch unter CS3 Tabellen in dieser Reihenfolge verwaltet werden.

26.06.2007
Bug 726 - Platzhalterwerte-Palette ändert die Platzhalter nicht Die Platzhalterwerte-Palette zeigt die Einstellungen eines Platzhalter im Dokument zwar an, aber ändern kann man den Platzhalter nicht.

Das geht jetzt.

Aber Achtung

Wenn jetzt in der Load-ID eine andere Action-ID eingetragen ist und im Dokument
ist ein Platzhalter ausgewählt, dann wird dieser Platzhalter geändert. Deshalb sollte zum Editieren von Aktionen immer das Skript-Feld im unteren Fensterbereich verwendet werden.

Geänderte Platzhalter können mit dem Reset-Button wieder aus dem Datenbestand geholt werden. Aber auch hier ein Achtung : Dazu muss natürlich die richtige Datenverbindung aktiv sein.

26.06.2007
Bug 725 - Textplatzhalter zeigen keine eckigen Klammern Ich habe in colors.xml eigene Platzhalterfarben definiert. Die werden auch richtig für die Platzhalter verwendet, leider werden aber keine eckigen Klammern um die Textplatzhalter gezeigt. Was ist los?

Der Fehler liegt wahrscheinlich, daran, dass die Farben im Range (0.0 - 255.0) definiert sind. Richtig sind aber Prozentangaben (0.0 - 100.0). Die Angabe 255.0 erzeugt dann einen Farbwert von 650 - was ja nicht geht.

Der Comet stellt jetzt alle Angaben, die grösser als 100.0 sind, automatisch auf 100.0. Die Klammern kommen dann. Aber die Farben an sich sind natürlich möglicherweise falsch.

Bei Schwarz werden die Klammern automatisch aufgehellt.

Nachbemerkung

Im Gegensatz zu anderen xml-Dateien, bei denen der Comet Änderungen registiert und entsprechend neu lädt, wird das für die Platzhalterfarben nicht gemacht - dann wird das Zeichnen des Dokumentes zu langsam.

26.06.2007
Bug 712 - Produktaufbau bei rasterfixiert oder produktdefiniert nur auf einer Seite Wenn man über den Bausteine-Knopf einen Produktaufbau startet, und dabei nicht das Verfahren rasterorientiert, sondern rasterfixiert oder produktdefiniert auswählt, werden alle Produkte auf EINE Seite aufgebaut, es werden keine neuen
Seiten angelegt.

Getestet mit CS 2 1.4.1 R380 und dem XMLTestprojekt vom 20-jun-07.

Das stimmt aber nicht. Folgendes passiert (beim Aufbau der ersten fünf Produkte [Der schwarze Incal, In tiefsten Tiefen, ...] und dem Raster Raster):

Rasterfixiert

Das dritte Objekt wird auf eine neue Seite gebaut. Eine neue Seite wird also angelegt. Aber Das ist gar nicht okay! Die neue Seite wird deshalb angelegt, weil die wiederholenden Elemente über den Seitenrand hinausragen. Eine Rasterzeile weiter unten wäre aber Platz gewesen. Dieser Platz wird jetzt ausgenutzt. Es werden also weniger Seiten als vorher angelegt.

Zu beachten ist noch : Die wiederholenden Elemente feuern erst dann einen Fehler, wenn ein Rahmen mehr als 40 Points über den Seitenrand hinausragt. Und zweitens : Werden keine wiederholenden Elemente verwendet, wird beliebig über den Seitenrand eingefügt - so wie eben das Raster ist.

Produktorientiert

Hier war eine der Kombinationen von "erlaube und ignoriere unvollständige Platzierungen" falsch. Das ist jetzt aber auch richtig. Der Unterschied ist :

  • erlauben : Unvollständige Platzierungen DÜRFEN vorkommen. Wenn welche gefunden werden, wird der Aufbau gar nicht erst begonnen.
  • ignorieren : Wenn unvollst. Platzierungen erlaubt sind und beim Aufbau eine gefunden wird, wird dieses Produkt nicht mit aufgebaut.
23.06.2007
Autocomet Im Batchbetrieb kann das Öffnen von Vorlagen und Speichern der Ausgabe unterbunden werden, indem
  • für ObjectPath und TemplatePath der Wert /dev/null angegeben wird. In diesem Fall muß das Batch-Skript selbst dafür sorgen, daß - wenn erforderlich - ein Dokument geöffnet wird. Dieses Dokument darf in R38X vom Skript nicht wieder geschlossen werden!
    oder
  • nur für ObjectPath /dev/null angegeben wird. In diesem Fall wird TemplatePath geöffnet, auf einer temporären Kopie gearbeitet und diese nach Skriptende wieder gelöscht.
22.06.2007
Bug 715 - xmlquery::app_path liefert Pfad mit umgekehrtem Schrägstrich Eigentlich sollte der comet inzwischen nur noch Pfade mit / liefern, keine \ mehr. Leider verhält sich app_path anders, es liefert umgekehrte Schrägstriche.

Die Skriptfuntionen system::app_path und system::plugin_path sind entsprechend geändert.

22.06.2007
Bug 718 - datapool::get_products() - StringID nur in erster Ebene Der FR aus Bug 653 ist ja soweit umgesetzt - aber in untergeordneten Ebenen bleibt die Liste mit den StringIDs leer.

Ich nehme an, du holst die StringID mit stringlist::gettext. Das funktioniert bei Listen ohne ClassID (stringlist::alloc () OHNE Clasds-ID) nicht. Hier muss stringlist::get verwendet werden. Dann funktioniert alles.

Da die Unterscheidung zwischen StringListen mit und ohne Class-ID aus der Doku bisher nicht so richtig hervorging, hab ich erstens die Doku erweitert und zweitens einen bypass für stringlist::gettext gelegt :

In Listen ohne Class-ID wird der entsprechende String aus der Liste geholt. Der Parameter "attribute" hat hier keine Bedeutung.

Nur ums noch mal zu sagen : Der große Unterschied ist, dass Listen ohne Class-ID tatsächlich Listen mit Inhalten sind. Listen mit ClassID dagegen greifen bei jeder Nachfrage auf die jeweilige Palette (oder wie die jetzt heissen sollen) zurück, haben aber eigentlich nicht wirklich eigene Objekte.

21.06.2007
Bug 717 - Vorlage mit zweispaltigen Textrahmen und weiterem Rahmen kann nicht gesichert und nicht geladen werden Beim Laden oder sichern einer Vorlage mit einem zweispaltigen Textrahmen und einem oder mehreren weiteren Rahmen friert InDesign® ein. Einen einzelnen zweispaltigen Textrahmen kann man seltsamerweise als Vorlage sichern.

Das Problem triit erst seit Release R 368 auf und ist eine Folge des Bugfixes 685.

Das Problem war, dass in der API verlinkte Rahmen und Textspalten ununterscheidbar in der selben Liste gehalten werden. Bei mehrspaltigen Texten führte das dazu, dass Rahmen von mehrspaltigen Texten mit sich selbst verlinkt wurden - ist nachvollziehbar, dass das eine Weile dauern kann.

Nachdem das funktioniert hat, kam noch ein weiteres Problem : Die Verlinkung 1->2->3->4 muss auch in dieser Reihenfolge ausgeführt werden. 1->2, 3->4 und dann erst 2->3 führt dazu, dass die Verbindung 3->4 wieder gekappt wird. Das ist vielleicht der merkwürdige Humor der Adobe-Entwickler.

Ein letztes Problem noch : Im Text zwischen zwei Rahmen fehlte immer ein Zeichen. Das passiert jetzt nicht mehr (Lag daran, dass beim Kopieren von Tagged Text am Ende ein zusätzliches Return steht, was wieder weg muss - aber in diesem Fall hat man ja keinen Tagged Text. Siehe Humor.)

    21.06.2007
    Bug 710 - Verfügbarkeit von kSelection Ich kann momentan im Script nicht feststellen, ob Comet auf eine Selektion zugreifen kann und verwende deshalb

    textmodel::insert (txt, kSelection);

    Das schlägt leider fehl, wenn sich der Cursor im Übersatz eines Rahmens befindet.

    Für die Verwendung von kSelection gilt:

    • kSelection darf nur im ersten Aufruf einer Textfunktion (textmodel::insert, textmodel::replace, ...) verwendet werden.
    • In Platzhalterhalterskripte darf die Konstante nicht verwendet werden.

    Der folgende Beispielcode ersetzt die Konstante kSelection.

    int  	selStart;
    
    textmodel::selection (&selStart);
    textmodel::insert ("Mein Text", selStart);
    

    Sollen mehrere Textstücke hintereinander eingefügt werden, muss der Einfügepunkt im Skript jeweils neu berechnet werden:

    int  	selStart;
    int		oldLen 	= textmodel::fulllength ();
    
    textmodel::selection (&selStart);
    textmodel::insert ("Mein Text", selStart);
    
    selStart 	= selStart + textmodel::fulllength () - oldLen;
    oldLen 		= textmodel::fulllength ();
    
    textmodel::insert ("Mein 2. Text", selStart);
    
    20.06.2007
    Bug 127 - Rahmenplatzhalter zeigt roten Haken obwohl SyncStateInvisible = 1 Der Fehler ist behoben. Der Platzhalterstatus wird nur noch angezeigt, wenn der Rahmen nicht verliknkt ist. 18.06.2007
    R380 Bug 664 - SOAP logout beim Beenden von InDesign® Beim Beenden von InDesign® wird eine offene SOAP Verbindung geschlossen (siehe ) 15.06.2007
    Neue Skriptfunktionen
    productlist::load, productlist::build_list, xmlquery::parse, datapool::login und datapool::logout zum
    1. Laden von Produktlisten aus CSV, XML oder Datenbank- / Soapverbindungen
    2. automatischen Aufbau von Produkten aus anderen Quellen als der Produktrecherche-Palette
    3. Parsen eines XML Strings
    4. Herstellen / Ändern und Beenden der globalen Datenbankverbindung
    15.06.2007
    Bug 692 - Fehler 406 oder Absturz bei file::setdatafile DataFiles gibt es jetzt auch für InDesign® Server, siehe auch hier. 15.05.2007
    Skripting nur CS2: Comet Funktionen können nun auch über JavaScript / AppleScript oder VBScript Events angesprochen werden. Dafür wird das Applikations-Objekt um die Eigenschaft "comet" erweitert. Diese stellt vier Methoden zur Verfügung:
    • int eval (String scriptCode, String arguments = "")
      Evaluierung des Script-Codes in cscript. Argumente werden dem Skript als globale Variable gArgument übergeben.
    • int exec (int actionID, String arguments = "")
      Wie eval, es wird die mit actionID bezeichnete Action ausgeführt
    • String license ()
      Gibt einen String zurück, der für die Anforderung einer Lizenzdatei verwendet werden kann
    • String about ()
      About iQuest.Comet (Version, Release etc.)
    15.06.2007
    Bug 669 - Soap-Aufrufe in 1.4 (get_list) Im Zusammenhang mit der Bearbeitung von Bug 669 wurden zwei Shortcuts für Aufrufe der SOAP Operationen call und getList eingeführt. Die Skriptbefehle heißen soap::call und soap::getlist.

    Der Aufruf von

    qu = soap::call ("method");

    entspricht

    qu = sql::new_query ();
    query::send (qu, "call method");
    15.06.2007
    Bug 702 - xmlquery-Stringvergleich spinnt mit RTF in CDATA Enthält ein XML-Attribut CDATA-Text, scheint xmlquery nicht richtig zu funktionieren : Wird in der where-Bedingung so ein Wert verwendet, lieferrn die Aufrufe keine Ergebnisse.

    CDATA ist nicht das Problem, der RTF-Text im CDATA ist das Problem. Und da sagen wir doch mal wieder "Danke Microsoft!": Das Problem sind Sequenzen wie \r, \b, \f, \a usw.., die in RTF vorkommen. Wer diese Sequenzen anders als für Return, Backspace, Seitenvorschub, Piep, ... benutzt, der muss eigentlich mit Windows Vista nicht unter 3 Jahren bestraft werden. Und so ist es dann ja auch.

    Für xmlquery ist das Problem gelöst. Aber ich bin sicher, dass wir damit noch viel Freude haben werden.

    15.06.2007
    Bug 613 - Bildplatzierungen kConstrainToFrame... funktionieren nicht Die Bildplatzierungen sind komplett überarbeitet wurden. Eine vollstaändige Beschreibung mit Beispielen findet sich hier. 15.06.2007
    Bug 689 - Quotes um StringIDs inkonsistent Auf Grund einer kleinen Unachsamkeit wurde das Standard-Tag StringID leider nicht gequoted. Alle anderen Standard-Tags vom Typ char* (siehe hier) werden automatisch gequoted.

    Damits rückwärts-kompatibel bleibt, bleibt StringID unverändert, es gibt aber das neue Tag STRINGID, und das wird dann gequoted.

    15.06.2007

    Version Kurzbeschreibung Beschreibung Datum
    R 373 Bug 692 - Fehler 406 oder Absturz bei file::setdatafile file::setdatafile funktioniert nur, wenn die Einstellungen-Palette sowohl geöffnet als auch geladen ist. Ist sie nicht geladen, gibt die Funktion den Fehlercode 406 zurück; ist sie nicht geöffnet, stürzt InDesign® ab.

    Das Problem ist: das ganze sollte auch für den InDesign® Server funktionieren.

    Ist das Plugin DataFiles.pln nicht installiert, wird weiterhin der Fehler 406 (noDataFoundErr) zurückgegeben. Eine Server-Version des Plugins wird in Kürze vorliegen.

    Ansonsten funktioniert files::setdatafile jetzt unabhängig davon, ob die Palette geöffnet ist oder nicht oder war oder am Main.

    13.06.2007
    Bug 698 - Werte einzelner Platzhalter ändern Um den Wert von Platzhaltern zu ändern, kann die Funktion placeholder::change_tags verwendet werden. Leider ändert diese Funktion alle Platzhalter (oder alle Platzhalter einer Klasse) in einem Text. Wir benötigen eine Möglichkeit, die Werte eines Textplatzhalters gezielt zu ändern.

    Das geht jetzt. Der Aufruf placeholder::change_tags hat zwei neue Parameter, mit denen Textposition und -länge eingeschränkt werden können. Wählt man Platzhalterskripten die Werte gStart und gLen, wird nur der aktuelle Platzhalter geändert (siehe auch das Beispiel im Anhang zum Bug 698).

    13.06.2007
    R 371 Bug 695 - Seitenzahl in linklist::collect falsch Die Seitenzahl, die in den Links von linklist::collect, linklist::load und linklist::sync ist bei Platzhaltern in Tabellen mitunter falsch :

    Erstreckt sich eine Tabellen über mehrere Textaufrahmen auf verschiedenen Seiten wird hier immer die Seite des Textrahmens geliefert, in dem die Tabelle beginnt.

    Dieser Fehler ist behoben. link::pagenum liefert jetzt die richtige Seitennummer. link::pagestr liefert jetzt nicht mehr die Seitennummer als String, sondern den Namen der Seite wie er im Dokumentfenster angezeigt wird.

    12.06.2007
    R 368 Bug 663 - xmlquery::fsend sendet kein float Wert Float-Werte werden von xmlquery::fsend leider immer als int-Werte gesendet.

    Das geht jetzt richtig. Bitte beachten : floats werden nur bis max. 6 Nachkommastellen unterstützt.

    08.06.2007
    Bug 684 - CDATA-Blöcke in xmlquery (Siehe auch hier)

    Jetzt sichert der Comet CDATA aber... andere CDATA Attributen sind weg :-(

    Das geht jetzt auch. Unter Windows geht es aber nur mit einem kleinen internen Trick, da der verwendete SAX-XMLParser zwar CDATA-Blöcke richtig liest, aber nicht mitteilt, dass er gerade einen gelesen hat. Deshalb darf unter Windows (und wg. kompatibel) auch auf dem Mac ein CDATA-Block nicht den Teilstring

        ![[[CDATA[

    enthalten. Ich denke, das ist zu verschmerzen.

    Nebenbemerkung

    Es ist natürlich klar, dass ich das Ganze dem Komitee für die Grundrechte von CDATAs melden muss. Denn eigentlich sollte es für jeden, der eine XML-Datei verarbeiten will, unerheblich sein, ob die Daten unkodiert in CDATA oder eben kodiert und nicht in CDATA stehen. Wird ausdrücklich CDATA benötigt, scheint eindeutig in Missbrauchsfall vorzuliegen.

    Nebenbemerkung 2

    Auch in CDATA gehen Umlaute und andere Sonderzeichen nur dann, wenn in der XML-Datei das richtige Encoding eingestellt ist.

    07.06.2007
    Bug 690 - xmlquery::input (oder xmlquery::qsend) Wäre es möglich, in der Klasse xmlquery ebenfalls eine Methode input (parallel zu query::input) zu implementieren? Das würde insbesondere das Senden von Strings erleichtern.

    xmlquery::input geht jetzt.

    07.06.2007
    Bug 398 - Reihenfolge beim Aufräumen? Wenn ich über das kleine Gitter in der Produktpalette das Dokument aufräume, erscheint mir die Reihenfolge etwas willkürlich: es sollten doch alle Produkte, wenn möglich, aufrücken, stattdessen wird das letzte Produkt der Doppelseite auf den freien Platz verschoben.

    Die Plugins ermitteln aus einem Raster automatisch, ob es sich um ein zeilen- oder ein spaltenorientiertes Raster handelt und schreiben :

    # row wise grid
    # column wise grid
    

    ins Logfile. Bei dem angegebenen (einspaltigen) Raster wurde angenommen, dass es sich um ein spaltenorientiertes Raster handelt. Das ist offensichtlich nicht so. Ich habe die Rasterdefinition erweitert um ein Feld :

    grids.direction für Datenbanken (0=automatisch, 1=zeilenweise, 2=spaltenweise)
    grids.grid.type.direction für SOAP und XML (automatic, rowwise, columnwise)

    Die Einstellung kann über den Rasterdialog gemacht werden.

    06.06.2006
    Bug 53, Bug 686 - ID-Verwirrung in XMLGET Elemente, deren Name auf ID enden werden von xmlquery irgendwie anders interpretiert als andere.

    Attribute, deren Namen auf ID enden, werden automatisch als Integer-Werte behandelt. Diese Schreibweise von ID ist seit längerer Zeit nicht mehr case-sensitive. Also auch id, und Id am Ende eines Attributnamens bewirken, dass diese Spalte als int-Wert betrachtet wird.

    Um zu erzwingen, dass eine ID-Spalte als String ausgewertet wird, muss in der Datei xentities.xml ein Eintrag gemacht werden :

    <typedef>
    	<file></file>
    	<attr>LanguageID</attr>
    	<type>string</type>
    </typedef>

    Als type sind int, float und string erlaubt. Ist der file-Wert leer, gilt die Angabe für alle xml-Dateien des Pools.

    06.06.2007
    Bug 685 - verketteten Textrahmen sind nicht in der Volrage gesichert Die Verkettungen von Rahmen werden leider nicht mit in die Vorlagen übernommen.

    Mit relativ großem Rechenaufwand geht das jetzt.

    Achtung

    Die Rahmen einer Verkettung werden nicht automatisch in die Vorlage eingefügt. Sollen alle Rahmen der Verkettung auch in der Vorlage sein, müssen sie bei der Anlage der Vorlage ausgewählt sein.

    06.06.2007
    R 365 Bug 675 - Inhalte bei Verkettete Textrahmen frame::store_text Die Methode framme::store_text ermittelt nur den Inhalt der ersten Textbox. Sind Textboxen verkettet, so geht der Inhalt ab der zweiten Textbox verloren.

    Es wäre schön, wenn durch eine zusätzliche Option gesteuert werden könnte, ob der Inhalt aller verketteten Textrahmen mitberücksichtigt werden soll.

    Beim Anlegen kann jetzt der gesamte Text verketteter Rahmen exportiert werden. Zur Rückwärtskompatibilität muss das aber extra angegeben werden. Die entsprechenden Aufrufe

    frame::store_text
    frame::store_macro
    textmodel::store
    textmodel:: store_macro

    haben dafür einen weiteren Parameter, der defaultmässig auf "useOldStyle" (=1) steht. Der neue Export funktioniert mit useOldStyle = 0.

    Die Funktionen haben ausserdem einen weiteren Parameter, mit dem der Name des neuen Macros angegeben werden kann. Der Name wird nur benutzt, wenn table leer oder gleich "pageitems" ist.

    31.05.2007
    Bug 677 - Titel der Vorlagen-Optionen: "Tabellenvorlage" statt "Vorlage" In der Titelzeile des Fensters "Vorlagenbeschreibung ändern" steht immer "Tabellenvorlage...". Das ist natürlich etwas verwirrend, es sollte "Vorlage..." heißen. Die Checkbox ist beschriftet mit "Die Tabelle soll in einem Tabellenplatzhalter verwendet werden", es müsste aber heißen: "Die Vorlage soll in einem Tabellenplatzhalter verwendet werden".

    Und die Feldbeschriftung "Typ" ist etwas verrutscht, das ist jetzt aber Prio D.

    Leider kann ich nicht sehen, um welches Release es sich handelt. Diese Fehler sollten eigentlich längst behoben sein. Die Lücke hinter der Beschriftung "Typ" wird für ein kleines Icon verwendet, das den Typ darstellt.

    Ich habe trotzdem noch ein bisschen an der entsprechenden Stelle korrigiert. Das sollte aber nur alte Installationen betreffen, die nicht über das Attribut "kind" bzw. kindID in den Pageitems verfügen. In diesen Fällen wird jetzt auch das Icon für Frames gezeigt - und die Lücke ist geschlossen. Zufrieden?

    31.05.2007
    Bug 684 - CDATA-Blöcke in xmlquery XMLquery kodiert auch die Inhalte von CDATA-Blöcken. Kann man das nicht abstellen?

    Die Inhalte von CDATA-Blöcken werden jetzt nicht mehr umgewandelt. CDATA-Blöcke können überall in den Werten von XML-Attributen verwendet werden. Zur einfacheren Verwendung von CDATA git es die beiden neuen Script-Anweisungen

    xmlquery::send_cdata_begin
    xmlquery::send_cdata_end

    Es reicht aber auch

    xmlquery::send (tree, "<![CDATA[");
    :
    xmlquery::send (tree, "]]>");
    31.05.2007
    Bug 683 - RICHTEXT Import Es gibt jetzt die neue Konstante kExportRTF, die an allen Stellen, an denen die Formatangaben kExportPlain, ... verwendet werden können, eingesetzt werden kann. Das bedeutet, dass Texte jetzt auch als RTF exportiert werden können.

    Umgekehrt können Texte auch im RTF importiert werden. Dazu ist (wie bisher auch) keine Formatangabe nötig. Das Format wird aus dem Text ermittelt (bei RTF "{\rtf").

    Achtung

    Wird der RTF-String nicht fertig aus einer Datenquelle gelesen sondern im Select oder in einem String im Skript zusammengestellt, müssen die Backslashs natürlich verdoppelt werden :

        strcpy (rtf, "{\\rtf1 ....");

    Known errors

    InDesign® hat beharrlich das letzte Zeichen des Importtextes weggelassen. Ich füge deshalb vor dem schliessenden "\par }}" des RTF-Strings noch ein Zeichen ein. Sollte dieses Zeichen (ein *) im ID-Text erscheinen, bitte diesen Bug noch einmal öffnen.

    31.05.2007
    Bug 653 - datapool::get_products() liefert nicht StringID Liste Der Aufruf kann bisher nur die drei ID-Listen füllen. Ein Parameter für die Liste der StringIDs fehlt bisher leider.

    Den gibt es jetzt als (optionalen) fünften Parameter.

    Achtung : Die neue Liste ist vom Typ StringList :

    List 		l1 	= list::alloc ();
    StringList 	sl 	= stringlist::alloc ();
    
    datapool::get_products (stmt, l1, 0, 0, sl);
    29.05.2007
    R 342 (cd) Bug 651 - Vorlagen Aktualisierung Nach der umstellung von der plugin-version 1.3 REV 287 auf die Plugin-version 1.4 REV 313 tritt folgendes auf.

    Es wurden zunächst alle vorlagen aktualisiert. danach wurde ein entsprechendes produkt ohne probleme aufgebaut. melde ich mich jetzt ab (trennen vom internet) und melde mich wieder an (verbinden mit internet), und ich möchte ein produkt mit einer bereits zuvor aktualisierten vorlage aufbauen ist dies nicht möglich, es erscheint die meldung das die vorlage mit einer älteren plugin version erstellt wurde, obwohl bereits die aktualisierung durchgeführt wurde.

    will ich die vorlage verwenden muss ich diese wieder erst aktualisieren, dann kann ich diese wieder temporär nutzen. melde ich mich ab und wieder an beginnt das gleiche spiel von vorne.

    Die Platzhalterversion wird für das Lesen von Vorlagen inzwischen nicht mehr benötigt. Ein Test auf die Paltzhalterversion wird nicht mehr gemacht. Das beschriebene Verhalten sollte also nicht mehr auftreten.

    FYI

    Für die Aktualisierung von Vorlagen ist die Alt-Taste nicht nötig. Sie wird nur als Sicherheitstaste beim Löschen von Vorlagen benötigt. Das Aktualisieren von Vorlagen unter SOAP hab ich eben noch mal getestet - funktioniert.

    19.05.2007
    Bug 654 - Vertikaler Keil Enthält der Text mehrere Absätze mit gleichem Stil, verrechnet sich der vertikale Keil leider und es entsteht ein viel zu großer Abstand.

    Das ist leider richtig. Die Maschine, die die Absätze zählt, übergeht leider die Absatzenden. Dieser Fehler ist jetzt behoben.

    19.05.2007
    Bug 662 - Neuaufbau von Tabellen aus der Skriptsprache nicht möglich Durch die Vergabe der CharStyleID zum automatischen Tabellenaufbau wird bei allen bisher erstellten Tabellenplatzhaltern der automatische Aufbau unterdrückt. Das ist sicher nicht so gut. Die Werte werden deshalb umgedreht :
    • CharStyleID = 0 => Tabelle automatisch aufbauen
    • CharStyleID = 1 => Automtischen Tabellenaufbau unterdrücken

    Die Beschriftung im Dialog heisst daher jetzt Automatischen Aufbau unterdrücken.

    19.05.2007
    R 341 (cd) Bug 662 - Neuaufbau von Tabellen aus der Skriptsprache nicht möglich Gibt es eine Möglicheit, aus der Skriptsprachen (z.B. Laden-Skript) Tabellen, die mit dem Tabellenmodul erstellt wurden, neu aufzubauen?

    Ja, es gibt die Funktionen table::reset und table::build, mit denen das Problem gelöst werden kann.

    Da beim Ersetzen eines Tabellenplatzhalters Tabellen automatisch aufgebaut werden, wird aber beim Aufbau von Textrahmen die Tabellle dann zweimal geladen. Um das zu verhindern, haben Tabellenplatzhalter jetzt noch eine weitere Eigenschaft, mit der der automatische Tabellenaufbau beim Einsetzen der Tabelle unterdrückt werden kann. Die Eigenschaft wird im Vorlagendialog der Tabellenvorlagen gemacht (Tabelle utomatisch aufbauen).

               

    Zur Kennzeichnung solcher Vorlagen wird der Skriptname, der in eckigen Klammern hinter dem Vorlagennamen in der Vorlagenpalette gezeigt wird, italic geschrieben :

               

    09.05.2007
    Bug 661 - frame::get_color fehlt Es gibt keine Skriptfunktion zum Ermitteln der Hintergrundfarbe eines Rahmens.

    Doch, sie hat nur in der Doku gefehlt : frame::get_color.

    09.05.2007
    Bug 645 - Vorlagen-Skript wird nicht ausgeführt Unter SOAP wird das Vorlagenskript immer noch nicht ausgeführt.

    Tatsache, unter SOAP hat das noch nicht funktioniert - dort geht es jetzt auch. Ausserdem dürfen in den Pageitem-Skripten jetzt auch die Variablen gRecordID, ... verwendet werden.

    Achtung

    Beim Einsetzen von Vorlagen aus der Vorlagenpalette sind diese Werte natürlich 0. Ausserdem haben die Skriptfunktionen document::insert_macro und document::place_item vier weitere (optionale) Parameter, in denen die RecordIDs weitergegeben werden können.

    09.05.2007
    R 339 (cd) Bug 657 - Gibt es eine Möglichkeit, die ID einer Tabellenzelle zu erfragen? Nachdem eine Tabelle vom Tabellenmodul aufgebaut wurde, wird für einige Gestaltungsmethoden die ID bestimmer Zellen benötigt. Dafür gibt es bisher noch keinen Skriptbefehl.

    Mit den folgenden Funktionen können die IDs einer Zelle erfragt werden :

        table::cell::get_rowid (T, x, &id1, &id2, &id3, stringid);
        table::cell::get_colid (T, y, &id1, &id2, &id3, stringid);
        table::cell::get_cellid (T, x, y, &id1, &id2, &id3, stringid);

    04.05.2007
    Bug 656 - itemlist::allframes und pageframes Wird bei den Skripbefehlen itemlist::allframes und itemlist::pageframes eine einschränkende Ebene angegeben, funktionieren die Anweisungen nicht richtig :
    • itemlist::allframes liefert gar nichts mehr
    • itemlist::pageframes liefert genau die Ebenen, die NICHT auf der angegebenen Ebene liegen

    Die Anweisungen funktionieren jetzt.

    03.05.2007
    Bug 655 - Skriptbefehl zum Ermitteln der Ebene eines Rahmens Für den vertikalen Keil wird eine Skriptfunktion benötigt, mit dem die Ebene eines Dokumentrahmens erfragt werden kann.

    Dafür gibt es jetzt die Funkionen :

        layer::get_name
        layer::get_index

    03.05.2007
    Bug 654 - Vertikaler Keil Ein Projekt erfordert die Möglichkeit, "vertikale Keile" über die Skriptsprache zu realisieren. Dabei sollen ein oder mehrere Absatz-Stilvorlagen angegeben werden können deren "Abstand vor" so verändert wird, dass der Text den Rahmen danach vollständig ausfüllt.

    Die Bordmittel (Textrahmen-Option "Vertikaler Keil") reichen dafür nicht.

    Die Funktion soll auf einzelne Rahmen, Seiten, Ebenen, ... einschränkbar sein und es muss eine inverse Funktion dazu geben.

    Dafür gibt es jetzt die Funktionen

        textmodel::justify
        textmodel::justify_reset
        document::justify_text
        document::justify_text_reset

    03.05.2007
    R 338 (cd) Bug 645 - Vorlagen-Skript wird nicht ausgeführt Die Aktion wird nicht ausgeführt, weder wenn ich das Produkt per drag&drop noch per Aufbau-Knopf aufbaue.

    Im logfile finde ich auch kein Kommando, dass die scriptid der Vorlage liest. Dann kann sie natürlich auch nicht benutzt werden. Aber warum wird sie nicht gelesen?

    Das funktioniert jetzt. Um die Ausführung des Pageitem-Skriptes zu unterdrücken, kann bei DragDrop aus Produktrecherche und Vorlagenpalette die Shift-Taste gehalten werden.

    30.04.2007
    Bug 649 - xmlquery-Zugriffe auf Comet-XML-Dateien (z.B. pageitems.xml) in C-Skripten Für eine SOAP-Projekt mit Cats braucht ein PageItem-Skript Eigenschaften der Vorlage wie die TypeID und den Namen. Wäre es nicht SOAP. sondern ODBC oder XML, könnte man einfach die Tabelle/Datei pageitems auslesen.

    n SOAP müsste das Script diese Datei erst vom SOAP-Server abrufen. Die PlugIns haben die DAtei aber schon abgerufen und intern gecacht. Es wäre sehr günstig, wenn man im Skript mit xmlquery auf diese Dateien zurückgreifen könnte. Falls es zu schwierig wäre, auf die gecachte Version zurückzugreifen, könnten die schon runteregeladenen Dateien irgendwo als DAtei abgelegt werden, so dass das Script darauf zurückgreifen könnte?

    Was mir noch in dem Zusammenhang aufgefallen ist: xmlquery::app_path liefert auch den letzten Pfad einer Offline-Benutzung, auch wenn man gerade eine SOAP-Connection hat. Ist nicht ganz logisch, schöner wäre, wenn dann der Pfad zu den temporären Dateien käme.

    Das geht jetzt. Unter SOAP ist der XML leer. der Aufruf xmlquery::app_path liefert unter SOAP jetzt auch den leeren String.

    Achtung : Unter SOAP muss zwischen Pfad und Namen der XML-Datei kein Pfadtrenner

    :
    xmlquery::app_path (p);
    if (*p) strcat (p, "/");
    strcat (p, "pageitems.xml");
    :
    
    28.04.2007
    Bug 646 - frame::create_columns funktioniert nicht frame::create_colums (gFrame, 2) ändert die Spaltenanzahl nicht in 2, sondern liefert nur einen Fehlercode 516 (Anlegen der Daten einer Anweisung fehlgeschlagen) zurück.

    Da hat Adobe einen neuen Datentyp für das Command eingeführt, dessen Definition zwar vollkommen identisch mit der bisherigen ist, aber eben eine andere Klasse hat. Und das haben sie dann vergessen zu dokumentieren.

    Naja, geht jetzt jedenfalls wieder.

    27.04.2007
    Bug 648 - Anführungszeichen in StringIDs erzeugen Fehler bei der Ausführung von Platzhalterskripten Enthalten StringIDs doppelte Anführungszeichen, können Platzhalterskripte nicht ausgeführt werden.

    Die Anführungszeichen werden jetzt cscript-konform maskiert (\") - dann klappt alles.

    25.04.2007
    Bug 630 - Tabellenmodul : Methode "Gleiche Spaltenbreite" funktioniert nicht Die Methode "Gleiche Spaltenbreite" des Tabellenmoduls scheint nicht zu funktionieren.

    Das funktioniert jetzt. (War noch gar nicht implementiert)

    20.04.2007
    Bug 629 - "Tabellenaufbau" und Aktion Die Aktionen zum Einfügen bleiben in der Auswahlbox erhalten, wenn man sich vom Internet abmeldet. Sollten die Auswahllisten dann normalerweise nicht leer
    sein? Die Aktionen bleiben dann sogar nach einem InDesign®-Neustart erhalten.

    Der Fehler lag wahrscheinlich daran, dass die Palette ihre Inhalte nicht nachgeladen hat, wenn sie beim Login noch nicht geöffnet war. Das wird jetzt gemacht - und der Fehler dürfte damit behoben sein.

    20.04.2007
    Bug 635 - Funktion Seiten in Ordnung bringen vergibt keine Musterseiten Nach dem Aufräumen von Dokumenten über die Produktrecherche sind linke Seiten häufig ohne Musterseite.

    Der Fehler ist behoben.

    20.04.2007
    Bug 622, Bug 636 - Wenn ich die Produkte (mit Shift) von oben nach unten selektiere, bekomme ich die Produkte in der Selektierungsreihenfolge. Wenn ich die Produkte von unten nach oben selektiere, die Produkte sind umgekehrt aufgebaut

    Ist das Bug oder Feature?

    Das ist ja lustig - ist ein Feature (aber von Adobe).

    Ich sortiere die Auswahlliste jetzt noch nach der Listenposition. Dann ist der Aufbau unabhängig von der Reihenfolge der Auswahl.

    20.04.2007
    Bug 637 - Palettenscripte sind nicht sichtbar Wenn ein Benutzer nicht in die Tabelle usersxdomains eingetragen ist, sind für ihn sämtliche Palettenscripte unsichtbar. Das liegt an dem Select, das die Palettenscripte sucht.

    Klar, man darf nicht LKW fharen, wenn das nicht im Füherschein eingetragen ist. Ich dachte, man darf auch nicht fahren, wenn man gar keinen Führerschein erst hat. Naja, Irrtum.

    Gibt es keinen Eintrag in userxdomains, darf man jetzt dennoch alle Palettenskripte sehen, die mit 0 gekennzeichnet sind.

    20.04.2007
    Bug 641 - Anzeige der Vorlage in der Produktrecherche Wird im Panelstatement der Produktrecherche ein Tag wie z.B. <Document> verwendet, zeigt die Liste die Vorlagen nicht an; die Vorlagen-IDs werden auch nicht in die Aufbaufunktion übernommen.

    Die Prüfung, ob Platzierungshinweise verfügbar sind, wird jetzt erst gemacht, wenn tatsächlich das erste Produkt geladen wird. Dann werden auch Tags ordentlich ersetzt.

    Und hier noch mal ein vollständiges Panalestatement 55 :

    select
       id_o_tree_group, 0, 0,	/* ID, ID2, ID3*/
    	  refcode, /* StringID*/
    	  2019, /* IconID*/
    	  3, /* ClassID*/
    	  name, /* 1. Spalte*/
    	  type, /* 2. Spalte*/
    	  0, /* "Kann gelöscht werden" aktivieren*/
    	  10000, /* Panelstatement für die Untereinträge*/
    
    	  /* Platzierungshinweise (optional, ABER : Alle oder keiner!!)*/
    	  0, /* DocumentID (z. Zt. unbenutzt*/
    	  "", /* Musterseite(n),*/
    	  "", /* Rastername*/
    	  "", /* Rasterplatzname*/
    	  0, /* Raster-ID*/
    	  0, /* Rasterplatz-ID*/
    	  0 /* Vorlage-ID*/
    from cpmoebel.o_tree_group o where Type = 'Root'
    
    Musterseiten

    'A-Musterseite' oder '"A-Musterseite", "B-Musterseite"'

    Im ersten Fall werden links und rechts die gleichen Musterseiten verwendet, sonst links die erste, rechts die zweite.

    Achtung : Bei der zweiten Schreibweise müssen die Angaben durch Komma getrennt werden!

    Raster(platz)

    Rasterplätze können über IDs oder Namen identifiziert werden. Jede beliebige Kombination ist möglich.

    Untereinträge und XML

    Die Spalten der Anweisungen zum Laden der Untereinträge und  unter XML sind gleich mit dem einen Unterschied :  IconID und ClassID sind vertauscht, also

       :
       
    3,
       2019,
       :

    20.04.2007
    R 336 Neue Skriptfunktionen sin, cos, tan, sinh, cosh, tanh, log, ln

    textmodel::vertical_justification, textmodel::set_insets, frame::color_cmyk

    19.04.2007
    Bug 640 - erste Ebene der Publikationen enthält kein Icon Im Panelstatement 37 ist keine Möglichkeit vorgesehen, dem Eintrag eine IconID mitzugeben.

    Hinter der StatementID für die Untereinträge muss jetzt eine ID für das Icon angegeben werden. Als IDs können Zahlen im Bereich [2000, 2041] verwendet werden. Die Icons entsprechen denen der Produktrecherche.

    18.04.2007
    Bug 639 - Treeview-Eigenschaft in der Publikationen-Palette wird nicht erkannt Obwohl im Panelstatement 37 die ID des Panelstatments zum Laden der Untereinträge eingefügt wurde, erkennt die Palette nicht, dass die Einträge aufklappbar sein sollen. Der Fehler tritt nur bei Datenbankverbindungen auf, unter XML funtioniert das.

    Das Plugin muss einmal prüfen, ob das Panelstatement 37 eine Angabe zum Substatement hat. Dazu wird die Anweisung aus 37 einmal mit dem 0-Datensatz ausgeführt. Enthält die Datenbank keinen 0-Datensatz, schlägt die Prüfung fehl weil kein Datensatz gefunden wurde und das Plugin nimmt (fälschlicherweise) an, dass Treeviews nicht unterstützt werden.

    Die Prüfung wird jetzt erst gemacht, wenn der erste Datensatz in die Palette geladen werden soll und der Fehler ist damit behoben.

    18.04.2007
    Bug 502 - Comet-Stapelverarbeitung und fehlende SOAP-Methoden Unser CaTS-SOAP-Service implementiert nur die Job-Tabellen-Funktion, wenn beim Aktivieren der Stapelverarbeitung die Quelle auf Hotfolder steht, dann kommt die (richtige) Fehlermeldung, dass der Service diese Methode nicht implementiert.

    Nach "Ok", dauert es dann nur kurze Zeit bis die gleiche Meldung sofort wieder erscheint Wäre es da nicht besser in diesem Fall nach dem ersten Methodenfehler die Stapelverarbeitung anzuhalten? So muss man sich ganz schön beeilen das selbst zu tun.

    Die Stapelberabeitung wird jetzt bei diesen Fehlern unterbrochen. Nach der Fehlermeldung kommt noch eine Meldung, die sagt, dass die Stapelverarbetung beendet wurde.

    16.04.2007
    Bug 478 - Quelle-Einstellungen in "Comet [Stapelverarbeitung]" Die "Quelle"-Einstellung in der Platte wird nach jedem Anmelden auf "Hotfolders" gesetzt. Wäre es möglich, dort immer den vorher ausgewählten Werte wieder zu selektieren? Da wir in der CaTS-SOAP-Schnittstelle erstmal nur "Jobtabelle" unterstützten ist dort für uns immer genau das falsche ausgewählt.

    Das war eigentlich schon so. Weil man aber beim Programmstart noch keine SOAP-Verbindung hat und dann die Einstellung "Jobtabelle" sinnlos ist, ist das Plugin immer auf "Hotfolder" ausgewichen. Jetzt wird die Einstellung korrekt übernommen.

    13.04.2007
    Bug 634 - PDF-Export mit Profile funktioniert unter CS2 nicht Der Skriptbefehl document::export_ für "pdf" mit einer Profile-Angabe ungleich "" funktioniert unter CS2 nicht (Fehler 213). Unter CS funktioniert das gleiche Skript.

    Der Fehler ist behoben.

    13.04.2007
    R 330 (cd) Bug 171 - "Skript Cache" Problem Der Skript-Cache merk nicht ob die Skripte gäendert sind. Wir haben mindestens 2 Fälle, in denen das auftritt :
    1. Wenn direkt im Comet ein Skript editiert wird.
    2. Skripte werden in einem externen Editor (z.B. Workbench) geändert

    Skripte, die im Comet geändert werden, werden inzwischen automatisch aus dem internen Scriptpuffer entfernt und neu geladen. Werden Skripte in einem externen Editor geändert, gibt es zwei Möglichkeiten :

    1. in der Palette Platzhalterwerte. Klicken des Buttons setzt alle internen Puffer zurück
    2. in der Palette Platzhalterwerte. Wird das Button einmal geklickt, werden Sript nach jeder InDesign®-Aktion automatisch zurückgesetzt (). Das Button ist nur sichtbar, wenn eine Partnerlizenz vorhanden ist.
    04.04.2007
    Bug 503 - Neues Feature: Skriptbezeichner Zugriff auf den Skriptbezeichner (IScript, Window->Automation->Script Label) über C-Skript-Funktionalitäten. Wünschenswert sind zumindest die Zugriffsmethoden ClearTags(), GetTag() und SetTag() - sensationell wäre IScriptUtil->SetScriptingTag().

    Es gibt jetzt die Scriptbefehle

    frame::set_script_tag (frameRef, value [, key]);
    frame::get_script_tag (frameRef [, key]);

    Wird dort der Schlüssel key angegeben, wird der Wert dieses Schlüssels des Rahmens gesetzt/geholt. Fehlt die Angabe, wird die Skriptbezeichnung geändert/geholt.

    Clear geht mit der set-Methode und dem Schlüssel "".

    Der Unterschied zu SetScriptingTag ist mir noch nicht klar.

    03.04.2007
    Bug 626 - Wiederholende Elemente ignorieren die Angabe "layer=" Um wiederholende Elemente auf verschiedene Ebenen legen zu können, gibt es im Format-String der wiederholendene Elemente die Angabe "layer=...", z.B.

        type=stagger; pin=cb; layer="' || name || '";'

    Das scheint aber nicht zu funktionieren. Die Rahmen werden alel auf dem selben aktuellen Layer angelegt.

    Das funktioniert jetzt. Existiert die gewünschte Ebene nicht, wird sie automatisch angelegt.

    03.04.2007
    Bug 607 - Lizenz-Fehlermeldung mit Reader-Plugin Wenn InDesign® mit dem "Reader-Plugin", das ja lizenzfrei sein sollte, gestartet wird, kommt eine Lizenz-Fehlermeldung. Folgende Plugins sind enthalten:
    • Comet
    • CoreServlett
    • EmbeddedLink
    • FrameLink

    Eine Lizenzdatei ist für diese Plugins jetzt nicht mehr nötig.

    03.04.2007
    Bug 621 - Previewpalette mosert, wenn es keine Datenquelle gibt Aber die Previewpalette ist normalerweise nach einer Neuinstallation geöffnet - der Kunde sieht von Comet als erstes eine Fehlermeldung.

    Die Previews-Palette bringt keine Fehlermeldung mehr, wenn keine Datenverbindung verfügbar ist.

    03.04.2007
    Bug 614 - Falsche Versionsnummer in der Comet-Versionswarnung Die Erweiterung der Platzhalter hat immer wieder zu großen Problemen geführt, wenn ältere Dateien geöffnet werden sollten, die neue Platzhalterwerte noch nicht enthalten. Um dem Problem zu begegnen, wurde die Platzhalterversion eingeführt, über die entscheiden werden kann, ob neu hinzugekommene Platzhalterwerte initialisiert werden müssen.

    Ds Lesen der Platzhalter ist jetzt grundlegend geändert und reagiert selbständig auf Änderungen in der Datenstruktur. Dateiänderungen und Warnhinweise sind nicht mehr nötig. Fehlende Platzuhalterwerte werden schon beim Öffnen der Datei mit Defaultwerten belegt.

    Vorsicht

    Sollten weitere Platzhalterwerte nötig sein, können Dateien dieser Plugins auch mit Plugin-Versionen von heute geöffnet werden. Beim Ändern von Platzhaltern in diesen Dokumenten gehen aber die Werte neuer (zukünftiger) Felder verloren.

    01.04.2007
    Bug 172 - Nicht erfolgreicher Login wird nicht abgebrochen Meldet man sich mit einem falschen Namen oder einem Namen, der nicht in der Tabelle iUser eingetragen hat, auf der Datnbank an, kann keine Datenbankverbindung hergestellt werden. Im ersten Fall wird der Login-Prozess zwar abgebrochen, aber der XML-Datenordner neu gesetzt. Im zweiten Fall wird der Login-Prozess fortgesetzt und erzeugt unter Umständen eine Reihe weiterer Fehlermeldungen.

    Der Login-Prozess wird jetzt vollständig abgebrochen. Eine Neuverbindung mit dem XML-Ordner wird nicht mehr gemacht.

    Achtung

    Fehler, die beim Login in den einzelnen Plugins auftreten, führen aber nicht zum Abruch des Logins,

    27.03.2007
    Bug 606 - DocWatch unter SOAP funktioniert nicht Unter SOAP funktioniert das DocWatch nicht. Mit den selben XMl-Dateien, die offline funktionieren, wird unter SOAP keine der DocWatch-Aktionen ausgelöst.

    Der Fehler ist behoben.

    Der Fehler ist auch im Release 287 von 1.3 behoben. Neues aktuuelles Release von 1.3 ist 320 mit der Bezeichnung 320@287.

    15.03.2007
    Bug 604 - Neue Seiten in Load-Skripten bringen die Seitenreihenfolge beim Produktaufbau durcheinander Werden beim Produktaufbau Objekte eingefügt, die neue Seiten anlegen, kommt die Seitenreihenfolge durcheinander :

    Der Aufbau steht an Seite 3

        1 2 [3] 4 5

    Ein Produkt legt zwei neue Seiten an

        1 2 [3] 4N 5N 6(4) 7(5) 8(6)

    Danach geht der Aufbau immer noch auf Seite 3 weiter. Werden vom Aufbau neue Seiten angelegt, geschieht das hinter der Seite 3. Richtig wäre, nach dem Einfügen von Seiten beim Objektladen auf der neuen Seite 5 weiterzumachen.

    Der Produktaufbau prüft jetzt, ob hinter der aktuellen Seite neue Seiten eingefügt wurden und verschiebt die Bearbeitung bei Bedarf auf die letzte eingefügte Seite.

    14.03.2007
    Bug 603 - frame::remove in Loadskripten führt zum Absturz Wenn in einem Loadskript der Aufruf
    frame::remove (gFrame)

    verwendet wird, stürzt InDesign® ab.

    Irgendwie ja verständlich - schliesslich wollen die Plugins mit dem Rahmen danach noch was machen : Z.B. den Sync-Status setzen. Ich habe jetzt alle Stellen geändert, an denen nach Skriptaufrufen mit dem aufrufenden Rahmen weitergearbeitet wird und der Fehler dürfte eigentlich nicht mehr auftreten.

    14.03.2007
    Bug 591 - Mehrfachzeilen/-spalten im Tabellenmodul anlegen Beim Anlegen neuer Zeilen und Spalten im Tabellenmodul wird jeweils nur eine Zeilen/Spalte pro gefundenem Datensazt angelegt. Für verschiedene Anwendungen ist es aber erforderlich, mehrere Zeilen/Spalten pro Datensatz anzulegen. Die Idee ist, in einer Aktion angeben zu können, wieviele der folgenden Zeilen/Spalten jeweils kopiert werden müssen.

    In der Palette des Tabellenaufbaus gibt es jetzt eine Angabe für die gewünschte Blockgrösse :

          

    Die Blockgrösse gibt an, wieviel Zeilen/Spalten pro Datensatz, den die gewählte Aktion liefert, eingefügt werden. Die Tabelle muss die für die angegebene Blockgrösse nötigen Zeilen/Spalten enthalten.

    Zellenverbindungen

    Ist die Blockgrösse > 1 werden die Zellen über/vor den neuasngelegten Zeilen/Spalten nur dann verbunden, wenn auch die entsprechende Zelle im Ausgangsblock schon verbunden ist :

    Wird die folgende Tabelle aufgebaut, bleiben die beiden türkisfarbenen Zellen in allen eingefügten Zeilen erhalten :

      Aktion "A" mit Blockgrösse 2  
                                              
         

    Die orange Zelle erstreckt sich nach dem Aufbau dagegen bis zur letzten Zeile des letzten Datensatzes der Aktion "A".

                       Aktion "A" mit Blockgrösse 2  
                           
         

    Gruppennamen

    Die Namenspostfixe für die Gruppe des ersten/letzten Datensatzes werden jeweils in allen Zeilen/Spalten des Blockes eingetragen.

    08.03.2007
    Bug 588 - Anlegen mehrerer unterschiedlicher Zeilen/Spalten in Tabellen Leider ist es in InDesign® nicht möglich, mehrere unterschiedliche Tabellenzeilen/-spalten anzulegen. Beim Anlegen meherer Zeilen/Spalten wird jeweils nur die aktuelle Zeile/Spalte wiederholt. Gestaltungen, Merges udn Splits müssen in den neuen Zellen dann mühsam wiederholt werden.

    In den folgenden Tabellenmenüs

    • Hauptmenü:Tabelle:Einfügen
    • Tabellen-Kontextmenü:Einfügen
    • Tabellen-Controlstrip:Einfügen
    • Tabelle-Palettenmenü-Einfügen

    gibt es jetzt jeweils die neuen Befehle Ausgewählte Zeilen und Ausgewählte Spalten. Die Befehle erstellen jeweils ein exakte Kopie der ausgewählten Zeilen/Spalten und fügen den Block unter/neben der letzten ausgewählten Zelle ein. Alle Zellengestaltungen und alle Merges und Splits werden aus den jeweiligen Originalzellen übernommen. Zelleninhalte werden - wie im einzeiligen Anlegen - nicht kopiert.

    07.03.2007
    R 313 Neue Skriptfunktion itemlist::logical_groups Um zu Rahmen weitere Rahmen zu finden, die über irgendeine logische Verbindung mit einer verbunden sind, gibt es die neue Funktion itemlist::logical_groups. 02.03.2007
    Bug 582 - Absturz des Textaufbaus, wenn Rahmen im Overset mit fitframe behandelt werden sollen Der Textaufbau von Produkten stürzt ab, wenn im Overset Inlinerahmen eingesetzt werden, bei denen ein fitframe gemacht wird.

    Das ist leider ein generelles Fehlverhalten von InDesign®. Auch Versuche, den Rahmen auf andere Art in seiner Grösse zu verändern, scheitern. Der Fehler ist leider nicht behebbar. Aber es gibt die folgende Lösung, die vermeidet, dass überhaupt erst ein Overset entsteht :

    Der Textaufbau legt jetzt standardmässig neue Seiten und Rahmen an, wenn ein Overset entsteht. Der letzte Rahmen der Textkette wird dabei auf einer neuen Seite dupliziert und mit dem neuen Rahmen verlinkt. Soll dieses Verhalten unterbunden werden, muss textmodel::insert_products mit dem Flag kSuppressAutoExtent aufgerufen werden.

    02.03.2007
    Bug 573 - Rahmen-Reihenfolge in der Vorlage wird beim Textfluss nicht beachtet (CS2, Mac) Werden beim Textfluss Vorlagen mit mehreren Rahmen eingefügt, wird unter CS2 die Reihenfolge der Rahmen (die in der Vorlagenpalette eingestellte Sequenznummer) nicht beachtet. Unter CS funktioniert das Ganze.

    Da fehlte ein Compilerflag im entsprechenden CS2-Projekt. Die Reihnefolge wird jetzt richtig ausgewertet.

    02.032007
    Bug 572 - Exportieren von Vorlagen unter SOAP Beim Versuch Vorlagen zu exportieren, stürzt InDesign® ab. Der Fehler tritt nur bei SOAP-Verbindungen auf.

    Der Fehler ist behoben.

    02.03.2007
    Bug 565 - Tabellenmodul SOAP/Windows fürhrt keine Aufbauaktionen aus Unter SOAP/Windows erzeugen die Aktionen zum Anlegen neuer Zeilen und Spalten einen Fehler (type mismatch). Die Aktion (getList) scheint aber in Ordnung zu sein.

    Der Fehler ist behoben (war intern was falsch beim Soap-Client und Windows) und die Aktionen mit getList sollten jetzt richtig ausgeführt werden.

    21.02.2007
    Bug 554 - Aufbau mehrere Produkt in Win XP scheitert Der Aufbau mehrerer angewählter Produkte in der Produktrecherche scheitert. Ein einzelnes Produkt wird fehlerfrei aufgebaut. Wählt man mehrere Produkte und startet das Aufbauskript bricht es beim 2. Produkt ab. Der Fehler tritt nur unter Windows XP mit CS2 auf. Unter Mac OS X funktionieren die gleichen Vorlagen und Skripte fehlerfrei.

    Der Fehler lag daran, dass Windows das Erstellungs- und Änderungsdatum beim Kopieren von Dateien recht merkwürdig setzt. Man kann tatsächlich Dateien erzeugen, deren letzte Änderung VOR dem Erstellungsdatum liegt - naja. In den Plugins konnten dann die Zwischendateien der Vorlagen nicht richtig angelegt werden. Das ist jetzt behoben.

    21.02.2007
    Bug 550 - system::tcpip(char* s) - nicht implementiert? Auf dem Mac liefert der Befehl (wie erwartet) die IP-Adresse zurück, während auf dem PC folgender String in s kopiert wird: csystem::get_tcpip_string not implemented. Eine kleine Gemeinheit dabei ist, dass man ja geneigt ist, der Variablen nur 16 Zeichen zuzuordnen. Dann stürzt InDesign® natürlich ab.

    Der Befehl geht jetzt und hat einen zusätzlichen Parameter, mit dem ausgewählt werden kann, welche IP geholt werden soll. Ist keine IP mehr vorhanden, wird 0.0.0.0 zurückgegeben. UND DIESER NEUE PARAMETER FUNKTIONIERT NUR UNTER WINDOWS!

    Vielleicht könnte ich ja dann auch mal ein Projekt sehen, wo der Befehl verwendet wird :-)

    20.02.2007
    Bug 561 - SOAP-Verbindungen laden die Platzhalterhalter-Aktionen immer wieder neu Bei SOAP-Verbindungen werden die Skripte der Platzhalter bei jeder Aktion neu vom Server geladen. Kann man das nicht auch cachen?

    Das wurde früher schon einmal gemacht. Das Problem dabei war, dass die Skripte dann unverschlüsselt auf der Festplatte lagen. Jetzt werden die Skripte verschlüsselt zwischengelagert in folgendem Ordner

        $DOCUMENTS/XCache/action/

    19.02.2007
    Bug 481 - xml::link verlinkt nichts
    In dem Script unten gibt xml::link einen Fehler -2 zurück und verlinkt nichts. Ich habe auch mit verschiedenen Werten für den Pfad experimentiert, aber ohne Erfolg.
    #include "internal/text.h"
    #include "internal/products.h"
    
    int main()
    {
       int err = 0;
    
       err = xml::link("/", "Comet", -1, "RecordID", itoa(gRecordID));
       if (err) wlog("", "w XML-Info: FAILED: %d!\n", err);
       else wlog("", "w XML-Info: succeed\n");
    
       return 0;
    }

    Bei Rahmenplatzhatern funktioniert das Ganze. Bei Textplatzhaltern hab ich leider den übergebenen Index als TEXTindex verwendet, um den zugehörigen Rahmen rauszukriegen. Das war natürlich falsch. Mit dem Index hätte alles auch in der alten Version funktioniert. Und jetzt funktioniert auch mit dem Index -1.

    19.02.2007
    Bug 479 - distinct in xmlget
    Zwischen select und den Attributnamen darf jetzt das Schlüsselwort distinct stehen. Dadurch werden alle mehrfachen Ergebnisse nur einmal zurückgegeben. Ergebnisse sind dann gleich, wenn sie in jeder Spalte gleich sind. 19.02.2007
    Bug 558 - XML-Attribut mit dem Index kann nicht ermittelt werden Die Funktion xml::attribute (u.ä.) ermittelt den Namen und den Wert eines XML-Attributes über den Index des Attributes. Das klappt auch - bloss nicht beim ersten Attribut mit dem Index 0.

    Der Fehler ist behoben.

    14.02.2007
    Bug 500 - Bildposition 12 (kConstrainToFrameWidth) wird nicht korrekt ausgefüh Beim Einfügen von Bildern über 'frame::image' wird die Bildposition 12 (kConstrainToFrameWidth) nicht korrekt ausgeführt. Die Rahmengröße ist zwar korrekt, dass Bild wird allerdings stark skaliert eingesetzt. Die Bilder müssten mit ca. 100% eingesetzt werden, teilweise werden sie aber bis auf 20% runter skaliert.

    Der Fehler ist behoben.

    14.02.2007
    Bug 533 - Bei Copy/Paste von Bildern werden die XML-Elemente der Zielrahmen verändert Das Problem ist folgendes :
    1. Auswahl eines Bildes mit dem weissem Pfeil
    2. Kopieren des Bildes in die Zwischenablage
    3. Auswahl eines anderen Rahmens mit schwarzem Pfeil
    4. Einsetzen der Zwischenablage mit dem Kontextmenü (rechte Maustaste) "In die Auswahl einfügen"

    Ist der Zeilrahmen aus Punkt 3 mit einem XML-Element verknüpft, nimmt man eigentlich an, dass dort alles beim alten bleibt und lediglich das href-Attribut angepasst wird. Das ist leider nicht so. Scheinbar werden die Attribute des XML-Elementes von Punkt 1 in den Zielrahmen übernommen. Aber auch das ist nicht so ganz sicher - Öffnen und Schliessen des Elementes und des Dokumentes zeigt immer mal wieder andere Attribute. Auch die Position des XML-Elementes hat sich verschoben. Beim NEUverknüpfen eines Rahmens mit einem Bild (Datei:Platzieren oder DragDrop oder Bilddatei) bleiben das XML-Element und seine Attribute aber unverändert.

    Es gibt also keine Möglichkeit, das Bild eines Rahmens mit XML-Element mit Copy/Paste zu ändern, ohne dass sich das XML-Element und seine Attribute ändern.

    Lösung

    Das Kontextmenü von Bildrahmen hat jetzt drei neue Einträge :
        Bild ausschneiden
        Bild kopieren
        Bild einfügen

    Um ein Bild in einen anderen Rahmen zu setzen, wird wie folgt vorgegangen :

    1. Auswahl eines Bildes mit schwarzem Pfeil
    2. Kontextmenü Bild ausschneiden oder Bild kopieren
    3. Zielrahmen mit schwarzem Pfeil auswählen
    4. Kontextmenü Bild einfügen

    ... und alles ist gut : Alle XML-Attribute bleiben erhalten. Das XML-Element selbst steht an seiner alten Position in der XML-Hierarchie.

    13.02.2007
    Bug 522 - seltsames zeichen in unformatiertem text Das in indesign verwendete zeichen für "bedingter trennstrich - kürzel "alt und shift und minus" wird mit textmodel::gettext mit der option kExportPlain als <00AD> zurückgeschrieben.

    Zeichen über Ascii 127, die nicht gleichzeitig im erweiterten Ascii-Satz von Mac und Windows enthalten sind,werden automatisch in der Form <00AD> kodiert. Im aktuellen Fall soll der Textexport aber für eine HTML-Ausgabe gemacht werden. Die Kodierung müsste hier "&#173;" lauten. Das wird von der Skriptsprache jetzt mit dem neuen Exportformat kExportHTML unterstützt.

    13.02.2007
    Bug 480 - StringID kann in PreScript nicht gesetzt werden ... und auch nicht abgerufen. Das hat leider zur Folge, dass per PreScript erzeugte Produkte nicht erkannt werden, weil halt die StringID fehlt. Was mir fehlt, ist so was:

    product::set(prod, kStringID, "dolle_id");

    Sorry hatte ich bei products::get vergessen. Geht jetzt :

    product::set (prod, kStringID, "my_stringid"),
    product::get (prod, kStringID);

    12.02.2007
    Bug 547 - frame::fit mit "Kindersicherung" Wäre es möglich und sinnvoll, frame::fit ein wenig narrensicherer auszulegen?

    Momentan stürzt InDesign® ab, wenn der Rahmen leer ist (vermutlich leicht zu prüfen) oder über die Arbeitsfläche hinaus vergrößert wird (im Script fast unmöglich zu prüfen, oder?) Da frame::fit ohnehin einen Fehlercode zurückliefert, ließe sich das ja ganz elegant im Script abfangen.

    frame::fit macht jetzt nichts mehr, wenn der Rahmen kein Bild und keinen Text enthält. In diesem Fall wird einfach "Kein Fehler" (=0) zurückgegeben.

    Mit welchen Bildern sollte denn der Rahmen über die Montagefläche hinaus vergrössert werden? Ich habe ein 6000x6000 Pixel-Bild mit 72 dpi getestet. Davon wird dann keine Vorschau erzeugt, das Bild ist also 2,11 m x 2,11 m groß. Das funktioniert.

    12.02.2007
    R 306 Bug 476 - Overset in mehrspaltigen Rahmen Läuft Text über mehrere Spalten in einen mehrspaltigen Rahmen, gibt textmodel::overset() bzw. frame::overset() einen positiven Wert zurück, bevor der Text in die zweite Spalte weiterläuft. Das heißt: fließt der Text von der ersten in die zweite Spalte, wird ein Overset gemeldet - der ist so lang wie der Rest des Textes. Beim Textfluss von der zweiten in die dritte Spalte passiert das seltsamerweise nicht.

    Der Fehler ist jetzt hoffentlich behoben. Das Problem ist, in jeder Situation den richtigen Textrahmen zu erwischen, da mehrspaltige Text aus mehreren Textrahmen bestehen. Und wenn die Rahmen um die Textrahmen noch verbunden sind, wirds noch schwieriger.

    Neu

    Mit dem Parameter kFullChain kann der Overset der gesamten verbundenen Kette erfragt werden, siehe frame::overset.

    09.02.2007
    Bug 553 - table::getcellbox Laut Doku kann die Größe einer Tabellenzelle per table::get_cellbox(Table t, int x, int y, int insetrel, float* w, float* h) ermittelt werden. Der Syntaxcheck nimmt das auch brav mit, aber das Script bricht mit "undeclared identifier: table::get_cellbox" ab. Nehme ich stattdessen laut Beispiel table::get_cellsize(Table t, int x, int y, int insetrel, float* w, float*h) meckert der Syntax-Check, aber das Script funktioniert.

    Der Fehler ist behoben, beide Funktionen (table::get_cellsize und table::get_cellbox) funktionieren jetzt wie in der Doku beschrieben. (Get_cellbox war nicht in der internen Tabelle, den Skriptname ihre ausführende Funktion zuweist, enthalten.)

    08.02.2007
    Bug 546 - Sperren / Entsperren von Ebenen Es wäre auch nicht schlecht, wenn sich (analog zur InDesign®-Funktionalität) Ebenen sperren und entsperren ließen.

    Es gibt jetzt die neuen Skriptfunktionen

    layer::lock
    layer::unlock

    Dazugehörig gibt es die neue Funktion layer::get_lock. Und analog gibt es jetzt auch eine Funktion, mit der erfragt werden kann, ob eine Ebene sichtbar ist (layer::get_visible).

    Alle oben genannten Funktionen erwarten als ersten Parameter den Namen der gewünschten Ebene. Für jede Funktion gibt es eine "_i"-Version, in der die Ebene über ihren 0-basierten Index ausgewählt wird.

    08.07.2007
    Bug 545 - linklist::load sollte sich auf eine Dokumentebene beschränken lassen Zum Einschrängen der bearbeitung auf sichtbare/aktive Ebenen gibt es jetzt die neuen Schlüsselworte

        kDesignateActiveLayer und kDesignateVisibleLayers

    Ausgewertet werden sie in de nfolgenden Skriptfunktionen :

        linklist::load
        linklist::store
        linklist::sync
        linklist::apply

    Analog dazu können in den Funktionen

        linklist::collect
        linklist::collect_any
        itemlist::allframes

    die Rahmenlisten auf diese Ebenentypen beschränkt werden. Da hier aber der Ebenenname bereits als String vorgesehen war, können die oben genannten Schlüsselwörter nicht benutzt werden. Statt desen werden hier die folgenden Strings für die Ebenennamen verwendet :

        "--visible--"
        "--active--"

    08.02.2007
    Bug 552 - Falsche Beschriftung wiederholender Elemente in den Platzhalterwerten In den Platzhalterwerten ist das Feld mit der ID des Aufbauskriptes bei wiederholenden Elementen wie bei normalen Textplatzhaltern mit "Textformat" beschriftet. Das ist zwar nicht schlimm - aber irritierend.

    Das Feld wird jetzt mit "Aufbau" beschriftet, wenn ein wiederholendes Element im Dokument ausgewählt ist.

    07.02.2007
    Bug 534 - Zurückschreiben-war-erfolgreich-bestätigung Beim Zurückschreiben eines Dokuments mit vielen Datensätzen erkennt man den Status beim Zurückschreiben daran, dass "raufgezählt" wird (z.b. 100/658 Datensätze). Bei Dokumenten mit nur wenigen Datensätzen/Seiten fehlt diese Versicherung, da die Daten schnell zurückgeschrieben werden.

    Hilfreich wäre - in beiden Fällen - eine entsprechende kurze Erfolgsmeldung nach Beendigung des GESAMTEN Rückschreibe-Vorgangs.

    Eine solche Meldung wird jetzt beim Laden, Zurückschreiben, Synchronisieren und beim Aufbau wiederholender Elemente gemacht. Bei Fehlern wird die Gesamtzahl der Fehler angegeben. Die Erfolgs/Fehlermeldung kann abgeschaltet werden mit dem folgenden Menübefehl

         Zusatzmodule:Platzhalter:Benachrichtigung nach Ausführung
         Platzhalterplaette : Benachrichtigung nach Ausführung

    Im Logfile werden Fehler einzeln beschrieben. Es werden jeweils Seite, Rahmen- und möglicherweise Textposition, PlatzhalterID, ObjektID und Fehlerbeschreibung angegeben. Wurden bei einer Aktion (z.B. "Platzhalter des gesamten Dokumentes aktualisieren") Fehler generiert, kann mit den neuen Menübefehlen

         Zusatzmodule:Platzhalter:Zeige nächsten/vorherigen fehlerhaften Platzhalter
         Platzhalterplaette : Zeige nächsten/vorherigen fehlerhaften Platzhalter

    in den Fehlern navigiert werden. Im Dokument wird dann der jeweils nächste/vorige fehlerhafte Platzhalter ausgewählt. Achtung : Das funktioniert natürlich nur solange richtig, wie die entsprechenden Rahmen noch vorhanden bzw. die Textpositionen unverändert sind. Und es funktioniert nur im jweiligen Front-Dokument.

    Der Dialog "Weiter/Abbrechen" bei Fehlern wird jetzt richtig unterstützt. Wurde der Dialog einmal mit "Weiter" bestätigt, werden für die aktuelle Aktion keine weiteren Fehlermeldungen mehr gezeigt. Die Skriptanweisungen showmessage und showerror werden weiter ausgeführt.

    06.02.2007
    Bug 544 - Platzhalter werden nicht farbig hinterlegt ... jedenfalls beim Kunden (Mac, CS, Rev 287). Bei mir funktioniert das bei der gleichen Konfiguration, InDesign®-Version und Plugin-Revision. Bei mir sind die Platzhalter schön bunt, bei der Kundin nicht. An ihrem Mac sind (wie an meinem) 16.7 Mio. Farben eingestellt.

    Zusatz : Das ganze passiert ja bei einer SOAP-Verbindung. Wenn ich nach dem Ausloggen mit einem XML-Ordner verbunden bin, sind die Platzhalter farbig
    hinterlegt, sonst nicht. Also: XML-Ordner wählen - SOAP-Verbindung aufbauen - Platzhalter bunt. XML-Ordner löschen (wird aus Voreinstellungen entfernt) - SOAP Verbindung aufbauen - Platzhalter nicht bunt.

    Lösung

    Der Fehler ist behoben. Vom "Farbenlader" wurde einfach nicht erkannt, dass sich die Datenuelle geändert hat, wenn vorher überhaupt keine Datenquelle da
    war.

    Bei der Gelegenheit habe ich auch noch eine kleine Maschine eingebaut, die automatisch die Platzhalterfarben aktualisiert, wenn sich die Datenquelle
    geändert hat.

    Und drittens habe ich auch noch die Farbanzeige an sich geändert. Der Index der gezeigten Farbe hat nämlich auch nicht gestimmt. Jedenfalls wurde nicht die Farbe angezeigt, die im Platzhalter eingestellt war, sondern eine davor .

    06.02.2007
    Bug 460 - Aufbau mit Unterprodukten bei Fließlayout Beim normalen Produktaufbau lassen sich durch Drücken der Shift-Taste die Unterprodukte aufbauen. Das sollte beim Fließlayout auch möglich sein (im Sinne der Konsistenz)

    Na, für die friedliche Konsistenz oder so tun wir doch alles. Das geht jetzt.

    Bug 549 - Tabellenplatzhalter für Tabellenvorlagen anlegen Um für eine Tabellenvorlage einen zugehörigen Platzhalter anzulegen, muss jedesmal die Workbench verwendet werden. Wir benötigen dringend einen Mechanismus, mit dem die Platzhalter (und Aktionen) automatisch angelegt werden können.

    Tabllenvorlagen und Tabellenplatzhalter können jetzt ganz einfach angelegt werden :

    1. Textcursor in die gewünschte Tabelle stellen
    2. der Vorlagenpalette klicken
    3. Der Vorlagendialog öffnet sich (siehe unten)
    4. Dort können die Angaben zu Platzhalter und Aktion gemacht werden
    5. Sichern (Platzhalter und Aktion werden wie eingestellt angelegt)

    Zusätzlich befindet sich auf dem Dialog jetzt eine Löschen-Checkbox (die defaultmässig immer ausgeschaltet). Ist die Checkbox angeklickt, wird der entsprechende Platzhalter gelöscht. Bei Tabellenplatzhaltern gibt es ausserdem noch eine Checkbox, mit der die Platzhalter-AKTION gelöscht werden kann.

    Auf der Vorlagen-Palette wird der Platzhalter hinter den Vorlagennamengeschrieben :

    01.02.2007
    Bug 543 - Gültige Lizenzdatei wird nicht erkannt Wenn Comet++ freigeschaltet wird, muss _zusätzlich_ Comet (ohne ++) freigeschaltet werden. Eigentlich sollte das nicht so sein; aber bis auf weiteres sollte man das beim Erstellen der Lizenzen berücksichtigen.

    Der Fehler ist behoben.

    01.02.2007
    Bug 542 - Welcher XML-Datenordner ist ausgewählt? Mit gehaltener Alt-Taste zeigt der Menübefehl

    Zusatzmodule:Datenordner ...

    jetzt ein Fenster mit dem vollständigen Pfad des aktuellen XML-Ordners.

    25.01.2007
    R 304 Bug 527 - Gleiche Zellen verbinden im Tabellenmodul funktioniert nicht “Gleiche Zeilen/Spalten? verbinden war eine missverständliche Beschreibung - gemeint waren Zellen, die von einem Hotspot angelegt werden, nicht Zellen gleichen Inhalts. Die Methoden heissen deshalb jetzt:

         Zusammengehörige Zeilen/Spalten verbinden.

    Zum Verbinden von Zellen gleichen Inhalts gibt es die neue Methode

         Gleiche Zellen verbinden

    Mit dem neuen Button , das aktiv ist, wenn eine Standardmethode ausgewählt ist, kann die Methode konfiguriert werden.

    Sind für die Methode Gruppenzuordnungen gesetzt, werden nur Zellen verbunden, die diesen Einstellungen entsprechen. Diese Lösung ist ein bisschen unsauber, da die Gruppenprüfung sonst ja nur für die auslösende Zelle gemacht wird - aber sie erfüllt ihren Zweck. Im Notfall muss eine Gruppe mehr definiert werden, um die Unterscheidung zwischen auslösender Zelle und bearbeiteten Zellen herzustellen.

    18.01.2007
    R 297 Bug 520 - Funktion zum Entfernen von Bildern aus Rahmen fehlt Zum Entfernen bestehender Bilder aus Rahmen gibt es jetzt die neue Funktion frame::remove_image. 08.01.2007
    Bug 519 - Rahmen- und Kantenfarben in CMYK Zum Setzen der Rahmen- und Kantenfarben mit CMYK-Farben gibt es jetzt die Funktionen frame::color_cmyk und frame::stroke_cmyk. 08.01.2007
    R280 Bug 513 - Einstellung für alternierende Zeilen/Spalten bei der Tabellengestaltung werden nicht beachtet Obwohl für eine Methode die Bearbeitung alternierender Zeilen/Spalten einegstellt wird, werden die Zeilen/Spalten nicht alternierend bearbeitet. Beim Wechsel zu einer anderen Zelle und zuück sind die Einstellungen weg.

    Das ist nur ein blöde Darstellung in der Palette. Die Einstellungen für die alternierende Bearbeitung und die Gruppenzugehörigkeit gelten nur jeweils für die ausgewählte Bearbeitungsmethode. Ist keine Bearbeitungsmethode, werden Änderungen in diesen Feldern ignoriert.

    Die entsprechenden Felder sind jetzt inaktiv, wenn keine Methode ausgewählt ist.

    21.12.2006
    Bug 512 - Gestaltung alternierender Zeilen/Spalten übergeht immer die erste Zeile/Spalte Bei den Einstellungen zu alternierenden Zeilen/Spalten kann man zwar einstellen, dass ab der ersten Zeile/Spaltejede zweite bearbeitet werden soll. Aber dann wird die zweite, vierte, sechste, usw. bearbeitet. Erwarten würde man eigentlich, dass die Bearbeitung auch tatsächlich bei der ersten beginnt (also 1, 3, 5, ...)

    Der Fehler ist behoben. ACHTUNG!! In alten Tabellen werden jetzt natürlich andere Ergebnisse erzielt als bisher.

    21.12.2006
    Bug 510 - Absturz des Tabellenmodules bei fehlerhaften SQL-Anweisungen in den Aktionen Ist die SQL-Anweisung einer Zellenaktion (Zeilen/Spalten kopieren) falsch, stürzt InDesign® ab.

    Sorry, das ist natürlich voll doof. Der Fehler ist behoben.

    21.12.2006
    Bug 509 - Falsche Initialisierung der Einstellungen von Tabellenzellen Bei neu angelegten Tabellen ist in den Zellen immer wieder in der der Aktion Spalten kopieren eine unbekannte Aktion eingetragen. Man muss dann in jeder Zelle der Tabelle "Keine Aktion" eintragen. Das ist erstens mühsam, zweitens unverständlich und drittens führt das natürlich zu jeder Menge Fehlern.

    Ebenso ist offensichtlich in der Einstellung Berechnung der IDs der Zelle schon eine Voreinstellung enthalten : Wählt man im Popup ID3 den Eintrag RowRecordID3 wird die ID3 der Zelle immer auf 167777216 (= 2 hoch 24) gesetzt Woher kommt dieser Wert?

    Die Einstellungen der Popupmenüs bei Berechnung der IDs der Zelle stehen bei neuen Zellen auch nicht immer auf "Unbenutzt" sondern sind einfach leer.

    Die für das Tabellenmodul nötigen InDesign®-Erweiterungen der Zellinformationen werden von InDesign® leider nicht automatisch initialisiert. Auch die Konstrukturen dieser Infos werden nicht automatisch gerufen. Vielmehr wird immer ein und das selbe Standardobjekt zur Initialisierung der Infos verwendet - und dessen Voreinstellung hängt von irgendetwas ab, das zumindest für mich nicht nachvollziehbar ist.

    Wie auch immer, es ist aber (mit einiger Mühe) erkennbar, ob das Standardobjekt oder ein eigenes verwendet wird. Damit kann die Initilaisierung nachgeholt werden und alle Zellinfos sind jetzt richtig initialisiert.

    21.12.2006
    Bug 504 - Verschiedene Fehler im Tabellenmodul Der Bug enthält einige Anlagen mit CS2-Dokumenten in denen Tabellen mit typischen Porblemen und ihren Lösungen enthalten sind. 21.12.2006
    Bug 507 - Öffnen von Dokumenten im Hintergrund nicht möglich document::open hat einen weiteren Parameter erhalten, mit dem das gesteuert werden kann:

    Als 7. Parameter kann jetzt 0 für unsichtbar oder 1 für sichtbar übergeben werden.

    21.12.2006
    Bug 506 - document::is_opened fehlt Es gibt jetzt den neuen Befehl document::is_opened. Hier ein Beispiel
    int main()
    {
    	int wasOpened  = document::is_opened("$DESKTOP/test.indd");
    	ItemRef docRef = document::open("$DESKTOP/test.indd");
    
    	// irgendwas machen mit dem Dokument
    
    	if (!wasOpened) document::close(docRef);
    	
    	return 0;
    }
    21.12.2006
    Bug 505 - document::save (ItemRef doc) fehlt Es gibt jetzt den neuen Befehl document::save. 21.12.2006
    Bug 494 - document::concat bringt InDesign® zum Absturz Obwohl beide Dokumente existieren, stürzt InDesing bei Verwendung von document::concat ab. Der Fehler tritt in jeder InDesign® Version auf.

    Behoben und mit drei "Dokumentenpaaren" erfolgreich getestet.

    Von Gabi gemeldet:

    Probleme bei mehrfachem Aufruf von document::concat innerhalb eines Skriptes mit demselben Zieldokument. In diesem Fall wurden zwar alle Concats ausgeführt, aber nur der erste auch gespeichert.

    Das funktioniert jetzt, allerdings zu diesem Preis: Änderungen durch concat werden auch dann gespeichert, wenn das Zieldokument bei Skriptaufruf bereits geöffnet war (bisher: in diesem Fall nicht).

    Hintergrund

    Hintergrund ist die leidige Geschichte, dass sofortiges Speichern / Schliessen eines Dokuments innerhalb eines Skripts ziemlich oft, mehrfaches Vormerken für geplantes Sichern ziemlich sicher zum InDesign®-Absturz führt. Saubere Lösung wäre: der C-Interpreter muss die über cscript zum Schliessen vorgemerkten Dateien selbst verwalten und Sorge tragen, dass während eines Skriptablaufs jede Datei nur einmal vorgemerkt wird. Das könnte aber eine ziemlich grundlegende Änderung sein, daher erstmal die einfache Lösung.

    21.12.2006
    Bug 472 - Absteigende Sortierung bei xmlget ch kann die Ergebnislisten in xmlget per orderby sortieren - aber leider nur absteigend. In SQL geht ja so was. Lässt sich das auch für xmlget implementieren?

    Ds wollt ich schon lange mal machen. Jetzt geht es. Als Schlüsselworte sind asc und desc erlaubt. Jede Sortierspalte kann eine eigene Angabe haben :

    select id, name node actions.action orderby name desc, id asc;

    Und jetzt bitte kein Feature-Request, dass das auch in Oracle gehen soll :-)

    21.12.2006
    Bug 463 - Absturz beim Beenden von InDesign® CS2 ... und zwar immer innerhalb der logout action von documents,

    d.h. man sieht dieses Verhalten nur, wenn man die Palette Publikationen (documents) benutzt. Wird sie nämlich nicht initialisiert, wird sie auch nicht de-initialisiert, die logout action so nicht aufgerufen und es gibt auch keinen Absturz.

    Gefixt.

    Achtung! Kann eventuell auch für andere Paletten nachvollzogen werden und sollte bald mal getestet werden!

    21.12.2006
    Bug 456 - "Branding" - die Kontake und Firmenbezeichnung der Dialoge in der Trial-Phase enthalten "Werk [2]" In den Dialogen, die während der trial-Phase gezeigt werden, sind noch Werk [2]-Addressen und -Firmenbezeichnung zu sehen. Die sollten in einer endgültigen Partner-Version irgendwie verschwinden.

    Die Dialoge werden jetzt mit den Angaben der Datei oem.xml gefüllt. Diese Datei enthält dafür ein paar neue Elemente :

    <?xml version="1.0" encoding="Mac"?>
    <oem>
    	<address>Kurze Firmenadresse (eMail)</address>
    	<contacts>Lange Firmenadresse (Adresse, Tel, eMail)</contacts>
    	<company>Firmenname</company>
    	<helpfiles>
    		<helpfile>
    			<menu>ePaper</menu>
    			<path>epaper.html</path>
    			<id>1</id>
    		</helpfile>
    		<!-- more helpfiles -->
    	</helpfiles>
    </oem>
    

    Dort wo bisher die Kontake stehen (Telefonnummer, Adresse, eMail), steht der Text von <contacts>, der Firmenname wird durch <company> ersetzt. Das Ganze kann auch mit dem Skriptbefehl system::oem gesetzt werden. Dort gibt es zusätzlich zum Begriff "address" die Begriffe "contacts" und "company".

    21.11.2006
    Bug 454 - table::inset_rows und inset_cols - Anzahl -1 geht nicht. Laut Online-Doku gilt für den Parameter how_many von table::inset_rows und inset_cols :

    how_many int - Wieviele Zeilen/Spalten sollen verändert werden? -1 Alle weiteren Zeilen/Spalten inklusive at

    Die Angabe -1 liefert aber den Fehlercode 2.

    Der Fehler ist behoben. Der selbe Fehler tritt auch bei den folgenden Funktionen auf und ist dort ebenfalls behoben :

    1. colorize_rows / cols
    2. rotate_rows / cols
    3. stroke_rows /cols
    4. reset_stroke_rows /cols

    Ich hoffe ich habe alle Stellen erwischt, an denen die -1 als Tabellenende falsch ausgewertet wurde.

    20.11.2006
    Bug 426 - Loginfenster schliesst sofort nach Fehlanmeldung Wird bei der Anmeldung zum Server (Datenbank oder SOAP) ein Fehler gemacht, schliesst sich das Fenster sofort. Hat man sich vertippt, muss man wieder ueber die Menueleiste das Fenster neu aufmachen.

    Wuenschenswert waere, wenn einfach das Passwortfeld geleert, der Cursor direkt dorthin positioniert und somit eine direkte Neueingabe moeglich wird.

    Das Loginfenster bleibt jetzt so lange offen, bis der Login erfolgreich war oder abgebrochen wurde. Die Passworteingabe wird nach jedem Versuch wieder zurückgesetzt.

    20.11.2006
    Bug 452 - SOAP-Abfragen mit beliebig vielen Ergebisspalten (getList) Seit einiger Zeit ist unserer SOAP-Modul in der Lage, mit Hilfe der Anweisung getList Ergebnisse mit einer beliebigen Spaltenzahl abzuholen. Bisher kann man getList aber nur in der Skriptspracvhe verwenden. Gibt es eine Möglichkeit, getList auch direkt in den Aktionen (analog zu xmlget und select), verwenden zu können?

    Lösung

    getList kann jetzt in Aktionen und Panelstatements genau wie unter XML/ODBC die Anweisungen select/xmlget, ... verwendet werden. Da bei Aktionen immer genau ein String als Ergebnisspalte gefordert wird, hätte hier auch

       method = sql
       .....

    geholfen. Aber so geht es jetzt einheitlich auch in Panelstatements, die ja unterschiedlich viele Ergebisspalten haben. Die allgemeine Syntax von getList geht so :

       getList method_name 
       parameter
    

    Oder, wer gerne eine einheitliche Syntax hat :

       listmethod = method_name
       parameter

    Fehlen getList/listmethod und der Methodenname, wird automatisch sie Methode sql verwendet. Der Befehl sieht dann also ganz einfach so aus :

       parameter

    Beispiel

    Alle folgenden drei Anweisungen holen eine Zahl und einen String vom Service ab. Voraussetzung ist, dass auf dem Service die Methode sql definiert ist :

       getList sql
       select if (attributvalue=<text>,1,-1), attributvalue from temptable where id = <ID>  
    
       listmethod = sql
       select if (attributvalue=<text>,1,-1), attributvalue from temptable where id = <ID>
    
       select if (attributvalue=<text>,1,-1), attributvalue from temptable where id = <ID>
    					
    20.11.2006
    Bug 450 - Tabellenmodul für SOAP Ab diesem Release ist das Tabellenmodul auch für SOAP verfügbar. Eine Beschreibubng des Tabellenmodules finden Sie hier. 20.11.2006
    Bug 449 - Export/Import von Vorlagen Manchmal wäre es hilfreich, wenn Vorlagen irgendwie in eine andere Datenquelle übernommen werden können. Bisher hat man dazu nur die Möglichkeit, die Vorlagen in ein Dokument einzufügen, sich die Einstellungen zu merken und dann im Zieldatenpool die Vorlagen neu anzulegen.

    Die Vorlagenpalette hat zwei neue Menüpunkte

    Exportieren ...

    Importieren ...

    Die Daten werden beim Export in einem auszuwählenden Zielordner abgelegt und können mit Import in gewünschten Datenpool wieder angelegt werden. Beim Import kann gewählt werden, ob

    • nur neue Daten angelegt (Standard)
    • oder bestehende Daten auch verändert (Alt-Taste)

    werden.

    20.11.2006
    Textaufbau Analog zum Dokumentaufbau ( oder document::build_products) bei dem Produkte über Rasterplätze ins Dokument eingefügt werden, werden beim Textaufbau Produkte mit ihren Vorlagen in einen Text eingefügt :

    Für den Textaufbau ist eine Aktualisierung der Vorlagen nötig : Die einzelnen Rahmen einer Vorlage müssen Angaben enthalten, ob sie im Textfluss verwendet werden sollen und wenn ja, ob der Rahmen als Inline oder sein Textinhalt eingesetzt werden sollen. Die entsprechenden Einstellungen werden in der

        Palette Aufbauregeln unter dem Punkt Textfluss

    gemacht.

    Die Reihenfolge, in der die Rahmen einer Volrage in den Texteingefügt werden, wird in der

         Palette Vorlagen, Button (vor 1.4 )

    festgelegt.

    24.10.2006
    Tabellenplatzhalter Tabellenplatzhalter sind eine neue Sorte von Platzhaltern bei denen der Inhalt des Platzhaltes durch eine Tabelle ersetzt wird. Eine Beschreibung von Tabellenplatzhaltern finden Sie hier. Das Einfügen von Tabellen setzt Tabellenvorlagen voraus, mehr dazu hier. 24.10.2006
    Tabellenmodul Mit der neuen Palette Tabellenaufbau können bestehende Tabellen so konfiguriert werden, dass sie sich selbst um Zeilen und Spalten erweitern, die danach geladen und gestaltet werden. Für das Modul ist eine Freischaltung nötig. Eine Beschreibubng des Tabellenmodules finden Sie hier. 24.10.2006