All plug-ins and renderers can be started without Python. The Python installation is checked only when Python is really needed (i.e. when a script starts with #!py). If the installation is missing, Python scripts return the error 1. For the first Python script, a corresponding warning message is also shown. The following Python versions are expected:

By the way, you can have any other, even newer Python version(s) installed. These versions are ignored by the priint:comet plug-ins and by comet_pdf.

Whether a program can be executed depends more on the Operating System than on the hardware:

Executability Until Catalina
Mac OS X 10.15
Since Big Sur, Mac OS 11
Intel M-Series
Intel-Only Software Yes Yes Rosetta 2
Universal Software No Yes, in Intel Mode Yes, in ARM Mode

We support Universal software from InDesign® and Illustrator® 2022 onwards. The Finder information of all of our plug-ins contains a corresponding note whether the plugin is Intel or Universal.

For the installation of the plug-ins we strongly recommend the installers provided by WERK II:

If a manual installation is necessary for any reason, it is important to replace all (but not more) plug-ins. Replacing individual plug-ins of different releases will crash InDesign®. Here you can find complete zip sets of the plug-ins:

All plug-ins are checked against malware by Apple. However, since you did not get the plug-ins from the App Store, it is necessary to change the security settings of your System Settings:

  1. Choose Privacy & Security in the sidebar
  2. Click General on the top.
  3. Under the point Allow apps downloaded from select Choose App Store and identified developers.

Because this file contains entries from our bug tracking system, the content of this file is partly in German.

The table describes the features and bug fixes of the priint:comet ID 4.3 plug-ins.

Revision    Case Description

v4.3 R35567

16.10.2024

InDesign® 2025

Just in time for the release of InDesign® 2025, the priint:comet plugins for InDesign® 2025 are also available :-)

!important ParaStyle

TW 3117746

Text placeholders are generally implemented in such a way that the inserted tagged text cannot change the paragraph style at the insertion point. In some cases, however, it may be desirable to actually change the paragraph style.

For these cases, there is the new keyword !important now. Write this information after the style name of the opening <ParaStyle:...> of the given TaggedText. Here you can find more information..

Sub-products in build-ups

TW 3153240

We have made the options for automatically adding sub-products in the building bricks dialog a little clearer. You can now choose between three options for Add Sub-Products:

  • Only Level ...
  • Up to Level ...
  • No
See here for more information.

TW 3168565 - Magnifier glass of panel Product Pool not working InDesign 2025

Unfortunately, the Product Pools magnifier does not work in InDesign 2025. The button does not change for rollovers either - it should actually turn blue for rollovers, right?But it doesn't turn blue.

That was the Panel Blocked widget. Unfortunately, it covered the widgets underneath itself - even though it was invisible.

The problem is solved now.

TW 3167417 - Images in the Previews palette are cropped a little

It's just a very small bug: some of the images in the previews palette are slightly cut off and not fully displayed:

The problem is caused by the very strong scaling of large images to the small display in the palette and has now been fixed:

TW 3167239 - productlist::get doesn't dive into sub-products

Unfortunately, the function productlist::get no longer dives in into the sub-products.

This is my Selector Statement

selected [level = 2]

This still worked in R34266.

The problem is solved now.

TW 3168407 - Duplicate entries with productlist::get

I call productlist::get with selected [level = 1]. After the fix of a Case 3167239 this works correctly now. With the selection as in the screenshot I get the products 101 - 106 :

But if I also have some target products in the selection, then these products appear twice in the result. In a selection like in the screenshot, I get 101 - 106, 102, 103:

The problem is solved now.

TW 3167197 - Cannot set alpha channel in Python function CFrame::setImage

In the Python function CFrame::setImage there is unfortunately no option to select an alpha channel for the image.

The Python function CFrame::setImage now supports are settings provided by the cScript function frame::image too. See here for more information.

TW 3161240 - Handling of incorrect URLs in the Previews panel

Due to the conversion between Mac and Windows paths, it can sometimes happen that a data pool delivers incorrect preview URLs like:

  • http:\abc...
  • http:\\abc...
  • ...downloadURL:http:\abc...
Of course, these URLs cannot be loaded. Is it not possible to fix such URLs automatically in the plug-ins?

We are happy to fix other people's mistakes :-) The following automatic corrections are now made in the Previews panel:

  • All \'s replaced by /'s. Please note: Due to the URL encoding rules, any (real) backslashes (\) must be encoded by %5C.
  • Add missing /'s at:
    • http:\abc...
    • https:\abc...
    • ....downloadURL=http:\abc...
    • ....downloadURL=https:\abc...

TW 3161554 - Selection of a lower product level is covered by a higher level

The following product selection is given. All sub-items of the selected products of relative level 1 are to be created. Unfortunately, only the products 301 and 302 are created. The products 1041-1045 are ignored.

This was an error in the selection of sub-products. The bug has now been fixed.

TW 3153312 - What is the small dropdown in front of the template list in the product build-up dialog for?

In the Product Build-Up dialog you can define a standard template. In front of this dropdown is another small dropdown that always says “Any”. What is this dropdown for?

The dropdown can be used to restrict the templates to one Template Domain - helpful if you have a lot of templates. But apparently there are no template domains in your data pool. There is now a corresponding small help text on the dropdown.

TW 3136251 - Crash when loading the Product Pool with EPS icons

The entries in Product Pool use customized icons with EPS images. Unfortunately, InDesign® 'often' crashes when loading these entries.

The Indesign® panels cannot display EPS images directly. EPS images are therefore converted internally by the priint:comet plu-ins into PNGs with the correct background color (see here too). Some document watcher functions were executed - which was not necessary and is therefore now avoided.

Unfortunately, there is nothing we can do about the actual crash. This crash is caused internally by InDesign® when reading some special (whatever that means) EPS images. We strongly recommend to avoid EPS images at this point and use PNGs with alpha channels!

TW 3153154 - Names of downloads of Web Images are too long (Error -1410)

Even if the paths of Web Images can be of any length, the names of the downloads are still limited to 255 characters. Is there anything that can be done here?

No, of course we can't do anything here. You can try it yourself. Just try to manually give a file a name longer than 255 in your Explorer/Finder. (It is best to copy 250 characters into the name and then try to add more characters. At least with the Mac OS it stops after 255 characters and you will be rewarded with a beep).

