WoodWing Help Center

Setting up InDesign Server Automation in Enterprise Server 9

Setting up InDesign Server Automation in Enterprise Server 9

Info: This feature requires Enterprise Server version 9.7.0 or higher.

Content for a publication is generated by various team members using different applications: InDesign, Content Station and InCopy.

When users work on a file that is placed on a layout such as an article or an image, they can view a preview of the layout on which that file is placed to verify the end result.

However, generating a new preview of the layout that shows the changes that the user made is an action that is performed by InDesign and involves opening the layout and saving it back to Enterprise. Especially for users of InCopy and Content Station this is not very practical: it would be time consuming, require InDesign skills and additional InDesign licenses.

Additional tasks that are performed by InDesign such as generating thumbnails, PDFs or DPS articles (typically done when a file is saved) can also be very time consuming.

Handing off the process to InDesign Server

When a large InDesign Server farm with plenty capacity is available, the tasks of generating previews, thumbnails, PDFs or DPS articles can best be handled by the InDesign Server instances of that farm. This way, all users have an updated layout preview available shortly after the edited file is saved and waiting times for tasks such as checking-in a layout in InDesign is much reduced.

When to offload?

You would not offload tasks to InDesign Server when:

  • Insufficient capacity exists on an InDesign Server farm or no InDesign Server farm is installed at all
  • InDesign client runs on a fast machine and is connected to a fast LAN

You would offload tasks to InDesign Server when:

Tip: Use InDesign Server Jobs prioritization to set up dedicated InDesign Server pools for processing specific tasks:

  • One dedicated pool of instances could work on generating previews for Content Station while another pool could work on InDesign Server Automation jobs only.
  • Set up one global pool of InDesign Server instances that picks up Content Station preview operations as well as InDesign Server Automation jobs, whereby Content Station preview operations are given a higher priority.

How it works

The process is as follows:

  • The machine running idsindex.php is continuously watching the InDesign Server Job queue.
  • It will try to match jobs with InDesign Server instances. A match will be made when the job is still TODO and when an InDesign Server instance is available that matches the min/max versions specified for the job.
  • When a match could be made, the InDesign Server Dispatcher will start the InDesign Server Job Processor. The processor runs on another PHP process and is started by the dispatcher with the help of cURL.
  • Like the dispatcher, the processor runs within the idsindex.php module. It receives the InDesign Server instance and the job to process through its URL. In other words: you only have to configure the dispatcher which will start the processors for you.
  • The processor will run the InDesign Server job and wait for InDesign Server to complete. Once completed it will update the job with a new status, script logging and/or error information.
  • When a layout file is opened for editing by an end user at the time the job is started while the job wants to update the layout, it will fail and put the job into a 'Locked' status.
  • When the layout is checked-in again, the job status will be set to 'Replanned' again.
  • When there is no InDesign Server instance found for a job, the status will also be set to 'Unavailable'.
  • When the scheduler is at end of life time (after 1 minute) it will check which of the jobs with status 'Unavailable' can be set back into the 'Replanned' status.
  • When jobs fail for other reasons they may be retried up to 3 times. When all have failed, the Error status will change to 'Fatal' to indicate that the job will not be executed anymore.
  • When successful, the job status will be set to 'Completed'.

Installation and configuration

To make use of the InDesign Server Automation feature, perform the following steps.

Note: Users of previous versions of Enterprise Server might recognize that the core functionality of this feature is taken from the SGLPlus Server plug-in. In Enterprise Server 9.7, this plug-in is no longer supported because it has been replaced by the InDesign Server Automation feature.

  1. Enable the Enterprise Server plug-in
  2. Install and configure InDesign Servers
  3. Install a Scheduler
  4. Configure the Scheduler for the InDesign Server Job Dispatcher
  5. Configure preview and output generation
  6. Configure when the InDesign Server Automation should not be triggered

Step 1. Enabling the Enterprise Server plug-in

The feature is provided by an Enterprise Server plug-in named InDesign Server Automation which is shipped with Enterprise. Enable this plug-in on the Server Plug-in page in Enterprise Server by clicking its icon.

The IDS Server plug-in

Step 2. Installing and configuring InDesign Servers

Make sure that InDesign Servers are installed and configured in Enterprise Server. See Configuring the Enterprise Server instance for InDesign Server to log in to.

Step 3. Installing a Scheduler

Step 1. Make sure that cURL is installed.

Step 2. Use a scheduler of your choice.

