7.4

Table Of Contents
Using Scripts
Scripts can be used to perform various operations, such as to manipulate data, for example. PlanetPress Suite Workflow Tools
can perform scripts written in four different scripting languages and also provides an interface for editing scripts.
While this chapter provides some very useful and detailed information about scripting within PlanetPress Workflow
Tools, its focus is to inform you about the features, variables and functions unique to this environment. This chapter
assumes that you have a working knowledge of the scripting language you wish to use and does not purport to teach-
ing you anything about this language that you don't already know. Learning any of these language is beyond the
scope of this documentation.
There are four scripting languages available through the Run Script task: JavaScript, VBScript, Python and Perl. Each lan-
guage has its own strengths and weaknesses which we will not cover in this documentation. While VBScript is the most used
language at the moment, the examples provided in this chapter are presented in all supported languages.
While JavaScript and VBScript are natively available on Windows operating systems. Python and Perl require third-
party tools to be functional. For Perl, ActivePerl can be installed. For Python, please see HOWTO-1504 in the Objec-
tif Lune Knowledge Base.
When using the Run Script as a condition, you need a way to tell your process whether the result is true or false. The condition
result is returned by the Script.ReturnValue variable. If the return value is zero (the default), the condition is false. Other-
wise, it is true.
When using the Run Script as an action task, the job file going out of the Run Script action task will be the same as the one com-
ing in, unless you have specifically changed it within your script by writing to the file that is the target of the Watch.Ge-
tJobFileName function. The same goes for any job info, local or global variables, unless you use the Watch.SetJobInfo or
Watch.SetVariable functions to modify them.
Multiple APIs (methods of communicating with the PlanetPress Workflow Tools scripting tools) are available through the script-
ing engine, in all languages.
l The Watch object is used to communicate with your current process and configuration. See The Watch Object.
l You can manipulate PDFfiles using the PlanetPress Alambic API. See AlambicEdit Library Reference. Note that the Plan-
etPress Alambic API is part of the PDFTools and is only available in PlanetPress Office and PlanetPress Production.
l You can manipulate the metadata in your process using the Metadata API. See Metadata API Reference.
l You can communicate with a SOAPserver using the SOAPAPI. See SOAP Server API Reference.
l You can communicate with the PlanetPress Capture Database using the Capture API. See Capture API Reference.
The Script Editor and XSLT Editor
How can I edit scripts and XSLT code?
Scripts can be edited in the Script Editor and the XSLT Editor. Both editors are visually identical and share almost exactly the
same commands. They let you import and export scripts, perform common editing function, such as search and replace, and
feature syntax highlighting and formatting.
You can use the Script Editor to edit scripts written in VBscript, JavaScript, Perl and Python (note that the corresponding inter-
preter must be locally available). You can use the XSLT Editor to edit scripts written in XSLT 1.0 and 2.0.
For information on how to use both editors, or for a complete description of the Script or XSLT Editor user options, refer to the
Reference Help (English only).
Using Scripts