But to ensure that you still get a result, names that are longer than 255 characters (even after applying all //// Hints) are automatically converted: We then use the MD5 hash of the URL plus the ending _name_too_long plus a possible file extension.

TW 3153149 - Web Images download paths limited to 260

We sometimes have very deeply nested folder structures for our InDesign documents. It is relatively common for a document path to be longer than 255 characters. Unfortunately, the download paths for Web Images are limited to 260 characters. What can we do here?

This has been solved. The download paths can now be as long as supported by the respective operating system.

TW 3128557 - Wrong Selection in Product Pool

I have a document with several placeholders. The products of these placeholders are contained in the panel Product Pool. However, the [Unknown] product of the panel is always selected when I select a text placeholder in the document. I have compared the IDs of the placeholders using the panel the PlaceHolder Options and the IDs of the Product Pool. The IDs are definitely the same - but the product is still not found in the list.

After a long search, we have localized the problem: The placeholders in the document contain an incorrect ClassID. Products must have the ClassID 3.

Since only ClassID 3 is now supported anyway, we have removed the corresponding test for the selection of Product Pool list. This solves the problem.

Regardless of this, you should still ensure that the products are loaded with the correct ClassID 3!

TW 3146419 - ID server option -cometlogrotate does not always work

The InDesing® Server option -cometlogrotate is apparently only evaluated when a document is saved or closed. However, the option is obviously not used if the server only asks for new tasks.

This is fixed now.

TW 3141844 - Icons in Product Pool have wrong background

Custom Icons of the Product Pool, which are generated from SVG (EPS, ...), only show a correct background in the lines of the current UI color. However, the slightly darker lines of the 'camel-cased' lines and selected entries also have this UI color as background. Not bad - but maybe it can be improved a little?

The icons are now displayed correctly in all rows.

TW 3134676 - Hidden Layer visible in PDFs and Previews shown in Neowise/Planner

Since the last or penultimate release, the PDFs and previews of the documents shown in the PubServer also contain all hidden layers.

This problem is solved now.

CDocument.createPages crash

The Python function CDocument.createPages does not interpret the 'index' correctly and crashed when the parameter has a value of 0.

The problem has been fixed.

TW 3065305 - Problem with autocomet

When starting with the autocomet batch, InDesign® crashes immediately after starting. Here are my config.xml, the soapflags.ini and the command to start the server:

config.xml for autocomet batch in C:\comet\config1.xml:

<config>
	<database>
		<type>SOAP</type>
		<dsn>
			http://localhost:8888/autocomet/services/?Autocomet
		</dsn>
		<user>idserver</user>
		<password>idserver</password>
		<db/>
		<client/>
		<language>de</language>
	</database>
	<global>
		<log>1</log>
	</global>
	<batch>
		<targetmachine>Instance1</targetmachine>
		<enabled>1</enabled>
		<log>0</log>
		<host>Machine_1</host>
		<clock>2</clock>
		<!--  source: jobtable | jobtable++ | hotfolder | toggle  -->
		<source>jobtable++</source>
		<hotfolderaction/>
	</batch>
</config>

soapflags.ini

service-version=1
login-timeout=20

InDesign® Server start line:

InDesignServer.com 
    -cometconfig C:\comet\config1.xml
    -configuration Instance1
    ...

The support of the autocomet batch is actually no longer supported - but should still work. We looked at the problem anyway. The error occurs due to the use of service-version=1 (which is also no longer supported officially). With Service 2 it works.

We have now fixed the access via Service 1 again and the Autocomet stream with a Service 1 should now work again.

TW 3122934 - Placeholder Options menue Reset Actions and Panel Scripts disabled

With a Developer License, the menue Reset Actions and Panel Scripts of panel Placeholder Options is disabled since v4.3 R35111. The menue is only available with a Pro License.

This is of course not correct. The error has now been fixed. However, you can also use the reset button at the bottom left of the panel. This works.

TW 3091108 - InDesign hangs on PubServer login

InDesign hangs from time to time during the PubServer login. The login dialog remains open and must be closed by clicking Okay again. Most InDesign menues and even the Quit menu are then deactivated. If I try to Quit InDesign through Apples Dock, InDesign says, that it cannot quit, because there is still one dialog open.

The last entry in the log file says that the translations from messages_xxXX.xml are read.

The error only seems to occur on MacOS and only rarely (2-4 times per 500). Unfortunately, we have not found a way to reproduce the error.

For the case-insensitive search, we actually changed the way the translations are read some time ago (Case 3054117, v4.3 R35111, 17.07.2024). We are therefore now a little more careful when reading the translations - whatever that means :-)

As the error occurs extremely rarely (in our tests never!) and is not reproducible, we can only hope that the problem has been solved now. In any case, the error no longer occurs for the author of the ticket.

TW 3117711 - Wrong TODO-List entry with Parastyle with UTF-Chars

My placeholder insertes a TaggedText like this (line delimiters inserted for better readability) :

%!TT
<ParaStyle:r<0x00f6>tlich <0x00dc>1>ABC
<ParaStyle:r<0x00f6>tlich <0x00dc>2>DEF

This works fine. But in the ToDos panel, the placeholder is always shown as changed. I suspect this is due to the Unicode characters in the name of the paragraph styles.

Correct guess:-) And it COULD work - if the Unicode characters would use capital letters (as described in the documentation).

Anyway, unicode tags with lowercase letters in the ParaStyles are now also accepted by the ToDos panel.

v4.3 R35315

03.09.2024

Python Improvements

The following improvements have been made to the Python integration:

New functions:

Breaking changes:

  • link.collect: Parameter edge has been removed (it was incompatible with other parameters)
  • link.collect: Parameter calcCoords new defaults to True
  • link.collect: Parameter document has been removed
  • link.collect: Parameter pages has been removed
  • link.collect: Parameter frames has been removed
  • link.collect: Parameter source has been added, consolidating other parameters

TW 3115504 - Strange results for <in> tags with i_final_align fitframe

I have an <in> tag with the following information about the image:

