Making FrameMaker work for youThursday, March 14 2013 @ 12:03 PM, By Parth Mukherjee
Many jobs are tedious, involving a repetitive sequence of commands that must be executed on a large number of almost identical elements in a document. And because they are tedious and feel like a waste of time on the part of the author, attention may decrease and errors may go unnoticed. This, apart from the increase in efficiency, is a good enough reason in itself to think about automating such tasks. Whenever there is a defined pattern in the items to be identified and the tasks to be performed, scripting is the right choice. And with the ExtendScript Toolkit being shipped with FrameMaker 10 or higher, you do not need to purchase external tools or learn a complicated programming language.
Everything in Extendscripting starts from the top level, whether you are looking at FrameMaker-related objects (which are part of the app top-level object) or at document elements (which are part of the ActiveDoc or ActiveBook top-level object). Drilling down the hierarchical model to the object you want to address (such as a table cell or the filename of a referenced image file in an anchored frame) is a matter of reading the specifications in the Scripting Guide, writing simple test scripts and using the Data Browser.
One absolute requirement when starting scripting is register for the Adobe User Forums and making a bookmark that points directly to the FrameMaker Scripting forum. Any question you may have is read by dozens of scripting specialists around the world, who are more than willing to help you out when you get stuck. And if all else fails, there is always the option to ask one of these professional scripters to write the script for you at a nominal fee.
Of course, this blog post cannot hope to be an ExtendScript tutorial, although I am trying to post helpful tips and tricks while I go along. In this post I just want to point out that there is a good reason to try this free out-of-the-box option for yourself and see what it can bring in terms of more efficiency and less tedious and error-prone work. After I got started in the fall of 2011, I have successfully created a number of custom content management systems for my clients, all of them written exclusively in ExtendScript. If you read my bio below, you will see that I did not study Computer Science and had no prior programming skills. So I figure if I can do this you should all be able to do it, too.
One of the extras in learning to use ExtendScript with FrameMaker is that the exact same toolkit and language also gives you scripting access to a growing number of other Adobe applications. I am already looking at options to create scripts that span multiple applications and streamline the inter-application communication of objects and files. That may be taken as a warning: once you get started on this, it might turn out to be so much fun that stopping may be hard.
About the author
Jang F.M. Graat has studied Physics, Psychology and Philosophy, before starting a career in the high-performance computer industry. He has more than 25 years experience in technical authoring, training and consulting and runs his own consulting company in Amsterdam, Netherlands. In the past 10 years, he has been working almost exclusively in FrameMaker, recently adding FrameScript, ExtendScript and XSLT to his portfolio. He is a well-known and popular speaker at conferences and maintains a series of blogs on Automating FrameMaker on his website.