User Guide Version 2022.1.2 Last Revision: 2022-06-01 Upland Objectif Lune 2030 Pie-IX, Suite 500 Montréal, QC, Canada, H1V 2C8 All trademarks displayed are the property of their respective owners. © Upland Objectif Lune. 1994-2022. All rights reserved. No part of this documentation may be reproduced, transmitted or distributed outside of Upland Objectif Lune by any means whatsoever without the express written permission of Upland Objectif Lune.
Table of Contents Table of Contents 4 Welcome to PlanetPress Workflow 2022.
About Workflow Configurations Creating a new configuration Open a PlanetPress Workflow configuration file Saving and sending a Workflow Configuration Exit PlanetPress Workflow Configuration program Workflow Configuration resource files Connect resources PlanetPress Design documents PrintShop Mail documents About data About documents and variable data Job file Job file names and output file names Data selections About data emulation Sample Data Metadata Working with JSON Data Repository Structure Accessing t
Send to Folder printer queue Load balancing Associating PlanetPress Design documents and PlanetPress printer queues Triggers Objectif Lune Printer Driver (PS) About processes and subprocesses Processes Startup processes Subprocesses Creating a process Importing processes Activating or deactivating a process Process properties About branches and conditions Converting a branch to a subprocess Using Scripts Run Script task APIs The Script Editor and XSLT Editor SOAP Server API Reference The Watch Object Data R
Cut() DatapageCount() Delete() DocumentCount() FieldByIndex(Integer Index) FieldByName(const String Name) FieldByNameIndex(const String Name, Integer Index) IndexInDocument() IndexInGroup() IndexInJob() Item(Integer Index) PageCount() Paste() PasteAt(Integer Index) Select(TSelectWhat SelectWhat) SelectedDatapageCount() SelectedDocumentCount() SelectedIndexInDocument() SelectedIndexInGroup() SelectedIndexInJob() SelectedPageCount() Sort(const String Name, optional TSortFlags Flags, optional const String Name
Returns Exceptions Parameters Returns Exceptions AlambicEdit API reference Stopping execution Special workflow types HTTP Server workflow PDF Workflow PlanetPress Capture Workflow Workflow processes in a Connect Send solution About Tasks Adding tasks Editing a task Task properties Masks Selecting a resource file in task properties Input tasks Action tasks Data splitters Process logic tasks Connector tasks Metadata tasks OL Connect Send OL Connect tasks Output tasks Document Management tasks Connection tab D
Unknown tasks About variables Job Info variables System variables Local variables Global variables Variable task properties Workflow add-ons PlanetPress Capture Tasks Capture OnTheGo (COTG) About PlanetPress Fax About PlanetPress Image OL Connect Send ZUGFeRD About related programs and services Available Input services Available Output services Start and stop PlanetPress Workflow Service Users and configurations Workflow Services Preferences Other preferences and settings General appearance preferences Obje
PlanetPress Capture ODBC Settings PlanetPress Capture Pen Management Tool PlanetPress Capture License Management OL Connect preferences PDF text extraction tolerance factors General and logging preferences Messenger plugin preferences Preferences HTTP Server Input plugin preferences 1 Preferences HTTP Server Input plugin preferences 2 LPD Input plugin preferences Preferences NodeJS Server Input plugin preferences 1 NodeJS Server Input plugin preferences 2 NodeJS Server Input plugin preferences 3 Testing the
Combine and attach areas Resize the program window areas Change the Interface language PlanetPress Workflow Button Options Configuration Components pane Components Area Sections PlanetPress Design document properties Moving and copying configuration components Renaming objects in the Configuration Components Pane Reordering objects in the Configuration Components pane Grouping Configuration Components Expanding and collapsing categories and groups in the Configuration Components pane Deleting something from
The Process area Cutting, copying and pasting tasks and branches Highlight a task or branch Disabling tasks and branches Moving a task or branch using drag-and-drop Redo a command Removing tasks or branches Replacing tasks, conditions or branches Resize the rows and columns of the Process area Collapse and expand branches and conditions Undo a command Zoom in or out within the Process Area The Quick Access Toolbar Adding buttons Removing buttons Moving the toolbar The PlanetPress Workflow Ribbon The Task Co
Welcome to PlanetPress Workflow 2022.1 This PDF documentation covers version 2022.1. To view the documentation of previous versions please refer to the PDF files available in the Downloads section of our website: http://www.objectiflune.com/OL/Download/DownloadCenter. Workflow is the heart of all of our solutions.
Tip Information that may help you use PlanetPress Workflow better or that suggests an easier method. Warning Information that is potentially critical to using PlanetPress Workflow.
Installation and setup The installation procedure for Workflow is described in the topic Installing Workflow. The following topics describe the different considerations that are important in regards to the installation and use of PlanetPress Workflow. l "System requirements" below l "Environment considerations" on page 18 l "Setting up the working environment" on page 22 l "Known Issues" on page 26 System requirements These are the recommended system requirements for PlanetPress Workflow 2022.1.
Note The NodeJS Server installed with Workflow is not supported in an x86 environment. Virtual environments PlanetPress Workflow supports the following virtual environments: l l VMWare Environments. This includes VMWare Player, VMWare Workstation as well as VMWare ESX Server. VMWare VMotion. This means the virtual machine hosting PlanetPress Workflow can be automatically moved from one ESX server to another in a clustered installation. l Microsoft Hyper-V/Azure infrastructure environments.
l RAM: 6GB l Disk Space:At least 10GB*1 *1: Requirements will depend upon the amount of data you process through PlanetPress Workflow. For instance, a PostScript file containing several thousands of documents could easily take up several GBs. Recommended hardware requirements Due to its versatility, OL Connect is used for a wide variety of applications. Consequently, it is difficult to determine which hardware configuration will produce the best results for any given implementation.
l l l l The Connect Workflow module requires less RAM but fast hard drive access. It also benefits from fast multi-core CPUs, in order to run processes in parallel. The Connect Server module requires more RAM and benefits from fast multi-core CPUs. Disk access speed is less of a concern. The Connect Designer module requires more RAM and fast disk access to provide a responsive user-experience.
l Microsoft Hyper-V/Azure infrastructure environments. l Amazon Web Services (AWS) PlanetPress Workflow is not officially supported on any other virtual machines such as Virtual PC, Parallels, Bochs, Xen, etc. While running PlanetPress Workflow on these virtual machines may work fine we have not tested them and cannot offer support for them.
disabling your antivirus or whitelisting the folders or executables listed here, or any other change in your antivirus protection setup! l On Windows 7/2008 and later: l l l l C:\ProgramData\Objectif Lune\PlanetPress Workflow 8\ C:\Users\[user]\AppData\Local\Temp\ (where [user] is the user under which Workflow is configured) C:\Users\[user]\Connect (where [user] is the user under which Workflow is configured) On all systems: l C:\Windows\Temp\ Note C:\Windows\Temp\ is used by multiple software which
l PPImageService.exe l MessengerService.exe Backup software For similar reasons, it is important to know that backup software can also access files while copying them to a remote backup location, so you should make sure that no PlanetPress Workflow process is working during your backups. Microsoft Office compatibility The Microsoft Office 2010 line of products, other than Pro and Enterprise, has not been certified for use with PlanetPress Workflow.
SHOWLAUNCHPROGRAM = 0 (Do not launch Update Manager after the installation is complete) CJKFONTS= 0/1 (CJK Fonts Lib) LASERFICHELIB = 0/1 (Laserfiche Lib) ICRLIB = 0/1 (ICR LIBRARY) SP = 0/1 (Sharepoint plugin) NET40 = 0/1 (Install Microsoft .Net 4.0 redistribuable) Example The following performs a silent install of Workflow and the Image and Search modules. "c:\temp\Setup.
implications in regards to PlanetPress Workflow. To change the service log on information, see "Workflow Services" on page 772. Local and network rights Programs, such as PlanetPress Workflow and all its services, must identify themselves in order to be granted permission to perform operations on the computer on which they run as well as on other computers accessible via a network connection.
to map it again. This creates a limitation in PlanetPress Workflow: if you create a mapped drive as a user, you will not have access to this mapped drive while running as a service unless you log off, and then have PlanetPress Workflow Tools map the drive using a Run Script action inside a Startup Process.
Component Protocol Local Port Remote Port port) FTP Input TCP Default1 21 Telnet Input TCP Default1 9100 (configurable) FTP Output TCP Default1 21 Email Output (SMTP mode) TCP Default1 25 Email Output (Outlook mode) TCP See Email Input (Outlook mode) See Email Input (Outlook mode) Send to Folder Windows Queue Output TCP Default1 Standard Windows file and printer sharing ports2: l l 137, 138 and/or 139 (NetBIOS over TCP/IP (NetBT)) 445 (SMB Over TCP/IP) LPR Output TCP Default
2 Windows NT 4.0 uses NetBIOS over TCP/IP for file and printer sharing, while Windows 2000, Windows XP, and Windows Server 2003 may be configured to use NetBIOS over TCP/IP or SMB over TCP/IP. The operating system may use additional ports. Refer to the Windows documentation for further information. 3 If the “No source port range restriction” option is checked (recommended), see footnote 1. If the option is unchecked, the local port will be chosen from a range going from 721 to 731.
l For the Database Query plugin (found in the Actions tab of the plugin bar) and when using Excel/Access in PlanetPress Design: Change the ODBC driver used for Excel files from JET to ACE (change the Data Source). As an example: in Windows 10: Change the Excel File ODBC driver from ODBCJT32.dll to ACEODBC.dll. (Naming may vary from versions of the OS but the basics stay the same.) Important: Before switching from JET to ACE, install the latest MS Access Database Engine 2016 Redistributable (https://www.
l l l l l l l l l l Using the PT-PT setting to perform ICR on AlphaNumeric fields may not work properly. If you encounter the issue, use the PT-BR setting instead, or use another PlanetPess Field in your document design. Barcode scanner task may have issues reading 2-D barcodes printed/scanned with low resolution. Make sure the scans and the original printed output are at least 300DPI (600 or better recommended).
l l l l In the LaserFiche connector, when selecting a different template after filling up the fields and then going back to the first template, the values entered in the fields are lost. They have to be entered again. When loading a Workflow configuration that includes references to Windows printers, the output task may fail to recognize the printer if the printer driver has changed between the moment the configuration was set up and the moment it was loaded.
l l l l l The WordToPDF task requires the default system printer to be set to a queue that uses the PlanetPress printer driver. If you change the default system printer or if you import a PlanetPress Workflow configuration file from another PC that includes an instance of the WordToPDF task, you must review the properties of each instance of the task and click OK to validate its contents. A new printer queue will be created if required and the default printer will be reset properly.
Basics PlanetPress Workflow is a tool to automate the processing, distribution and printing of your business documents. Once installed on the server, it can be set up to automate all tasks related to document processing (see "Setting up the working environment" on page 22). When you're all set up, you can start using the Workflow Configuration tool, assuming that you have already done research on the processes that need to be automated. Working with Workflow implies the following basic steps: 1.
The product-specific files need to be sent to, or imported into, Workflow before they can be used in conjunction with a task (see "Workflow Configuration resource files" on page 39). They become visible in the "Configuration Components pane" on page 837.
Features PlanetPress Workflow configurations are input driven applications designed to output data in a variety of ways through diverse means to various applications and devices. PlanetPress Workflow can be used as simple go between, passing along input data to output devices, but it can also perform various types of data processing. You can combine the various PlanetPress Workflow services to set up versatile automated processes to print jobs as well as generate other types of output.
versatile automated processes to print jobs as well as generate other types of output (emails, web pages, files...). Note A PlanetPress Workflow configuration must be composed of at least one process, but it may include as many as 512. PlanetPress Workflow cannot work without a valid configuration, and a PlanetPress Workflow session running on a given computer can only use one configuration at a time.
By default, when you create a new configuration, PlanetPress Workflow automatically creates a process that includes a "Folder Capture" on page 320 initial input task and a "Send to Folder" on page 631 output task by default. You can then edit and save your new configuration. The default input task and output task depend on your preferences ("Default configuration behavior preferences" on page 778).
Note You can also open a configuration file from a previous version of PlanetPress Workflow by changing the File Type selector to the desired version (for example, .pw7 for PlanetPress Watch /Server configurations from Version 7). Saving and sending a Workflow Configuration The core of the PlanetPress Suite workflow tools is the PlanetPress Watch service which, once started, constantly runs in the background to perform the tasks included in its current configuration file.
To save the current configuration under a new name: l l From the PlanetPress button, choose Save As. Browse to the location where you wanted to save the file, enter the new name of the configuration in the File name box and click Save. Sending a configuration PlanetPress Workflow Configuration saves entire configurations in the form of a single file. Like any other file, configuration files may be saved and reopened, as well as renamed as desired.
Sending a Configuration to the local server 1. Open the configuration you want to use as PlanetPress Workflow’s new configuration. 2. Edit the configuration, if required. 3. When the configuration is ready to be used, from the PlanetPress Workflow button, choose Send Configuration, then Send Local. Sending a Configuration to a remote server 1. Open the configuration you want to use as PlanetPress Workflow’s new configuration. 2. Edit the configuration, if required. 3.
Note Closing PlanetPress Workflow Configuration program does not stop any of PlanetPress Workflow services or processes. You may exit the PlanetPress Workflow Configuration program in any of the following ways: l From the PlanetPress Workflow Button, choose Exit. l Click the X at the top-right corner of PlanetPress Workflow Configuration program. l Press ALT+F4 on your keyboard. l Right-click on the PlanetPress Workflow Configuration program button in your task bar, and select Close.
l l PlanetPress Suite users may use PlanetPress Design documents (see "PlanetPress Design documents" on page 45) in PlanetPress Workflow processes. PrintShop Mail Suite users may use PrintShop Mail documents to create output using the "PrintShop Mail" on page 686 task (see "PrintShop Mail documents" on page 50). These product-specific files need to be sent to (or imported into) Workflow before they can be used in conjunction with a task. This chapter explains how to do that.
l Print Presets: l l Job Presets: Job Presets can be used in the "Create Job" on page 559 task to filter and rearrange print content items. Output Presets: Output Presets contain settings for Print output. They can be used in the "Create Output" on page 561 task. Tip Drag-and-drop a resource on a process to add the appropriate task.
Tip You can import multiple files at once. Resource Save location Any resource sent to PlanetPress Workflow from PlanetPress Connect is saved locally at the following location: %PROGRAMDATA%\Objectif Lune\PlanetPress Workflow 8\PlanetPress Watch\OLConnect Resources are saved in their appropriate folder: l DataMapper contains the data mapping configurations (.OL-datamapper) l JobCreation contains the Job Creation Presets (.OL-jobpreset) l OutputCreation contains the Output Creation Presets (.
l datamapper contains archives of the data mapping configurations (.OL-datamapper) l jobcreation contains archives of the Job Presets (.OL-jobpreset) l outputcreation contains archives of the Output Presets (.OL-outputpreset) l template contains archives of the templates (.OL-template) l workflow contains archives of Workflow configurations received by the server. The archives are saved using the template named followed by a timestamp.
along with the data mapping configuration. These data files appear under the data mapping configuration in the Connect section of the Configuration Components. Setting an attached data file as a sample data file in a process The attached data file can be used as a sample data file in a process. This sets the emulation of the process ("About data emulation" on page 60) and makes it possible to debug it (see "Debugging your PlanetPress Workflow process" on page 106). 1.
PlanetPress Design documents A PlanetPress Design document is a file created with the Design module of PlanetPress Suite. Design documents are used to produce an output, merged with data (i.e. the job file). They contain static data such as logos, addresses and graphic formatting, as well as placeholders for data. Documents may also contain conditions and programming logic. For more information about PlanetPress Design documents, please see the PlanetPress Design User Guide.
l If you send a document to PlanetPress Workflow servers and to printers, you will be able to see this document in the Configuration Components Pane of the PlanetPress Workflow Configuration program and it will be available on the printers. Fonts used in Design documents The fonts used in PlanetPress Design documents installed on PlanetPress Workflow workstations should be available locally. To install TrueType fonts, use the standard Windows procedure.
1. Click the PlanetPress Workflow button. 2. Choose Import, then Import PlanetPress Document. The Import PlanetPress Design Document dialog box appears. 3. In the File type box, select the desired file type. 4. Navigate to the document you want to import, select it and click Open. The document is imported and displayed in the Configuration Components pane under PPS/PSM Documents. This physically installs the documents to the Documents folder relative to the install folder of PlanetPress Workflow.
Viewing an attached data file 1. Make sure the PPS/PSM Documents section is visible by clicking the appears. 2. Expand the document (name.ptk) by clicking the button if it button. 3. Double-click on the data file to open the data selector (see "The Data Selector" on page 862). Note Double-clicking on the data file does the same thing as right-clicking on it an then selecting Set as sample data file. Clicking Cancel instead of OK after viewing will prevent this action from being taken.
The PDF contains the result of a preview with the active data file (for all data pages) run as an Optimized PostScript Stream. Viewing the Document Preview 1. Make sure the PPS/PSM Documents section is visible by clicking the appears. button if it 2. Expand the document (name.ptk) by clicking the button. The Document Preview has the same name as the document but with a PDF extension. 3. Right-click on the Document Preview, then click Open in PDF Viewer. Saving the Document Preview to disk 1.
The Document name of printer-resident documents can be changed using PlanetPress Workflow Configuration program simply because it is initially set using that program. The properties available via the Printer Settings tab define how documents are printed. They are also set using the PlanetPress Workflow Configuration program and are retained when documents are assigned to printer queues.
About data Data is what drives your business, and our software. We define data as anything that is obtained through an Input task and used within the process itself. Once the data is obtained, it becomes the job file that is passed from one task to another and generally used to generate output (see "Job file" on the facing page). Data can be manipulated using the tasks in the process, used as comparison for conditions and loops, complemented with data from other sources, and used to generate your output.
In PlanetPress Suite, Design documents are typically associated with an Output task. PlanetPress Workflow dispatches captured data (the job file) to PlanetPress Design documents directly. It is therefore critical that a process and a document use the same emulation (see "About data emulation" on page 60). PlanetPress Suite users are advised to review the PlanetPress Design User Guide, especially the Selecting an Emulation section.
Job file names and output file names When an Input task sends a new data file down a process, it gives it an internal file name referred to as the job file name (associated with the %f variable). The new job file typically keeps the same name until the end of the process. l l If the job file comes to a branch in the process, PlanetPress Workflow makes a copy of the job file and gives the new file a new job file name.
or TIFF files are generated (one image per file), each one identified by a sequence number appended to its name (this is managed by your PlanetPress Workflow). A three page job to be called Invoice, for example, will generate three JPEGs or TIFFs called Invoice0, Invoice1 and Invoice2. Note that this does not apply to multiple TIFFs, which can include multiple images in a single file. Note You can change the name of a previously named file using a Rename action task (see "Rename" on page 426).
After opening a sample of the data (see "Choosing a sample data file" on page 72) and/or Metadata, you can easily make a selection. It is also possible to manually enter a data selection, or to change it after making a selection with the mouse pointer. Data selections can also be used in a PlanetPress Design document that is being merged with the data (for example in a printed output); for more information, see PlanetPress Design User Guide.
l l @(): Always surrounds a data selection. Page Number: The data page number from which you want the data selection to grab the data. If you want to get data from each page individually, this has to be done after a splitter. l From Line: The starting line of the data selection. l To Line: the last line of the data selection. l From Column: the leftmost character position of the data selection. l To Column: the rightmost character position of the data selection.
l l KeepCase: Keeps the current uppercase and lowercase letters as they are. l UpperCase: Converts all letters to their uppercase equivalent. l LowerCase: Converts all letters to their lowercase equivalent. Trim Option: Can either be "Trim" if you want to trim empty spaces before and after the data selection or "NoTrim" if you want to retain the extra spaces. Data Repository lookups The Data Repository selections are made through the lookup function.
region(page, left, top, right, bottom, case option, trim option) Here is a breakdown of the syntax (all options are mandatory): l region(): Always surrounds PDF data selections. l Page: The page of the PDF from which to retrieve the data. l Left: Exact horizontal position (in inches) that defines the left of the selection region. l Top: Exact vertical position (in inches) that defines the top of the selection region.
l l GetMeta(): Always surrounds metadata selections. Field/Attribute Name: specifies the name of the field (or attribute, if the GetAttribute option flag is set) to retrieve (see "Metadata" on page 75). l Option Flag (optional): Sets the options for the selection (see table below). l Metadata Path (optional): Defines the precise path where the Metadata Field is located.
XML data selections XML data selections are used to retrieve an element's name, value or count from an XML file. Syntax xmlget(XPath[, Value option, Case option, Trim option]) Here is a breakdown of the syntax: l xmlget(): Always surrounds a data selection. l Value Options: l l l Count: The number of elements on the same level in the same node that have the same name. l Name: The element's name. l Value: The element's value.
A process's emulation can be changed either by choosing another sample data file (see "Choosing a sample data file" on page 72) or by inserting a "Change Emulation" on page 387 task in the process. Changing the emulation is particularly important if you want to make a data selection in a file after it has been changed to another format (see "Data selections" on page 54). Note Even during debugging, selecting a sample data file with a different format will cause the emulation of a process to change.
Pages in buffer: Enter the number of data pages you want the data page buffer to contain, or use the spin buttons to increment or decrement the value. Read in binary mode (ASCII emulation only): Select to read the data file in binary mode. You select this if you intend to run a PlanetPress Design document on a printer queue that is set to binary mode. In binary mode, the printer reads the end of line characters (CR, LF, and CRLF) as they appear in the data stream and does not perform any substitution.
because it uses PlanetPress Talk code, which is not available within the PlanetPress Workflow Configuration program. The emulation that is used in your process can change during the process, and can be different than the one used in any PlanetPress Design document used in your process. PlanetPress Design Documents use their own emulations, as defined in the document itself from PlanetPress Design. For more information about emulations in PlanetPress Design see PlanetPress Design User Guide.
ASCII emulation options l Tab on carriage return: Select this option to fix formatting problems caused by isolated CR characters found within the data. When this option is selected, isolated CR characters are spaces, as defined in the Number of spaces in the tab box below. Note that this option is available only when the Read in binary mode option is selected.
CSV emulation options l l l l Text delimiter: Enter the character that starts and ends the data in each field of the record. If you do not set a text delimiter and the data in a field contains the character you set as the delimiter, the data is split into two fields. If you want to use a backslash character (\) as a delimiter, you must precede it with another backslash character (thus you would enter \\).
CSV emulation options l l l l Text delimiter: Enter the character that starts and ends the data in each field of the record. If you do not set a text delimiter and the data in a field contains the character you set as the delimiter, the data is split into two fields. If you want to use a backslash character (\) as a delimiter, you must precede it with another backslash character (thus you would enter \\).
Note You can also use the PlanetPress Workflow Database Action task to get data from a database, and output in multiple different formats such as CSV. See "Database Query" on page 396. Bear the following in mind: l l l l The person or plugin performing the query must have full access to the database. The data is extracted at the time of the query. A new query must be performed whenever the data needs to be updated.
Note Line printer emulation is only used when merging line printer data with a PlanetPress Design document. When choosing a line printer sample data file to be merged with a Connect template, select Text emulation (see "Text-based emulation" on the next page). Line printer emulation options The line printer emulation does not have any options other than the general text-based emulation options (see "Text-based emulation" on the next page).
Text-based emulation Text-based emulations display your data in plain text in the Data Selector and the Data Pane, one line at a time, up to the limit you specify in the emulation properties (by default, 66 lines). This is especially useful for legacy systems (such as AS/400 computers) that send data as text meant for older line printers using pre-printed forms. The emulation options are used to make sure your data is stable.
Note for PlanetPress Suite users: You should also consider using the N-Up Object if you want to display multiple data pages; see thePlanetPress Design user guide. l l l Cut on FF character: Select to have a new data page when a form feed character is encountered in the data stream. If you select the Cut on FF character option, there are two conditions that signal the end of a data page: the form feed character and the number of lines set in the Lines per page option.
XML emulation options l Cache XML data: When this option is selected, PlanetPress Workflow Server only reloads the data if the size or modified date of the XML file changes. When this option is not selected, the XML data will be reloaded into memory every time that a plugin works on the data file. Caching the XML data will make subsequent tasks run faster (as loading an XML file can take a long time) but will also use up more memory since that memory isn't released in between tasks.
Note Even during debugging, selecting a sample data file with a different format will cause the emulation of a process to change. In order to avoid errors, change the emulation back to the format of the original input file before using the process again. Choosing a sample data file In order to create your PlanetPress Workflow process, the sample data you are going to use has to correspond precisely to the job files that will be treated by that process, at least in terms of structure.
For example, to use a sample data file included in a Connect data mapping configuration: select Connect Resources > Data Mapping Configurations > [your data mapping configuration], right-click a data file and choose Set as sample data file. Tip Double-clicking on the data file does the same thing as right-clicking on it an then selecting Set as sample data file. Clicking Cancel instead of OK after viewing will prevent this action from being taken.
Note Since the Workflow tool is a 32-bit application, it can only use 32-bit ODBC data sources. Make sure you use the proper Windows application (ODBC Data Sources (32-bit)) to create and manage data sources that can be used in Workflow. 5. Click Edit SQL to create the SQL query by hand to define the SQL query that retrieves the data your document requires. 6. Set the properties that define a record set: l l l Condition: Select the condition that signals the end of a record set.
SELECT * FROM [Orders] ORDER BY [Date] 4. Click Test SQL to verify the query you entered is a valid SQL query. 5. Define whether you want PlanetPress Design to automatically enclose table names and field names in square brackets. Alternate syntax(not recommended): Select to prevent PlanetPress Design from automatically enclosing the names of any database tables and fields that appear in the SQL query in square brackets when it exits the advanced SQL Statement dialog box. 6.
order to use the Metadata tasks effectively are set out in another topic: "Working with Metadata" on page 78. You can also manipulate the Metadata in your process via scripts using the Metadata API. See Metadata API Reference. Note Applications or plugins created in PlanetPress Suite 6 and using Metadata will need to be updated for use in version 2022.1. No backward compatibility mode is available.
Note Any operation that modifies the data with regards to the structure (ex: remove pages, alter the data, etc.) makes the Metadata obsolete and so it must be recreated or refreshed; see "Working with Metadata" on the facing page. Note: Metadata in OL Connect jobs In PlanetPress Suite, all levels in the Metadata hold information about an actual job. In Connect, that isn't the case. The Metadata file created and maintained by OL Connect tasks looks the same, but contains less information.
Metadata Attributes and Fields Each Metadata node (i.e. Job, Group, Document, etc.) is described with a series of elements, that is, system-defined attributes or user-defined fields holding static or dynamic information about the node they are attached to. Each element has a name and a value. Here is a definition of these 2 types of elements: l l Attribute: A read-only, system-defined element which holds certain information about a certain node in the Metadata structure. This information can be static (e.
How data and Metadata influence each other When Metadata are created, they are based upon a data file. However, modifying one file doesn't automatically change the other, and Metadata aren't reset by default in a Branch, Condition or Loop. l l l Modifying Metadata does not immediately modify the data. This is one of the benefits of Metadata because you can sort it, filter it, sequence it, add data to it, without ever modifying the data file itself.
l l The "Capture-Fields generator" on page 702, "Error handling" on page 707, "Capture-Get document" on page 717 and "Capture-Find document" on page 713 tasks generate their own Metadata. The "Lookup in Microsoft® Excel® Documents" on page 481 enhances Metadata fields with information from an Excel spreadsheet, but does not otherwise change its structure. How Metadata affects the output By default the data file is not affected when the Metadata are modified.
Example Here is an example of an issue that occurs when Metadata is not re-created in a Loop. In the following process, the Job file is a PDF that contains several invoices. Some (but not all) of those invoices start with a separator page that you don't want to print. Invoices that don't have a separator page should be printed as-is. The process would look something like this (by default): l l l Step 2 splits the PDF whenever it encounters a new Invoice Number on the Top Right corner of a page.
l l l ...and step 5 filters out the first page (which means the Metadata unselects the first Data Page, in effect "hiding" it from the Print Output task). Step 6 prints the PDF to a printer. When printing a PDF file in passthrough mode, the Metadata is inspected to determine which pages should print or not. In this case, Page 1 is unselected in the Metadata, therefore the printer receives the job starting from Page 2, which is exactly what you want.
Metadata Attributes reference An Attribute is a read-only, system-defined element which holds certain information about a certain node in the "Metadata" on page 75 structure. This information can be static (e.g. the size of a physical page) or evaluated on-the-fly (e.g. the number of documents in a group). Attributes are non-repetitive (i.e. name is unique) and do not persist through Metadata recreation.
l Finishing attributes describe the finishing intent (e.g. page dimensions, page orientation, duplex mode, etc.). Note The presence of some finishing attributes depends on the PlanetPress Design document and target device used when producing the job. l Index/Count attributes are not part of the original Metadata file. They are evaluated dynamically, based on the content of the Metadata.
Attribute Description Categor y Jo b Grou p Docum ent DataEncoding (optional) Name of the character encoding. Producti on X X X DataFile (optional) Path and name of the data file used by the PlanetPress Design Document. Producti on X X X Date Date the Metadata was created in ISO format. Producti on X X X Time Time the Metadata was created in ISO format. Producti on X X X Title Title of the source document.
Attribute Description Categor y Jo b Grou p Docum ent X X Datapa ge Pag e source of the Metadata. TargetDevice Name of the device for which the Metadata and associated data is intended. Producti on X Author Name of the user who printed the job initially, as available in the spool file, and as the first job info of the Windows capture input. Producti on X Dimension Two floatingpoint values separated by a colon indicating the media size in typographical points (ex: 612:792).
Attribute Description Categor y Jo b Grou p Docum ent Datapa ge Pag e or "Rotate270", indicating respectively portrait, landscape, rotated portrait and rotated landscape. Side "Front" or "Back"; indicates whether the page is on the front or the back of the paper sheet. This attribute is a "best effort" and is devicedependent. Finishin g X Duplex "None", "DuplexTumb le" or "DuplexNoTu mble"; indicates a change of the duplex status.
Attribute Description Categor y Jo b Grou p Docum ent Datapa ge Pag e identifier of the media source. OutputBin Devicedependent identifier of the media destination. Finishin g X X X X X Weight Devicedependent weight of the media. Finishin g X X X X X MediaColor Devicedependent color of the media. Finishin g X X X X X MediaType Devicedependent type of the media.
Attribute Description Categor y IndexInGroup Returns the Absolute index of the node within all the nodes under the parent Group. Index/C ount IndexInJob Returns the Absolute index of the node within all the nodes under the parent Job.
Attribute Description SelectedPageCo unt Categor y Jo b Grou p Docum ent Index/C ount X X X SelectedIndexInD ocument Returns the Absolute index of the node within all the selected nodes under the parent Document. Index/C ount SelectedIndexInG roup Returns the Absolute index of the node within all the selected nodes under the parent Group. Index/C ount SelectedIndexInJ ob Returns the Absolute index of the node within all the selected nodes under the parent Job.
Attribute Description Categor y Jo b Grou p Docum ent Datapa ge Pag e to execute, as set when printing using a Windows driver. Working with JSON In online processes, it is common to send data to and retrieve data from a server. That data is often exchanged in JSON format. JSON is short for JavaScript Object Notation. It is a way to store information in a structured and easy-to-read format. It is often referred to as "XML without nodes" and it is designed for exchanging data.
Types of JSON in Workflow Workflow tasks that support JSON accept or output one or two of the following types of JSON: l l a regular JSON string, containing a JSON object or an array of JSON objects representing records. If a value in a record object is a string, it is considered to be a field value. If a value in a record object is a JSON object, it is considered to be a nested table with detail records. For examples, see "JSON string examples" below. a JSON Record Data List (see the REST API Cookbook).
{jobid}')", "pages":"lookup(OLCS_jobs, pages, jobid, '%{jobid}')", "documents":"lookup(OLCS_jobs, documents, jobid, '%{jobid}')", "recordsetid":"lookup(OLCS_jobs, recordsetid, jobid, '%{jobid}')" } An example where the entire JSON string is provided in a Job Info variable: %1 A JSON string constructed with information retrieved from an XML job data file (see "XML data selections" on page 60): { "first":"xmlget('/request[1]/values[1]/first [1]',Value,KeepCase,NoTrim)", "last":"xmlget('/request[1]/values[1]/l
}, "tables" : { "detail": { "columns": { "ItemTotal": "CURRENCY", "ItemShipped": "FLOAT", "ItemOrdered": "BOOLEAN" } }, "detail2": { "columns": { "ItemUnitPrice": "CURRENCY", "ItemOrdered": "INTEGER" } } } }, "id": 3678077, "datasetid": 2392921, "fields": { "ID": "CU19762514", "Date": 1331096400000 }, "tables": { "detail": [{ "id": 3678078, "fields": { "ItemTotal": "2300.00", "ItemShipped": 2.0, "ItemOrdered": false } }, { "id": 3678079, "fields": { "ItemTotal": "29.99", "ItemShipped": 1.
"ItemOrdered": 2 } }, { "id": 3678081, "fields": { "ItemUnitPrice": "29.99", "ItemOrdered": 1 } }] } } ] Values could be retrieved in JavaScript as follows: var foo = record.fields.ID; var bar = record.tables.detail[0].fields.ItemTotal; Data Repository The Data Repository is a permanent structure to store data that can then be reused, modified or augmented at a later time, by different processes. This feature was introduced in version 8.5.
Structure As can be seen in the "Data Repository Manager" on page 859, the Data Repository consists of Groups, Keys and KeySets. Feature Name Description Equivalent Database Terminology Group A Group is defined by its Keys (columns), and may contain 0 or more KeySets (rows) within it. Table Key A Key is defined only by its name. The Data Repository only supports STRING values and any data inserted into it is converted to string automatically. The maximum size of a single key is 1 billion bytes.
Retrieving data from the Data Repository In any Workflow task where variable data is allowed (recognisable by the maroon field labels), information can be retrieved from the Data Repository using a Lookup function. Right-click a field with a maroon label and select Get Repository Location. This will bring up the "Data Repository Manager" on page 859. Select a Group, Key and KeySet entry to determine which value or values should be retrieved at runtime; then click OK.
Scripts In a script you can access the Data Repository using the "Data Repository API" on page 175. For a quick start, turn to this How-to: Interacting with the Data Repository API. Data Repository Manager At design-time, the Data Repository Manager may be used to insert or remove Groups, Keys and KeySets; see "Data Repository Manager" on page 859.
When such an error occurs, in most cases you would want to be aware of it and to take certain actions in order to correct or report the error. This is where our error handling features come in handy. Most of the tasks, branches and conditions included in your process can have their own error handling behavior, with the exception of Comments, the Input Error bin task, and older legacy tasks from previous versions of Workflow that did not have error handling.
the process. When an error occurs in a loop (or in a plugin that acts like a loop), the loop may log the error, terminate the current iteration and proceed with the next iteration. l l l l l l l l Stop Branch: If the task is in a branch of the process, the branch is stopped and the job file is returned to the process after the branch. The branch will not produce any output. If the task is not on a branch, the entire process will be stopped.
your process, and will be triggered if the Send to Process option is checked in that tab and an Error process is selected in the drop-down list. To create an Error process, simply replace the initial input task by the InputErrorBin Input task, and that process automatically becomes able to handle error jobs sent to it. It is up to you, however, to decide how that error job will be handled.
Variable Name %{error.process} Name of the process where the error was triggered. %{error.tasktype} The type of task that triggered the error %{error.taskname} The name of the task that triggered the error %{error.taskindex} The position of the task in the process %{error.errormsg} The error message, as entered in the OnError tab of the task. This is the same message as appears in PlanetPress Workflow Log file. %{error.errorid} The error ID, as entered in the OnError tab of the task.
l HTTP/SOAP Server l LPR Client l FTP Client l PlanetPress Image l PlanetPress Fax l PlanetPress Messenger 3. When any job or file is processed by the selected service, the processing logs will be displayed in the window on the right. Note The information that is displayed here is the same as in PlanetPress Workflow logs and depends on the logging level that you set in the "General and logging preferences" on page 796 and on the 'Minimal logs' option in the "Process properties" on page 874.
Note The PlanetPress Image and PlanetPress Fax logs are available in different folders. From the Watch folder, go up one level then go in either folders, under which you will find the Log folder for that specific software within the suite. Resubmit backed up input files to a process Each Input task includes an option that lets you back up input files. This option is not selected by default, since it has the potential to generate a very large number of backup files.
Here's how to resubmit backed up input data files. Note The resubmit option is triggered through the Workflow configuration tool, but the job being resubmitted is actually handled by the Workflow Service, using that service's credentials. The service must therefore be running in order to resubmit jobs. 1. In the PlanetPress Workflow Ribbon, go to the Tools tab then click Resubmit Job in the Services group. The File Resubmission dialog box is displayed. 2.
Knowing what to resubmit When something goes wrong with an output job, a print job for instance, and printouts are lost, you need to know the name of the job in order to resubmit the input. This refers to the name used internally by PlanetPress Workflow and generated by the Input task using parameters defined within the task. The name of the job file can be found in the logs (see The PlanetPress Workflow Service Console).
Note The sample job file should generally be the exact same format as the data that the process will receive when PlanetPress Workflow is processing the job at run-time. About the Debug mode When debugging your process, it is important to keep in mind that: l l l The initial Input task is never executed. The sample data file is used instead of the initial run. This is to prevent "live" data from being retrieved by the initial input task while debugging is being done.
Double-click on any task to change its properties. If you change the properties of a task before you step through it, those new properties will be used when the task is executed. Note that you cannot modify the process itself while in debug mode (you cannot add, delete or move tasks, change branches and conditions, etc). Look at the Messages Area pane to see any message generated by the tasks that run (See " The Message Area Pane" on page 885).
Debugging and Emulation changes One of the cases where debugging is most useful is whenever the job file is converted to another type of emulation, or if a new data file of a different emulation is used somewhere in the process. For example, if a process starts with a Line Printer data file and then converts it into a PDF, it is not possible to select anything from the PDF to be used as (variable) task property, because the Line Printer emulation is active by default.
l Instead of skipping through each task, use the Run from here or Step from here options, either from the Debug tab or by right-clicking on the task where you want to start the process. About printing To print a document you can either use an Output task, or a combination of "PlanetPress Workflow printer queues" on page 112 and the Printer Queue Output task. Decisive factors, in addition to the printer that you're using, are: l l l The type of job (Connect, or PlanetPress Suite).
Presets have to be sent to or imported into Workflow before they can be used in a Workflow process. Alternatively, the All in One and Create Output tasks can send the spool file back to the Workflow process, instead of to the destination defined in the Output Creation Preset. (To achieve this, select the Handle through Workflow option in the task properties.
Note that the Printer Queue Output task requires printer licenses, unless you have the “Optimized Output” add-on in your Connect license, which grants you the equivalent of PlanetPress Production in Connect Workflow. Even then, doing “printer-centric” output requires a printer license (see "Activate a printer" on page 856). Printer-centric printing Alternatively the merging of the document and data can take place inside a printer (if the printer is suitable for it).
server. In the case of a Windows Output printer queue, on the other hand, you will specify the name of a local or shared Windows printer queue. Using Printer Queues To send print jobs to any of those PlanetPress Workflow printer queues, you must use a "Printer Queue Output" on page 621 task. Note that with a single task, you can send print jobs to multiple Workflow printer queues simultaneously, regardless of queue types.
l l l l Add: Click to add a new command to the list displayed in the Commands box. You must then edit the new command’s description and value. Note that new commands are shared by all printer queues. Delete: Click to remove a command from the Commands box. Command description: Use this box to edit the description of the command currently selected in the Commands box. Command value: Use this box to edit the code of the command currently selected in the Commands box.
Windows Output printer queue Windows output printer queues send print jobs to local or network printer queues set up in the Windows session in which PlanetPress Workflow is running. Note that jobs sent to those queues completely bypass the printer driver. Properties General tab l l l Printer queue: Select the Windows printer queue to which you want to send print jobs. Job name: Enter the job’s file name. By default, the variable %f (Job File Name; see "System variables" on page 723) is used.
l Command value: Use this box to edit the code of the command currently selected in the Commands box. Use the right-click menu for a list of standard printer control characters. (See also: "Frequently used printer control characters" on page 114.) LPR Output Printer Queue LPR output printer queues send print jobs to LPD-compatible printers using the LPD/LPR protocol.
Advanced tab l l l l l l l Print speed: Enter the speed, in pages per minute (PPM), of the printer associated with the printer queue. This value is used to determine how to divide jobs when you use the Queue Balancing option for load balancing. Commands: The list of available commands appears in this box. Select either Pre-job commands or Post-job commands in the Selected box, and double-click a command from this list to add it to the appropriate list.
General tab l FTP Server: Enter the IP address or host name of the FTP server. l User name: Enter an FTP server user name. l Password: Enter a password associated with the FTP server user name entered above. l l l l l Use FTP Client default port number: Forces the FTP connection on port 21, the default FTP port. FTP Port: Enter the FTP port to use. This option is disabled if Use FTP Client default port number is checked. The port should always correspond with the server's port number.
l l l Delete: Click to remove a command from the Commands box. Command description: Use this box to edit the description of the command currently selected in the Commands box. Command value: Use this box to edit the code of the command currently selected in the Commands box. Use the right-click menu for a list of standard printer control characters. (See also: "Frequently used printer control characters" on page 114.
l l l l l Selected: Select either Pre-job commands or Post-job commands to add new commands to the appropriate list and to see those commands that have already selected. Double-click a command to remove it from the selected list. Add: Click to add a new command to the list displayed in the Commands box. You must then edit the new command’s description and value. Note that new commands are shared by all printer queues. Delete: Click to remove a command from the Commands box.
documents" on page 45. For information about printing, see "About printing" on page 110. Assigning documents to a Workflow printer queue To assign PlanetPress Design documents to PlanetPress Workflow printer queues: 1. In the PPS/PSM Documents group of the Configuration Components pane, select either a single document or a group of documents. 2. Drag the selected documents over a PlanetPress Workflow printer queue. The selected document or the group of documents is associated with the printer queue.
The settings available in this window are the same as the Printer Settings dialog of a document's properties in the Documents list of the Configuration Components pane, but they are specifically for this document on this printer queue. See "PlanetPress Design document properties" on page 840 for more details. Triggers In PlanetPress Workflow, a trigger is typically a two line piece of PostScript code placed just before the data.
Install a Objectif Lune Printer Driver (PS) The Objectif Lune Printer Driver (PS) is automatically installed during the PlanetPress Workflow setup, along with a default Windows Printer Queue called PlanetPress Printer. Install a Windows Printer Queue using the Objectif Lune Printer Driver (PS) A Windows Printer Queue using the Objectif Lune Printer Driver (PS) can be installed from PlanetPress Workflow WinQueue Input plugin properties. To create a new Windows printer queue from any PlanetPress Workflow: 1.
Spool Print Jobs in RAW Format l l This will create a PostScript data file when the option Create Composed Document Stream (with Medatada) is unchecked. This will create a PDF data file when the option Create Composed Document Stream (with Medatada) is checked. Create Composed Document Stream By default, the Create Composed Document Stream option is: l Checked if the incoming stream has been produced with the Objectif Lune Printer Driver.
Note Steps 6-8 can be performed at any time, even if PlanetPress Workflow is not yet started. This is because every Windows printer queue using Objectif Lune Printer Driver (PS) is paused by default. Once the service has started, it captures every queued job. PDF creation parameters PDF files retrieved from a Windows print queue using Objectif Lune Printer Driver (PS) have the following properties: l PDF 1.
PlanetPress Workflow processes act as dispatchers: on the one hand, they retrieve data and control plugins that retrieve data from watched locations, and on the other hand they can perform a variety of operations on the data and send data to various devices. A given process may include Output tasks that generate files used by Input tasks from other processes. Each process’s schedule determines when its initial input task can be performed.
Regular and startup processes can be set to be Active (process runs normally) or Inactive (process will not run at all); see "Activating or deactivating a process" on page 131. Startup processes Startup processes run only once before every other process in a given configuration. They can be used to perform operations that need to be completed once before the configuration can actually be run, such as to map network drives.
l l In the Ribbon, go to the Home tab and click the Process button in the Processes group. In the Configuration Components pane, right-click on any process or the Processes folder and select Insert > Insert Process or Insert Self Replicating Process. Regardless of the method, a new process is created with a default name (Process1, Process2, etc), an Input task and an Output task. The defaults are configurable in the "Default configuration behavior preferences" on page 778 screen.
Tip A branch in a process can be converted into a subprocess; see "Converting a branch to a subprocess" on page 139. Editing a process Designing a process is done by dragging tasks from the Plug-In Bar onto the process in the Process area. Each task then needs to be configured via the Task properties dialog (see "About Tasks" on page 300). For a list of all operations you can perform on tasks in the Process area, please refer to "The Process area" on page 890.
PrintShop Mail documents" on page 50. To import processes and other components from a configuration file: 1. From the PlanetPress Workflow Button, choose Import | Configuration Components. The Import dialog appears. 2. Navigate to the PlanetPress Workflow configuration file containing the processes or groups of processes you want to import. 3. Select the file, then click Open.
Important considerations l l When importing a PlanetPress Workflow configuration file, resource files like Connect templates, PlanetPress Design documents and PrintShop Mail documents are not physically imported as they are not part of the configuration file itself. In order for the documents to be available, you will need to send each document from Connect Designer, PlanetPress Design or PrintShop Mail (see their respective documentation for details).
Process properties To have access to the properties of a process or subprocess: l Right-click on the process in the Configuration Components pane. l Select Properties. You can also double-click on the process to show its options. Note Subprocesses do not have the General tab which is only used for scheduling, but they do have the Information tab. Options General tab l l l l Active: Select to make the process active.
maximum number of threads is 10 and you specify 50% here, a maximum of 5 replications will occur (the original process + 4 copies). l As soon as possible: Select to have the process run continuously. Clear to enable the Time Grid to fine-tune the schedule of the process. Tip Non-startup processes starting with the HTTP Server Input, NodeJS Server Input, LPD Input or SMTP Input task will run trigger-based if they are set to run As soon as possible with a Polling interval of 0. This reduces CPU usage.
l Select Date to display dates on the grid’s top ruler. l Select any of the other options to display days on the top ruler. l Select All weeks to have the process run every week. l l l l l Select First, Second, Third or Fourth to have the process run on the first, second, third or fourth week. Select Last to have the process run only on the last week. Time division: Select the duration of each daily segment in the time grid.
l Click on any block to select / deselect it. l Click and drag from one block to another to toggle all blocks between the two. l Shift-click on any block to toggle all blocks from the top-left corner of the grid to the block you click.
l l l To select all of the time segments for a given day or date, click the day or date on the top grid ruler. To deselect all of the time segments for a given day or date, CTRL+click the day or date on the top grid ruler. To select all the days or dates for a given time segment, click the time segment on the left grid ruler. To deselect all the days or dates for a given time segment, CTRL+click the time segment on the left grid ruler.
On Error Tab A process’s On Error tab specifies the default values for error handling of all of the tasks in that process. When a task has its own error handling settings, those settings overwrite the process's default error handling settings. The Set All Tasks button resets the On Error properties of all the tasks included in the current process to the On Error properties of the process itself.
condition results in a "true" or "false" value. If the result is true, it goes in the branch, processes all tasks up to the output, and the process finishes. If the result is false, it goes down the main trunk and continues processing until the process finishes.
Converting a branch to a subprocess To allow for maximum flexibility and backward compatibility with the subprocess feature, the Convert to subprocess option lets users transform existing processes easily. This option is available whenever a Branch task is selected; right-clicking on it will display the contextual menu, which holds the Convert to subprocess option.
Using Scripts Scripts can be used to perform various operations, such as to manipulate data, for example. PlanetPress Workflow can perform scripts written in four different scripting languages and also provides an interface for editing scripts. Note While this chapter provides some very useful and detailed information about scripting within PlanetPress Workflow, its focus is to inform you about the features, variables and functions unique to this environment.
Note l l The JScript engine is Microsoft’s JScript 5.8, which is the equivalent of JavaScript 1.5 (ECMA-262 3rd edition + ECMA-327 (ES-CP) + JSON). Enhanced JScript allows the use of more recent JavaScript syntax. Many methods - basic methods like Date.now(), String.trim(), btoa()/atob() and more advanced methods like Array.forEach() - are added to the JScript engine via the polyfill.js library.
The Script Editor and XSLT Editor The Script Editor is used to edit scripts in Run Script tasks and the XSLT Editor is used to edit scripts in Open XSLT action tasks. You can open either editor using the Open Editor button from the task's Properties dialog. When you do so, the script currently displayed in the dialog box is pasted to the editor’s scripting box. Both editors are visually identical and share almost exactly the same commands.
Importing a script To import a script: 1. In the editor, choose File > Import. The Open dialog box appears. 2. To import a script that uses a different scripting language or that was saved under a different file format, make a selection in the Files of type drop-down list. 3. Navigate to the script you want to import and select it. 4. Click OK. The script is imported, displayed and formatted according to the syntax of the language selected in the editor.
1. Choose Search | Find, or press CTRL+F. The Find Text dialog box appears. The last used string is displayed in the Text to find drop-down list box. 2. Set the search settings and options. l l l l l l l l l l Text to find: Enter a new search string or select a previous search from the dropdown list. Case sensitive: Select to limit the search to instances of text with the same case as the text in the Text to find box.
4. To find the next matching string, choose Search | Find Again or press F3. Find and replace Strings in a Script The Replace With dialog box lets you search for and replace text strings in the editor. The available options help you limit the search, making replacements quicker and easier. To find and replace strings in a script: 1. Choose Search | Replace, or press CTRL+R. The Replace With dialog box appears. The last used strings are displayed in the Text to find and Replace with boxes. 2.
reaches the end of the script or script selection, the search finishes. It does not loop back to the beginning. l l l Backward: Select to search the script backward, from the location of the cursor or from the end of the script, depending on what you choose for the origin (From cursor begins where the cursor is currently located in the script, Entire scope begins from the beginning of the script or beginning of script selection).
2. Enter a new line number in the Enter new line number box or select one from drop-down list. 3. Click OK. Bookmarks in a script Bookmarks help you identify and jump to specific places within your script. Bookmarks are displayed in the editor’s gutter, so you will not be able to see them unless the gutter is both visible and sufficiently wide. If line numbers are also displayed in the gutter, bookmarks may be harder to see. To control line number and gutter display, see "Editor Options" on page 821.
SOAP Server API Reference PlanetPress Workflow offers a SOAP Server API Reference allowing jobs to be submitted from a third party application using the SOAP protocol. SOAP is short for Simple Object Access Protocol. While there are multiple possibilities for solutions using a SOAP server implementation, the SOAP Server API Reference is specifically for submitting jobs from a SOAP client.
server. "SubmitJobInfStruc" on page 156 Structure containing any required information to prepare the file for a valid insertion into a PlanetPress Workflow process. Note With the SOAP API reference, new SOAP plugins have been introduced. The old plugin, which could be used as an Input, Action or Output task, was renamed Legacy SOAP Client and has become obsolete.
Note To obtain access to the complete list of processes for all users, the end-user must have administrator privileges. GetProcessTaskList The GetProcessTaskList function will allow a user (a SOAP client) to remotely request the tasks list of a process. This will be useful with the PostJob method since it needs a TaskIndex. Syntax GetProcessTaskList (ProcessName, user name, Password) : GetProcessTaskListResult Parameters l ProcessName: The Name of the PlanetPress Workflow process.
Note The TaskNames array will be sorted by the execution order of the process with the primary input of the process having an index of 1. GetSOAPProcessList The GetSOAPProcessList function will allow users to request the list of PlanetPress Workflow processes that contain a SOAP Input plugin with the SOAP action name. This is useful when working with the SubmitJob SOAP API method since it requires a SOAPActionName.
Note If a user has administrator privilege, he will have access to all processes and therefore he will see all the processes. PostJob The PostJob method allows a user (a SOAP client) to remotely submit files to PlanetPress Workflow by using the Resubmit from here feature. The main advantage of this feature is that it allows a user to specify a starting task index from which the File is to be processed.
Note The task index can be retrieved by using the GetProcessTaskList method. See point GetProcessTaskList for details. Note The PostJob method can never return a file to the calling application. PostJobInfoStruc Structure containing any required information to prepare the file for resubmission into a PlanetPress Workflow process using a SOAP client. l VariableList: Array of complex type, containing pairs of variable names and variables value. The list also contains the Job Info variables.
Syntax SubmitJob (File, SubmitJobInfStruc , ReturnJobFile, user name, Password) : SubmitJobResult Arguments l l l File – base64Binary. This is an array of byte base64 encoded (see http://en.wikipedia.org/wiki/Base64). SubmitJobInfStruc – Structure containing any required information to prepare the file for a valid insertion into a PlanetPress Workflow process (see "SubmitJobInfStruc" on the next page). ReturnJobFile – Boolean value. When true, PlanetPress Workflow SOAP server returns the job file.
Note The SubmitJob method only returns a file if the PlanetPress Workflow process contains a SOAP Input task. Note If ReturnJobFile is set to true, the schedule options of the process should be set to a pooling lower than four seconds, so the client application gets a timely response. Note To return the file, the process must be completed before the timeout of the server occurs. The Timeout option can be set in your PlanetPress Workflow preferences.
Note While the functions here are in mixed case to simplify reading, it's important to note that some languages (especially JavaScript) are case-sensitive and will require the proper case. Examples in this chapter will always use the proper case when relevant. Here is a list of the methods and functions that are available to you through the automation object (or "Watch" object).
Variable Name Description Example Usage (VBScript) containing any variable available to Watch, including data selections. Example usage: var watchDate = Watch.ExpandString ("%y-%m-%d"); "Watch.GetConnectToken" on page 164 Uses the default Connect Server host as defined in the Workflow preferences to log into the Connect Server and retrieve an authorization token. Example usage: var tokenConnect = Watch.GetConnectToken(); "Watch.
Variable Name Description Example Usage (VBScript) Example usage: var s = Watch.GetMetadataFileName(); "Watch.GetOriginalFileName" on page 168 Retrieves a string containing the job's original path and filename. Note: this filename is generally no longer available if it has been captured by Watch. Example usage: var s = Watch.GetOriginalFileName(); Watch.GetPDFEditObject Is used to manipulate PDF files using the AlambicEdit API.
Variable Name Description Example Usage (VBScript) "Watch.Log" on page 171 Writes to the Workflow log file, or the message window when in debug - can accept multiple log levels from 1 (red) to 4 (gray). Example usage: Watch.Log("Hello, World!", 3); "Watch.SetJobInfo" on page 172 Writes the value of a string to a numbered job info. Example usage: Watch.SetJobInfo(9, "Job info 9 Value"); "Watch.SetVariable" on page 173 Writes the value of a string to a local or global variable by name.
The working directory for the execution of the command line as a widestring. ShowFlags Integer value representing the flag to use during the execution of the command line. These flags have an effect on the execution window opened by the ExecuteExternalProgram procedure. Flag Effect 0 Hide the execution window. 1 Display the window normally. 2 Display the window minimized. 3 Display the window maximized. 4 Makes the window visible and brings it to the top, but does not make it the active window.
Perl $Watch->ExecuteExternalProgram("lpr -S 192.168.100.001 -P auto c:\\myfile.ps", "c:\\", 0, true); Watch.ExpandResourcePath The Watch.ExpandResourcePath method expands a Connect resource file name (e.g. invoice.OL-template) to its fully qualified path (e.g. C:\ProgramData\Objectif Lune\PlanetPress Workflow\Documents\invoice.OL-template). It returns empty ('') if the resource does not exist, and will log an empty line next to the task number if logged.
Syntax Watch.ExpandString(StringToExpand) StringToExpand A regular parseable string that may contain system variables (%u, %f), user variables (%1 to %9), octal codes, and data selections. Note Workflow interprets a backslash in the regular parseable string as an escape character; JavaScript, Python and Perl do the same. This means that backslashes must be doubled when using one of those scripting languages.
Watch.Log "Current Date is: " + s, 2 Python s= Watch.ExpandString("%y-%m-%d") Watch.Log("Current Date is: " + s, 2) Perl $s = $Watch->ExpandString("%y-%m-%d"); $Watch->Log("Current Date is: " . $s,2); Watch.GetConnectToken The Watch.GetConnectTokenmethod uses the default Connect Server host as defined in the Workflow preferences (see "OL Connect preferences" on page 792) to log into the Connect Server and retrieve an authorization token. Syntax Watch.
VBScript Watch.GetConnectToken Python Watch.GetConnectToken(); Perl $Watch->GetConnectToken(); Watch.GetConnectTokenEx The Watch.GetConnectTokenEx method uses the arguments passed to it to log into the Connect Server and retrieve an authorization token. Syntax Watch.GetConnectTokenEx(host, port, username, password) The arguments contain the Connect Server settings (see "OL Connect preferences" on page 792), in the form of strings (host, username and password) and a number (port).
Examples JavaScript Watch.GetConnectTokenEx("localhost", 1234, "myUser", "secret"); VBScript Watch.GetConnectTokenEx "localhost", 1234, "myUser", "secret" Python Watch.GetConnectTokenEx("localhost",1234,"myUser","secret"); Perl $Watch->GetConnectTokenEx("localhost",1234,"myUser","secret"); Watch.GetJobFileName Returns the complete path and file name of the job. This method is the same as PW_ GetJobFileName. getjobfilename() obtains the file name of a PlanetPress Workflow process.
Perl $s = $Watch->GetJobFileName; $Watch->Log("The job filename is: " + $s, 3); Watch.GetJobInfo Returns the job information corresponding to the specified index. Index is an integer from 1 to 9. (See also: "Job Info variables" on page 722.) Syntax Watch.GetJobInfo(Index: integer): string Example JavaScript var s; s = Watch.GetJobInfo(3); Watch.Log("Jobinfo 3's value is: " + s, 2); VBScript Dim s s = Watch.GetJobInfo(3) Watch.Log "Jobinfo 3's value is: " + s, 2 Python s = Watch.GetJobInfo(3) Watch.
VBScript Watch.GetMetadataFileName Python Watch.GetMetadataFileName() Perl $Watch->GetMetadataFileName(); Watch.GetOriginalFileName Returns the original name of the file, when it was captured. This method is the same as PW_ GetOriginalFileName. Example JavaScript Watch.GetOriginalFileName(); VBScript Watch.GetOriginalFileName Python Watch.GetOriginalFileName() Perl $Watch->GetOriginalFileName(); Watch.GetResources The Watch.
resourcetype A string containing a file extension (e.g. "ol-template") to get a specific type of resource, or an empty string to get all resources. Examples JavaScript Watch.GetResources("OL-template"); VBScript Watch.GetResources "OL-template" Python Watch.GetResources("OL-template"); Perl $Watch->GetResources("OL-template"); Watch.GetVariable Returns the string value of the corresponding variable name. Note that if an undeclared variable is called using this method, an error will be generated.
s = Watch.GetVariable("global.MyVariable") Watch.Log "global.MyVariable's value is: " + s, 2 Python s = Watch.GetVariable("MyVariable") Watch.Log("global.MyVariable's value is: " + s, 2) Perl $s = $Watch->GetJobInfo(3); $Watch->ShowMessage("global.MyVariable's value is: " . $s, 2); Watch.InstallResource The Watch.
VBScript Watch.InstallResource "c:\myfile.ol-package" Python Watch.InstallResource("c:\\myfile.ol-package"); Perl $Watch->InstallResource("c:\\myfile.ol-package"); Watch.Log Creates messages that are added to PlanetPress Workflowwatch.log file. The PlanetPress Workflow watch.log file is located in the following folder: %PROGRAMDATA%\Objectif Lune\PlanetPress Workflow 8\PlanetPress Watch\Log View error messages in the Services Console while PlanetPress Workflow is in Run mode by choosing Tools | Services | S
An integer between 1 and 4, specifying the severity level of the error message. Set message levels as follows. Level Description 1 The message is logged as an Error in the log file. 2 The message is logged as a Warning in the log file. 3 The message is logged as Information in the log file. 4 The message only appears when the application runs in Debug mode. Examples In the following example, log() will write an information entry in the watch log that says "this is a log" VBScript Watch.
Example JavaScript Watch.SetJobInfo(3, "Job info 3 Value"); VBScript Watch.SetJobInfo 3, "Job info 3 Value" Python Watch.SetJobInfo(3, "Job info 3 Value") Perl $Watch->SetJobInfo(3, "Job info 3 Value"); Watch.SetVariable Sets the variable to a specified string value. Note that if an undeclared variable is called using this method, an error will be generated. Syntax Watch.SetVariable (Name: String; Value: String) Example JavaScript Watch.SetVariable("MyVariable", "Desired value"); Watch.SetVariable("global.
Watch.Sleep Pauses the process for the specified number of milliseconds. This can be used while waiting for something else to happen when the delay is known. Syntax Watch.Sleep(milliseconds: integer) Example In the following example, Sleep() pauses the process for 1 second (1000 milliseconds) JavaScript Watch.Sleep(1000); VBScript Watch.Sleep 1000 Python Watch.Sleep(1000) Perl $Watch->Sleep(1000); Script.
JavaScript var everythingOK; everythingOK = true; if(everythingOK){ Script.ReturnValue = 1; } else { Script.ReturnValue = 0 } VBScript Dim everythingOK everythingOK = true if (everythingOK = true) then Script.ReturnValue = 1 else Script.ReturnValue = 0 end if Python everythingOK = True if everythingOK: Script.ReturnValue = 1 else: Script.
For a quick start, turn to this How-to: Interacting with the Data Repository API. Warning All operations on the Repository must be performed through this API - rather than directly accessing the physical file - since the Repository's underlying file structure may change over time. This API is guaranteed to remain compatible with future versions of the Data Repository. It is used by all Workflow tasks dealing with the Repository.
set repoObject = CreateObject("RepositoryLib.WorkflowRepository") In each example in this documentation, the object repoObject is deemed having been obtained through the above call to the COM object. The default Repository is always stored at the same location (see "Where to find the Data Repository" on page 98). The ConnectionString property allows to create an instance of the Repository at another location; see ConnectionString.
Name Description you know for sure no other process is accessing the Data Repository. "ClearRepository" on page 186 Deletes all groups, keys and keysets from the repository, returning it to a blank state. Use with caution! "ClearGroupData" on page 185 Deletes all keysets inside GroupName while retaining the existing key structure. "ClearAllData" on page 185 Delete all keysets in all groups, while retaining the existing key structure.
Name Description operation has no impact on the data stored in the specified group, it does require any plugin and/or script that uses oldName to be modified to refer to newName. Key Methods Name Description "AddKey" on page 183 Adds key KeyName to group GroupName. KeyName must not already exist in the specified group. Note that this method only adds a key name to the group, not a key value. See "AddValue" on page 184 for information on how to set a value for a key.
Value Methods Name Description "AddValue" on page 184 Creates a new KeySet by assigning Value to the key KeyName in Group GroupName. Note that KeyName must exist in GroupName, otherwise an error is raised. See "AddKey" on page 183 for information on adding a key to a group. Upon successful completion, the method returns the ID of the newly created KeySet. "GetValue" on page 187 Performs a lookup in group GroupName and retrieves the first value for key KeyName that matches Condition.
KeySet methods Name Description "AddKeySets" on page 183 Inserts a new keyset inside GroupName and assigns values to keys as specified in KeyValues. Every key specified in KeyValues must exist otherwise an error is raised. However, it is not required to specify all available keys in KeyValues. Only the keys specified are updated in GroupName while unspecified keys are set to an empty string. "GetKeySets" on page 186 Retrieves Keys values in GroupName for keysets that match Condition.
Name Description ID: integer): integer ExamplesIn each of these examples, the object repoObject is deemed having been obtained through a call to the COM object "RepositoryLib.WorkflowRepository" (see Obtaining an instance of the Repository Object).JavaScript/* both methods perform the same task */repoObject.RemoveKeySetByID ("Users", 10);repoObject.RemoveKeySets ("Users", "ID=10");VB Script/* both methods perform the same task */repoObject.RemoveKeySetByID "Users", 10repoObject.
AddKey Adds key KeyName to group GroupName. KeyName must not already exist in the specified group. Note that this method only adds a key name to the group, not a key value. See "AddValue" on the next page for information on how to set a value for a key. Syntax AddKey(GroupName: string, KeyName: string) Examples In each of these examples, the object repoObject is deemed having been obtained through a call to the COM object "RepositoryLib.
JavaScript repoObject.AddKeySets("Users", '[{"FirstName": "John","LastName": "Smith"},{"FirstName": "Richard", "LastName": "Doe"}]'); VB Script repoObject.AddKeySets "Users"," [{""FirstName"":""John"",""LastName"":""Smith""}, {""FirstName"":""Richard"",""LastName"": ""Doe""}]" Inserting a row In most cases, you won't need to insert or update a row in a script, as this can be easily done through the the Push to Repository action task.
Syntax AddValue(GroupName: string, KeyName: string, Value: string): integer64 Examples In each of these examples, the object repoObject is deemed having been obtained through a call to the COM object "RepositoryLib.WorkflowRepository" (see "Obtaining an instance of the Repository Object" on page 176). JavaScript repoObject.AddValue("Users", "LastName", "Smith"); VB Script repoObject.
ClearRepository Deletes all groups, keys and keysets from the repository, returning it to a blank state. Use with caution! Syntax ClearRepository() GetKeySets Retrieves Keys values in GroupName for keysets that match Condition. When an asterisk * is passed as the Keys parameter, all keys are retrieved. To ensure backward compatibility with versions prior to 2018.1, all keys are retrieved when the Keys parameter is left empty. It is however recommended to use an asterisk instead.
myKeySet = repoObject.GetKeySets("Users", " [""FirstName"",""LastName""]", "Gender='M'") Querying a single row This JavaScript example shows how to get one or more rows from the repository and use them in the process. The script gets 3 fields ("firstname", "lastname" and "email") from the CustomerID field. It assumes there's a local variable called %{CustomerID} set in the workflow process. var CustomerID = Watch.GetVariable("CustomerID"); var repoObject = new ActiveXObject ("RepositoryLib.
Condition may be left empty in which case the very first value found for the specified KeyName is returned. Syntax GetValue(GroupName: string, KeyName: string, Condition: string) Examples In each of these examples, the object repoObject is deemed having been obtained through a call to the COM object "RepositoryLib.WorkflowRepository" (see "Obtaining an instance of the Repository Object" on page 176). JavaScript var myValue = repoObject.
"CustomerID='CURD654321'"); /* Update Values */ repoObject.SetValueByID("customers", "FormOfAddress", "Mr.", keySetID); repoObject.SetValueByID("customers", "Country", "US", keySetID); repoObject.SetValueByID("customers", "Language", "EN", keySetID); ListGroups Retrieves the list of all group names in the Repository, stored in a JSONStringArray.
Examples In each of these examples, the object repoObject is deemed having been obtained through a call to the COM object "RepositoryLib.WorkflowRepository" (see "Obtaining an instance of the Repository Object" on page 176). JavaScript var repoObject = new ActiveXObject ("RepositoryLib.WorkflowRepository"); var myList = JSON.parse(repoObject.ListKeys("Internal")); for (var Property in myList) { /* Log all key names for group Users to the console */ Watch.
VB Script repoObject.RemoveGroup "Users" RemoveKey Removes existing key KeyName from group GroupName. The key to remove must exist in the group, otherwise an error is raised. All values for the key, in all keysets for the group, are removed. Note that when the Group contains a large number of KeySets, this operation may take a while.
Examples In each of these examples, the object repoObject is deemed having been obtained through a call to the COM object "RepositoryLib.WorkflowRepository" (see "Obtaining an instance of the Repository Object" on page 176). JavaScript /* both methods perform the same task */ repoObject.RemoveKeySetByID("Users", 10); repoObject.RemoveKeySets("Users", "ID=10"); VB Script /* both methods perform the same task */ repoObject.RemoveKeySetByID "Users", 10 repoObject.
Deleting a row This script attempts to delete a client from the rows, then returns "true" or "false" in JobInfo variable %9 as a response. var CustomerID = Watch.GetVariable("CustomerID"); var repoObject = new ActiveXObject ("RepositoryLib.WorkflowRepository"); var deletedCount = JSON.parse(repoObject.RemoveKeySets ("customers","customerID = '" + CustomerID + "'")); var answer = (deletedCount > 0) ? "true" : "false"; Watch.SetJobInfo(9, answer); RenameGroup Renames group oldName to newName.
Syntax RenameKey(GroupName: string, oldName: string, newName: string) Examples In each of these examples, the object repoObject is deemed having been obtained through a call to the COM object "RepositoryLib.WorkflowRepository" (see "Obtaining an instance of the Repository Object" on page 176). JavaScript repoObject.RenameKey("Users", "LastName", "SurName"); VB Script repoObject.
repoObject.SetValue("Users", ); repoObject.SetValue("Users", AND MaritalStatus='Married'" repoObject.SetValue("Users", AND MaritalStatus=''" ); "FormOfAddress", "Mr.", "Gender='M'" "FormOfAddress", "Ms.", "Gender='F' ); "FormOfAddress", "Miss", "Gender='F' VB Script repoObject.SetValue "Users", "FormOfAddress", "Mr.", " Gender=""M"" " repoObject.SetValue "Users", "FormOfAddress", "Ms.", " Gender=""F"" AND MaritalStatus=""Married"" " repoObject.
Examples In each of these examples, the object repoObject is deemed having been obtained through a call to the COM object "RepositoryLib.WorkflowRepository" (see "Obtaining an instance of the Repository Object" on page 176). JavaScript /* both methods perform the same task */ repoObject.SetValueByID("Users", "FormOfAddress", "Mr.", 10); repoObject.SetValue("Users", "FormOfAddress", "Mr.", "ID=10" ); VB Script /* both methods perform the same task */ repoObject.SetValueByID "Users", "FormOfAddress", "Mr.
Metadata API The "Metadata" on page 75 is a hierarchical structure describing the data in a job. It is composed of 5 basic levels, from top to bottom: Job, Group, Document, Datapage, and Page. There is a set of plugins that allow to edit the Metadata during a Workflow process (see "Metadata tasks" on page 514), but you can also manipulate the Metadata in your process via scripts using the Metadata API.
MetaFile The MetaFile object represents the physical Metadata file and is used to load and save the Metadata from and to the file system. It also publishes the "MetaJob" on page 200 object, which is the root node of the Metadata structure. The MetaFile object is the only object that is formally published to the user. All the other objects are obtained, directly or indirectly, through methods of this object. A standalone, empty MetaFile object can be created using CreateObject ("MetadataLib.
Job() Returns the "MetaJob" on the next page node, which sits at the top of the Metadata tree structure. "LoadFromFile(const String Filename )" below Loads a Metadata file from the file system. "SaveToFile(const String Filename)" below Saves a Metadata file to the file system. "Export(const String Filename, TExportFormat Format)" below Exports the Metadata in a non-native format. LoadFromFile(const String Filename ) Loads a Metadata file from the file system.
Format Format in which to save the file. The only value currently supported is efXml21 (value = 0), which is an XML format corresponding to the former Metadata native file format. Exceptions l EOleException: The specified export format is invalid. MetaJob Properties Name Type Description "Attributes" on page 232 MetaCollection Returns the node's attribute collection. (See the "Metadata Attributes reference" on page 83.) "Count" on page 218 Integer Returns the number of child nodes.
account. 0: The node is not selected. 1: The node is selected but one of its parents is not. 2: The node and all of its parents are selected. Methods Name Return type Description "Add(Integer Index)" on page 220 Node Adds a new child node to the current node. "AttributeByIndex(Integer Index)" on page 221 String Returns the specified attribute's value. "AttributeByName(const String Name)" on page 221 String Returns the value of the attribute of the specified name.
Integer Index)" on page 224 field of the specified name. "Item(Integer Index)" on page 226 Node Returns the child (node) item located at the specified index. Group(Integer Index), see "Item(Integer Index)" on page 226 Node Returns the MetaGroup at the specified index. "PageCount()" on page 226 Integer Returns the total number of pages present underneath this node. "Paste()" on page 227 Node Inserts the clipboard's content as the last child of the current node.
"SelectedPageCount()" on page 229 Integer "Sort(const String Name, optional TSortFlags Flags, optional const String Name2, optional TSortFlags Flags2, optional const String Name3, optional TSortFlags Flags3)" on page 230 Returns the number of pages selected to be output that are underneath this node. Sorts the sub-nodes according to a number of criteria. MetaGroup Properties Name Type Description "Attributes" on page 232 MetaCollection Returns the node's attribute collection.
"Selected" on page 219 Bool Indicates whether or not the Node is set to be printed. "SelectedCount" on page 219 Integer Returns the number child nodes selected to be output. (See also: "Including or excluding nodes from the output" on page 216.) "SelectedState" on page 220 Integer Returns an integer indicating whether the node is selected or not, taking its parents into account. 0: The node is not selected. 1: The node is selected but one of its parents is not.
"DatapageCount()" on page 222 Integer "Delete()" on page 223 Returns the total number of datapages present underneath this node. Deletes the node. "FieldByIndex(Integer Index)" on page 223 String Returns the specified field's value. "FieldByName(const String Name)" on page 224 String Returns the value of field of the specified name. "FieldByNameIndex(const String Name, Integer Index)" on page 224 String Returns the value of the N'th field of the specified name.
"Select(TSelectWhat SelectWhat)" on page 228 Selects the child nodes according to the SelectWhat parameter. The TSelectWhat type is not defined in an Active Script environment, such as the Run Script task. See the detailed reference for the numerical values to use. "SelectedDatapageCount()" on page 228 Integer Returns the number of datapages selected to be output that are underneath this node.
page 218 "Fields" on page 233 MetaCollection Returns the node's field collection. "Index" on page 218 Integer Gets the index of the node in its parent. "NodeType" on page 218 TNodeType Returns the node type of the current Node. Note that the TNodeType type is not defined in an Active Script environment, such as the Run Script task. See the detailed reference for the numerical values to use. "Parent" on page 219 Node Returns the parent node of the current node.
"Add(Integer Index)" on page 220 Node Adds a new child node to the current node. "AttributeByIndex(Integer Index)" on page 221 String Returns the specified attribute's value. "AttributeByName(const String Name)" on page 221 String Returns the value of the attribute of the specified name. "Clear()" on page 222 Deletes all the child nodes as well as the attributes and fields. "Copy() " on page 222 Places a copy of the node in the metadata clipboard.
the documents from all the groups into account. "Item(Integer Index)" on page 226 Node Returns the child (node) item located at the specified index. Datapage(Integer Index), see "Item(Integer Index)" on page 226 Node Returns the MetaDatapage at the specified index. "PageCount()" on page 226 Integer Returns the total number of pages present underneath this node. "Paste()" on page 227 Node Inserts the clipboard's content as the last child of the current node.
"SelectedIndexInJob()" on page 229 Integer "Sort(const String Name, optional TSortFlags Flags, optional const String Name2, optional TSortFlags Flags2, optional const String Name3, optional TSortFlags Flags3)" on page 230 Index of the page among all the selected pages in the Job. Sorts the sub-nodes according to a number of criteria. MetaDatapage Properties Name Type Description "Attributes" on page 232 MetaCollection Returns the node's attribute collection.
page 219 printed. "SelectedCount" on page 219 Integer Returns the number child nodes selected to be output. (See also: "Including or excluding nodes from the output" on page 216.) "SelectedState" on page 220 Integer Returns an integer indicating whether the node is selected or not, taking its parents into account. 0: The node is not selected. 1: The node is selected but one of its parents is not. 2: The node and all of its parents are selected.
"Delete()" on page 223 Deletes the node. "FieldByIndex(Integer Index)" on page 223 String Returns the specified field's value. "FieldByName(const String Name)" on page 224 String Returns the value of field of the specified name. "FieldByNameIndex(const String Name, Integer Index)" on page 224 String Returns the value of the N'th field of the specified name.
as a child node at the specified index. "Select(TSelectWhat SelectWhat)" on page 228 Selects the child nodes according to the SelectWhat parameter. The TSelectWhat type is not defined in an Active Script environment, such as the Run Script task. See the detailed reference for the numerical values to use. "SelectedIndexInDocument()" on page 229 Integer Index of the page among all the selected pages in its parent Document.
"Fields" on page 233 MetaCollection Returns the node's field collection. "Index" on page 218 Integer Gets the index of the node in its parent. "NodeType" on page 218 TNodeType Returns the node type of the current Node. Note that the TNodeType type is not defined in an Active Script environment, such as the Run Script task. See the detailed reference for the numerical values to use. "Parent" on page 219 Node Returns the parent node of the current node.
"FieldByName(const String Name)" on page 224 String Returns the value of field of the specified name. "FieldByNameIndex(const String Name, Integer Index)" on page 224 String Returns the value of the N'th field of the specified name. "IndexInDocument()" on page 225 Integer Returns the index of this page in its parent document, taking all the pages from all the datapages into account.
l "MetaDocument" on page 206 l "MetaDatapage" on page 210 l "MetaPage" on page 213 The MetaJob is a collection of MetaGroup objects, where each MetaGroup is a collection of one or more MetaDocument objects, and so on, except for the MetaPage which does not have child nodes. Properties and methods All Node objects share a number of properties and methods that are common to all Node object types.
SelectedCount only considers child nodes that have their Selected property set to true, but also checks if their parents also have their Selected property to true. It is therefore possible that a node is selected but is not counted. The SelectedState property can be used to verify the effective selection state of a node, i.e. whether or not a node will be part of the output and, if not, whether it is because it is itself not selected or one of its parents is not.
Properties Attributes Returns the attribute collection (MetaCollection) of the current node. See "Attributes" on page 232. Count Not available in MetaPage Returns the number of child nodes in the current node. Fields Returns the field collection (MetaCollection) of the current node. See "Fields" on page 233. Index Not available in MetaJob Gets the index of the node in its parent. Returns: The index (0-based) at which the current node is found in the parent's node list.
3 Document 5 Datapage 6 Page Note In an Active Script environment, such as the Run Script task, the return value is a numerical value. However, in environments where the TNodeType type is defined, the node types are ntJob, ntGroup, ntDocument, ntDatapage, and ntPage. Parent Not available in MetaPage Returns the parent node of the current node. Selected Not available in MetaPage Indicates whether or not the node is set to be printed (see "Including or excluding nodes from the output" on page 216).
Returns the number of child nodes in the current node that are set to be output, meaning that they have their Selected property set to true, taking the parents into account. Returns: The number (integer) of child nodes that will be included in the output. If the current node and all of its parents have their Selected property set to true, this amounts to the number of child nodes that are selected. If any parent is not selected, returns 0.
Parameters: Index Specifies where in the child list to add the node. The node is inserted before the node at the specified index. In other words, the node being inserted becomes the node found at Index. To add a node at the start of the collection, use 0. To add it at the end, use Node.Count. Returns: Reference to the Node that was added. Exception: l EOleException: The value of Index is invalid. AttributeByIndex(Integer Index) Returns the value of the Metadata attribute at the specified index.
Returns: The value of the attribute as a string. If an attribute named Name is not found, an empty string is returned. Clear() Not available in MetaPage Deletes all the child nodes of the current node, as well as all of its attributes and fields. Copy() Not available in MetaJob Places a copy of the current node, along with all of its children, attributes and fields, in the metadata clipboard. Modifying the original node after the copy is made does not modify the copy in the clipboard.
Returns the number of MetaDatapage nodes in all child nodes. This methods recursively goes through all child nodes to count the total number of MetaDatapage that are contained underneath the current node. Returns: Total number (integer) of MetaDatapage nodes found under the current node. Delete() Not available in MetaJob Removes the current node, along with all of its children, attributes and fields, from the metadata structure. Warning The node being deleted is removed immediately.
0-based index of the field value to retrieve. The index of the first element is 0 and the index of the last is Count-1. Returns: The value of the field as a string. Exception: l EOleException: Index is lower than 0 or higher than Count-1. FieldByName(const String Name) Returns the value of the Metadata Field of the specified name. (See: "Fields" on page 233.) If more than one field has the same name, this method returns the value of the first one it finds, starting at the first field in the list.
Returns: The value of the specified field as a string. If an field named Name is not found, or Index is higher or equal to the number of fields named Name (in other words, you specify 4 to get the fifth but there are only three), an empty string is returned. Exception: l EOleException: Index is lower than 0. IndexInDocument() MetaPage and MetaDatapage only Returns the index of this page in its parent document, taking all the pages from all the datapages into account.
Returns: Absolute index (0-based) of the page within all the pages in the job. Item(Integer Index) Group ( Integer Index ) MetaJob only Document ( Integer Index ) MetaGroup only Datapage ( Integer Index ) MetaDocument only Page ( Integer Index ) MetaDatapage only Returns the child node located at the specified index. Parameters: Index 0-based index of the node to retrieve. The index of the first node is 0 and the index of the last is Count-1. Returns: Reference to the specified node.
Paste() Not available in MetaPage Inserts the contents of the metadata clipboard as the last child node of the current node. This removes the node from the clipboard, making it empty after the paste operation. Returns: Reference to the top node being pasted. Exception: l EOleException: The node type of the clipboard and the current node don't match. For example, trying to paste a MetaGroup in a MetaGroup or a MetaPage in a MetaDocument.
Select(TSelectWhat SelectWhat) Not available in MetaPage Changes the "selected" status of the current node as well as all of its child nodes according to the SelectWhat parameter. Parameters: SelectWhat Indicates what to select. The value swNone changes the Selected property of the current node and all child nodes to false, while swAll changes it to true. Script users: use 0 for swNone, 1 for swAll.
SelectedIndexInDocument() MetaDatapage and MetaPage only Returns the index of this page in its parent document, taking only the selected pages into account. Returns: Absolute index (0-based) of the page within all the selected pages under the parent document. If the page is not set to be output (i.e. its SelectedState is different than ssTrue), it returns -1.
Returns the number of pages under the current node that are set to be part of the output, i.e. that have their Selected property set to true, as well as all of their parents. Returns: The number of such nodes, if any. If the current node is not selected or one of its parents is not, it returns 0.
All the parameters to this method except for the first one are optional. If a Name is specified, it must be valid for every sub-node. If, for example, the specified field is not found in a sub-node, or a numeric sort is performed and one of the values is not numeric (i.e. consists of only decimal characters, no thousand or decimal separator allowed), the method will fail. If a sub-node contains multiple occurrences of fields with the specified name, only the first occurrence will be considered.
Exceptions: l l l EOleException: Specified field or attribute does not exist in one of the sub-nodes. EOleException: A numeric sort is specified and one of the fields or attributes does not contain a valid numeric integer value. EOleException: An error occurred while comparing two strings. Attributes An Attribute is a read-only, system-defined element: a name/value pair, where the name is case-insensitive. It holds certain information about a certain "Node" on page 215 in the Metadata structure.
Methods Name Return type Description "Add(const String Name, const String Value)" on page 235 Adds a new element to the collection or overwrites its value. Clear() Clears all elements from the collection. "CountByName(const String Name)" on page 237 Integer "Delete(Integer Index)" on page 237 Returns the number of elements with the specified name. Deletes the element at the specified index. "Item(Integer Index)" on page 237 String Returns the value of the element stored at the specified index.
Properties Name Type Description Count Integer Returns the number of elements in the collection. Methods Name Return type Description "Add(const String Name, const String Value)" on the facing page Adds a new element to the collection or overwrites its value. "Add2(const String Name, const String Value, TAddFlags Flags, Integer Index (optional))" on the facing page Adds a new element with a customizable behavior if the name already exists.
page 238 "Name(Integer Index)" on page 239 String Returns the name of the element stored at the specified index. Attributes and Fields methods This topic lists the methods of the "Attributes" on page 232 and "Fields" on page 233 collection container objects. Note that the Add2() and the ItemByNameIndex() functions are only available with Fields. Fields support multiple entries with the same name, which is forbidden with Attributes.
Parameters Name Name of the field to add. The name must adhere to this syntax rules: start with a letter, followed by zero or more letters, numbers, underscore or dash. The name is not casesensitive. Value Value of the element. There is no restriction on the content, although binary is discouraged. Flags Additional flags for the method. This determines how the method behaves when the specified name already exists.
l EOleException The index is invalid. l EOleException An index is specified but afReplace is not specified. CountByName(const String Name) Returns the number of attributes or fields (integer) with the specified name. Parameters Name Name of the element to count. Returns Number of occurrences of elements with the specified name. Note that when counting an attribute by name, the only possible values are 1 and 0 because attributes can only occur once.
0-based index of the element to delete. The first element in the collection is at index 0 and the last is at Count-1. Returns The value of the specified element as a string. Exceptions l EOleException Index is lower than 0 or higher than Count-1. ItemByName(const String Name) Returns the value of the element of the specified name. Parameters Name Name of the element to retrieve. Returns The value of the element as a string. If no element is found, an empty string is returned.
Ordinal of the field to retrieve. To retrieve the value of the first field named Name, use 0. For the second field, use 1, and so on. Returns The value of the specified field as a string. If an field named Name is not found, or Index is higher or equal to the number of fields named Name (in other words, you specify 4 to get the fifth but there are only three), an empty string is returned. Exceptions l EOleException Index is lower than 0.
To create a StringSort object, use CreateObject("MetadataLib.StringSort") or the {A07730B74100-457E-91E2-31BFF24E1EC4} CLSID. Although the object is published by the metadata library, it is completely independent of the metadata and can be used in any script, including those run outside of PlanetPress Suite. Methods Name Returns Description "Add(const String Key, Integer Value)" on the facing page Integer Adds a new item in the sort list.
Add(const String Key, Integer Value) Adds a new string key in the list, with an optional associated integer Value. Key String on which the sort will be performed. Value (optional) Integer associated with the string. This value is not used and will not be changed by the sort class. If the string goes to another position in the list after the sort, this value will move as well to the new index of the string. Return value: 0-based index (integer) of the newly added string.
Return value: 0-based index (integer) of the string. If the string is not found, the method returns -1. Key(Integer Index) Returns the key at the specified index. Index 0-based index (integer) of the string to retrieve. Return value: String. Value of the key at the specified index. Exceptions l EOleException Index is lower than 0 or higher than Count-1. Sort() Sorts the items in the list according to their key. The sort performed is a simple alphabetical string sort: 30 comes after 200.
AlambicEdit API reference The AlambicEdit library allows Workflow to access, create or modify PDF files. It does so by wrapping Adobe PDF Library API calls in an object-oriented COM API. The use of COM as the underlying technology allows Workflow's scripting environment to create an instance of that COM object through the Watch.GetPDFEditObject method (see "The Watch Object" on page 156). The object's hierarchy is modeled on the PDF document structure: l l l The PDF object implements the IPDF interface.
Methods Syntax RETURN_VALUE_TYPE methodName( [ARGUMENT_TYPE arg1[, ARGUMENT_TYPE arg2[,...]]] ) Methods with a RETURN_VALUE_TYPE of VOID do not have a return value. In case of failure, methods raise an exception. Examples VOID Open( STRING fileName, BOOLEAN doRepair ) STRING GetXYML() JavaScript implementation: myPDF.Open("C:\\PDFs\\SomeDocument.pdf", false); var myXYML = myPDF.GetXYML(); Note: In JavaScript, all method calls must include parentheses, even for methods that do not require arguments (e.g.
VBScript implementation: currentOrientation = myPDF.Pages(0).Orientation myPDF.Pages(0).Orientation = 180; Structures Syntax STRUCT_NAME { FIELD_TYPE fieldName1[, FIELD_TYPE fieldName2[, ...]] } Examples IPDFRect { LONG left, LONG top, LONG right, LONG bottom } JavaScript implementation: var pdfRect = myPDF.Pages(0).Size(); var pageWidth = pdfRect.right - pdfRect.left; VBScript implementation: set pdfRect = myPDF.Pages(0).Size pageWidth = pdfRect.right - pdfRect.
VBScript implementation: set myPDF = Watch.GetPDFEditObject IPDF methods Name Return type Description "Close()" on page 248 Closes the PDF file. If changes were made but not saved, they are silently lost. All IPage objects must be released before closing a PDF. "Create(filename)" on page 249 Creates a new empty PDF file. "GetInfos()" on page 249 "IPdfInfos" on page 273 "GetVersion(*major, *minor)" on page 250 Retrieves the contents of the Document Information Dictionary from the PDF.
"MergeWith2(pdfFilename, xnum, ynum, xoffset, yoffset, scaleFactor)" on page 251 Overlays each page of pdfFilename (the source) onto pages of the current PDF (the destination) in a grid whose size is specified by xnum and ynum. The pages are laid from left to right and then from top to bottom. "Open(filename, doRepair)" on page 252 Opens an existing PDF, optionally repairing it. "OpenEx(filename, password, doRepair)" on page 253 Opens an existing, password-protected PDF, optionally repairing it.
"setTolerances (tolerableDeltaWidth, tolerableDeltaHeight, tolerableDeltaFontHeight, tolerableGap)" on page 256 Sets the floating point values for the tolerable factors. "SetVersion (major, minor)" on page 256 Sets the version of the underlying PDF file format. This is applied when the file is saved. "SetXMP(xmpPacket)" on page 257 Sets the XMP attachment by replacing the existing one with xmpPacket. IPDF methods reference Close() Closes the PDF file.
If you run the above code without calling the CollectGarbage() method, the Close() method will error out. Create(filename) Creates a new empty PDF file. See also: "Save()" on page 255. Syntax VOID Create (STRING filename) filename Name of the file to create. The file is not physically written to disk until IPDF.Save() is called.
Return value An "IPdfInfos" on page 273 structure containing the PDF properties. Cannot be NULL. GetVersion(*major, *minor) Returns the version of the underlying PDF file format. Note: This method is not available in all scripting environments. Syntax GetVersion(LONG *major, LONG *minor) major Pointer to a LONG that receives the major version number. minor Pointer to a LONG that receives the minor version number. GetXMP() Retrieves the XMP attachment embedded in the PDF.
IsProtected(filename) Returns True if the PDF file is password-protected. When a file is password-protected, the OpenEx() method must be used instead of the Open() method. See also: "OpenEx(filename, password, doRepair)" on page 253. Syntax BOOL IsProtected (STRING filename) filename Name of the file to check for password-protection. Return value True if the file is password-protected, False otherwise.
In PlanetPress Suite, this method is useful for n-Up imposition. For example, (xnum=1, ynum=1, scaleFactor=1.0) means that each source is overlaid on the corresponding destination page, 1 on 1, 2 on 2, 3 on 3, etc. Having (xnum=3, ynum=2) with xoffset, yoffset and scaleFactor set accordingly results in a 3x2 mosaic looking like this: 1 2 3 4 5 6 There is no separator between the source pages on the destination page. A space can be obtained by using an offset bigger than the size of the scaled source page.
VOID Open (STRING filename, BOOL doRepair) filename Name of the file to open. doRepair Boolean. If true, the software automatically attempts to repair the file if it is found to be damaged or corrupt. Otherwise, the operation fails if the file is damaged. OpenEx(filename, password, doRepair) Opens an existing, password-protected PDF, optionally repairing it. See also: "IsProtected (filename)" on page 251. Syntax VOID OpenEx (STRING filename, STRING password, BOOL doRepair) filename Name of the file to open.
Print(printername) Prints a range of PDF pages to the specified Windows printer with default options. See also: "PrintEx(printername, *PdfPrintParams)" below. Syntax VOID Print ( STRING printerName, LONG fromPage, LONG toPage ) printerName (optional) Name of the printer to print to. The default options of the printer will be used. If NULL, the default printer is used. fromPage 0-based index of the first page to print. toPage 0-based index of the last page to print.
Pointer to an "IPdfPrintParams" on page 274 structure that specifies various print options. If NULL , default values are used. Save() Saves changes to the PDF file. The version of the PDF file format is the highest possible for a newly created file and is unchanged when saving an existing file, unless the SetVersion method was called in which case the file format used will be the one set by SetVersion. See also: "SetVersion (major, minor)" on the next page.
setTolerances(tolerableDeltaWidth, tolerableDeltaHeight, tolerableDeltaFontHeight, tolerableGap) Sets the floating point values for the tolerable factors. Syntax VOID setTolerances ( FLOAT tolerableDeltaWidth, FLOAT tolerableDeltaHeight, FLOAT tolerableDeltaFontHeight, FLOAT tolerableGap ) tolerableDeltaWidth Tolerable delta width factor value. tolerableDeltaHeight Tolerable delta height factor value. tolerableDeltaFontHeight Tolerable delta font height factor value.
SetXMP(xmpPacket) Sets the XMP attachment by replacing the existing one with xmpPacket. Syntax VOID SetXMP ( STRING xmpPacket ) xmpPacket New XMP attachment to use instead of the existing one. Pages collection object The Pages collection object implements the IPages interface. This interface defines methods to add, import, move or delete pages as well to access individual Page items. It is accessed via the "PDF object" on page 245.
srcIndex, srcCount, destIndex)" on page 260 "InsertFrom2 (srcPages, srcIndex, srcCount, destIndex)" on page 260 "Item(index)" on page 261 Inserts pages from another IPages object into this one. All relevant resources are copied with the pages. IPage (see "Page object" on page 262) "Move(index, count, offset)" on page 261 Returns a Page object from the PDF. Note that sinceItem() is the collection's default method, it can be omitted altogether (e.g. IPages(0) is the same as IPages.Item(0)).
0-based index of the page to delete. ExtractTo(destFilename, srcIndex, srcCount, optimize) Extracts pages from the PDF and creates a new file with these pages. All relevant resources are copied with the pages. If the target file already exists, it is overwritten. Syntax VOID ExtractTo ( STRING destFilename, LONG srcIndex, LONG srcCount, BOOL optimize ) destFilename Name of the PDF to create with the specified pages. srcIndex 0-based index of the first page to copy.
0-based index at which to insert the page. The page is inserted *before* the page at index "index ". To insert a page at the end, use IPages.Count(). mediaSize "IPdfRect" on page 275 structure containing the rectangular dimensions of the new page, in points. Cannot be NULL. InsertFrom(srcFilename, srcIndex, srcCount, destIndex) Inserts pages from another PDF file into this one. All relevant resources are copied with the pages. See also: "Count()" on page 258.
VOID InsertFrom2 ( IPages srcPages, LONG srcIndex, LONG srcCount, LONG destIndex ) srcPages IPages collection from which the pages are retrieved. srcIndex 0-based index of the first page to copy. srcCount Number of contiguous pages starting from srcIndex to insert. If srcCount is -1, all pages from srcIndex up to the end are inserted. destIndex 0-based index of the position where to insert the pages. They will be inserted before the page at index destIndex. To insert the pages at the end, use IPages.
VOID Move ( LONG index, LONG count, LONG offset ) index 0-based index of the first page of the range. count Number of contiguous pages to move. offset Number of hops to move the pages. If negative, the pages are moved towards the beginning of the file. If positive, towards the end. Page object The Page object implements the IPage interface. This interface defines methods to retrieve information from a page or modify it.
separated by a CR-LF pair. "ExtractText2(left, top, right, bottom)" on page 267 String Returns the text located inside the region bounded by the left, top, right and bottom parameters. If multiple lines are found, they are separated by a CR-LF pair. "MediaSize()" on page 268 "IPdfRect" on page 275 Returns the size of the actual media, i.e. the sheet of paper. "setIncludeBorders (pbIncludeBorders)" on page 268 Sets whether or not borders are included for IPage.ExtractText2().
left, top, rotateAngle, scaleFactor, layerName)" on page 272 "Size()" on page 273 () but allows to put the source page as a layer (aka an Optional Content Group). "IPdfRect" on page 275 Returns the size of the rectangle that is used to clip (crop) the content of the page before applying it to the medium, in points. IPage methods reference Draw(context, scale, offsetX, offsetY) Draws the page onto the device context.
Vertical offset from the top edge of the DC surface, in *device* units, at which to start the drawing. The drawing is done in PDF user space units (72th of an inch). In order to have a smooth drawing of the page, the device context must have its mapping mode set to MM_TEXT with a 1:1 mapping between logical space (SetWindowExtEx) and device space (SetViewportExtEx).
Warning This method is subject to many limitations (see below) and exists for backwardcompatibility and debugging purposes only. For production purposes, use ExtractText2() instead. Syntax VOID ExtractText ( FLOAT left, FLOAT bottom, FLOAT right, FLOAT top ) left Distance in inches of the left limit of the region from the left edge of the /CropBox. bottom Distance in inches of the bottom limit of the region from the bottom edge of the /CropBox.
l l Horizontal moveto is not considered as a space. /CropBox size is not taken into account (an object whose left is at 144 is considered to be 2 inches from the edge even if the /CropBox starts at 72). l Only horizontal text is supported; vertical or rotated text is undefined. l Rotated pages are unsupported. l /UserUnit is not supported. ExtractText2(left, top, right, bottom) Returns the text located inside the region bounded by the left, top, right and bottom parameters.
MediaSize() Returns the size of the physical medium on which the page is intended to be placed, in points. This corresponds to the /MediaBox entry of the /Page object in the PDF. See also: "Size()" on page 273. Syntax IPdfRect MediaSize ( ) Return value An "IPdfRect" on page 275 structure containing the dimensions, in points, of the media size. Cannot be NULL. setIncludeBorders(pbIncludeBorders) Sets whether or not borders are included for IPage.ExtractText2().
Tolerable delta width factor value. tolerableDeltaHeight Tolerable delta height factor value. tolerableDeltaFontHeight Tolerable delta font height factor value. tolerableGap Tolerable gap between words factor value. Merge(imageFile, left, top, rotateAngle, scaleFactor) Inserts an image file and places it on the page at a specific location. Supported image types are: JPG and PNG. It calls MergeToLayer internally.
scaleFactor Scale at which to display the image. For bitmaps, this is based on a 72 dpi resolution. Use 1.0 for the nominal size. Merge2(srcPage, left, top, rotateAngle, scaleFactor) Transparently places a PDF page on top of the current page at a specific location. The source page can be either from the same PDF or another opened file. If the source is from the same PDF file, the source page is not modified. This allows to have the same behavior as IPDF.
MergeToLayer(imageFile, left, top, rotateAngle, scaleFactor, layerName) This method behaves the same as Merge() but allows to insert the image as a layer (aka an Optional Content Group). Supported image types are JPG and PNG. If the input file is a PNG with an alpha channel, the PNG is alpha blended with the page underneath. Monochrome PNG files are drawn transparently, with the white used as the transparent color.
Name of an Optional Content Group in which to put the layer containing the image. The string cannot be empty but can be NULL if no layer is required. MergeToLayer2(srcPage, left, top, rotateAngle, scaleFactor, layerName) This method behaves the same as Merge2() but allows to put the source page as a layer (aka an Optional Content Group). Syntax VOID MergeToLayer2 ( IPage srcPage, FLOAT left, FLOAT top, FLOAT rotateAngle, FLOAT scaleFactor, BSTRlayerName ) srcPage IPage object to overlay on the current page.
Name of an Optional Content Group in which to put the layer created from the source page. The string cannot be empty but can be NULL if no layer is required. layerName Name of an Optional Content Group in which to put the layer created from the source page. The string cannot be empty but can be NULL if no layer is required. Size() Returns the size of the rectangle that is used to clip (crop) the content of the page before applying it to the medium, in points.
Structure iPdfInfos { STRING Title The document's title. STRING Author The name of the person who created the document. STRING Subject The subject of the document. STRING Keywords Keywords associated with the document. Multiple keywords a separated with semi-colons. STRING Creator If the document was converted to PDF from another format, name of the application that created the original document from which it was converted.
Structure IPdfPrintParams { STRING docName Name of the document; this is the name displayed in the Wi spooler window. STRING pageRange Pages to print and/or page ranges separated by commas; e.g "0,3,5-12". Page numbers are 0-based. Leave empty to print all pages. LONG copies Number of copies to print. BOOL shrinkToFit If true, the page will be resized (shrunk or expanded) and rotated to fit to the physical media on which it is being printed. BOOL printAnnotations If true, annotations will be printed.
All values are expressed in points (72 points per inch). NOTE: the PDF's coordinate system has its origin on the bottom left corner of the page, extending up and to the right. Therefore, a Letter-sized page has the following rectangular values: Stopping execution When using a script, you may come to a point where you'd like the task to fail (raise an error) and trigger your On Error tab under certain conditions (see "Using the On Error tab" on page 99).
If (s = "") Then Err.Raise 449 ' Raises Error #449: "Argument is not optional" Err.Raise 1999,"My Plugin","Custom error" ' Raises error #1999: "Custom error" Else ' Do something with Job Info 9! Watch.Log "Job Info 9's value is: " + s, 4 End If ' JavaScript JavaScript uses the throw statement to create an exception which, if not nested inside a catch () construct, will cause the script execution to stop and the On Error tab to be triggered. var s; s = Watch.
$s = $Watch->GetJobInfo(9); if ($s eq "") { eval {die "Value cannot be empty!"}; } else { # Do something with Job Info 9! $Watch->Log("Job Info 9's value is: ${s}",4); } Special workflow types PlanetPress Workflow supports multiple input and output types, in so many different combinations that it would be hard to give example processes for each possibility.
OL Connect Send (see "OL Connect Send" on page 765) needs one Workflow process to handle the job transfer, and in licensed mode it needs at least one other process to interact with the user. Reports about the use of OL Connect Send might be produced in yet another Workflow process. For examples of these processes see "Workflow processes in a Connect Send solution" on page 298.
l HTTP Data Submission: A custom application or a server sends the request to PlanetPress Workflow using either a POST or GET command. The application or server then waits for a response from PlanetPress Workflow. PlanetPress Workflow can serve both static and dynamic resources to a web browser, however it is not meant to be used as a fully featured web server, as it is not built for responsiveness nor guaranteed uptime.
example, if I type http://www.objectiflune.com/ in my browser, it is actually accessing the address http://www.objectiflune.com:80/ , but port 80 is always hidden. The reason port 8080 is used by default is to prevent any interference with existing web servers installed or activated on the same server as PlanetPress Workflow. l l l Time-out (seconds): This determines how long the HTTP Server service will wait for the process to finish, before returning a time out error back to the client browser.
You also need to take into consideration the options inside each of your processes that start with the HTTP Server Input task, as they will greatly impact how this process responds. In the process's properties, the following options will modify HTTP behavior: l l l Self-Replicating Process: This option is critically important when dealing with HTTP processes.
successful or an HTML page with an error message, it will not attempt to send an HTML with a PDF mime type (which, obviously, would cause confusion). l There is no HTTP Server Output task (see below on how to end your process) Request/process/response cycle Once a process using the HTTP Server Input task is created, it is important to understand the cycle that is triggered when such a process runs.
the output of the Imaging. Similarly, ending a process with the Delete task does not return an empty file, it returns the actual data file. Actually the most used way of returning a response is this: generate an HTML file using either "Create File" on page 312 or "Load External File" on page 415, then use the "Delete" on page 609 task as a last output. The HTML is thus returned to the client.
Process illustration Task breakdown l l l The HTTP Server Input task receives a request through the /getinvoice HTTP Action. Because this task either returns an HTML page with an error message or a PDF, the MIME type is Auto-Detect. It checks whether the invoice request exists by checking if the size of the file is less than 1kb using "File Size Condition" on page 462. The condition returns "true" if the file is not found: c:\PlanetPress\archives\pdf\invoices\xmlget('/request[1]/values[1]/invoicenum [1]
Tip Instead of creating a web page from scratch, you could create a web page from a Connect Web template; use the "Create Web Content" on page 574 task. l If, however, the file is found, then it is loaded with the "Load External File" on page 415 task, and then deleted (for the same reasons).
l A condition checks whether the form has been submitted, by verifying that one of the required fields is empty. If it is, it means this is the initial request, so the condition becomes true. l l l l l If this is the initial request, an HTML page is created which contains a form asking the client for a required full name and email, and optional company name. A checkmark also offers to subscribe to a newsletter (it is unchecked by default!).
Things to keep in mind while working with Metadata are set forth in another topic: "Working with Metadata" on page 78. Note In Connect it is also possible to group, sort and split PDF data using "OL Connect tasks" on page 545. Example: Daily sales report from PDF files This workflow makes heavy use of PDF tasks and Metadata, and assumes that you are using PlanetPress Workflow version 7.3 or higher.
l l l l l l The "Metadata Filter" on page 521 follows by removing any invoice that is not in the US. Note that the Metadata filter is an *inclusive* filter, meaning that the filter includes the parts of the Metadata where the result of the filter is true, and filters out anything else. The "Metadata Sorter" on page 526 then re-orders the Metadata documents by Rep ID, so that all of the invoices for any particular sales representative are all together.
l "Security Considerations" on page 741 l "20,000 Patterns" on page 742 l "PlanetPress Capture Implementation Restrictions" on page 750 There are also 2 external tools that are used to communicate the pen's data to PlanetPress Workflow: l "Anoto penDirector" on page 748 l "PlanetPress Mobile Application" on page 750 Creating a Capture-Ready document This is done when creating your PlanetPress Design document.
l l l l l An "HTTP Server Input" on page 677 task or "Folder Capture" on page 320 task that receives the PGC. The "Error handling" on page 707, which converts each PGC in an EPS layer, adds this layer to the PDF in the database, releases patterns and closes documents. Optionally, a "Capture-Condition" on page 698 task to do post-processing using the Capture Fields data.
l The "Input Error Bin" on page 330 input task is triggered when the process sends data to the error process. l A "PGC to PDF Converter" on page 719 task converts the PGC to a PDF l Any existing output is used here, for example an email notification.
l Any input task l "Create Metadata" on page 514 l "Capture-Fields generator" on page 702 l Print output PGC Handling Process The second process is the PGC Handling process. It receives data from the Anoto Digital pen, updates the Capture database and releases patterns as appropriate.
Post-Processing is generally done using the "Capture-Condition" on page 698 task, which verifies the presence or state of the ink on the document or on specific fields. After PGC Handling Here is an example of a process that receives ink data, updates the database, and then verifies whether or not a field that indicates manager attention is required (for example, a box noting the wrong number of items in a delivery slip). If attention is required, the document is sent via email to the manager.
l l The Capture Fields Processor then uses the PGC file to update any documents in the database that the pen wrote on, and closes those documents in the database when they are complete. Capture Condition is where we can check whether a specific field (a "RequireManager" field) has ink contained in it, and if it does, the branch on the right is triggered.
Capture Web Manager Workflow This example is both a more involved workflow for Capture, and an interesting implementation of an HTTP Workflow. Before looking at this example, it would be best to become familiar with both "PlanetPress Capture Workflow" on page 289 and "HTTP Server workflow" on page 279.
The example is too complex to display as images in this guide, so it is rather available for download. Resources l Capture Web Manager Workflow Configuration (PW7) l Capture Web Manager PlanetPress Design Document (PP7) Note This example is compatible with PlanetPress Workflow 7.4 and higher and will not work in older versions. Installation 1. Download both resource files 2. Create a folder on your disk called c:\PlanetPress 3. Import the invoice.
integrates into the workflow in general and what to keep in mind when doing an actual implementation of such a process. Considerations l l l The workflow itself is a standalone system that does not interact with any third-party systems, which of course does not correspond to real customer implementation. A client will most likely need to communicate with both an ERP system that generates documents as well as an archive software to store completed documents.
Interactive process When a job is received in licensed mode, an interactive process is started. This process, which may consist of several Workflow processes, serves web pages to the customer and handles the customer's response, changing (settings for) the print job. A few of the key components in this process are: l l l l The HTTP Server Input plugin. The interactive process start with this plugin.
About Tasks A task is a plugin or a block that is used to build PlanetPress Workflow processes. Tasks can do multiple things depending on the type of task and where they are placed. You can add as many tasks as you like to your processes and order them in any way you can. There are different types of tasks: l l l Input Task: Will either capture data from a specific location, or wait for input from a service or other computer to start processing.
l "Output tasks" on page 608 l "Unknown tasks" on page 720 Note Completely empty files (0 bytes) cannot be processed by Workflow. In fact, the PlanetPress Workflow plugin based architecture enables almost limitless customization. You can create or purchase compatible plugins, drop them in PlanetPress Workflow's Plug-In Bar and use them to perform other operations. Adding tasks You can add as many tasks as you want to your process by using the Plug-in Bar in PlanetPress Workflow program.
l l You can insert input tasks anywhere in the process except in output task locations. When you add an output task, a new branch leading to that new task is added above the selected task or branch, except when replacing an existing output task. l Dropping a task on top of another one replaces it. l Dropping a task between two tasks will insert it at that location. l You cannot add a task above the initial input task of a process, since new tasks are always added above a selected task or branch.
Each task has its own set of tabs available, though some tabs are common to most tasks. l l l l Most tasks have the General tab which lets you configure the main task properties for that specific task. All tasks except for the InputErrorBin, Run Script, Open XLST and Comment tasks have an On Error tab that lets you manage errors generated by the task. For a description of the options that it contains, see "Using the On Error tab" on page 99.
l Printer Control Characters. See "Shared printer queue properties" on page 113. These are normally only used in printer outputs. Variable properties can also be used in these special locations: l In the Set Job Infos and Variables Action Task. See "Set Job Infos and Variables" on page 432. l In Scripts. See the chapter on "Using Scripts" on page 141. l In the Create File Input Task. See "Create File" on page 312. l Within a PlanetPress Design Document, using the ExpandString() function.
time a new data file passes through it. This is indicated by a data selection (see "Data selections" on page 54). l l l l Get Metadata Value: Brings up the Data Selector with only the Metadata tab visible and lets you select the value (contents) of a Metadata attribute or field. The result is static and does not change between jobs. Get Metadata Location: Brings up the Data Selector with only the Metadata tab visible and lets you select the location of the data.
Masks A file name that includes characters meant to be replaced at run-time is referred to as a mask. Masks can be used in many edit boxes and can be used, for instance, to select multiple files. File selection is typically limited by fixed characters or special wildcard characters. If you create a Folder Capture Input task and enter *.* in the Masks box, the Input task will grab all the files that are put in the source folder. If you enter *.
l Brackets: Specifies a set of supported characters, or range of characters. Only one character from the range is accepted, making this a subset of the ? wildcard. l l l l Sets: [13ab] defines support for one of these 4 characters; file[13ab].txt would pick up file1.txt , filea.txt , but not file13.txt or filea3.txt. Negative Sets: [!13ab] indicates the character should NOT be part of the set. file [!13ab].txt would pick up file2.txt and filec.txt but not file1.txt or fileb.
Variable file name The variable file name feature is used to dynamically determine which file is used with the task. The file name can be constructed using any variable (see "Variable task properties" on page 732). To insert a variable file name: 1. Click on the %o entry in the document list 2. Right-click to insert variables using the contextual menu, or type the variables. 3. Click OK on the dialog.
Input tasks Input tasks are the starting point to any process and determine what file this process will being with. Each process must begin with an Input task, and although a given process may have multiple Input tasks, no task can have more than one initial Input task. Initial Input tasks Initial Input tasks are always at the beginning of a process and are always triggered when the process starts.
This is an important consideration when scheduling a task, as the Folder Capture task will keep capturing files as long as new files are added, even if it means continuing to capture and process outside its scheduled time. It is also important that while the Folder Capture input task is processing files it keeps a copy of each file in a temporary folder, and will not delete any of these files until it has finished processing all of them. This may cause issues with running out of disk space.
l l l Backup input files: Check this to save a copy of each data file that is captured by your input. These files are saved in the PlanetPress Workflow Tools working folders under the "Backup" folder. To navigate quickly to the Workflow working folders, press the keyboard shortcut CTRL+ALT+Shift+F4 from within the Workflow configuration tool. The number of days to keep backups of jobs processed by input tasks is set per process; see "Process properties" on page 874.
l "SMTP Input" on page 367 l "Telnet Input" on page 370 l "WinQueue Input" on page 372 The SFTP Input task also appears in the Input category when it is installed. (It isn't installed by default.) Create File Create File input tasks are different from other input tasks in that they do not pull in data from a source location. The data that this task passes along to other task is its own: text or values from variables entered when the task was created or last edited.
Task properties General Tab l l l Create File: Enter the text to use as the data. The Create File box is a Variables Properties box, so you can use any of the variables, control characters or data selections as noted in "Variable task properties" on page 732. Add CRLF after last line: Check if you want the plugin to automatically add a new line at the end of the file. Remove the checkmark to leave the file as-is, useful in the creation of CSV files for example.
Check the option Use as step description to display the text next to the icon of the plugin in the Process area. Email Input The Email Input task retrieves email data through a Microsoft Outlook or POP3 connection. Note If Microsoft Outlook connection is used, Microsoft Outlook 2000 or higher must be installed on the computer where PlanetPress Workflow is located.
Task properties General Tab l Data Location group l l l Message body: Select to use the data found in the body of the email. Attached file: Select to use the data found in the email’s attachment. If both the Message body and Attached files options are selected, the message’s body and the message’s attachment are treated as separate data files and processed one after the other. Unzip attached file: Select to unzip the attached files.
Login Tab l Use Microsoft Outlook: Select to use the Microsoft Outlook email account of the current user to receive emails. The current user is the one defined in PlanetPress Workflow Service Logon. l l Move message after processing to folder: Enter the name of an Outlook Folder to keep copies of the emails taken by this email input task. You should enter only the name of the folder as it appears in Outlook’s Folder List area, regardless of whether it is a child of another folder.
CTRL+ALT+Shift+F4 from within the Workflow configuration tool. The number of days to keep backups of jobs processed by input tasks is set per process; see "Process properties" on page 874. l l Backup filename: Enter the file name that you wish the input data file backup to be saved under. Delete Existing Metadata: Check to remove any Metadata from memory. This option is disabled on initial input tasks, and is checked by default on secondary input tasks.
Check the option Use as step description to display the text next to the icon of the plugin in the Process area. File Count File Count tasks check if a target folder contains a specified number of files. They can be used as Condition task or as Input task. When used as Input task, the task triggers the process to run only when the condition is true. As long as the condition is false, it does nothing (except log any errors).
selections; see "Variable task properties" on page 303. l Masks: Enter a single or multiple file names or use file name masks (see "Masks" on page 306). Multiple filters are separated by a semicolon (e.g. *.csv;.xls*). This is a variable property field. (See "Variable task properties" on page 303.) l Treat as regular expressions: When ticked, the contents of the Mask field are deemed to be a regular expression .
the "Backup" folder. To navigate quickly to the Workflow working folders, press the keyboard shortcut CTRL+ALT+Shift+F4 from within the Workflow configuration tool. The number of days to keep backups of jobs processed by input tasks is set per process; see "Process properties" on page 874. l l Backup filename: Enter the file name that you wish the input data file backup to be saved under. Delete Existing Metadata: Check to remove any Metadata from memory.
Warning If you create a Folder Capture input task that takes any file it finds in the root folder of one of your hard disks, then PlanetPress Workflow will try to remove all the files located in that folder, including all the system and hidden files. So when using a Folder Capture, be aware of where you are capturing. Processing Each file capture by the input is sent down through the process, one at a time.
option is ticked. The percent sign, the curly brackets and the period are all key elements of the RegEx syntax, therefore they cannot be mixed and matched with Workflow variable data syntax (e.g. %1, ${global.myvar}, etc.). Also, there is no validation of the RegEx being specified. l l l l l l l Sort files by: Select a given sorting method to prompt PlanetPress Workflow to sort the files in the source folder before taking them (and thus to take them in a specific order).
l l l Backup input files: Check this to save a copy of each data file that is captured by your input. These files are saved in the PlanetPress Workflow Tools working folders under the "Backup" folder. To navigate quickly to the Workflow working folders, press the keyboard shortcut CTRL+ALT+Shift+F4 from within the Workflow configuration tool. The number of days to keep backups of jobs processed by input tasks is set per process; see "Process properties" on page 874.
Processing Folder Listing loops through the files and, for each file, generates an XML node with information about the file. Output The output is an XML file containing information about each file. If the Sub-directories option was checked, the structure of the XML also contains the folder structure as it is present on the drive. Here is a sample of the XML that is generated: C:\Samples\ invoice.
Note The
Job Information definitions l %1- Folder: Contains the full path of the base folder from which the files are listed. Miscellaneous Tab The Miscellaneous tab is common to all tasks. Check the option Use as step description to display the text next to the icon of the plugin in the Process area. FTP Input FTP Input tasks retrieve files from FTP sites using the FTP protocol. Masks are typically used to select multiple files to be retrieved from the server.
l l l Password: If account named in the User name box is password protected, enter the password here. Port number: Set to use a specific port number. Note: There is no validation to ensure the port is available. It is the user's responsibility to ensure the selected port is available and not being monitored by another application or another PlanetPress Workflow task. Directory (optional): Enter the path of the folder to poll on the FTP server.
Job Information definitions l l l l %1 - User name: Contains the user name that was used to connect to the FTP server. This is useful if this task is used as a secondary input and the information is defined dynamically. %2 - FTP Server: Contains the FTP address of the server from which the files were retrieved. %3 - Source file name: Contains the name of the current file that was retrieved from the server. %4 - Folder: Contains the FTP folder from which the current file was retrieved.
Task properties General Tab l URL: Enter the URL of the HTTP server from which the file must be downloaded. Since this is a variable property box, variables may be used, as well as the Get Data and Select Data commands (see "Variable task properties" on page 303). Note that when PlanetPress Workflow connects to a secure page, an SSL (Secure Socket Layer) connection is automatically used. Note The connection to remote HTTPS is done through TLS v1 encryption. Prior to version 2019.
CTRL+ALT+Shift+F4 from within the Workflow configuration tool. The number of days to keep backups of jobs processed by input tasks is set per process; see "Process properties" on page 874. l l Backup filename: Enter the file name that you wish the input data file backup to be saved under. Delete Existing Metadata: Check to remove any Metadata from memory. This option is disabled on initial input tasks, and is checked by default on secondary input tasks.
l l %{error.process}: the process name where the error occurred. %{error.tasktype}: the type of the failed task, can be Action, Input, Output, Printer, Comment and Branch. l %{error.taskname}: the name of the plugin (the Display Name as seen in the plugin bar). l %{error.taskindex}: the index of the task in the process (its position in the process). l %{error.errormsg}: the "Message" specified on the OnError tab of the failed task. l %{error.
CTRL+ALT+Shift+F4 from within the Workflow configuration tool. The number of days to keep backups of jobs processed by input tasks is set per process; see "Process properties" on page 874. l l Backup filename: Enter the file name that you wish the input data file backup to be saved under. Delete Existing Metadata: Check to remove any Metadata from memory. This option is disabled on initial input tasks, and is checked by default on secondary input tasks.
Input This task does not poll any location by itself. It sits there waiting for requests coming in through WSDL (SOAP communication) and, when it receives a request, runs the process and returns the last output generated by the process to the client. Processing No processing is done. The request that is received by this task is XML and it is maintained as such. Output As with the HTTP Server Input, this task has a dual-output purpose.
CTRL+ALT+Shift+F4 from within the Workflow configuration tool. The number of days to keep backups of jobs processed by input tasks is set per process; see "Process properties" on page 874. l l Backup filename: Enter the file name that you wish the input data file backup to be saved under. Delete Existing Metadata: Check to remove any Metadata from memory. This option is disabled on initial input tasks, and is checked by default on secondary input tasks.
Processing When the job is received through LPR, it is saved as a job file. No further processing is done on the file. Output The task outputs the job file as is, with no evaluation or modification. Task properties General Tab l l l LPD queue names: Enter the queue name (or names, one per line) specified in the printer queue on the remote computer or computers. Allow empty queue names: Check this option to accept LPR jobs that don't specify a queue name.
l l Backup filename: Enter the file name that you wish the input data file backup to be saved under. Delete Existing Metadata: Check to remove any Metadata from memory. This option is disabled on initial input tasks, and is checked by default on secondary input tasks. Job Information definitions l l l l l l %1 - User name: Contains the user name of the user who sent the job to the printer, or the user for which a software sending the job was logged in under.
The Merge PDF Files Input task performs just like any other Input task: once the process has completed, control is transferred back to the Input task one last time to check if new files meeting the mask have come in. This means that the merging of PDF files that are not all present at the start of the process may take several passes, which may have an adverse effect on the overall performance and the size of the resulting PDF.
l l l l Capture files in sub-directories also: Select to capture files from child folders of the source folder as well. When this option is selected, the chosen Sort order is applied to each separate folder, not across folders. The subfolders themselves are always processed in alphabetical order, regardless of the sort order. Sort directories first: If you selected a sorting method in the Sort files by box, and if you want the folders present in the source folder to be sorted first, select this option.
l l Backup filename: Enter the file name that you wish the input data file backup to be saved under. Delete Existing Metadata: Check to remove any Metadata from memory. This option is disabled on initial input tasks, and is checked by default on secondary input tasks. Job Information definitions l %1 - PDF Directory: Contains the folder from which the data was captured. Miscellaneous Tab The Miscellaneous tab is common to all tasks.
properties" on page 874) and it will capture the emails as long as there is unread email in the selected inbox. Processing The task accesses Inbox folders in the organization through the Microsoft Graph API (subject to that organization's IT policies) . Filtering is done at the mail server. Only the first unread email matching the conditions is retrieved from the mail server, along with its attachments. Captured emails can either be deleted or marked as read.
Body C:\ProgramData\Objectif Lune\PlanetPress Wo 8\PlanetPress Watch\Debug\0106HBKO3IODK3F\ 0106HBKO3IODK40.html Attachment C:\ProgramData\Objectif Lune\PlanetPress Wo 8\PlanetPress Watch\Debug\0106HBKO3IODK3F\ 0106HBKO3X2KK41.pdf Attachment C:\ProgramData\Objectif Lune\PlanetPress Wo 8\PlanetPress Wat
l l l l l %2 - Sender's name: Contains the name of the sender as defined by the sender himself (or, if the sender is using Exchange, by the name defined in his Exchange server). %3 - Sender's address: Contains the email address of the sender as defined by the sender. %4 - Subject: Contains the subject of the received email (may be blank). %5 - Recipients:Contains a list of the names of all the recipients of the email, separated by a semicolon (;).
l l l Tenant ID: Enter the Tenant ID as specified in Azure. This value is static and cannot contain variables. User ID: This is the user's ID or email address. This value is dynamic. You can use any combination of text, variables and data selections; see "Variable task properties" on page 303. Use delegated permissions: Select this option to use delegated permissions instead of application permissions.
The number of days to keep backups of jobs processed by input tasks is set per process; see "Process properties" on page 874. l l Backup filename: Enter the file name that you wish the input data file backup to be saved under. Delete Existing Metadata: Check to remove any Metadata from memory. This option is disabled on initial input tasks, and is checked by default on secondary input tasks. Miscellaneous Tab The Miscellaneous tab is common to all tasks.
Each file captured by the input is sent down through the process, one at a time. When the file is finished, the process goes back to the input which feeds another file down, as long as there are files in the queue. Once all the files are gone, the task polls the input folder again to see if new files are present and, if so, the process continues with these files. Otherwise, the process ends. Note The MS Graph REST API is limited to a certain number of requests within a certain period of time.
l Masks: Enter a single or multiple file names or use file name masks (separated by a semicolon). See "Masks" on page 306. l Treat as regular expressions: When ticked, the contents of the Mask field are deemed to be a regular expression . You can specify multiple masks based on regular expressions, separating the regular expressions by a semicolon. The checkbox is not ticked by default. Please refer to Regular Expressions for more information.
Advanced properties To get access to the following properties tabs, right-click the plugin in the process and select Advanced Properties. "Other" Tab l Job Information group l l l l l Information elements: Indicates what Job Info variables are automatically created by the input task. Add lines before first data page: Using the arrows keys you can add any job information directly at the beginning of your data file.
NodeJS Server is more secure, more up to date and more standardized. For instance: l PUT and DELETE actions can be posted to the server. l The NodeJS Server can serve multiple static resources at once. l Port numbers > 9999 are allowed. l You can specify a HTTPS port separately. l l A Proxy list can be used to setup end points for redirecting requests to another server.
Connect Server Enter the credentials and protocol (either http or https) in the auth and protocol entries. Once the file has been changed, the ppNode service needs to be restarted for the change to take effect. Note Although Workflow can serve both static and dynamic resources to a web browser, it is not meant to be used as a fully featured web server as it is not built for responsiveness nor guaranteed uptime.
Input The NodeJS Server Input task does not, by itself, capture any files. Neither does it directly wait for requests to be received. Actually, it is the NodeJS service that receives the requests and places them in a specific location on the drive. When a request is received, the NodeJS Server Input polls that location and finds the requests and all attachments. It will always pick up the "oldest" request received first.
How arrays in input data are interpreted When the names of Form inputs in an incoming POST request contain two pairs of square brackets: [..][..], the data are interpreted as an array. The value between the first pair of square brackets is expected to consist of two parts, separated by an underscore (e.g. row_0). The first part is considered to be the element's name. All content after the first underscore (preferably an integer) will be used as index, which is given as an attribute of the element (e.g.
Task properties General Tab l HTTP action: Enter the name of the action requested of PlanetPress Workflow by the client. This name corresponds to the URL that the client will be accessing. For example, if you enter "MakePDF" here, you could trigger the process by accessing http://127.0.0.1:9090/MakePDF. This is also what your HTML Form's action should be.
Warning Don't use any non-ASCII characters in Workflow's working directories path (in the V8WorkingDirectory registry key). Combined with the UTF-8 Form Data Encoding setting, this might make it impossible for Workflow to retrieve files from that path, depending on the actual path name and the system locale. l Loop each attachment as a data file: When receiving attachments through a POST request (HTML Form), this option will make the NodeJS Server Input task loop through each attachment.
Wikipedia.) If the response isn't currently handled by any HTTP response code, you may use an unused code in that range. Note The response code must start with 3 digits, followed by a space and then the error message. If the first few characters can't be converted to a valid number, the server automatically returns "500 Internal Server Error", regardless of the actual response code provided by the process.
l Delete Existing Metadata: Check to remove any Metadata from memory. This option is disabled on initial input tasks, and is checked by default on secondary input tasks. Job Information definitions l l l l %1 - Client IP Address: Contains the IP address of the HTTP client requesting a response. %2 - Request Header: Contains the headers of the request, which can contain information such as the Browser and Operating System, languages, etc.
Input This task does not poll an input, it sits there and waits for a job file to be sent by the local PrintShop Mail Web installation. Processing When the job is received from PrintShop Mail Web, it is saved as a job file. No further processing is done on the file. Output The task outputs the job file as is, with no evaluation or modification. The format of the job is PostScript generated by PrintShop Mail Web.
"Other" Tab l Job Information group l l l l l Information elements: Indicates what Job Info variables are automatically created by the input task. Add lines before first data page: Using the arrows keys you can add any job information directly at the beginning of your data file. Backup input files: Check this to save a copy of each data file that is captured by your input. These files are saved in the PlanetPress Workflow Tools working folders under the "Backup" folder.
Input Secure Email Input captures an email and its attachments from the selected inbox when it corresponds to the rules defined in the General tab. It will process one email at a time (unless the process is self-replicating; see "Process properties" on page 874) and it will capture the emails as long as there is unread email in the selected inbox.
Example output file Peter Parker parkerp@ca.objectiflune.com Bill of Lading 2018-03-29 15:52:54 starkt@ca.objectiflune.com Body C:\ProgramData\Objectif Lune\PlanetPress Wo 8\PlanetPress Watch\Debug\0103W5GQXZR2F0A\ Body.html Attachment C:\P
If multiple attachments have the same name, they will be appended with a numeric suffix, for example: File.pdf, File (1).pdf, File (2).pdf. Task properties General Tab Enter the condition(s) that must be met for an email to be captured. l l First found (no conditions): If this option is selected, the first email that is found will be processed (for each iteration of the plugin). In any other case, all conditions must be met for the email to get processed.
Note By default, GMail may not allow Workflow to access the account’s mail boxes unless that account specifically allows automated systems to access the inbox. Please refer to GMail documentation to learn how to do that (https://support.google.com/accounts/answer/6010255?hl=en). l Options: l l l Enter the name of the inbox to monitor. This is useful if the email account has defined rules to automatically store certain incoming messages in a specific mail box.
The number of days to keep backups of jobs processed by input tasks is set per process; see "Process properties" on page 874. l l Backup filename: Enter the file name that you wish the input data file backup to be saved under. Delete Existing Metadata: Check to remove any Metadata from memory. This option is disabled on initial input tasks, and is checked by default on secondary input tasks. Miscellaneous Tab The Miscellaneous tab is common to all tasks.
Task properties General Tab l Since Serial Input tasks have no specific task configurable properties, this section contains no property information. "Other" Tab l Job Information group l l l l l Information elements: Indicates what Job Info variables are automatically created by the input task. Add lines before first data page: Using the arrows keys you can add any job information directly at the beginning of your data file.
SFTP Input The SFTP Input task retrieves files from a secure FTP site through an encrypted connection. Masks are typically used to select multiple files to be retrieved from the server. The SFTP Input and "SFTP Output" on page 617 tasks are part of a separate installer and are not included in the Workflow installer. The SFTP plugin installer can be downloaded from the Resource Center, under 'Plugins' in PlanetPress Connect.
l l l Protocol group l SFTP: Select if the FTP server uses SFTP (SSH). l FTPS: Select if the FTP server uses FTPS (SSL/TSL) Port Number Group l l l Parse password: Checkbox to determine if the password should be parsed or used as a literal string. This option is checked by default (parsed) for backwards comparability with SFTP I/O plugin versions earlier than 1.3. Use default port: Check to use the default port used by the protocol selected above. Port number: Set to use a specific port number.
l l Passive: Select to prompt the ftp client to use the passive mode when retrieving files from the FTP server. Reset Download List: Security Tab This tab defines the certificates used to connect to the secured FTP servers. l l l l Accept all certificates: Check this option to automatically accept the certificates returned by the FTP server.
CTRL+ALT+Shift+F4 from within the Workflow configuration tool. The number of days to keep backups of jobs processed by input tasks is set per process; see "Process properties" on page 874. l l Backup filename: Enter the file name that you wish the input data file backup to be saved under. Delete Existing Metadata: Check to remove any Metadata from memory. This option is disabled on initial input tasks, and is checked by default on secondary input tasks.
Warning Emails received through this task will not reach their intended destination if the process does not end with a Send Email Output Task, or contain the PlanetPress Connect "Create Email Content" on page 554 task. Example In this example, the SMTP Input plugin is used to capture incoming emails data that must meet certain conditions as the subject that contains "Work to do" and the sender that contains "client@company.com ".
These files do not have the full path, but you can use the %t%O variable to get the current temporary folder where they are located. Tip Suppose we have two files named in the XML file under /ppemail[1]/@rawemail and /ppemail[1]/body[1]/@html respectively. With %t%O\xmlget('/ppemail[1]/body [1]/@html',Value,KeepCase,NoTrim) and %t%O\xmlget('/ppemail[1]/@rawemail',Value,KeepCase,NoTrim) we get both the body and the whole raw email.
l l “From” contains: Select to limit those messages used by this task to those that are sent from a specific address. The address you enter in the box below can include variables and wildcards. “To” contains: Select to limit those messages used by this task to those that are sent to a specific address. The address you enter in the box below can include variables and wildcards.
use multiple Telnet input tasks. To turn on or off the Telnet logging option, see the user options (see "Telnet Input plugin preferences" on page 811). Input This task does not poll an input, it sits there and waits for a job file to be sent through the Telnet port. Processing When the job is received through Telnet, it is saved as a job file. No further processing is done on the file. Output The task outputs the job file as is, with no evaluation or modification.
CTRL+ALT+Shift+F4 from within the Workflow configuration tool. The number of days to keep backups of jobs processed by input tasks is set per process; see "Process properties" on page 874. l l Backup filename: Enter the file name that you wish the input data file backup to be saved under. Delete Existing Metadata: Check to remove any Metadata from memory. This option is disabled on initial input tasks, and is checked by default on secondary input tasks.
Processing The print job, by default, is in EMF format. If this option is selected, no action is taken on the data file. However, if the RAW format is selected, the job is converted to RAW. Furthermore, if the Create PDF option is selected, the file is converted to a PDF, including metadata. Output Either one of 3 formats is output from this task: l An EMF job format l A RAW job format l A PDF with attached metadata.
"Other" Tab l Job Information group l l l l l Information elements: Indicates what Job Info variables are automatically created by the input task. Add lines before first data page: Using the arrows keys you can add any job information directly at the beginning of your data file. Backup input files: Check this to save a copy of each data file that is captured by your input. These files are saved in the PlanetPress Workflow Tools working folders under the "Backup" folder.
Action tasks Use action tasks in PlanetPress Workflow to perform a wide variety of operations. PlanetPress Workflow includes more Action tasks than Input and Output tasks combined. Action tasks can even be used to input data and to output data. The difference between an Action task and an Input task is that an Action task can never be the first task of a process. In the same fashion, the difference between an Action task and an Output task is that an Action task can never appear at the end of a process.
l "Send Images to Printer" on page 689 (Legacy task) l "Send to Folder" on page 431 l "Set Job Infos and Variables" on page 432 l "SOAP Client plugin" on page 691 l "Standard Filter" on page 436 l "Translator" on page 437 l "Action-EMF Converter (Windows Print Converter)" on page 694 (Legacy task) Add/Remove Text Add/Remove Text action tasks can be used to perform the following actions on the data file they receive: l Add or remove characters. l Add or remove lines of data.
Task properties General tab l l l l l l l l Action group l Add: Select if you want the task to add content to the job file. l Remove: Select if you want the task to remove content from the job file. Content: Select what the task will actually add or remove. Select Text file to add the whole content of a text file to the beginning or end of the job file.
Advanced Search and Replace Advanced Search and Replace action tasks are used to locate and replace strings of data within the job file and to replace them with other strings of data. Contrary to Search and Replace action tasks, they allow the use of regular expressions. Using regular expressions, it is possible to search for patterns rather than specific strings. For instance, a pattern can be specified to find all valid email addresses or phone numbers within the data stream.
Task properties General tab l Search mode group: Select your chosen search mode within this group. l l l l l Search whole file: Select if you want the entire data stream to be searched as if it were a single string of text. When this option is selected, PlanetPress Workflow loads the entire file in memory. It offers more flexibility, since search expressions may span across multiple lines and may result in more successful hits. Note that since this option uses more memory, it may affect performance.
l l l l l At the beginning of a line: Select to indicate that the search string must be the first string on the line. At the end of a line: Select to indicate that the search string must be the last string on the line. At column: Select to indicate that the search string must be in a specific column. Specify the column number (the value must be greater then 0) in the Column value box below. Between specific words: Select to indicate that the search string must be between specific words.
The numbering follows the order in which groups appear in the search string. For example: "Page $1 of $2 total pages". Miscellaneous Tab The Miscellaneous tab is common to all tasks. Check the option Use as step description to display the text next to the icon of the plugin in the Process area. Barcode Scan The Barcode Scan task is used to convert barcode data from multiple image formats into textreadable information. This information is placed in the Metadata and can be used by the rest of the process.
Output This task outputs the original data file but with modified (or created) Metadata. The format should be the same as the input. Supported barcode types The following types of barcodes are supported: Barcode types Description EAN13 EAN13 symbology. Used with consumer products internationally, 13 characters. EAN8 EAN8 symbology. Short version of EAN-13, 8 characters. UPCA UPCA symbology. Used with consumer products in U.S., 12 characters. UPCE UPCE symbology.
Barcode types Description PDF417 Portable Data File is a 2-dimensional barcode (also known as matrix code) used in a variety of applications, including Transport, Identification cards, and Inventory management. It is best suited for cases where information needs to move with an item or document. DataMatrix DataMatrix is a two-dimensional barcode which can store from 1 to about 2,000 characters.
Settings l l Force checksum validation: Select to define whether the checksum validation is required for symbologies in which a checksum character is optional. The goal of checksum is to detect accidental modification such as corruption to stored data or errors in a barcode values. By default it is set to false.
intensity greater than 128 will be considered as white, while those less than 128 will be considered black. The value 0 means that the color threshold level will be calculated automatically depending on the image. By default Threshold level [0..255] is 0. This parameter is ignored with binary images (black and white images). Miscellaneous Tab The Miscellaneous tab is common to all tasks. Check the option Use as step description to display the text next to the icon of the plugin in the Process area.
l l l l l l l l l BarcodeCount:: Metadata field representing the number of barcodes on the page. Barcode_1_Value: Metadata field representing the value of the first barcode on the page. Note that this field (Barcode_1_Value) contains the same value as the first occurrence of BarcodeValue. BarcodeBase64_1_Value: Metadata field containing the value of the first barcode, encoded in Base64. Barcode_1_Type: Metadata field containing the type of the first barcode (ex. EAN13, UPCA …).
l When using a secondary input, a known issue of the Workflow Tool can cause some unexpected behavior, like having the same Metadata file reused instead of a new one being created for each data file captured. To work around this issue, simply add a Rename action task to set a unique file name (Ex. %u) to each new file before the Barcode Scan task, after each secondary input.
General Tab Add/remove characters: Enter the number of characters to add to, or remove from, the head of the data stream, or use the spin buttons to increment or decrement the value. Positive values add characters; negative values remove characters. This is useful when one or more characters of input data precede the start of the first data page. Note that certain control characters can be problematic.
Emulation. The available emulations are: l Line printer. (Nothing to configure.) l ASCII. l l l l Tab on CR: Select to have the document insert a tab after each carriage return character it encounters. Set the number of spaces in the tab using the Number of spaces in the tab box. This option is available only if you selected the Read in binary mode option. If you cleared Read in binary mode, the printer replaces any end of line characters (CR, LF, or CRLF) it encounters with a LF.
l Channel skip. l l l l Skip page: Enter the channel skip code that, in your data, signals the start of a new data page. In standard channel skip emulation, a 1 (one) signals the start of a new data page. If a 1 appears in the first column of your data, it is likely the channel skip codes are standard, and that only minor adjustments to the other codes, if any, will be necessary.
l Go to column: Use this to enter the channel skip code in your data that tells the document to advance to a specific column. Enter the code in the Char box to the left of the Go to column label, and use the box on the right of the Go to column label to set the column number. This is useful when your data contains redundant lines that were originally created to bold a line on a line printer.
Alternatively this task may be part of a "PDF workflow": a workflow in which both input and output are PDF and in which Metadata tasks are used to group, sort and sequence (split) the PDF data. (See "PDF Workflow" on page 287 for more information on this.) The Create PDF task will apply the active Metadata to the PDF data file. PDFs created with the Create PDF action task will effectively replace the current data file in any given process using such a task.
l l Options group l l l l Optimized PostScript Stream: Select to merge the selected document with the data received by this task before sending it to the PDF RIP. Note that some features, such as the Time and Date require that this option be selected. Add job information to the document: Select to add the available Job Info variables in the “header” of the generated output file. Optimize resulting PDF: Select to specify whether the resulting PDF should be optimized.
l Font group l l l Embed all: Select to embed the entire font of all fonts used in the variable content document within the generated PDFs. Using this option may result in large PDFs, especially if many fonts are used. Note that those fonts installed by default with the Adobe Acrobat and Adobe Reader are never embedded. If a font is not embedded in your PDF, opening it on another computer or printing it may cause it to be substituted by another default font.
"About PlanetPress Image" on page 764). l PDF version: 1.
l Open options: l Zoom factor: Fit in window l Default view: Page only Database Query The Database Query action task retrieves data from various databases to use as input data. The data received by the task may be kept as is or converted to the CSV, Fixed Length Columns or XML format. Database Query action tasks are not considered input tasks as such, because they cannot be used to start a process.
Input Any data file. The data file will be discarded by the task. Processing A connection to the selected database is made, the data is retrieved, and an output in the selected emulation format is generated. Output The result of the query is output in the selected data format. The current emulation is changed to the selected format. Metadata and Job Info variables are not modified in any way.
l l l l Output file emulation: Select the emulation corresponding to the type of output file you want the PlanetPress Workflow Database action task to generate. CR-LF replacement: If you want CR-LF (Carriage Return-Line Feed) characters within the data file to be replaced by another character, use this box to indicate which character to use. You may select the replacement character from the list or type your own.
l l l l Default width: This box is used to set the default width for all fields. It is set to 60 by default, but can be set to any value between 1 and 65535. This value is applied to all the fields in the generated file. To set different widths for each field, use the Configure Width button. Doing this disables the Default width box. Configure Width: Click to set the width of each field in the generated file.
l l l l Alternate syntax: Select to prevent automatically enclosing the names of any database tables and fields that appear in the SQL query in square brackets when it exits the Advanced SQL Statement dialog box. The alternate syntax may be required for some database types. Edit SQL: Click to create and test an advanced SQL query; see "Advanced SQL Statement Dialog" on page 858.
l l l Expect record set: Check if you are expecting a result from the database after executing the SQL query. If the query is expecting a record set in return and does not return one, the task will trigger an error. Database connection string: Enter a variable connection string in this box. To do this you may begin by clicking to create an ODBC connection string to the data source and paste the string automatically to this box.
Output This task outputs the data file it received with no modification. Metadata and job files are not touched either. Task properties General Tab l l l l l l l Zip file name: Enter the name of the zipped file. In this variable property box, you may enter static characters, variables, job information elements, data selections, or any combination of these. Output folder: Enter the name of the folder in which you want the decompressed files to be stored.
task. The image files they generate are always saved, along with their index files (if any), to an archive folder. Note The Digital Action task requires a PlanetPress Image license to be present on the same IP Subnet as PlanetPress Workflow, either on the same server or a different one with PlanetPress Image installed and activated. Differences between Digital Action and Image tasks l l Digital Action is an Action task and cannot be the last task in a branch or process.
that in the latter case, you must be certain that the documents that will be chosen at runtime will in fact be available locally or at the selected host. l l List only documents using VDX compilation: Check to ensure that only documents that are compatible with the VDX compilation method are shown in the list, if producing VDX output. Run mode group l l l l Printer centric: Select to send the document along with the trigger and data to PlanetPress Image.
l l l l DPI: Enter the dots per inch (dpi) resolution of the output image. This property is enabled for all output types except PDF. Color depth: Enter the color depth of the output image in bits per pixel (bpp). The color depth is measured in bits, because each pixel of the output image can be described with a varied number of bits. A higher bit number allows for more colors. It also increases the image file size. A 1-bit color depth produces monochrome images.
(“Statement.%y.%m.@(1,1,1,1,25,KeepCase,Trim)” or ”Job.%f”). Otherwise, when the file is saved, anything appearing after the last dot is replaced by the file’s extension characters (and the file name thus becomes Statement.2005.pdf instead of Statement.2005.255842.pdf, or Job.tif instead of Job.544872.tif). Failing to add the quotation marks may result in files being overwritten.
Note PDF/A output created from a template that uses CMYK colors will be much bigger than PDF/A output created from a template that uses RGB colors, because PDF/A needs to contain a color profile and the CMYK color profile is rather big compared to a RGB color profile. If the output size matters it is recommended to avoid using CMYK colors. l General group l l l l l l l ASCII format: Select to create the PDF file using ASCII characters (instead of the usual 8-bit binary format).
data may contain parentheses, you should use a Run script action task (see Run Script Action Task Property) with a Strip() function to strip them out. l l Monochrome images group l l l Keywords: You may enter keywords for the document. Since this is a variable property box, you may use variables and data selections and let PlanetPress Workflow interpret this information at run-time. Monochrome compression: Select the compression to use for the monochrome images.
area with that pixel value. This method is significantly faster, but results in images that are less smooth. Select Bicubic to use a weighted average to determine pixel shades. This method is the slowest but most precise and results in the smoothest tonal gradations. l l Color images group l l l l Grayscale resolution: Select the resolution to use for grayscale images. Note that this setting has an impact on the grayscale down sampling process.
l Allow printing: Select to let users print the generated PDF files. l Allow changing the document: Select to let users edit the generated PDF files. l l l l l Allow form filling: Select to let users enter information in the form fields included in the generated PDF files. PDF open password: Enter a password in this box only if you want to prevent users who does not have this password from opening the generated PDF files.
in PlanetPress) alongside the PDF pages. Select Page tab and Page to display the content of the Pages tab (thumbnails of each PDF pages) alongside the PDF pages. Select Full screen to hide all screen contents except the PDF page, and expand the PDF page to the maximum size it can occupy onscreen. l Font group l l l Embed all: Select to embed the entire font of all fonts used in the variable content document within the generated PDFs.
must be checked. However, you can override which database will be updating using the option in this window, Override global PlanetPress Search Database settings. The database options then activate. l l l l l l l l l l Database type: Select the type of the database in which you want to create a table (Access, or SQL Server). Connection time-out: Enter the time, in seconds, that the connection to the database is maintained while no action is taking place before the connection is severed.
Note As with any task that can refer to network resources, it is important to understand the considerations involved with paths and permissions of these resources. Please refer to the "Network considerations" on page 22 page. There are some important things to consider when using the External Program task: l l The executable file must accept so-called "command-line options" and be able to run without any sort of user interaction.
run in command mode. Note that the program will be run without user interaction. Although it may display progress information, it is better if the application has no user interface. l l l l Start in: Enter the folder in which the external program is to run. This is important, for example, if the program is to generate files that are to be picked up in a specific location for further processing, or if it requires resources that are located in a specific folder.
condition set will cause be considered a success and any other exit code will cause the On Error tab to be triggered. Miscellaneous Tab The Miscellaneous tab is common to all tasks. Check the option Use as step description to display the text next to the icon of the plugin in the Process area. Load External File Load External File action tasks are used to replace the current job file by the designated text file. Loading an external file does not delete the original file or modify it in any way.
Check the option Use as step description to display the text next to the icon of the plugin in the Process area. Logger Logger action tasks can be used to create a custom event in a Windows event log (using the APPLICATION or SYSTEM parameter) or in the Workflow log (using the WORKFLOW parameter). Note that this requires administrator rights. Input Any text-based file can be used in this task, even formats that are not directly compatible with PlanetPress.
Miscellaneous Tab The Miscellaneous tab is common to all tasks. Check the option Use as step description to display the text next to the icon of the plugin in the Process area. Mathematical Operations The Mathematical Operations action task resolves a mathematical expression and stores the result in an existing Job Information or other type of variable (see "About variables" on page 721). Note When adding this task to your process, you will be asked if you want to add the task as an Action or a Condition.
Task properties General Tab l Mathematical Expression: Variable data field containing the expression to be evaluated. This expression may combine any combination of standard PlanetPress Workflow variables and VBScript mathematical expressions. For example, to multiply Job Info 9 by 2, the expression would be %9*2 . Note The expression itself must be written in a format understood by the VBSCript scripting language.
another XML document is simply to rearrange the information it contains in order to make the data structure more convenient for your needs. Input A valid XML file. Processing The XSLT is applied to the XML data file. Output The modified XML data file is output. Metadata and Job Info variables are not modified. l l File l Import: Lets you open an existing XSLT script from an XSL, XSLT or TXT file. l Export: Lets you save the current XSLT script as a file. l Print: Prints the current XSLT script.
l l l XSLT Version l XSLT 1.0: Select if you will be entering or pasting XSLT version 1.0 code. l XSLT 2.0: Select if you will be entering or pasting XSLT version 2.0 code. Tools l l Go To Line: Brings up the Go To Line dialog where you can enter a line number and jump directly to that line. Editor Options...: Opens the "Editor Options" on page 821.
Licensing This plugin requires the OL Connect Workflow Imaging license. Workflow Imaging is an add-on license bundle for OL Connect Workflow that includes the Image and Fax plugins; see "About PlanetPress Image" on page 764 and "About PlanetPress Fax" on page 763. Without a valid Imaging license, the plugin will fail with an error. In the trial version, the plugin will work, but the resulting PDF file will be watermarked. Input This task accepts any job file as input.
l l External file: Adds the attachments to an external file. Use the Browse button to select a PDF/A-3 compliant file. Note that the task doesn't verify that the target file is PDF/A-3 compliant. If it is a PDF file that is non-PDF/A-3 compliant, the task will add the attachments to it, but it will not convert the file into a PDF/A-3 compliant file. Attachments: Specify which files should be attached to the target file.
l Relationship: Specifies what the attachment is in relation to the (entire) PDF document: l l l l l Alternative: An alternative representation of the PDF document; for instance, an XML version of the invoice in the PDF. Data: Data that is visually represented in the PDF; a CSV file with the detail lines of the invoice, for example. Source: The source that the PDF was created from. If the target PDF was created from a Word file, that Word file would be the source.
l Properties: l l The DocumentFileName, DocumentType and Version are read-only. ConformanceLevel: Each standard specifies a number of different levels a file can conform to. For information about these levels please refer to the specifications of the standard. Miscellaneous Tab The Miscellaneous tab is common to all tasks. Check the option Use as step description to display the text next to the icon of the plugin in the Process area.
Task properties General tab l l Group: Use the drop-down to select into which group the KeySet is inserted, or in which group the KeySet should be updated. Key set: Displays a list of keys for the selected group. l l l l l l l Key: Displays the key name in the group. Value: Enter a value for the key, which will be inserted in the KeySet. This value can be dynamic, including data selections, metadata selections, variables and other data. Update: Check to update the key with new data.
Check the option Use as step description to display the text next to the icon of the plugin in the Process area. Rename Rename action tasks are used to rename the job files they receive. Note that you can see how each file is renamed via the Object Inspector when stepping through a process in Debug mode. Input Any job file, in any format. Processing The task renames the job file to the desired name, and changes the value of %f and %F to reflect the new name.
The Run Script task can be used either as an Action or a Condition. When dragging and dropping a Run Script task on a given process, you select whether to use this task as an Action or a Condition from a contextual menu. (See also: "About branches and conditions" on page 137.) For more information on scripts, what languages are supported and how to write scripts and conditions, please see the related chapter, "Using Scripts" on page 141. Input Any data file, in any format. Processing The script is executed.
l Edit l Undo: Undo the last edit. l Cut: Cut the current selection (only available if there is selected text in the editor). l l l l l l Delete: Delete the current selection (only available if there is selected text in the editor). Select All: Select all of the contents of the editor. l Find: Brings up the Find dialog. l Find Again: Repeats the previous search and finds the next occurrence. l Replace: Brings up the Replace dialog.
l Script filename and path: Either the full path of the script, or click the Browse button to navigate to the file. This option is only available if you choose external script file in the Script running from option. Warning With the Run Script action, the On Error tab is accessible by right-clicking on the action in your process and clicking Advanced Properties.
Processing The appropriate changes are made to the data file (replacing text). Output The modified data file is output from this task. Metadata is not modified in any way if it is present. Task properties General Tab l l l Find: Enter the string of data for which to search. You can use any combination of text, variables and data selections; see "Variable task properties" on page 303. Replace with: Enter the string of data to use as a replacement.
Send to Folder Send to Folder Action tasks send the files they receive to a local folder. They perform the same function as Send to Folder Output tasks, with the only difference being that in this case PlanetPress Workflow will wait for the task to be completed before going on to the next task in the configuration. Note As with any task that can refer to network resources, it is important to understand the considerations involved with paths and permissions of these resources.
overwriting it, PlanetPress Workflow will append the content of the new file to that of the existing file. This appending process will go on until the file is removed from the folder. l Separator string: This option is used to add a separator string between the content of each file when the Concatenate files option is selected. Miscellaneous Tab The Miscellaneous tab is common to all tasks. Check the option Use as step description to display the text next to the icon of the plugin in the Process area.
l Value: Enter the value that you want to associate with the selected Job Info variable or custom variable. l button: Adds a new line and lets you define the variable and value to set. l button: Removes the line that is currently selected (highlighted). l button: Moves the line up so it is processed before. l button: Moves the line down so it is processed after. Miscellaneous Tab The Miscellaneous tab is common to all tasks.
To configure a given SOAP Client plugin task in the PlanetPress Workflow Configuration program, you must first get its WSDL file (note that you cannot download the WSDL file over an HTTPS connection, so you should use an HTTP connection to get the file and then switch back to a secure connection). This lets you know which services the SOAP server provides, as well as each service’s methods and name spaces.
l l Service: Choose an available Web service from this drop-down list to populate the Method box below. You may also enter the service name directly if the WSDL file cannot be found. Method: Choose an available method from this drop-down list. This populates the Namespace box below. You may also enter the method name directly.
l Password: Enter the password for the above user name. l Allow invalid security certificate: Check to ignore SSL certificates that are invalid. Miscellaneous Tab The Miscellaneous tab is common to all tasks. Check the option Use as step description to display the text next to the icon of the plugin in the Process area. Standard Filter Standard Filter Action tasks can be used to remove HP Escape characters from data files, as well as to eliminate spacing problems caused by LF-CR end-of-line sequences.
Task properties General Tab l l Process job using ASCII emulation: Select to use the ASCII emulation to process the job file. This reverses LF-CR end-of-line sequences that may result in unwanted doublespacing. Remove and convert HP escape characters: Select to filter HP escape character sequences from the job file. Miscellaneous Tab The Miscellaneous tab is common to all tasks. Check the option Use as step description to display the text next to the icon of the plugin in the Process area.
8\Plugins\Translator Two examples are already present, converting ASCII to and from IBMEBCDIC. Input Any text-based data file. Processing The characters in the data file are converted from the old encoding to the new one. Output The data file in its new encoding format. Metadata, Job Info variables and other variables are unchanged. Task properties General Tab l l l l Source encoding: Select the current data encoding.
Check the option Use as step description to display the text next to the icon of the plugin in the Process area. XML/JSON Conversion The XML/JSON Action task converts an XML job file to JSON or a JSON job file to XML. This task makes parsing XML/JSON files much simpler in a JavaScript environment and also allows processes to natively send JSON to a Connect template or data mapping configuration. Input The current job file. Processing The current job file is converted from XML to JSON or from JSON to XML.
Output The output is the modified job file, which replaces the input job file. The metadata are reset. Task properties General tab l Automatic detection: By default, the format of the job file is detected automatically. If the source file is a JSON file, it will be converted to XML. If it is an XML file, it will be converted to JSON. Uncheck this option to limit the task to one type of conversion. l JSON to XML: the task only converts JSON files to XML.
structure as the original files, otherwise the Design documents to which they will be sent will not be able to extract the data correctly and the merging process will fail. In OL Connect jobs, data is normally extracted from a data file using the "Execute Data Mapping" on page 582 task. That task stores the extracted data in records which can then be merged with a template. Warning Splitters do not modify the Metadata that is currently active within your process.
Data line1 of page 1 Data line2 of page 1 Data line2 of page 1 Last data line of page 1 But when opened with PlanetPress Design or a PlanetPress Workflow using the ASCII emulation, the data in the generated file would look exactly like the data in the original. The same would hold true for the Channel Skip emulation.
Task properties General Tab l l l l l Split group: Use this group to indicate how you want the file to be split. Field value change: Select if you want the file to be split based on changes in the values of a selected database field (the value in the ClientID field changes, for example). Field value condition: Select if you want the file to be split based on a condition set for the values of a selected database field (the value in the Order field equals 1, for example).
Pages before if you want the file to be split a given number of pages before the field that matches the set condition. Select Pages after if you want the file to be split a given number of pages after the field that matches the set condition. l l l l Split when condition is found group: Use this group if you want the condition to be met a multiple number of times before splitting the file.
Example This task is put into effect in the following example process: l Capture Web Manager Workflow Note that Capture can only be used with PlanetPress Suite. Input Any emulated data file. Processing The file is separated into multiple chunks according to the rules set in the task's properties. Output Multiple data files, sent one after the other to the rest of the tasks in the process. Metadata, job infos and user variables are not modified by this task.
l l l l l l l l l Get: Click to go to the Data Selector and select the location associated with the Word change option. Specific word: Enter the word to use as the splitting criteria. In this variable property box, you may enter static characters, variables, job information elements or any combination of these. You may also use the Get Data button to get a static string of characters from the sample data file.
l l l After: If you entered a value other than 0 in the Where to split box, select this option if you want to split the file a given number of lines after the line on which the condition is met. When condition is found: By default, the task splits the file every time the condition is met (the default value is 1). If you want the task to split the file only when the condition has been met twice, for example, enter the number 2 in this box.
l l l l Page breaks on form feed: Select if you want to start a new data page whenever a form feed character is found. Page breaks on a number of lines: Select if you want start a new data page whenever a given number of lines has been counted. Enter the number of lines in the edit box below or use the spin buttons. Page(s) per output: Select if you want the file generated by the splitter to include multiple data pages. Enter the number of pages in the edit box below or use the spin buttons.
l When word is found: By default, the task splits the file every time the search word is found (the default value is 1). If you want the task to split the file only when the search word has been found twice, for example, enter the number 2 in this box. Miscellaneous Tab The Miscellaneous tab is common to all tasks. Check the option Use as step description to display the text next to the icon of the plugin in the Process area.
Note The Metadata is not reset at the time the next data file is sent to the rest of the process. See also: "Output issues caused by Metadata, and how to avoid them" on page 80. Task properties General Tab l Split on page: Select to split the data file based on pages (rather than on a word found within the PDF data) and to activate the option from this group, which is used to tailor exactly how you want the page based splitting process to take place.
l l l l l l l Match case: Select to force the splitter to match the character casing. Note that this setting applies both to the On region change and Specific word options. If this option is selected, “DAY” and “Day” will not be considered as matching the search string “day”. Trim selection: Select to force the splitter to strip empty trailing characters.
Document, and this value is set to 5, a 100 document job file will be divided into 5 sequences of 20 documents each. l l l The following rule: Determine if a new sequence starts or if the current one ends. For each Metadata level, the current value of the specified Metadata attribute / field is compared with the one in memory. If they are different, either a new sequence starts or the current sequence is ended. The next sequence starts with the next Metadata level being processed.
Output Multiple data files, sent one after the other to the rest of the tasks in the process. Metadata, Job Info variables and user variables are not modified by this task. Task properties General Tab This tab lets you choose the splitter settings for the default PlanetPress Workflow XSLT engine. If you want to use your own XSLT engine, click the Alternate XSLT Engine tab. l Split method: Use this box only if you want to edit the standard XSLT script that will be used to split the XML file.
l l l l l l l Add new root node: Select this option and enter a root node name in the box to the right, if you want the generated files to have a structure that begins with a new root name and that then goes directly to the node on which the file was split, as indicated in the Split on node box below. Encoding group: This group lets you indicate whether you want the splitter to use the file’s own encoding or the universal encoding UTF8 to process the file.
parameter. When you click the buttons below, the corresponding parameters are automatically added at the current cursor position. These variables will be replaced by the correct information at run-time. l l l l XSLT file button: Click to add the {XSLTFILE} variable to the command prompt displayed in the box above. Data file button: Click to add the {DATAFILE} variable to the command prompt displayed in the box above.
A "Loop" on page 464 is a task that will cause anything after it to repeat a certain number of times. You can indicate a static number of loops or dynamically determine the number via a variable or information from your job file, and store the iteration of the loop in a Job Info variable. The "Send to Process" on page 467 and "Go Sub" on page 463 tasks are used to send the job file to another process or subprocess and, in the case of the GoSub, to get information back from the subprocess.
l "Text Condition" on page 471 l "Time of Day Condition" on page 472 Branch A Branch duplicates your job file along with accompanying information. Branches do not execute in parallel - the branch is executed, and then the trunk (or the following branch) continues. For more information about branching see "About branches and conditions" on page 137.
branch are used for the main branch. Any modification performed on the secondary branch thus has an impact on the main branch. In case of the failure of a Branch task (the branch itself, not the other tasks contained within), by default the process will ignore the branch and simply go down the main trunk. You can overwrite this in the On Error tab. Miscellaneous Tab The Miscellaneous tab is common to all tasks.
Processing At run time, the number of files in the folder is compared to the specified value, using the specified operator. If the folder or file count value is invalid and the task is used as Input task, the process does not run. If it is a Condition task, it returns False. No error is generated. Output Job Information definitions When used as Input task, the File Count task sets the following Job Info variables. l %1 - FolderName. The target folder. l %2 - Mask. The specified mask.
option is ticked. The percent sign, the curly brackets and the period are all key elements of the RegEx syntax, therefore they cannot be mixed and matched with Workflow variable data syntax (e.g. %1, ${global.myvar}, etc.). Also, there is no validation of the RegEx being specified. l l File count: Select whether the condition is to check if the file count is equal to, less than, greater than, less than or equal to, or greater than or equal to the specified value. Value: Enter the desired file count.
Check the option Use as step description to display the text next to the icon of the plugin in the Process area. File/Folder Condition The File/Folder Condition tasks checks if the specified file or folder exists and returns true if it exists, or false if it doesn't exist. Task properties General Tab l File or folder to check: Enter one file or folder name. The name may contain text, variables and data selections (see "Variable task properties" on page 303).
exact match, so consider using wildcard characters. l Invert condition result: Select to toggle the result of the condition (true becomes false and vice versa). Miscellaneous Tab The Miscellaneous tab is common to all tasks. Check the option Use as step description to display the text next to the icon of the plugin in the Process area. File Size Condition File Size conditions test the size of the job file they receive.
Go Sub The GoSub action task transfers the execution of the calling process to the specified subprocess (see "About processes and subprocesses" on page 125). When a process encounters a GoSub action, it halts its own execution, start the subprocess and waits for it to complete before resuming its workflow with the next task. Every subprocess starts with a BeginSub input task and ends with a EndSub output task, both of which have nothing to configure and cannot be replaced or deleted.
Check the option Use as step description to display the text next to the icon of the plugin in the Process area. Loop Loop action tasks are used to repeat those tasks that are located after it on a given process branch. The number of repeats can be fixed or variable, as required. Note The Metadata is not reset at the start of each iteration. See also: "Output issues caused by Metadata, and how to avoid them" on page 80.
Check the option Use as step description to display the text next to the icon of the plugin in the Process area. Run Script Run Script tasks are used to run scripts that typically perform some kind of processing on the job file received by the task. Scripts are often simpler to write than programs added with the External Program action (see "External Program" on page 412). However, they can be slower to execute. The Run Script task can be used either as an Action or a Condition.
l File l l l Export: Lets you save the current script as a file. l Print: Prints the current script. Edit l Undo: Undo the last edit. l Cut: Cut the current selection (only available if there is selected text in the editor). l l l l l l Paste: Paste the last selection that was cut or copied in the location of the cursor in the text editor. Delete: Delete the current selection (only available if there is selected text in the editor). Select All: Select all of the contents of the editor.
modifying the script in this case does not modify the external file and changes are not saved). l l Script running from: Choose if the script should be run from the editor text box, or from an external script file. Script filename and path: Either the full path of the script, or click the Browse button to navigate to the file. This option is only available if you choose external script file in the Script running from option.
In either case, the called process will ignore the input task along with its Job Info variables and schedule, and use the job file, Job Info variables, and Metadata from the current process. Note that a process called through the Send To Process plugin will not self-replicate, even if the process' preferences specify that it should. The initial Input task is being bypassed, and since it's the Input task that initiates the self-replication procedure, self-replication cannot occur.
Management Information Base Object Identifiers A Management Information Base (MIB) is a database of Object Identifiers (OIDs) that can be used to monitor device objects using SNMP. An MIB OID can point be a printer tray, cartridge or hard disk, or to modem mode. Using an SNMP condition, PlanetPress Workflow can communicate with a device located at a given IP address and request the status of the object identified by a given MIB OID number.
l l Printer Queue group (displayed when Printer Queue is selected in the Condition Type box) l l l l Condition type: Select Printer Queue to test a standard printer status condition or User Defined to test a status identified using a printer specific identification code. Bear in mind that the failure to comply with any of the test conditions selected below will make the whole condition False. Printer status: Select Idle or Printing to test whether the printer is currently idle or printing.
Text Condition Text Condition tasks can be used to perform two different types of tests: l l To test the presence of a string within the job file. You can, for example, search for the string “Gold member” on the first line of the job file. As another example, you could search for a variable string retrieved via a job info variable or a data selection in a given location in the job file. To compare two strings. As with the test above, this test can also be used to search for a string in a given location.
comparison. If you chose an operator that compares numeric values, you should select this option. l l l l l l On numeric error: This option is only available when the Numeric comparison option is selected. Select the behavior you prefer when PlanetPress Workflow is unable to successfully perform a numeric comparison. Select ”Return the error”, if you want the Text condition to fail altogether. Select ”Return true”, if you want the condition to be considered True.
The Time of Day Condition differs from the process schedule in the fact that you could put this condition after generating some output, and you can also run tasks when the condition itself is false, which is not the case for a process outside of schedule. You can choose contiguous as well as separate time blocks as required. The condition is tested True every time the current time and date corresponds to a selected time block.
Connector tasks A Connector, as the name implies, is a task that connects to something outside of PlanetPress Workflow itself. In some cases those are other parts of the PlanetPress Workflow, but in other cases we offer connectors for third-party applications or systems.
Processing This task connects to a Capture OnTheGo Repository and requests removal of a document with a given document ID. The protocol used is SSL 2.3. Output When used as a Condition task, the success of the delete operation determines whether the task returns True or False. Task properties General Tab The General tab is where you enter the connection information necessary to log on to the Repository to request removal of the specified the document.
Input from SharePoint The Input from SharePoint task can be used to retrieve files from a SharePoint server on your network, filtering on your template fields and creating Metadata to use in your process. When the Input from SharePoint task runs, it first lists all of the files to download then runs the process once for each file in the list. If any new files are added during the process, they will not be touched until the next time the process is scheduled.
selected, otherwise they are untouched. Output The output to this task is a series of individual files, one after the other. Task properties General Tab Note For this tab to work, you must have entered your SharePoint Connection information in the Connection Tab. l l l l l l l SharePoint Site: The name of the SharePoint site from where you want to retrieve documents. You can click on the Refresh button to display a list of sites on your SharePoint server.
l l Download the document and mark it as checked out in SharePoint: Download the document and mark it as Checked Out in SharePoint. This is useful for preventing files to be downloaded more than once. Download the document and delete it from SharePoint: Download the document and delete it from the SharePoint server. Connection Tab l l l l Server Name: The name of the SharePoint server. This can either be a server name (e.g. http://SharePoint2003 ) or an IP address (e.g. http://192.168.1.123 ).
Job Information definitions l l %1 - Source file name: Contains the name of the current captured file. %2 - Directory: Contains the name of the SharePoint director from which the current file was captured. Laserfiche Repository Output The Laserfiche Repository Output task publishes files - and optionally sets index values into a Laserfiche server.
Task Properties General Tab l Laserfiche configuration group l l Folder: Enter the Laserfiche client repository folder where the documents will be exported. The user can specify the remote folder by clicking the Browse… button. Note: If the Folder field is empty, the documents will be exported by default to the root folder Import Format group l l l l l l l Laserfiche Pages: Converts all images files (*.bmp, *.gif, *.jpeg, *.pcx, *.png, *.tif, *.tiff, *.
Connection Tab l Server Name: The server name or IP address of the server you wish to connect to. l Repository: The name of the repository you wish to send the files to. l User name: A user name in Laserfiche that has access to the above repository. l Password: The password for the above user name. l Test Connection: Click to verify that the information entered in this tab is correct and the server accepts it.
data retrieved is based on existing data in your Metadata, and it will either be added to your Metadata or will append or replace your existing Metadata if it exists. Fields on any level (Page, Datapage, Document, Group, Job) can be used, and the result field will be added on the same level as the lookup field. Note This task will automatically "loop" through the Metadata and repeat its action for each of your Metadata's data pages.
Input Any compatible data file. This task requires Metadata to be present. Processing The task parses each level of the Metadata and, for each field of the specified name it finds, a lookup is made. If a field of the same name appears on multiple levels, the lookup will happen for all fields, on all levels, individually. Output The original data file is unchanged. Metadata is updated according to the specified criteria.
l l l l l l Replace field value: Replaces any existing field with the new content. Only the last result will be displayed. If the field does not exist, it will create it. Append field value: Ads the data to the existing field within the same one. No "separator" is added. If the field does not exist, it will create it. Result Field: The Metadata field name in which the result should be stored. This field will appear in the same Metadata level as the Lookup Field.
Input This task ignores the input data file and any Metadata unless data selections are used in the variable data fields. Processing This task does not process the data or Metadata file. The information entered in the Deposit tab of this task is sent to the repository configured in the Repository tab. Output The output that this task produces is the information sent to the Capture OnTheGo online repository (the document ID).
l l l l File Type: Select the appropriate document type. HTML for forms that users can fill out, and PDF for documents users can read. Cover Image: Enter the path to a cover image that is shown in the repository and library list, as well as the document property. The maximum image size is 512x512 px and it is required to be in JPG or PNG format. Use the Browse button to locate an image on the local drive. The Cover Image is optional and, if omitted, displays a default image based on the file type.
the names are case insensitive. Click the button marked with a plus sign to add a category to this list box. To remove a category, make a selection in the list and then click the button marked with an X. l Fail process if any of the categories does not exist: Check this box if you want the process to fail if any of the categories listed above does not exist on the Capture OnTheGo Server.
l l l Time zone: When you enter a number of days in the For box or a date in the Until box above, the computer’s time zone appears in this box. You may select a different time zone if required. Document Tracking: l l l Until: If you want the document to remain in the repository until a given date, select this option and enter a date in the corresponding box (the date format must be “YYYY-MM-DD” - note that you can use the date picker).
Licensing This plugin requires the OL Connect Workflow Imaging license. Workflow Imaging is an add-on license bundle for OL Connect Workflow that includes the Image and Fax plugins; see "About PlanetPress Image" on page 764 and "About PlanetPress Fax" on page 763. Without a valid Imaging license, the plugin will fail with an error. In the trial version, the plugin will work. Input Any data file, with optional Metadata.
l l Mark the document as checked in: Sets the "Checked in" property of the document on the SharePoint server. Configure Fields: Opens the Configure SharePoint Metadata Fields dialog. Configure SharePoint Metadata Fields dialog This dialog lets you setup the information you want to assign to the SharePoint Metadata information. It contains one line for each field present in the SharePoint document library. l l l l Field Name: Name of the field as set in SharePoint Document Library.
Note Document libraries using the Content Type system in SharePoint 2007 and higher (as well as Windows SharePoint Services 3.0 and higher) are supported in PlanetPress Workflow 7.4 and higher only. Connection Tab l l l l Server Name: The name of the SharePoint server. This can either be a server name (e.g. http://SharePoint2003 ) or an IP address (e.g. http://192.168.1.123 ). Both http:// and https:// (secure) connections are accepted. Domain: The active directory domain for the log-on credentials.
Input Any data file with a valid emulation (see "About data emulation" on page 60). Metadata is optional and can be used to specify the fax number and information to send the file. Alternatively, a TIFF file in the proper page size and compression (CCITT Group 4) can be used.
PlanetPress Image PlanetPress Image Output tasks are used to make requests to PlanetPress Image, which creates image files which it then archives or emails. For more information about this product, see "About PlanetPress Image" on page 764. Since this task is an Output, it is not possible to immediately act on the generated image before continuing. When necessary to immediately retrieve the generated file, the "Digital Action" on page 402 task should be used instead.
any other way will fail, as PlanetPress Image requires knowledge of the number of pages in the document, which is not available in output generated using any other means. Note however that "Digital Action" on page 402 does have the ability, in most cases, to generate output using third-party PostScript files.
dynamic document name using a combination of text, variables and data selections. To enable the dynamic document name box, click inside it. To disable it, press Enter. Note that in the latter case, you must be certain that the documents that will be chosen at runtime will in fact be available locally or at the selected host. l l List only documents using VDX compilation: Check to ensure that only documents that are compatible with the VDX compilation method are shown in the list, if producing VDX output.
l l l l l l l l l VDX: The output will be a PDF file with some PPML code inside of it to enhance performance by doing caching/image reusing. The output can only be used on devices that support the VDX technology. DPI: Enter the dots per inch (dpi) resolution of the output image. This property is enabled for all output types except PDF. Color depth: Enter the color depth of the output image in bits per pixel (bpp).
the file is saved, anything appearing after the last dot is replaced by the file’s extension characters (and the file name thus becomes Statement.2005.pdf instead of Statement.2005.255842.pdf, or Job.tif instead of Job.544872.tif). Failing to add the quotation marks may result in files being overwritten. l l Automatically Add Extension: Check if you want the correct extension for the image type to be appended to the file name automatically, rather than having to add it in the Filename box.
l l l l l l l l Compress text and line art: Select to compress the text and line work in the file using the Flate compression filter. Flate is a compression method that works well on elements with large areas of single colors or repeating patterns, as well as on blackand-white elements that contain repeating patterns. Auto-rotate pages: Select to automatically rotate pages based on the orientation of the text or DSC comments.
use any compression will by default be set to use the Flate compression method. l l Grayscale images group l l l l Resolution: Select the resolution to use for monochrome images. Compression: Select the compression to use for the grayscale images. Flate is a lossless compression method, so no data is lost in the process. It works well on images with large areas of single shades or repeating patterns, such as screen shots and simple images created with paint or drawing programs.
version of PlanetPress Workflow and that included tasks set not to use any compression will by default be set to use the Flate compression method. l l l Downsampling: Select the down sampling option. Down sampling reduces image size by breaking images down into small areas in which multiple pixels are replaced by single pixels. The Color resolution you enter in the following box is used to control the down sampling process. Select None to prevent grayscale down sampling.
especially if many fonts are used. Note that those fonts installed by default with the Adobe Acrobat and Adobe Reader are never embedded. If a font is not embedded in your PDF, opening it on another computer or printing it may cause it to be substituted by another default font. l l Subset: Select to embed only a subset of the Type 1 and TrueType fonts used in the document. A font subset is in fact composed of only those characters that are actually used in the document.
l l l l l l l l l Connection time-out: Enter the time, in seconds, that the connection to the database is maintained while no action is taking place before the connection is severed. Database directory: Enter the path of the directory in which the Access database is located, or use the Browse button to navigate to, and select, the directory. This option is available only when you select Access database in the Database type box.
Limitations In order for PReS Print Control tasks to be functional, some pre-requisites must first be met: l l PReS Classic 6.3.0 or higher must be installed on the same system. A valid PReS Classic license (either dongle or software based) must be available on the same system. Note All PReS Classic licenses are issued and controlled by the PReS License Server and not Connect. Thus a separate PReS Classic license is required. Input A PReS Classic job and the resources it needs.
Task properties General Tab l PDC File: Select either an un-compiled PReS Classic script file (PDS) which will need to be compiled on the fly, or a pre-compiled PReS Classic job file (PDC). The job needs to be specified exactly. If you want to compile the job at run time, then you must select a PDS file. If you wish to use a pre-compiled PReS Classic job, then select the PDC file, rather than the PDS.
Note If the PDC File selection contains a folder path and the Working Folder also has an entry, then the PDC File entry will be appended to the Working Folder entry. One should be very cautious doing this, as it could easily lead to errors. l PDL Type: Select the desired PReS Classic output type for the job. Note Not all PReS Classic jobs can be swapped between output types. Jobs designed for certain output types (such as AFPDS) will likely have settings specific to the original output type.
Note It is heavily recommended that this setting be left as ‘Auto’, as PReS Classic licenses being assigned to different PRNx instances is extremely rare. l Time-out: The time in seconds that the Connect Workflow waits for a response from the PReS Print Control to make sure it is running. If Connect Workflow does not receive a response in the allotted time it will terminate the Print Control and continue to the next step in the workflow.
Properties ZUGFeRD I Tab The ZUGFeRD data entry options are too large to fit within a single entry tab, so the data entry options have been split over two tabs. ZUGFeRD I is the first of these. All the entry fields with a maroon field name support the use of variable data. You can rightclick within these fields to insert a Workflow data selection.
l Rechnung group contains invoice related information. l l l Rechnungsnummer: The invoice number. This field supports alphanumeric strings and can be set via Workflow data and/or variables. Dokumentenart: The document type. This field will always be set to "RECHNUNG" (invoice), to cater for BASIC invoices. Rechnungsdatum: The invoice date. This entry can be set directly, or through the date selection pop-up that appears when the drop down icon is selected.
indicated country. This field can be set via Workflow data and/or variables. l l Ort: The postal address city/town. This field supports alphanumeric strings and can be set via Workflow data and/or variables. Ländercode: A 2-letter country code as defined by the industry standard ISO 31661 alpha-2. The plugin provides some common predefined country codes in the pull-down list. Codes other than those provided can be entered either manually or through variables.
Note The plugin does not check if a given tax ID number conforms to any rules. It is the responsibility of the user to ensure that only valid tax ID numbers are entered. This field can be set via Workflow data and/or variables. l Käufer group contains all the required values and information related to the buyer. l l l Name: The individual or company name. This field supports alphanumeric strings and can be set via Workflow data and/or variables.
Note The plugin does not check if a given country code is in the list of valid country codes. It is the responsibility of the user to ensure that only valid country codes are entered. This field can be set via Workflow data and/or variables. ZUGFeRD II Tab The ZUGFeRD data entry options are too large to fit within a single entry tab, so the data entry options have been split over two tabs.ZUGFeRD II is the second of these. All the entry fields on the ZUGFeRD II tab support the use of variable data.
l IBAN: A bank account number following the International Bank Account Number (IBAN) standard. The IBAN consists of an alphabetical country code, followed by two check digits, and then up to thirty five characters for the bank account number. The bank account number can include the domestic bank account number, the branch identifier, and potential routing information. Note The plugin does not validate bank IBAN/BIC codes. It is the responsibility of the user to ensure that valid codes are entered.
Note The plugin will accept any string. The user needs to take care to only enter valid tax codes as defined in the UNCL 5153 (see http://www.unece.org/trade/untdid/d97b/uncl/uncl5153.htm ). This field can be set via Workflow data and/or variables. l l l l Steuerprozentsatz: The tax rate entry. This is the percentage that applies for the taxation calculation. This entry should be a numeric currency entry, which can be set via Workflow data and/or variables.
and/or variables. Bei Fehler/ On Error Tab For a description of the options on the On Error tab see "Using the On Error tab" on page 99. Anmerkungen/ Comments Tab The Comments tab is common to all tasks. It contains a text area (Task comments) that lets you write comments about the task. These comments are saved when the dialog is closed with the OK button, and are displayed in the Task Comments Pane.
This task is put into effect in the following example processes. l "Example: Daily sales report from PDF files" on page 288 l Basic Functional Capture Workflow l Capture Web Manager Workflow Note that Capture can only be used with PlanetPress Suite. Input A data file in any supported emulation (see "About data emulation" on page 60).
Task properties General Tab l l Documents: Select the Do not use a document (passthrough) option to create Metadata based on the data file alone. Alternatively, as a PlanetPress Suite user you can select a specific PlanetPress Design document to be merged with the data file. Only the Metadata generated by this merge will be retrieved.
If the Extract option is used, Metadata present inside of the PDF file is extracted from it. If no Metadata is embedded, the task generates an error: W3976. Output The PDF file with embedded Metadata (the Metadata is not deleted from the PDF File on extraction, so this task will always output a PDF with embedded Metadata).
Input Any data file with accompanying Metadata. Processing Fields are added, removed, modified, etc, according to the actions defined in the task properties. If the field is present in a level that repeats (for example, the data page level), this task loops so that the action may take place on each of the occurrences of that level. Updating all nodes For a given Metadata Field Management action, all nodes of a given level might be updated with a New Field value.
l l l l l l Add/Replace: Create a new Metadata field. If the name already exists, the value is overwritten with the new one. Duplicate: Create a new Metadata field. If the field already exists, a new instance is created. Append: Append the new value at the end of the current one. If no field with that name exists, a new one is created. Sum: Calculate the sum of all values found in all fields of a given name, at a given level. The resulting number is formatted by default with the dot decimal separator.
l l ,: Treat every value with the comma (",") decimal separator. Dots (".") are treated as thousand separator. Rule: Define criteria for the Metadata Field Management action execution. The condition must be TRUE for the action to execute. To set up conditions, the Rule Interface is displayed, allowing to edit the condition for the given action. See the "Rule Interface" on page 879 page for more details. Miscellaneous Tab The Miscellaneous tab is common to all tasks.
Properties l Chose an action group l l l l l Load metadata file: Loads an external Metadata file that was previously saved. This can be useful in Error processes if you have previously saved the Metadata to file (ErrorBin outputs do not transfer Metadata). Save the current metadata file: Saves the current Metadata to a specified location. Useful as a backup or for use in Error processes. Delete the current metadata file: Removes the active Metadata from the process.
Processing Any Metadata that does not correspond to the rules set forth by the filter are removed from the active Metadata. Note that the 'removed' Metadata is still present in the file, but is unselected: they are disabled and ignored on all tasks that use Metadata afterward (except the Metadata Sorter task). Output The original data file is output, along with the modified Metadata. Task properties General Tab l Filter levels: Rules for deselecting nodes at the Group, Document or Data page level.
Check the option Use as step description to display the text next to the icon of the plugin in the Process area. Special Considerations l l The task CANNOT re-select unselected nodes if the condition is false for those nodes. Filter rules cannot be based on the following metadata attributes: SelectedIndexInJob, SelectedIndexInGroup, SelectedIndexInDocument and SelectedIndex. Metadata Level Creation The Metadata Level Creation task conditionally creates new Metadata groups or documents.
1. WinQueue Input: Intercepts a printed data file sent to a Windows printer queue. 2. Metadata Level Creation: Begins a new document node when “Page 1 of” is found on a data page. l Action: Document l Delimiter: Begins when l Rule: (@(?,1,1,1,9,KeepCase,NoTrim) IS EQUAL TO Page 1 of) 3. Metadata Sequencer: Splits the data file on each Metadata document node level.
l l Delimiter defines if the Condition parameter is triggering the beginning or the end of a Group or Document. If the delimiter option is set to None, the action is not performed. Rules enable the user to define on which criteria the action must to be performed. The condition must be TRUE to execute the action. If the condition is not met at least once, the rule is not applied. To set up conditions, the Rule Interface is displayed, allowing to edit the condition for the given action.
Output The original data file is output once per chunk, along with this chunk's metadata. Note that all the Metadata is in each of the sequence, but anything not part of the sequence is disabled and is ignored by all tasks using Metadata afterwards. Task properties General Tab l Metadata level: Select the Metadata level to process.
Processing The order of the Metadata is changed in accordance with the rules set forth in the task's properties. The Metadata Sorter task works on all nodes, regardless of their selected state. Output The original data file is output, along with the modified Metadata. General Tab l Group: Sorts the Metadata by group. l Document: Sorts the Metadata by document. l Data page: Sorts the Metadata by data page. For each parameter, three columns are available: Sort By, Then by, Then by (again).
Check the option Use as step description to display the text next to the icon of the plugin in the Process area. Metadata to PDI The Metadata to PDI task takes the active metadata and generates a PDI using the information in that metadata. It is generally used in conjunction with a PDF data file and is used to generate the PDI file which is used by PlanetPress Search when building, refreshing or rebuilding its database. For more information about Metadata see "Metadata" on page 75.
l Index Group: l l PDI: Only generate a PDI file. PDI and XML: Generate both the PDI and an XML equivalent (not used by PlanetPress Search). Miscellaneous Tab The Miscellaneous tab is common to all tasks. Check the option Use as step description to display the text next to the icon of the plugin in the Process area. Metadata-Based N-Up The Metadata-based N-Up action task works in conjunction with the PlanetPress Design tool's N-Up functionality.
Also see Output Creation Preset and Print Options in Connect's Online Help. Input Any data file with accompanying Metadata. Processing The Metadata is re-arranged and/or duplicated in order to correspond to the options set forth in this task's properties. Output The original data file is output, along with the modified Metadata. Task properties General Tab l l Number of virtual pages that appear on each physical page: This is equivalent to the N in N-Up.
OL Connect Send Connect Send allows for PostScript files to be received over the internet from any Windows Desktop application. It is in fact an application with two components. The first is a Windows printer driver while the other is a group of Workflow plugins (Job Processor, Get Job Data and Get Data). These two components work together indiscriminately, each needing the other to function. Connect Send can be used in unlicensed mode and licensed mode.
Note The Get Data plugin gets data from the OL Connect Send database which means it only works when Connect is in LICENSED mode. Properties General Tab Filter options Filters are required for: l Start and end date (down to minutes) l Domain(s) l User(s) l Machine name(s) Except for start and end dates, it is possible to pass a list of multiple search criteria, separated with semicolons, containing: l Workflow variables l Job variables l Names.
Example 1 A valid user name search string, entered in the Filter Users field, would be: %\{global.User};helen;%1;george napier This would look for all entries, where the user name is either: l as currently stored in the global Workflow variable User l "helen" l as stored in the job variable number 1 l equals "george napier" (case insensitive). These search criteria are combined with OR. Example 2 The domain name entered in the Filter Domains field is objmtl.objectiflune.
and minute is a colon) It is possible to define the same date for From Date/Time as for To Date/Time. However, entering the same info (without time information) would lead to getting no entries.
Returned information For each job received by the OL Connect Send Job Processor plugin the following values will be available. l l l Job UID: This is the 10 (ten) character long Unique Job Identifier string. Status ID: The status ID shows in which stage the job currently is: 0 = undefined; 1 = idle; 2 = transfer; 3 = chunk; 4 = concatenate; 5 = unzip; 6 = done. A value of 6 indicates a fully processed job. Any value between 2 and 5 (inclusive) means that the job is still in progress.
l l l l l l Original file name: This is the "file name" as sent from the application to the Windows spooling system. It is taken from the name as it arrives in the spooler. Some applications add info to the name (like Notepad++) while others don’t (like Adobe Reader). OL Connect Send can only use what it gets from the spooler. It does not interact with the applications itself. Original file size: The size of the print job - NOT the size of the document file.
OL Connect Send Job Processor plugin, it creates a unique ID string composed of 10 upperand lowercase letters and digits e.g. “ri0zZdluLp”. This Unique Job ID is used in any communication between the Printer Driver and the plugin and is the leading identification element for this particular job. All job related information is stored in the underlying database and linked together by this Unique Job ID.
Select Returning Type Depending on this setting the plugin gets status information about the job before it has arrived or it gets information after the job has been completely received. l l Immediately: By choosing this option, the Get Job Data plugin will return as quickly as it can, providing it can find a matching Job ID in the database. It is important to know that it will wait until any information about the job is available.
l Date/Time stamp: This is the time when the matching job was initially created in the database. It is stored in UTC format plus time zone indicator inside the database. It will differ from the time stamp logged by the OL Connect Send Printer Driver as well as by the OL Connect Send Job Processor. Note The Printer Driver machine time stamp in the Printer Driver log may significantly differ from this value.
logged on users vs. application running users, machine names etc. please refer to the respective Windows help pages or ask your system administrator. l l l Domain / Workgroup Indicator: Indicates whether the field "Domain (workgroup) name" is a domain name or a workgroup name. The possible values are 0 (false) for a workgroup, or 1 (true) for a domain. Machine name: The name of the machine the OL Connect Send Printer Driver is running on as retrieved by the respective Windows API.
possible. Processing The Job Processor plugin receives a compressed PostScript file sent by the OL Connect Send Printer Driver and communicates with the Printer Driver to ensure that all data has been received correctly. If the Printer Driver has split the job into multiple chunks, the plugin combines the chunks into one PostScript file. License mode Each incoming print job is checked against the license to determine if it can be handled in licensed mode or in unlicensed mode.
HTTPS Communication The OL Connect Send Printer Driver can be set to use HTTPS for any job transfer. To do this, Workflow must also be set to use HTTPS. Job Origin Each print job will include unique information about the machine it has been sent from. This unique machine ID is calculated with a proven method and will be transferred, encrypted and enhanced. The enhancement will result in a different encrypted machine ID per print job, so that spoofing can be detected.
Metadata In addition to the print job, the plugin creates a metadata file with basic information. The values originate from the client machine. In unlicensed mode, the user name, machine name and domain/workgroup name will not be available through the metadata. Properties General tab l Data Output l Output Folder: Enter the target folder for the incoming print jobs. l Output File Name: Enter the file name for the incoming print jobs.
Information Workflow Variable When licensed When unlicensed Username 1 %3 The user name "na" IP Address 1 %4 The IP address The IP address No. of Pages 1 %5 Number of pages of the job Number of pages of the job No. of Copies 1 %6 Number of copies set by the user Number of copies set by the user Domain Name 1 %7 The Domain Name "na" Machine Name 1 %8 The Machine Name "na" 1) These values originate from the Printer Driver machine.
OL Connect tasks OL Connect tasks are available in PlanetPress Workflow 8.0 and up. They are used specifically to communicate with the Server component of PlanetPress Connect or PReS Connect (using TLS 1.2) and for such purposes as creating record sets, generating contents and generating output. For more information about the Workflow processes in which these tasks are used, see the Connect Online Help.
This task is a combination of the 4 different OL Connect tasks that are normally used in conjunction to generate Print output: "Execute Data Mapping" on page 582, "Create Print Content" on page 570, "Create Job" on page 559, and "Create Output" on page 561. Combining them in a single task makes creating Print content easier and faster, as the task is optimized for this specific purpose.
l l l "%o": Select to use a dynamic data mapping configuration name. Click on %o to change the expression that determines the name of the data mapping configuration to use. Right-click it to open the contextual menu that allows to select variables, data and lookup functions (see "Data selections" on page 54). Configuration Names: Select the appropriate data mapping configuration. Adding configurations is done through the Send to Workflow option in the DataMapper Module.
functions (see "Data selections" on page 54). If the data mapping configuration name is dynamic, you must enter the name (or select a variable that contains the name) and set the value of all the runtime parameters that may occur in the data mapping configuration. If a runtime parameter is defined in a data mapper configuration, but not set in the task properties, an error will be raised. Note Backslashes (\) and double quotes (") in a JSON string must be escaped with a backslash (\\, \") if the JSON strin
l l l Rule Viewer: Displays a text-based view of the condition using operators and parentheses. Sort contents: Defines how records are sorted. l l l Export the rule: Click to open a Save dialog and save the Rules file to disk. Sort items based on: Displays the current sorting method. To modify the sorting method, click on the [...] button at the right of the box to open the "Sort Parameters" on page 553 dialog.
of OL Connect.) Right-click the field to open the contextual menu that allows to select variables, data and lookup functions (see "Data selections" on page 54). If the template name is dynamic, you must enter the name (or select a variable that contains the name) and set the value of all runtime parameters that may occur in the template. If a runtime parameter is defined in a template, but not set in the task properties, an error will be raised.
l Job Preset file: Select which Job Preset to use to generate the job. l l l l l Default: The IDs in the Metadata are used instead of a job preset file. None: Select this option to prevent the execution of Job Creation and Output Creation. In this case you also have to select 'None' on the Output Creation tab as well. "%o": Select to use a dynamic preset name. Click on %o to change the expression that determines the name of the preset to use. The preset name must be available in the list below.
necessary backslashes. Output Creation Tab The Output Creation step generates the output for the current job, using the selected Output Creation Preset. Note that the Job Creation task normally necessary when using the individual tasks is implicitly executed before output creation. l Output Preset: Select the appropriate Output Creation Preset to use: l l l l "%o": Select to use a dynamic Output Preset name. Click on %o to change the expression that determines the name of the Preset to use.
OL Connect Proxy Tab This tab is common to all OL Connect tasks and defines where to process the jobs sent through these tasks. When these fields are empty, they use the defaults set in the "OL Connect preferences" on page 792. Note Defaults are not used unless the configuration is sent to the Workflow service. l OL Connect Proxy Address: Enter the machine name or IP Address where the OL Connect Server resides. l Port: Enter the port to use to communicate with the OL Connect Server.
l Remove: Click to remove the currently selected line in the sort list. l Move Up: Click to move the currently selected line up one position in the sort list. l Move Down: Click to move the currently selected line down one position in the sort list. l Validate Names: Click to check each line in the sort list against the currently active Metadata.
l A JSON Record Data List (see the REST API Cookbook and "JSON Record Data List example" on page 93). When the "Execute Data Mapping" on page 582 or "Retrieve Items" on page 600 task is set to output Records in JSON, it outputs this kind of JSON data. If the input is JSON, the task performs a REST call to the /rest/serverengine/workflow/contentcreation/email/{templateId} endpoint on the Connect Server. For more information see the REST API Cookbook.
Note If sending email is not included in the license, the emails will be sent to the sender instead of to the intended recipients. Properties General Tab l Template l l l l "%o": Select to use a dynamic template name. Click on %o to change the expression that determines the name of the template to use. Template Names: Select the appropriate template. Adding template is done through the Send to Workflow option in the Designer Module. Section: Enter the section name that will generate output.
Warning The JSON format is not validated by the plugin; it is passed as is to the server. l Runtime Parameters: The runtime parameters defined in the selected template are displayed and their values can be set here. (See Runtime parameters in the Online Help of OL Connect.) Right-click the field to open the contextual menu that allows to select variables, data and lookup functions (see "Data selections" on page 54).
l l l Precedence to template address: If the sender's address is given in the template, that address gets precedence over the one specified here. Use encryption (TLS): Check to connect to the SMTP server using TLS 1.0 (Transport Layer Security, also called "SSL"). Use Authentication group: Check to enable authentication to the SMTP server. l l l Password: Enter the password for the above user name.
Check the option Use as step description to display the text next to the icon of the plugin in the Process area. Create Job The Create Job action task prepares a series of print content items for output generation. A Job is not actual contents but simply a collection of content items ready to be printed. See also: "About printing" on page 110. Tip Drag-and-drop a Job Creation Preset from the Connect resources in the Configuration Components pane on a process to add this task.
Task properties General Tab l Job Preset file: Select which Job Preset to use to generate the job. To be used in this dialog, a preset must have been sent to PlanetPress Workflow using the Package File function in PlanetPress Connect. l l l l l Default: The IDs in the Metadata are used instead of a job preset file. Select this option if the Print Content Set is the result of the "Retrieve Items" on page 600 task. "%o": Select to use a dynamic preset name.
Note Backslashes (\) and double quotes (") in a JSON string must be escaped with a backslash (\\, \") if the JSON string is passed via a global, local, or Job Info variable. If the JSON is entered directly in the runtime parameter field, the plugin adds the necessary backslashes. OL Connect Proxy Tab This tab is common to all OL Connect tasks and defines where to process the jobs sent through these tasks. When these fields are empty, they use the defaults set in the "OL Connect preferences" on page 792.
This task can be added as an Action task (see "Action tasks" on page 375) or as an Output task (see "Output tasks" on page 608). Adding it as an Action task enables the process or branch to continue after this task. An Output task is always located at the end of a process or branch. Note When added as an Output task, the Create Output plugin works asynchronously to the Workflow process.
General Tab l Output Preset file: Select which Output Preset to use to generate the output. To be used in this dialog, a preset must have been sent to PlanetPress Workflow using the Package File function in PlanetPress Connect. l l l Preset Names: Select the appropriate preset to generate output. Output Management group: l l l "%o": Select to use a dynamic preset name. Click on %o to change the expression that determines the name of the preset to use.
l OL Connect Proxy Address: Enter the machine name or IP Address where the OL Connect Server resides. l Port: Enter the port to use to communicate with the OL Connect Server. Default: 9340 l User name: Enter the user name expected by the OL Connect Server. l Password: Enter the password expected by the OL Connect Server for the above user name. Miscellaneous Tab The Miscellaneous tab is common to all tasks.
General Tab l l l Documents: Select a specific PlanetPress Design document if you want all the jobs to be generated with that document. Recipient Node: Use the drop-down to select which level of the metadata is used as the "Recipient" node. The Recipient node defines each Record in the output when used with the "Create Print Content" on page 570 task. Add job information to document: Check to add the 9 Job Info variables to the PDF/VT metadata at the root level.
Tip Drag-and-drop a template from the Connect resources in the Configuration Components pane on a process to add this task or one of the other OL Connect tasks that create content from a template: a "Create Email Content" on page 554 task, a "Create Print Content" on page 570 task, or a "Create Web Content" on page 574 task. Properties Datamapper tab The Create Preview PDF plugin gets one record from the source selected on the Datamapper tab.
Note When the data mapping configuration provides multiple records, the preview is created based on the first record. Note The Create Preview PDF plugin cannot pass runtime parameters to a data mapping configuration. Instead it uses the default values set up in the Preprocessor of the data mapping configuration.
l Metadata uses existing metadata, generally the output of a Create Record Set or a Retrieve Items task set to retrieve a record. Update fields with metadata: when this option is selected, the plugin will update fields in the Connect database based on the metadata content. This is only useful if the Workflow process has modified the metadata and the corresponding fields should be updated in the database before creating the preview PDF.
lookup functions (see "Data selections" on page 54). If the template name is dynamic, you must enter the name (or select a variable that contains the name) and set the value of all runtime parameters that may occur in the template. If a runtime parameter is defined in a template, but not set in the task properties, an error will be raised. Note that it is not possible to change a parameter's type here; that can only be set in the template itself.
template. OL Connect Proxy Tab l Server Connect Settings l l l l Connect Proxy Address: Enter the machine name or IP Address where the OL Connect Server resides. Port: Enter the port to use to communicate with the OL Connect Server. Default: 9340. User name: Enter the user name expected by the OL Connect Server. Password: Enter the password expected by the OL Connect Server for the above user name. Miscellaneous Tab The Miscellaneous tab is common to all tasks.
Input This task can receive either Metadata containing information regarding a valid Record Set, or JSON data, or a PDF/VT File (see "Create PDF/VT" on page 564). Metadata The "Execute Data Mapping" on page 582 task and the "Retrieve Items" on page 600 task output Metadata containing information regarding a Record Set. JSON The Create Print Content task supports two types of JSON: l l A JSON object or an array of JSON objects representing records.
generated using the record's data and these pages are saved as a content item in the database. In the case of a PDF/VT file, content items are created based on the structure of the PDF/VT metadata and content items are stored using the data for each of those metadata records. By default, the entire Print Context is used to create print content items. Individual Print sections can be selected dynamically via a Control Script. (For more information see the Designer Help.
records. Otherwise, only the ID of the current job is sent, and the unchanged records are used. l JSON: l JSON String: A JSON object or an array of JSON objects representing records or a JSON Record Data List (see: "Types of JSON in Workflow" on page 92). This option requires that keys in the JSON data have matching field names in the data model of the template.
OL Connect Proxy Tab This tab is common to all OL Connect tasks and defines where to process the jobs sent through these tasks. When these fields are empty, they use the defaults set in the "OL Connect preferences" on page 792. Note Defaults are not used unless the configuration is sent to the Workflow service. l OL Connect Proxy Address: Enter the machine name or IP Address where the OL Connect Server resides. l Port: Enter the port to use to communicate with the OL Connect Server.
Tip Drag-and-drop a template from the Connect resources in the Configuration Components pane on a process to add this task or one of the other OL Connect tasks that create content from a template: a "Create Email Content" on page 554 task, a "Create Preview PDF" on page 565 task, or a "Create Web Content" on the previous page task. Input This task must receive either a valid Record ID or a JSON object. Record ID A valid Record ID can be retrieved from various data sources.
Processing For a single record, this task generates the output for the Web Context of the specified template. Any external resources such as images, CSS style sheets or JavaScript files, are also produced and put aside on the OL Connect Server component. Note Content creation may be aborted by a script in a Connect template that raises a fatal error. This triggers the On Error tab of the Content Creation task. See Designer Script API. Output The task outputs HTML code as a job file.
l l Update Records from Metadata: If the process's Metadata has been modified by any of the "Metadata tasks" on page 514, check this option to update the records in the Connect database with the Metadata and use the updated records. JSON: l JSON String: A JSON object or an array of JSON objects representing records (see "JSON string examples" on page 92) or a JSON Record Data List (see the REST API Cookbook and "JSON Record Data List example" on page 93).
Note By default, the Create Web Content task inserts a meta tag in the generated HTML, specifying a default URL and target for all links on the web page. By pointing to the Connect Server the job was sent to, the tag enables the HTTP server to retrieve the resources that were saved with the Designer template. Since the tag corrupts local anchors - links to another location in the same web page -, the task also replaces the HREF attribute of local anchors with JavaScript code.
OL Connect Proxy Tab This tab is common to all OL Connect tasks and defines where to process the jobs sent through these tasks. When these fields are empty, they use the defaults set in the "OL Connect preferences" on page 792. Note Defaults are not used unless the configuration is sent to the Workflow service. l OL Connect Proxy Address: Enter the machine name or IP Address where the OL Connect Server resides. l Port: Enter the port to use to communicate with the OL Connect Server.
selection methods: GetMeta(_vger_prop_folder[0], 10, Job.Group[0].Document[0]) GetMeta(_vger_prop_eml[0], 10, Job.Group[0].Document[0]). The "Mailjet" on page 660 and "SendGrid" on page 664 plugins offer the possibility to add extra attachments to a rendered email message via Workflow. Note that any such attachments will not be part of the EML file produced by the Render Email Content task. Note With PlanetPress Workflow version 2020.1, using the Download EML Messages task requires the version 2020.
Processing The plugin communicates with the Connect Server to retrieve the EML file that was stored in the Connect File Store by the "Render Email Content" on page 595. Output The task outputs the EML file as the Job File. The Metadata are unchanged. Properties General Tab l Data Source (see "Input" on the previous page): l l Metadata: Metadata containing information about an email message.
Check the option Use as step description to display the text next to the icon of the plugin in the Process area. Execute Data Mapping The Execute Data Mapping action task generates a record set by executing a data mapping configuration on a data source. It can also automatically create a record set from a PDF/VT file without using a data mapping configuration.
If the data mapping configuration expects a database data source, the Data Source option is ignored and the database is accessed instead. If a PDF/VT file is used, the data mapping configuration option is optional - if one is present, it must be able to read the PDF/VT. Output The output to this task is twofold. On the OL Connect Server side, a Record Set containing multiple records is created and saved.
Workflow. l l l l Metadata: Select to output the full Record table (no Details table) as Metadata in the task. It is then possible to sort and filter the Metadata using the regular Metadata tools, as long as the Update Records from Metadata option is used in further tasks to use the modified Metadata. XML: Select to output an XML structure containing the full Record Set including all detail tables. This option cannot be used with other OL Connect tasks.
Tip To determine if there were any errors in a job and handle it accordingly, you can use a Condition that checks if GetMeta(SelectedCount[0], 11, Job.Group[0]) is greater than 0, immediately after the task (see "Conditions" on page 137). l Runtime Parameters: Runtime parameters pass information from the Workflow process to the data mapping configuration (see Properties and runtime parameters in the Online Help of OL Connect).
l l Duplex: Whether the page sheet is duplex. Tumble: Whether to duplex pages as in a calendar. For this to work, the duplex option must be checked as well. Note The Bypass content creation option only works if the input is paginated. Set the Output type to Metadata if the Content Creation task is omitted and the output is to be used by the Job Creation task later on in the print process.
File Store - Delete File The File Store - Delete File task deletes a file from the OL Connect File Store, using either a file name or File Store ID. Input The task requires either the name of the file in the OL Connect File Store or its File Store ID. The name of a file is chosen and its File Store ID is returned when uploading it with the "File Store - Upload File" on page 589 task.
l Port: Enter the port to use to communicate with the OL Connect Server. Default: 9340 l User name: Enter the user name expected by the OL Connect Server. l Password: Enter the password expected by the OL Connect Server for the above user name. Miscellaneous Tab The Miscellaneous tab is common to all tasks. Check the option Use as step description to display the text next to the icon of the plugin in the Process area.
OL Connect Proxy Tab This tab is common to all OL Connect tasks and defines where to process the jobs sent through these tasks. When these fields are empty, they use the defaults set in the "OL Connect preferences" on page 792. Note Defaults are not used unless the configuration is sent to the Workflow service. l OL Connect Proxy Address: Enter the machine name or IP Address where the OL Connect Server resides. l Port: Enter the port to use to communicate with the OL Connect Server.
Output When a file is uploaded to the Connect File Store, it is automatically assigned a File Store ID. The task stores the returned File Store ID in the specified variable. This task does not modify the Job File. Task properties General Tab l l l Filename: Enter the file name or a JobInfo, local or global variable that contains the file name, to use when saving the file in the OL Connect File Store. The default is %f, the name of the job file. Right-click the field to select another variable.
l Password: Enter the password expected by the OL Connect Server for the above user name. Miscellaneous Tab The Miscellaneous tab is common to all tasks. Check the option Use as step description to display the text next to the icon of the plugin in the Process area. Mark Connect Sets for Deletion The Mark Connect Sets for Deletion task indicates that an item in the Connect Database should be deleted the next time the Database Cleanup runs.
l l Content Set: Tag any Content set created by the "Create Print Content" on page 570 task or the "Retrieve Items" on page 600 task set to retrieve Content Sets. Record Set: Tag any Record set created by the "Execute Data Mapping" on page 582 task or the "Retrieve Items" on page 600 task set to retrieve Record Sets. OL Connect Proxy Tab This tab is common to all OL Connect tasks and defines where to process the jobs sent through these tasks.
Processing The current Metadata Job File is merged with the selected external Metadata file. Output The task outputs a merged Metadata Job File which can be used in the "Create Output" on page 561 task. Task properties General Tab l Metadata file: Enter the full path to a valid Metadata file containing an OL Connect Job, or use the Browse button to browse to a valid location. Miscellaneous Tab The Miscellaneous tab is common to all tasks.
Note As of OL Connect version 2020.2 the PDF to Bitmap plugin requires the OL Connect Server to produce output. This could cause problems when running older configurations. To cure such issues, set the Connect Server connection settings within Workflow (see "OL Connect preferences" on page 792). Output This task outputs the PDF file it received with no modification. Properties The General tab has the following options: l l l Output format: The output format can be either PNG or JPG.
OL Connect Proxy Tab l Server Connect Settings l l l l Connect Proxy Address: Enter the machine name or IP Address where the OL Connect Server resides. Port: Enter the port to use to communicate with the OL Connect Server. Default: 9340. User name: Enter the user name expected by the OL Connect Server. Password: Enter the password expected by the OL Connect Server for the above user name. Miscellaneous Tab The Miscellaneous tab is common to all tasks.
Input This task must receive either Metadata containing information regarding a valid Record Set, or JSON data. Metadata The "Execute Data Mapping" on page 582 task and the "Retrieve Items" on page 600 task output Metadata containing information regarding a Record Set. Note The plugin takes the entire Metadata file as its input, even when it is placed after a "Metadata Sequencer" on page 525 task.
Note Make sure that other components in the Workflow configuration working on the job data handle UTF-8 encoded files correctly. Processing This task loops through each record in a Record Set or through each JSON object in an array. For each record or JSON object, the task generates an HTML email using that record's or object's data. When an email address is invalid, no email content will be created. Instead, an error is reported for the record with an invalid email address.
{"messages": [ {"attachments":[ {"name":"att0307c655-e14e-4400-8f90365032648aed.png","disposition":"inline"}, {"name":"myPDF.pdf","disposition":"attachment"}, ], "subject":"Take action now", "to":"recipient@gmail.com", "from":"sender@yourdomain.com", "folder":8768, "eml":"c5f97db0-45ca-4f1d-be4d-473d000c92bd.eml", "body":"07decd87-d03c-4969-bc2a-7527cc594878.html", "text":"7a4e5217-0103-487f-a4f8-77d37d0c1087.
l JSON String: a JSON object or an array of JSON objects representing records (see "JSON string examples" on page 92) or a JSON Record Data List (see the REST API Cookbook and "JSON Record Data List example" on page 93). This option requires that keys in the JSON data have matching field names in the data model of the template. When they have, the JSON values are passed to the template; the personalization scripts of the template will have access to the values through the record's data fields.
Advanced Properties To get access to the following properties tabs, right-click the plugin in the process and select Advanced Properties. Miscellaneous Tab The Miscellaneous tab is common to all tasks. Check the option Use as step description to display the text next to the icon of the plugin in the Process area. Retrieve Items The Retrieve Items Action task locates and extracts items from the OL Connect Database so they can be used with further tasks.
Note The result of a Retrieve Items task can be used with the "Create Job" on page 559 task if it is a Content Item or Content Set, but it cannot be used in combination with a Job Preset. Note Content Creation tasks accept Metadata as well as JSON data as input. Task properties General Tab l Entity to retrieve: Use the drop-down to select which items to retrieve. l l l l l l l Record: Retrieves one or more Records, whether or not they are part of a Record Set.
l Retrieve by: l l l l l l l l l ID: Depending on the option selected under Entity to retrieve this is a Record ID, Record Set ID, Content Item ID, Content Set ID, Job ID or Job Set ID. IDs can be entered directly; when entering multiple IDs, put each on a new line. Alternatively, they can be passed via variables (see "Variable task properties" on page 303), or as a JSON array, e.g. [6001,6002,6003]. A JSON array may contain variables, e.g. [%1, 75001].
the same principle when all the Print Content Items are generated using the same Template file. This tab is only available if the Content Item option is selected in the General tab's Entity to retrieve drop-down. To modify any of the following options, click in the Parameters box and then click the [...] button that appears. l Document contents: Defines the Document ("Mail Piece") level and how they are built. l l l Pick items based on: Use the [...
l Password: Enter the password expected by the OL Connect Server for the above user name. Miscellaneous Tab The Miscellaneous tab is common to all tasks. Check the option Use as step description to display the text next to the icon of the plugin in the Process area. Pick Parameters The Pick Parameters define how to pick entities retrieved from the Connect Database using the "Retrieve Items" on page 600 task and place them together in Documents or Groups. Items are picked using either Properties or Values.
Processing The task sets the chosen properties to all entities present in the Metadata. These properties are added to the entities on the OL Connect Server. Note that the properties are calculated only once, and are applied identically to all entities. If each entity should have different properties (such as record-level properties), the Metadata should be split using the "Metadata Sequencer" on page 525 task first. Output The task outputs Metadata that is identical to the input Metadata.
Note Defaults are not used unless the configuration is sent to the Workflow service. l OL Connect Proxy Address: Enter the machine name or IP Address where the OL Connect Server resides. l Port: Enter the port to use to communicate with the OL Connect Server. Default: 9340 l User name: Enter the user name expected by the OL Connect Server. l Password: Enter the password expected by the OL Connect Server for the above user name. Miscellaneous Tab The Miscellaneous tab is common to all tasks.
Output The Job File is not changed by this task. Task properties General Tab l Update Source: Select the data source from which the records in the Connect database will be updated. l l Metadata: Select this option to use the current content of the Metadata. JSON: Enter a JSON string, or a variable containing JSON. (See "Variable task properties" on page 303.) The task expects a JSON Record Data List; see: "Types of JSON in Workflow" on page 92.
Check the option Use as step description to display the text next to the icon of the plugin in the Process area. Output tasks Output tasks are exits from PlanetPress Workflow processes. They can be used to send data to specific devices, such as printers, applications, such as email software, or locations, such as folders. A single process can include multiple branches, each one terminated by an Output task, and so a single process may generate output via a variety of Output tasks.
l "Microsoft 365 OneDrive Output" on page 615 l "PlanetPress Image" on page 493 l "Print using a Windows driver" on page 619 l "Printer Queue Output" on page 621 l "Secure Email Output" on page 625 l "Send Email" on page 628 l "Send to Folder" on page 631 l "SOAP Client plugin" on page 691 (Legacy task) The SFTP Output task also appears in the Output category when it is installed. (It isn't installed by default.) Delete Delete output tasks simply delete the job files they receive.
Miscellaneous Tab The Miscellaneous tab is common to all tasks. Check the option Use as step description to display the text next to the icon of the plugin in the Process area. FTP Output FTP Output tasks send job files to other computers using the FTP protocol. It is similar to the Sent To Folder output task but sends to an FTP connection instead of a local drive. The following describes the properties specific to FTP Output tasks.
l l l l Password: Enter a password associated with the FTP server user name entered above. Directory: Enter the directory to which the job files are to be uploaded. If you leave this box empty, the job files are sent to the root directory of the FTP server. File name: Enter the name under which the output job file will be saved. Consider using a dynamic name, since if you use a static name every new file will overwrite the previous one.
Input Any data file. Processing The task uses the Microsoft Graph API to access accounts in the organization (subject to that organization's IT policies). While an email is always sent by this task (or at least attempted to be sent), the contents of the email and presence of attachments depends on the selected options. Once the contents of the email and attachments are determined, the email (including any attachments) is sent directly to the selected mail server.
Message information Note When specifying multiple recipients for the To, CC and BCC fields, separate the e-mail addresses with semi-colons (;). l To: Enter the email address(es) of the recipient(s). l Cc: Specify addresses to which a copy of the generated emails are to be sent. l l l Bcc: Specify discreet addresses (other recipients will not be able to see these addresses) to which a copy of the generated emails are to be sent. Subject: Enter the subject of the email.
Attachments Use this tab to specify what files to attach to the e-mail. l l l l Attach input job file: Select to attach the current job file to the email that the task sends. Rename to: Check this option to rename the job file before attaching it to the email, and enter a name. File: Select additional or more additional files to include as attachments. Enter the file name, or use the Browse button to navigate and select the file.
Advanced properties To get access to the following properties tabs, right-click the plugin in the process and select Advanced Properties. Miscellaneous Tab The Miscellaneous tab is common to all tasks. Check the option Use as step description to display the text next to the icon of the plugin in the Process area. Microsoft 365 OneDrive Output Microsoft 365 OneDrive Output tasks allows to send files to any of the organization's Microsoft 365 OneDrive accounts. This task uses the Microsoft Graph API.
Note The MS Graph REST API is limited to a certain number of requests within a certain period of time. This is called throttling. When throttling comes into play, the plugin receives HTTP response 429. The plugin will log the error and retry, but it exits with an error after 15 unsuccessful attempts. Task properties General Tab General l l Folder: Enter the path of the folder to which the files are to be saved.
perform its tasks, but no more. However, application permissions apply to all accounts in the organization: if the application has been granted permission to read emails, then that permission applies to all email accounts in the organization, and if it has access to OneDrive, it has access to all folders. Advanced properties To get access to the following properties tabs, right-click the plugin in the process and select Advanced Properties. Miscellaneous Tab The Miscellaneous tab is common to all tasks.
Task properties General Tab l Server Settings group l FTP Server: Enter the IP address or host name of the FTP server. l User name: Enter the name of a user account on the FTP server. l Password: If the account named in the User name box is password protected, enter the password here. l l l Protocol group l SFTP: Select if the FTP server uses SFTP (SSH).
l l l l Accept all certificates: Check this option to automatically accept the certificates returned by the FTP server. Otherwise, in order for a connection to work, you have to establish a connection first and then accept a certificate from the List of known servers up to the Approved server list. Approved Server list: Displays a list of servers that were approved for connection: l Server: The name of the server the certificate belongs to. l Fingerprint: The RSA fingerprint of the server.
Note This type of output task does not support PDF transparency and duo-tone features, so you should not use it with PlanetPress Design documents that use those features. Input This task can accept either a data file with a correct emulation (see "About data emulation" on page 60), which is then merged to a PlanetPress Design document, or a PDF file which is to be printed natively.
Note This option is not functional when natively printing PDFs (without a PlanetPress Design document). l Documents: Select a specific PlanetPress Design document if you want all the jobs to be printed with that document. l l Natively print PDF file: This special option can be used if your job file is a PDF. The job will .
Printer Queue Output task. You can select multiple Printer Queues in a Printer Queue Output task and choose exactly how your jobs will be dispatched to the selected printers. The task can create print output as well, by merging the data file with a PlanetPress Design document (see "PlanetPress Design documents" on page 45).
on page 45) if you want all the jobs to be printed with that document. To use a document chosen at run-time for each job, enter a dynamic document name using a combination of text, variables and data selections. To enable the dynamic document name box, click inside it. To disable it, press Enter. Note that in the later case, you must be certain that the documents that will be chosen at run-time will in fact be available locally or at all the selected printer.
to each one of the selected Workflow printer queues. For a hundred page job, for example, if two queues were selected, each one will get 50 pages. l l l l l Round robin: Round robin means that complete jobs will be sent in turn to each one of the selected Workflow printer queues. For example, Queue_1 will get the first job, Queue_2 will get the second job, and so forth. Page delimiter group: These options are enabled when you choose Split job or Queue balancing load balancing options.
Secure Email Output The Secure Email Output task sends SMTP email messages with SSL (2.0, 2.3 or 3.0) or TLS (1.0, 1.1 or 1.2) encryption. Note that this plugin cannot be used on a Windows instance that uses a multi-byte language (e.g. Japanese, Chinese). The workaround is to either use a different Windows language or use the standard Email Input/Output plugins. Also note that this task doesn't merge data records with a PlanetPress Connect template, like the "Create Email Content" on page 554 task does.
Note When specifying multiple recipients for the To, CC and BCC fields, separate the e-mail addresses with semi-colons (;). l To: Enter the email address(es) of the recipient(s). l Cc: Specify addresses to which a copy of the generated emails are to be sent. l l l Bcc: Specify discreet addresses (other recipients will not be able to see these addresses) to which a copy of the generated emails are to be sent. Subject: Enter the subject of the email.
l l l l Attach input job file: Select to attach the current job file to the email that the task sends. Rename to: Check this option to rename the job file before attaching it to the email, and enter a name. You may use text, variables and data selections (see "Variable task properties" on page 303). File: Select additional or more additional files to include as attachments. You may enter the file name directly and use text, variables and data selections (see "Variable task properties" on page 303).
Check the option Use as step description to display the text next to the icon of the plugin in the Process area. Send Email The Send Email output task sends the data files it receives via email. Note In some combinations of Microsoft Outlook and Windows versions, it is not possible for Outlook to be opened while PlanetPress Workflow is running, so emails are not sent out automatically.
Task properties Recipients Tab l l l l l To: Enter the email address(es) of the recipient(s). Remember this is a variable property box and you can therefore use various schemes to use email addresses that change with each job at run-time. You can use any combination of text, variables and data selections; see "Variable task properties" on page 303. Cc: Specify addresses to which a copy of the generated emails are to be sent.
l l l l l l l Attach input job files: Select to attach the file received by this task to the emails it will generate. If this option is not selected, the recipients will not receive any data file. File: Select additional files to include as attachments. You may enter the file name directly and use text, variables and data selections. You may also use the Browse button to navigate and select the file.
l l l l l l Reply address: Enter the reply address that will be used in emails sent by PlanetPress Workflow for this task (this is optional). Outgoing mail (SMTP): Enter the IP address of the mail server PlanetPress Workflow is to use to send emails via SMTP. Port: Specify the outgoing SMTP Port if it is different from the default port (25). Server requires authentication: Select if the outgoing server mentioned above requires authentication.
Task properties General Tab l l l l Folder: Enter the path of the folder to which the files are to be saved. File name: Enter the name of the output files generated by this task. To prevent each new file from overwriting the previous one, you should use variable names. You can use any combination of text, variables and data selections; see "Variable task properties" on page 303.
l "Connection tab" on page 635 l "Connection tab" on page 640 l "Advanced properties" on page 650 l "Advanced properties" on page 653 l Therefore2Way (The manual for this plug-in is provided with the plugin's installer and is not available under the Workflow Help.) DocuWare DocuWare is an Enterprise Content Management (ECM) system that is widely used in industry. It provides mechanism for storing, versioning and sharing files across an organization. See https://start.docuware.
Plugin legal notices and acknowledgments Copyright © 2020 Objectif Lune Incorporated. All rights reserved. DocuWare Download The DocuWare Download plugin Downloads files of any file type from a dedicated DocuWare CRM system. Installation This plugin is not installed with Workflow, but it is available for free download from the Resource Center (help.objectiflune.com). After downloading the .PPK file, you will then need to import it into Workflow yourself. See . See Importing a plugin.
Warning The plugin is not designed to be run in multi-threaded, multi-process or auto-replicate environments. It has not been designed for parallellization in regards to internal resource usage, file and data access, or logged-on users. Output The output of this task - the Job File - is either the downloaded file, or the document index data in XML or JSON format. In the latter case, the JSON/XML file includes the path to the file on the DocuWare Server.
Password Enter the password associated with the selected DocuWare login Username. Use the password Hide/Show button to either display or obscure the password. Clicking this option will display the password. Clicking this option will obscure the displayed password. Note When the password is set via a variable, it is important to know that the password might be visible. It is the user's responsibility to protect the passwords in such cases.
Note You can use static text and/or Workflow variables, data and lookup functions in all of the fields on this tab. Right-clicking in the field opens the contextual menu that allows adding variables, data and lookup functions (see "Data selections" on page 54). l Download section. In order to download a file the plugin needs to know from which File Cabinet it must be downloaded.
Note The drop-down list display can be customized by entering a search string in the entry field atop the Field Picker box. This restricts the listed fields to just those containing the search string. l Value. Add the value to apply. You can add or remove search criteria using the following options: You can populate the table with all the available Index Field options at any time by selecting the Add missing fields ( ) button. If selected initially this will add all the available fields to the table.
l Store file name in variable: Stores the name of the downloaded file in a variable. l Store response in variable: Stores the success/failure response in a variable. l Save document index data to Job as XML/JSON: Outputs the document index data to the Job File as XML or JSON (according to the selected option) and stores the status information in a variable. The downloaded document itself is stored in the Connect File Store.
To be able to use this plugin you need a working DocuWare installation and user account with appropriate permissions. Input The input of this plugin can be a file of any type. Processing After establishing a connection with the DocuWare system, the plugin will try to upload the specified file (either the Job File, or an external file) with the given index values to the selected File Cabinet. The plugin won't modify the uploading file in any way.
Right-clicking a field opens the contextual menu that allows to add variables, data and lookup functions (see "Data selections" on page 54), where available. DocuWare Server Enter the DocuWare Host address. For example https://mycompany.docuware.cloud Organization Enter registered Organization name. For example MyCompany Platform Enter the DocuWare platform. For example docuware/platform Username Enter the DocuWare login Username.
been established and the cabinet and file information obtained, the plugin will open upon the Upload tab when next plugin is next opened. As different users can have different permissions (such as access to different cabinets) this information is tied to both the host and username. If either the user or server is changed, then a new Test Connection will be required to re-populate the cabinets and fields for that new connection.
l File type: Enter the type of file, from the list contained in the drop down box. Select Autodetect if unsure of the file type, and the plugin will then set the content-type based upon the file extension. The File type entry is directly editable so your can enter your own file type, should it be missing from the list. Destination In order to upload a file the plugin needs to know to which File Cabinet it must be directed to. The details for this are all contained in this Destination frame.
highlighted in the Document name field screen entry). l Update existing document will add to an existing document of the same name on the DocuWare server, based upon the following criteria: l Search Field. Enter the Field to search on. This can be entered directly as static text, or you could use the Field picker ( ) to launch a Field selection pick list that is populated with all the available fields, and them select the desired field from there.
) or Remove ( ) individual entries, as well as move them up ( ) or down ( ) within the table. At any point you can verify the accuracy of the selected Index options by selecting the Validate ( ) button. Index entries that are duplicated appear in orange text, and index entries that do not match available options appear in red. Note The Document name field entry will appear in italics in the table. All index values must be entered in a unified format.
Fields with empty values will not be saved when the OK button is pressed. Response Specify an optional Workflow variable that is used to store the result. The DocuWare plugin searches for the variable by name and sets the JSON response into the variable. So using dwresponse as the variable name would mean that DocuWare Upload searches for the local variable of that name. Plugin legal notices and acknowledgments Copyright © 2020 Objectif Lune Incorporated. All rights reserved.
Note To be able to use this plugin you need a working M-Files installation and a user account with appropriate permissions. Plugin legal notices and acknowledgments Copyright © 2019 Objectif Lune Incorporated. All rights reserved. M-Files Download The M-Files Upload plugin downloads a single file from an M-Files system (see "M-Files" on the previous page). This Action plugin is not initially installed with Workflow. It is available for download on the Resource Center (help.objectiflune.com).
Output The output of this task - the Job File - is either the downloaded file, or the document index data in XML or JSON format. In the latter case, the JSON/XML file includes a path to the file so it can be downloaded separately. The response that the plugin gets from the M-Files Server is then stored in a variable (if specified). Task properties All of the task's General properties are dynamic.
l l FileID (optional): If the file ID is not given, the first file - the root document - will be retrieved. Retrieve by search: This section allows the retrieval of files by searching for specific properties (Definition entries). Enter the properties under Index data. l l Field: The property to search for.
l Save document index data to Job as XML/JSON: Outputs the document index data to the Job File as XML or JSON (according to the selected option)andstores the status information in a variable (if it exists). The downloaded document itself is stored in the Connect File Store. The XML/JSON output file includes a URL to the document so that it can be downloaded separately. In the Response variable field you can enter the Workflow variable in which the file name or status information should be stored.
Note To be able to use this plugin you need a working M-Files installation and a user account with appropriate permissions. The M-Files Upload plugin is designed to be configured offline as well as online. Once a Test Connection has been established, the Vaults and properties data will be downloaded and stored locally. This allows authoring of Workflow configurations without requiring a constant live connection. Input The input of this plugin can be any file.
l l Username, Password: Enter the user name and password that the plugin can use to send a login request to the M-Files Server. The user should have the appropriate rights. Test Connection: Click this button to establish a connection with the M-Files Server and retrieve the Document Classes of the selected Vault. This information is used on the Upload tab. Upload Tab l File to upload: l l l l Job file: Click this option to upload the current Job File (see "Job file" on page 52).
Metadata Structure of the Vault on the M-Files server. l Value: The (new) value of the property. Note The plugin will fail if a required property is missing from the Index data, or if the Index data contains a property that does not exist for the chosen Class. Use the Index data buttons to: l l l l l Add and remove properties. Change the order of the properties by moving them up or down. This is for convenience only; to the M-Files Server, this order is not important.
Input from SharePoint The Input from SharePoint task can be used to retrieve files from a SharePoint server on your network, filtering on your template fields and creating Metadata to use in your process. When the Input from SharePoint task runs, it first lists all of the files to download then runs the process once for each file in the list. If any new files are added during the process, they will not be touched until the next time the process is scheduled.
selected, otherwise they are untouched. Output The output to this task is a series of individual files, one after the other. Task properties General Tab Note For this tab to work, you must have entered your SharePoint Connection information in the Connection Tab. l l l l l l l SharePoint Site: The name of the SharePoint site from where you want to retrieve documents. You can click on the Refresh button to display a list of sites on your SharePoint server.
l l Download the document and mark it as checked out in SharePoint: Download the document and mark it as Checked Out in SharePoint. This is useful for preventing files to be downloaded more than once. Download the document and delete it from SharePoint: Download the document and delete it from the SharePoint server. Connection Tab l l l l Server Name: The name of the SharePoint server. This can either be a server name (e.g. http://SharePoint2003 ) or an IP address (e.g. http://192.168.1.123 ).
Job Information definitions l l %1 - Source file name: Contains the name of the current captured file. %2 - Directory: Contains the name of the SharePoint director from which the current file was captured. Output to SharePoint The Output to SharePoint action task can be used to send files to an existing Microsoft SharePoint server.
Output The output of this task is the original data file. Task properties General Tab l l l SharePoint Site: The name of the SharePoint site where you want to send the files. You can click on the Refresh button to display a list of sites on your SharePoint server. Document Library: The document library where you want to send the files. You can click on the Refresh button to display a list of libraries on the SharePoint site selected previously.
l Field Type: The type of field as set in the SharePoint Document Library. The following SharePoint field types are supported by the SharePoint output task: l Single line of text: This type may contain a string of any type of characters. This is the most flexible type of field. Use this type when you are not sure if the constraints of the other types of fields will be appropriate. l Multiple line of text: This type may contain multiple lines of text.
Check the option Use as step description to display the text next to the icon of the plugin in the Process area. Email Services Email Services tasks send emails to an Email Service Provider (ESP) using the ESP's Web API. These OL Connect tasks are not initially installed with Workflow but they are available for download on the Resource Center (help.objectiflune.com). After downloading a .PKK file, you have to import it into Workflow; see "Importing a plugin" on page 890.
l l Specify the emails' campaign name. Each e-mail going through Mailjet is attached to a campaign, which enables you to track a campaign's performance and analyze the results. Add headers specifying specific handling instructions for your email. You could set an existing header like the Sensitivity or X-priority header (see https://tools.ietf.org/html/rfc1327), or create a custom header. Installing the plugin First unzip the contents of the ZIP file and then install using the wizard.
Note Further help can be found by pressing F1 or the Help button in Connect Workflow from the “M-Files” dialog or by searching for “M-Files” in the Workflow product documentation at help.objectiflune.com Input Extra attachments To specify an extra attachment, you have to use the key/value pair "disposition":"attachment". To let the plugin know where it can find the attachment, you can either provide a full path ("url"), for example: [{"url":"file:///C:/Terms-and-Conditions.
It then transforms the files into email messages as specified by Mailjet and sends the emails via the Mailjet Web API. Output This task does not make any changes to the Metadata or the Job File. Properties General Tab l Mailjet API: l l l l l API Key and Secret Key: The API Key and Secret Key are both generated automatically when you create your Mailjet account. The plugin needs to provide them in order to authenticate its request to Mailjet's Email API endpoint.
Advanced properties To get access to the following properties tabs, right-click the plugin in the process and select Advanced Properties. Miscellaneous Tab The Miscellaneous tab is common to all tasks. Check the option Use as step description to display the text next to the icon of the plugin in the Process area. SendGrid Note l l l The SendGrid plugin is not installed by default. It is available for download on the Resource Center (help.objectiflune.com).
To let the plugin know where it can find the attachment, you can either provide a full path ("url"), for example: [{"url":"file:///C:/Terms-and-Conditions.pdf","disposition":"attachment"}] or [{"url":"http://www.example.com/image.png","disposition":"attachment"}] or a Connect File Store ID ("fileid"), for example: [{"fileid":100034, "disposition":"attachment"}] Optionally, you may provide a name ("name") to override the name that the plugin creates for an extra attachment.
Properties General Tab l SendGrid API: l l l l l l API Key: Enter your API key, retrieved from SendGrid. It will be used for authentication with the SendGrid v3 Web API. A valid key is required to send email messages. Data Source (see "Input" on page 664): Categories (optional): Enter a single category name (e.g. invoice) or an array of category names (e.g. ["invoice","brand1"]) for the messages. The maximum length of each category name is 255 characters.
Miscellaneous Tab The Miscellaneous tab is common to all tasks. Check the option Use as step description to display the text next to the icon of the plugin in the Process area. Legacy tasks The Legacy section of the Plug-in Bar contains the older deprecated plugins which aren't expected to be used in a modern Workflow, but have been retained for backwards compatibility. In some cases, a plug-in's name was changed when it was added to the Legacy section.
l "Download to Printer" on page 670 l "Generic Splitter" on page 672 Add document Note This plug-in has been moved to the Legacy group. The Add document action task prepares a printer-centric PostScript job by adding a PostScript version of a selected PlanetPress Connect document and the trigger to execute it before the active data file. For more information about printer-centric printing see "Printer-centric printing" on page 112.
Task properties General tab l l Documents: Select a specific PlanetPress Design document if you want all the jobs to be merged with that document (see "PlanetPress Design documents" on page 45). Add job information to the document: Select to prompt your PlanetPress Workflow to add the available job information elements in the header of the generated file. Note that this option is only enabled if a document was selected. Miscellaneous Tab The Miscellaneous tab is common to all tasks.
l l l l Mailrun ID: A unique identification for the current job. This ID must never be the same between two mail runs - we suggest using either %f or %u , which are both always unique as they are based on date and time. Use Job ID: Check to send the Job ID chosen in the PitneyBowes Scan Code utility along with the job. Use External MRDX and PDF: Check this option to ignore the MRDX creation and use an existing PDF and MRDX instead.
executed directly on the printers (see "PlanetPress Design documents" on page 45 and "About printing" on page 110). For images you should rather use Send Images to Printer action tasks (See "Send Images to Printer" on page 689), as they provide image quality and conversion options. Input Any file that you wish to upload to the printer. Note that this task does not attempt to verify that the type of file being sent is compatible with the printer, or is in a supported file format.
l Print confirmation page: Select to print the Variable content document download confirmation page when the download is successful. Miscellaneous Tab The Miscellaneous tab is common to all tasks. Check the option Use as step description to display the text next to the icon of the plugin in the Process area. Generic Splitter Note This plug-in has been moved to the Legacy group. The Generic Splitter is a legacy task which is kept for backwards compatibility.
Output Multiple data files, sent one after the other to the rest of the tasks in the process. Metadata, Job Infos and other variables are not modified by this task. Task properties General Tab l l l Split data file on: Use this box to choose the item on which top split the file. The options available depend on whether or not the Use emulation box is checked (see below). Use emulation: Check to emulate the data before splitting the file.
l Word is between columns l l l l l Consider case: Select to force the Generic Splitter to match the character casing of the string of characters entered above with the characters found in the file. If this option is selected, “DAY” and “Day” will not be considered as matching the search string “day”. Where to split group l l From and To: Enter a horizontal search region defined as starting from a given column and ending at a given column.
first columns of the line selected above. l l l l l Pages: Enter exactly where to split the file. Enter 1 to split the file 1 page before or after the string, 2 to split the file 2 pages before or after the string, or 0 to split the file immediately before or after the string. Before or after: In the previous box, you entered exactly where you wanted to split the file, here is where you specify whether you want the split before or after.
match (“day“ and “day“, for example). If you select Contains, the Generic Splitter will consider that the condition is met whenever it finds the string of characters entered in the Value box, even if the database field contains additional characters (“day“ and “days“, for example, would be considered a match). l l l Value: Enter the string of characters to search for as the splitting criteria. Like the Field box, this is also a variable property box.
l Where to split group l l l Pages or records: Enter exactly where to split the file. Enter 1 to split the file 1 page or record before or after the string, 2 to split the file 2 pages or records before or after the string, or 0 to split the file immediately before or after the string. Before or after: In the previous box, you entered where you wanted to split the file.
Note While you can insert the HTTP Server Input task anywhere in your process as a secondary input task, in reality the HTTP Server Input task will only function when used as the initial input, as it is triggered when PlanetPress Workflow HTTP Server receives a request and passes it on to the correct task. Note Athough Workflow can serve both static and dynamic resources to a web browser, it is not meant to be used as a fully featured web server as it is not built for responsiveness nor guaranteed uptime.
places them in a specific location on the drive. When a request is received, the HTTP Server Input polls that location and finds the requests and all attachments. It will always pick up the "oldest" request received. The request can contain one or more files, one being an XML file containing the request information as well as any GET or POST variables that were received within this request. Other files are POST attachments.
Even if the process ends with a "Delete" on page 609 task, it is still returned to the client; deleting the job file only means you are not doing anything with it locally. Note You can serve static resources through PlanetPress, which is especially useful for images, CSS and JavaScript files. See "HTTP Server Input plugin preferences 2" on page 802. Task properties General Tab l l l HTTP action: Enter the name of the action requested of PlanetPress Workflow by the client.
Note This option requires every plugin in the process to be explicitly set to "On Error: Stop process" (see ), even if the process itself is set to "On Error: Stop process". l l Send immediate response to client: Do not wait for the process to finish and send a static HTML or Text file back to the client instead. This prevents any timeout from occurring. When checking this option, the field under the option is used to select which file to return.
"Other" Tab l Job Information group l l l l l Information elements: Indicates what Job Info variables are automatically created by the input task. Add lines before first data page: Using the arrows keys you can add any job information directly at the beginning of your data file. Backup input files: Check this to save a copy of each data file that is captured by your input. These files are saved in the PlanetPress Workflow Tools working folders under the "Backup" folder.
Check the option Use as step description to display the text next to the icon of the plugin in the Process area. Microsoft® Word® Documents To PDF Conversion Note This plug-in has been moved to the Legacy group. The Microsoft® Word® Documents to PDF Conversion action task can be used to convert a Word® document into a PDF file that can be used in your PlanetPress Workflow process. It can also do a Mail Merge as it runs the task.
l l l If using a Microsoft® database such as Access® or Excel®, each software must be installed in the same version. For example, using Microsoft® Word® 2007 with a Microsoft® Access® 2003 database will cause the task to fail. If the database path is specified in the Microsoft® Word® document, the mail merge has to be performed with the settings specified in the document, otherwise the database path provided in the task is ignored and can cause different conflicts.
Note The Objectif Lune Printer Driver will naturally add a margin to the PDF generated by this task. If your PDF is full bleed you will not get the desired results using this option. l A DOC (Word Document) file which is the result of the mail merge. This output is only available when doing a mail merge. Task properties General Tab l l Microsoft Word Document: Enter a Microsoft® Word® document or template, or click the browse button to navigate to the location of the document.
l Output Type: l l .PDF File (with metadata): The result will be a PDF file with the number of pages generated by the combination of the template and record set. Metadata is also included that complement the PDF. .DOC file: The result is a Microsoft® Word® document in .doc format. Note that this format is not supported by PlanetPress Workflow as a data file or job file, so this option is only useful if you are simply planning to save the Word document in a specific location.
l l l PrintShop Mail version 6.1 or higher must be installed on the same system, and an activated PrintShop Mail production dongle must be plugged in to the system. You must have at least one printer using a PostScript driver on your system in order to produce PDF output. It is highly recommended that a PostScript printer be set as the default system printer in order to act as a fallback if the selected printer is unreachable.
l l l l l l l l l l l l Select Preflight to check if the merging of the data file and document would generate warnings or errors. This does not actually produce output, only an XML file containing a list of warnings and errors, including on which record and layout the warning or error occurred, and a description. Select Produce PostScript (PrintShop Mail 7 task: PostScript) to generate a standard PostScript file that can then be sent to any PostScript printer.
full path where the output should be saved. This option is not available in the Windows Direct to printer/PostScript Driver output type. l Record Range group l l All records: Select if you want to print all the records included in the job file. Use Record Range: Select if you want to print only some of the range included in the job file. Use the From and To boxes to indicate the record range. Miscellaneous Tab The Miscellaneous tab is common to all tasks.
Input Any image file that you wish to upload to the printer. Processing The currently active image data file converted to PostScript. The image's resolution, scan orientation, and quality can be modified, depending on the selected option. All files are converted into PostScript format for storage on the printer. If a virtual drive, the file is automatically sent to it. Output A PostScript file containing the necessary code to save the data file on the hard drive.
l l l l l Image compression level: Select the level at which you want images to be compressed. Values can range from 1 (compress up to 1% of the image’s original size) to 100 (do not compress). For example if you set this box to 75, the Image Downloader compresses all images by 75% when it converts those image to PostScript. The default compression level is 70%. Send to Virtual Drive of: Select the computers and / or printers to which the images are to be sent.
Web services, a SOAP class of applications, expose their services via the Internet in a manner that lets other applications access them, as well as use and combine them as required. In order to access and successfully use Web services, client applications must know how to get them, what operations they support, what parameters they expect, as well as what they return. SOAP servers make this information available via WSDL (Web Service Description Language) files.
Note The WSDL Address of a PlanetPress Workflow SOAP server is the following: http://127.0.0.1:8080/wsdl/isoapact (assuming you are on the same machine and did not change the default HTTP port). l l l Get: Click to get the WSDL file from the SOAP server and populate the Service box below. Service: Choose an available Web service from this drop-down list to populate the Method box below. You may also enter the service name directly if the WSDL file cannot be found.
l Use returned raw SOAP packet as new data file: Check to use the complete SOAP packet (including the passed parameters) instead of the parameters only. This option overrides any return value set to %c in the Arguments box. You should use this option when the SOAP Client plugin is not able to fully support the syntax of the response. Advanced Tab l Domain: Enter the domain for the authentication on the SOAP server. The Domain is optional even when authentication is used.
Note Although it is more common to perform both phases in a single pass, each phase can be performed selectively, as required. Input A print job in EMF format, generally captured from a WinQueue input task. Processing The EMF job is converted into a text-only, "Line printer emulation" on page 67 data file. Output A Line Printer file. Metadata, Job Info variables and other variables are not changed.
maximum to minimum font size (in points), that is less than 0.60, two text passages are not recognized as belonging together. For example, if two text passages are formatted with different font sizes. Passage 1 with 10, passage 2 with 18 point. The ratio 0.56 is smaller than the adjusted value 0.60. Therefore those two text passages are recognized as not belonging together.
factor the font's height and size is multiplied with. The value for the font's height therefore is taken from the corresponding font's attributes. For example, if the height of that font example in 10 point size is 0.32 cm. There is a passage found that is positioned 0.15 cm above - which means 0.15/0.31 = 0.48 < 0.50 - the previous text passage. So the two passages are not recognized as belonging together. l Windows Print Converter: Select this option if the task is to generate a Line Printer file.
containing a camera, processor, memory and communication capabilities and they can recognize their location on any paper where a special Anoto pattern is printed. For more information on building and using PlanetPress Capture processes, please see "PlanetPress Capture Workflow" on page 289. "Anoto" and the Anoto logotype are trademarks owned by Anoto AB.
Processing The condition is evaluated using the specified rules, combination (condition is true when...) and scope (condition scope). Output The original data file and Metadata is output by this task. If the rules used in the condition return True, the data and Metadata is sent down in the condition's branch. Otherwise, this same information is sent in the trunk.
should not, a List Field set to only accept one option contains ink in both options, etc. l Condition based on Pattern Availability : Select to base the condition on the availability or non availability of patterns in a specific pattern sequence. l l l l For Pattern Sequence: The name or identification of the pattern sequence to check. Leave blank if no pattern sequence is used. Number of Patterns available are: The operator for the comparison.
l Pidget setting: Triggered by specific pidget settings. l l Start timestamp: Triggered when the first ink is applied in the field. l l l l l l l l Before: If the first stroke found in the Capture Field was made earlier than the specified date and time, the condition becomes true. After: If the first stroke found in the Capture Field was made later than the specified date and time, the condition becomes true.
l ICR Resemblance: Triggered then the resemblance percentage the ICR engine gave to the ICR value in relation to its recognition database compares with the value determined in the "Resemblance" box, using the chosen comparison operator. For more information on ICR, see PlanetPress Capture ICR. l button: Add a new field and action line. l button: Remove the currently selected line.
The Capture-Fields generator action task is used to generate Capture patterns in your job, which will then be printed for use with an Anoto Digital Pen. It also interacts with the Capture database and does some operations. Warning PlanetPress Capture Fields cannot simply be inserted into an existing document as-is and expected to work properly, efficiently or consistently.
Processing The Capture Fields Generator action task uses an existing PlanetPress Design document containing Capture fields and assigns a unique Capture pattern to each printed page. The task then locks each pattern that it used so it cannot be reassigned to any other document. The whole job is then converted into a PDF file which is stored, without the patterns, in the Capture Database. This PDF file is later used by the "Error handling" on page 707 to be merged with ink from the pen.
l l Output Format group l l l l l Custom: Use the title in the input field as set by the user. The field is variable so the title can be set on a per-document basis using data or metadata selections. Continue process with optimized postscript (no metadata): The job file coming out of the task will be a PostScript file that can be sent to any postscript printer or saved locally.
Capture-Fields processor Note This plug-in has been moved to the Legacy group. The Capture-Fields processor action task is used to update the Capture database using information received from an incoming PGC file, which generally originates from a communication by the Anoto penDirector.
Error handling If the Capture Fields Processor generates a critical error during the processing of any document in the PGC file, all of its actions will be reverted. If your PGC file contains multiple documents, even those documents that were processed before will revert. It is strongly suggested to backup your PGC file before using this task and to create an error handling process to capture these errors. Logical errors do not cause this task to exit.
l l l CapStatus: Current status of the document: l 0: Open l 1: Closed by an optional field l 2: Closed by a mandatory field l 3: Closed by a final field CapTemplateName: Name of the PlanetPress Connect document used to generate the document. Page Level: l CaptureField: Information on each capture field on the page. Repeated for each capture field that is present.
l ICR Settings group l l l l l l Perform ICR Recognition: Triggers the PlanetPress Capture ICR engine. For more information, see PlanetPress Capture ICR. Engine Language: Define the language the ICR engine will use for text recognition. This has a major effect on the way text is recognized, as different languages use different databases to recognize letters, numbers and characters. For example, accented letters are not correctly recognized in the English ICR database.
Check the option Use as step description to display the text next to the icon of the plugin in the Process area. Capture-PGC splitter Note This plug-in has been moved to the Legacy group. The Capture-PGC splitter task can be used to separate each document into its own PGC file so they can be processed separately. The splitter then sends each document PGC to the next action, which should be the Capture-Fields processor task.
Task properties General tab l Pattern sequence group: Determines what Pattern Sequence will be assigned to each PGC file. l Type: Specify from where the Pattern Sequence should be taken. l l l l None: Do not use a Pattern Sequence. Pen Information: Use the Pattern Sequence assigned to the pen in the PlanetPress Capture Database. Custom: Overwrite the pen's information and specify a Pattern Sequence manually or use a data selection.
The Extract ICR Data task retrieves the ICR data from the specified document ID from the Capture Database and adds this information to the current Metadata in the process, at the specified level. Input Any data file, but generally one associated with the document in question (either a PGC or a PDF), along with an associated Metadata file. Processing A query is made to the Capture database and the ICR data is retrieved.
Capture-Find document Note This plug-in has been moved to the Legacy group. The Capture-Find document task retrieves a list of pertinent information about Capture documents present in the Capture database according to a specified set of rules. This task is most often useful as the beginning of an automated process using a series of Capture documents, for example one that removes old documents to unlock patterns.
Output The data file generated by this task is an XML structure containing the data about each document. It also generates Metadata that is compatible with post-processing tasks such as the "Capture-Condition" on page 698 and "Capture-Get document" on page 717 tasks. Task properties General Tab l Document-ID Based Condition: Select this option for this task to filter its results using a specific Document ID. l l Document ID: Enter the ID on which you want to filter.
l l l l Template name: The name of the PlanetPress Design document used to generate the Capture document. This is set in the document's properties, in PlanetPress Design. Pattern ID: The exact ID of the Anoto Pattern used. This is also called "Pattern Trace Code". Content Status: The status of the document as a whole. A document can be Empty (no ink), Partial (some ink but still open), Complete (all mandatory ink is present) or in Error (logical or process error).
l l l l l l l Last: Date comparison, documents of which the date is within the specified interval are included (Date Generated and Date Closed filters only). Older than: Date comparison, documents of which the date is older than the specified interval are included (Date Generated and Date Closed filters only). Condition: The condition or value the document needs to meet. The condition is variable dependent on the chosen filter. It can be a drop-down of values, an alphanumerical or numerical value.
Capture-Get document Note This plug-in has been moved to the Legacy group. The Capture-Get document action task is used after the Capture-Fields processor to retrieve all documents that have been updated. This task is put into effect in the following use cases and example processes: l Basic Functional Capture Workflow l Capture Post Processing Workflow l Capture Web Manager Workflow Input A data file in PGC or PDF format that is accompanied by valid Metadata.
Note Performance-wise, when this plugin retrieves a document from a 10,000 page PDF in the database, it will take more time then if it retrieved it from a 100 page PDF. Output The Get Capture Document action task is a loop that outputs a PDF version of the Capture Document. The PDF contains the original document, any ink added by the "Error handling" on page 707 action task.
l l l Get closed documents only: Get only the documents that have been closed in this process, according to the Metadata. Close document after retrieval: Once the task has retrieved the document from the Capture database, the document will be closed even if it is incomplete. Annotate PDF: Add annotations to the PDF that describe each Capture field and the ink that is included in those fields. Note that not all PDF readers support annotations.
Processing The ink contained in the PGC file is converted into an EPS layer, which is then applied on an blank, empty PDF file of the size specified in the task's properties. If more than one Pattern ID is found in the PGC file, each separate Pattern ID will generate a new page on which its ink is applied. Output A PDF file with a blank background and only the ink data found in the PGC file. Task properties General Tab l PDF page size: Choose the page size of the output PDF.
l l l l Creating a new branch will create an Unknown output task in that branch. See "Adding tasks" on page 301. Using Branch From Here... will create an Unknown output task below that branch. See "Adding tasks" on page 301. Opening a configuration that contains additional plugins that are not installed on that system will cause these plugins to be replaced by Unknown tasks. Installing the additional plugins and re-opening the configuration will restore the plugins and their properties.
information about the job, process, and PlanetPress Workflow environment. For more information see "System variables" on the facing page. All the variables in PlanetPress Workflow are considered strings, even if the information itself can be a number. There are no other types of variables (such as arrays, floating point numerical values or booleans) in PlanetPress Workflow.
Designer). They contain a data model and instructions on how to extract data from a job file and are used by the All in One task and the Execute Data Mapping task. Job Infos are passed to the task so the trick is to transfer the value of the Job Info to a field in the data model. To do that, simply add a property-based field to the Data Model and select a Job Info from the list of properties; see Adding a property-based field. Note that Job Infos don't change whilst the task executes.
Variable Name Example value when interpreted YYYY/MM/DD %c Content of the job file in its original format n/a %F Job file path and name C:\Program Files\PlanetPress Workflow 7\PlanetPress Watch\Spool\job1D80328.dat %f Job file name including the file extension job1D80328.dat %z Job file size in bytes 34134 %o Original file name invoice_june2nd.
Variable Name Example value when interpreted (numeric) %D Current day (text) Monday %l Current day (short text) MON %h Current hour 18 %n Current minute 03 %r Run mode (0: runtime, 1:debug) 0 %s Current second 41 %v Current millisecond 24 %u Unique 13-char string (will be different every time it is used) 0ZIS4CW8U47VI00 %U Unique 36character string consisting of 32 alphanumeric, lower case characters and four hyphens.
Variable Name Example value when interpreted xxxxxxxx-xxxxxxxx-xxxxxxxxxxxxxxxx (8-4-4-4-12 characters). %t Current temporary folder C:\Documents and Settings\All Users\Application Data\Objectif Lune\PlanetPress Workflow 7\PlanetPress Watch\Spool\6.tmp\ %e Current Metadata file name job00ZAIZ2C4FXON16CE6C566.dat.meta %E Current Metadata path and file name C:\Documents and Settings\All Users\Application Data\Objectif Lune\PlanetPress Workflow 7\PlanetPress Watch\Spool\5.tmp\job00ZAIZ2C4FXON16CE6C5
Initial input tasks do not modify the value of %i. However, the following tasks do trigger the variable: l Barcode scan l Capture Field Processor l All Splitters (Including the Metadata Sequencer) l Get Capture Document l Loop l Capture PGC Splitter l PrintShop Mail Error handling variables The error handling variables are read only and are filled by the On Error mechanism.
Variable Name %{error.process} Name of the process where the error was triggered. %{error.tasktype} The type of task that triggered the error %{error.taskname} The name of the task that triggered the error %{error.taskindex} The position of the task in the process %{error.errormsg} The error message, as entered in the OnError tab of the task. This is the same message as appears in PlanetPress Workflow Log file. %{error.errorid} The error ID, as entered in the OnError tab of the task.
1. Select the process where you want to add the variable. 2. Now you can use one of two methods: l l Click on the Home tab of the PlanetPress Workflow Ribbon, then click Local Variable in the Variables group. Right-click on the process in the Configuration Components area, then click on Insert Local Variable. Deleting a variable l Right-click on the variable name in the Configuration Components pane and click Delete. Note Deleting a variable does not delete any reference to it.
l You can use Scripts. See the chapter "Using Scripts" on page 141. Tip Variables may be used as variable properties in Task Properties (see "Variable task properties" on page 732). Global variables Global variables are set at the level of the configuration file and are shared between all processes and tasks. To refer to a global variable, for example in a variable task property (see: "About Tasks" on page 300), use its name preceded by "global." and surrounded by curly brackets, for example: % {global.
2. Click Global Variable in the Variables group. The new variable will appear as GlobalVar or GlobalVarX (the name is automatically incremented). To set the value of a global variable from the Configuration Components pane: 1. Double-click on the global variable in the Configuration Components pane. (Rightclicking then clicking Properties also works.) 2. Enter the new value for your global variable. 3. Click OK to save the new value.
l l Use the Set Job Info and Variable action task. See "Set Job Infos and Variables" on page 432. You can use Scripts. See the chapter "Using Scripts" on page 141. Tip Variables may be used as variable properties in Task Properties (see "Variable task properties" below). Variable task properties When you edit tasks, you may notice that some of the properties that you can modify have a red (or more precisely, a maroon) title.
Variable properties can also be mixed, meaning you can combine, within a single variable property box, any number and order of variable types. You can, for example, do the following for an output file name: %O_@(1,1,1,30, KeepCase,Trim)_%y-%m-%d.txt. This would translate in the original file name, followed by part of the first line of a text data file, then the current date.
You can quickly identify variable information that is already present in your variable properties as such: l l l l l A percentage sign identifies system variables, as well as standard and custom job info variables — %f, for example. A backslash indicates a control character — \004, for example. An at sign (@) indicates a data selection for emulations other than database — @ (1,1,1,1,17,KeepCase,Trim), for example.
Note PlanetPress Capture is only available in version 7.2 and higher of PlanetPress Suite Production. It is not available in older versions, nor is it available in the Office and Watch versions of PlanetPress Suite. PlanetPress Capture is not compatible with OL Connect Designer templates. PlanetPress Capture is a set of tools available in PlanetPress Workflow that enable output and input for interaction with an Anoto Digital Pen.
Anoto Pattern A series of dots placed in a pattern that is unique to each page where the pattern is printed. The Anoto Digital Pen identifies this pattern and its location on the page. PlanetPress Capture contains 20,000 patterns (8 in demo mode, See "PlanetPress Capture License Management" on page 791) which can be used to generate documents. Capture Condition PlanetPress Workflow task that is used for post-processing of documents after they have been processed by the Capture Fields Processor.
Closed Document A document still within the PlanetPress Capture Database of which all the required fields have been filled by the Capture Field Processor from a PGC. A closed document will only remain in the database until it is retrieved with the Get Capture Document task, after which it is deleted. Contamination The act of writing on a "wrong" document, aka one that has a Pattern Sequence different that the one for which it was produced..
that of the document causes Contamination, which can cause errors or ink to be placed on the wrong document. Pen ID The serial number of the Anoto Digital Pen. It is registered in the PlanetPress Capture database and is present in each PGC file. PGC File Pen Generated Coordinates; PGC File containing all ink processed while the pen was undocked along with the Pen ID. It is possible that a single document requires multiple PGC, just as it is possible that a single PGC have multiple documents.
Warning PlanetPress Capture Fields cannot simply be inserted into an existing document as-is and expected to work properly, efficiently or consistently. In order to design a document with Capture Fields, you must review and understand the Critical PlanetPress Capture Implementation Restrictions.
l l Total database size is limited to 4GB of data. l Total size of a single table is 2GB. l May be unstable in large implementations. MySQL l l l l l Database can be in any location, but performance will depend on the speed of the connection between PlanetPress and the MySQL server. MySQL's performance has been slower than SQL Server and SQL Server Express during our tests. By default, MySQL is configured not to allow any SQL request larger than 16 megs.
l l Also in MySQL, if a timeout occurs on simultaneous record access, resubmitting the PGC for processing should resolve the issue. In SQL Server, if one of your requests is dropped because of simultaneous accesses, resubmitting the PGC should resolve the issue. Security Considerations PlanetPress Capture introduces new and efficient methods for digitally capturing the contents of ink laded out on physical paper.
document of their choice. It is always better to secure this folder properly. You could also use third-party encryption software to secure the files, and decrypt them as necessary for reprocessing. l l l l The transfer between the Anoto penDirector and PlanetPress Workflow is not encrypted due to a limitation of penDirector which does not support SSL connections.
The Numbers First and foremost, the 20,000 patterns is a fixed number - PlanetPress can only generate 20,000 unique patterns as this is the number of patterns that we license through Anoto. The 20,000 patterns are, however, not all available when generating documents. There are 8 "demo" patterns that are used to generate documents when PlanetPress Capture is in demo mode (no license activated), and react the same way that the bulk of the 20,000 patterns.
Example Say you print 19,000 pages containing a pattern, every day. You may think you'll "run out of patterns" after a single day. But if 18,900 of these documents are being written to and processed within the day, at the end of the day you only have a 100 page difference, possibly due to mistakes, lost pages, or errors during processing. In this specific example, you would run out of patterns only after 10 days, assuming the numbers remained completely static.
Using Pattern Sequences In the event where a single location generates all the patterns and this output *can* be split into multiple logical zones, Pattern Sequences can be used. A Pattern Sequence is basically a "tag" that is added after the pattern's identification (Pattern ID). When a Pattern Sequence is used, each Pattern Sequence can re-use each of the 20,000 available patterns.
As you may have figured out by now, we are still not actually printing more than 20,000 patterns. The only distinction here is that we are re-using patterns in separate "zones" (or, well, sequences) and as long as pens and pages using capture patterns are not exchanged between these zones, they act independently with their own 20,000 pattern limitation.
Second, contamination can happen in method 1) above if a pen or paper is moved from one location to another. Similarly to the previous contamination example, if there exists a document in the Capture Database where the "wrong" data is processed, it will update a document where it does not belong. Again, neither the pen nor PlanetPress Workflow have any idea that this causes an error until it's too late.
l l l When necessary, patterns can be extended using multiple servers or Pattern Sequences (as long as these are used in separate physical locations). It is extremely critical that contamination be avoided at all costs. Whenever possible, always avoid using pattern sequences unless it is absolutely necessary to do so. Anoto penDirector The Anoto penDirector is a software driver provided as a download by Objectif Lune Inc.
To pair penDirector with an Anoto Digital Pen: 1. Make sure that a Bluetooth dongle is present and enabled on the computer where penDirector is installed. 2. Note down the PIN of the Anoto Digital Pen, by docking the pen and going in the Pen settings tab of penDirector and looking at the Pen access group at the bottom of the dialog. The default PIN is 0000. 3. Undock the pen, or remove its protective cap if it is not docked. Make sure the power light on the pen is turned on and green in color. 4.
PlanetPress Mobile Application The PlanetPress Mobile application can be installed on some mobile phones and enable fast and direct connectivity between the Anoto Digital Pen and PlanetPress Workflow. The connectivity between the pen and the mobile phone is done through Bluetooth, while the connectivity between the mobile phone and PlanetPress Workflow is through the currently active data plan (either wifi or the cell phone company's data plan, such as 3G).
Paper quality The PlanetPress Capture technology, when generating the Anoto Pattern, already accounts for ink dispersion on laser printers and on general-use laser paper. Therefore, using paper that is not of the same quality (for example, one where the dispersion rate is much higher) or the same type (reflective paper) may not permit the pen's camera to read the pattern properly.
This is because the pen's camera (which captures the position of the pen) is located under the pen tip and must fully see the pattern.
Knowing this, the best practice when creating fields is that they have, at the very least, a 7mm margin on each size of the actual area you want to capture from. For example, an effective 30mm wide pattern will actually be 44mm wide using these margins. The margin should be for both the vertical size and the horizontal size.
PlanetPress Capture ICR The term "ICR", which means "Intelligent Character Recognition" is an evolution on the popularly-known "OCR", which is "Optical Character Recognition". The difference between the two is easily explained: While OCR can only recognize characters using the finished shape (for example, in scanned documents and pictures), ICR relies on much more data which is provided by the Anoto Digital Pen: the path that the pen takes, the exact timing of this path, start and stop points, etc.
l l l l In PlanetPress Design, a Capture Field Object must be added and the Perform ICR option must be activated (See the Capture Field page in the PlanetPress Design User Guide). This must be either a Multi-Area Field or a Text Field. The Capture Fields Processor must have the Perform ICR Recognition option checked, and language needs to be selected. Once the ICR data is available, do something with it.
the pen, its movement speed as well as the overall shape of each character to determine which character was written. l l l ICR Value: The alpha, numeric or alphanumeric value that was determined by the ICR engine. ICR Confidence: A percentage value that the ICR engine gives to any specific value, when comparing the pen data with it's character database. ICR Resemblance: A percentage value that defines how closely the value resembles the "average" character shape.
Using the Most Restrictive Mask l l Target: Form designer. What: In the Capture Options tab of a Capture object, the mask type indicates the type of character to be recognized. There are 3 possible selections: numeric, alphabet and alphanumeric. The alphabetic mask type allows you to select the letter case.
How: Use the following options from the Capture options tab under Mask Type and Case option to filter the expected data. The following diagram illustrates the available mask types. It is recommended to select the mask type that is the closest to the desired result. An alphanumeric field should be used as a last resort.
Guidelines for Capture-Ready Fields l l Target: Form designer What: Only one character per Capture field can be recognized. When expecting multiple characters making up a word or phrase, you must make sure that the user only writes one character per field. In order to do so, you must make sure that the fields are big enough and have enough space between each one. The best practice is to make sure that there is a boundary surrounding the field where ink marks are to be written.
How: Make sure there’s enough space between each field. You must re-design the document if that’s the case. There’s no minimum value that is required as the distance between 2 fields, except for the 7mm border that is required in order for the Anoto digital pen to recognize the pattern being used. Writing in a Legible Way l l Target: User. What: It is important to write in a legible way i.e. applying yourself by writing well defined numbers and letter that are easily interpreted.
l Write an additional line under the number 1. l Write an additional line across the number 7. l l l The ICR functionality of PlanetPress Capture cannot recognize dotted letters where there are circles instead of dots (like i , j). This would be analyzed as an i AND o. Therefore, dots should be as such and not circles. In French, the ç is somewhat sensitive. You must apply yourself and draw the letter carefully. In most cases, it is recognized, but attention must be paid. Number 8 is also sensitive.
Possibility of Interpretation Error in an Automated Process l l Target: Workflow designer What: We cannot be 100% sure that a character would be recognized by PlanetPress Capture as it should. Therefore, the analysis of a value interpreted with ICR should only occur if the level of confidence is superior to a determined level.
Why: An automated process can treat the characters incorrectly due to an incorrect interpretation of a value. This occurrence should be minimized as much as possible. How: Allow for a special process (possibly manual handling) in the case the automated process didn’t reach a high confidence level in its analysis of the ink marks. Use the plugin Capture condition that includes the ICRContent option. This can be configured to be a true condition if the confidence level is greater than a certain value.
to run it on every computer where PlanetPress Workflow is running, but you may also choose to run it on computers more or less dedicated to PlanetPress Fax. Since the faxing program must always be running and ready to receive requests from PlanetPress Workflow, it should be included in the Windows Startup group. PlanetPress Fax can associate a different fax number with each page it sends via the faxing software.
PlanetPress Image can be installed on any computer on your network and can process requests coming from tasks performed by PlanetPress Workflow on other workstations. You may choose to run it on every computer where PlanetPress Workflow is running, but you may also choose to run it on computers more or less dedicated to PlanetPress Image. Note that in the case of Digital Action tasks, PlanetPress Workflow and the PlanetPress Image service must be running on the same computer.
Workflow processes in Connect Send For help on the configuration of Workflow processes in a Connect Send solution, see "Workflow processes in a Connect Send solution" on page 298. OL Connect Send tasks l "Get Data" on page 531 l "Get Job Data" on page 536 l "Job Processor" on page 540 ZUGFeRD The ZUGFeRD plugin provides a way to enrich German PDF invoices with data specific to the invoice. This is done by embedding the data in a standardized XML format within the PDF itself.
Plugin language The plugin is only available in German, as its application is only really relevant to documents created for the German market. Plugin usage For help on how to use the ZUGFeRD plugin, see "ZUGFeRD plugin" on page 506. Plugin Legal Notices and Acknowledgments Copyright © 2022, Upland Objectif Lune All rights reserved. The ZUGFeRD name and logo are protected under copyright and used with permission of the Arbeitsgemeinschaft für wirtschaftliche Verwaltung e.V. in Germany.
information on services and system permissions, refer to Windows documentation. For more information on how to configure the account used by the services, see "Workflow Services" on page 772. Available Input services Input services are used to pull in data files. The input services used by PlanetPress Workflow are: l l l l l LPD (Line Printer Daemon) Input service: Inputs data sent from an LPR client.
PlanetPress Image can generate PDFs or images and dispatch them from the host on which it runs. See "About PlanetPress Image" on page 764. l l l l PlanetPress Fax: Outputs jobs as faxes. You use PlanetPress Fax as an interface to WinFax PRO or Windows Fax, to send faxes you create from documents. You can install multiple instances of the PlanetPress Fax service on your network, and have PlanetPress Workflow send jobs to one or more of these instances.
l l Click Stop Service to stop the service. When you stop or pause PlanetPress Workflow, it immediately stops bringing new files into its processes, but it keeps on performing tasks until all the files which are currently under process have been completely processed. Click Pause to pause the service. The PlanetPress Workflow service temporarily stops performing jobs.
When you are running the PlanetPress Workflow Configuration program on a workstation, if it is associated with an account that is different from your account, the following icon is displayed in the lower right corner of the PlanetPress Workflow Configuration program: .
Workflow Services To be able to run and to have access to local files as well as to files available on other computers in your network, PlanetPress Workflow applications and services must identify themselves using a local or network account. The first time you start the PlanetPress Workflow Configuration program, the application automatically asks you to choose an account (see below).
l Services start automatically: Select to start the required PlanetPress Workflow automatically. PlanetPress Workflow applies the user account information to all the services (PlanetPress Workflow, PlanetPress Fax, PlanetPress Image, LPD input, Serial input, Telnet input, FTP output, LPR output, and PlanetPress Messenger), that run on this computer. The PlanetPress Workflow Configuration program does not test user names and passwords, but merely associates them with the services that require them.
Preferences PlanetPress Workflow Configuration program lets you configure a variety of options, from how the application itself looks or behaves, to plugin specific options. Most of PlanetPress Workflow preferences are located in the PlanetPress Workflow Preferences window, accessible through the Preferences button in the PlanetPress Workflow button, or the key combination Ctrl+Alt+P.
l "Telnet Input plugin preferences" on page 811 l "PlanetPress Fax plugin preferences" on page 812 l "FTP Output Service preferences" on page 815 l "PlanetPress Image preferences" on page 816 l "LPR Output preferences" on page 819 l "PrintShop Web Connect Service preferences" on page 821 Note Preferences are saved automatically and applied immediately.
l l Highlighted tasks and branches: Select the background color for highlighted tasks and branches in the Process Area’s invisible grid. Disabled tasks and branches: Select the background color for disabled tasks and branches in the Process Area’s invisible grid. Inactive process l Color: Select the color to use to identify inactive processes in the Configuration Components pane. l Bold: Select to use a bold font to display inactive processes.
l Reset to default button: Click to reset all the Object Inspector options to their default values. Configuration Components pane appearance preferences Colors This window lets you set the color of individual Configuration Components pane elements. To change the color of a given element, select it in the list box above and then choose a color from the drop-down list below.
Default configuration behavior preferences l Use default configuration: Check to use default input and output tasks when you create a new process. If this group is not selected, each new process you will add will begin and end with unknown tasks. l l l l l l l l Default input task: Select an input task to use as the default input task when you add a new process. Click the Configure button located to the right of this box to set the properties of the selected input task.
Note l l The JScript engine is Microsoft’s JScript 5.8, which is the equivalent of JavaScript 1.5 (ECMA-262 3rd edition + ECMA-327 (ES-CP) + JSON). Enhanced JScript allows the use of more recent JavaScript syntax. Many methods - basic methods like Date.now(), String.trim(), btoa ()/atob() and more advanced methods like Array.forEach() - are added to the JScript engine via the polyfill.js library.
l l l l l l l l l l l Invalid name: Select to have PlanetPress Workflow warn you when you try to rename an object in the Configuration Components incorrectly. Names can include letters, numbers, and underscores; the first character of a name cannot be a number. Printer queues update: Select to have PlanetPress Workflow prompt you when adding a document to a group under the Documents category in the Configuration Components pane.
l l l l l l l l l Prompt on overwrite of a document: Select to have PlanetPress Workflow prompt for confirmation when a document that is being imported using File | Import Document is about to overwrite an existing document. Prompt on Document overwrite when service is running: Select to have PlanetPress Workflow prompt for confirmation when a document that is being imported using File | Import Document is about to overwrite an existing document.
l Warn on Component Rename: Select to have PlanetPress Workflow prompt for action when configuration components, such as processes, are imported from an external configuration file. Imported components can overwrite existing components, or be renamed automatically with unique names. Sample Data behavior preferences Sample Data behavior preferences control the way theData Selectordisplays the sample data file.
resources as configured for this user. l l l l Password: Enter the NetWare password corresponding to the user name you entered in the previous text box. Tree: Enter the NetWare Directory Services (NDS) tree where the user resides. This is the user you entered in the user name text box. Click Trees to navigate to the desired tree. You must enter a value for the Tree text box. Context: Enter the context on the NDS tree where the user you enter in the user name text box resides.
The available PlanetPress Capture user options are: l Mode: Choose between Server and Client mode. Client and Server mode are used for multi-server architectures. See PlanetPress Capture Server/Client. l Port: Select the port used to connect two servers together. The default value is 5864. l Document and Pattern Database group l l l Use ODBC Database: Check to ignore the default location for the Microsoft Access database (MDB) and use an ODBC connection to your own database location instead.
selected. Note that this validation occurs for every ink file (i.e. PGC file) the local system processes, which may cause a slight delay for the operation depending on the connection speed and latency between the two systems. Note The Server/Client mode is only used for managing pen licenses and has no impact on the Capture Database itself. The database can be stored locally or remotely, regardless of the Server/Client mode specified.
l l Content Status: Search using the status of the document, whether it is Open, Closed, Complete, Partial or in Error. Operator: Select how to do the comparison l Equal: The mask and database information are exactly the same. l Not equal: The mask and database information are different. l l l l l l Less than: If the mask and database information are both numbers, the mask will be a smaller number.
l Close documents: Click to close the document and release the pattern it uses. Warning This will prevent the document to be further updated, may cause errors when docking any pen that signed the printed version of the document. This cannot be undone. PlanetPress Capture ODBC Settings This dialog is used to set up the connection to a PlanetPress Capture Database through an ODBC connection. To access this dialog, See "PlanetPress Capture preferences" on page 783.
l l l Type: Click to display a drop-down of supported database types. This must correspond to the database type of the DSN chosen in the previous option. user name: If the database is secured with a user name and password, enter the user name here. Password: If the database is secured with a user name and password, enter the password here.
l l l Database file (mdb) must be local to the PlanetPress Workflow computer. It cannot be located on a network drive or another server. l Total database size is limited to 4GB of data. l Total size of a single table is 2GB. l May be unstable in large implementations. MySQL l l l l l The recommended ideal setup is a dedicated SQL Server PC, accessed by PlanetPress Workflow through an ODBC connection on the local network.
screen depends on the licenses available within your PlanetPress Capture License. Options and Controls Top Toolbar l l l Read PGC File: Click to display a File Open dialog. Browse to an existing PGC file, and open it. PlanetPress Capture will read the serial number from the PGC file and register the pen. Print Pen Activation File: Click to print a page containing a special pattern. Any pen that writes on this pattern and is then docked will be registered in the database.
3. If necessary, enter an optional pattern sequence and User ID (identifier of who will use the pen). To register a pen using the registration pattern 1. Click on the Print pen activation file button in the top toolbar of this dialog. 2. Use the Windows Print dialog to print to the desired printer. 3. Write or make a line on the printed pattern. 4. Dock the pen in its cradle. 5. Click on the Read PGC File button in the top toolbar of this dialog. 6.
If no pen pack is available, PlanetPress Capture functions in Demo Mode. In Demo mode, only one (1) pen can be registered in the pen management window. Also, the "Capture-Fields generator" on page 702 will be unable to produce more than 8 documents with a pattern instead of the full 20,000 patterns. Technical To add a pen pack, PlanetPress must be activated using a PlanetPress Production license.
Warning OL Connect User Options are not applied immediately. In order for these changes to be applied, the Workflow Configuration must be submitted to the Workflow Service. Otherwise, these options will not be accounted for in Debug mode. The available OL Connect user options define the default behavior of OL Connect tasks' OL Connect Proxy tab.
PDF text extraction tolerance factors When extracting text from a PDF (for example, through a data selection), a lot more happens in the background than what can be seen on the surface. Reading a PDF file for text will generally return text fragments, separated by a certain amount of space. Sometimes the text will be shifted up or down, spacing will be different, etc. In some cases, every letter is considered to be a different fragment.
Delta Height Defines the tolerance for the height and position difference between two target fragments. The higher the number, the more difference between the fragment's height (the tallest font character's height) will be accepted and the more vertical distance between fragments are accepted. Exponents, for example, are higher and lower. When this value is 0, no vertical shift is accepted between two fragments.
General and logging preferences General plugin preferences control the level of detail added to the PlanetPress Workflow log file. Since log files cover 24 hours of operation, choosing to log every task performed by PlanetPress Workflow may result in the creation of excessively large files. Changing the plugin preferences also affects the logs displayed in the PlanetPress Workflow Service Console. Note Each individual process has the option to produce 'minimal logs' (see "Process properties" on page 874).
Note The index number of a task is logged immediately after the time stamp, between square brackets. For example: INFO : 00:00:21.534 [0015] Plugin Create File completed successfully - 12:00:21 AM (elapsed time: 00:00:00:001) The index number corresponds to the row number of the task in the Process Area (see "The Process area" on page 890). Tip The proper RegEx to parse a log entry should be: ^([A-Z]{4}[A-Z\s]):\s(\d\d:\d\d:\d\d\.\d{3})\s\[(\d{4})\]\s(.
threads are under the PlanetPress Messenger service. l l Close inactive instances after: If you want the PlanetPress Workflow Messenger to close inactive instances of the Alambic after a given number of minutes, enter a value in this box. Enter a value of ”0” if you do not want the Messenger to terminate idle instances of the Alambic. Logging options group l l Delete log files after: Enter the number of days after which to delete the Messenger service logs.
Note The Root certificate, Certificate and Key files must be in the PEM format (ASCII base64 encoded). Files in DER format, the binary encoded version of the PEM format, cannot be used to configure Workflow, although they may have the same file extension (e.g. .crt, .cer). Please check the format of your files, using a tool like: https://www.httpcs.com/en/ssl-converter. l l l l l Root certificate: Enter the absolute path to the public key certificate identifying the root certificate authority.
Note SSL is used to accept secured, encrypted requests from web clients and requires a certificate delivered by an approved authority. When a website is secured by an SSL certificate, "https" appears in the URL. For more information on SSL and how to purchase a certificate, see for example Q10694 on SSL.com. l l l Disable SOAP Server: Check to disable all SOAP Server functionality. Verbose log: Select to enable to keep a verbose log.
Note Incoming binary files (sent through file upload in a form) can never be larger than 400 MB. PHP arrays example This example shows how incoming HTML is converted to XML with the two different PHP-like Arrays options. Incoming HTML PAGE 802
dent Resulting XML structure with Enhanced PHP-like arrays email@example.
l Resource folder: Type the path of the folder where your resources are located, or click the Browse button and choose the folder in the browse dialog. Note Subfolders are accepted in the structure, so if your resource folder contains a folder called faces, you could refer to a file in this folder as href="images/faces/johnsmith.jpg". l Capture OnTheGo group l l Cross-Origin Resource Sharing (CORS) l l Authentication Key: Enter the authentication key for the COTG repository.
Note If form data are submitted from HTML files that are made with the OL Connect software, you can expect them to be UTF-8 encoded. Warning Don't use any non-ASCII characters in Workflow's working directories path (in the V8WorkingDirectory registry key). Combined with the UTF-8 Form Data Encoding setting, this might make it impossible for Workflow to retrieve files from that path, depending on the actual path name and the system locale.
l l l l No source port range restriction: Select to remove any restrictions on the port of the LPR client computer that PlanetPress Workflow accepts data files from. Clear to have PlanetPress Workflow only accept data files sent from ports ranging between 721 and 731 on the LPR client computer. Strict RFC 1179 control file: Select to disable control file extensions the LPD service implements for some flavors of UNIX and LPR. This enforces the basic Line Printer Daemon protocol.
l l l Port: Select the port to use. The task's default port is 9090. Port numbers > 9999 are possible. Note that it is possible to use both the NodeJS Server and the standard HTTP Server simultaneously, provided that they are not set to listen to the same port. See "HTTP Server Input plugin preferences 1" on page 798. Time out: Set the timeout period in seconds. The default value is 120 seconds. Enable server for HTTPS requests: Check this option to accept secured, encrypted requests from web clients.
l l Verbose log: Select to enable to keep a verbose log. Note that a communication log is generated whether or not this option is selected. If you use a secure connection, the log will contain extra information. Disable SOAP Server: Check to disable all SOAP Server functionality. NodeJS Server Input plugin preferences 2 The second set of NodeJS Server Input plugin preferences is used to enable serving static HTTP resources, as part of a NodeJS Server workflow.
Note The 'Forward all HTTP traffic to HTTPS' option (see "NodeJS Server Input plugin preferences 1" on page 805) does not affect proxies. All routes set as proxy in Workflow will be forwarded to the target specified in the proxy list. l Cross-Origin Resource Sharing (CORS) l Allowed Origins: Enter an origin (everything in a URL before the path, e.g. http://www.example.com).
Tip If you don’t know what your LDAP server and domain names are, you can usually obtain them by opening a CMD window and typing the following: l For the domain name: echo %USERDOMAIN% l For the LDAP Server name: echo %logonserver% Testing the server l To test the server address and domain, enter a username and password and click the Test server button. Note The user name and password aren't part of the plugin preferences.
Files (x86)\Objectif Lune\ppnode\src\constants\default.js. Look for the line exports.DEFAULT_SESSION_TTL = 0; and change the value to the number of milliseconds that you want the authentication to last. Note that editing any other value in this file may result in unpredictable behavior.
start bit is always 0 to mark the beginning of the byte, but the stop bit can be a single 1, or two bits each with a value of 1. l l l Time-out: Set the time in seconds the PlanetPress Workflow process waits for the transfer of bytes in the data file before ending the transfer of this file. On a time-out, partially received data files are not passed to the rest of the process; the Serial input resets, ready to receive further data files.
PlanetPress Fax plugin preferences PlanetPress Workflow Fax plugin preferences control certain functions of the PlanetPress Fax service, which in turn has a direct impact on all PlanetPress Workflow Fax output tasks performed on a given computer.
Dial as entered to limit PlanetPress Fax to removing any spaces or parentheses that appear in the data selection, and sending the result to WinFax PRO. WinFax PRO dials the result exactly as it receives it from PlanetPress Fax.
systems when using a local naming system (such as the DOS naming system in Windows) would result in “File not found” error messages. l l Dialing options button: Click to set the appropriate options as required. Since these options are specific to the faxing program, refer to the faxing program’s documentation for more information. OpenText RightFax l l l l l Report Failures: Select to have PlanetPress Fax generate a report whenever the maximum number of retries for a single fax is exceeded.
OpenText RightFax options l l l l l RightFax Printer: Select a RightFax printer. A RightFax printer is a fax driver that makes it possible to send faxes automatically. This printer will output faxes without prompting the user for fax addressing information. For more information, refer to OpenText RightFax documentation. Activation: Click to enter activation codes for the PlanetPress Image service installed on the same computer as PlanetPress Workflow.
PlanetPress Workflow Service Console. l l l Interval: Select the interval (in seconds) at which the FTP service is to dispatch jobs from the ftpPut folder to the FTP sites. Back up job on error: Select to move the job file to a local folder ftpPut\error if an error occurs while sending a job via the FTP output. This folder is relative to your install folder. FTP Port: Select the port number that you want PlanetPress Workflow to use for all FTP output tasks.
Image. The log is sent to all addresses you enter in the Administrator’s address(es) text box. l l l l l l l l Error log: Select to send an email that includes the current error log to the administrator when an error occurs. The error log is sent to all addresses you enter in the Administrator’s address(es) text box. Error file: When enabled, sends an e-mail with an attachment of the offending file when an error occurs in the PlanetPress Image output task.
options. Refer to the PlanetPress Search User Guide for more information on this PlanetPress Workflow software. l l l l l l l l l l Database type: Select the type of the database in which you want to create a table (Access, or SQL Server). Connection time-out: Enter the time, in seconds, that the connection to the database is maintained while no action is taking place before the connection is severed.
PlanetPress Image 4 or login tab l l Use Microsoft Outlook: Select to use Microsoft Outlook on the host computer running PlanetPress Image to send the error messages to the administrators. The host computer must be running Outlook, and PlanetPress Workflow must have access to Outlook. Outgoing emails appear in the outbox of Outlook, and is sent whenever Outlook is set to send email.
Options l Protocol options group l l l l l Print banner pages between jobs: Select to print banner pages between each job processed and output from the LPR output. The banner page includes details of the job being printed, including the job file name and the user name on the host computer running the LPR output client. No source port range restriction: Select to remove any restrictions on the port PlanetPress Workflow uses to send the job file via the LPR/LPD protocol.
l Polling interval (seconds): Select the period of time—the default is 4 seconds—for which PlanetPress Workflow is to wait when it finishes dispatching jobs to the LPR printer queues before polling the LPR output folder again. PrintShop Web Connect Service preferences PrintShop Web Connect service preferences control the credentials to log into the PrintShop Web server. The available preferences are as follows: l l User name: Enter the user name of a valid PrintShop Web user, mostly operators.
l Editor l l l l l l l l l Auto indent mode: Select to automatically position the insertion pointer under the first non-blank character of the preceding line when you press ENTER. Insert mode: Select to use Insert mode and clear to use Overwrite mode. In Insert mode, when you enter text, existing text shifts to accommodate it. In Overwrite mode, text you enter overwrites existing text. You can also press INSERT to toggle between the two modes.
l l l l l l l l l l Cursor beyond EOL: Select to make it possible to position the pointer beyond the end of the line. Clear to prevent this. Keep trailing blanks: Select to preserve any blank spaces occurring at the end of a line. Clear to remove those blank spaces. Persistent blocks: Select to have any text you enter immediately after selecting a block of code appended to that block of code as part of the selection.
l l Tab stops: Use to set the number of spaces to advance when you enter a tab character or to set a series of tab stops. Enter a single integer to set the number of spaces to advance with each tab. Enter a sequence of two or more integers, each separated by a space, to specify tab stops. The sequence must be in ascending order. Tab stops are measured in number of space characters. For example, a value of 20 places the tab stop at the 20th space character.
l l l l Gutter width: Enter the width, in pixels, of the gutter. Use the drop-down list to select a previously-entered gutter width. Line numbers on page: Select to display code line numbers at the left edge of the Code area. If you clear both this and the Line numbers on gutter option, no line numbers appear alongside the lines of code. Line numbers on gutter: Select to display code line numbers in the gutter between the Commands and Code areas.
The user interface This chapter centers on the PlanetPress Workflow Configuration program, which you use to create and edit your configurations. The basic user interface elements are as follows: l "PlanetPress Workflow Button" on page 836. l " The Quick Access Toolbar" on page 898. This toolbar is customizable. l The ribbon tabs; see "The PlanetPress Workflow Ribbon" on page 899. l "The Process area" on page 890 l "Configuration Components pane" on page 837.
Customizing the Workspace You can combine and attach the Configuration Components pane, Messages area and Object Inspector into a single secondary window that can be docked to and undocked from the main PlanetPress Workflow Configuration program window. Combining and attaching areas can facilitate the management of your screen real estate. It lets you reposition multiple areas in a single operation.
above it (undocked position). You dock a window when you attach it to the Program window, and you undock it when you detach it from the Program window. The Configuration Components pane, the Object Inspector and the Messages area can each be displayed inside its own window, whether docked or undocked, but they can also be displayed attached or combined inside the same window. l l l When separate areas are displayed simultaneously, they appear in different sections of the Program window.
the Messages area. The area will jump from an undocked to a docked position and viceversa. Show or hide areas of the program window You can choose to hide or display any of the customizable areas in PlanetPress Workflow program. Hidden areas will still contain the same information but will not be visible. To show or hide a Program window area: 1. In the PlanetPress Workflow Ribbon, click the View tab. 2. From the Show/Hide group, click on any area name to hide or display it.
a tab appears at the bottom of the rectangle. Switching between combined areas At the bottom of the combined area, click the tab of the area you want to bring to the top. If all the tabs are not displayed, use the left and right arrows to navigate between them. Image: The left and right arrows let you show hidden tabs. Reordering tabs in a combined area At the bottom of the combined area, click the tab of the area you want to move, drag it to the left or right and drop it at the desired position.
Taking an area out of a combined area To take an area out of a combined area, do one of the following: l l Click the tab displaying the name of the area you want to take out and move the mouse pointer so as to drag the area away from the combined area. As you drag, a rectangle is displayed to show the landing position. Release the mouse button when the rectangle is away from the combined area. Double-click the tab of the area you want to take out of the combined area.
Image: Attaching an area to a group of combined areas. The rectangle showing the landing position is not tabbed and the area will therefore be moved next to the combined area. Maximize or restore attached areas To maximize or restore attached areas, do one of the following. l To maximize a vertically attached area, click the upward pointing arrow on its title bar. l To restore a vertically attached area, click the downward pointing arrow on its title bar.
Image: A) Click to maximize this area. B) Click to restore this currently maximized area.
Image: C) Click to maximize this area. D) Click to restore this currently maximized area. Taking an attached area out of a group To take an attached area out of a group, do one of the following: l l Click the title bar displaying the name of the attached area you want to take out and move the mouse pointer so as to drag the area away from the group. As you drag, a rectangle is displayed to show the landing position. Release the mouse button when the rectangle is away from the group.
To resize a program window area: 1. Move the pointer to an edge of the area that you want to resize, to display the resize pointer. 2. Then click and drag to resize the area. Change the Interface language PlanetPress Workflow can be used in multiple languages, and the list of available languages grows as we translate the software. The first time you use PlanetPress Workflow, it starts in the language used for the installation.
Japanese. PlanetPress Workflow Button The PlanetPress Workflow button provides access to the File menu options. Options l l l l l New: Closes the configuration that is currently opened and creates a new configuration, with a single example process and no printer queues. See "Creating a new configuration" on page 34. Open: Displays the dialog to open an existing configuration file. Save: Saves the current configuration.
l l l l l Close: Closes the configuration that is currently opened and creates a new configuration, with a single example process and no printer queues. Closing the current configuration is the same as creating a new one. Recent Documents: Displays a list of the 9 most recently opened configuration files. Click on any of them to open it. Select Language: Click to display the language selection dialog, which changes PlanetPress Workflow interface language.
l Cut, Copy, Paste: Controls the clipboard. l Delete: Deletes the process from the configuration. l Rename: Renames the process. l l l Startup: Triggers whether the process is a startup process (runs before any other process). l Group, Ungroup: Triggers grouping functionality. l Properties...: Displays the process' properties, for scheduling and error handling. Subprocesses: Displays a list of subprocesses in your configuration (see: "About processes and subprocesses" on page 125).
l l l Group, Ungroup: Triggers grouping functionality. Properties...: Displays the properties, which lets you set a default value for the global variable. Connect Resources: Displays a list of PlanetPress Connect resources that can be used in processes (see: "Connect resources" on page 40). Different resources are divided into subfolders: l Data Mapping Configurations: Displays a list of data mapping configurations used with the Execute Data Mapping task.
l l l Group, Ungroup: Triggers grouping functionality. Properties...: Displays the properties, which lets you see the form information and select its default printing behaviors. Printer Queues: Displays a list of printer queues in your configuration (see: "PlanetPress Workflow printer queues" on page 112). Right-click on a printer queue to access a dropdown menu that offers these choices: l l Insert Printer Queue: Creates a new printer queue in your configuration.
PlanetPress Workflow Configuration programs let you view a number of the properties associated with the PlanetPress Design documents you use, but most of those properties are set in PlanetPress Design and cannot be edited using PlanetPress Workflow Configuration program. The Document name of printer-resident documents can be changed using PlanetPress Workflow Configuration program simply because it is initially set using that program.
Printer Settings Tab l l l Trigger Type: Select whether you want a normal trigger configuration to be used, or a custom trigger that you manually enter. Custom Trigger Box (appears only when Custom Trigger is selected in Trigger type): Lets you enter the exact trigger you want to use. This trigger must absolutely be in standard postscript language.
l l Update Instances: Clicking this button brings up a dialog box that lets you manually update any document on any printer. Printer-Specific folder: This option lets you enter a manual location where the documents should reside in the printer's memory. This option is only available if the document is Printer Centric, and the Document location is either On printer hard disk or In printer flash memory.
Moving Configuration Components You can move components in the Configuration Components pane in a number of ways; see below. Note that moving a configuration component does not change the order in which the components are used. However they can affect your process if, for example, you move a local variable from one process to another and the local variable is still used in the first process.
Using the contextual menu l Right-click on the component you want to move. l Click on Cut in the contextual menu. l Right-click on the new location where you want the component. l Click on Paste in the contextual menu. Using the keyboard shortcuts l Click on the component you want to move. l Do CTRL+X (cut) on your keyboard. l Click on the new location where you want the component. l Do CTRL+V (paste) on your keyboard.
Renaming objects in the Configuration Components Pane You can rename processes, groups, and printer queues in the Configuration Components pane. Resource files cannot be renamed or modified using PlanetPress Workflow. You can, on the other hand, change the name of printer-resident PlanetPress Design documents. Note Names cannot begin with a number. They can only contain the following ASCII characters: underscore, upper and lower case letters of the alphabet, all digits 0 through 9.
1. Click an object or group. 2. In the PlanetPress Workflow Ribbon, go to the View tab. Then click Order in the Arrange group, and select one of the following: l l l l Move up to move the item one step up in the category or group. If the item is already the top object in the category or group, this command has no effect. Move down to move the item one step down in the category or group. If the item is already the bottom object in the category or group, this command has no effect.
Tip Groups can be copied and moved using the Clipboard and Drag & Drop; see "Moving and copying configuration components" on page 843. Grouping objects To add a group in the Configuration Components pane: l l l Select one or more processes and/or groups in the same group and choose View > Group. Right-click one or more selected processes and/or groups and select Group from the contextual menu. Select one or more processes or groups in the same group and press CTRL+G.
Expanding and collapsing categories and groups in the Configuration Components pane You can expand and collapse the Processes, Global Variables, PPD/PSM Documents and Printers Queues categories, and groups, in the Configuration Components pane. To do this, click the Expand / Collapse button to the left of the item. Deleting something from the Configuration Components pane To delete a process, document, or printer queue: l Click a process, document, or printer queue, then press the Delete key.
and check the desired Prompt on (...) deletion options. Dialogs Dialogs are either accessible from the preferences or from different parts of PlanetPress Workflow. Access Manager The Access Manager controls what rights are granted to other machines (clients and servers) on the same network. It grants access to functions such as sending documents and jobs to the server. To open the Access Manager: 1. Open PlanetPress Workflow. 2. In the Ribbon, go in Tools > Managers > Access Manager.
Messenger access Manually adding new entries to the list To grant access to the Messenger service you can manually add new entries to the list: l Open the Access Manager. l Make sure you are in the Messenger tab. l In the IP address box, enter the IP address of the remote machine. l Click on the l Add the necessary permissions. l Click OK. l Restart the Messenger service. button.
Note The format of the IP address must be one of the following: l l l l 127.0.0.1: The local computer. Typically this IP should have all the accesses checked. 255.255.255.255: Everyone on the same subnet. This is equivalent to hard-coding the current subnet, such as 192.168.1.255 or 10.0.0.255. 192.168.0.42: A single IP address. This can be any valid address on the same subnet. 10.0.255.255: Any IP in the 10.0.X.X range.
Warning The following considerations are to be understood when using the Access Manager to configure IP limitations: l l l l Each permission type (column) is evaluated from top to bottom (column per column) in the order in which they are visible in the Access Manager window. This means that wide ranges should always be at the top to increase performance. For example, if you accept HTTP connections from any IP, the first entry should be 255.255.255.255 with the Allow checkmark in the HTTP Input box.
l l Send Document: Grants access to the remote computer to send new or updated Connect files (templates, data mapping configurations, print presets), or PlanetPress Design Documents, to this server. Send Config:Grants access to the remote computer to overwrite the configuration on the local PlanetPress Workflow service Note In order for the changes made here to be effective, you will need to restart the PlanetPress Messenger service. This can be done via the PlanetPress Workflow Service Console.
Adding a new SOAP user To add a new SOAP user: 1. Click on the button. 2. Enter the following information under the Username column for the new entry that was created: l l l User name: An alphanumerical user name for the user. Password: A password to protect the user. Note that the password will always revert to ******** (8 stars) when clicking outside of this box - that is normal and is meant to protect the length of the password as much as its contents.
l l Admin: Has access to all processes and features. When this option is selected, the Permissions section is grayed out an all options are selected in it. Disabled: Has access to nothing. The result is the same as not having this user defined at all, but has the advantage that a disabled user can be reactivated with a simple click. 3. Define the permissions for the user (see below). 4. Click OK to save the changes.
Note Activating a printer is required when you have a PlanetPress Suite Printer License, unless you have the “Optimized Output” add-on in your Connect license, which grants you the equivalent of PlanetPress Production in Connect Workflow. Note that even then, “printer-centric” output requires a printer license. Printer activations are normally given to you by the activations department electronically, including a file that will automatically add all your printers in this dialog.
You can also double-click on any existing activation to edit it. Advanced SQL Statement Dialog The Advanced SQL Statement dialog is available by clicking the Edit SQL button from the Database Query action task. You can enter a custom SQL query in this dialog, using the language supported by the database you select in the Database Query action task. The dialog is separated in two parts: l The left part displays the available tables in your database. Click the Show Tables button to display them.
Data Repository Manager The Data Repository Manager is an interface that manages the PlanetPress Workflow "Data Repository" on page 95. This feature, introduced in version 8.5, is a persistent data store used to save any sort of textual data in a table format. Accessing the Data Repository Manager To access the Data Repository Manager: l Open PlanetPress Workflow l Go to the Tools tab. l Click the Data Repository Manager button in the Managers group.
existing key groups. l l Key Set section l l l l Delete Key Set: Click to delete the currently selected key set in the Group. Warning: This action cannot be undone. Edit Key Set: Click to edit the currently selected key set. Opens a dialog which each key and their value, which can be edited. Double-clicking a row has the same effect as clicking the Edit Key Set button. Refresh: Click to load any changes made to the repository since it was last opened or refreshed.
l T = literal constant separating date from time l hh = two digits of hour (00 through 23) (am/pm NOT allowed) l mm = two digits of minute (00 through 59) l ss = two digits of second (00 through 59) l s = one or more digits representing a decimal fraction of a second l Z = literal constant representing the UTC time zone designator.
l l l l Press Ctrl+G to add a new group. Press Insert to add a key set. The Add Key Set dialog will appear, allowing you to create a new key set. Press F2 to rename a group or a key on the Repository Structure pane. Press Delete to remove a group or key from the Repository, or a key set from the Key Sets pane. Tip You can look up these shortcuts by right-clicking the item you want to interact with, and looking at the contextual menu.
The Data Selector is essentially the same as the one used in PlanetPress Design. The File Viewer is like a Data Selector without any data related options, such as emulation settings. It is displayed when doing a data selection from the Generic Splitter task (see "Generic Splitter" on page 672) with the Use Emulation option unchecked. The only data formatting codes to which the File Viewer responds are line breaks.
the current task) to format the data. It displays the formatted data to let you make selections easily using the mouse pointer. Depending on the chosen emulation and data file, the options in the Data Selector, the Sample data file section and the Data pane itself may change to accommodate your choice. The Line Printer, Ascii, Channel Skip and User-Defined emulations will display the default options (see "About data emulation" on page 60) and a grid-like display of each character on each line.
The Sample metadata filename is the path to the Metadata file describing the current sample data file. Buttons on the right can be used to load Metadata from a file or to save the current Metadata to a file. Tip To get a sample of the Metadata file, debug your process and step through it until the option Debug > View Metadata gets enabled. This happens when Metadata have been created by a task in the process. Open the Metadata viewer and save the Metadata file to use it as a sample file.
The Production information list displays all Metadata fields describing the current Metadata level, as selected in the Metadata Level tree view, for the current data page, as selected in the Data page box. The User defined information lists all Metadata fields defined by the user on the current Metadata level. Note Not all of the options in the Metadata Selector in PlanetPress Design 7 are available in the user interface of PlanetPress Workflow .
Content and appearance of the Data Pane To adjust the content and appearance of the Data pane for all emulations except XML and PDF: 1. In the Data Selector, click the Selector Options tab. 2. Change the options that modify the appearance and behavior of the Data pane: l l View size: Use to adjust the size of each cell in the Data Pane, and the amount of visible data that is visible. Show used cells: Select this to display in green all cells that contain data.
l l l l l All pages: Select to apply the Show used cells option to all pages in the sample data file. This option is not available in database emulation. Pages to analyze: Use this box to limit the number of data pages to which PlanetPress Workflow applies the Show used cells option. Enter the number of pages to which you want PlanetPress Workflow to apply the option, or use the spin buttons to adjust the value. This option is not available in database emulation.
l Font: Select the font you want to use to display the sample data file in the Data Pane. l Font style: Select a weight for the font. l Size: Select the point size for the font. l Sample: Displays a preview of the font selected in the Font box. l Script: Select the system-level encoding table you want to use for the font selected in the Font box.
The PDF Viewer To open the PDF Viewer: In the Documents section of the Configuration Components pane, expand a document present in the list. Then, right-click on the document's Preview, and click Open in PDF Viewer.
The PDF Viewer is accessible through one of the following methods: l l l In the Documents section of the Configuration Components pane, expand a document present in the list. Then, right-click on the document's Preview, and click Open in PDF Viewer. Click View as PDF in the Debug toolbar. This will show the current data file in the viewer (assuming it is a PDF). If the viewer is opened during debugging, the current state of the PDF will be displayed (instead of the original data file).
l l l l l l l Printer Password: If the printer requires a password, enter it here. Max form cache: Set the size, in bytes, of the PostScript printer form cache. This sets the cache size for all documents that execute on the printer. You base the setting for this option on the number of images in your documents, their sizes, and how frequently each image repeats in a document.
Print Status Page The Print Status Page option sends a command to print information to the selected printer(s), notably: l The serial number and the full version number of the copy of Workflow making the request. l Printer information (printer name, firmware version, etc.). l Information on the current job (paper type, paper tray used, etc.). l Information on the installed devices (printer hard disk, flash drive, etc.). l Memory size information.
Send to File If the Send to File option is checked, a prompt for each of the selected Printer Utilities options will appear in Workflow so the PostScript commands can be saved to disk. This makes it possible to send the commands to the printer at another time and independent from Workflow. Process properties To have access to the properties of a process or subprocess: l Right-click on the process in the Configuration Components pane. l Select Properties.
again once it has completed itself and replicates again as necessary, until all files have been processed. l l Max percentage of threading (%): Determines how many processes you may have running at the same time. This is a percentage of the maximum number of threads specified in the "Messenger plugin preferences" on page 797. For example if the maximum number of threads is 10 and you specify 50% here, a maximum of 5 replications will occur (the original process + 4 copies).
l Week of month / by date: Select the desired option for the time grid. Note that any selection you make in this box will be interpreted based on the selection made in the Month box. If you chose All months in the Month box and Last in the Week of month / by date box, then the process will run on the last week of every month. If you chose January in the Month box and First in the Week of month / by date box, then the process will run only on the first week of January.
l Click on any block to select / deselect it. l Click and drag from one block to another to toggle all blocks between the two. l Shift-click on any block to toggle all blocks from the top-left corner of the grid to the block you click.
l l l To select all of the time segments for a given day or date, click the day or date on the top grid ruler. To deselect all of the time segments for a given day or date, CTRL+click the day or date on the top grid ruler. To select all the days or dates for a given time segment, click the time segment on the left grid ruler. To deselect all the days or dates for a given time segment, CTRL+click the time segment on the left grid ruler.
On Error Tab A process’s On Error tab specifies the default values for error handling of all of the tasks in that process. When a task has its own error handling settings, those settings overwrite the process's default error handling settings. The Set All Tasks button resets the On Error properties of all the tasks included in the current process to the On Error properties of the process itself.
l IS EQUAL TO OR LESS THAN (<=) l IS CONTAINED IN l IS NOT CONTAINED IN l CONTAINS l IS GREATER THAN l IS LOWER THAN l STARTS WITH l ENDS WITH l VALUE CHANGED Note When "VALUE CHANGED" is selected in the condition, the second parsed field is not considered. Expressions The first expression can either be a custom list or a parsable edit field. The second expression is always a parsable edit field.
l The following rule: (GetMeta(SelectedIndexInDocument[0], 11, Job.Group[?].Document [?].Datapage[?]) Equal 0 loops through all datapages in a job, comparing their index in the document to a value. Index/Count values When using Index/Count values in a rule, please note that these values are zero-based: the first element in any collection has an index of 0 and the last element's index corresponds to the collection's length minus 1.
3. Define condition B. 4. Select condition B and choose Add Sub Condition. This will indent condition B and allow to define the condition C. Specify the logical operator OR. 5. Define condition C. 6. Right click on the first AND operator (the one right after condition A) and choose Add Condition. Specify the logical operator AND. This will create a condition at the same level as A. 7. Define condition D.
l l l l Most tasks have the General tab which lets you configure the main task properties for that specific task. All tasks except for the InputErrorBin, Run Script, Open XLST and Comment tasks have an On Error tab that lets you manage errors generated by the task. For a description of the options that it contains, see "Using the On Error tab" on page 99.
Virtual Drive Manager When you use the "Send Images to Printer" on page 689 Action task in a given process, you have the option of, at the same time, sending the images to the virtual drive (a local storage folder used by PlanetPress Suite applications) of any computer included in your network. You need to do this, for instance, if you plan to run PlanetPress Suite documents that contain dynamic images on those computers (using the Optimized PostScript Stream option).
l l Global Variables: Displays all the variables global to this configuration (see "Local variables" on page 728). Evaluate Expression: Lets you enter a custom expression and displays its value at runtime. You can use the Evaluate Expression section to see the result of any combination of variable properties (see "Variable task properties" on page 732). To add a new expression, simply rightclick in the window and select Add Expression.
Messages are displayed in different colors (debug levels) in the Message area. l Messages in Red are critical and are normally critical errors in the plugin. l Messages in Orange are warnings. l Messages in Gray are job info and variable changes. l Messages in Black are debug information and processing information. There are various actions you can execute in the Message area. Here they are: l l l l l l l Click any line to select it.
The Object Inspector also displays information about the Job File while it is being processed in Debug mode. Seeing how files change as they travel down a process can provide valuable debugging information. You can even change some of the job information from the Object Inspector (such as Job Infos) while debugging. Editing properties To edit properties of processes, documents, and printers in the Object Inspector: 1.
PlanetPress Workflow Plug-in Bar lists all plugins available in PlanetPress Workflow, and is divided into categories, which users can customize at will. Most of the PlanetPress plugins are installed by default, but other plugins may be added. Because the plugins are always expected to execute some sort of task, they are always referred to, in this documentation, as tasks, except in the specific case of importing a new plugin or customizing the Plug-in Bar.
Settings and customization The Plug-in Bar can be customized according to your needs and the plugins you most frequently used. You can use the horizontal dark blue bar separating the plugin area and the list of categories to change how many plugin categories are displayed as the full-width bar with the title, and how much are displayed as icon only. Move the bar up to display more full-width categories, or down to display them more as icons.
Plugins downloaded from the Resource Center will be placed in the appropriate category in the Plug-In Bar. The M-Files plugins, for example, will appear in the Document Management category. Third-party plugins appear in the Uncategorized category. Deleting a custom plugin To permanently delete a custom plugin from the Plug-In Bar, you have to manually delete the DLL file from the following location: C:\Program Files (x86)\Common Files\Objectif Lune\PlanetPress Workflow 8\Plugins.
l "Undo a command" on page 898 l "Redo a command" on page 895 l "Highlight a task or branch" on page 893 l "Collapse and expand branches and conditions" on page 897 l "Resize the rows and columns of the Process area" on page 897 l "Zoom in or out within the Process Area" on page 898 Cutting, copying and pasting tasks and branches Using cut and paste, and copy and paste, you can move as well as duplicate tasks and branches within a given process as well as between different processes and subproce
l l l When you cut an Input or Output task, it is replaced with an Unknown Task, that you will need to replace with another task for the process to be functional. If you cut one task or branch, then cut another one, the first one is lost and replaced by the second. Remember however that you can always undo the command to retrieve it (see "Undo a command" on page 898). Tasks and branches will always appear on top of (in other words, before) the task or branch where you paste it.
Highlight a task or branch The Highlight command lets you toggle the background color of selected tasks and branches. There are several ways to highlight a Process area square. l Right-click it and select Highlight from the contextual menu. l Double-click it, open the Miscellaneous tab and select the Highlight option. l Select a square, open the View ribbon and select Highlight from the Navigate group. To remove the highlight, repeat the procedure.
1. In the PlanetPress Workflow Process area, click the icon of a task or branch. 2. From the Debug tab in the Ribbon, click Ignore. If the task or branch was enabled, it is now disabled, and vice versa. Moving a task or branch using drag-and-drop When you want to move a given task or branch, the simplest way is to use drag-and-drop. Using the mouse, you can drag and drop tasks and branches only within a given process.
Duplicating a task or branch To duplicate a task or branch, the same method as for moving them applies but with a slight difference: 1. In PlanetPress Workflow Process area, click the icon of the task or branch you want to duplicate. 2. While holding down the mouse button, press and hold down the CTRL key and drag the icon task or branch over another task or branch. 3. Release the mouse button to drop the dragged item and release the CTRL key.
Note You cannot use the Delete option to remove an input or output task, but you can rightclick on them and click Cut instead. This replaces the task with an Unknown task (see "Unknown tasks" on page 720). To delete the path below a branch crossing (instead of the path to the right of the branch): l Press Shift+CTRL+Delete. l From the right-click menu, choose Edit | Delete| Delete Below the Branch.
To resize rows and columns of the PlanetPress Workflow Tools Process area: 1. In the PlanetPress Workflow Tools Process area, place your cursor over the separator line dividing each section of row or column rulers. 2. When the cursor changes appearance, click and drag up or down to resize rows, or left or right to resize columns. A dashed line appears as you drag indicating the new separation. The row or column, with all its tasks, moves accordingly.
Undo a command The Undo command lets you undo most commands performed with the PlanetPress Workflow Configuration program. To undo a command: l From the Quick Access Toolbar, choose Undo. Zoom in or out within the Process Area You can do a zoom out in the PlanetPress Workflow Process area to see more tasks at the same time. In zoom out mode, you can perform the exact same functions as in normal view mode. To zoom in or out on the PlanetPress Workflow Process Area: 1. Click on the View tab of the Ribbon.
Note The Quick Access Toolbar buttons cannot be moved or reordered. If you wish to reorder them, you will need to remove all the buttons and re-add them in the desired order. Removing buttons To remove a button from the Quick Access Toolbar: 1. Locate the button you want to remove in the Quick Access Toolbar. 2. Right-click on the button. 3. Select Remove From Quick Access toolbar. Moving the toolbar To move the Quick Access Toolbar below or above the Ribbon: 1.
The PlanetPress Workflow Ribbon has five tabs: the Home tab, the View tab, the Debug tab, the Tools tab and the Help tab. Each one of these tabs contains a series of groups, each group holding a number of controls. l The Home tab includes the Clipboard, Processes, Variables, (PPS) Documents and Printer Queues groups. l l l l l l The Clipboard group contains the typical Windows-based editing controls: Cut, Copy, Paste, Select All, Delete.
l The Debug tab includes the Data, Debug and Debug Messages groups. l l l l The Data group allows to associate a sample data file to the currently selected process, as well as update or replace it, and display it in its text/PDF or Hexadecimal format. The Debug group contains the debugger's controls, allowing to execute a process step by step, skipping over or ignoring certain tasks, as well as setting up breakpoints and resetting variables values.
l The PlanetPress Capture group contains: l l l The Pen Manager button opens the "PlanetPress Capture Pen Management Tool" on page 789. The Test Page group: l l l The Document Manager button opens the " PlanetPress Document Manager" on page 785. The PS Test Page control allows to print a Status Page for the selected printer queue. Note that if no printer queue is selected in the Configuration Components pane, the control is disabled.
The PlanetPress Workflow Service Console The PlanetPress Workflow Service Console is a centralized service console and log viewer in one. You can use it to individually start and stop PlanetPress Workflow services, as well as to view current and past log files for each service. Note The Service Console has changed greatly since version 7.4. If you are still using an older version of PlanetPress, please see the user manual for your version instead.
complete before pausing. Once paused, the service is still "started" but will wait until it is activated again before processing jobs. This is very useful if you want to receive jobs from external services (such as with the LPD Server) but not process them right away. To kill (force quit) a service: 1. Right-click on the running service. 2. Click on Kill. 3. Click OK to confirm on the warning. If the service is currently processing a file, execution will stop and the action will not complete.
The log viewer for existing log files does not refresh automatically since log files for older days do not generally change. The display of the sessions, processes and tasks is the same. Note The log viewer as described here was introduced in version 7.4 of PlanetPress Workflow. Though it should be able to open log files from older versions of PlanetPress Workflow, the results are not guaranteed. Some log files may not display properly in this view.
Knowledge Base You can find extra information in Connect Knowledge Bases which complement the information contained in this manual.
Legal Notices and Acknowledgments Warning: PlanetPress Workflow is protected by copyright law and international treaties. Unauthorized reproduction or distribution of this program, via any means, in part or in whole, may be prosecuted to the full extent of the law. The license agreements for the associated open source third party components can be found in the following installation folder: C:\Program Files\Objectif Lune\OL Connect\Legal Notices This application uses the following third party components: l
l Hamcrest Matchers Copyright © 2000-2006, www.hamcrest.org. All rights reserved. l HyperSQL, Copyright © 2001-2010, The HSQL Development Group. All rights reserved. l l l l l l l l l l l IcoMoon. Connect uses unmodified icons from IcoMoon (https://icomoon.io/#iconsicomoon) which have been made available under the Creative Commons By 4.0 license (https://creativecommons.org/licenses/by/4.0). ICU4J 4.4.2 Copyright © 1995-2013 International Business Machines Corporation and others.
l l l l l l l l l l l Logback which is distributed under the terms of the Eclipse Public License (EPL) Version 1.0. The source code for Logback can be obtained from the following location: https://logback.qos.ch/download.html Mchange Commons Java which is licensed under the terms of the Lesser General Public License (LGPL) Version 2.1. The source code can be obtained from the following location: https://mvnrepository.com/artifact/com.
l l l l l l Tern which is distributed under the terms of the Eclipse Public License (EPL) Version 1.0. The source code for tern can be obtained from the following location: https://github.com/angelozerr/tern.java Web Services Description Language for Java which is distributed under the terms of the Common Public License v 1.0. The source code for this can be obtained from the following location: http://wsdl4j.cvs.sourceforge.
l Apache Commons IO l Apache Commons JCS Core l Apache Commons Lang l Apache Commons Logging l Apache Commons Pool l Apache Commons Text l Apache Commons Validator l Apache Derby l Apache Felix and dependencies l Apache Geronimo l Apache HttpClient Mime l Apache POI l Apache ServiceMix l Apache Xerces2 Java Parser l Apache XML Graphics l Apache XML Beans l Barcode4j l Google Collections l Google GSON l Hibernate Validator l Jackson JSON processor l Jetty l Liqui
l Spring Dynamic Modules l UCanAccess l Woodstox Eclipse Technology: This Software includes unmodified Eclipse redistributables, which are available at www.eclipse.org. The Eclipse redistributables are distributed under the terms of the Eclipse Public License - v 1.0 that can be found at https://www.eclipse.org/legal/epl-v10.html. VSS Java FreeMarker: This product includes software developed by the Visigoth Software Society (http://www.visigoths.org/).
license from Oracle. “Commercial Features” means those features identified Table 1-1 (Commercial Features In Java SE Product Editions) of the Java SE documentation accessible at http://www.oracle.com/technetwork/java/javase/documentation/index.html. Further Components: l l l This product includes software developed by the JDOM Project (http://www.jdom.org/). Portions of this software are copyright © 2010 The FreeType Project (www.freetype.org). All rights reserved.