i_rotate {30, i_rotate_refpoint center, i_final_align fitframe

The rotation is correct - but the fitframe doesn't seem to work somehow.

Yes, at this point we had used the built-in InDesign function to adjust a frame to its content. And with rotated frames, this is - well, okay ... . We are now using our own implementation for this. It looks right now, doesn't it?

TW 3109844 - CTable.setCellText does not handle TaggedText

Although it is stated in the documentation, the CTable.setCellText function apparently cannot process TaggedText. For TaggedText in table cells there is the special cScript function table::insert_taggedtext. but to use that function I have to translate my entire script unfortunately.

This was a small mistake in the documentary and normally we don't adapt the reality to the documentation, but the documentation to the reality :-) In this case we improved the Python function CTable.setCellText to handle tagged text too now as described in the documentation.

TW 3097137 - Template editor page size

Template frames that are placed below the page margins but are not larger than the page itself are lost when the template is double-clicked.

The problem is solved now.

TW 2915400 - Products from sub-levels are collected incorrectly

The collection of products from sub-levels of the Product Pool is unfortunately still not completely correct.

The problem is solved now.

TW 3090861 - OK button not fully visible in the 'About' dialogs

In the About dialogs of the plug-ins, the Okay button is partially invisible. The 'problem' only occurs under Windows.

FXD

Crash when comparing comet Python types

When comparing comet Python types to intrinsic types like None, etc.. it is possible that a crash occurs.

This is fixed now.

TW 3073014 - InDesign crashes with keyvalues::from_xml

I have a cScript for a customer which loads a list of KeyValues from the PubServer. On Windows, hovwever, the script constantly crashes. I have cut down the code from the Java bridge up to the point where I create the KV-list manually from a string, using keyvalues::from_xml directly - that script crashes too. I suspect some error in the xml parsing code on windows. It works on macOS.

Fixed.

TW 3088466 - Mouse wheel over function variables crashes InDesign

The mouse wheel over the dropdowns of the Function Variables of the panel "Placeholder Options" causes InDesign to crash.

The problem is solved now by ignoring the the mouse wheel over these drop-downs.

TW 3075155 - app.comet.use sets wrong un-resolved xml path

When I call the Javascript function app.comet.use with a direct login for an XML order, the leading alias name (e.g. $DESKTOP) is not replaced in the internal connections settings. This means, I can successful connect to the folder but if I use, for example, a path like $COMETDATA in any of my scripts, $COMETDATA is replaced by "$DESKTOP/...." (and not by "/Users/Paul/Desktop/...").

This is fixed now.

TW 3078541 - Error 3590 when saving document

I have a Javascript like that:

app.comet.documentOpen (myPath, true, gOptions);
app.comet.build (...);
app.comet.documentSave (myPath, gOptions);
app.comet.documentClose (myPath, gOptions);

Unfortunately, documentSave always throws the error 3590 (InDesign Error : Cannot save document). The problem only occurs when I execute the script via the Front Row panel. In InDesign Server, saving works without any problems.

Yes, the Front Row panel includes each script in its own undo sequence. This means that all document changes made by the script can be undone in one step. If the document is closed within this sequence, this naturally causes problems and InDesign prevents the document from being saved and closed.

To solve the problem, you can now add the note -- Disable Undo -- (in exactly this spelling!) into a comment of your script.

Attention: You should only do this in scripts that you also want to execute in InDesign Desktop and that actually save and/or close the edited document!

TW 3077259 - Stack Overflow on 35-pages product

I have a product with a very long table - when creating the continuations, 35 pages are created for it. Unfortunately, my InDesign is terminated with "Stack Overflow" when creating these pages.

We don't have any influence on the size of the memory used (Stack and Heap) by InDesign. This is fully managed by the system. The only thing we can try is to move as much of our own (big) data as possible from the stack onto the heap. So in short, things like that :

OLD : char str [2000001];
NEW : char *str = new char [2000001]; ... delete [] str;

But believe us, we've always done it the 'NEW' way.

We were able to identify an implementation in the management of nails and magnets whose data we now store on the heap instead of the stack. With these changes, we were able to successfully run the 35-pages test with ID Server 2021 under Windows too.

But please note: The stack is now smaller, yes. But that does not mean that any number of follow-up templates (=pages) can be created. To be honest, it was never the intention of continued templates to create an entire multi page document with one template only.

TW 3060567 - Web images always in panel 'To Dos' (II)

Web Images with //// information at the end of the URL are still appear in the ToDos panel. Although the entries are displayed as 'Okay' (green) and the document and data pool texts are the same, they still appear in the ToDos list.

FXD

TW 3079674 - file::download does not work with Web Image URLs

Unfortunately, the file::download function does not work with Web Images that have a //// extension.

Yes, of course not. The //// specifications are information for Web Images and cannot be interpreted by other URL applications.

Anyway, the cscript function file::download ignores //// specifications at the end of the URL now.

TW 3068448 - Layoutrule-Condition "Frame is Empty" does not recognize tables

Frames that only contain tables are incorrectly recognized as empty by the "Frame is Empty" Layout Rule condition.

This is fixed now.

v4.3 R35111

17.07.2024

Merge Equal Rows of Frame

TW 3042918

With the new function table::merge_equal_fr, the merging of equal cells can be restricted to the rows of a table that are currently visible in the given frame. The function is usefull to prevent merged cells from becoming so high that the cell no longer fits into a single frame of the text chain.

Build Support 'Placed & Fitted'

TW 3044246

The new Build Support Situation kProductPlacedAndFitted is fired after the product is correctly placed and fitted at its final destination on the page but before any oversets checked or resolved.

This new situation may be helpful but in the very most cases kCheckSizeAfter is still sufficient.

Structure Order for PDF Export

TW 3049809

In the InDesign® Articles panel, there is the setting Use for Tagging Order in Tagged PDF (German : Für Tagging-Reihenfolge in PDFs mit Tags verwenden). This setting controls whether the Accessibility Structure of the document should be set up in the order of the XY coordinates of the frames or according to the articles.

To change this setting by cScript we have now implemented the new functions document::get/set_pdf_accessibility_order.

TW 3060567 - Web Images always in panel 'To Dos'

I have a placeholder with a Web Image:

"MYDATA"
select 'http://www.hi13.de/aaa.png////--kEllipsizeEnd' node ....

This placeholder always appears as "out of sync" in the ToDos panel.

  • Document: http://www.hi13.de/aaa.png
  • Data Source : http://www.hi13.de/aaa.png////--kEllipsizeEnd

The problem is solved now.

TW 3059346 - The plugins prevent the execution of Visual Basic scripts

If the priint:comet plugins are installed, InDesign can unfortunately no longer execute Visual Basic scripts.

The problem is solved now.

TW 3055908 - Last inline in frame missing after W2ML into InDesign

I have a text with an inline frame at the end. This text was saved by comet_pdf into a W2ML (--autosave). When I now open the generated W2ML in InDesign, the inline frame is missing. If I add at least letter behind the inline, the inline frame also appears in InDesign.

The problem is solved now.

TW 3054117 - translate function not working

Unfortunately, the translate function no longer translates user-defined translations.

This problem is solved now.

TW 3051577 - Web Image vs. file image : Different fitting-behavior in <in> tag

With the same image file, the result of the two %!TT imports is different when the image is loaded from a local file or via a URL. Everything is correct with the local file. But if the same file is loaded via a URL, the image frame keeps too high.

%!TT...<in:60.0, 60.0, "/path/to/.../abc.png", 8204></in>
%!TT...<in:60.0, 60.0, "http://.../abc.png", 8204></in>

The problem of course is caused by the alignment 8204 = 8.192 + 12 = fit image at top left + fit height of frame to image height. Unfortunately, these alignments are not yet supported by Web Images.

The problem is solved now.

Add i_pos_prio 4, i_pos_y 0.0, i_final_align fitframe to your in-tag.

TW 3037172 - Panel "Placeholder Options" fly-out menue "Reset Actions and Panel Scripts" disabled

The fly-out menue Reset Actions and Panel Scripts of panel Placeholder Options is only enabled for Developer License. Would it be possible to activate this menu for Pro licences as well?

The menu (and the corresponding button at the bottom left of the panel) are now also available without a Developer Licence.

TW3037288 - Wrong created and modified date in placeholders

At least on the Mac, the created and modified date of placeholders is wrong.

This is fixed now.

TW 3037429 - What does the "Reset Definitions" button of the Placeholder Options panel do?

At the bottom left of the panel Placeholder Options is a button with a circular image. The help text says that this can be used to reset the placeholder definitions. But somehow this does not seem to work properly.

Yes, this button seems to have rusted over the years. We have now re-implemented the button:

Reload the placeholder definitions of the current text or frame selection. When editing text frames, all contained text placeholders are also redefined. To update the entire document, hold down the SHIFT key.

The OPTION/ALT key must now be pressed to trigger the action.

The reset of created and modified is no longer supported

TW 3035746 - Mysterious calculation of if-conditions in cScript

There is a mysterious behaviour in cScript:

These lines will crash InDesign/comet_pdf immediately:

char * test = "ABC";
:
if (1 && (test[0] == 'A' || test[0] == 'B'))

But if I move the 1 && to the end of the condition, everything works as expected:

char * test = "ABC";
:
 if ((test[0] == 'A' || test[0] == 'B') && 1) 

This problem has been solved now. Both conditions now return the correct result without crashing.

TW 3032623 - file::pdf_count_pages doesn't resolve $DESKTOP, ...

Ther function file::pdf_count_pages doesn't resolve $DESKTOP, ...

This 'bug's fixed now. As a workaround please use file::uncurtain to get the full path.

TW 3029845 - app.comet.build fails if no page template is set in the document yet

The Javascript function app.comet.build unfortunately fails if no page template is set on the start page. This is okay so far - after all, a page template must be defined. I then inserted the following entry at the beginning of my ProductsXML string (line delimiters added for better reading!)

<item>
    <ID>3</ID>
    <ID2>0</ID2>
    <ID3>0</ID3>
    <stringID></stringID>
    <type>pagetemplate</type>
    <pageitemID>0</pageitemID>
</item>

Unfortunately, that didn't work either. Am I doing something wrong?

No, this entry is completely correct. We have corrected the plugins accordingly. It will work as expected now.

TW 3028140 - Incorrect behavior when inserting TaggedText on Windows

When re-importing tagged text that was exported in the kExportTagged format, a number of additional line breaks are added to the text. The problem only occurs on Windows. It is OK on the Mac.

The problem is solved now.

TW 3013954 (2) - Errors on book::all_documents_do

Unfortunately, on Windows the function book::all_documents_docannot open my book.

This is fixed now.

< TW 3036963 - Progress bar of book::all_documents_do does not work on Windows>

Progress bar of book::all_documents_do does not work on Windows. In addition, the dialogs title is always "The book cannot be opened."

This is fixed now.

TW 3036962 - Cannot open book (Windows only)

On Windows, books cannot be opened with book::open if the path does not begin with a drive letter like C:.

The problem is solved now.

v4.3 R34920

12.06.2024

Watermarks

TW 2973914

During the Grace Period, all edited documents are marked with the watermark priint.com since now. The watermark also appears in the document previews and in the PDFs of the documents. As soon as the plug-ins are licensed, the watermark is removed automatically when the document is opened.

Layout Rule Apply Object Style

TW 2998056

We have added a new Layout Rules to the standard: Frame -> Apply Object Style

See here for more information.

Load Order of Master Frames

TW 3002177

Until now the master page items are being localised (overridden) and loaded according to their Z order. This (exotic) sequence is used to obtain the frame overlaps from the original master items.

To make the loading sequence independent of the layout, the master page items are now loaded in the order of their frame label defined in panel Template Behavior.

Please note: This order differs from the order in which 'normal' frames are loaded. 'Normal' frames are loaded in the order of their sequence number (also defined in the panel Template Behavior). And the label, on the other hand, determines the order of the Layout Rules. However, as master page elements do not have Comet groups, no sequential number is available here.

Here you will find more information on the configuration of master page frames.

Local PubServer Scripts

TW 3005623

Scripts (actions) that are stored in the PubServer cannot be changed via InDesign. It is possible to make temporary changes via the panel Placeholder Options. However, these changes will of course be lost when you log out. For permanent changes, however, the scripts must be changed on the server side. Is there any possibility for 'permanent' local changes?

We have implemented a 'small' innovation for this:

  1. Create the folder emergency (in exactly this notation) at your desktop
  2. For every action you want to have locally, put in a file actionID.cpp. So for action 10 for example the file must be 10.cpp.
  3. For the #include [pubserver]/aaa/bbb/script.com the script file must be your_desktop/emergency/[pubserver]/aaa/bbb/script.com. Please not that currently only the prefix [pubserver] is supported.

Please also note, that only actions are supported this way. Panelstatements are not supported by the 'emergency'! To use your panelstatements locally, please add the according script file to the desktop folder cscripts and execute the script using the Front Row panel.

Scripts in the emergency folder must not be marked by #pragma plain (But if so, it doesn't matter.).

Important note on our own behalf:

We initially implemented this feature for our internal use only. When we publish it, we do it in the hope that it will also be helpful for others. The feature is not covered by WERK II support in any way and requests for it are treated as paid feature requests. We hope you will understand this.

Execute cScript from cScript

TW 3020482

Is it possible to call a defined cScript from another cScript?

No, this is currently not directly possible. However, you can implement a workaround with the Javascript command app.comet.exec using run_javascript.

To make things easier, we have also implemented the new run_cscript function.

Edit all documents of a book

TW 3013954

When editing all the documents of a book, the problem repeatedly arises that the documents in the book are not actually closed by InDesign® until the next IdleTime. If the book has many (or simply TOO many) documents, InDesign® will crash.

For this situation, we have implemented the function book::all_documents_do, which solves the problem by executing the individual processing steps in separate IdleTime sequences.

Multi scripts Progress Bar

TW 3020441

We have extended the progess::start function so that a progress bar can now also be shown across several scripts.

Free Timer Function

TW 3018516

With the functions timer::document_start or timer::frame_start I can start a timer on any document or frame. This are a great functions. Is this also possible without the connection to a document or frame?

We have extended the timer::document_start function for this purpose. Specifying 0 as the document reference avoids the binding to a document. Please note, however, that timer::document_stop must then also be called with 0 in this case!

Recreate Older Page Templates

TW 3006958

If you are using any older InDesign® version you cannot open Page Templates created by a newer InDesign® version for editing. Is there any way to convert the page templates somehow (backwards)?

Normally, of course, this is only possible on the server side directly via the INDD files and with the help of IDML. In the case of Page Templates, however, we can recreate the documents from the element definitions of the template 'on the fly'. This is currently already done if the template file does not exist.

Holding down the SHIFT key when opening the templates (double-click in the list) now always creates a new document. Please note that this document is not automatically uploaded to the server. To save the template, use the upload button as usual.

Jump Over Page Elements

TW 3008539

Sometimes you want the product build-up to skip some page elements. Here you can find new documentation on how to skip page elements.

Inner Placeholders in %!TT

TW 3010948

We have improved the handling of inner placeholders intext placeholders to the option prefer-inner to automatically remove the calling placeholder when loading it. See here for more information about auto load.

Here's an example of a placeholder with inner placeholders.

%!TTabc<w2:10, ...>dummy1<w2:>ghi<w2:20, ...>dummy2<w2:>mnu
TW 3006279 - productlist::get watched does not work anymore

The function productlist::get does not work anymore for products without a defined template in the Product Pool panel (R34820 - before R34777 worked).

This bug is fixed now.

TW 3007200 - Countless calls to pageitems.pageitem.name

I can see a countless number of calls like this when connecting to my PubServer

select name node pageitems.pageitem where id = ...

These calls occur because you have (incorrectly) defined the attribute with a value != 0 in (obviously) all placeholders. But only has a meaning in repeating elements! To fix that problem you should change all of these wrong definitions.

On the other hand, loading the template name from the styleid no longer has any meaning. This information is no longer used since v4 and we have now removed these calls. This avoids the countless "select name node pageitems.pageitem" calls. But anyway, the wrong defined styleid's may cause some problems in other situations - so you better remove them.

TW 3018713 - How do I get a document reference from document::select_by_name?

In one of my scripts I'm using the function document::select_by_name. Unfortunately, I then need the document reference (ItemRef) of the document found. How can I do this?

You could get this with document::is_opened. This function has a corresponding output parameter. And e have also created a corresponding output parameter for the document::select_by_name function now :-)

