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:
- InDesign client runs on a slow machine or runs on a remote location
- Layouts are very frequently saved or article or layouts are always automatically saved to Enterprise instead of saving them locally
- Layouts have many pages (such as books) and/or vary for many Editions
- PDF (or EPS) files must be provided for layout versions (for all Workflow Statuses)
Tip: Use InDesign Server Jobs prioritization to set up dedicated InDesign Server pools for processing specific tasks:
|
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.
- Enable the Enterprise Server plug-in
- Install and configure InDesign Servers
- Install a Scheduler
- Configure the Scheduler for the InDesign Server Job Dispatcher
- Configure preview and output generation
- 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.
In Enterprise Server, click Server Plug-ins in the Maintenance menu or on the Home page.
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.
Mac OS X / Linux
cURL is pre-installed on these platforms; no further action is needed.
Windows
Step 1. Download the 32-bit or 64-bit binary package from http://curl.haxx.se.
Step 2. Extract the package into any folder, for example c:\curl.
Step 3. Test if cURL works by starting the Command Prompt and typing the following command:
c:\Curl\curl.exe --version
The installed URL version information should be displayed.
Step 2. Use a scheduler of your choice.
- CronniX for Mac OS X. CronniX is a GUI for Crontab and makes its configuration a little easier. Crontab is pre-installed on Mac OS X. CronniX can be downloaded from http://www.macupdate.com/app/mac/7486/cronnix.
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
Step 1. Start the CronniX application.
Step 2. Choose File > Next Task.
Step 3. Access the Simple tab.
Step 4. Select the check boxes for Minute, Hour, Day of month, Month, and Day of week.
Step 5. In the Command box, type the following (make sure to add the URL in double quotes and adjust the server URL):
curl "<server url>/idsjobindex.php?maxexectime=60"
Step 6. Click New.
Step 7. Choose File > Save.
Step 8. (Optional) In the Terminal, type the following command to see that (under the hood) the configuration is actually saved for Crontab:
crontab -e
Step 1. Edit the Crontab configuration by typing the following command:
crontab -e
Step 2. Press the [i] key to enter ‘insert’ mode and add one line below the header as follows:
Notes:
|
# min hour mday month wday command
* * * * * curl "http://127.0.0.1/Enterprise/idsjobindex.php?maxexectime=60"
Step 3. Press Shift+Z twice to exit and save changes.
The saved changes are directly effective in Crontab.
Step 1. Go to Control Panel > Administrative Tools.
Step 2. Start the Task Scheduler.
Step 3. From the Action menu, choose Create Task.
Step 4. Access the General tab.
Step 5. In the Name box, type Enterprise - InDesign Server Job.
Step 6. Select the option Run whether user is logged on or not.
Step 7. Access the Triggers tab.
Step 8. Create a new trigger with the following settings:
- Begin the task: On a schedule.
- Settings: Daily, set start date & time, Recur every 1 days.
- Advanced settings:
- Repeat task every 1 minute, for a duration of 1 day, Enabled.
- Clear the option Stop all running tasks at end of repetition duration.
Step 9. Click OK.
Step 10. Access the Actions tab.
Step 11. Create a new action.
Step 12. In the Program/script box, type:
"c:\Curl\curl.exe"
Step 13. In the Add argument box, type the following (make sure to add the URL in double quotes):
"http://127.0.0.1/Enterprise/idsjobindex.php?maxexectime=60"
Step 15. Access the Settings tab and do the following:
- Clear the option If the running task does not end when requested, force it to stop
- Set the option If the task is already running, then the following rule applies: to Run a new instance in parallel
Some notes on the URL:
|
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.
<Enterprise Server path>/config
Step 2. In the Remote users section, define which client users should be treated as remote users or local users.
Step 2a. Define the IP addresses of the users who should be treated as a remote user under the INCLUDE option (for details about defining these addresses see below):
define( 'REMOTE_LOCATIONS_INCLUDE', serialize( array(
)));
Step 2b. Define the IP addresses of the users who should be treated as a local user under the EXCLUDE option (for details about defining these addresses see below):
define( 'REMOTE_LOCATIONS_EXCLUDE', serialize( array(
)));
Defining IP addresses
Use any of the following notations:
IP range | Matches with |
---|---|
'192.0.0.1' | '192.0.0.1' only |
'192.0.0.*' | ['192.0.0.0'...'192.0.0.255'] |
'192.0.*.*' | ['192.0.0.0'...'192.0.255.255'] |
'192.0.0.0/16' | ['192.0.0.0'...'192.0.255.255'] |
'192.0.0.0/24' | ['192.0.0.0'...'192.0.0.255'] |
'192.0.0.0/255.255.0.0' | ['192.0.0.0'...'192.0.255.255'] |
'192.0.0.0/255.255.255.0' | ['192.0.0.0'...'192.0.0.255'] |
'192.0.0.0-192.0.0.255' | ['192.0.0.0'...'192.0.0.255'] |
'192.0.0.0-192.0.255.255' | ['192.0.0.0'...'192.0.255.255'] |
'2001:db8::1' | '2001:db8:0:0:0:0:0:1' only |
'2001:db8::/32' | ['2001:db8:0:0:0:0:0:0'...'2001:db8:ffff:ffff:ffff:ffff:ffff:ffff'] |
'2001:db8::/64' | ['2001:db8:0:0:0:0:0:0'...'2001:db8:0:0:ffff:ffff:ffff:ffff'] |
'2001:db8::-2001:db9::' | ['2001:db8:0:0:0:0:0:0'...'2001:db9:0:0:0:0:0:0'] |
'2001:db8::-2001:db8::ff' | ['2001:db8:0:0:0:0:0:0'...'2001:db8:0:0:0:0:0:ff'] |
Examples:
|
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:
new Feature( 'CreatePageEPS' ),
Creates an EPS file for each page of the layout when the layout is saved to the File Store. When a page varies per Edition, an EPS file is generated for each Edition.
All EPS files are uploaded along with the document.
Note: It cannot be used when the CreatePagePDF option is also enabled.
new Feature( 'CreatePageEPSOnProduce' ),
Creates an EPS file for each page of the layout when the layout is saved by Smart Connection for InDesign to a Workflow Status for which the Output option is enabled. See Creating Workflow Statuses in Enterprise Server 9.
When a page varies per Edition, an EPS file is generated for each Edition.
All EPS files are uploaded along with the document.
Notes:
|
new Feature( 'CreatePagePDF' ),
Creates a PDF for each page of the layout when the layout is saved to the File Store by Smart Connection for InDesign.
When a page varies per Edition, a PDF is generated for each Edition.
All PDFs are uploaded along with the document.
Note: Cannot be used when CreatePageEPS is also enabled.
new Feature( 'CreatePagePDFOnProduce', '[Press Quality]' ),
Creates a PDF for each page of the layout when the layout is saved by Smart Connection for InDesign to a Workflow Status for which the Output option is enabled. See Creating Workflow Statuses in Enterprise Server 9.
When a page varies per Edition, a PDF file is generated for each Edition.
All PDFs are uploaded along with the document.
A value should be specified for this option which should match one of the Adobe PDF Presets, such as '[High Quality Print]'. The default value is '[Press Quality]'.
new Feature( 'CreatePagePreview' ),
Creates a page preview in JPEG format for each page of the layout when the layout is saved to the File Store by Smart Connection for InDesign.
When a page varies per Edition, a preview is generated for each Edition.
All previews are uploaded along with the document.
Note: This option can be combined with the following options:
|
new Feature( 'CreatePagePreview' ),
Creates a preview in JPEG format for each page of the layout when the layout is saved by Smart Connection for InDesign to a Workflow Status for which the Output option is enabled. See Creating Workflow Statuses in Enterprise Server 9.
When a page varies per Edition, a preview is generated for each Edition.
All previews are uploaded along with the document.
This option has no effect when the CreatePagePreview option is enabled.
new Feature( 'PagePreviewQuality', 4),
Controls the quality (compression) of the page previews generated by Smart Connection for InDesign. The previews are used in the Publication Overview Application of Content Station and the Preview panes of Smart Connection and Content Station.
Possible values:
1 low
2 good
3 excellent
4 great (default setting)
Note: Generating the page previews is handled by the options CreatePagePreview and CreatePagePreviewOnProduce.
new Feature( 'PagePreviewResolution', 200),
Controls the resolution (DPI) of the page previews generated by Smart Connection for InDesign. The previews are used in the Publication Overview Application of Content Station and the Preview panes of Smart Connection and Content Station.
Note: Generating the page previews is handled by the options CreatePagePreview and CreatePagePreviewOnProduce.
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.
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:
|
Note: When leaving out this argument, placed images may appear as gray boxes.
Comment
Do you have corrections or additional information about this article? Leave a comment! Do you have a question about what is described in this article? Please contact Support.
0 comments
Please sign in to leave a comment.