Note: Alternatively, you can skip the CronniX installation and use Crontab directly, but then please follow the configuration instructions written for Linux.

  • Task Scheduler for Windows. Task Scheduler is pre-installed for Windows. No further action is therefore needed.
  • Crontab for Linux. Crontab is pre-installed for Linux. Therefore, there is no further action needed.

Step 4. Configuring the Scheduler for the InDesign Server Job Dispatcher

Some notes on the URL:

  • Important: The double quotes ("...") around the URL are required to pass the whole URL to the curl command line tool.
  • You can trigger remote servers too, but you might lose overview. Even worse, when the local server is down, the remote server will not be triggered anymore. A more robust and granular solution is to configure localhost (127.0.0.1) only to run on the local machine itself.

Tip: To reduce the overhead that is created by each request, the Dispatcher could be instantiated less frequently.

For example, you may want to increase the execution time to 5 minutes and also make a periodic call every 5 minutes. This results in less frequent calls while still having full coverage.

Note however that when in this scenario the Dispatcher crashes or when the InDesign Server machine goes down, it may take up to 5 minutes before another Dispatcher takes over.

Step 5. Configuring preview and output generation

The generation of preview files and output files can be configured on the following levels:

  • Per client type: InDesign or InDesign Server
  • For local or remote clients

Preview and output generation is triggered when:

  • An article, image or spreadsheet that is placed on a layout is saved to Enterprise.
  • A layout is saved to Enterprise in a status for which the Output option is enabled while the configured processing tasks differ between InDesign client and InDesign Server (see the CLIENTFEATURES option below).
  • The status for a layout is changed (for example through Set Properties) into a status for which the Output option is enabled.

Setting up this environment involves various configuration steps in Enterprise Server.

Step 1. Open the configserver.php file for your Enterprise Server installation.

Step 2. In the Remote users section, define which client users should be treated as remote users or local users.

Step 3. In the CLIENTFEATURES section, define which processing tasks need to be performed by InDesign and which by InDesign Server.

define ('CLIENTFEATURES', serialize(array(
	'InDesign' => array(
		'local' => array(
			new Feature( 'CreatePagePreview' ), 
		),
		'remote' => array(
		),
	),
	'InDesign Server' => array(
		'default' => array(
			new Feature( 'CreatePagePreview' ),
		),
		'IDS_AUTOMATION' => array(
			new Feature( 'CreatePagePreview' ),
			new Feature( 'CreatePagePDFOnProduce', '[Press Quality]' ),
		),
	),
)));

The example above will give the following system behavior:

  • When a local InDesign client saves a layout, page previews will be directly available.
  • When a local InDesign client saves a layout in an Output status, the page PDFs will not be available. Instead, this will be taken care of by InDesign Server Automation by — as soon as the layout is no longer opened for editing — opening the layout and saving it back again but now providing generated page previews and page PDFs.
  • When a InDesign client from a remote location saves a layout, no page previews or page PDFs will be available. Again, this is handled by the InDesign Server Automation.

Note: When the exact same configuration is made under 'local', 'remote' and 'IDS_AUTOMATION', layout save operations will never trigger InDesign Server Automation. However, changing placed content in Content Station or InCopy will still trigger it.

Use any of the following features:

Step 6. Configuring when the InDesign Server Automation should not be triggered

Info: This feature requires Enterprise Server 9.8.2 or higher.

Preview and output generation is triggered when a file is set to a particular Workflow status and when the Output option for this status is set.

However, systems such as MadeToPrint, Journal Designer, Claro, and Smart Mover that integrate with Enterprise Server also use Workflow statuses and can set files to a different status as part of their process. When the Workflow status of a file is changed when being processed by any of these systems, triggering an InDesign Server Automation job is not desired.

Layouts and Layout Modules can therefore be prevented from being processed by the InDesign Server Automation feature when they reach such a Workflow Status. This is done by setting the 'Skip InDesign Server Automation' option for that Workflow Status.

Note: This option is only available for layouts and Layout Modules and only appears when the Enterprise Server plug-in named 'InDesign Server Automation' is enabled.

The Skip InDesign Server Automation option

Figure: The 'Skip InDesign Server Automation' option for Workflow statuses.

Setting the Workflow status is done on the Workflow Maintenance page.

Starting InDesign Server

When starting InDesign Server, make sure to include the 'previews' argument so that previews are generated when images are placed.

Examples:

  • For Mac OS X:./InDesignServer -port 18385 -previews
  • For Windows: InDesignServer.com -port 18385 -previews

Note: When leaving out this argument, placed images may appear as gray boxes.

Was this article helpful?
0 out of 0 found this helpful / Created: / Updated:
Have more questions? Submit a request

0 Comments

Please sign in to leave a comment.