I have a use case where I’d like to use a bunch of data from a database, but I’m not seeing anyone online who’s done or is doing what I’m trying to do. So, here it is: I’ve got a book that has hundreds of photos (with captions) and over a thousand references (this kind of thing: Atkinson, J. W., & Rayner, J. O. (Eds.). (1974). Motivation and achievement. V. H. Winston.) All of the data for both the photos and references are currently being stored in a database. In a perfect world, I’d have a panel in InDesign with a list of all the image IDs and with a click the image and caption would be inserted to the document, I’d have another panel with a list of reference IDs that would have the same functionality.
Here’s what I’ve tried so far:
1. After reading about how to import XML data and maintain the link to the data file, I fantasized that I could just drag the data I wanted from the structure panel, to the spot in the text where it belonged. This obviously move it under the story’s node and broke it’s connection to the XML file.
2. Downloaded and worked with the trial version of: DataLinker, EasyCatalog, InCatalog and InData. These all seem to be centered on variable data printing (catalogs, personalized mailing, etc.) and while I can see making one or more of them work for my needs, they’re all very far from being made to do what I need.
3. Given my background in web development, I studied a bit on ExtendScript, and pulling from several scripts that are around, I made a script that will import text variables from a text file. I can easily export my references and image data from the database, I planned to use GREP styles to format the reference data. The issues here are described very well here: https://indesignsecrets.com/live-captions-text-variables.php (unfortunately I didn’t see this article till I’d finished my variable import script.)
Possible routes to the solution:
1. Keep and edit the entire book in XML form, and let InDesign do the layout. — I have no idea what potential road blocks there might be here.
2. Use one of the data/catalog plugins. — It seems to me that this would not be a very good fit
3. Using my variable import script could work for the references, but I’d need to use a script to “flatten” them before exporting, and then undo that before saving. This wouldn’t work for the images, so I’d need another solution for that.
The bottom line is, I’d like to see if anyone has dealt with something like this before or has any ideas for something that I’m not thinking of.
It sounds like EasyCatalog is exactly what you need, honestly. EasyCatalog is incredibly powerful once you delve into the power user side of it. Reach out to Avatar DPS for solution development or consulting. They have successfully completed hundreds of complex data publishing solutions and could definitely help you out with EasyCatalog or scripting.
Thanks Jeremy, I’ve reached out to Avatar DPS…
In the meantime, I’ve been looking around to see if there’s any examples of using ExtendScript to place data with EasyCatalog—I’m not coming up with anything. Basically, I’ve already got the the ids for the photos and references in the text that’s being imported to InDesign and it’d be really nice if I could write a script to find and replace those with EasyCatalog data—if that’s the way I go.