TW 3018706 - document::select_by_name always returns error -43

The function document::select_by_name returns error -43 even if the document exists and is opened.

This bug is fixed. The function now returns 0 (success) if the document could be selected.

TW 3013805 - A lot of "## Checking license for 'priint:comet''' in the log file

I see lots of messages in the log file that the Comet licence is being checked:

#### Checking license for 'priint:comet' : 
Developer license granted.

I'm not quite sure - is there something wrong with my licence, or why is it checked so often?

No, everything is fine. We'll skip the superfluous messages now.

TW 3004047 - Meaningless undo names

I have noticed at least two places where there are meaningless names in the undo menu:

  • Show/Hide Placeholders shows DataLinkSetTagHilted
  • Drag and Drop products shows ProcessDragDropCmd
That's not a bad thing, but perhaps a better description could be found here :-)

We have changed the undo names as follows:

  • Show/Hide Placeholders now shows Show/Hide Placeholders
  • Drag and Drop products now shows Drag Drop Product
Satisfied?

TW 3006952 - Changing page type of Page Template crashes InDesign®

I have a (somehow wrong configured) Page Template. The template has the page type 'Left' and its right side also points to a left sided page template. If I try to fix that, InDesign crashes immediately.

This is fixed now.

TW 3002981 - Downloading SOAP project removes the complete destination folder

If I want to download the entire Pubserver project using the folder button + OPTION, the entire target folder is deleted first. That's okay so far. But I did this with my desktop folder - and then the entire desktop was deleted. Perhaps it would be helpful to show a warning beforehand?

That's certainly a good idea. We have now implemented it in this way.

TW 2998319 - table::align does not recognize the 'last line align'

The cScript function table::align does not recognise the parameter last_align.

This is solved now.

TW 2913833 - Server cannot save document - Error 3590

InDesign Server repeatedly generates the Error 3590 (the InDesign bug Cannot save document) when saving (existing) documents. The error does not occur immediately. But once it has occurred, it no longer works for any document. Only a restart of the server resolves the error. After that, even documents that have generated the error before can be saved then.

This is fixed.

TW 2995386 - table::style does not work for right/bottom -1

Unfortunately, the table::style function does not work for right and/or bottom = -1.

This is fixed now. We also fixed the same bug in the following functions:

TW 2980034 - table::reset_stroke does not work as expected

The function table::reset_stroke does not seem to work as expected.

The bug has been fixed.

TW 2979887 - productlist::get does not dive into sub-products

The following call to productlist::get does not work for me anymore. It returns the selected product(s) only but doesn't dive into anymore. This happens on 4.3 R34671 (lastest version until now). It works on 4.3 R34034.

productlist::get(
    "selected [relative_level < 5] pageitemid > 0"
);

TW 2965185 - The Front Row Buttons are active even without a valid licence

The buttons in the panel Front Row are active and can be executed even without a valid priint:comet licence. That shouldn't really be the case, should it?

No, of course not. The buttons in the panel can no longer be executed without a valid licence and after the Grace Period and are therefore greyed out then.

TW 2963479 - Menu 'Repeating Elements -> Create Sub-Elements of All Products' not working

The Products panel fly-out menus Repeating Elements -> Create Sub-Elements of All/Selected Products do not work with staggered elements. All existing elements have been moved to the top left-hand corner of the page.

This problem is solved now.

TW 2963030 - Format string of repeating elements rejects integers

The format string of the repeating elements can contain information on the offset, rotation etc. of the elements. This information must be given in floating point numbers (as these values are usually decimal values). However, it might not be a bad idea to accept integers at this point too.

No problem. We can do that.

TW 2963022 - Offset and pin offset not working correctly in staggered repeating elements

In my statement to load the elements of a Multi Frame placeholder (aka Repeating Element) I use different pin-offsets to place the elements at customised positions:

"$PRODUCTS"
select ...id, id, 0, '', 
   3, 1, 
   "type=stagger;pin=lt;offset=(0.0, 0.0);post=autoload;"
	  || relpos 
   node products.product 
   where id = <ID> node articles.article

And repos is defined (with various values of course) like that:

pin=lb + (110.0, 0.0) 

But apparently the relpos definition of the first element is used for all elements.

With the implementation of the Area Build (type=area), we have deactivated the additional placement information (such as different offsets per element). We have now reactivated these options.

TW 2961271 - W2ML import crashes if an object style is missing

Unfortunately, InDesign® crashes when opening one of my W2MLs.

