The Second Most Important New Feature

Also new in InDesign CS4 is a completely re-written and re-architected Links feature. Some of the changes are obvious when you see the new look Links panel the first time you open it in CS4.

There’s some great new functionality in the Links panel in InDesign CS4, but that’s not what this blog entry is going to be about (you can see the Links Panel in action in our CaffĂ© Fibonacci program on Adobe TV).

In this post, I’m going to describe some powerful new capabilities that Adobe is providing under the hood for developers.

The Links re-architecture project delivered some great new hooks in the API’s for developers to do a number of things relatively easily:

  • link to database records or individual fields
  • create bi-directional links so that edits made to linked text from a database in InDesign can be saved back to the database
  • link to non-page items such as swatches, fonts, workspaces, etc. Links are no longer limited to files or other external assets masquerading as files. A link can now be to any internal object or external data source.
  • create compound links and link queries via parent-child link relationships. A child link is a link that is a child of an import, export or bidirectional link. A child link always references an owner object through its parent link.
    An example would be InDesign CS3’s ability to create parent-child links when an InDesign file is imported into another InDesign file. The parent link is the placed InDesign document, and the child links are the linked files within that document, and they can be viewed in the Links panel.
  • make link queries (and link resource queries) that enable quickly obtaining a set of links with certain attributes from the link manager. For example, you can query for all import links that are out-of-date. The link manager does not need to iterate over the links to obtain the set, since it has already cached meta data on the links that allow it to quickly get the list of links. This is especially important for documents with several links, where iteration would be very time time consuming.
  • use asynchronous link state updating
  • link to files that do not yet exist, but are coming later in the production process.
  • link to data contained in something other than a discrete, static file. For example, a developer can create links streaming data when reading
    or writing links.

InDesign CS4’s new Linking architecture makes it a lot easier to create solutions for various types of publishing workflows. If you’re interested in learning more, download the InDesign CS4 SDK, and get plugged in to our developer program.

3 Responses to The Second Most Important New Feature

  1. Anne-Marie says:

    whoa. I had no idea. That is amazing! Thanks for the info … I’m looking forward to seeing what neat scripts and plug-ins arise from this.


  2. Bill Harrel says:

    I guess I missed what you think the first most important new feature is. I find most of them useful, especially the ability to create interactive Flash movies and PDFs directly from InDesign. And, though I haven’t tested it fully yet, I can see the the dynamic index cross referencing saving a lot of time.

    [TC: Glad you like the new features, Bill. It shouldn’t take you too long to find the “Most Important New Feature” post…but, if you need a hint, just click on the IDML topic link in the right column…]

  3. Blue K Design says:

    I’m having trouble wrapping my head around the possiblities. How do you link to a file that doesn’t yet exist? How do you link to an internal object (some sort of conditional link?) ?

    Are these features detailed in the scripting docs, the SDK, or elsewhere?

    [TC: It’s in the SDK, not an in-the-box feature, per se. Among other things, you can link to a file that doesn’t yet exist, but will at some later point in the workflow.]