Expanding the boundaries between AEM Assets and InDesign Server

Hi, I’m James Lockman, and I manage a Digital Media-focused consulting team that’s part of Adobe Customer Solutions. I’ve been a blogger on Adobe’s site since 2011, have produced training content for Lynda.com and others, and I am a frequent presenter at Adobe’s and other conferences on Enterprise Creative Workflow.

In this article I’m going to explore some new features of Adobe Experience Manager (AEM) 6.4, including a new way to use InDesign Server in workflows. We’ll be using this new feature to improve thumbnail generation for EPS and other assets in AEM. This post is intended for developers who code for InDesign Server and AEM. If you’re one of the above, skip ahead to the first section. If you’ve never heard of either product, here’s a brief explanation:

Adobe Experience Manager (AEM) is Adobe’s enterprise-class digital asset management and content delivery platform. It’s got tools to help make, manage and deliver digital content across a wide array of channels, including web, social, email, apps, IOT devices and digital publications. On the make and manage front, AEM is used as a content repository and as a workflow engine for automating asset-related tasks such as making all of the web-enabled versions of a Photoshop or Illustrator file, or running a campaign approval workflow through Adobe Sign. It’s a very powerful platform, and in its most recent incarnation, it got a little more powerful.

InDesign Server is Adobe’s server-based version of InDesign. It’s not the same as the InDesign you use to make magazines and posters and books and so on, because it has no user interface. It’s just the guts of InDesign with an API interface so that developers can use it to process scripts. It sits underneath just about every editorial workflow solution or web to print solution out there, and it’s used in a wide range of automated document creation scenarios.

What’s New in AEM 6.4?

AEM has been able to send jobs to InDesign Server for many versions, and it uses InDesign Server to extract text, graphics, links and other metadata from InDesign documents. Admins and developers can build new workflows that use InDesign Server, however, which enables an array of document automation use cases. AEM provides a load balancer and queuer for multiple InDesign Server instances, so IT admins can distribute the load across multiple InDesign Servers if job volume increases.

Earlier versions of AEM only allowed a workflow to send a single InDesign document plus a script to InDesign Server. This is nice if your process starts with a document, but many automation workflows use a script to:

  1. Construct a new InDesign document from scratch.
  2. Place content onto the new document.

AEM 6.4 changed its InDesign Server workflow component to allow any file as a payload, which opens up a whole new range of use cases for AEM and InDesign Server. Let’s take a look at some of the details.

The Media Extraction workflow component in AEM handles InDesign Server tasks. It has several configuration elements, including a MIME-type filter and a series of script fragments that it will send to InDesign Server. The MIME-type filter is the addition that lets you specify what kind of asset you will allow for your workflow.

The default workflow includes InDesign and InDesign Snippets as the allowed MIME-types.

Earlier incarnations only supported .indd and .idms (InDesign Snippet), but now we can send whatever we want, so long as our script can use it. The other ingredients of the workflow include:

  • ExtendScript library, which solves all of the problems of receiving a payload and sending it back to AEM. Always use it and never change it
  • Init Script, which is used to set up variables and helper functions for your scripts. Use the default script as your starting point, as it’s got a lot of good details in there
  • Extend Scripts, which are your scripts that do the bulk of the work
  • Cleanup Script, which take care of errors and garbage collection. Again, use the default script as your starting point
The script configuration in the default Media Extraction workflow. The Init and Cleanup Scripts are empty because they use the default scripts.

I built a demonstration workflow that will generate previews for EPS, AI, PDF and PS documents and send them back to AEM as thumbnails. It doesn’t handle multiple page PDF or AI files, but it wouldn’t be hard to extend it for that. This is important because many customers use EPS and AI files in their print workflows, and many depend on complex overprinting and spot advanced color processes that aren’t supported in AEM. Using InDesign Server to make the thumbnails provides complete support for overprint simulation, color management, transparency flattening, and general InDesign awesomeness to these asset previews.

Here are two EPS files and one PDF uploaded to DAM. ImageMagick preview has failed to generate a preview of the EPS files, and the PDF file shows no overprinting
Once the workflow generates previews, the new thumbnails replace the existing thumbnails with color accurate, overprint-simulated previews.

Here’s the code that generates the thumbnails, which is called EPSThumbnailExport.jsx:

I’ve written a detailed blog post with more details and a link to a package you can download and install in AEM to test. Be sure to let us know about how you extend you AEM to include more InDesign Server workflows!

Like what you read? Give James Lockman a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.