Your W2ML contains frames whose object style refers to an existing swatch. However this W2ML was created, this of course is wrong. Of course, we cannot guess what the object style should really look like. But we can check whether the reference is really an object style. If not, the object style is ignored and an error message appears in the log:

# W2ML Import applyFrameAttributes Error: Could not find object style 228 for frame 455 with original UID 314

v4.3 R34671

23.04.2024

Purgetrigger Disabled

TW 2943071

Mass tests have shown that the InDesign® Server option -purgetrigger does not result in any recognizable memory gain. Instead, frequent execution of the purge triggers led to early server crashes. We will therefore ignore the specifications of the -purgetrigger option from now on.

We also took this opportunity to switch off the -shutdowntrigger option. Server restarts should be done by the calling application (in most cases the PubServer) not by the InDesign® Server itself.

Please note that both options are are still allowed and correct - but the settings are ignored.

Memory Leaks Fixed

We have succeeded in identifying and eliminating a whole series of memory leaks. With the usual tools for memory monitoring (Xcode Instruments, Visual Studio Memory Profiler, leaks, ...) we can no longer detect any memory consumption by the plugins.

German texts (German Reformed 2006) lead to a loss of memory during rendering. The loss is only 32 bytes - but since rendering is executed extremely often depending on the project settings a significant memory loss in the range of 1 GB / 10,000 products can occur here. This error has already been reported to and confirmed by Adobe. A solution is in the works - but will probably only affect InDesign 2024.

HTML and PDF Export Tags

TW 2950649

The priint:comet InDesign® plug-ins and comet_pdf are now supporting the HTML and PDF Export Tags (H, H1-H6, P, ...) writing W2ML files.

Please note: In the current plug-in version, the export tags are not yet applied when opening a W2ML in InDesign®.

TW 2955868 - Web Images names with long URL parameters ar not shortened by ////--kEllipsize~

My Web Image URLs have a long list of URL parameters after the file name:

abc.png?context=12345..xyz&...

I try to shorten this information with ////--kEllipsizeEnd. But unfortunately this does not work.

We mistakenly treated the URL '?' parameters as part of the file extension. But as the extension should not be removed or shortened, there was nothing left to shorten in the overall name. We now disregard the URL parameters when shortening the names. So abc.png?context=12345..xyz&... results in abc.png only now.

TW 2954941 - Panel Page Templates leads to an infinite loop

If I try to make the panel Page Templates narrower, InDesign reproducibly falls into an endless loop.

FXD

TW 2953436 - If the row index is too large, table::insert_rows causes InDesign to crash

When I call table::insert_rows with a row index >= the number of current rows, InDesign® crashes reproducibly. I know the index is 0 based etc. - but it doesn't have to crash, hm?

The row index is interpreted now as follows:

  • < 0 : First body row
  • ≤ All rows (incl. header and footer) : Last body row
  • otherwise : 0-based row index (This also includes headers and footers)
The same applies analogously to table::insert_cols.

TW 2821377 - The return value 1 in the build support script for kChecksizeAfter causes InDesign®: to crash

The return value 1 (Product too large) in the Build Support Script for kChecksizeAfter causes InDesign®: to crash

FXD

TW 2935850 - Comet Notes are always set to hidden when panel is closed

I have noticed with the latest comet revision, when I check-out a document (pubserver 4.2.0.3091.r20221221180534), and the Comet Notes panel is closed, all notes are set to hidden, regardless their visibility when I saved and checked-in the document to pubserver.

However, if I have the Comet Notes panel open when I check-out the document, all comet notes are set to visible, regardless of the visibility settings per note when I had checked-in the document.

This was a side effect of fixing a bug when importing notes from Neowise with W2ML documents and is fixed now.

TW 2896665 - Python - Incorrect results with comet.link.collect ?

Unfortunately, the Python function comet.link.collect sometimes returns incorrect results.

The bug is solved.

TW 2923532 - Closing document by Python function crashes InDesign

Using the python function CDocument.close crashes InDesign®.

This bug is solved now.

TW 2945916 - Crash of "Products of Document" with only new products (+) in the list

If the list of 'Products of Document' contains new products (marked with +) only, InDesign crashes repeatedly during reorganization.

The problem was caused by the fix of Case 2569084 and has now been resolved now.

TW 2946001 - hyperlink::find1 does not work with hyperlink names

In the hyperlink::find1 function, a prefix can be specified in the crossRefName parameter. Only hyperlinks whose names begin with this specification are then found. Apparently, however, this does not work. If I leave the entry blank, the hyperlink is found.

This error has now been fixed.

TW 2931343 - ToDo list shows unchanged image placeholders as outdated.

Although my image placeholder has the correct image file, the placeholder is shown as 'Changed' in the 'To Dos' panel:

The error occurred because the variable gSyncChanged used in the sync script has no longer been evaluated correctly since version v4.2 of the plugins. The error has been fixed.

TW 2924987 - document::pdf_export creates an incorrect PDF if the Comet notes are also to be exported

Using scope +4 or +8 will cause document::pdf_export to create all Comet Notes as PDF annotations in the generated PDF. This is great in itself - but unfortunately the resulting PDF is faulty and cannot be opened.

This problem is solved now.

TW 2924999 - Wrong placed PDF annotations in single sided PDFs

Using scope +4 or +8 will cause document::pdf_export to create all Comet Notes as PDF annotations in the generated PDF. Unfortunately, notes are lost or placed on the wrong pages when exporting to single-page PDFs. This happens with all Comet Notes from right-hand document pages.

This bug is fixed now.

TW 2925007 - Comet Notes in pasteboard are not exported to PDF by document::pdf_create

Using scope +4 or +8 will cause document::pdf_export to create all Comet Notes as PDF annotations in the generated PDF. But Comet Notes that are completely in the pasteboard are unfortunately not exported.

Comet Notes from the pasteboard are now also be created as PDF annotations by document::pdf_export. The icons are automatically placed directly to the left of the PDF pages.

TW 2924993 - Pale annotation icons after document::pdf_export incl. the Comet Notes

Using scope +4 or +8 will cause document::pdf_export to create all Comet Notes as PDF annotations in the generated PDF. Apparently, the original opacity is also applied and icons of the annotations become quite pale. Can these icons also be displayed in 100% opacity?

We can. The annotion icons are now always created with 100% opacity.

TW 2916587 - table::resize_cols has changed minimum of 3pts

The InDesign UI limits the width of table columns to 3pts. But with the cScript function table::resize_cols you could make the column width even smaller. Unfortunately, this no longer works since v4.3 R33833. We use these small columns (0.1pt) to keep table rows together in the same frame.

Yes, that's correct. We have adjusted this to the InDesign behavior as part of the fix for case #2763238 (Layout rule 'Table Break' changes column widths even in case of errors).

But the trick with the (almost) invisible columns to keep table rows together of course is cool. We don't want to get in the way and have now reduced the minimum width to 0.1 pt. But it really can't get any smaller and:

ATTENTION: Adobe can change InDesign® at any time so that our little hack no longer works. We have no influence on this.

v4.3 R34458

12.03.2024

TW 2707155
TW 2705348 - Error message in Publication Information panel

When connected to Publishing Server 4.4 / 2024/01, the Publication Information panel now shows basic document information if available:

  • previews of spreads and pages are shown, if metadata has already been generated for the selected document
  • the information text field shows a summary of notes applied to the selected document
Previews and notes are requested from the Publishing Server. This isn't supported by Publishing Server older than 4.4 / 2024/01, the Publication Information panel will just stay empty then.

TW 2869817 - Notes in W2ML documents are not imported in InDesign, when document is checked out

Notes created in Neowise or priint:planner in W2ML documents were not imported (and therefore not visible), when the document was checked out and converted in InDesign. This is fixed.

Python improvements

The following improvements have been made to the Python integration:

New functions:

TW 2908719 - frame::get_type returns 4 (spline) in case of rectangle

For rectangles (type 0), the frame::get_type function unfortunately returns the value 4 (kSpline).

This statement is not quite correct. The function correctly returns the value 0 (kRectangle) for rectangles. The result is only incorrect if the rectangle is a square.

We have therefore defined the new frame type kSquare now. And there is now also the new type kCircle for circles.

TW 2908703 - frame::get_type with parameter totalPoints set to 0

