Integrate Adobe Experience Manager Assets with Adobe InDesign Server
Adobe Experience Manager Assets uses:
- A proxy to distribute the load of certain processing tasks. A proxy is an Experience Manager instance that communicates with a proxy worker to fulfil a specific task, and other Experience Manager instances to deliver the results.
- A proxy worker to define and manage a specific task. These can cover a wide variety of tasks; for example, using an InDesign Server to process files.
To fully upload files to Experience Manager Assets that you have created with Adobe InDesign a proxy is used. This uses a proxy worker to communicate with the Adobe InDesign Server, where scripts are run to extract metadata and generate various renditions for Experience Manager Assets. The proxy worker enables the two-way communication between the InDesign Server and the Experience Manager instances in a cloud configuration.
How the extraction works
The Adobe InDesign Server can be integrated with Experience Manager Assets so that INDD files created with InDesign can be uploaded, renditions generated, all media extracted (for example, video) and stored as assets:
Previous versions of Experience Manager were able to extract XMP and the thumbnail, now all media can be extracted.
- Upload your INDD file to Experience Manager Assets.
- A framework sends command script(s) to the InDesign Server via SOAP (Simple Object Access Protocol). This command script will:
If the InDesign Server is not installed or not configured, then you can still upload an INDD file into Experience Manager. However the renditions generated will be limited to PNG and JPEG. You will not be able to generate HTML, .idml, or the page renditions.
- Retrieve the INDD file.
- Execute InDesign Server commands:
- The structure, text and any media files are extracted.
- PDF and JPG renditions are generated.
- HTML and IDML renditions are generated.
- Post the resulting files back to Experience Manager Assets.
- After the extraction and rendition generation:
- The structure is replicated to a cq:Page (type of rendition).
- The extracted text and files are stored in Experience Manager Assets.
- All renditions are stored in Experience Manager Assets, in the asset itself.
Integrate the InDesign Server with Experience Manager
To integrate the InDesign Server for use with Experience Manager Assets and after configuring your proxy, you need to:
- If required, configure the Experience Manager Assets Workflow . This is only necessary if the default values are not appropriate for your instance.
- Configure a proxy worker for the InDesign Server .
Install the InDesign Server
To install and start the InDesign Server for use with Experience Manager:
- Download and install the InDesign Server.
- If required, you can customize the configuration of your InDesign Server instance.
- From the command line, start the server:<*ids-installation-dir*>/InDesignServer.com -port 8080This will start the server with the SOAP plugin listening on port 8080. All log messages and output are written directly to the command window.If you want to save the output messages to a file then use redirection; for example, under Windows: <ids-installation-dir>/InDesignServer.com -port 8080 > ~/temp/INDD-logfile.txt 2>&1
Configure the Experience Manager Assets workflow
Experience Manager Assets has a pre-configured workflow DAM Update Asset , that has several process steps specifically for InDesign:
This workflow is setup with default values that can be adapted for your setup on the various author instances (this is a standard workflow, so further information is available under Editing a Workflow ). If you are using the default values (including the SOAP port), then no configuration is needed.
After the setup, uploading InDesign files into Experience Manager Assets (by any of the usual methods) triggers the workflow to process the asset and prepare the various renditions. Test your configuration by uploading an INDD file into Experience Manager Assets to confirm that you see the different renditions created by IDS under <*your_asset*>.indd/Renditions
This step controls the extraction of media from the INDD file.
To customize, you can edit Arguments tab of the Media Extraction step.
Media extraction arguments and script paths
- ExtendScript library : This is a simple http get/post method library, required by the other scripts.
- Extend Scripts : You can specify different script combinations here. If you want your own scripts to be executed on the InDesign Server, save the scripts at /apps/settings/dam/indesign/scripts .
For information about Adobe InDesign scripts, see InDesign developer documentation
Do not change the ExtendScript library. This library provides the HTTP functionality required to communicate with Sling. This setting specifies the library to be send to the InDesign Server for use there.
The ThumbnailExport.jsx script run by the Media Extraction workflow step generates a thumbnail rendition in JPG format. This rendition is used by the Process Thumbnails workflow step to generate the static renditions required by Experience Manager.
You can configure the Process Thumbnails workflow step to generate static renditions at different sizes. Ensure that you do not remove the defaults, because they are required by the Experience Manager Assets interface. Finally, the Delete Image Preview Rendition workflow step removes the JPG thumbnail rendition, as it is no longer needed.
This creates an Experience Manager page from the extracted elements. An extraction handler is used to extract data from a rendition (currently HTML or IDML). This data is then used to create a page using the PageBuilder.
To customize, you can edit the Arguments tab of the Page Extraction step.
- Page Extraction Handler : From the popup list, select the handler that you want to use. An extraction handler operates on a specific rendition, chosen by a related RenditionPicker (see the ExtractionHandler API). In a standard Experience Manager installation the following is available:
- IDML Export Extraction Handle: Operates on the IDML rendition generated in the MediaExtract step.
- Page Name : Specify the name you want to have assigned to the resulting page. If left blank then the name is "page" (or a derivative if "page" already exists).
- Page Title : Specify the title you want to have assigned to the resulting page.
- Page Root Path : The path to the root location of the resulting page. If left blank the node holding the asset's renditions will be used.
- Page Template : The template to use when generating the resulting page.
- Page Design : The page design to be used when generating the resulting page.
Configure the proxy worker for InDesign Server
The worker resides on the proxy instance.
- In the Tools console, expand Cloud Services Configurations in the left pane. Then expand Cloud Proxy Configuration .
- Double-click the IDS worker to open for configuration.
- Click Edit to open the configuration dialog and define the required settings:
- IDS Pool The SOAP endpoint(s) to be used for communicating with the InDesign Server. You can add, remove and order items are required.
- Click OK to save.
Enable parallel job processing for InDesign Server
You can now enable parallel job processing for IDS. Determine the maximum number of parallel jobs ( x ) an InDesign Server can process:
- On a single multiprocessor machine, the maximum number of parallel jobs ( x ) that an InDesign Server can process is one less than the number of processors running IDS.
- When you are running IDS on multiple machines you need to count the total number of processors available (ie on all machines) then subtract the total number of machines.
To configure the number of parallel IDS jobs:
- Open the Configurations tab of the Felix Console; for example: https://[aem_server]:[port]/system/console/configMgr .
- Select the IDS processing queue under Apache Sling Job Queue Configuration .
- Type - Parallel
- Maximum Parallel Jobs - <*x*> (as calculated above)
- Save these changes.
- To enable multi-session support for Adobe CS6 and later, check enable.multisession.name checkbox, under com.day.cq.dam.ids.impl.IDSJobProcessor.name configuration.
- Create a pool of .If there are multiple machines running InDesign Server, add SOAP endpoints (number of processors per machine -1) for each machine.
When working with pool of workers, you can enable blocked list of IDS workers.
To do so, enable the enable.retry.name checkbox, under the com.day.cq.dam.ids.impl.IDSJobProcessor.name configuration, which enables IDS job retrials.
Also, under the com.day.cq.dam.ids.impl.IDSPoolImpl.name configuration, set a positive value for max.errors.to.blacklist parameter which determines number of job retrials before barring an IDS from the job handlers list.
By default, after the configurable ( retry.interval.to.whitelist.name ) time in minutes the IDS worker is revalidated. If the worker is found online, it is removed from the blocked list.
Enable support for InDesign Server 10.0 or later
For InDesign Server 10.0 or higher, perform the following steps to enable multi-session support.
- Open Configuration Manager from your Experience Manager Assets instance https://[aem_server]:[port]/system/console/configMgr .
- Edit the configuration com.day.cq.dam.ids.impl.IDSJobProcessor.name .
- Select the ids.cc.enable option, and click Save .
For InDesign Server integration with Experience Manager Assets, use a multi-core processor because the session support feature necessary for the integration is not supported on single core systems.
Configure Experience Manager credentials
You can change the default administrator credentials (user name and password) for accessing the InDesign Server from your Experience Manager deployment without breaking the integration with the InDesign Server.
- Go to /etc/cloudservices/proxy.html .
- In the dialog, specify the new user name and password.
- Save the credentials.