It's only a very small thing: If I call frame::get_type with parameter totalPoints set to 0, InDesign® will crash.

This is fixed now.

TW 2897961 - Next product after 'keepWithNext' is not removed always

If the product after a keepWithNext product not fits the current page, both products should be build-up on the next page. And of course both products should be removed from the first page. That works so far. Nice. But unfortunately only if the second product is already too large before loading - or, in other words, if the template of the second product is already too large for the current page. However, if the template fits on the current page and only becomes too large when loading, the product will not be deleted from the old page.

This is fixed now.

TW 2898023 - Rejected 'keepWithNext' pair starts at wrong y-position

If the product after a keepWithNext product not fits the current page, both products should be build-up on the next page. This is done correctly. But unfortunately the new pair is placed at a wrong y-position in the new 1:N element if the height of the second product was changed in a 'After Build' layout rule in the first try.

This is fixed now.

TW 2875485 - document::open doesn't open a window

If I call document::open with a document that is already open but not shown, no document window is shown at all, even if I set the visibilty parameter to 1. This case occurs, for example, when I update the Crossref Placeholders of all documents in an InDesign® book. To do this, all documents in the book are opened in a loop and the placeholders are updated in each case. However, to find the targets of the cross references, all documents in the book must also be opened (in the background). So if your loop is supposed to open the second document of the book, this document is already (invisibly) open. But since it is not made visible, no placeholders are updated from the second document onwards.

This problem is fixed now.

TW 2875485 - Document from book not saved after updating Crossref placeholders

Assume the same situation as described one line above and to work around the document::open bug you are calling an extra document::show. Unfortunately, the Crossrefs are still only updated in the first document of the book loop.

Yes, this is because the background opening of the documents of the book by hyperlink::find1 marks the documents as 'Do not save when closing'. From the perspective of hyperlink::find1 this is correct because the documents are only opened in order to search in them. hyperlink::find1 cannot 'know' that the documents are still to be changed later.

To solve the problem, you now can set parameter findInBook of hyperlink::find1 to 2. In this case the automatically opened document are now marked as 'save before close'.

TW 2893185 - frame::set_corner does not set plain (rectangle) corners and radius 0.0

With frame::set_corner I can set all corner types supported by InDesign. But unfortunately the rectangle corner (plain) and the radius 0.0 do not work.

This is fixed.

TW 2890362 - TaggedText Shortcut does not work

The documentation says that I can set a small selection of text formatting without using TaggedText: This is actually quite pretty and essentially works. Only the text color with the help of a defined swatch color does not seem to work.

This is fixed now. Don't forget to enclose the swatch names by single quotas in this case :-)

frame::replace (fr, "abc<cColor:'blau', 50.0>def<cColor:>ghi");
TW 2876825 - Automatic saving of book documents

I update all cross-reference placeholders of all documents of a book in a loop. If I do not close the documents in this loop after opening and updating them, InDesign crashes at the end of the loop.

To update the cross-references all documents of the book are opened automatically in the background. It is assumed that theses documents are only used for reading and are not changed - in this case we can close the documents immediately (and don't have to wait for the next idle time, as InDesign normally does). Changed documents cannot be closed in this way - this leads to a crash. Unfortunately, there is nothing we can do about this problem.

However, we have extended the hyperlink::find and hyperlink::find1 functions so that documents opened there can be saved automatically when they are closed. To do this, enter the value 2 (instead of 1) in the findInBook parameter.

TW 2876726 - document::select_by_name not working for German äöüß

Unfortunately, the function document::select_by_name does not work if the document path contains German umlauts (äöüß). The error only occurs on the Mac.

The problem was that in this case the 'umlauts' were given by InDesign as so-called combining characters. For example, instead of ü (UTF8 : C3 BC) we got u ̈ (u + COMBINING DIAERESIS (UTF8 : 75 CC 88). The fact that this spelling still exists is quite astonishing.

The problem is solved now.

TW 2888980 - Transfer IDTypeList from C script to Python

The run_python function can be given variables of the current script. This is super helpful. Thank you! Unfortunately, the transfer does not work for variables of type IDTypeList.

This is fixed.

TW 2883277 - file::download_webimages - Error with URLs with Basic-Auth

Unfortunately, the file::download_webimages function does not work for URLs that contain a user name with password.

This is fixed.

Please note: For technical reasons, images loaded with file::download_webimages must be loaded with the kNoHash option. Otherwise the images will be loaded again when used as Web Images.

TW 2877640 - InDesign Crashes when selecting elements in the Page Element Panel.

In the following situation, InDesign crashes reproducibly:

  1. Select a Page Element in panel Page Elements
  2. Change the elements name
  3. Without leaving the name field select a new element in the elements list (but not by selecting the element directly in the document).

This is fixed.

TW 2876842 - Duplicate entries in Python documantation

I have just noticed that in the Python documentation all method entries are displayed twice in the sidebar.

The documentary now looks right again.

TW 2875484 - Python - place PDF with transparent background

When placing PDF-files that have a white background using the Python-method CFrame.setImage, it seems like the white background can’t be changed to be transparent. In the rendered PDF-file the placed PDF has a background.

For CScript there is a parameter in the method frame::place_pdf_with_crop with the parameter transparentBkg the background can be changed to be transparent instead of white.

Is there a way to do this native in Python?

That was easy to solve - the option already exists, but is not yet documented. With the function CFrame.setImage there is already a keyword kTransparentBackground to set this, here is an example:

comet.gFrame.setImage (
 	'$DESKTOP/Unbenannt-1.pdf',
 	options = { 'kTransparentBackground' : True })

v4.3 R34266

06.02.2024

Arabic Documents Previews

TW 2819442

Documents with a right-to-left binding (e.g. Arabic or Hebrew) are not shown correctly in the Planner. In the spread previews, the right document page is shown on the left and the right-hand side of the previews remains empty.

The reason for the incorrect previews is that the snapshots that we are taking from the spreads always start at the first page of each spread. But if the pages are arranged from right to left, the top left corner of the spread must be the top left corner of the last page of the spread.

We have fixed that problem. But please note: In 'normal' InDesigns®, the UI elements for setting the page binding are hidden and a so-called ME version is required to set or change the page binding. On the other hand, every 'normal' InDesign® version is able process the settings of a ME version.

We have tested the basic functions of the priint:comet plugins in a right-to-left document (product build-ups, updating placeholders, drag and drop, Products of Document, ...). It all seems to work. However, we cannot guarantee that everything in these documents will work correctly and as expected. We expressly reserve the right to regard these not as bugs but as (possible chargeable) feature requests. We hope you understand that.

Change Page Binding

TW 2822573

As described above, the page binding can only be set or changed from left to right to right to left in special ME versions of InDesign®. Here is how you can still change the page binding in normal InDesign® versions too:

  • Parameter pageBinding of function document::create
  • Javascript : app.documents[0].documentPreferences.pageBinding = PageBindingOptions.RIGHT_TO_LEFT;

In addition to that, we have added the new menus:

  • Font -> Page Binding -> Left - Right
  • Font -> Page Binding -> Right - Left

Python improvements

The following improvements have been made to the Python integration:

CScript improvements
  • run_python parameter flags can now be used to disable logging about the script run (execution time, script ID etc...)
TW 2870041 - Wrong placeholders after exporting and re-importing TaggedText

I'm using frame::gettext and frame::replace to transfer the content of a text frame to another frame. Unfortunately, this destroys some of my placeholders.

frame::gettext (gFrame, str, 0, -1, 3);
frame::replace (fr, str, 0, -1, 0);

The problem is caused by a 12 (!) years old fix when importing incorrect %!TT text. We have improved this correction so that it can also solve these new situations.

TW 2869245 - Comet Tool-tips: Can they be both Mac and PC inclusive?

Our designers are Mac users, and we are wondering if it's possible to update the tool-tips to include Mac keys. For example where it says "ALT", can it read "ALT/OPTION"?

We have changed this to "OPTION" on the Mac.

TW 2868440 - Select document by display name

With document::select_by_name I can bring documents to front. I can specify the path or the name of the document. Is this also possible via the window title (Display Name)?

We have extended the function so that a single name without a path separator can also be the window title.

TW 2866816 and TW 2869716 - Change gDocument in case of changed front document

I change the front document using document::select_by_name in my script. But gDocument continues to point to the old front document.

Yes, that corresponds to the documentation of gDocument. In older plugin versions, gFrontDocument was automatically adapted to a changed front document. Unfortunately, this form of pseudo-function is no longer possible in the cross-environment of cScript and Python.

To work around this problem, we have extended item::define so that you can also change gDocument according to the new front document. You will find an example in item::define.

TW 2858490 - Loading Web Images is very slow the first time

Checking or updating 30 Web Images of a document takes an extremely long time (90 seconds) the first time after restarting InDesign®. Repeating the action only takes 1.5 seconds - even if I delete all downloads first. If I then re-tart InDesign® again, it takes 90 seconds again the first time.

The problem occurs only on Windows and it took us a long time to find the reason. Apparently CURL needs a very long time for the first handshake to the host in InDesign on Windows. And the behavior only occurs in InDesign® (and Illustrator®) but not in comet_pdf.

The problem seems to have been known for some time. Here is a link to an (unresolved) discussion from 2013 (!):

HTTPS CURL get slow when calling at first time

We conclude that this is a handshake problem with http connections. Once a host connection has been established, it is cached and can then be used again faster. Whatever the reason for the long handshakes in InDesign is - we've implemented a workaround for this behavior. 

TW 2855646 - Crash when updating Web Images

Using InDesign® with Plugins 4.3 R ≥ 33632 I get a crash when updating Web Images which have already been downloaded once.

FXD

TW 2865075 - Downloading more than 100 images failed

And another very ugly problem with the Web Images: Downloading more than 100 Web Images at the same time failed on Windows.

Aargh - the problem was caused by the OpenSSL version used and could be fixed (with great effort).

TW 2857000 - file::download_webimages ignores the settings of the Web Image proxy

The function file::download_webimages seems to ignore the settings of the Web Images proxy. The proxy I have defined using prefs::webimage_set_proxy resp. manually by using prefs::webimage_proxy_dialog.

If the proxy is activated, it is applied now in file::download_webimages too.

TW 2857144 - Parameter updateFlags missing in frame::link_url

After downloading a lot of Web Images using file::download_webimages, I can set the parameter updateFlags of frame::image to 16 to suppress an additional file checking. Is this parameter also available for frame::link_url?

frame::link_url now also have a parameter updateFlags.

TW 2855711 - Python script does not load all placeholders

I have a Python script which is supposed to re-link all placeholders of a document to a different string id:

 comet.placeholder.link(
	frame, 
	id, 
	autoLoad = True, 
	applyLayoutRules = True)

The ids of the placeholders are changed as expected, but when I pass the paramter autoLoad=True only some of the frames are updated with the new contents, and, for text frames, only some of the placeholders in the frame are updated.

  • Text placeholders are only updated when they are at the beginning of the text frame (startPos = 0)
  • Text placeholders are NOT updated if there is some untagged text beforehand.
  • Only the first text placeholder of a frame is updated (if at all, see above)
  • Image frames are not updated at all.

The reason your text placeholders were not loaded was because the default of the parameter length was 0. Using -1 for the length parameter should properly load all text placeholders aswell. Image placeholders not loading was indeed a bug.

I improved comet.placeholder.link in the following ways:

  • Parameter length now has a default value of -1
  • Image placeholders should now be properly loaded when parameter autoLoad is True
  • The parameter ID now also accepts type tuple[int, int, int, str] for convenience

TW 2852147 - set_script_clipboard cannot pass values of type KeyValues

Clipboard variables stored in cScript with the type KeyValues generate an error when retrieved in Python.

Store a key-values list in cScript

KeyValues 	kvs = keyvalues::alloc();
int 		errid = 0;

keyvalues::put (kvs, itoa(error_id), serror(errid));
set_script_clipboard ("my_kvs", kvs, "KeyValues");

Fetching the stored list in Python leads to an error

your_kvs = comet.getScriptClipboard ("my_kvs")

This is fixed.

TW 2857173 - Error on CPage.getPageItems

When executing the CPage.getPageItems function, I noticed that the function seems to cause an error:

ERROR
 An exception occured:

Type: <class 'SystemError'>
Information: <method 'getPageItems' of 'CPage' objects> 
   returned NULL without setting an error
				

FXD

TW 2856980 - Wrong log messages while executing file::download_webimages

When executing file::download_webimages, incorrect log outputs are generated:

  • In a test with 29 (different) URLs, there were 29 different paths in the resulting IDTypeList. I was also able to find 29 different files there.
  • However, not all 29 different URLs are listed in the logs; some are repeated and others are not mentioned at all. Are the files mentioned several times actually downloaded or is this perhaps more a behavior when writing the log lines?
  • I also noticed lines in the logs with a special character and a truncated URL at the beginning of the line. Do these lines mean something specific? In one file, the end of the file name was chopped off. If I remove / correct the corresponding lines, I get the correct number of files again. So it only seems to affect the logs.

These problems arise because 'many' processes (here 29) are writing into one log file more or less at the same time. We removed the logs for this function.

TW 2852851 - Web Images with nameflag "kOnlyHash" getting incorrect file names

Web Images with nameflag kOnlyHash getting incorrect file names

This is fixed.

TW 2569839 - Magnets sometimes disappearing on page reorg

When I run a reorganization, products that need a template change lose their magnets if the Layout Rules of the new template also do some 'Move to Layer's.

This is fixed.

TW 2850654 - Special Case 'Move to Layer' does not work

In the Special Cases of the panel 'Products of Document', there is the 'Move to Layer' action. Unfortunately, nothing is executed when you click on the 'flag' button.

The button works again now.

TW 2835535 - gStart + gLen not set in placeholder sync scripts of Python

Using the Python integration, the global vars comet.gStart and comet.gLen are not set when in the sync context of a placeholder (i.e. comet.kContextPlaceHolderSync). Both values are always set to their defaults of -1.

This is fixed now.

TW 2847847 - Python: link.collect finds links multiple times

The Python function comet.link.collect seems to find the same links multiple times, depending on how many pages are in the document.

Fixed

TW 2846742 - %*TT rule tags not working for some letters

Some of the rule tags defined for TT texts are not working. For example, when specifying %MTT... the text is inserted unchanged.

The problem occurs when reading from the tags (placeholders) is switched off by the user. It's solved now.

TW 2845710 - Checking table dimensions in TaggedText failed

For some time now, the dimensions of tables in the TaggedText to be imported can be checked (e.g. with %UTT). Unfortunately, this check classifies all tables as incorrect.

This is fixed now.

TW 2844709 - page::get_size does not work properly

With marginRel set to 1, the function page::get_size does not work properly.

This is fixed now.

TW 2839626 - frame::color_rgb and frame::stroke_rgb always changing the colors

The documentation says that frame::color_rgb and frame::stroke_rgb both leave the color unchanged with the color definition -1, -1, -1. However, black is set instead. The same also applies to CMYK functions.

This problems are solved now.

TW 2836199 - frame::get_overprint returns incorrect results with the kOverprintBasic

If I use the function frame::get_overprint with what = kOverprintBasic, I always get 0 as the result for the overprint.

kOverprintBasic can be used in the frame::set_overprint function to set all three overprints (Stroke, Fill, Gap) in one call. Of course, it makes little sense to ask for three properties at the same time in the getter. We have now described this a little more clearly in the documentation and with the value kOverprintBasic, the function now returns the result -1.

TW 2836193 - frame::get_blending returns the wrong value for isolation

The value for isolation of the function frame::get_blending seems to be wrong and always returning the knockout value.

This problem is solved now.

TW 2819944 - HTMLToTagged does not support color names

The functions for converting HTML to TaggedText (%!TT_html_, html::to_tagged) accept CSS color definitions in the forms

  • <span style="color:#FF0000"> and
  • <span style="color:gb(255,0,0)">.
That's great. Would it also be possible to specify the names of color fields here too, e.g.
  • <span style="color:MyColor"> or
  • <span style="color:'Meine Farbe'">?
That would be great!

Colors can now also be defined via the color name defined in the target document.

TW 2823916 - Doc path and layer of product build-up into log file

It would be helpful if the log file also contained the document path and the layer of a product build-up.

This is now being done.

TW 2818709 - frame::repoint calculates incorrect page values

When I use the frame::refpoint function, I get the same results for page-relative and spread-relative results.

The problem has been fixed now.

TW 2815611 - File extension in document::saves

If I'm using document::saveas in comet_pdf, my w2ml is stored with the extension indd too. I know, can set the extension inside my script - but since InDrsign always uses indd and comet_pdf always uses w2ml - may be ist a good idea to do that in the document::saveas itself?

Okay, okay, we have done. You don't need to set an extension anymore. Take care: If you set an extension now, we will replace it!

TW 2815591 - document::create cannot set the start page number

Is there a way to specify the page number of the first page in document::create?

We have added the new parameter startPageNum to the function.

ATTENTION: We have taken this situation to revise the entire parameter list of the function. The parameters, their effects and descriptions should now be clearer.

TW 2811167 - productlist::get does not dive into sub-products

The function productlist::get seems not to dive into sub-products, as it should be done for example in the following statement:

watched 
{   row2='Publication' 
  ? row2='chapter' or row2='Produkt' 
} 
row2='Publication' or row2='chapter' or row2='Produkt'

The error is contained in all releases greater than R33300 and has now been fixed.

TW 2812838 - Flickering Prompt window when creating the PDF proof

In the panel Comet Admin -> Comet, there is a button at the bottom. It works pretty nice, really. But using Windows, the Windows Prompt window is displayed briefly each time. That's not bad - but is there any way to get rid of it?

Yes, we can. The 'problem' is solved now.

TW 2812834 - comet_pdf Proof in Comet panel does not work

In the panel Comet Admin -> Comet, there is a button at the bottom left that can be used to create a PDF from the current document using comet_pdf. This button works nice - but not with comet_pdf based on PDFlib 10.0.0 on the Mac.

This 'problem' is solved now. As a workaround you can use any other version of comet_pdf on the Mac except the 10.0.0 based one.

v4.3 R34034

11.12.2023

Web Images kOnlyHash

TW 2779778

In the //// part at the end of the Web Images download URL you have various options to configure the path and name for the local download file. See here for more information. For shorter but still unique names we added the new option kOnlyHash now.

Parallel Image Downloads

TW 2789367

Suppose I know which Web Images a product build-up will require. Would it be possible to load these images before the build?

The new file::download_webimages function is now available for this purpose. The function loads the images in parallel and is therefore up to 50 times faster than sequential downloads.

Set Page Size

TW 2788459

The new page::set_size function can be used to change page sizes in both InDesign® and comet_pdf.

Bitte lesen Sie vor Verwendung unbedingt die Hinweise zur Funktion!

TW 2789347 - Import Web Images without Checking file

frame::image automatically creates a Web Imags if the given image path is an URL. If the local download file for the URL does not yet exist, it is downloaded automatically. If the file already exists, the system checks whether it is still up-to-date before inserting it into the document.

Can this check be switched off? This would be useful, for example, for multiple used logos.

The function frame::image has been given the new parameter updateFlags for this purpose. The value 16 prevents the check.

TW 2809024 - CColor.getModel() returns wrong color space

I'm creating a color using the Python function comet.color.createCMYK. If I then use comet.kColorModels[color.getModel()] to get the color space of the new created color, I get the answer kColorModelLAB.

This is fixed.

TW 2809024 - Error while creating a Lab color using comet.color.createLAB

I'm using comet.color.createLAB to create a Lab color. But I'm always get an excection.

This is fixed.

TW 2804966 - frame::create does not create a line

I'm using frame::create with type kLine to create a line in the document. But I always get a frame.

Yes that's right. As the docu says, if you give us a column number > 0 we will create a rectangular frame. But anyway, we have now changed the behavior: If you give us a kLine, we now ignore the column number - and create a line.

TW 2808860 - fit frame does not work on master pages

The layout rule 'Fit Frame' does not work on master pages. The same applies to the frame::fit_better function.

It's because the frames on masterpages does not have a page. But we need the page in some edge cases, when the frame falls to another page of the spread due to the fitframe-action.

Okay, but it is no problem to ignore these edge cases in master pages. In the this release, fit frame will also work on masterpages.

TW 2792638 - Panelstatement of Product Pool is executes as cScript

I am trying to load sub-products of the Product Pool with an SQL statement of the following type:

(select ...)
union
(select ...)

In doing so, I get the error "Error while executing script".

The error occurs due to the (relatively) new option of loading sub-products by scripts. To do this, we need to check whether a statement is SQL or a script. We had overlooked the fact that SQL can also begin with '('. The problem has been fixed.

TW 2786699 - What does 'Placement Information' in the help text of products mean?

The help texts for the products of panel Product Pool contain so-called 'Placement Information'. What is the purpose of this information?

This information is still from the (old) grid based product build-up and no longer has any meaning. The information has been removed.

TW 2786729 - Page Template menu 'Replace Elements by Grid...' removes all page frames

Even if I cancel the 'Replace Elements by Grid...' dialog of panel 'Page Templates', all existing frames of the document are removed. The page template is then empty.

The problem is solved now.

Workaround : Do a simple "Undo" :-)

TW 2786707 - TWO warnings before deleting a page template

When I want to delete a page template, I get two almost identical warnings. And although I held down the Alt key, nothing is deleted afterwards.

Yes, the Alt key must still be pressed when confirming the first warning. This is in fact not necessary. The first warning has therefore been removed and the Alt key is requested before the dialog appears.

TW 2783323 - CFrame.hasOverset not working

The function Python CFrame.hasOverset always returns False even if the given frame has no overset at all.

FXD

TW 2783153 - Missing closing <in:> tags lead to an endless loop

Missing closing <in:> resp. <w2inline:> tags in TaggedText lead to an infinite loop of InDesign.

Before importing TaggedText (e.g. %!TT), 'newer' plugins automatically replace all <in:> tags by (text-position safe) <w2inline:>'s automatically. At this transformation, we are looking for the closing <in:> - and all text between the two tags are taken as the (text) content of the w2inline. Okay, you can see where the rabbit is going ... :-)

The fixed plugins will check this situation and generate the following output in case of missing <in:>'s:

v4.3 R33833

13.11.2023

ATTENTION - END OF LIFE plug-ins for InDesign® 2020 and 2021

This is the last REGULAR release of the priint:comet ID plug-ins for InDesign 2020 and InDesign 2021. Bug support for InDesign 2020 and InDesign 2021 will be discontinued at the end of April 2024.

Publication Search

As announced in the previous release, search fields are now supported for custom publication search methods, the 'prototype' checkbox has therefore been removed.
Labels, input types and default values are defined in findstatements and thus can be used with any data connection.
A detailed description, how to implement find statements for the Product and Publication panel, define and evaulate search fields in the PublishingServer environment can be found here.

Implementation of find statements for the Product and Publication panel work exactly the same way. Basically, for each find statement
  • up to 4 field labels and default values can be defined
  • undefined fields (or marked with label '-' or 'Unused') are hidden
  • if the default value contains several lines, a combo drop down will be shown instead of the text input field
  • new: if the default value contains exactly two lines with one evaluating to boolean false and the other to true, a checkbox is shown instead of a drop down ('0', 'false' and 'no' - case insensitive - are accepted for false, '1', 'true' and 'yes' for true)
  • if no search fields are defined / visible, the search panel is hidden and the list box area exceeded
TW 2775665 - Dialog for creating Placeholder Variants

The Placeholder Variants are a nice, but unfortunately completely unknown tool. However, we have slightly improved the dialog for creating a variant: Instead of the name option @*, there is the checkbox 'Global for Everone' now.

TW 2775662 - Description of placeholder variants is not shown anywhere

When creating a Placeholder Variant, you can enter a description for the variant. Where is this text used?

The description is now shown as help text for the variant in the Placeholder panel.

v4.3 R33655

23.10.2023

Publication Search

Publications can now also be searched server-side. To do this, activate the checkbox to the right of the search method. You can then specify up to four //-separated search parameters in the edit field of the search.

The search parameters are evaluated on the server side. So to get the correct search results, the search must also be extended on the server side.

This is a pilot project of server-side publication search. If this search proves successful, the search fields will be implemented as configurable and separate input fields.

See History of v4.2

v4.3 R33466

13.09.2023

See History of v4.2

v4.3 R33300

21.07.2023

New cScript function server::load_elements

New cScript function "server::load_elements executes the standard build script of a multiframe placeholder in a PublishingServer environment.

v4.3 R33179

04.07.2023

Initial Version of v4.3

This is the first official release of priint:comet ID plug-ins v.4.3.