Emmet Preferences Emmet is a framework that enables the lightning-fast creation of HTML code though the use of a simple and effective shortcut language resembling CSS Selectors (see "Emmet" on page 417). The Emmet functionality is available in the HTML and CSS source editors of Connect Designer. Emmet transforms abbreviations for HTML elements and CSS properties to the respective source code. This is, for example, the abbreviation for a
element with the class row: div.
Emmet Abbreviation Preferences This Preferences tab lets you add and manage custom abbreviations. All standard abbreviations can be found in Emmet's documentation: Abbreviations. If there is no need to transform the text while expanding it, create an Emmet snippet instead (see below). l New: Add a new abbreviation. l Name: The name of the abbreviation is also its trigger. l Context: The context in which the abbreviation is enabled (HTML, CSS, etc.).
Emmet Snippets Preferences Emmet Snippet are similar to abbreviations in that they are expanded when the Tab key is pressed, but they are just blocks of plain text. Anything in a snippet will be outputted “as is”, without any transformation. l New: Click to create a new snippet. l Name: The name of the abbreviation is also its trigger. l Context: The context in which the snippet is enabled (HTML, CSS, etc.). l Description: A short description of the snippet.
l Name: The name of the variable. This should be a single alphanumeric string with no spaces or special characters. For example, the myVar name is referred to as ${myVar}. l Value: The value of the variable when the snippet is expanded. l New: Click to create a new variable and define its name and value. l Edit: Click to modify the currently selected Variable. l Remove: Click to delete the currently selected Variable.
Logging Setting Preferences PlanetPress Connect logs the activities it undertaking consistently as it runs. These log files are essential when diagnosing issues with OL Support. New Connect logs but are created daily, so they need to be deleted periodically. The logging settings are global to all Connect applications, and the Logging Preferences can be adjusted from within the Designer and Server Configuration Preference dialogs.
Warning We heavily recommend leaving the Logging patterns to the default value. We recommend the Logging patterns only ever be changed in conjunction with advice from OL Support. l Log message preview display: This is displays the format and content of the logging, based upon the Logging pattern setting. The Log Settings Preferences also provides you with buttons to : l l Restore Defaults. This option restores the preferences to Defaults.
General Print Preferences The General Print Preferences are used to set communication settings with the PlanetPress Connect Server module that does the actual generation of print output. The Server module can be located on the same computer (hostname: localhost) or on a different machine. Multiple Designer modules can use a single Server module to generate Print output, as long as the appropriate hostname, username and password are provided. In essence, this can be used to create a single Print Server.
l l l Test Print Server URL. This button is only available for the General Print Preferences. It tests the Print Server URL settings made within that Preferences page. Restore Defaults. This option restores the preferences to Defaults. This applies to the current Preferences page only, but not other Preferences. Apply: This option Applies the settings made within the current Preferences page, but does not close the Preferences dialog.
Backup files have the same name as the original file with two underscores and a progressive number (without leading zeros) at the end: originalname__1.OL-template, originalname__ 2.OL-template, etc. The Save Preferences also provides you with buttons to : l l Restore Defaults. This option restores the preferences to Defaults. This applies to the current Preferences page only, but not other Preferences.
The Scheduling Preferences also provides you with buttons to : l l Restore Defaults. This option restores the preferences to Defaults. This applies to the current Preferences page only, but not other Preferences. Apply: This option Applies the settings made within the current Preferences page, but does not close the Preferences dialog.
l Insert Form Field Defaults: l Style: Defines how labels are added to input form elements: l l l l l Attach label to input: The label is placed before the input, and refers to it: Use label as placeholder: The label is removed and the text is put as a placeholder, such as: No label: The label value is ignored.
l Apply: This option Applies the settings made within the current Preferences page, but does not close the Preferences dialog. ------------------------------------------------------------------------------------------ Server Configuration Settings This chapter describes configuring the PlanetPress Connect Server. The Connect Server settings are maintained by the Connect Server Configuration utility tool which is installed alongside PlanetPress Connect.
l l "Scheduling preferences" on page 117 l "DataMapper engine scheduling" on page 118 l "Merge engine scheduling" on page 120 l "Weaver engine scheduling" on page 124 "Server Security Settings" on page 127 Engine configuration The Connect Server cooperates with different engines to handle specific tasks. A DataMapper engine extracts data from a data file. A Merge engine merges the template and the data to create Email and Web output, or to create an intermediary file for Printed output.
This topic explains all of these settings and the principles behind them, and it provides guidelines for letting the Server manage the workload in such a way as to achieve the highest possible output speeds. Factors to take into account are: l l l Your licence, which imposes a speed quota (see "Speed quota: PPM and speed units" below). The processing power of your machine. How many cores it has determines how many engines can be launched (see "Launching multiple engines" on the facing page).
l l l Weaver engines always require a speed unit to run. Merge engines only require a speed unit when creating Email or Web output. Merge engines involved in a Print process don't need a speed unit in order to run. DataMapper engines don't need speed units. In situations where Print and Email and/or Web output are created at the same time, only the Merge engines that create Email/Web output count towards the maximum number of speed units for that type of output.
1. Select Window > Preferences... from the menu. 2. Under Scheduling, select a type of engine. 3. Set Local engines launched to a number appropriate for your system. See "Deciding how many engines of each type to launch " below. 4. Click OK or Apply. It is advised that you do not configure more engines than can be backed by actual processing power. This adds overhead while not adding processing power.
installed on a system with a slow hard drive, adding a DataMapper engine may not increase the overall performance. Weaver engine Adding an extra Weaver engine might be useful when large Print jobs have to run simultaneously with smaller Print jobs. Memory per engine By default, each engine is set to use 640MB of RAM. To make optimum use of the machine's capabilities it might be useful to increase the amount of memory that an engine can use.
Job size Connect lets you define job sizes by setting the maximum number of records in a small job, and the minimum number of records in a large job. Jobs that are neither small nor large are medium sized. (Note that the term 'records' refers to top-level records only. Detail records are not considered.) Determining the size of small, medium and large jobs is important because you can assign more resources to medium and large jobs via the settings for Merge and Weaver engines.
3. Set the Parallel engines per job for medium and large Print jobs; small jobs always get one engine. You cannot assign more engines than the total number of engines launched. 4. Do the same for the Weaver engine. 5. Click OK or Apply.
4. Click OK or Apply. Number of speed units for Email and Web Although assigning parallel speed units to Email and HTML jobs is possible (on the Merge Engine settings page), it is advised to use only one speed unit per job, firstly because these jobs are usually small. Secondly, HTML jobs need to be handled as soon as possible, particularly if a request was made over the internet; you don't want those jobs to be kept waiting until the required number of speed units becomes available.
1. Select Window > Preferences... from the menu. 2. Under Scheduling, select Merge Engine, or Weaver Engine. How the Server decides if a job can be handled In summary, this is how jobs are handled when they can run in parallel. l l l l Whenever a job comes in, the number of engines to use is determined. (For Print jobs, this is based on whether the operation is small, medium or large; see "Job size" on page 113.
Mixed jobs that are processed in parallel. In a situation where small, medium and large jobs can come in at any time and should be handled in parallel, the challenge is to find a balance between how much power can be allocated to jobs (to minimize the time they cost) and how long they can wait. No single job should require all of the processing power, unless it is acceptable for it to have to wait until the maximum number of engines finally comes available and then all other jobs will have to wait.
5,000 and a job of 7,000 records is already running, then this existing job will now be considered a Large job. Scheduling preferences per engine Scheduling preferences can be applied to the distinct engines used in the Connect production process. A DataMapper engine extracts data from a data file. A Merge engine merges the template and the data to create Email and Web output, or to create an intermediary file for Printed output.
l l l l l l l Use one internal engine: Check this option to limit to a single internal engine. Only use this option on computers that run below the recommended System requirements, or demo machines. With external engines, both the engines and the server have more memory and can run faster. Total engines available: Read-only box indicating the current number of engines that are active or available. Local engines launched: Enter the total number of Datamapper engines desired on this server.
Merge engine scheduling A DataMapper engine extracts data from a data file. A Merge engine merges the template and the data to create Email and Web output, or to create an intermediary file for Printed output. The intermediary file is in turn used by a Weaver engine to prepare the Print output. This preferences page defines how many Merge engines are launched and how speed units are allocated to different jobs when creating production output. By default the number of Merge engines is set to two.
l l l Local engines launched: Enter the total number of Merge Engines desired on this server. When changing the number of engines, it is necessary to save this dialog (Apply) to actually apply the changes. Best practice is to keep the number of engines equal to the number of cores, to not overload the machine and negatively affect performance. Do not include the number of logical processors when running under virtualization.
Tip If this setting must be used due to memory problems it is recommended to set it to at least 1.5GB or 225% of the Memory per engine (mb) setting (whichever is higher). The maximum for this setting is 1,024,000MB, which roughly equates to 1TB. Note that the actual memory usage is reported in the "Working Set" column in Windows' Process Explorer. l Parallel engines per job group: This area determines how many Merge engines are used for each print job of a particular size.
Note Email and Web output are generated with the Merge engine only and thus their output speed is limited through this engine. Print jobs, however, are limited through the Weaver engine, so when a Merge engine creates Print content it doesn't need to consider any Merge engine speed unit settings. It can run without limitation. l Engine reservations group: This area is used to reserve engines specifically for certain types of jobs. Reserved engines cannot be used by any other type of job.
l l l l Email limit: Enter the maximum number of engines that can run Email jobs. Maximum Email limit in license: Read-only box indicating the maximum number of engines useable for Email content creation. HTML limit: Enter the maximum number of engines that can run Web jobs. Maximum HTML limit in license: Read-only box indicating the maximum number of engines useable for Web content creation. Weaver engine scheduling A DataMapper engine extracts data from a data file.
Note Changes made to the following settings will be applied on the run (when the Apply button is pressed), and do not require the OLConnect_Server service to be restarted. l l l l l l l Use one internal engine: Check this option to limit to a single internal engine. Only use this option on computers that run below the recommended System requirements, or demo machines. With external engines, both the engines and the server have more memory and can run faster.
l Restart after group: l l Time limit (mins): Due to a currently un-fixable memory leak in some libraries used by PlanetPress Connect, it is necessary to restart our engines after a certain amount of time. The default is generally considered sufficient for all our clients. Only change on the advice of a technical support agent. Memory limit (mb): An engine restart will be performed when the total amount of memory used by the engine process exceeds the defined maximum.
l Parallel engines per job group: This area determines how many Weaver engines are used for each print job of a particular size. Small print jobs always get just one engine. l l l Parallel engines per large print job: Enter the number of engines that will cooperate on a large print job. Speed unit reservations: l l l l l Parallel engines per medium print job: Enter the number of engines that will cooperate on a medium print job.
l l l l l Enable server security: Enable to add authentication to the REST server. - When enabled, the same username and password (which cannot be blank) must be entered in any remote Connect Designer that links to this Server. The Designer username and password entries can be found under the "Preferences" on page 768 sub-section of the Designer Preferences dialog.
The Workflow server The Workflow server (also referred to as the 'Watch service') executes processes independently, after a Workflow configuration has been uploaded and the services have been started. The Workflow server can run only one configuration at a time. There are a number of services related to Workflow. The Messenger service, for example, receives the files sent to Workflow from the Designer and the Workflow configuration tool.
The Workflow Service Console lets you start and stop the different services, except the Connect server, and see their log files (see Workflow Service Console). Note that Workflow isn't limited to Connect functionality. It was originally developed as part of the PlanetPress Suite. Many of the plugins in the Workflow configuration tool are older than Connect. They were left in for compatibility reasons, even though they aren't all useful or usable within Connect.
The Connect Server Configuration tool lets you change the settings for the Connect server, the engines and the service that cleans up the database and the file store. These settings can also be made in the preferences of the Designer. The Connect database The Connect database is the database back-end used by Connect itself when processing jobs. It can be either the MySQL instance provided by the Connect installer, or a pre-existing (external) instance (see "Database Considerations" on page 19).
The engines Datamapper engine/s. A Datamapper engine extracts data from a data file. The number of Datamapper engines is configurable ("DataMapper engine scheduling" on page 118). Merge engine/s. A merge engine merges data with a template using the scripts in the template, in order to create (Print,Email or Web) content items.
When there are more speed units than there are engines in use, the Connect server distributes the speed units and the maximum output speed to the engines proportionally. The REST API The Connect server receives REST commands (see The Connect REST API CookBook), normally either via the Workflow service or from the Designer. This design allows the Connect functionality to be used by other applications. The server forwards the commands to the appropriate engine and returns the results to the caller.
Known Issues This page lists important information about issues that apply to PlanetPress Connect 2018.1. Business Graphics: Backward Compatibility Issues As a consequence of changes in both the user interface and the underlying technology, Business Graphics made with a version prior to PlanetPress Connect 2018.1 may not display correctly when opened in version 2018.1.
now be done in the Edit Chart Script dialog (see "Selecting data in a Business Graphic script" on page 577). Minor differences in PCL output introduced in 2018.1 The browser component (Mozilla Gecko) used in the WYSIWYG editor of the Designer was updated for Connect 2018.1. This allows use of new CSS properties, such as flexbox. However this update could lead to increased output file sizes for some PCL jobs.
job requires more than 100MBs of image files, then the Connect image cache size can be increased to cater for such. Please contact OL Support for instructions on how to modify the image memory cache value, if needed. Print Output: Booklet Impositioning changes introduced in 2018.1 When Booklet Impositioning is enabled, all pages within a document need to be changed to duplex prior to Impositioning .
user specifies an alternative installation path containing multi-byte/wide-char characters it can break some of the links to the Connect-related shortcuts in the Start Menu and cause an error to appear at the end of the installer. The workaround for the moment is to use the default installation path. The problem will be addressed in a later release.
remove the Connect MySQL Database folder from "%ProgramData%\Connect\MySQL\data" before installing the older version. The minimum supported MySQL version is 5.1.31. PostScript Print Presets The print presets for PostScript were changed from Version 1.1 onwards meaning that some presets created in Version 1.0 or 1.0.1 may no longer work. Any PostScript print preset from Version 1.0 that contains the following will not work in Version 2018.1: *.all[0].
1. The resource must be located where it can be accessed by all Servers/Slaves run as users. Failure to do this will cause the image to appear as a Red X in the output for all documents which were merged by engines which could not access the file. The job will terminate normally and the error will be logged. 2. The file must be referenced via a UNC path e.g., file://///w2k8r2envan/z%20images/Picture/Supported/JPG/AB004763.
service, conversion service and live preview tab in the Designer will not work and exhibit the following issues: l Images will be shown as 0 size boxes (no red 'X' is displayed) l Live preview does not progress, and when re-activated reports "browsers is busy" To fix the issue you must check the "Bypass proxy settings for local addresses" option Merge\Weaver Engines when Printing The print operation in the Designer will automatically detect whether the Merge\Weaver engines are available and display a m
l l The Windows printer must be installed on both the Server and Designer machines. When printing via the Server from a remote Designer, the output file remains on the Server machine. This is remedied by selecting “Output Local” in the Output Creation configuration VIPP Output Some templates set up with landscape orientation are being produced as portrait in VIPP. It can also sometimes be the case that text and images can be slightly displaced.
Impacts upon other Applications and Services l l The Uninstall will terminate the installed Server / MySQL service(s) The following applications / services should be stopped in a controlled fashion, before running the PlanetPress Connect Uninstall: 1. PlanetPress Connect 2. Connect products on remote systems which refer to this MySQL database. 3. Any Connect Workflow using PlanetPress Connect plugins which connect to this server.
General information Connect consists of visible and invisible parts. The invisible parts process the Connect job to provide the actual output. They are introduced to you in the topic: "Connect: a peek under the hood" below. For a list of all file types used in Connect, see: "Connect File Types" on page 149. You can find additional information that complements the user manuals, such as error codes and frequently asked questions about PlanetPress Connect, in the Knowledge base.
The Workflow server The Workflow server (also referred to as the 'Watch service') executes processes independently, after a Workflow configuration has been uploaded and the services have been started. The Workflow server can run only one configuration at a time. There are a number of services related to Workflow. The Messenger service, for example, receives the files sent to Workflow from the Designer and the Workflow configuration tool.
The Workflow Service Console lets you start and stop the different services, except the Connect server, and see their log files (see Workflow Service Console). Note that Workflow isn't limited to Connect functionality. It was originally developed as part of the PlanetPress Suite. Many of the plugins in the Workflow configuration tool are older than Connect. They were left in for compatibility reasons, even though they aren't all useful or usable within Connect.
The Connect Server Configuration tool lets you change the settings for the Connect server, the engines and the service that cleans up the database and the file store. These settings can also be made in the preferences of the Designer. The Connect database The Connect database is the database back-end used by Connect itself when processing jobs. It can be either the MySQL instance provided by the Connect installer, or a pre-existing (external) instance (see "Database Considerations" on page 19).
The engines Datamapper engine/s. A Datamapper engine extracts data from a data file. The number of Datamapper engines is configurable ("DataMapper engine scheduling" on page 118). Merge engine/s. A merge engine merges data with a template using the scripts in the template, in order to create (Print,Email or Web) content items.
When there are more speed units than there are engines in use, the Connect server distributes the speed units and the maximum output speed to the engines proportionally. The REST API The Connect server receives REST commands (see The Connect REST API CookBook), normally either via the Workflow service or from the Designer. This design allows the Connect functionality to be used by other applications. The server forwards the commands to the appropriate engine and returns the results to the caller.
Connect File Types This article describes the different File Types that are related to PlanetPress Connect and its different modules. These are files that are generally transferable between machines, can be sent via email or other means. l l l l l l l l l .OL-template: A Designer Template file, including up to 3 contexts. Is linked to a data mapping configuration by default, but not necessarily. .
The DataMapper Module The DataMapper is the tool to create a data mapping configuration. A data mapping configuration file contains the information necessary for data mapping: the settings to read the source file (Delimiter and Boundary settings), the data mapping workflow with its extraction instructions ('Steps'), the Data Model and any imported data samples.
2. Configure settings for the data source. The data source can be a file (CSV, PDF, TXT, XML) or a particular database. Configure how the data source is read by the DataMapper and create a record structure. See "Data source settings" on page 166. 3. Build the data mapping workflow. A data mapping workflow always starts with the Preprocessor step and ends with the Postprocessor step. You can add as many steps as you like and edit the Data Model of the extracted data as required.
template and any print presets have to be sent to Workflow; see "Sending files to Workflow" on page 362. Creating a new data mapping configuration A new data mapping configuration can be made with or without a wizard. When you open a data file with a DataMapper wizard, the wizard automatically detects a number of settings. You can adjust these settings. Next, the wizard automatically extracts as many data fields (or metadata, in case of a PDF/VT or AFP file) as it can, in one extraction step.
l Text l XML. 3. Click the Browse button and open the file you want to work with (for a database, you may have to enter a password). 4. Click Finish. l From the File menu 1. Click the File menu and select New. 2. Click the Data mapping Configuration drop-down and select Files and then the file type: l Comma Separated Values or Excel (CSV/XLSX/XLS), l (MS Access) MDB l PDF, PS, PCL or AFP Note PCL and PostScript (PS) files are automatically converted to PDF format. l Text l XML. 3.
depending on the available processing power. l l Excel files saved in "Strict Open XML" format are not supported yet. Extracting data from a PDF that comes from a Windows printer queue (a PDF converted to PostScript, converted back to PDF by an Input task in Workflow) might not work (see the Connect Knowledge Base). The rule of thumb is: if copy-paste from Acrobat works, so will data mapping; if not, the DataMapper won't either.
l "Using the wizard for PDF/VT or AFP files" on page 161 l "Using the wizard for XML files" on page 163 Generating a counter Instead of creating a data mapping configuration for a certain type of data file, you may create a data mapping configuration that only contains a series of sequential numbers. This is a solution if, for instance, you need to create sequential tickets or anything that has an ID that changes on each record. Note You can’t join this configuration to another data file.
l l l l Padding character: Which character to add if the counter's value is smaller than the width. Width: The number of digits the counter will have. If the width is larger than the current counter value, the padding character will be used on the left of the counter value, until the width is equal to the set value. For example for a counter value of "15", a width of "4" and padding character of "0", the value will become "0015".
step. The wizard interprets each line in the file as a record. If your data file contains transactional data, you will probably want more lines to go in one record and put the transactional data in detail tables. The wizard cannot create detail tables. If the file contains transactional data, the data mapping configuration is best created without a wizard (see "Creating a new data mapping configuration" on page 152).
After selecting the file, take a look at the preview to ensure that the file is the right one and the encoding correctly reads the data. Click Next. For an Excel file you can indicate whether or not the first row contains field names, and from which sheet the data should be extracted. For a CSV file the wizard will display the different settings it has detected, allowing you to change them: l Encoding: Defines which encoding is used to read the file.
l From the Welcome screen 1. Open the PlanetPress ConnectWelcome page by clicking the or select the Help menu and then Welcome. icon at the top right 2. Click Create a New Configuration. 3. From the Using a wizard pane, select Database. 4. Use the drop-down to select the database type. 5. Click Next. l From the File menu 1. In the menu, click File > New. 2. Click the Data mapping Wizards drop-down and select From databases. 3. Click Next. 4. Use the drop-down to select the database type. 5. Click Next.
which you want to extract data. l Encoding: Choose the correct encoding to read the file. Microsoft Access l l l Password: Enter a password if one is required. Table name: The selected database is a set of related tables composed of rows and columns corresponding respectively to source records and fields. Select a table from which you want to extract data. Encoding: Choose the correct encoding to read the file. ODBC Data Source l l ODBC Source: Use the drop-down to select an ODBC System Data Source.
l l l l l l l l JDBC Driver: Use the drop-down to select which JDBC Driver to use for the database connection. JAR file path: Enter a path to the JAR file that contains the appropriate driver for the database. Server: Enter the server address for the database server. Database name: Enter the exact name of the database from where the data should be extracted. User name: Enter a user name that has access to the server and specified database. The user only requires Read access to the database.
l From the Welcome screen 1. Open the PlanetPress ConnectWelcome page by clicking the or select the Help menu and then Welcome. icon at the top right 2. Click Create a New Configuration. 3. From the Using a wizard pane, select PDF/VT or AFP. 4. Click the Browse button and open the PDF/VT or AFP file you want to work with. Click Next. l From the File menu 1. In the menu, click File > New. 2. Click the Data mapping Wizards drop-down and select From PDF/VT or AFP. 3. Click Next. 4.
Using the wizard for XML files The DataMapper wizard for XML files helps you create a data mapping configuration for an XML file. The wizard lets you select the type of node and the trigger that delimit the start of a new record. Next, the wizard extracts the data in one extraction step. The wizard cannot create detail tables. If the file contains transactional data, the data mapping configuration is best created without a wizard (see "Creating a new data mapping configuration" on page 152).
Note The DataMapper only extracts elements for which at least one value is defined in the file. Attribute values are not taken into account. Attribute values (prefixed with an @ sign in the Data Viewer) are not extracted automatically. Click Finish to close the dialog and open the data mapping configuration. Data mapping workflow A data mapping workflow is a series of extraction instructions, called steps.
1. In the extraction workflow on the Steps pane, select the step after which to add the new step. 2. Right-click on the Steps pane and select Add a Step; then select one of the step types. Editing steps The properties of each step in the extraction workflow become visible in the Step properties pane when you select that step in the Steps pane. The name of each step is shown in the Steps pane. You can change it under Description in the Step properties pane.
l Click the Validate All Records toolbar button. l Select Data > Validate Records in the menu. If any errors are encountered in one or more records, an error message will be displayed. Errors encountered while performing the extraction workflow on the current record will also be visible on the Messages tab. Data source settings After opening a data file you have to make a number of settings to make sure that the source data is interpreted and grouped the way you want.
For an Excel File For an Excel file you have to specify which sheet to use. You can also set how many lines should be skipped, and if the first row contains field names or not. See: "Excel file Input Data settings" on page 256. Excel has its own way to display dates. You can specify if the Data Viewer should display dates just as Excel does, or not. That's important because extracting a Date value will only be successful if the expected date format matches the actual format of a date in the Data Viewer.
For an XML file XML is a special file format because these file types can have a theoretically unlimited number of structure types. The input data has two simple options that basically determine at which node level a new record is created. You can either select an element type, to create a new delimiter every time that element is encountered, or choose to use the root node. If there is only one toplevel element, there will only be one record before the Boundaries are set.
Data format settings By default the data type of extracted data is a String, but each field in the Data Model can be set to contain another data type (see "Data types" on page 219). When that data type is Date, Number or Currency, the DataMapper will expect the data in the data source to be formatted in a certain way, depending on the settings.
Before you start Data source settings Data source settings must be made beforehand, not only to make sure that the data is properly read but also to have it organized in a record structure that meets the purpose of the data mapping configuration (see "Data source settings" on page 166). It is important to set the boundaries before starting to extract data, especially transactional data (see "Extracting transactional data" on page 175).
l Alternatively, drag & drop the selected fields into the Data Model pane. Tip In a PDF or Text file, use the Drag icon Data Model. to drag selected data into the With this method, a new Extract step will only be added to the extraction workflow when no Extract step already present on the Steps pane. Otherwise the field/s will be added to the selected Extract step or to the one that was last added. Dragging data into an existing field in the Data Model will replace the data.
l l l The field name is the same. (See: "Renaming and ordering fields" on page 209.) The Extract steps are mutually exclusive. This is the case when they are located in different branches of a Condition step or Multiple Conditions step. The option Append values to current record is checked in the Step properties pane under Extraction Definition.
l Change the names of fields that are included in the extraction. l Change the order in which fields are extracted. l Set the data type, data format and default value of each field. l Modify the extracted data through a script. l Delete a field. All this can be done via the Step properties pane (see "Settings for location-based fields in a Text file" on page 274), because the fields in the Data Model are seen as properties of an Extract step. See also: "Fields" on page 206.
Right-clicking on a data selection displays a contextual menu with the actions that can be done with that selection or the steps that can be added to them. That menu also displays the keyboard shortcuts. Text or PDF file To select data in a Text or PDF file, click on a starting point, keep the mouse button down, drag to the end of the data that needs to be selected and release the mouse button. The data selection can contain multiple lines.
button pressed down while clicking on nodes to select or deselect them, or keep the Shift button pressed down to select consecutive nodes. You can select multiple fields even if those fields are in different nodes. Note The Goto step isn't used in XML extraction workflows The DataMapper moves through the file using Xpath, a path-like syntax to identify and navigate nodes in an XML document. Extracting transactional data Promotional data are data about customers, such as addresses, names and phone numbers.
Detail tables are created when an Extract step is added within a Repeat step. The Repeat step goes through a number of lines or nodes. An Extract step within that loop extracts data from each line or node. It depends on the type of source data how this loop is constructed exactly. For more information about detail tables, multiple detail tables and nested detail tables, see "Example " on page 248. From a CSV file or a Database The transactional data (also called line items) appear in multiple rows.
1. Select a field in the column that contains the first line item information. 2. Right-click this data selection and select Add Repeat. This adds a Repeat step with a GoTo step inside it. The GoTo step moves the cursor down to the next line, until there are no more lines (see "Goto step" on page 195). 3. (Optional.) Add an empty detail table via the Data Model pane: right-click the Data Model and select Add a table. Give the detail table a name. 4. Select the Repeat step on the Steps pane. 5.
Page 178
From an XML file The transactional data appears in repeated elements. 1. Right-click one of the repeating elements and select Add Repeat. This adds a Repeat step to the data mapping configuration.
elements is extracted. You can see this on the Step properties pane, as long as the Repeat step is selected on the Steps pane. In the Collection field, you will find the corresponding node path. Tip It is possible to edit the Xpath in the Collection field, to include or exclude elements from the loop. One example of this is given in a How-to: Using Xpath in a Repeat step. The example in the How-to uses the starts-with() function. For an overview of XPath functions, see Mozilla: XPath Functions.
The new Extract step will be located in the Repeat step. From a Text or a PDF file In a PDF or Text file, transactional data appears on multiple lines and can be spread over multiple pages. 1. Add a Goto step if necessary. Make sure that the cursor is located where the extraction loop must start. By default the cursor is located at the top of the page, but previous steps may have moved it. Note that an Extract step does not move the cursor. 1. Select something in the first line item. 2.
2. Add a Repeat step where the loop must stop. 1. In the line under the last line item, look for a text that can be used as a condition to stop the loop, for example "Subtotals", Total" or "Amount". 2. Select that text, right-click on it and select Add Repeat. The Repeat step loops over all lines until the selected text is found. 3. Include/exclude lines. Lines between the start and end of the loop that don't contain a line item must be excluded form the extraction.
Selecting data - especially something as small as a dot - can be difficult in a PDF file. To make sure that a Condition step checks for certain data: Type the value in the right operand (in the Step properties pane).Move or resize the selection rectangle in the data.Click the Use selection button in the left operand (in the Step properties pane).When the Condition evaluates to true, the value is found in the selected region.
4. (Optional.) Add an empty detail table to the Data Model: right-click the Data Model and select Add a table. Give the detail table a name. 5. Extract the data (see "Adding an extraction" on page 170). When you drag & drop data on the name of a detail table in the Data Model pane, the data are added to that detail table.
Note In a PDF or Text file, pieces of data often have a variable size: a product description, for example, may be short and fit on one line, or be long and cover two lines. To learn how to handle this, see "Extracting data of variable length" on the facing page. 6. Extract the sum or totals. If the record contains sums or totals at the end of the line items list, the end of the Repeat step is a good place to add an Extract step for these data.
Tip This how-to describes in detail how to extract an item description that appears in a variable number of lines: How to extract multiline items. Extracting data of variable length In PDF and Text files, transactional data isn't structured uniformly, as in a CSV, database or XML file. Data can be located anywhere on a page. Therefore, data are extracted from a certain region on the page.
Text file: setting the height to 0 If the variable part in a TXT file is at the end of the record (for example, the body of an email) the height of the region to extract can be set to 0. This instructs the DataMapper to extract all lines starting from a given position in a record until the end of the record, and store them in a single field. This also works with the data.extract() method in a script; see "Examples" on page 325.
Tip Create and edit the Extract step in the 'true' branch, then right-click the step on the Steps pane, select Copy Step, and paste the step in the 'false' branch. Now you only have to adjust the region from which this Extract step extracts data. To learn how to configure a Condition step or a Case in a Multiple Conditions step, see "Configuring a Condition step" on page 198.
Using a script A script could also provide a solution when data needs to be extracted from a variable region. This requires using a Javascript-based field.
1. Add a field to an Extract step, preferably by extracting data from one of the possible regions; see "Extracting data" on page 169. To add a field without extracting data, see "JavaScript-based field" on page 207. 2. On the Step properties pane, under Field Definition, select the field and change its Mode to Javascript. If the field was created with its Mode set to Location, you will see that the script already contains one line of code to extract data from the original location. 3. Expand the script.
Steps In the DataMapper, steps are part of an extraction workflow (see "Data mapping workflow" on page 164). They contain a specific instruction for the DataMapper, for example to extract data, create a loop, or apply a condition. Some types of steps contain other steps. Steps are executed sequentially, from top to bottom in an extraction workflow.
added to create reports. A tag could be added to process certain records differently. A preprocessor could remove certain records altogether. One example of how a preprocessor could be used is given in a How-to: Using Preprocessors in DataMapper. Properties To add a property: 1. Select the Preprocessor step on the Steps pane. 2. On the Step properties pane, under Properties, click the Add button . See "Properties" on page 270 for an explanation of the settings for properties.
Configuring the Preprocessor step For an explanation of the settings for preprocessors, see: "Preprocessor step properties" on page 269. Extract step The Extract step is essential in each and every data mapping configuration. It extracts data from the data source, based on their location (a row and column in CSV or tabular data, an XPath in XML, or a region of the page in PDF and Text) or on a JavaScript. The data is placed in the record set that is the result of the extraction workflow.
Adding an Extract step To add an Extract step, first select the step on the Steps pane after which to insert the Extract step. Then: l l In the Data Viewer, select some data, right-click that data and choose Add Extraction, or drag & drop the data in the Data Model. For more detailed information and instructions, see: "Extracting data" on page 169. Alternatively, right-click the Steps pane and select Add a Step > Add Extraction. Make the required settings on the Step properties pane.
XML files. When you select a node in an XML file and add a Repeat step on it, the Repeat step will automatically loop over all nodes of the same type on the same level in the XML file. Adding a Repeat step To add a Repeat step: 1. On the Steps pane, select the step after which to insert the Condition step. 2. Make sure that the cursor is located where the extraction loop must start.
Note The Goto step isn't used in XML extraction workflows The DataMapper moves through the file using Xpath, a path-like syntax to identify and navigate nodes in an XML document. Adding a Goto step To add a Goto step: l l On the Steps pane, select the step after which to insert the Goto step. In the Data Viewer, select some data, right-click that data and choose Add Goto, to add a Goto step that moves the cursor to that data. Alternatively, right-click the Steps pane and select Add a Step > Add Goto.
Adding a Condition step To add a Condition step: l On the Steps pane, select the step after which to insert the Condition step; then, in the Data Viewer, select some data, right-click that data and choose Add Conditional. In the Step properties pane, you will see that the newly added Condition step checks if the selected position (the left operand) contains the selected value (the right operand). Both operands and the operator can be adjusted.
operand (in the Step properties pane).Move or resize the selection rectangle in the data.Click the Use selection button in the left operand (in the Step properties pane).When the Condition evaluates to true, the value is found in the selected region. l Alternatively, right-click the Steps pane and select Add a Step > Add Conditional. Enter the settings for the condition on the Step properties pane.
Renaming a rule To rename a rule, double-click its name in the Rule Tree and type a new name. Multiple Conditions step The Multiple Conditions step is useful to avoid the use of nested Condition steps: Condition steps inside other Condition steps. In a Multiple Conditions step, conditions or rather Cases are positioned side by side. Each Case condition can lead to an extraction. Cases are executed from left to right.
Adding a Multiple Conditions step To add a Multiple Conditions step, right-click the Steps pane and select Add a Step > Add Multiple Conditions. To add a case, click the Add case button to the right of the Condition field in the Step properties pane. Configuring a Multiple Conditions step For information about how to configure the Multiple Conditions step, see "Left operand, Right operand" on page 294. The settings for a Case are the same as for a Condition step; see "Condition step properties" on page 291.
l l l Execute JavaScript code. Set the value for a record property. Record properties are defined in the Preprocessor step; see "Preprocessor step" on page 191. Stop the processing of the current record. Normally an extraction workflow is automatically executed on all records in the source data. By stopping the processing of the current record, you can filter records or skip records partially. The Action step can run multiple specific actions one after the other in order.
Configuring the Postprocessor step For an explanation of the settings for postprocessors, see "JavaScript " on page 302. The Data Model The Data Model is the structure of records into which extracted data are stored. It contains the names and types of the fields in a record and in its detail tables. A detail table is a field that contains a record set instead of a single value.
pane, filled with data from the current record. The Data Model is not related to the type of data source: whether it is XML, CSV, PDF, Text or a database does not matter. The Data Model is a new structure, designed to contain only the required data. About records A record is a block of information that may be merged with a template to generate a single document (invoice, email, web page...) for a single recipient. It is part of the record set that is generated by a data mapping configuration.
Importing/exporting a Data Model To use a Data Model in another data mapping configuration, or to use it in a Designer template without a data mapping configuration, you have to export that Data Model and import it into a data mapping configuration or template. Importing and exporting Data Models is done from within the Data model Pane, using the topright icons and . For information about the structure of the exported Data Model file, see "Data Model file structure" on page 228.
that determines the order in which data are extracted, so the order of the fields has to be changed per Extract step. To learn how to edit fields and change their order, see "Fields" on the facing page. Using the Data Model The Data Model is what enables you to create personalized templates in the Designer module. You can drag & drop fields from the Data Model into the template that you are creating (see "Variable Data" on page 669).
filled via an extraction. It can be made visible using the Show ExtraData Field icon at the top of the Data Model. Workflow process Data can be added to the Data Model in a PlanetPress Connect Workflow process as follows: 1. Use an Execute Data Mapping task or Retrieve Items task to create a record set. On the General tab select Outputs records in Metadata. 2. Add a value to a field in the Metadata using the Metadata Fields Management task.
Other fields may contain the result of a JavaScript (JavScript-based fields) or the value of a property (property-based fields). Adding fields Location-based field Generally location-based fields are added to a Data Model by extracting data; see "Extracting data" on page 169. Location-based fields in detail tables are created by extracting transactional data; see "Extracting transactional data" on page 175. Alternatively, you can add fields and detail tables directly in the Data Model pane.
2. On the Step properties pane, under Field Definition, click the Add JavaScript Field button next to the Field List. 3. On the Step properties pane, under Field Definition, enter the script in the Expression field. By changing a field's mode Alternatively you can change a location-based into a JavaScript-based field. 1. Select the field in the Data Model. 2. On the Step properties pane, under Field Definition, change its Mode to JavaScript. 3. Enter the script in the Expression field.
Adding fields dynamically Outside of the DataMapper the Data Model cannot be changed. It isn't possible to add fields to it when using the data mapping configuration in Workflow. It is however possible to add data to existing fields via Workflow; see "Adding fields and data via Workflow" on page 205. Editing fields The list of fields that are included in the extraction, the order in which fields are extracted and the data format of each field, are all part of the Extract step's properties.
Setting the data type Fields store extracted data as a String by default. The data type of a field can be changed via the properties of the Extract step that the field belongs to. 1. Select the Extract step that contains the field. You can do this by clicking on the field in the Data Model, or on the step in the Steps pane that contains the field. 2. On the Step properties pane, under Field Definition, set the Type to the desired data type. See "Data types" on page 219 for a list of available types.
Post function On the Step properties pane, under Field Definition, you can enter a script in the Post function field to be run after the extraction. (Click the Use JavaScript Editor button to open the Script Editor dialog if you need more space.) A Post function script operates directly on the extracted data. Its results replace the extracted data. For example, the Post function script replace("-", ""); replaces the first dash character that occurs inside the extracted string.
2. In the Step properties pane, under Field Definition, click the Remove Extract Field button next to the Field List drop-down. Detail tables A detail table is a field in the Data Model that contains a record set instead of a single value. Detail tables contain transactional data. They are created when an Extract step is added within a Repeat step; see "Extracting transactional data" on page 175. In the most basic of transactional communications, a single detail table is sufficient.
Creating multiple detail tables Multiple detail tables are useful when more than one type of transactional data is present in the source data, for example purchases (items with a set price, quantity, item number) and services (with a price, frequency, contract end date, etc). To create more than one detail table, simply extract transactional data in different Repeat steps (see "Extracting transactional data" on page 175).
Page 214
Nested detail tables Nested detail tables are used to extract transactional data that are relative to other data. They are created just like multiple detail tables, with two differences: l l For the tables to be actually nested, the Repeat step and its Extract step that extract the nested transactional data must be located within the Repeat step that extracts data to a detail table. In their name, the dot notation (record.services) must contain one extra level (record.services.charges).
a number of "details" such as movie rentals or long distance calls.
The services can be extracted to a detail table called record.services. The "charges" and "details" can be extracted to two nested detail tables.
The nested tables can be called record.services.charges and record.services.details.
Now one "charges" table and one "details" table are created for each row in the "services" table. Data types By default the data type of extracted data is a String, but each field in the Data Model can be set to contain another data type. To do this: 1. In the Data Model, select a field. 2. On the Step properties pane, under Field Definition choose a data type from the Type drop-down. Changing the type does not only set the data type inside the record.
l "HTMLString" on page 226 l "Integer" on page 226 l "Float" on page 225 l "Currency" on the next page l "Date" on page 222 l "Object" on page 227 Note The Object data type is only available in the DataMapper module. It can be used for properties in the Preprocessor step, but not for fields in the Data Model. Boolean Booleans are a simple true/false data type often used in conditions and comparisons.
Note The value must be all in lowercase: true, false. Any variation in case (True, TRUE) will not work. Boolean expressions Boolean values can be set using an expression of which the result is true or false. This is done using operators and comparisons. Example: record.fields["isCanadian"] = (extract("Country") == "CA"); For more information on JavaScript comparison and logical operators, please see w3schools.com or developer.mozilla.org.
Note While Currency values can be set to up to 4 significant digits, only 2 are displayed on screen. Building Currency values Currency values can be the result of direct attribution or mathematical operations just like Integer values (see "Integer" on page 226). Date Dates are values that represent a specific point in time, precise up to the second. They can also be referred to as datetime values. While dates are displayed using the system's regional settings, in reality they are stored unformatted.
l In the user preferences ("Datamapper preferences" on page 777). l In the data source settings ("Data source settings" on page 166). l In the field properties: on the Step properties pane, under Data Format, specify the Date/Time Format. For the letters and patterns that you can use in a date format, see "Defining a date/time format" below. Data format settings tell the DataMapper how certain types of data are formatted in the data source.
l l ap: AM/PM string. In addition, any constant character can be included in the mask, usually to indicate date/time separators (i.e. / - :) . If one of those characters happens to be one of the reserved characters listed above, it must be escaped using the \ symbol. Note The markers that can be used when extracting dates are different from those that are used to display dates in a template (see the Designer's "Date and time patterns" on page 1065).
l In a Preprocessor property. To do this, go to the Steps pane and select the Preprocessor step. Then, on the Step properties pane, under Properties add a property, specify its Type as Date and put the JavaScript in the Default Value field. The use of the JavaScript Date() object is necessary when creating dates through a JavaScript expression. For more information, see w3schools - JavaScript Dates and w3schools - Date Object.
Building Float values Float values can be the result of direct attribution or mathematical operations just like Integer values (see "Integer" below). HTMLString HTMLStrings contain textual data that includes HTML markup. They are essentially the same as String values except in cases where the HTML markup can be interpreted. Example: Assume that a field has the value He said WOW!.
l l Direct attribution: Assign an integer value directly, such as 42, 99593463712 or data.extract("TotalOrdered");. Mathematical operations: Assign the result of any mathematical operation. For example: 22+51, 3*6, 10/5 or sourceRecord.property.SubTotal. For more information on mathematics in JavaScript , see w3Schools - Mathematical Operators. For more advanced mathematical functions, see w3schools - Math Object. Note When adding numbers that are not integers, for instance 4.5 + 1.
l Extraction: l In the Data Model, select a field. On the Step properties pane, under Field Definition set the Type to String. The field value will be extracted and treated as a string. l l JavaScript Expression: Set the desired value to any string between quotes. Example: record.fields["countryOfOrigin"] = "Canada"; Building String values String values can be made up of more than just a series of characters between quotes.
xsi:schemaLocation="http://www.objectiflune.com/connectschemas/Data ModelConfig http://www.objectiflune.com/connectschemas/DataModelConfig/1_0_0_ 3.xsd" xmlns:xsi="http://www.w3.
Example: transactional details, in a simple invoice format PAGE 231
Example: nested tables (one table into another) PAGE 232
Keyboard shortcuts This topic gives an overview of keyboard shortcuts that can be used in the DataMapper. Keyboard shortcuts available in the Designer for menu items, script editors and the data model pane can also be used in the DataMapper; see "Keyboard shortcuts" on page 816. Although some of the keyboard shortcuts are the same, this isn't a complete list of Windows keyboard shortcuts. Please refer to Windows documentation for a complete list of Windows keyboard shortcuts.
Key combination Function displays the corresponding menu.) The menu can then be browsed using the Enter key, arrow up and arrow down buttons.
Key combination Function Ctrl + Shift + S Save all Ctrl + Shift + W or Ctrl + Shift + F4 Close all Ctrl + F5 Revert Ctrl + F7 Next view Ctrl + Shift + F7 Previous view Ctrl + F8 Next perspective Ctrl + Shift + F8 Previous perspective Ctrl + F10 Save as Ctrl + F12 Send to Workflow / Package files F4 Ignore step F6 Add an Extract step F7 Add a Goto step F8 Add a Condition step F9 Add a Repeat step Page 234
Key combination Function F10 Add an Extract field F11 Add an Action step F12 Add a Multiple Conditions step Alt + F12 Add a Case step (under a Multiple Conditions step) Home Go to the first step in the workflow End Go to the last step in the workflow Alt + V Validate records Shift + F10 or Ctrl + Shift + F10 Open context menu Viewer pane The following key combinations activate a function in the Viewer.
Key combination Function Ctrl + Shift + F6 Previous editor (when there is more than one file open in the Workspace) Data Model pane Key combination Function PageUp Go to previous record PageDown Go to next record Alt + CR Property page Alt + PageDown Scroll down to the last field Alt + PageUp Scroll up to the first field Steps tab Key combination Function Ctrl + - Zoom out Ctrl + + Zoom in Edit Script and Expression windows The following key combinations have a special function in the
Key combination Function Ctrl + A Select all Ctrl + D Duplicate line Ctrl + I Indent (Tab) Ctrl + J Line break Ctrl + L Go to line; a prompt opens to enter a line number. Ctrl + Shift + D Delete line Shift + Tab Shift selected lines left Tab Shift selected lines right Ctrl + / Comment out / uncomment a line in code Ctrl + Shift + / Comment out / uncomment a code block Menus The following menu items are shown in the DataMapper Module's menu: File Menu l l l New...
l l l l l l l Close: Close the currently open data mapping configuration or Template. If the file needs to be saved, the appropriate Save dialog will open. Close All: Close any open data mapping configuration or Template. If any of the files need to be saved, the Save Resources dialog opens. Save: Saves the current data mapping configuration or Template to its current location on disk. If the file is a data mapping configuration and has never been saved, the Save As dialog appears instead. Save As...
l l Paste Step: Takes the step or steps in the clipboard and places them in the Steps after the currently selected step. Delete Step: Deletes the currently selected step. If the step is a Repeat or Condition, all steps under it are also deleted. l Cut: Click to remove the currently selected step, or steps, and place them in the clipboard. l Copy: Click to place a copy of the currently selected step, or steps, in the clipboard.
data selection is on a lower line, the loop will be for each line until the text in the data selection is found at the specified position on the line (e.g. until "TOTAL" is found). l l l Add Extract Field: Adds the data selection to the selected Extract step, if an extract step is currently selected. If multiple lines, nodes or fields are selected, multiple extract fields are added simultaneously. Add Multiple Conditions: Adds a condition that splits into multiple case conditions.
l About PlanetPress Connect Designer: Displays the software's About dialog. l Welcome Screen: Click to re-open the Welcome Screen. Panes The DataMapper screen contains the following panes. l "Settings pane" on page 255. The Settings pane contains settings for the data source. l "Steps pane" on page 266. The entire extraction workflow is visible in the Steps pane. l "The Data Viewer" on page 252. The Data Viewer shows one record in the data source. l "Step properties pane" on page 268.
l l : Show the ExtraData field. Note that this field is not meant to be filled via an extraction. It is meant to be used in a Workflow configuration to add data to the Data Model; see "Adding fields and data via Workflow" on page 205. Minimize/Maximize: Click to minimize or maximize the pane. See Moving and Merging Panes. Data Model contextual menu The Data Model is generally constructed by extracting data; see "Extracting data" on page 169.
l Expand Fields: Clicking the icon that represents collapsed fields (for example: enables this menu item. It is used to expand the fields on one level. l Collapse All Fields: Collapse the fields on the record level and in all detail tables. l Expand All Fields: Expand the fields on the record level and in all detail tables.
l l l l l l l Table Name: Displays the name of the table as well as the number of records at that level (in [brackets]). At the record level this is the number of records. In other levels it represents the number of entries in a detail table. Number of Records: The number of available records in the active data sample. This is affected by the Boundary settings (see "Record boundaries" on page 168 and "Settings pane" on page 255) and the Preprocessor step ("Preprocessor step" on page 191).
1. On the Data Model pane, click one of the fields in the detail table. 2. On the Step Properties pane, under Extraction Definition, in the Data Table field, you can find the name of the detail table: record.detail by default. Change the detail part in that name into something else. Note A detail table’s name should always begin with ‘record.’. 3. Click somewhere else on the Step Properties pane to update the Data Model. You will see the new name appear.
To create more than one detail table, simply extract transactional data in different Repeat steps (see "Extracting transactional data" on page 175). The best way to do this is to add an empty detail table (right-click the Data Model, select Add a table and give the detail table a name) and drop the data on the name of that detail table.
Page 247
Nested detail tables Nested detail tables are used to extract transactional data that are relative to other data. They are created just like multiple detail tables, with two differences: l l For the tables to be actually nested, the Repeat step and its Extract step that extract the nested transactional data must be located within the Repeat step that extracts data to a detail table. In their name, the dot notation (record.services) must contain one extra level (record.services.charges).
a number of "details" such as movie rentals or long distance calls.
The services can be extracted to a detail table called record.services. The "charges" and "details" can be extracted to two nested detail tables.
The nested tables can be called record.services.charges and record.services.details.
Now one "charges" table and one "details" table are created for each row in the "services" table. The Data Viewer The Data Viewer is located in the middle on the upper half of the DataMapper screen. It displays the data source that is currently loaded in the DataMapper, specifically one record in that data. Where one record ends and the next starts, is set in the Data Source settings (see "Record boundaries" on page 168).
l l l l Hide/Show line numbers the left of the Data Viewer. (Text file only): Click to show or hide the line numbers on Hide/Show datamap : Click to show or hide the icons to the left of the Data Viewer which displays how the steps affect the line. Hide/Show extracted data : Click to show or hide the extraction selections indicating that data is extracted. This simplifies making data selections in the same areas and is useful to display the original data.
Messages pane The Messages pane is shared between the DataMapper and Designer modules and displays any warnings and errors from the data mapping configuration or template. At the top of the Message pane are control buttons: l Export Log: Click to open a Save As dialog where the log file (.log) can be saved on disk. l Clear Log Viewer: Click to remove all entries in the log viewer. l Filters: Displays the Log filter (see "Log filter" below).
Settings pane Settings for the data source and a list of Data Samples and JavaScript files used in the current data mapping configuration, can be found on the Settings tab at the left. The available options depend on the type of data sample that is loaded. The Input Data settings (especially Delimiters) and Boundaries are essential to obtain the data and eventually, the output that you need. For more explanation, see "Data source settings" on page 166.
l Ignore unparseable lines: Ignores any line that does not correspond to the settings above. Excel file Input Data settings There are no settings for field separation in an Excel file, only settings with regards to the file as a whole. l l l Lines to skip: Defines a number of lines in the Excel file that will be skipped and not used as records. First row contains field names: Check this option to use the first line of the Excel file as headers. This option automatically names all extracted fields.
1.43 of this average width is considered one space. A space of 1.44 is considered to be 2 spaces. l PDF file color space: Determines if the PDF if displayed in Color or Monochrome in the Data Viewer. Monochrome display is faster in the Data Viewer. This has no influence on the actual data extraction or the data mapping performance. Database Input Data settings Databases all return the same type of information.
l l l Add/Remove lines: Defines the number of lines to add to, or remove from, the head of the data stream. The spin buttons can also increment or decrement the value. Positive values add blank lines while negative values remove lines. Maximum line length: Defines the number of columns on a data page. The spin buttons can also increment or decrement the value. The maximum value for this option is 65,535 characters. The default value is 80 characters.
XML File Input Data settings For an XML file you can either choose to use the root node, or select an element type, to create a new delimiter every time that element is encountered. l l Use root element: Locks the XML Elements option to the top-level element. No other boundaries can be set. If there is only one top-level element, there will only be one record. XML elements: Displays a list containing all the elements in the XML file.
l Record(s) per page: Defines a fixed number of lines in the file that go in each record. l l On change: Defines a new record when a specific field (Field name) has a new value. l l l Records: The number of records (lines, rows) to put in each record. Field name: Displays the fields in the top line. The boundaries are set on the selected field name. On script: Defines the boundaries using a custom JavaScript. For more information see "Setting boundaries using JavaScript" on page 310.
l l Stop coordinates (x,y): Defines the right and bottom coordinates. Use Selection: Select an area in the Data Viewer and click the Use selection button to set the start and stop coordinates to the current data selection. Note In a PDF file, all coordinates are in millimeters. l l Times condition found: When the boundaries are based on the presence of specific text, you can specify after how many instances of this text the boundary can be effectively defined.
l On delimiter: Defines a boundary on a static number of pages. l l Occurrences: The number of times that the delimiter is encountered before fixing the boundary. For example, if you know that your documents always have four pages delimited by the FF character, you can set the boundaries after every four delimiters. On text: Defines a boundary on a specific text comparison.
l l l Use selected text button: copies the text in the current selection as the one to compare to it. Match case: Makes the text comparison case sensitive. On script: Defines the boundaries using a custom JavaScript. For more information see "Setting boundaries using JavaScript" on page 310. XML file boundaries The delimiter for an XML file is a node. The Boundaries determine how many of those nodes go in one record.
A number of buttons let you manage the Data Samples. In addition to using the buttons listed below, you can right-click a file to bring up the context menu, which offers the same options plus the Copy and Paste options. Tip Data samples can be copied and pasted to and from the Settings pane using Windows File Explorer. l l l l l Add : Add a new Data Sample from an external data source. The new Data Sample will need to be of the same data type as the current one.
l l Current Locale Settings: Shows dates and times as formatted by Windows using the current Locale of the system on which Connect runs. All values are shown as a date including a time. ISO 8601 (UTC): Uses the ISO 8601 (UTC) format to display dates and times. All values are shown as a date including a time, taking the time zone into account. Note that when no time was specified with a date in the original file, the default time (12.00 AM) is used and converted; this may influence the displayed date.
l Thousand Separator : Set the thousand separator for a numerical value. l Currency Sign : Set the currency sign for a currency value. l Date Format : Set the date format for a date value. l l Date Language : Set the date language for a date value (ex: If English is selected, the term May will be identified as the month of May). Treat empty as 0 : A numerical empty value is treated as a 0 value.
Moving a step To rearrange steps, simply drag & drop them somewhere else on the dotted line in the Steps pane. Alternatively you can right-click on a step and select Cut Step or use the Cut button in the Toolbar. If the step is Repeat or Condition, all steps under it will also be placed in the clipboard. To place the step at its destination, right-click the step in the position before the desired location and click Paste Step, or use the Paste button in the toolbar.
l l l l Add Case Step: Adds a Case condition under the selected Multiple Conditions step. Ignore Step: Click to set the step to be ignored (aka disabled). Disabled steps are grayed and do not run, neither in the DataMapper nor when the data mapping configuration is executed in Workflow. However, they can still be modified normally. Delete Step: To remove a step, right-click on it and select Delete step from the contextual menu or use the Delete button in the Toolbar.
Preprocessor step properties The Preprocessor step does not run for every record in the source data. It runs once, at the beginning of the extraction workflow, before anything else; see "Preprocessor step" on page 191. The properties described below become visible in the Step properties pane when the Preprocessor step is selected in the Steps pane. Description This subsection is collapsed by default in the interface, to give more screen space to other important parts. Name: The name of the step.
Configuration, use the automation.jobInfos.JobInfoX (where X is the job info number, from 0 to 9). l l l OriginalFilename: This property contains the original file name that was captured by the PlanetPress Workflow process and is equivalent to the %o variable in the process. To access these property inside of any JavaScript code within the Data Mapping Configuration, use automation.properties.OriginalFilename.
l l l Automation variable: These properties initialize variables coming from the PlanetPress Workflow automation tool. The name of the property needs to be the same as the variable name in Workflow, and they can be either a Local variable or a Global variable. For either one, only the actual name is to be used, so for % {MyLocalVar} use only MyLocalVar , and for %{global.MyGlobalVar} use MyGlobalVar. If a global and a local variable have the same name ( %{myvar} and %{global.
Preprocessor definition l Expression: Enter the JavaScript code to be performed on the data file. See "DataMapper Scripts API" on page 305. Extract step properties The Extract step takes information from the data source and places it in the record set that is the result of the extraction workflow. For more information see "Extract step" on page 193 and "Extracting data" on page 169. Description This subsection is collapsed by default in the interface, to give more screen space to other important parts.
to make further settings for that field. l l Add Unique ID to extraction field: Check to add a unique numerical set of characters to the end of the extracted value. This ensures no two values are identical in this field in the record set. Mode: Determines the origin of the data. Fields always belong to an Extract step, but they don't necessarily contain extracted data. See "Fields" on page 206 for more information.
"DataMapper Scripts API" on page 305. l l Choose a property button: Click this button to open a filter dialog that lets you find a property based on the first few letters that you type. Type: The data type of the selected data; see "Data types" on page 219. Make sure that the data format that the DataMapper expects matches the actual format of the data in the data source; see "Data Format" on page 276.
l Left: Defines the start of the data selection to extract. l Right: Defines the end of the data selection to extract. l l l Top offset: The vertical offset from the current pointer location in the Data Sample (Viewer). Height: The height of the selection box. Use selection: Click to use the value (Left, Right, Top offset and Height) of the current data selection for the extraction. Note If the selection contains multiple lines, the lines are by default joined and extracted into one field.
l Use selection: Click to use the value of the current data selection for the extraction. Note If the selection contains multiple lines, only the first line is selected. l Post Function: Enter a JavaScript expression to be run after the extraction. For example replace("-","") would replace a single dash character inside the extracted string. l l Use JavaScript Editor: Click to display the Script Editor dialog. Trim: Select to trim empty characters at the beginning or the end of the field.
Note Data format settings tell the DataMapper how certain types of data are formatted in the data source. They don't determine how these data are formatted in the Data Model or in a template. In the Data Model, data are converted to the native data type. Dates, for example, are converted to a DateTime object in the Data Model, and will always be shown as "year-month-day" plus the time stamp, for example: 2012-04-11 12.00 AM.
l Name: The name of the field. Click the field name and enter a new name to rename the field. Note If you intend to use the field names as metadata in a PlanetPress Workflow process, do not add spaces to field names, as they are not permitted in metadata field names. l Value: Displays the value of the extract field in the current Record. l Remove button : Click to remove the currently selected field. l Move Up button : Click to move the selected field up one position.
l Name: A name by which to refer to the action. This name has no impact on functionality. l Type: l l l Set property: Sets the value of a record property which was created in the Preprocessor step (see "Preprocessor step" on page 191). Run JavaScript : Runs a JavaScript expression, giving much more flexibility over the extraction process. Stop Processing Record: When this option is selected, the extraction workflow stops processing the current record and moves on to the next one.
Note If the selection contains multiple lines, only the first line is selected. l l Trim: Select to trim empty characters at the beginning or the end of the field JavaScript : The result of the JavaScript Expression written below the drop-down will be the value of the extracted field. If the expression contains multiple lines, the last value attribution (variable = "value";) will be the value. See "DataMapper Scripts API" on page 305. l l l l Expression: The JavaScript expression to run.
l l Date Language : Set the date language for a date value (ex: If English is selected, the term May will be identified as the month of May). Treat empty as 0 : A numerical empty value is treated as a 0 value. CSV and Database Files l Property: Displays a list of record properties set in the Preprocessor step (see "Preprocessor step" on page 191). l Type: Displays the type of the property. Read only field. l Based on: Determines the origin of the data.
l l Use selected text: Inserts the text in the current data selection in the JavaScript Expression. If multiple lines or elements are selected, only the first one is used. Use selection: Click to use the value of the current data selection for the extraction. Note If the selection contains multiple lines, only the first line is selected. l Data Format: Data format settings tell the DataMapper how certain types of data are formatted in the data source.
l XPath: The path to the XML field that is extracted. l Use selection: Click to use the value of the current data selection for the extraction. Note If the selection contains multiple lines, only the first line is selected. l l Trim: Select to trim empty characters at the beginning or the end of the field JavaScript : The result of the JavaScript Expression written below the drop-down will be the value of the extracted field.
l Data Format: Data format settings tell the DataMapper how certain types of data are formatted in the data source. Make sure that this format matches the actual format of the data in the data source. l Negative Sign Before : A negative sign will be displayed before any negative value. l Decimal Separator : Set the decimal separator for a numerical value. l Thousand Separator : Set the thousand separator for a numerical value. l Currency Sign : Set the currency sign for a currency value.
The properties described below become visible in the Step properties pane when the Repeat step is selected in the Steps pane. Description This subsection is collapsed by default in the interface, to give more screen space to other important parts. Name: The name of the step. This name will be displayed on top of the step's icon in the Steps pane. Comments: The text entered here will be displayed in the tooltip that appears when hovering over the step in the Steps pane.
Rule Tree The Rule tree subsection displays the full combination rules (defined below under Condition) as a tree, which gives an overview of how the conditions work together as well as the result for each of these conditions for the current record or iteration. Condition First, the Condition List displays the conditions in list form, instead of the tree form above. Three buttons are available next to the list: l Add condition: Click to create a new condition in the list.
extraction. l l Value: A specified static text value. l l l l l l l l Field: The Extracted Record field to use in the comparison. Expression: The JavaScript line that is evaluated. Note that the last value attribution to a variable is the one used as a result of the expression. Use JavaScript Editor: Click to display the Edit Script dialog. Use selected text: Inserts the text in the current data selection in the JavaScript Expression.
l l l l is less than: The first specified value is smaller, numerically, than the second value for the condition to be True. is greater than: The first specified value is larger, numerically, than the second value for the condition to be True. is empty: The first specified value is empty. With this operator, there is no second value. Invert condition: Inverts the result of the condition. For instance, is empty becomes is not empty.
l l l l l Data Property: The value of a data-level property set in the Preprocessor step. Record Property: One of the local variables that you can create and that are reset for each document as opposed to data variables that are global because they are initialized only once at the beginning of each job. Automation Property: The current value of a Document-level property set in the Preprocessor step.
XML Files l Based On: l Position: The data in the specified position for the comparison. l l l l l l l l l l Value: The text value to use in the comparison. Use selected text: Uses the text in the current data selection as the Value. If multiple lines or elements are selected, only the first one is used. Field: The Extracted Record field to use in the comparison. JavaScript : The result of a JavaScript Expression.
l Operators: l l l l l l is equal to: The two specified value are identical for the condition to be True. contains: The first specified value contains the second one for the condition to be True. is less than: The first specified value is smaller, numerically, than the second value for the condition to be True. is greater than: The first specified value is larger, numerically, than the second value for the condition to be True. is empty: The first specified value is empty.
l l To rename a rule, double click on its name from the Rule tree subsection. To change the way rules are combined, right-click "AND". Select OR or XOR instead. XOR means one or the other, but not both. Condition First, the Condition List displays the conditions in list form, instead of the tree form above. Three buttons are available next to the list: l l Add condition: Click to add a new rule. This will always branch the current condition as an "AND" operator.
l Value: A specified static text value. l l l l l l l l Expression: The JavaScript line that is evaluated. Note that the last value attribution to a variable is the one used as a result of the expression. Use JavaScript Editor: Click to display the Edit Script dialog (see "Using scripts in the DataMapper" on page 308). Use selected text: Inserts the text in the current data selection in the JavaScript Expression. If multiple lines or elements are selected, only the first one is used.
l is greater than: The first specified value is larger, numerically, than the second value for the condition to be True. is empty: The first specified value is empty. With this operator, there is no second value. Invert condition: Inverts the result of the condition. For instance, is empty becomes is not empty. l Multiple Conditions step properties The Multiple Conditons step contains a number of Case conditions (one to start with) and a Default, to be executed when none of the other cases apply.
l l l l l Trim: Select to trim empty characters at the beginning or the end of the field. Value: A specified static text value. Use selected text: Uses the text in the current data selection as the Value. If multiple lines or elements are selected, only the first one is used. Field: The Extracted Record field to use in the comparison. JavaScript : The result of a JavaScript Expression. l l l Value: The text value to use in the comparison.
l Extractor Property: The value of an internal extractor variable: l l Counter: The value of the current counter iteration in a Repeat step. Vertical Position: The current vertical position on the page, either in Measure (PDF) or Line (Text and CSV). Condition The Condition drop-down displays the cases in list form. Three buttons are available next to the list: l l l Add case: Click to add a new case to the step. It will be placed next to any existing cases.
The properties of the Goto step described in this topic become visible in the Step properties pane when you select the Goto step on the Steps pane. Description This subsection is collapsed by default in the interface, to give more screen space to other important parts. Name: The name of the step. This name will be displayed on top of the step's icon in the Steps pane. Comments: The text entered here will be displayed in the tooltip that appears when hovering over the step in the Steps pane.
options appear below to specify in which area of each line the Gotostep checks in: l Left: The starting column, inclusively. l Right: The end column, inclusively. l l Use selection: Click while a selection is made in the Data Viewer to automatically set the left and right values to the left and right edges of the selection. Next occurrence of: Jumps to the next occurrence of specific text or a text pattern, either anywhere on the line or in specific columns.
l Page: Jumps between pages or to a specific page. l l l From: Defines where the jump begins: l Current Position: The Gotobegins at the current cursor position. l Top of record: The Gotobegins at line 1 of the source record. Move by: Enter the number pages to jump. Next line with content: Jumps to the next line that has contents, either anywhere on the line or in specific columns.
l Use regular expression: Check so that the Expression box is treated as a regular expression instead of static text. For more information on using Regular Expressions (regex), see the Regular-Expressions.info Tutorial. CSV File l From (CSV files): Defines where the jump begins: l Current Position: The Goto begins at the current cursor position. l l Move by: Enter the number of lines or pages to jump. Top of record: The Gotobegins at line 1 of the source record.
The properties described below become visible in the Step properties pane when the Postprocessor step is selected in the Steps pane. Description This subsection is collapsed by default in the interface, to give more screen space to other important parts. Name: The name of the step. This name will be displayed on top of the step's icon in the Steps pane. Comments: The text entered here will be displayed in the tooltip that appears when hovering over the step in the Steps pane.
Postprocessor definition JavaScript l l l Expression: The JavaScript expression that will run on the Data Sample. See "DataMapper Scripts API" on page 305. Use JavaScript Editor: Click to display the Script Editor dialog. Use selected text: Uses the text in the current data selection as the Value. If multiple lines or elements are selected, only the first one is used. Toolbar In the DataMapper module, the following buttons are available in the top toolbar.
l l l l l l l l l l l l Add Condition Step: Adds a condition based on the current data selection. The "True" branch gets run when the text is found on the page. Other conditions are available in the step properties once it has been added. Add Repeat Step: Adds a loop that is based on the current data selection, and depending on the type of data. XML data will loop on the currently selected node, CSV loops for all rows in the record.
Welcome Screen The Welcome Screen appears when first starting up PlanetPress Connect. It offers some useful shortcuts to resources and to recent documents and data mapping configurations. If you are new to PlanetPress Connect and you don't know where to start, see "Welcome to PlanetPress Connect 2018.1" on page 16. The Welcome Screen can be brought back in two ways: l The Welcome Screen button in the "Toolbars" on page 851. l From the Menus in Help, Welcome Screen.
l l Recent Templates: Lists recently used templates. Click any template to open it in the Designer module. Other Resources: l Documentation: Opens this documentation. l Courses (OL Learn): Opens the Objectif Lune e-Learning Center. l User Forums: Opens the Questions & Answer forums. DataMapper Scripts API This page describes the different features available in scripts created inside DataMapper. See "Using scripts in the DataMapper" on page 308.
Name Description Available in scripts of type "logger" on page 336 An object that allows to log error, warning or informational messages. Boundaries, all steps except Goto "record" on page 336 The current record in the main data set. Extract, Condition, Repeat and Multiple Conditions steps "region" on page 337 An object that defines a subsection of the input data. Boundaries "sourceRecord" on page 339 An object containing properties specific to the current source record being processed.
Name Description copyFile() Copies a file to the target file path, replacing it if it already exists. createGUID() Returns a unique 36-character string consisting of 32 alphanumeric, lower case characters and four hyphens (format: 84-4-4-12). Example: 123e4567-e89b-12d3-a456-426655440000. "createHTTPRequest ()" on page 347 Creates a new HTTP Request Object. createTmpFile() Creates a file with a unique name in the temporary work folder and returns a file object. deleteFile() Deletes a file.
Name Description openTextReader() Opens a file as a text file for reading purposes. openTextWriter() Opens a file as a text file for writing purposes. Using scripts in the DataMapper In the DataMapper every part of the extraction process can be customized using scripts. A script can be used to set boundaries for a data source (see "Setting boundaries using JavaScript" on page 310). The script determines where a new record starts. Scripts can also be used in different steps in the extraction workflow.
Tip In the Edit script dialog, press Ctrl + Space to bring up the list of available JavaScript objects and functions (see Datamapper API). Use the arrow keys to select a function or object and press enter to insert it. Type a dot after the name of the function or object to see which features are subsequently available. Keyboard shortcuts for the script editor are listed in the following topic: "Keyboard shortcuts" on page 816.
}; If this is saved as myFunction.js and imported, then the following would work anywhere in the configuration: var result = myAddFunction(25, 12); // returns 37! Setting boundaries using JavaScript As soon as you select the On Script option as the trigger for establishing record boundaries (see "Record boundaries" on page 168), you are instructing the DataMapper to read the source file sequentially and to trigger an event each and every time it hits a delimiter.
access to the first page only, and for a CSV or for tabular data, that would be the first row or record. This means that you can: l Examine the data found in between delimiters for specific conditions. l Examine specific regions of that data, or the available data as a whole. l Compare the contents of one region with another. l Etc. To access this data in the script, use the get() function of the boundaries object.
"Rolling Stones","Let it bleed",1969 "Led Zeppelin","Led Zeppelin 3",1970 "Led Zeppelin","Led Zeppelin 4",1971 "Rolling Stones","Sticky Fingers",1971 Note The first line is just the header with the names of the CSV columns. The data is already sorted per year, per artist, and per album. Your goal is to examine two values in each CSV record and to act when either changes. The DataMapper GUI allows you to specify a On Change trigger, but you can only specify a single field.
boundaries.setVariable("lastBand",zeBand[0]); boundaries.setVariable("lastYear",zeYear[0]); l l l l The script first reads the two values from the input data, using the createRegion() method (see: "Example" on page 339). For a CSV/database data type, the parameter it expects is simply the column name. The region is passed as a parameter to the get() method, which reads its contents and converts it into an array of strings (because any region, even a CSV field, may contain several lines).
Led Zeppelin Led Zeppelin 3 1970 Led Zeppelin Led Zeppelin 4 1971 Rolling Stones Sticky Fingers 1971 The purpose of the script, again, is to set the record boundary when EITHER the year OR the artist changes. The script would look like this: /* Read the values of both columns we want to check */ var zeBand = boundaries.get(region.createRegion(1,1,30,1)); var zeYear = boundaries.get(region.
Note The PDF context also expects physical coordinates, just like the Text context does, but since PDF pages do not have a grid concept of lines and columns, the above parameters would instead be specified in millimeters relative to the upper left corner of each page. So for instance, to create a region for the Year, the code might look like this: region.createRegion(190,20,210,25) which would create a region located near the upper right corner of the page.
Property Description PlanetPress Workflow. properties Returns a ScriptableAutomation object containing additional information (file name, process name and task ID) from PlanetPress Workflow. variables Returns a ScriptableAutomation object containing the list of local and global variables defined by the user in PlanetPress Workflow. Note that there is no way to distinguish local variables from global ones (local variables take precedence over global variables).
To access ProcessName, OriginalFilename or TaskIndex from Workflow: automation.properties.OriginalFilename; To access Workflow variables (declared in the Preprocessor properties): automation.variables.Same_as_workflow; boundaries Returns a boundaries object encapsulating properties and methods allowing to define the boundaries of each document in the job. This object is available when triggering document boundaries On script. Properties The following table lists the properties of the boundaries object.
Method Description Script type "find()" below Finds the first occurrence of a string starting from the current position. Boundaries Preprocessor, Extract, Condition, Repeat, Action, and Postprocessor steps get() Retrieves an array of strings. Boundaries getVariable () Retrieves a value of a variable stored in the boundaries object. Boundaries set() Sets a new record boundary. (See: "Record boundaries" on page 168.
find(stringToFind, in_Region) Finds the string stringToFind in a rectangular region defined by in_Region. stringToFind String to find. in_Region The in_Region region can be created prior to the call to find() with the region.createRegion() method. It depends on the type of data source how a region is defined; see "Example" on page 339.
A region object. What type of object this is depends on the type of source data, however in any case the region object can be created with a call to region.createRegion(); see "Example" on page 339. Example This script retrieves all text from the Email_Address field in a CSV or database file. boundaries.get(region.createRegion("Email_Address")); getVariable() Method that retrieves the value currently stored in a variable.
A positive value of n indicates that the record boundary occurs +n delimiters after the current delimiter. Note Specifying a positive value not only sets the DataMapper record boundary but it also advances the current delimiter to the specified delimiter. That's where the processing resumes. This allows you to skip some pages/records when you know they do not need to be examined. Negative (or 0) values simply set the boundary without changing the current location.
} } setVariable() This method sets a variable in the boundaries to the specified value, automatically creating the variable if it doesn't exist yet. Note Boundary variables are carried over from one iteration of the Boundaries script to the next, while native JavaScript variables are not. setVariable(varName, varValue) Sets variable varName to value varValue. varName String name of the variable of which the value is to be set. varValue Object; value to which the variable has to be set.
Property Description Return type filename The path of the input file. Returns the fully qualified file name of the temporary work file being processed. properties Contains properties declared in the preprocessor step (see Preprocessor Step Properties for details). Returns an array of properties defined in the Preprocessor step with the data scope (i.e. statically set at the start of the job). Methods The following table lists the methods of the data object.
Method Description Script type File type on page 335 expression pattern starting from the current position. Multiple Conditions and Action steps PDF extract() Extracts the text value from selected data: a node path, column, or rectangular region, depending on the type of data source. This method always returns a String. extract(left, right, verticalOffset, regionHeight, separator) Extracts a value from a position in a text file.
Tip l l "
" is a very handy string to use as a separator. When the extracted data is inserted in a Designer template, "
" will be interpreted as a line break, because
is a line break in HTML and Designer templates are actually HTML files. Setting the regionHeight to 0 makes it possible to extract a variable number of lines at the end of a record. Examples Example 1: The script command data.
Example 2: The script command data.extract(1,22,9,6,"
"); means that the left position of the extracted information is located at 1, the right position at 22, the offset position is 9 (since the first line number is 10) and the regionHeight is 6 (6 lines are selected). Finally, the "
" string is used for concatenation. extract(xPath) Extracts the text value of the specified node in an XML file. xPath String that can be relative to the current location or absolute from the start of the record.
Example The script command data.extract('./CUSTOMER/FirstName'); means that the extraction is made on the FirstName node under Customer. extract(columnName, rowOffset) Extracts the text value from the specified column and row. columnName String that represents the column name. rowOffset Number that represents the row index (zero-based), relative to the current position. To extract the current row, specify 0 as the rowOffset.
Example The script command data.extract('ID',0); means that the extraction is made on the ID column in the first row. extract(left, right, verticalOffset, lineHeight, separator) Extracts the text value from a rectangular region in a PDF file. All coordinates are expressed in millimeters. left Double that represents the distance from the left edge of the page to the left edge of the rectangular region.
Double that represents the distance from the left edge of the page to the right edge of the rectangular region. verticalOffset Double that represents the distance from the current vertical position. lineHeight Double that represents the total height of the region. separator String inserted between all lines returned from the region. If you don't want anything to be inserted between the lines, specify an empty string (""). Tip "
" is a very handy string to use as a separator.
extractMeta() Method that extracts the value of a metadata field on a certain level in a PDF/VT. This method always return a String. extractMeta(levelName String, propertyName String) levelName String, specifying the PDF/VT's level. Case sensitive. propertyName String, specifying the metadata field. fieldExists() Method of the data object that returns true if a certain metadata field, column or node exists. (See "data" on page 322.
fieldExists(levelName, propertyName) This method returns true if the given metadata field exists at the given level in a PDF file. levelName String that specifies the metadata field. propertyName String that specifies the level. fieldExists(fieldName) This method returns true if the specified column exists in the current record in a CSV file. fieldName String that represents a field name (column) in a CSV file.
Partial matches are not allowed. The entire string must be found between the two constraint parameters. The data.find() function only works on the current page. If the record contains several pages, you must create a loop that will perform a jump from one page to another to do a find() on each page. Note Calling this method does not move the current position to the location where the string was found.
Left=26,76, Top=149.77, Right=40,700001, Bottom=154.840302 These values represent the size of the rectangle that encloses the string in full, in millimeters relative to the upper left corner of the current page. findRegExp() Finds the first occurrence of a string that matches the given regular expression pattern, starting from the current position.
matching can be enabled by specifying the UNICODE_CASE flag (u) in conjunction with this flag. s: Enables dotall mode. In dotall mode, the expression . matches any character, including a line terminator. By default this expression does not match line terminators. L: Enables literal parsing of the pattern. When this flag is specified, then the input string that specifies the pattern is treated as a sequence of literal characters.
Examples data.findRegExp(/\d{3}-[A-Z]{3}/,"gi",50,100); or data.findRegExp("\\d{3}-[A-Z]{3}","gi",50,100);}} Both expressions would match the following strings: 001-ABC, 678-xYz. Note how in the second version, where the regular expression is specified as a string, some characters have to be escaped with an additional backslash, which is standard in JavaScript. db Object that allows to connect to a database. Methods The following table describes the methods of the db object.
user String that represents the user name for authentication. password String that represents the password for authentication. logger Global object that allows logging messages such as error, warning or informational messages. Methods The following table describes the methods of the logger object.
Property Return Type index The one-based index of this record, or zero if no data is available. tables The details table that belong to this record. You can access a specific table using a numeric index or the table name. Example See this How-to for an example of how the current record index, and/or the total number of records in the record set, can be displayed in a document: How to get the record index and count. region The region object defines a sub-section of the input data.
Property/method Description Return Type range Read-only object containing the physical coordinates of the region. Physical location of the region: x1 (left), y1 (top), x2 (right), y2 (bottom), expressed in characters for a text file or in millimeters for a PDF file. For a CSV file, it is the name of the column that defines the region. createRegion() Creates a region by setting the physical coordinates of the region object. A region that has the specified coordinates.
Example The following script attempts to match ((n,m)) or ((n)) against any of the strings in the specified region and if it does, a document boundary is set. var myRegion = region.createRegion(170,25,210,35); var regionStrings=boundaries.get(myRegion); if (regionStrings) { for (var i=0;i
Properties sourceRecord.properties.property; Property Return Type properties Returns an array of properties defined in the Preprocessor step with the Record Scope (i.e. dynamically reset with each new record). Example The property, used by the object Source Record, must first be declared in a Preprocessor step: 1. Enter the property Name. 2. Select Each record from the Scope drop-down list. 3. Select a Type for the Property.
steps Returns a steps object encapsulating properties and methods pertaining to the current DataMapper process. This object is available in an Extract, Condition, Repeat or Multiple Conditions step script. Methods and properties The following table lists the methods and properties of the steps object. These are available in Extract, Condition, Repeat, and Action steps, depending on the file type. Method Description File type currentPosition Returns the current position of the pointer in the data.
Method Description File type moveTo() Moves the pointer in the source data file to another position. All moveToNext() Moves the position of the pointer in the source data file to the next line, row or node. The behavior and arguments are different for each emulation type: text, PDF, tabular (CSV), or XML. All totalPages An integer value representing the total number of pages inside the current record. Text, PDF Example if(steps.currentPage > curPage) { steps.moveTo(0, steps.
Number that may be set to: l 0 or steps.MOVELINES l 1 or steps.MOVEDELIMITERS l 2: next line with content verticalPosition Number. What it represents depends on the value specified for scope. With the scope set to 0 or steps.MOVELINES, verticalPosition represents the index of the line to move to from the top of the record. With the scope set to 1 or steps.
verticalOffset Double. What it represents depends on the value specified for scope. With the scope set to 0 or steps.MOVEMEASURE, verticalOffset represents the number of millimeters to move the current position, relative to the top of the record (NOT the top of the current page). With the scope set to 1 or steps.MOVEPAGES, verticalOffsetrepresents the index of the target page, relative to the top of the record.
moveToNext(scope) Moves the current position in a text file or XML file to the next instance of scope. What scope represents depends on the emulation type: text or XML. Text scope Number that may be set to: l l l 0 or steps.MOVELINES: the current position is set to the next line. 1 or steps.MOVEDELIMITERS: the current position is set to the next delimiter (as defined in the Input Data settings). 2 (next line with content): the current position is set to the next line that contains any text.
Double that represents the right edge (in millimeters) of the text to find. moveToNext() Moves the current position in a CSV file to the next row, relative to the current position. Functions copyFile() Function that copies a file to the target file path, replacing it if it already exists. copyFile(source, target) source String that specifies the source file path and name. target String that specifies the target file path and name. Example This script copies the file test.txt from c:\Content into the c:\out
// Open a writer on the temporary file var writer = openTextWriter(tmpFile.getPath()); try{ var line = null; // Current line /* read line by line and readLine will return null at the e the file */ while( (line = reader.readLine()) != null ){ // Edit the line line = line.toUpperCase(); // Write the result in the temporary file writer.write(line); // add a new line writer.newLine(); } } finally{ // Close the writer of the temporary file writer.close(); } } finally{ // Close the reader reader.
Note It is not possible to use the async mode, which can be set via the open() function of the ScriptableHTTPRequest (see https://developer.mozilla.org/enUS/docs/Web/API/XMLHttpRequest/open) in a data mapping configuration. Async-related properties and methods of the ScriptableHTTPRequest object - for example .onreadystatechange, .readyState and .ontimeout - are not supported.
getResponseHeader(String header) Gets the ResponseHeader by name. getResponseHeaders() Returns the full response headers of the last HTTP request. getRequestBody() Gets the HTTP request body (for POST and PUT). setRequestHeader(String requestHeader, String value) Adds an additional HTTP request header. getResponseBody() Returns the full response body of the last HTTP request. setRequestBody(String requestBody) Sets the HTTP request body (for POST and PUT).
deleteFile() Function that is used to delete a file. deleteFile(filename) filename String that specifies the path and file name of the file to be deleted. Examples 1. Deleting a file in a local folder: deleteFile("c:\Content\test.txt"); 2. Deleting the sample data file used in the DataMapper: deleteFile(data.filename); execute() Function that calls an external program and waits for it to end. execute(command) Calls an external program and waits for it to end.
newCharArray(size) Returns a new Char array of the specified number of elements. size Integer that represents the number of elements in the new array. newDoubleArray() Function that returns a new double array. newDoubleArray(size) Returns a new Double array of the specified number of elements. size Integer that represents the number of elements in the new array. newFloatArray() Function that returns a new float array. newFloatArray(size) Returns a new Float array of the specified number of elements.
newLongArray() Function that returns a new long array. newLongArray(size) Returns a new Long array of the specified number of elements. size Integer that represents the number of elements in the new array. newStringArray() Function that returns a new string array. newStringArray(size) Returns a new String array of the specified number of elements. size Integer that represents the number of elements in the new array. openBinaryReader() Function that opens a file as a binary file for reading purposes.
append Boolean parameter that specifies whether the file pointer should initially be positioned at the end of the existing file (append mode) or at the beginning of the file (overwrite mode). openTextReader() Function that opens a file as a text file for reading purposes. The function returns a TextReader object. Please note that the temporary file must be closed at the end. openTextReader(filename,encoding) filename String that represents the name of the file to open.
OpenTextWriter(filename, encoding, append) filename String that represents the name of the file to open. encoding String specifying the encoding to use (UTF-8, ISO-8859-1, etc.).. append Boolean parameter that specifies whether the file pointer should initially be positioned at the end of the existing file (append mode) or at the beginning of the file (overwrite mode).
The Designer The Designer is a WYSIWYG (what you see is what you get) editor that lets you create templates for various output channels: Print, Email and Web. A template may contain designs for multiple output channels: a letter intended for print and an e-mail variant of the same message, for example. Content, like the body of the message or letter, can be shared across these contexts. Templates are personalized using scripts and variable data extracted via the DataMapper.
1. Create a template Create a template, using one of the Template Wizards. See "Creating a template" on the next page. 2. Fill the template Add text, images and other elements to the template and style them. See "Content elements" on page 522 and "Styling and formatting" on page 614. 3. Personalize the content Personalize the content using variable data. See "Personalizing Content" on page 656. 4. Generate output Adjust the settings, test the template and generate output: letters, emails, and/or web pages.
"Content elements" on page 522. Elements make up the biggest part of the content of each design. "Snippets" on page 611. Snippets help share content between contexts, or insert content conditionally. "Styling and formatting" on page 614. Make your Designer templates look pretty and give them the same look and feel with style sheets. "Personalizing Content" on page 656. Personalize your customer communications using variable data. "Writing your own scripts" on page 689.
l "Creating a Web template with a Wizard" on page 438 Tip The quickest way to create a Print template based on a PDF file is to right-click the PDF file in the Windows Explorer and select Enhance with Connect. After creating a template you can add the other contexts (see "Contexts" on page 373), as well as extra sections (see "Sections" on page 374), to the template. It is, however, not possible to use a Template Wizard when adding a context or section to an existing template.
Opening a package file Templates can also be stored in a package file (see "Sharing a template" on page 361). To open a package file, switch the file type to Package files (*.OL-package) in the Open File dialog. When the package contains print presets, you will be asked if you want to import them into the proper repositories. Saving a template A Designer template file has the extension .OL-template.
file. The next time you open the template you will be asked if you want to open the associated data mapping configuration as well. To change which data mapping configuration is linked to the template, open both the template and the data mapping configuration that should be linked to it; then save the template. Auto Save After a template has been saved for the first time, Connect Designer can auto save the template with a regular interval. To configure Auto Save: 1.
The file properties can also be used in scripts; see "template" on page 1094. If you are not familiar with writing scripts, refer to "Writing your own scripts" on page 689. Sharing a template To share a template, you can send the template file itself, or save the template to a package file, optionally together with a Data Mapping Configuration, a Job Creation Preset and an Output Creation Preset. (See "Job Creation Presets" on page 932 and "Output Creation Settings" on page 943 for more details.
DataMapper module, using the standard XML template report as data sample. l Data mapping configurations have the extension .OL-DATAMAPPER. The following zip file contains both the template and data mapping configuration that are used to generate the standard template report: http://help.objectiflune.com/en/archive/reporttemplate.zip.
configuration file in the Browse dialog, and each of them is sent to Workflow (or added to a package file). A Data Mapping Configuration file has the extension .OL-datamapper. 4. Use the drop-down to select a Job Creation Preset to send. Click Browse to select a preset that is not in the default location for presets. A Job Creation Preset file has the extension .OL-jobpreset. 5. Use the drop-down to select an Output Creation Preset.
To create a Web template with a Template Wizard: 1. l l In the Welcome screen that appears after startup, choose Browse Template Wizards. Scroll down until you see the Foundation Web Page Starter Template Wizards. Alternatively, on the File menu, click New, expand the Template folder, and then expand the Foundation Web Page Starter folder. 2. Select a template.
page 742), and pick a color for the following elements: l Primary: links on the page. l Secondary: secondary links on the page. l Text: text on the page contained in paragraphs (
). l Headings: all headings (
through ) including the heading section's subhead. 4. Click Finish to create the template. The Wizard creates: l l l l A Web context with one web page template (also called a section) in it.
Use the Attributes pane at the right to see the current element's ID, class and some other properties. Use the Styles pane next to the Attributes pane to see which styles are applied to the currently selected element. Tip Click the Edges button on the toolbar to make borders of elements visible on the Design tab. The borders will not be visible on the Preview tab. Web Template Wizards Foundation All Web Template Wizards in Connect Designer make use of the Zurb Foundation front-end framework.
Blank web page The Blank Web Page template is a very simple Foundation template that contains a top bar menu and some basic contents to get you started. Capture OnTheGo template wizards With the Designer you can create Capture OnTheGo (COTG) templates. COTG templates are used to generate forms for the Capture OnTheGo mobile application. For more information about this application, see the website: Capture OnTheGo.
user-friendly as possible. See "Designing a COTG Template" on page 470. Creating a COTG template using a Wizard To create a COTG template with a Template Wizard: 1. l l In the Welcome screen that appears after startup and when you click the Home icon at the top right, choose Browse Template Wizards. Scroll down until you see the Capture OnTheGo Starter Template Wizards. Alternatively, on the File menu, click New, expand the Template folder, and then expand the Capture OnTheGo Starter folder. 2.
3. Click Next and make adjustments to the settings. The wizard remembers the settings that were last used for a COTG template. l l l l Create Off-Canvas navigation menu: an Off-Canvas menu is a Foundation component that lets you navigate between level 4 headings (
) in the form. Check this option to add the menu automatically. Submit URL: enter the URL where the form data should be sent. The URL should be a server-side script that can accept COTG Form data.
The action of a Capture OnTheGo form should specify the Workflow HTTP Server Input task that receives and handles the submitted data. The action will look like this: http://127.0.0.1:8080/action (8080 is Workflow's default port number; 'action' should be replaced by the HTTP action of that particular HTTP Server Input task). The method of a Capture OnTheGo form should be POST to ensure that it doesn't hit a data limit when submitting the form.
Use the Styles pane next to the Attributes pane to see which styles are applied to the currently selected element. Tip Click the Edges button on the toolbar to make borders of elements visible on the Design tab. The borders will not be visible on the Preview tab. Resources This page clarifies the difference between Internal, External and Web resources that may be used in a template, and explains how to refer to them in HTML and in scripts.
src="images/signatures/johnsmith.gif">. In scripts, you can refer to them in the same way, for example: results.loadhtml("snippets/en/navbar.html"); See also: "Loading a snippet via a script" on page 706 and "Writing your own scripts" on page 689. Note When referring to images or fonts from a CSS file, you need to remember that the current path is css/, meaning you can't just call images/image.jpg. Use a relative path, for example: #header { background-image: url('../images/image.
Authentication is possible only through URL Parameters (http://www.example.com/data.json?user=username&password=password) or through HTTP Basic Auth (http://username:password@www.example.com/data.json). Resources can also be called from a PlanetPress Workflow instance: l l "Static Resources", as set in the preferences, are accessed using the resource path, by default something like http://servername:8080/_iRes/images/image.jpg.
Outputting and combining contexts All three contexts can be present in any template and they can all be used to output documents; see "Generating Email output" on page 1123, "Generating Print output" on page 1104 and "Generating Web output" on page 1131. They can even be combined in output. If present in the same template, a Print context and a Web context can be attached to an Email context.
Adding a section To add a section to a context, right-click the context (Email, Print or Web) on the Resources pane, and then click New section. The new section has the same settings as the first section in the same context. However, custom style sheets and JavaScript files aren't automatically included in the new section. It is not possible to use a Template Wizard when adding a section to an existing template.
5. When copying a section to another template, add the related source files, such as images, to the other template as well. Deleting a section To delete a section: l On the Resources pane, expand the Contexts folder, expand the folder of the respective context, right-click the name of the section, and then click Delete. Warning No backup files are maintained in the template. The only way to recover a deleted section, is to click Undo on the Edit menu, until the deleted section is restored.
Applying a style sheet to a section In order for a style sheet to be applied to a specific section, it needs to be included in that section. There are two ways to do this. Drag & drop a style sheet 1. Click and hold the mouse button on the style sheet on the Resources pane. 2. Move the mouse cursor within the Resources pane to the section to which the style sheet should be applied. 3. Release the mouse button. Using the Includes dialog 1. On the Resources pane, right-click the section, then click Includes.
l On the Resources pane, expand the Contexts folder, expand the folder of the respective context, and then drag and drop sections to change the order they are in. Alternatively, right-click a section and click Arrange. In the Arrange Sections dialog you can change the order of the sections in the same context by clicking the name of a section and moving it using the Up and Down buttons. Outputting sections Which sections are added to the output, depends on the type of context they are in.
With the Designer you can create one or more Print templates and merge the template with a data set to generate personal letters, invoices, policies, or any other type of letter you can think of. The Print context is the folder in the Designer that can contain one or more Print sections. Print templates (also called Print sections), are part of the Print context. They are meant to be printed directly to a printer or a printer stream/spool file, or to a PDF file (see "Generating Print output" on page 1104).
Headers, footers, tear-offs and repeated elements (Master page) In Print sections, there are often elements that need to be repeated across pages, like headers, footers and logos. In addition, some elements should appear on each first page, or only on pages in between the first and the last page, or only on the last page. Examples are a different header on the first page, and a tear-off slip that should show up on the last page. This is what Master Pages are used for.
Creating a Print template with a Wizard A Print template may consist of various parts, such as a covering letter and a policy. Start with one of the Template Wizards for the first part; other parts can be added later. To create a Print template with a Template Wizard: 1. l In the Welcome screen that appears after startup: l l l Choose Browse Template Wizards and scroll down until you see the Print Template wizards and select the Postcard or Formal Letter wizard.
Print Template Wizards There are three Print Template wizards: one for a formal letter, one for a postcard and one for a Print template based on a PDF that you provide. Postcard The Postcard Wizard lets you choose a page size and two background images, one for the front and one for the back of the postcard. When you click Finish, the Wizard creates: l l l l l A Print context with one section in it, that has duplex printing (printing on both sides) enabled. See "Printing on both sides" on page 387.
l l l l Duplex means double-sided printing. The margins define where your text flow will go. The actual printable space on a page depends on your printer. The bleed is the printable space around a page. It can be used on some printers to ensure that no unprinted edges occur in the final trimmed document. Printers that can’t print a bleed, will misinterpret this setting. Set the bleed to zero to avoid this. The number of sections is the number of parts in the Print context.
initially invisible. The address lines will stick to the bottom of that cell, even when the address has fewer lines. See "Styling and formatting" on page 614 to learn how to style elements. Tip Click the Edges button on the toolbar to make borders of elements visible on the Design tab. The borders will not be visible on the Preview tab.
page is created in the Print section. l l One empty Master Page. Master Pages are used for headers, footers, images and other elements that have to appear on more than one page, and for special elements like tearoffs. See "Master Pages" on page 404. One empty Media. Media, also called Virtual Stationery, can be applied to all pages in the Print section. See "Media" on page 408. Print context The Print context is the folder in the Designer that can contain one or more Print templates.
l l The Print context is created and one Print section is added to it. You can see this on the Resources pane: expand the Contexts folder, and then expand the Print folder. The Print context can contain multiple sections: a covering letter and a policy, for example, or one section that is meant to be attached to an email as a PDF file and another one that is going to be printed out on paper.
Print settings in the Print context and sections The following settings in the Print context and Print sections have an impact on how the Print context is printed. Arranging and selecting sections The Print context can contain one or more Print sections. When generating output from the Print context, each of the Print sections is added to the output document, one after the other in sequence, for each record. The sections are added to the output in the order in which they appear on the Resources pane.
when editing a Print section in the Workspace. 2. Choose a Binding style and, if applicable, the number of holes. For an explanation of all Binding and Hole making options, see "Finishing Options" on page 934. To set the binding style of a Print section, see "Setting the binding style for a Print section" on page 395. Overriding binding styles in a job creation preset A Job Creation Preset can override the binding styles set for the Print sections and for the Print context as a whole.
Although generally the same content elements can be used in all three contexts (see "Content elements" on page 522), the specific characteristics of pages make it possible to use special elements, such as page numbers; see "Page numbers " on page 399. See "Pages" on page 397 for an overview of settings and elements that are specific for pages.
Note: The Media will not be printed, unless this is specifically requested through the printer settings; see "Generating Print output" on page 1104. Copy Fit Copy Fit is a feature to scale text to the available space, the name of a person on a greeting card for example, or the name of a product on a shelf talker. This feature is only available with Box and Div elements in Print sections. For more information about this feature see "Copy Fit" on page 629.
background image" on page 393. Note Via a Control Script, sections can be added to a Print context dynamically; see "Dynamically adding sections (cloning)" on page 721. Tip If you need a Print section to be visible in the output only under certain conditions, consider using the Conditional Print Section script wizard; see "Conditional Print sections" on page 681.
l l On the Resources pane, expand the Print context and drag and drop sections to change the order they are in. Alternatively, on the Resources pane, right-click a section in the Print context and click Arrange. In the Arrange Sections dialog you can change the order of the sections by clicking the name of a section and moving it using the Up and Down buttons. Styling and formatting a Print section The contents of a Print section can be formatted directly, or styled with Cascading Style Sheets (CSS).
following style sheet add up to the styles found in previously read style sheets. When style sheets have a conflicting rule for the same element, class or ID, the last style sheet ‘wins’ and overrides the rule found in the previous style sheet. Using a PDF file as background image In the Print context, a PDF file can be used as a section's background.
host is "localhost", it can be omitted, resulting in file:///, for example: file:///c:/resources/images/image.jpg. l Url lists image files from a specific web address. Select the protocol (http or https), and then enter a web address (for example, http://www.mysite.com/images/image.jpg).
8. Click one of the options next to Rotation to rotate the image. 9. Optionally, if the PDF has more than one page, you can set the range of pages that should be used. Note The number of pages in the Print section is automatically adjusted to the number of pages in the PDF file that are being used as the section's background image. 10. Finally, click OK. Note To set the background of a section in script, you need a Control Script; see "Control Scripts" on page 711 and "Control Script API" on page 1077.
1. Create a Job Creation Preset that overrides the settings of one or more sections: select File > Presets and see "Job Creation Presets" on page 932 for more details. 2. Select that Job Creation Preset in the Print wizard; see "Generating Print output" on page 1104. Enabling double-sided printing (Duplex, Mixplex) To print a Print section on both sides of the paper, that Print section needs to have the Duplex printing option to be enabled. This is an option in the Sheet Configuration dialog.
Pages Unlike emails and web pages, Print sections can contain multiple pages. Pages are naturally limited by their size and margins. If the content of a section doesn't fit on one page, the overflow goes to the next page. This happens automatically, based on the section's page size and margins; see "Page settings: size, margins and bleed" on the facing page.
When it comes to positioning elements on a page, Guides can be useful, as well as Tables. See "How to position elements" on page 631. Page settings: size, margins and bleed On paper, whether it is real or virtual, content is naturally limited by the page size and margins. These, as well as the bleed, are set per Print section, as follows: l On the Resources pane, right-click a section in the Print context and click Properties.
1. Import the promotional image or snippet; see "Images" on page 599 and "Snippets" on page 611. 2. Insert the promotional image or snippet in the content. Note l l Only a top-level element (for example, a paragraph that is not inside a table or div) can function as a whitespace element. Do not place the promotional image or snippet inside an absolute positioned box. Whitespacing only works for elements that are part of the text flow, not for absolute-positioned boxes. 3.
l l l l Content page number: The current page number in the document, counting only pages with contents that are supplied by the Print section. A page that has a Master Page (as set in the Sheet Configuration dialog, see "Applying a Master Page to a page in a Print section" on page 407) but no contents, is not included in the Content page count. Content page count: This is the total number of pages in the current document that have contents, supplied by the Print section.
1. On the Resources pane, right-click a section in the Print context and click Numbering. 2. Uncheck Restart Numbering if you want the page numbers to get consecutive page numbers, instead of restarting the page numbering with this section. Note Even if a section is disabled, so it doesn't produce any output, this setting is still taken into account for the other sections. This means that if Restart Numbering is checked on a disabled section, the page numbering will be restarted on the next section.
In the entire Print context To prevent widows and orphans in the entire Print context: 1. On the menu, select Edit > Stylesheets. 2. Select the Print context. 3. Click New (or, when there are already CSS rules for paragraphs, click the selector p and click Edit). 4. Click Format. 5. After Widows and Orphans, type the minimum number of lines that should be kept together. Alternatively, manually set the set the widows and orphans properties in a style sheet: 1.
requires setting the Connect-specific data-breakable attribute on all of its rows. You can either open the Source tab, or write a script to replace each
with
. Note that the effect will only be visible in Preview mode. To set the number of widows and orphans for a table: 1. Open the Formatting dialog. To do this, you can: l l Select the table using the breadcrumbs or the Outline pane (next to the Resources pane) and then select Format > Table in the menu.
Note You cannot use these properties on an empty
or on absolute-positioned elements. Preventing a page break To prevent a page break inside a certain element, set the page-break-inside property of that element to avoid: l Select the element (see "Selecting an element" on page 526). l On the Format menu, select the respective element to open the Formatting dialog. l In the Breaks group, set the inside property to avoid, to prevent a page break inside the element.
"Adding a Master Page" below. Initially, the original Master Page will be applied to all pages, but different Master Pages can be applied to different pages; see "Applying a Master Page to a page in a Print section" on page 407. Examples There are a few How-tos that demonstrate the use of Master Pages: l Showing a Terms and Conditions on the back of the first page only. l A tear-off section on the first page of an invoice. l Tips and tricks for Media and Master Pages.
element that has an absolute position. It is good practice to position elements on a Master Page by placing them in a Positioned Box (see "Content elements" on page 522). Keep in mind that a Master Page always remains a single page. Its content cannot overflow to a next page. Content that doesn't fit, will not be displayed. Note Editing the Master Page is optional. One Master Page must always exist in a Print template, but if you don't need it, you can leave it empty.
Applying a Master Page to a page in a Print section Every page in a print section has a natural position: it can be the first page, the last page, one of the pages in between (a 'middle page'), or a single page. For each of those positions, you can set a different Master Page and Media (see "Media" on the facing page). It can even have two master pages, if printing is done on both sides (called duplex printing). To apply Master Pages to specific page positions in a Print section: 1.
Media When the output of a Print context is meant to be printed on paper that already has graphical and text elements on it (called stationery, or preprinted sheets), you can add a copy of this media, in the form of a PDF file, to the Media folder. Media can be applied to pages in a Print section, to make them appear as a background to those pages. This ensures that elements added to the Print context will correspond to their correct location on the preprinted media.
Setting Media properties Media have a number of properties that you can set. You can change the Media's page size and margins (as long as it isn't applied to a section), you can specify a PDF file (or any other type of image file) for both the front and the back of the Media, and you can determine how the virtual stationery should be positioned on the page. This is done as follows: 1. On the Resources pane, expand the Contexts folder, expand the Media folder, rightclick the Media and click Properties. 2.
are used internally. Therefor, URLs that rely on one of these parameters cannot be used. 5. With an external image, you can check the option Save with template. If this option is checked, the file will be inserted in the Images folder on the Resources pane at the top left. If it isn't saved with the template, the image remains external.
1. On the Resources pane, expand the Contexts folder, expand the Media folder, and right-click the Media. Click Characteristics. 2. Specify the paper's characteristics: l l l l l l l Media Type: The type of paper, such as Plain, Continuous, Envelope, Labels, Stationery, etc. Weight: The intended weight of the media in grammage (g/m2). Front Coating: The pre-process coating applied to the front surface of the media, such as Glossy, High Gloss, Matte, Satin, etc.
1. On the Resources pane, expand the Print context; right-click the Print section, and click Sheet configuration. 2. Optionally, check Duplex to enable content to be printed on the back of each sheet. Your printer must support duplex for this option to work. If Duplex is enabled, you can also check Tumble to duplex pages as in a calendar, and Facing pages to have the margins of the section switch alternately, so that pages are printed as if in a magazine or book. 3.
Media 1 will have been replaced with the name of the media selected for the chosen sheet position. The field Selector in the Script Wizard contains the name of the section and the sheet position that you have chosen. 4. Change the script so that on a certain condition, another media will be selected for the content. For instance: if(record.fields.GENDER === 'M') { results.attr("content","Media 2"); } This script changes the media to Media 2 for male customers.
If in the Media properties, the Virtual Stationery position is set to Absolute, any offset given by the Top and Left values will be applied after rotation. A Virtual Stationery image located absolutely at the top left (Top: 0, Left: 0) will still appear at the top left of the page after rotating the Media. Printing virtual stationery Media are not printed, unless you want them to. Printing the virtual stationery is one of the settings in a Job Creation Preset.
Only one Email section is created at the start, but you can add as many Email sections as you need; see "Email templates" on page 424. However, when the Designer merges a data set to generate output from the Email context, it can merge only one of the templates with each record; see "Generating Email output" on page 1123. Email templates are personalized just like any other template; see "Variable Data" on page 669.
HTML email challenges Creating HTML email isn't like designing for the Web. That's because email clients aren't like web browsers. Email clients pass HTML email through a preprocessor to remove anything that could be dangerous, introduce privacy concerns or cause the email client to behave unexpectedly. This includes removing javascript, object and embed tags, and unrecognized tags.
Emmet Emmet is a plugin that enables the lightning-fast creation of HTML code though the use of a simple and effective shortcut language. The Emmet functionality is available in the HTML and CSS source editors of Connect Designer. Emmet transforms abbreviations for HTML elements and CSS properties to the respective source code. The expansion of abbreviations is invoked with the Tab key. In the Source tab of the Workspace, you could for example type div.row.
Designer. When generating output from the Email context, the Designer converts all CSS rules that apply to the content of the email to inline style tags, as if local formatting was applied. Using images in email campaigns: tips Host images on a public server In the Designer you can add images as resource to the template document. When used in email messages these images are automatically embedded on sending the email. These embedded images appear instantly when viewing the message in your email client.
Creating an Email template with a Wizard With the Designer you can design Email templates as well as PDF attachments. PDF attachments are designed in the Print context; see "Print context" on page 385. It is strongly recommended to start creating an Email template with a Wizard, because designing HTML email that displays properly on a variety of devices and screen sizes is challenging.
2. Select a template and click Next. If you don't know what template to choose, see below; the characteristics of each kind of template are described further down in this topic. 3. Make adjustments to the initial (or last used) settings. The options for each type of template are listed below. Click Next to go to the next settings page if there is one. 4. Click Finish to create the template. The Wizard creates: l l l An Email context with one section in it.
Note that the contents of the email are arranged in tables. The many tables in an Email template ensure that the email looks good on virtually any email client, device and screen size. As the tables have no borders, they are initially invisible. Tip Click the Edges button on the toolbar to make borders of elements visible on the Design tab. The borders will not be visible on the Preview tab.
Banded emails do. The Banded Email Action Template is a simple call-to-action email with a message, header and a button linking to a website, such as an informational or landing page. The Banded Email Invoice Template is an invoice with an optional Welcome message and Pay Now button. Settings For a Blank email you can not specify any settings in the Wizard. For an Action or Invoice email, the Email Template Wizard lets you choose: l l l l The subject.
When an Email template is created (see "Creating an Email template with a Wizard" on page 419) or when an Email context is added to a template (see "Adding a context" on page 374) the following happens: l l The Email context is created and one Email section is added to it. You can see this on the Resources pane: expand the Contexts folder, and then expand the Email folder. See "Email templates" on the facing page to learn how to fill an Email section.
See "Email attachments" on page 434. Email output settings The following settings in an Email context influence how the Email output is generated. Compressing PDF attachments For PDF attachments, generated from the Print context, you can set the Print Context Image Compression to determine the quality of the files, and with that, the size of the files. To set the Print Context Image Compression: 1.
HTML generated by this context is not optimized for any specific client - rather, it's meant to be compatible with as many clients and as many devices as possible. In Email templates, many content elements can be used; see "Content elements" on page 522. However, special attention must be paid to the way elements are positioned. In Email sections, it is advisable to position elements using Tables and to put text in table cells.
Deleting an Email template To delete an Email section: l On the Resources pane, expand the Contexts folder, expand the Email context, rightclick the name of the section, and then click Delete. Warning No backup files are maintained in the template. The only way to recover a deleted section, is to click Undo on the Edit menu, until the deleted section is restored. After closing and reopening the template it is no longer possible to restore the deleted context this way.
1. Click and hold the mouse button on the style sheet on the Resources pane. 2. Move the mouse cursor within the Resources pane to the section to which the style sheet should be applied. 3. Release the mouse button. Using the Includes dialog 1. On the Resources pane, right-click the section, then click Includes. 2. From the File types dropdown, select Stylesheets. 3. Choose which CSS files should be applied to this section. The available files are listed at the left.
Note The Default section is executed when the template is merged using the Create Email Content task in Workflow (see Workflow Help: Create Email Content). Tip Use a Control Script to dynamically select an Email section for output depending on the value of a data field. Email header settings An email header contains routing information, such as the sender, recipient/s and subject of the message. This topic explains how to make settings for the header of an email that is generated from an Email template.
Using the Email Script Wizard In addition to the drag and drop method, you can use the Email Script Wizard to add data to an email header field. It lets you choose one or more data fields and enter a prefix and/or suffix (per data field). There are two ways to open the Email Script Wizard: l l Via the Email Fields. Open the email section and expand the Email Fields at the top by clicking Email Fields. Click the word before the email field that you want to set.
l l l l l Name: The name of the preset. This will show up in the Send Email dialog. Host: The SMTP server through which the emails are to be sent. This can be a host (mail.domain.com) or an IP address. Port: You can specify a port number. This will be added to the host name, for example: smtp.mandrillapp.com:465. Use authentication: Check this option and fill in the user name if a user name and password are needed to send emails through the host.
You can add as many data fields to the subject as you like. When you do add more than one data field, the existing Subject script will be modified to include all data fields that are added to the subject. The result of the script will be visible in the Subject field in Preview mode: click the Preview tab at the bottom of the workspace. Note By default, the Subject script targets one email section specifically. You can see this when you double-click the script on the Scripts pane.
Note that you can add only one data field to the email field this way. When you drag another data field into the email field the existing script will be replaced.. Email addresses can be added to the Cc and Bcc fields in the same manner, but it is also possible to type an email address directly in the Cc or Bcc field (as long as no script is present for that field). Email addresses in the Bcc ('blind carbon copy') field will not be visible to any other recipient of the email.
option Precedence to template address in the Create Email Content task properties to make sure that the dynamic address gets precedence over the email address specified in the task properties (see Create Email Content task). Reply To address The Reply To address is used by mail clients, when the recipient clicks the Reply To (or Reply All) button. You can type an email address directly in the Reply To field (as long as no script is present for this field).
Note If a template has a Control Script that creates multiple PDF attachments, all the attachments are secured by the same password. Note Via a Control Script it is possible to set a different user password and owner password, see "Control Script: Securing PDF attachments" on page 723, "Control Scripts" on page 711 and "Control Script API" on page 1077.
Attaching files Selecting and adding files as attachments If you want all recipients to get the same attachments with their email, you can add the attachments to the Email section(s). The easiest way is to drag and drop the desired file on the Email section. If the file is an image, you will be presented with the option to import it into the template's Resources folder. Any other file will be added to the list of attachments directly. The Attachments dialog also lets you select files and delete attachments.
file:///C:/Attachments/. l l Data field/s. The selected data field/s will be evaluated. If a data field is empty, the entire row is skipped. Otherwise the prefix, data field value and suffix are added to the path/file name. Suffix. The suffix on the last used row should contain the file extension, including the dot (for example .pdf). For resources inside the template, refer to the folder in the Resources, e.g. 'images/file.extension' , or 'fonts/myfont.otf', etc.
Renaming attachments Print and Web sections that are attached to an email can only be renamed via a Control Script; see "Parts: splitting and renaming email attachments" on page 716. Renaming dynamic attachments Dynamic attachments can be renamed via the script that attaches them to the email. Doubleclick the script to open it and click the Expand button. Dynamic attachment scripts add a element to the
of an Email section.
The Web context is the Web output channel and the folder in the Designer that can contain one or more Web templates. CaptureOnTheGo templates are a special kind of Web templates. They are stored in the Web folder as well. The Web context outputs one HTML web page that contains the HTML text and all the resources necessary to display it. JavaScript files are added to the
in the generated HTML file. They are useful to add special features such as those offered by jQuery and its plugins, or MooTools.
Foundation All Web Template Wizards in Connect Designer make use of the Zurb Foundation front-end framework. A front-end framework is a collection of HTML, CSS, and JavaScript files to build upon. Foundation is a responsive framework: it uses CSS media queries and a mobile-first approach, so that websites built upon Foundation look good and function well on multiple devices including desktop and laptop computers, tablets, and mobile phones.
l l Top bar group: l l l l Description: Enter the description of the page. This is the contents of a HTML tag. Set width to Grid: Check this option to limit the width of the top bar contents to the Foundation Grid, instead of using the full width of the page. Stick to the top of the browser window: Check to lock the top menu bar to the top of the page, even if the page has scroll bars. This means the menu bar will always be visible in the browser.
The Wizard opens the Web section, so that you can fill it with text and other elements; see "Content elements" on page 522, "Web Context" on the facing page and "Web pages" on page 443. Web pages can be personalized just like any other type of template; see "Variable Data" on page 669 and "Personalizing Content" on page 656. Tip Use the Outline pane at the left to see which elements are present in the template and to select an element.
important text and its "call to action" button invites a visitor to click on to more information or an order form. Contact Us The Contact Us template is a contact form that can be used on a website to receive user feedback or requests. It's great to use in conjunction with the Thank You template, which can recap the form information and thank the user for feedback. Thank You The Thank You template displays a thank you message with some text and media links.
l A style sheet, named context_web_styles.css, is added to the template. If a Template Wizard was used to create the template, Foundation style sheets are added as well. Style sheets are located in the folder Stylesheets on the Resources pane. These style sheets are meant to be used for styles that are only applied to elements in the Web context; see "Styling and formatting" on page 614.
The Web context outputs one HTML web page that contains the HTML text and all the resources necessary to display it. JavaScript files are added to the
in the generated HTML file. They are useful to add special features such as those offered by jQuery and its plugins, or MooTools. Style sheets are also added to the and are used just as they would be used in a regular web page. A Web context can contain multiple templates.
If you would like to start with a template that is identical to the one you already have, consider copying it (see "Copying a section" on page 375). To add a blank section to the Web context: l On the Resources pane, expand the Contexts folder, right-click the Web folder, and then click New Web page. Deleting a Web page To delete a Web section: l On the Resources pane, expand the Contexts folder, expand the Web context, rightclick the name of the section, and then click Delete.
Using Variable Data in Form elements Variable data may be used in form elements, such as a drop-down list (a Select element). How to do that, is described in this how-to: Dynamically add options to a dropdown. Passing Variable Data to client-side JavaScript When serving Web pages using Workflow, the HTML is first personalized and then served to the web browser by a Workflow process. At that stage custom JavaScripts do not have access to the information stored in the Data Model.
4. You can also change the order in which the CSS files are read: click one of the included CSS files and use the Up and Down buttons. Note that moving a style sheet up in the list gives it less weight. In case of conflicting rules, style sheets read later will override previous ones. Note Style sheets are applied in the order in which they are included in a section. The styles in each following style sheet add up to the styles found in previously read style sheets.
1. On the Resources pane, right-click a section in the Web context and click Includes. 2. From the File types dropdown, select JavaScripts. 3. Choose which JavaScript files should be included in this section. The list at the left displays the JavaScript files that are present in the template's resources. The list at the right shows the style sheets and or JavaScript files that will be included in the output of the current section (or Web sections, if you have selected the Web context).
tags, see W3Schools - HTML meta tag. Adding information to the
via script When generating Web output, the Designer automatically adds the included resources to the . To add other tags to the , such as a tag to set a default base URL/target for all relative URLs in a document, you need to write a script. If you are not familiar with scripts, see "Writing your own scripts" on page 689 for an explanation of how scripts work. 1.
elements. Adding a Form This procedure describes how to add a Form element to an existing Web context. 1. On the Resources pane, expand the Web context and double-click a Web page to open it. 2. To use the Form Wizard, select the Insert > Form Wizard menu option. The Form Wizard adds a Form to the Web page including the specified fields.
l l multipart/form-data: No characters are encoded. This value is required when you are using forms that have a file upload control. text/plain: Spaces are converted to "+" symbols, but no special characters are encoded. 7. Select a validation method: l l The Browser validation method leaves it up to the browser to validate the user input. When adding fields to the Form (see the next step) you can only make fields required and set the maximum length as an additional requirement for some fields.
l l l After start tag inserts it within the current HTML element, at the beginning, just after the start tag.* Before end tag inserts it within the current HTML element, at the end, just before the end tag.* After element inserts it after the element in which the cursor is currently located. For example if the cursor is within a paragraph, the insertion point will be after the end tag of the paragraph (
).
l l multipart/form-data: No characters are encoded. This value is required when you are using forms that have a file upload control. text/plain: Spaces are converted to "+" symbols, but no special characters are encoded. Changing a Form's validation method In Connect PlanetPress Connect, there are two ways in which a Form's input can be validated: l l The Browser validation method leaves it up to the browser to validate the user input.
Changing a Form's validation in HTML In HTML, the validation method is stored in the data-validation-method attribute of the
Adding elements to a Form To add an element to a Form or Fieldset, click inside the Form or Fieldset, select Insert > Form elements, and choose the respective element on the menu. (When the element isn't available via the menu, see the tip below.) Now you can change the element's settings: 1. Add an ID (required) and, optionally, a class. Note The ID will be copied to the name attribute of the element. The name attribute is what identifies the field to the receiving server-side script.
4. The following options are only available for specific elements: l l l For a Text Area you can specify a number of rows. For a Radio Button, the submit name indicates to which Radio Button Group the Radio Button belongs. For a Button, Checkbox, Hidden Field, and Radio Button you can set the value. The value is associated with the input and will be sent on submitting the Form.
The name attribute of Form elements is sent to the server (together with the input value) after the form has been submitted. When adding an element to a Form or Fieldset, you cannot specify a name; the ID will be copied to the element's name attribute. After adding the element to the Form or Fieldset you can change the name on the Attributes pane. Adding new HTML5 elements HTML5 added several new input element types that can't be found in the Designer menu.
Grouping data using arrays In a Connect solution, when a Web Form or COTG Form is submitted, there is a Workflow process that receives the data and creates a job data file (which is an XML file). Having arrays in the job data file greatly simplifies creating a data mapping configuration and looping over data in Designer scripts. Here's how to group data in the HTML so that they get submitted as arrays.
dent 361 341 dent With the Use enhanced PHP arrays option, the XML looks similar, but in this case, 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 becomes the element's name. All content after the first underscore (preferably an integer) is given as an attribute of the element (e.g. ).
Getting the status of unchecked checkboxes and radio buttons Unchecked checkboxes and radio buttons are not submitted (as per standard HTML behavior), so how to get the state of those checkboxes and radio buttons? A common approach to get the state of unchecked checkboxes and radio buttons is to add a hidden field to the Form with the same name as the checkbox or radio button, for example: Whe
Tip It is possible to open and edit any JavaScript file in the Designer: select File > Open, select All files (*.*) as the file type and then select a JavaScript file. Adding JavaScript files to the resources To add a JavaScript file to the resources: l l Right-click the Javascript folder on the Resources pane, and click New Javascript. Double-click it to open and edit it. Alternatively, drag and drop the JavaScript file from the Windows Explorer to the JavaScript folder on the Resources pane.
3. Enter the URL for the remote resource. This must be a full URL, including the http:// or https:// prefix, domain name, path and filename. 4. Optionally, check defer or asyncto add the async or defer attribute to the element in the
of the segment. Defer postpones the execution of the script until the page has finished parsing. This attribute is required by APIs like Google Maps.
3. From the File types dropdown, select JavaScripts. 4. The available JavaScript files are listed at the left. Use the arrow buttons to move the JavaScript files that should be included to the right-hand list. Using the Up and Down buttons you can change the order of the files, too. 5. Click OK. Using JavaScript in other Contexts Email clients do not support JavaScript. Therefore, Email contexts cannot include JavaScript resources.
l l Thanks to the mobile app, it may be used offline. The app will submit the Form data when a connection to the internet is available. Just make sure, if the Form uses remotely stored style sheets or JavaScript files, that the option 'Use cached Capture OnTheGo resource' is enabled when adding the resources to the template. This prevents that the app tries to download a file again that has already been downloaded. It may be reusable.
actionname is the HTTP action of the HTTP Server Input task). For information about specifying an action for a Form, see "Adding a Form" on page 590 or "Changing a Form's properties" on page 592. Note For testing purposes, it is possible to use another URL for the Form's action or not to specify an action at all; see "Testing a Capture OnTheGo Template" on page 492. Filling a COTG template Before inserting elements in a COTG Form, have the design ready; see "Designing a COTG Template" on page 470.
Use the Styles pane next to the Attributes pane to see which styles are applied to the currently selected element. Tip Click the Edges button on the toolbar to make borders of elements visible on the Design tab. The borders will not be visible on the Preview tab. Using JavaScript COTG plugin Capture OnTheGo widgets do not function without the COTG plugin: cotg-2.0.0.js.
Sending the template to the Workflow tool After testing the template (see "Testing a Capture OnTheGo Template" on page 492) the template must be sent to the Workflow module. Templates sent to the Workflow module can be used in any process within it. How to send the template and the corresponding Data Mapping Configuration to the Workflow tool is explained in another topic: "Sending files to Workflow" on page 362.
Note When a COTG Form is submitted, by clicking or touching the Submit button, the name and value of form elements are submitted. If a Checkbox or Radio Button is not checked, its name and value are not sent when the form is submitted. Fortunately, there is a workaround for this; see "Using COTG Elements" on page 487. The Form's validation should ensure that the data that the user submits is valid (see "Changing a Form's validation method" on page 593 and "How to make COTG elements required" on page 489).
and Windows 6.0) is formatted so that the signature will automatically be scaled to fit in the containing box in a template. With previous versions of the app the format of returned signatures could vary. Adding Camera data to the template The Camera widget submits a base64-encoded string, which can be put in a data field using the DataMapper. When this data field is dragged into a template, the string will show up in the content, instead of the image.
should be resized as well. If the inline box isn't visible, click the Show Edges button in the toolbar. Designing a COTG Template Designing a Capture OnTheGo template is more than adding elements to a Web form. This topic shares some insights regarding the design process and principles. Design process Ideally, the design process consists of the following steps. 1. Gathering information.
4. Creating the form. Create the form in accordance with web design principles; see "Form design" below. 5. Testing the form. Even if you did proper research and showed a mockup, customers or users will likely come up with new requirements once they've seen the initial live version. Be prepared and plan for this, too. Form design Paper forms and web forms are very different in nature. For example, paper forms have a fixed size: the size of the paper they are printed on.
responsive (see "Using Foundation" on page 477 and http://foundation.zurb.com/learn/about.html). Tip In the Designer, you can test the responsiveness of a form using the Responsive Design button at the top right of the workspace. Some browsers also let you test the responsiveness of a form. In Firefox, for example, select Developer > Responsive Design to view a form in different sizes. Usability Usability defines the ease of use of a form.
Capture OnTheGo form characteristics Reusable forms Capture OnTheGo forms can be single-use or reusable. This doesn't depend on the design (although, of course, this should be reflected in the design). What makes a form reusable is a setting in the Output to Capture OnTheGo plugin in Workflow; see Output to CaptureOnTheGo. In the Capture OnTheGo app a reusable form is called a 'template'. Forms for offline use Capture OnTheGo forms can be used offline.
After creating a COTG template, the other contexts can be added, as well as other sections (see "Adding a context" on page 374 and "Adding a Web page" on page 444). Tip If the COTG Form replaces a paper form, it can be tempting to stick to the original layout. Although that may increase the recognizability, it is better to give priority to the user-friendliness of the form. Keep in mind that the COTG form will be used on a device and don't miss the chance to make it as user-friendly as possible.
l l Kitchen Sink. The Kitchen Sink Template includes a wide range of basic form and COTG form elements demonstrating various possibilities of the software. Time Sheet. The Time Sheet Template is a single page application used to add time entries to a list. This template demonstrates the dynamic addition of lines within a COTG template, as the Add button creates a new time entry. There is no limit to the number of entries in a single page.
"Snippets" on page 611 and "Loading a snippet via a script" on page 706 for information about using Snippets. The Wizard opens the Web section, so that you can fill the Capture OnTheGo form. 6. Make sure to set the action and method of the form: select the form and then enter the action and method on the Attributes pane. The action of a Capture OnTheGo form should specify the Workflow HTTP Server Input task that receives and handles the submitted data. The action will look like this: http://127.0.0.
Tip Use the Outline pane at the left to see which elements are present in the template and to select an element. Use the Attributes pane at the right to see the current element's ID, class and some other properties. Use the Styles pane next to the Attributes pane to see which styles are applied to the currently selected element. Tip Click the Edges button on the toolbar to make borders of elements visible on the Design tab. The borders will not be visible on the Preview tab.
l Use remote Foundation files from a CDN, such as https://cdnjs.com/ (search for Foundation). See "Using JavaScript" on page 460 and "Adding CSS files" on page 618 for further instructions. Once the Foundation files have been added to a template, you can use the Grid, as well as many other Foundation components, in your template. Tip Take a look in the Snippets folder on the Resources pane.
devices will inherit those styles (thanks to the mobile-first approach of Foundation's style sheet). Customize for larger screens as necessary.
Alternatively, If you are familiar with HTML, you can open the Source tab of the Workspace and simply type the HTML to add the Div elements and classes. Tip Use Emmet to create a Grid layout on the source tab really fast. See "Emmet" on page 417. Other Foundation components Foundation comes with many other components to improve and embellish Web forms and pages . A few examples: l l l An Accordion can be used to expand and collapse content that is broken into logical sections, much like tabs.
It is also possible to add COTG Elements dynamically, to set defaults for COTG elements and to react to custom events that occur when a user interacts with a COTG element. For more information see: "Using the COTG plugin: cotg-2.0.0.js" on page 499 and "Dynamically adding COTG widgets" on page 502. Barcode Scanner The Barcode Scanner element adds a button to trigger the device to scan a barcode. A very large variety of barcode types are supported.
l l Library: Opens the device's default library or gallery application to select a single image that is then saved in the form data. The accessible images and navigation depend on the device itself. Clear: Removes any existing image data from the Camera element.
l Scale Image: Check this option to enable image scaling. Then set the maximum width and height of images before they are sent to the server. Note that only the smallest of these is applied and the size ratio is always maintained. Time stamp A time stamp can be added to each picture taken. Right-click the Camera element after adding it to the form, select Camera properties, and then check Add Time Stamp.
locale of the device on which the user is viewing the form. A Date Element displays dates in the ISO 8601 format: YYYY-MM-DD. When the form is submitted, the date data is sent as plain text. A Formatted Date element submits the date in two formats: in the format that depends on the device's regional and language settings and in the ISO format mentioned above (using a hidden field). A Date element sends the date in the ISO format only.
High accuracy By default, devices attempt to retrieve a position using network-based methods. To tell the framework to use more accurate methods, such as satellite positioning, the High Accuracy setting has to be enabled on the Geolocation element. To make this setting, right-click the Geolocation element (or select it on the Outline pane) after adding it to the form, select Geolocation properties and check the High Accuracy option.
Signature The Signature Element adds a signature box to a COTG form. These signatures are filled in via touch input, either with a finger or capacitive pen. Touching the signature box opens up a fullscreen box used to sign (generally more useful in Landscape mode depending on the device); after confirming, the dialog saves the data into the Form. Signature data is transmitted in SVG plain text format.
Using COTG Elements Capture OnTheGo (COTG) elements are Web Form elements that are specially designed to be used in a Capture OnTheGo Form (see "Capture OnTheGo" on page 463). This topic explains how to add these elements to a Capture OnTheGo Form or and how to prepare them so that when the Form is submitted, they provide valid data that can be handled easily. For a description of all COTG elements, see "COTG Elements" on page 582.
l No style omits the label altogether. Note The first two label styles ensure that when the user clicks the label, the input element gets the focus. When you add a Capture OnTheGo (COTG) element to a template that you didn't start with a COTG template wizard, the Designer will automatically add the necessary JavaScript files: the jQuery library and the COTG library: cotg-2.0.0.js. (See: "Using the COTG plugin: cotg-2.0.0.js" on page 499.
All COTG elements have a role attribute. This attribute is not supposed to be edited: without the correct role attribute, the element won't function. As noted, the name attribute is what identifies the element after submitting the form. Tip Use the Outline pane at the left to see which elements are present in the template and to select an element. Use the Attributes pane at the right to see the current element's ID, class and some other properties.
{"timeout":6000}">. Settings in the HTML override the default settings for that element. They are applied to the widget when the Form is created and cannot be changed afterwards. For a complete list of options see the Capture OnTheGo API: "Capture OnTheGo API" on page 510. Settings for a dynamically added element can be made in code; see "Dynamically adding COTG widgets" on page 502.
With the Use PHP arrays option enabled in Workflow, the above HTML results in the following XML: pparker@eu.objectiflune.
dent This option makes it easier to select all elements on the same level in a data mapping configuration, and to convert the XML to a JSON object. You can try out this feature with the COTG Time Sheet template, as explained in this how-to: Using The PHP Array Option. The COTG Fields Table element (see "Fields Table" on page 586) in that template has an Add button to add rows to a table, and groups data following this approach.
Previewing the form On a PC A Capture OnTheGo template can be previewed on a PC in two different ways. Note that Capture OnTheGo form elements will not be functional unless they are sent to a device. l l Within PlanetPress Connect Designer. You can open the Preview tab or the Live tab in the Workspace. This displays the output HTML along with any variable data being added.
1. Go to the Capture OnTheGo Repository Login: https://config-us.captureonthego.com/. 2. Login with your Store ID and Password. 3. Go to the Users page. 4. Add a new user. The user name should be in the form of an email address. Next, make sure that the Capture OnTheGo mobile application is installed and that it is logged on as a known user of the Capture OnTheGo Repository. Now, with your Capture OnTheGo template open in the Connect Designer module, click on the Send COTG Test… button in the toolbar.
validation method" on page 593 and "How to make COTG elements required" on page 489). Get Job Data File on Submit It is possible to test a COTG Form in the Designer and get access to an XML file that contains the submitted data, without having a Workflow configuration to handle the data. This option requires that: l l Workflow has been installed on the local machine, and the Workflow HTTP/Soap Service has been started.
4. Save the XML file to disk. You can view it, create or update a Data Mapping Configuration for it (see "Data mapping configurations" on page 151), and insert the data in a template, using the Data Mapping Configuration (see "Personalizing Content" on page 656). Note Checkboxes and Radio buttons that are unchecked will not be submitted to the job data. This is standard behavior in HTML.
Capture On The Go input dummy data values Input Dummy Value Signat ure Receives SVG signature data and the onscreen presentation of that data. Camer a A dummy foto is added, and a (SVG) annotation if that option is set for the widget. Note that the script doesn't look at the PNG/JPG or resolution options, the only option it considers is the annotation option.
Input Dummy Value widget Locale widget en-US * Note that the formatted date and time can be different from the values that the COTG app provides. In the COTG app the formatted date comes from the COTG API, and the formatted date and time normally depend on the locale/region settings on the mobile device. The ISO date and time should be the same as when using the COTG app.
Get submitted data via Workflow Eventually, when a user submits a Capture OnTheGo Form, the data are received by the Workflow HTTP Server Input task (see Workflow Help: HTTP Server Input) that has the same HTTP action as the one specified in the Form's action (see "COTG Forms" on page 463). The Workflow configuration should then handle the submitted data.
manipulate those elements. You will need to use jQuery to dynamically add widgets to a COTG Form. If you are new to it, spend a few minutes on learning it - it's that easy. For more information, see: https://jquery.com/. and http://learn.jquery.com/. Adding the plugin When you create a template with a COTG Template Wizard (see "Capture OnTheGo template wizards" on page 473), the Designer automatically adds the jQuery library and the COTG library: cotg-2.0.0.js.
Example The following code sets the default timeout and accuracy for Geolocation objects. and the default maximum height and width for Camera widgets. $.fn.cotgGeolocation.defaults.timeout = 6000; // 6 secs $.fn.cotgGeolocation.defaults.enableHighAccuracy = true; $.fn.cotgPhotoWidget.defaults.width = 1024; $.fn.cotgPhotoWidget.defaults.height = 768; $.fn.cotgPhotoWidget.defaults.quality = 60; Reacting to, or triggering, widget events The new COTG plugin introduces custom events for COTG controls.
$('#date1').trigger("show-date-picker.cotg", new Date("2018 01")); }); }); Dynamically adding COTG widgets Capture OnTheGo (COTG) widgets can be added to a Form dynamically, via jQuery. For example: a new Camera element could be added when the user clicks an Add button. This topic explains how to implement this. It is assumed that you have a basic understanding of HTML forms, CSS, JavaScript, and jQuery.
}); }); Creating the widget Now you can start writing the code that constructs, adds and initializes the widget. This code has to be based on jQuery. Constructing the HTML A widget basically is an HTML element with certain attributes and contents. The HTML structure of a widget can be seen on the Source tab after adding the widget to a Form in the Designer. In code, reconstruct the HTML. Make sure to give the new element an ID.
Optionally, while initializing an element, you can make settings for this specific element. These settings get prevalence over the options already specified in the HTML and over the default settings specified in the COTG plugin. The code snippet below initializes a new Camera element (with the ID myCamera) with a number of settings: $('#myCamera').
addCameraWidget(cameraID); }); }); function getCameraIndex(){ return $("input.camera-dyn").length; } function addCameraWidget(cameraID, value) { if(typeof value == 'undefined') { value = ''; } var html = ''; $('#cameras').
Event Description clear.cotg Removes the scanned Barcode data. scan.cotg Opens the scanner. The Barcode Scanner broadcasts the following events. Event Description set.cotg This event is fired after Barcode data has been set to the value of the input. Camera cotgPhotoWidget([options]) options Optional. An array containing the desired settings, e.g. {quality: 50, height: 1024, width: 1024}. For any unspecified options the default settings will be used.
Option Description Type Default height The maximum height in pixels Number 864 width The maximum width in pixels. Number 1152 source Which buttons are enabled: Take now (take), Library (pick), or both (takeandpick). String 'takeandpick' scaleimage Scales the image to fit the maximum width or height. The aspect ration is maintained. Boolean true quality Quality of the saved image, expressed as a range of 0-100, where 100 is full resolution with no loss from file compression.
Option Description Type Default stampFontSize The time stamp's font size: small, medium, or large. String 'medium' Events The Camera listens for the following custom events. Event Description clear.cotg Removes the picture. savestate.cotg Saves the path of the current picture to the local storage of the COTG app. restorestate.cotg Restores the state of the widget when the form is reopened in the COTG app, after the app has restored previously entered values of static input fields.
Events The Date and Formatted Date elements listen for the following custom events. Event Description clear.cotg Removes the date. set.cotg Sets the given date. The date should be given as a Date object, for example: $("#date").trigger("set.cotg", new Date()); // set current date show-datepicker.cotg Opens the Date picker. Optionally, you can provide a date (as a Date object) for the Date picker to be opened with, for example: $('#date1').trigger("show-date-picker.
Event Description set.cotg This event is fired during initialization of the element, after setting its info to the current device. Document ID cotgDocumentId() Initializing a new Document ID puts the current Document ID in the hidden input of the element. Example: $('#myDocID').cotgDocumentId(); Events The Document ID element listens for the following event. Event Description clear.cotg Removes the Document ID. The Document ID element broadcasts the following event. Event Description set.
(){ $(this).closest('tr').cotgDeleteRow(); }); Geolocation cotgGeolocation([options]) options Optional. An array containing the desired settings, e.g. {enableHighAccuracy: true, timeout: 3000}. For any unspecified options the default settings will be used. Call cotgGeolocation([options]) on the new Geolocation element with any settings that you want to be different from the defaults. Example: $('#myGeolocation').
Event Description clear.cotg Removes the Geolocation data. restorestate.cotg Restores the state of the widget when the form is reopened in the COTG app, after the app has restored previously entered values of static input fields. update.cotg Sets the element to the current geolocation. Image & Annotation cotgNoteOnImage() Initializing a new Image & Annotation element prepares it for user interaction. Example: $('#myNoteOnImage').
Event Description savestate.cotg Saves the annotations. The Image & Annotation element broadcasts the following events. Event Description set.cotg Fired after an annotation has been made. Locale cotgLocale() Initializing a new Locale element sets it to the device's locale. Example: $('#myLocale').cotgLocale(); Events The Locale element listens for the following event. Event Description clear.cotg Removes the Locale data. The Locale element broadcasts the following event.
Repository ID cotgRepositoryId() Initializing a new Repository ID puts the current Repository ID in the hidden input of this element. The Repository ID is based on the currently logged on COTG user. Example: $('#myRepID').cotgRepositoryId(); Events The Repository ID element listens for the following custom events. Event Description clear.cotg Removes the Repositiory ID data. The Repository ID element broadcasts the following event. Event Description set.
Field Description draw.cotg Draws the signature on the form (e.g. after a set.cotg or restore-state.cotg event). restorestate.cotg Called when the form is reopened in the COTG app, after the app has restored previously entered values of static input fields. savestate.cotg Saves the signature data to the local storage of the COTG app. set.cotg Sets the given signature. The signature should be given as an SVG string, for example: $(“#signature”).trigger(“set.
Events The Time and Formatted Time elements listen for the following custom events. Event Description set.cotg Stores the given time (specified in a Date object). clear.cotg Removes the set time. show-timepicker.cotg Opens the Time Picker. If no time is provided (specified in a Date object), the current time will be shown. User Account cotgUserAccount() Initializing a new User Account element puts the account of the current user in the hidden input of this element. Example: $('#myUser').
Content elements Once you have created template, it can be filled with all kinds of elements, from text to barcodes and from tables to fields on a web form. All types of elements are listed on this page. There are several ways to insert elements, see "Inserting an element" on page 525. Each element can have an ID and a class, as well as a number of other properties, depending on the element's type.
selector; see "Using the Text Script Wizard" on page 671 and "Styling and formatting" on page 614. l "Hyperlink and mailto link" on page 598 l "Barcode" on page 528 l Web "Forms" on page 590 and Web "Form Elements" on page 594 l l l "Whitespace elements: using optional space at the end of the last page" on page 398 (Print context only) "Page numbers " on page 399 (Print context only) Article, Section, Header, Footer, Nav and Aside are HTML5 semantic elements; see http://www.w3schools.
l In the workspace, toggle to the Source tab. On this tab you can view and edit the content of the template in the form of plain text with HTML tags (note the angle brackets: <>). You may add and edit the text and the HTML tags, classes, ID’s and other attributes. To learn more about HTML, see for example https://developer.mozilla.org/enUS/docs/Web/Guide/HTML/Introduction and http://www.w3schools.com/html/default.asp.
Changing attributes via script Many attributes can be changed via the user interface. Another way to change attributes is by using a script. Any of the Script Wizards can produce a script that changes an attribute of an HTML element. Set the Options in the Script Wizard to Attribute, to output the script's results to the value of a specific attribute. See "Using the Text Script Wizard" on page 671.
* If the current element is located inside another element, use the Elements drop-down to select which element is used for the insertion location. The list displays every element in the breadcrumbs, from the current selection point down to the root of the body. For a list of links to the different types of elements, see "Element types" on page 522.
Deleting an element To delete an element, select it - as described above - and press the Delete key. If the deleted element was targeted by a script, you will be asked if you want to delete the script as well. Scripts are used to personalize templates. To start learning more about scripts, see "Personalizing Content" on page 656 and "Writing your own scripts" on page 689.
Barcode In PlanetPress Connect Designer, you can add a variety of barcodes to your template. The supported Barcode types include 1d barcodes (the striped ones) and 2d barcodes (encoded horizontally and vertically). Adding a Barcode Note When generating Print output, you can add extra barcodes and OMR marks. The reason why you would do this, is that at merge time more information is available about the actual output document. The page count, for example, is not available at design time.
l l l After start tag inserts it within the current HTML element, at the beginning, just after the start tag.* Before end tag inserts it within the current HTML element, at the end, just before the end tag.* After element inserts it after the element in which the cursor is currently located. For example if the cursor is within a paragraph, the insertion point will be after the end tag of the paragraph (
).
Changing a barcode Barcode script The barcode script determines which value is fed to the barcode generator. Double-click the script on the Scripts pane to change which field or fields are added to the barcode value. When you select more than one field, the script puts the values of the selected fields in one string and passes that to the barcode generator. Tip If you don't know which script matches the barcode, click the box that contains the barcode and check the ID of that box on the Attributes pane.
l "Codabar" on page 534 l "MSI" on page 557 l "IMPB" on page 551 l "Postnet" on page 562 l "QR Code" on page 563 l "Data Matrix" on page 542 l "Royal Mail Mailmark" on page 567 l "PDF417" on page 560 l "Aztec Code" on the facing page l "MaxiCode" on page 556 OneCode, KIX Code, Royal Mail, Australia Post OneCode, KIX Code, Royal Mail and Australia Post are some of the types of barcodes that can be added to a template; see "Barcode" on page 528.
Scale Defines if and how the rendered barcode is scaled in relation to the parent element: l None: The barcode is rendered based on the module width. l Fit to box: The barcode is stretched to fit the parent box in both width and height. l Proportionally: The barcode is stretched up to where it fits either the width or height of the parent box, whichever requires the less stretching.
Module size Enter the size of the square modules in pixels Configuration type Use the drop-down to select the format type used when creating the barcode: only full range format, only compact formats, or any format. Preferred configuration Use the drop-down to select the preferred format for the barcode. Note that the barcode generator may choose a different format if the data cannot be represented by the preferred format.
l Proportionally: The barcode is stretched up to where it fits either the width or height of the parent box, whichever requires the less stretching. Color The Color property allows you to choose a different Barcode color (instead of black) and Background color (instead of white), by typing a hexadecimal color value (see for example w3school's color picker). Output format Defines how the barcode is output on the page. There are two possible formats: l l SVG: Vector format.
Start Char and Stop Char Use the drop-down to select the start and stop character for the barcode, which defines the encoding mode. Available characters are A, B, C. Scale Defines if and how the rendered barcode is scaled in relation to the parent element: l None: The barcode is rendered based on the module width. l Fit to box: The barcode is stretched to fit the parent box in both width and height.
Code 11, Code 93, Code 93 extended, Industrial 2 of 5, Interleaved 2 of 5, Matrix 2 of 5 Code 11, Code 93, Code 93 extended, Industrial 2 of 5, Interleaved 2 of 5, and Matrix 2 of 5 are a few of the barcode types that can be added to a template. The barcode can be added either using the Barcode toolbar button or through selecting Insert > Barcode on the menu; see "Adding a Barcode" on page 528. Initially the barcode will have the barcode type's default properties.
Add Checksum When checked, PlanetPress Connect will calculate a Checksum character and add that to the result of the Barcode script. If the value to be encoded is longer than 10 digits, a second check character will be calculated. Human Readable Message When this option is checked, PlanetPress Connect shows a human readable text below or above the barcode, as defined using the Text Position, using the specified font and font size. The font size is given in points (pt).
Barcode properties This topic lists the properties of the barcode types Code 39 and Code 39 extended. For the properties of other barcode types, see "Barcode type and properties" on page 530. Module width Specifies the width of the narrow bars in centimeters. Changing this value to a higher value will make the barcode bigger when Scale is set to None. Inter Character Gap Two adjacent characters are separated by an inter-character gap.
w3school's color picker). Output format Defines how the barcode is output on the page. There are two possible formats: l l SVG: Vector format. This is smaller in size, but not compatible with Email output. PNG: Binary rasterized format. This is slightly larger than SVG but will display properly in Email output.
Scale Defines if and how the rendered barcode is scaled in relation to the parent element: l None: The barcode is rendered based on the module width. l Fit to box: The barcode is stretched to fit the parent box in both width and height. l Proportionally: The barcode is stretched up to where it fits either the width or height of the parent box, whichever requires the less stretching.
The barcode can be added either using the Barcode toolbar button or through selecting Insert > Barcode on the menu; see "Adding a Barcode" on page 528. Initially the barcode will have the barcode type's default properties. To change those properties, such as the scale and color, open the Barcode properties dialog: right-click the barcode (on the Design tab in the Workspace) and select the barcode type on the shortcut menu. Barcode properties This topic lists the properties of the barcode type Code 128.
Add Checksum When checked, PlanetPress Connect will calculate a Checksum character and add that to the result of the Barcode script. If the value to be encoded is longer than 10 digits, a second check character will be calculated. Human Readable Message When this option is checked, PlanetPress Connect shows a human readable text below or above the barcode, as defined using the Text Position, using the specified font and font size. The font size is given in points (pt).
Barcode properties This topic lists the properties of the QR barcode. For the properties of other barcode types, see "Barcode type and properties" on page 530. Hex Input For optimized mailings, German Post requires the supplied data for the Data Matrix barcode to be hexadecimal input. Check this option if your input data is a hexadecimal code. The incoming data will be interpreted as hexadecimal input and decoded to ASCII before passing the string to the Barcode library.
l None: The barcode is rendered based on the module width. l Fit to box: The barcode is stretched to fit the parent box in both width and height. l Proportionally: The barcode is stretched up to where it fits either the width or height of the parent box, whichever requires the less stretching. Color The Color property allows you to choose a different Barcode color (instead of black) and Background color (instead of white), by typing a hexadecimal color value (see for example w3school's color picker).
Module width Specifies the width of the narrow bars in centimeters. Changing this value to a higher value will make the barcode bigger when Scale is set to None. Show guardbars Checking this option adds guardbars to the barcode. Guardbars are bars at the start, in the middle and at the end that help the barcode scanner to scan the barcode correctly. Scale Defines if and how the rendered barcode is scaled in relation to the parent element: l None: The barcode is rendered based on the module width.
Human Readable Message When this option is checked, PlanetPress Connect shows a human readable text below or above the barcode, as defined using the Text Position, using the specified font and font size. The font size is given in points (pt). Color The Color property allows you to choose a different Barcode color (instead of black) and Background color (instead of white), by typing a hexadecimal color value (see for example w3school's color picker).
l l The GS1 Application Identifiers (AI) must be used for all data. In addition, the function code ~1 must be used as field separator for variable length AI elements. Only ASCII characters should be used. Barcode properties This topic lists the properties of the barcode type GS1 DataMatrix. For the properties of other barcode types, see "Barcode type and properties" on page 530. Module width Specifies the width of the narrow bars in centimeters.
Color The Color property allows you to choose a different Barcode color (instead of black) and Background color (instead of white), by typing a hexadecimal color value (see for example w3school's color picker). Output format Defines how the barcode is output on the page. There are two possible formats: l l SVG: Vector format. This is smaller in size, but not compatible with Email output. PNG: Binary rasterized format. This is slightly larger than SVG but will display properly in Email output.
l None: The barcode is rendered based on the module width. l Fit to box: The barcode is stretched to fit the parent box in both width and height. l Proportionally: The barcode is stretched up to where it fits either the width or height of the parent box, whichever requires the less stretching. Add Checksum When checked, PlanetPress Connect will calculate a Checksum character and add that to the result of the Barcode script.
Initially the barcode will have the barcode type's default properties. To change those properties, such as the scale and color, open the Barcode properties dialog: right-click the barcode (on the Design tab in the Workspace) and select the barcode type on the shortcut menu. Barcode properties This topic lists the properties of the barcode types OneCode, KIX Code, Royal Mail and Australia Post. For the properties of other barcode types, see "Barcode type and properties" on page 530.
l l SVG: Vector format. This is smaller in size, but not compatible with Email output. PNG: Binary rasterized format. This is slightly larger than SVG but will display properly in Email output. IMPB IMPB is one of the barcode types that can be added to a template; see "Barcode" on page 528. The barcode can be added either using the Barcode toolbar button or through selecting Insert > Barcode on the menu; see "Adding a Barcode" on page 528.
The barcode can be added either using the Barcode toolbar button or through selecting Insert > Barcode on the menu; see "Adding a Barcode" on page 528. Initially the barcode will have the barcode type's default properties. To change those properties, such as the scale and color, open the Barcode properties dialog: right-click the barcode (on the Design tab in the Workspace) and select the barcode type on the shortcut menu.
character will be calculated. Human Readable Message When this option is checked, PlanetPress Connect shows a human readable text below or above the barcode, as defined using the Text Position, using the specified font and font size. The font size is given in points (pt). Color The Color property allows you to choose a different Barcode color (instead of black) and Background color (instead of white), by typing a hexadecimal color value (see for example w3school's color picker).
l Code 93 extended l Industrial 2 of 5 l Interleaved 2 of 5 l Matrix 2 of 5 For the properties of other barcode types, see "Barcode type and properties" on page 530. Module width Specifies the width of the narrow bars in centimeters. Changing this value to a higher value will make the barcode bigger when Scale is set to None. Scale Defines if and how the rendered barcode is scaled in relation to the parent element: l None: The barcode is rendered based on the module width.
Output format Defines how the barcode is output on the page. There are two possible formats: l l SVG: Vector format. This is smaller in size, but not compatible with Email output. PNG: Binary rasterized format. This is slightly larger than SVG but will display properly in Email output.
Scale Defines if and how the rendered barcode is scaled in relation to the parent element: l None: The barcode is rendered based on the module width. l Fit to box: The barcode is stretched to fit the parent box in both width and height. l Proportionally: The barcode is stretched up to where it fits either the width or height of the parent box, whichever requires the less stretching.
The barcode can be added either using the Barcode toolbar button or through selecting Insert > Barcode on the menu; see "Adding a Barcode" on page 528. Initially the barcode will have the barcode type's default properties. To change those properties, such as the scale and color, open the Barcode properties dialog: right-click the barcode (on the Design tab in the Workspace) and select the barcode type on the shortcut menu. Barcode properties This topic lists the properties of the MaxiCode barcode.
Barcode properties This topic lists the properties of the barcode type MSI. For the properties of other barcode types, see "Barcode type and properties" on page 530. Module width Specifies the width of the narrow bars in centimeters. Changing this value to a higher value will make the barcode bigger when Scale is set to None. Scale Defines if and how the rendered barcode is scaled in relation to the parent element: l None: The barcode is rendered based on the module width.
w3school's color picker). Output format Defines how the barcode is output on the page. There are two possible formats: l l SVG: Vector format. This is smaller in size, but not compatible with Email output. PNG: Binary rasterized format. This is slightly larger than SVG but will display properly in Email output. OneCode, KIX Code, Royal Mail, Australia Post OneCode, KIX Code, Royal Mail and Australia Post are some of the types of barcodes that can be added to a template; see "Barcode" on page 528.
l None: The barcode is rendered based on the module width. l Fit to box: The barcode is stretched to fit the parent box in both width and height. l Proportionally: The barcode is stretched up to where it fits either the width or height of the parent box, whichever requires the less stretching. Color The Color property allows you to choose a different Barcode color (instead of black) and Background color (instead of white), by typing a hexadecimal color value (see for example w3school's color picker).
l l l Binary: allows any byte value to be encoded Text: allows all printable ASCII characters to be encoded (values from 32 to 126 and some additional control characters) Numeric: a more efficient mode for encoding numeric data Error Correction Level Use the drop-down to select the built-in error correction method based on Reed-Solomon algorithms. The error correction level is adjustable between level 0 (just error detection) and level 8 (maximum error correction).
Color The Color property allows you to choose a different Barcode color (instead of black) and Background color (instead of white), by typing a hexadecimal color value (see for example w3school's color picker). Output format Defines how the barcode is output on the page. There are two possible formats: l l SVG: Vector format. This is smaller in size, but not compatible with Email output. PNG: Binary rasterized format. This is slightly larger than SVG but will display properly in Email output.
Scale Defines if and how the rendered barcode is scaled in relation to the parent element: l None: The barcode is rendered based on the module width. l Fit to box: The barcode is stretched to fit the parent box in both width and height. l Proportionally: The barcode is stretched up to where it fits either the width or height of the parent box, whichever requires the less stretching.
Initially the barcode will have the barcode type's default properties. To change those properties, such as the scale and color, open the Barcode properties dialog: right-click the barcode (on the Design tab in the Workspace) and select the barcode type on the shortcut menu. Instead of using the Script wizard (see "Adding a Barcode" on page 528) you could write your own script to get the data for the QR Code; see this how-to: QR Codes in Designer.
Extended Channel Interpretation (ECI) This setting enables data using character sets other than the default set. Select Latin-1, Latin2, Shift JIS or UTF-8, or select None to disable extended channel interpretation. Correction level Part of the robustness of QR codes in the physical environment is their ability to sustain 'damage' and continue to function even when a part of the QR code image is obscured, defaced or removed.
l l SVG: Vector format. This is smaller in size, but not compatible with Email output. PNG: Binary rasterized format. This is slightly larger than SVG but will display properly in Email output. Barcode Data QR Codes can have many different types of data, which determines how the code will be generated. On top of just straightforward data, special data structures are used to trigger actions on the device that reads them. This can include contact cards, phone numbers, URLs, emails, etc.
l Bar width: the width of the bars l Spacing: the distance between the bars Scale Defines if and how the rendered barcode is scaled in relation to the parent element: l None: The barcode is rendered based on the module width. l Fit to box: The barcode is stretched to fit the parent box in both width and height. l Proportionally: The barcode is stretched up to where it fits either the width or height of the parent box, whichever requires the less stretching.
Barcode properties This topic lists the properties of the barcode type Royal Mail Mailmark. For the properties of other barcode types, see "Barcode type and properties" on page 530. Module width The recommendation is to print these barcodes with a module size of 0.5 mm, which equates to 6 dots when printed at 300dpi. The maximum module size for printing is 0.7 mm. Preferred version Use the drop-down to select the size of the barcode, in a number of modules.
UPC-A, UPC-E, EAN-8, EAN-13 UPC-A, UPC-E, EAN-8 and EAN-13 are a few of the barcode types that can be added to a template. The barcode can be added either using the Barcode toolbar button or through selecting Insert > Barcode on the menu; see "Adding a Barcode" on page 528. Initially the barcode will have the barcode type's default properties.
l Type: The supplement type can be 2-digit (originally used to indicate the edition of a magazine or periodical) or 5-digit (used to indicate the suggested retail price for books). In case this option is set to None, and the data includes digits for the 2 or 5 supplement, the supplement data will be skipped and the additional barcode will not be rendered. Note When the chosen supplement type doesn't match the data, the supplement data will be skipped and the additional barcode will not be rendered.
Tip Wrapping elements in a box (or in a semantic HTML element) makes it easier to target them in a script or in a style sheet. Place the cursor in the element or select multiple elements. Then, on the menu, click Insert > Wrap in Box. You can now use the wrapper element as a script's or style's selector; see "Using the Text Script Wizard" on page 671 and "Styling and formatting" on page 614. Tip With the Copy fit feature, text can automatically be scaled to the available space in a Box or Div.
Dynamically changing the position A Positioned Box has the following attributes: l anchor defines the page number (starting by 0) the box is placed on l offset-x defines the horizontal position of the box relative to its container l offset-y defines the vertical position of the box relative to its container. These attributes can be set in a script. The following script dynamically changes the position of a Positioned Box in a Print context by setting the offset-x and offset-y values. results.
Adding an Inline Box To insert an inline box, use the icon on the toolbar. Inline Boxes can be resized using the handles on the sides and corner. They can be styled using the Format > Box menu item, through the CTRL+M keyboard shortcut or through the CSS files; see "Styling and formatting" on page 614 and "Styling templates with CSS files" on page 616. Positioning an Inline Box Initially an Inline Box will float to the left.
Div The Div is the element used to create both Positioned Boxes and Inline Boxes. By default, a Div element reacts pretty much like a paragraph (
) or an inline box set to 'no float' except that it can be resized directly. Just like Positioned Boxes and Inline Boxes, Div elements can be styled using the Format > Box menu item, through the CTRL+M keyboard shortcut or through the CSS files; see "Styling and formatting" on page 614 and "Styling templates with CSS files" on page 616.
All of these changes have brought many new possibilities. They also inevitably lead to a number of backward compatibility issues. Charts made with a version of Connect prior to 2018.1 may not be converted correctly when opened in Connect 2018.1. For a list of known backward compatibility issues see: "Business Graphics: Backward Compatibility Issues" on page 134. Also note that charts based on expanded, custom scripts are never converted.
l l l l l At cursor position inserts it where the cursor is located in the template. Before element inserts it before the HTML element in which the cursor is currently located. For example if the cursor is within a paragraph, the insertion point will be before the
tag.* After start tag inserts it within the current HTML element, at the beginning, just after the start tag.* Before end tag inserts it within the current HTML element, at the end, just before the end tag.
l l A Div element. It has a data-amchart attribute, as you can see when you select the chart and open the Source view in the Workspace. The data-amchart attribute contains settings for how the data is displayed. These settings are made via the chart's properties (see "Enhancing a charts' design" on page 579). A script. The script determines which data are displayed in the chart, with which colors and labels. The script can be edited any time; see "Selecting data in a Business Graphic script" below.
2. For a Bar or Line Chart based on a detail table, you also have to select a Category: one data field (in the detail table) of which the values will appear under the bars or the line; in other words, on the x axis. 3. Next to Values, select data fields with a numerical value. 4. Adjust the label of each of the selected data fields as needed: click on the label and type the new one. In Bar and Line Charts with Data Fields as input data, these labels appear under the xaxis of the chart.
When creating a data mapping configuration (see "Data mapping workflow" on page 164), it is recommended to arrange data in a detail table in such a way that it matches this 'one series per record, one bar/point per data field' approach. Occasionally you may find that data in a detail table does not match this approach, and that it would be a better fit if the chart had one series of bars/points for each selected detail data field instead, and one bar/point for each record.
Start by opening the Chart Properties dialog. Right-click the chart (in the template, or in the Outline pane) and select Chart. Every tab menu in the Chart Properties dialog, except the last one, gives direct access to a number of layout options.
... } Properties of the Legend (listed here: https://docs.amcharts.com/3/javascriptcharts/AmLegend) should go in the legend section in the JSON: ... "legend": { "position": "right" }, For inspiration you could use amCharts' online editor: https://live.amcharts.com/new/. Properties can be copied directly from the Code tab in the live editor to the Source tab of the Chart properties dialog in Connect.
A. Switch to the Design mode. B. Right-click the chart area and select Box... from the contextual menu. C. On the Background tab, set the Color to: l #282828 for the 'dark' theme and the 'chalk' theme l #222222 for the 'black' theme 3. Finally, the 'chalk' theme requires adding a remote stylesheet with this URL: 'https://fonts.googleapis.com/css?family=Covered+By+Your+Grace' to your template. See "Using a remote style sheet" on page 618.
Camera The Camera element adds a group of buttons to capture or select an image. Once the image is selected via the camera or the device's library (aka "gallery"), it is saved within the Form data. When the form is submitted, the image is sent in a base64-encoded string format. To learn how to add Camera data to a template, see "Adding Camera data to the template" on page 469. The Camera element has a number of options, of which most can be set in the Design view. These options are described below.
widths. Annotations are submitted in SVG format by a hidden input added to the Camera element. The name of that input is the ID of the Camera element, followed by "-note-data", for example camera1-note-data. Cropping/editing/deskewing To allow the user to crop, edit and deskew the image after taking or selecting it, select Camera properties, and then check Edit Image and/or Allow Deskew.
How to use the captured or selected image in a template After a user has submitted the form and the data has been extracted, you may want to display the captured or selected image in a Designer template, for example in a letter or on a web page. To do this: 1. Load the data mapping configuration (or at least the data model). 2. Insert a dummy image in the template. 3. Right-click the dummy image and select Dynamic Image. The Text Script Wizard appears. 4.
Document ID The Document ID element retrieves the Document ID of the form currently viewed by the app. You could put the Document ID in a hidden input, so that when the form is submitted, the Document ID is submitted as well. A Document ID can be used on the server side to check (in the Connect database) if the data has already been submitted. Fields Table The Fields Table element adds a table with two rows, a delete button at the end of the first row and an add button at the end of the second row.
Image & Annotation The Image & Annotation element is meant to be used with an image that needs input from the user. When inserting an Image & Annotation element you have to select the image. The user can simply click (or rather, touch) the image to bring up the annotation dialog. Annotations can be made in a Marker (semi-transparent) or Pencil (solid) style, in different colors and with different widths. Annotations are submitted in SVG format by a hidden input.
template. With previous versions of the app, the format of returned signatures could vary. Time and Formatted Time The Time element and the Formatted Time element display the current time on the device when the form is first opened. When the element is touched, a time selector appears so the user can modify this time. The Formatted Time element displays times in a format that depends on the locale of the device on which the user is viewing the form.
Tip If you are looking to add a date that originates from a record set, to a template, see: "Variable Data" on page 669. To insert a date you could use either the drag and drop method or the Text Script Wizard; the latter lets you set the date/time format. Changing the date Once inserted, a date can be modified directly in the template (if it does not update automatically) or through the date script (if it does update automatically). To modify the date in the script: 1.
Forms Web templates can contain Forms. Capture OnTheGo templates always contain a Form. Tip To create a Capture OnTheGo template, preferably use a Template Wizard (see "Capture OnTheGo template wizards" on page 473). The Wizard doesn't just add the form, it also adds the necessary Capture OnTheGo form elements (see ), style sheets and JavaScript files, and extra pre-made elements. Adding a Form This procedure describes how to add a Form element to an existing Web context. 1.
5. Using the the Method drop-down, select whether the form should be sent using the GET or POST method. 6. Using the next drop-down, select the form's Encryption Type (enctype): l l l application/x-www-form-urlencoded: Default. All characters are encoded before they are sent. Spaces are converted to "+" symbols, and special characters are converted to ASCII HEX values. multipart/form-data: No characters are encoded. This value is required when you are using forms that have a file upload control.
11. Use the Location drop-down to select where to insert the element. l l l l l At cursor position inserts it where the cursor is located in the template. Before element inserts it before the HTML element in which the cursor is currently located. For example if the cursor is within a paragraph, the insertion point will be before the
tag.* After start tag inserts it within the current HTML element, at the beginning, just after the start tag.
l An Encryption Type (enctype): l l l application/x-www-form-urlencoded: Default. All characters are encoded before they are sent. Spaces are converted to "+" symbols, and special characters are converted to ASCII HEX values. multipart/form-data: No characters are encoded. This value is required when you are using forms that have a file upload control. text/plain: Spaces are converted to "+" symbols, but no special characters are encoded.
Browser validation you can only make a field required and set a maximum length. Changing a Form's validation in HTML In HTML, the validation method is stored in the data-validation-method attribute of the
Fieldset A fieldset is a group of related elements in a form. The elements don't have to be of the same type. After inserting and selecting the Fieldset (see "Selecting an element" on page 526) you can add elements to it in the same way you add elements to a Form; see "Adding elements to a Form" on page 455. Text The Text element is a simple element with the type text. It accepts any alphanumerical characters, including special characters.
Hidden field A hidden field can contain specific data used by the server-side script. It is not visible to the user. When adding a Hidden Field you can set the value that will be sent on submit. Label A Label element is a text displaying informative text within the form. Labels are non-interactive. Note that this type of label is not tied to an input element. At the same time you add an input element, you can add a label to that element; see "Adding elements to a Form" on page 455.
If a Radio Button is not checked, no information is sent when the form is submitted. Fortunately, there is a workaround to submit the status of the unchecked radio button, see "Using Form elements" on page 454. The submit name of a Radio Button indicates to which Radio Button Group the Radio Button belongs. Select A Select element is a drop-down list with multiple entries from which the user can select only one option.
Hyperlink and mailto link Links can be added to any template but they only work in electronic output (web pages, email and PDF files). They can be a regular hyperlink pointing to a web page or a mailto link that will open the default email client when clicked. HTML element: a When you add elements, such as text, images or a table, to the content of a template, you are actually constructing an HTML file.
Target: use the drop-down or type in the target for the link.When the target is _ blank the link will open in a new browser window or tab. For a mailto link: l l l Email: enter a valid email address that appears by default in the To: field of the email client. Subject: type a default subject that appears in the Subject: field of the email client. Message: type a message that appears by default in the Message field of the email client.
Tip Using images in an Email template? See "Using images in email campaigns: tips" on page 418. Dynamic images Images can be switched dynamically, so that a letter, email or web page can include one image or another, depending on a value in the data set. Read "Dynamic Images" on page 682 to find out how to add such switching images. Background images Several parts of templates, such as sections and media, and elements such as positioned boxes, can have a background image.
HTML tag: img When you add elements, such as text, images or a table, to the content of a template, you are actually constructing an HTML file. It is possible to edit the source of the HTML file directly in the Designer; see "Editing HTML" on page 523. In the section's source file, images are elements. The tag has at least four attributes: src, alt, width and height. src specifies the URL of the image. alt contains the alternate text; see "Setting an alternate text" on page 605.
top of the Workspace. External images can not be added via the drag-and-drop method. Use the Select Image dialog instead (see below). If you add an external image via the Source tab or via a script, and the URL doesn't have a file extension, you have to add the filetype parameter to the URL manually. Specify the file extension as its value, for example: ?filetype=pdf, or &filetype=pdf if it isn't the first parameter. Note that the ampersand character needs to be encoded as &.
host is "localhost", it can be omitted, resulting in file:///, for example: file:///c:/resources/images/image.jpg. l Url lists image files from a specific web address. Select the protocol (http or https), and then enter a web address (for example, http://www.mysite.com/images/image.jpg).
Using one file that contains a collection of images When a template that contains lots of images is merged with a large record set, the many file requests may slow down the process of output generation. The solution is simple: combine the images into a single image file and display the part that holds the image. This reduces the number of file requests and can improve the output speed significantly. For an explanation of how to do this, see "Optimizing a template" on page 1103.
If necessary, it is possible to resize images automatically via a script in a Workflow process, as explained in a how-to: How to resize images via a script. Setting an alternate text Once an image has been inserted in the content of a template, it can have an alternate text. The alternate text will be shown in emails and on web pages at the position of the image while the image is loading and when the image is not found. On web pages, alternate texts are also used for accessibility.
format, not to position text and images. Tables used in web pages to position elements make those pages less accessible to users with disabilities and to viewers using smaller devices. In print, Tables can be used for both purposes. There are two types of Tables: Standard Tables which are static in nature, and Detail Tables which have a variable number of rows depending on a detail table in the record; see "Detail Table" on page 683.
3. Check the option Absolute to give the Table an absolute position, or use the Location drop-down to select where to insert the Table: l l l l l At cursor position inserts it where the cursor is located in the template. Before element inserts it before the HTML element in which the cursor is currently located. For example if the cursor is within a paragraph, the insertion point will be before the
tag.
Alternatively, click in one of the cells and select Insert > Table > Insert thead or Insert tfoot, on the menu. Deleting a header or footer To delete a header or footer, simply right-click the header or footer and select Row > Delete on the shortcut menu. If the deleted element was targeted by a script, you will be asked if you want to delete the script as well. Rows and columns Adding a row or column To add a row or column to an existing Table, click in a cell.
l Click in the Table and drag the handles to resize it. Press the Shift key while dragging to scale the Table proportionally. This option only works in a Print section, with a Table that has an absolute position and for which resizing is allowed. l l If the position of the Table isn't absolute, right-click the Table and on the shortcut menu, select Convert to absolute.
Adding text To add text, simply type in the workspace in the middle. l Press Enter to insert a new paragraph. l Press Shift+Enter to insert a line break. Alternatively, copy-paste text into a template, or use the Insert Lorem Ipsum toolbar button to insert dummy text. Text that precedes or follows the value of a data field can be added by the Text Script Wizard; see "Using the Text Script Wizard" on page 671. Note: it is not possible to open a Word file in the Designer.
HTML element: p, h, li and others When adding elements, such as text, images or a table, to the content of a template, you are actually constructing an HTML file; see "Editing HTML" on page 523. In HTML text can be contained in many different elements: paragraphs, span elements, line items and table cells, for example. The HTML tag of a paragraph is
. The paragraph should be followed by a closing tag:
. A line break looks like this in HTML:
.
Adding a snippet to the Resources Before adding a snippet: l l Import the resource files that are related to the snippet, such as image files and CSS files, into the template file. Drag and drop the files to the corresponding folders (Images and Stylesheets, respectively) on the Resources pane. If you want to use external images, see "Images" on page 599.
Adding a snippet to a section Drag-and-drop To add the snippet to the content of a section, drag the snippet from the Snippets folder on the Resources pane to the desired location in a section. Check the option Insert as shared content to insert a reference to the original snippet in the template, rather than a copy of the original snippet. When a snippet is being used as shared content, the contents of the snippet itself are not added to the page.
3. Right-click the new snippet on the Resources pane in the Snippets folder and rename it. JSON Snippets JSON Snippets are snippets that contain pieces of JSON data instead of HTML. Just like HTML snippets, JSON snippets are stored in the Snippets folder on the Resources pane, but their file name should end in '.json'. JSON Snippets cannot be inserted into the content directly, but they can be accessed via a script using the function loadjson(): var json_data = loadjson("snippets/snippet.json"); results.
Note that where local formatting conflicts with a formatting rule for the same element in one of the style sheets, the local formatting rule gets priority; the rule in the style sheet will be ignored. It is highly recommended to use style sheets in templates right from the start. Even more so if the communications are going to be output to different output channels, or if they consist of different sections (for example, a covering letter followed by a policy).
Styling templates with CSS files The Layout toolbar and the Format menu offer many possibilities to style every piece of a template. However, styling every single element, one after another, is a lot of work and, more importantly, can result in a template with a messy mix of styles that isn’t easy to maintain and lacks consistent design. Therefore the preferred way to style templates is with CSS files: Cascading Style Sheets. This topic explains how to do that.
On this tab you can view and edit the content of the template in the form of plain text with HTML tags (note the angle brackets: <>). You may add and edit the text and the HTML tags, classes, ID’s and other attributes. To learn more about HTML, see for example https://developer.mozilla.org/enUS/docs/Web/Guide/HTML/Introduction and http://www.w3schools.com/html/default.asp. Many video courses and hands-on courses about HTML (and CSS) are offered on the Internet as well, some for free.
Adding CSS files To add a CSS file of your own, open an Explorer window, drag the file to the Resources pane and drop it on the Stylesheets folder. In case the CSS file has references to specific images, you can drag/drop or copy/paste those images into the Stylesheets folder as well. To create a new CSS file, right-click the Stylesheet folder on the Resources pane and select New Stylesheet. Note The order in which style sheets are executed, can affect the actual output.
3. Enter the URL for the remote resource. This must be a full URL, including the http:// or https:// prefix, domain name, path and filename. 4. Optionally, for a Capture OnTheGo Form, you can check Use cached Capture OnTheGo resource, to prevent downloading a remote style sheet again if it has been downloaded before.
Step 1: edit CSS Editing CSS using a property sheet 1. Select Edit > Stylesheets. 2. Click the downward pointing arrow next to Global and select the context that you want to edit styles for, or select the Global CSS file to edit CSS rules that apply to all contexts. 3. Click New, or click one of the selectors that are already listed and click Edit. 4. Type a CSS selector. This can be: l l A class: .class. Class rules apply to all HTML elements with that class.
Rule dialog, in order to be able to see the template that you are working on.) If all is well, click OK. 7. In the Stylesheets dialog, click the selector that you chose. All CSS rules for that selector will become visible in a box below the list of selectors. Editing plain CSS l l Click the button Advanced in any property sheet to open a CSS property editor. Type CSS properties at the left and values at the right.
Adding a class or ID to an HTML element 1. Select the element (see "Selecting an element" on page 526). 2. On the Attributes pane, type the ID and/or class. Type the ID without the preceding # and class names without a dot. Note Note: Elements can have multiple classes. Separate the class names with a space (eg. “red small”). Alternatively, after selecting an element, you can click the Source tab at the bottom of the workspace. The selected element will be highlighted in the source.
gives it less weight. In case of conflicting rules, style sheets read later will override previous ones. Note Style sheets are applied in the order in which they are included in a section. The styles in each following style sheet add up to the styles found in previously read style sheets. When style sheets have a conflicting rule for the same element, class or ID, the last style sheet ‘wins’ and overrides the rule found in the previous style sheet.
l A rule with the same importance is read after the first rule. Not only is the order of the rules in a CSS file important, but also the order in which the style sheets are read. The style sheets that are included with a section are read in the specified order; see "Applying a style sheet to a section" on page 377. Using a more specific CSS rule By default, many CSS properties of an HTML element also apply to the elements inside that element.
Example Assuming that a table has the CSS property "color: red" (which colors text in the cells red), a more specific rule for cells in that table could be, for example: l l l l A rule for the text color of all table cells (td elements), for example: td { color: green; }. A rule for the text color of table cells with a certain class, for example .green { color: green; }. A rule for the text color of a table cell with a certain ID, for example: #greentext { color: green; }.
Formatting text and paragraphs locally An intuitive way of formatting text locally is by using the toolbar buttons: select some text, or an element that contains text (see: "Selecting an element" on page 526) and click one of the toolbar buttons to make it bold, center it, create a numbered or bulleted list, etc. To quickly change a paragraph into a Heading, Address or Pre element, select the paragraph (see: "Selecting an element" on page 526) and on the Format menu, select the appropriate element.
l l Whitespace: Specify how the text wraps. See CSS White-Space for details. This is equivalent to the white-space property in CSS. The style of the text. Check any option to apply the selected style to text within the element. This list shows the CSS property and value for each of the options: l Bold: Sets the font-weight to 700. l Italic: Sets the font-style to italic. l Underline: Sets the text-decoration to underline. l Strikethrough: Sets the text-decoration to line-through.
l l l l l l Line-height: Specify the height of each line in the paragraph's text, in a measure or percentage. Note that this is not the spacing between lines, but rather the complete height of the line itself including the text. This is equivalent to the line-height property in CSS. Align: Select how text should be aligned, such as left, center, right or justify. Equivalent to the align property in CSS. First Indent: Specify the indentation of the first line of the paragraph.
Removing local formatting from text Layout buttons and options on the Format menu add inline style tags to the text. Style tags can look like this: ... or like this:
. Inline style tags have priority over styles defined in a CSS file. For example, when a formatting rule in a style sheet colors all paragraphs green, a paragraph with an inline style tag to color it red would still stay red.
2. Click the Content tab. 3. Check the Copy Fit option. 4. Enter the Min font size and/or Max font size using a valid font measurement unit (pt, px, in, cm or mm). Do not put a space between the number and the unit. l l The minimum font size is 1pt. The default minimal font size is 4pt. When the minimum font size is left blank, the font size in Design view becomes the minimum font size. This means that the text can only be made bigger than its initial size. The maximum font size is 1048pt.
How to position elements To position elements in relation to each other in a template, you can wrap those elements in a Table or Box (see "Table" on page 605 and "Boxes" on page 570), and/or use the Spacing property of the elements. The Spacing property can also be used to indent elements or create a hanging paragraph or image; see "Spacing" on page 655. Aligning objects with an absolute position is easy with the Alignment buttons.
Tip Use a negative left margin to create a hanging paragraph or image. Aligning objects In Print sections, objects with an 'absolute position', such as a Positioned Box, have a fixed position in relation to the page (see also: "Using the CSS position property" on the next page). Objects with an absolute position can be aligned easily: 1. Press the Ctrl key and hold it down while clicking on the objects that you want to align. The last selected object is the reference object; this object will not be moved.
Using the CSS position property An element can be positioned independently of the text flow by changing its position property to absolute or to relative (that is, relative to the 'parent', its container). When an element is placed inside another element, such as a Box, changing its position property to absolute positions the element absolutely inside its parent.
This property isn't present in one of the tab menus of the style rule editor, but you can add it and specify a value after clicking the Advanced button in the style rule editor (see "Styling templates with CSS files" on page 616). About the CSS display property The display property is one of the most important CSS properties for controlling layout.
6. Close the Advanced Formatting dialog. 7. Close the Formatting dialog, or click the Apply button to see the effect without closing the dialog. Note It is also possible to rotate elements by creating a style rule in a style sheet; see "Styling templates with CSS files" on page 616. Styling a table Just as other elements, tables can be styled in two ways: l l With local formatting. This means styling the table directly, using the Formatting dialog. Via Cascading Style Sheets (CSS).
Via the Formatting dialog The Formatting dialog allows you to change the font, font size and color (see "Fonts" on page 651), the borders (see "Border" on page 644), the cell padding (the distance between the edge of the cell and its content, see "Spacing" on page 655), and the background color or image of the table and its cells ("Background color and/or image" on page 643).
Note that to make a style rule apply to a specific table, row or cell, you have to add an ID or class to that table, row or cell. Adding an ID or class to a table, row or cell A style sheet contains a bunch of style rules for different elements, that are identified via a CSS selector. This can be the element's HTML tag (without the angle brackets), ID or class. When used as a CSS selector, the HTML tag for a table is table. For a row, it is tr and for a cell, td.
Tip In a Detail Table, data are in the body of the table (selector: tbody) and subtotals are in the footer (selector: tfoot). Selecting a specific row, odd or even rows, or every nth row The pseudo-class :nth-child() lets you select a specific row, all odd or even rows, or every nth row. Between the round brackets in :nth-child() you can fill in a number, odd or even, or a formula: an+b. In the formula, a represents a cycle size (every...
The Designer Scripts API provides several functions to style elements, for example css(), hasClass() and addClass() (see "Designer Script API" on page 1021). Styling based on a value in a detail table Styling rows or cells in a detail table based on a value in the detail table goes a bit different. First set an ID on the detail table as a whole and create a script that uses thatID tbody as the script's selector. If for example the ID is table_1, the selector will be: #table_1 tbody.
it isn't described in this topic, but in general formatting topics; see "Styling and formatting" on page 614. This topic discusses specific image formatting issues. Note that image characteristics like brightness and contrast can not be changed within the Designer. Local formatting vs. style sheets Just as other elements, images can be styled in two ways: l l With local formatting. This means styling the image directly, using the Formatting dialog. Via Cascading Style Sheets (CSS).
l l l l Click the image and drag the handles to resize it. Press the Shift key while dragging, to scale the image proportionally. Select the image (see "Selecting an element" on page 526) and type the desired width and height in the respective fields on the Attributes pane. Select the image and select Format > Image, on the menu. On the Image tab, change the width and height of the image. Set the size of the image in a style sheet (see "Styling templates with CSS files" on page 616).
Alternatively, open the Formatting dialog (see "Applying local formatting to an image" on page 640): select the image; on the menu, select Format > Image and on the Image tab, under Text Wrap, set the Float property. The float property could also be changed via a style sheet.
Background color and/or image In any type of template, boxes, tables and table cells can have a background color and/or a background image. To select a background image or color: 1. Right-click the box and click Box on the shortcut menu. 2. Alternatively, select the box (see "Selecting an element" on page 526; note that a Box is a
element) and on the Format menu click Box. 3. Click the Background tab.
and that their location should be accessible from the machine on which the template's output is produced. External images are updated (retrieved) at the time the output is generated. 4. Select an image from the list. 5. If the image is contained in a PDF file that consists of more than one page, select the desired page. 6. Click OK. 7. Set the size of the image. The options are explained here: http://www.w3schools.com/cssref/css3_pr_background-size.asp. 8. Set the position of the image in the box. 9.
4. Specify the width of the border (side). This is equivalent to the border-width property in CSS. 5. Specify the style of the border (side), such as solid, dashed or dotted. This is equivalent to the border-style property in CSS. 6. Specify the color of the border (side): click the downward pointing arrow next to Color to select a color from the list of predefined colors (see "Defining colors, spot colors and tints" on page 647), or click the colored rectangle to open the Color Picker dialog.
borders. For the rounded corners to show, you must create a CSS rule that sets the table's border-collapse property to separate instead of collapse. 1. Click the Advanced button at the bottom of the Formatting dialog. 2. Under Property, type border-collapse. 3. Under Value, type separate. 4. Add a padding to keep the table cells from sticking out of the rounded corners: under Property type padding and under Value type a measure for the padding. 5. Click OK, and click OK again to close the Formatting dialog.
paragraph and type the ID, for example rounded, on the Attributes pane). Then add the ID to the selector of the CSS rule, for example p#rounded { border-radius: 5px; }. To make the CSS rule apply to a set of paragraphs with the same class, first give the paragraphs the same class (for example rounded). Then add that class to the selector of the CSS rule, for example p.rounded { border-radius: 5px; }. Colors Colors make an important contribution to the look and feel of your templates.
Tip Working with style sheets? Choose a name that informs about the purpose of the color, rather than a name that describes the color. This way you won't have to change the color's name in the style sheets when you change the color. 4. Click Color. (Tint is used for transparent colors.) 5. Select the color type: CMYK or RGB. The letters CMYK stand for Cyan (a greenish-blue color), Magenta (reddish-purple), Yellow and Key (black). In color printing, these are the usual primary colors.
3. From the Type drop-down, select Tint. 4. In the Edit color dialog, type a name for the color (or let the Designer create a name based on the values that you select). The color’s name can be used in style sheets. This name should not contain spaces or special characters. 5. Select one of the existing colors in the template as t the Source of the color. The tint or opacity will be applied to this color. 6. Check Use opacity if you want to set the Tint slider to use Opacity instead. 7.
elements: h1 { background-color: cmyk(33%, 17%, 0%, 20%); } Coloring text Instead of using a style sheet (see above), you can color text locally: 1. Select text or an HTML element that contains text (see "Selecting an element" on page 526). 2. On the menu, select Format > Color, or click the black triangle on the Text color toolbar button. 3. Select one of the colors in the list, or click Other to set all aspects of the text style, including text color and/or background color.
Color management Color profiles can keep colors consistent across different outputs. To manage color profiles, select Edit > Color settings; for an explanation of the options in the Color settings dialog, see "Color Settings" on page 744. Fonts In templates for personalized customer communications you can use the fonts that are provided with the Designer, as well as imported fonts.
Note The reason for specifying more than one font in a style sheet for web pages and emails is that the font might not be available on the device on which they are viewed. Order the font names by preference. The last one should be the generic font family (either serif or sans-serif). Importing a font To import a font into a template: l Drag the appropriate font files into the Fonts folder on the Resources pane.
When creating an Email template, it's better to import several types of the same font, in order for any client to see the appropriate fonts. In the case of a Print context you do not need to provide alternative fonts, because the output is not displayed using a font from the device on which the output is read. Note Font software may have specific restrictions for copying and redistribution. Please consult the license agreement for each font vendor before using it in a template.
rules whenever using remote fonts in a Web or Email section (see "Applying a font" on page 651). Locale The locale is a setting that can affect date, time and currency output, and other formatting that depends on location and language. This setting is specific to each template, so changing it for one template will not affect other templates.
Model that contains the locale. This field must be a string and contain the exact locale to be used, such as "en" or "fr-CA". It cannot be an alias such as "english" or "french". The locale supports language codes (en, fr, etc), as well as language codes followed by a 2-letter country code (de-DE, zh-CN, fr-CA, fr-FR, etc). The language codes are defined by ISO-639-1. The 2-letter country code as defined by ISO 3166. 3. Click OK to apply the setting. The setting will be saved with the template.
button to manually add CSS properties (at the left) and values (at the right). For more information about CSS, see "Styling and formatting" on page 614. It is also possible to change an element's formatting via a style sheet; see "Styling templates with CSS files" on page 616. 3. Set the value for the padding in measure or percentage. You can do this for each side separately, which is equivalent to the padding-top, padding-bottom, padding-left or padding-right property in CSS.
the text of a web page, letter or email. Scripts in PlanetPress Connect Designer are the basis of Variable Data Printing. The easiest, quickest and most direct way to add customer data to content is via drag and drop; see "Variable Data" on page 669. The drag-and-drop method results in a Text Script. Another way to create a Text Script is to use the Text Script Wizard. Often it is better to use the Text Script Wizard than the drag-and-drop method.
Snippets Snippets are pieces of content that can be re-used within the same template, in all contexts and sections. Snippets can contain any contents that a section can have, such as text, images, variable data, dynamic tables, etc. They are often very useful to personalize content, especially in combination with variable data and scripts. See "Snippets" on page 611 and "Loading a snippet via a script" on page 706.
l a Data Mapping Configuration, see "Loading a Data Mapping Configuration" on the facing page. A Data Model and sample data are part of a Data Mapping Configuration. l a data file, see "Adding data from a data file" on page 661 l a database, see "Adding data from a database" on page 664.
l l Format, transform, conditionally include/exclude and enhance data from the source file. Use Workflow to automate the extraction of data from this kind of data file. Tip If you have no data at hand, download a demo from http://demo.objectiflune.com and open a dummy data file to test with. Loading a Data Mapping Configuration If you have used the DataMapper first, you probably already have an open Data Mapping Configuration.
Data" on page 669). When it contains a JSON string, this value can be read with a script (see "loadjson()" on page 1070). Note When generating output with just a Data Mapping Configuration, the template is merged with the complete sample data file that is part of the Data Mapping Configuration. The output is not limited to the number of records shown in the Data Model pane (which is one of the settings in the DataMapper). Adding data from a data file 1.
CSV file options o Encoding: The Designer can not infer from a CSV file what encoding it is in. The default is right in the large majority of cases, but when it isn't, it can be very difficult to figure out the correct encoding. Ask your source what the encoding of the file is. o Field separator: Choose the character that separates the fields in the file. o Comment delimiter: If there are comment lines in the file, type the character that starts a comment line.
PDF/VT file options After selecting a file, use the drop-down to select what level in the PDF/VT file defines a record in your data. The names of the levels are taken from the PDF/VT file itself. (See "About PDV/VT files" below.) All metadata fields that belong to the chosen level and levels higher up in the tree structure will be listed. The lower the chosen level is in the tree structure, the more records you will get and the more metadata fields will appear in the list.
Adding data from a database 1. Click File, select Add Data and then click From database data source. Browse to the location of the file and select it. The Designer can open databases from the following types of data sources: l MySQL l Microsoft Access Database (.mdb, .accddb) l SQL Server l ODBC DataSource l JDBC l Oracle. 2. Review the options presented. The options available depend on the type of database data source; see below. MySQL 1.
Microsoft Access 1. Enter the appropriate information to connect to the database: l File name: Browse to your Microsoft Access database file (.mdb) l Password: Enter a password if one is required. 2. Click Next and enter the information for the source table. l l l Connection string: Displays the full path to the database. Table: Use the drop-down to select the appropriate table or stored query to retrieve the appropriate data set.
ODBC DataSource 1. Select the ODBC system data source. Note: Only 32-bit data sources are currently shown in this dialog, even if your system is 64-bits. 2. Click Next and enter the information for the source table. l l l Connection string: Displays the full path to the database. Table: Use the drop-down to select the appropriate table or stored query to retrieve the appropriate data set. Encoding: Use the drop-down to select the encoding with which to read the data in the table. 3.
2. Click Next and enter the information for the source table. l l l Connection string: Displays the full path to the database. Table: Use the drop-down to select the appropriate table or stored query to retrieve the appropriate data set. Encoding: Use the drop-down to select the encoding with which to read the data in the table. 3. Click Finish to open the database. Oracle 1. Enter the appropriate information to connect to the database: l Server: Enter the server address for the Oracle database.
Add a counter using the Generate Counter Wizard Generating a counter is useful for numbered tickets or any other template requiring sequential numbers but no variable data. The Generate Counter Wizard creates a record set with a Counter field and in that field, the current counter value for each record. The Counter starts and stops at set values and is incremented by a set value as well. 1. To open the Generate Counter Wizard, select File > Add data > Generate counters. 2.
Variable Data Variable data are data from a database or data file that are used to personalize documents for each customer. Variable data fields can be inserted in the text directly. For example, if a person's last name can be found in your data, the field that holds the last name can be used in the text of a web page, letter or email. Scripts in PlanetPress Connect Designer are the basis of Variable Data Printing.
o A placeholder for the value of the data field shows up in the text. It looks as follows: @FIELDNAME@. o A text script appears in the Scripts pane at the bottom left. A text script replaces placeholders in the content with the value of a data field in the current record. Switch to the Preview tab at the bottom of the workspace to see the script in operation.
used as the background image of a section (see "Using a PDF file as background image" on page 393). Tip Drag the data field directly to the Scripts pane to create a script without adding a placeholder to the template. Note Looking for text in a text is a less optimized operation and may impact output speeds in longer documents. To speed up the output process, put the placeholder(s) in a Box or Span (see "Boxes" on page 570), give that Box or Span an ID and use that ID as the script's selector.
2. Change the name of the script to make clear what it does. Note Scripts can only have the same name when they are not in the same folder. 3. The selector states the text to be found in the template. The results can be replaced by the script. Tip Hover over the name of a script in the Scripts pane to highlight parts of the template that are affected by the script. l Text, for example: @lastname@, or {sender}.
that have the class 'green'. See "Styling and formatting" on page 614 for an explanation about CSS (Cascading Style Sheets). n An HTML element with a specific ID. In the Script Wizard, click Selector and type the ID, including the preceding #, for example: #intro. Note Each ID should be unique. An ID can be used once in each section. n l Etcetera. See http://www.w3schools.com/cssref/css_selectors.asp for more selectors and combinations of selectors. A selector and text.
bold. This is the default setting. l l As text. This inserts the results as-is, meaning HTML tags and elements are displayed as text in the output. In this scenario, "
" shows up in the text and does not insert a line break. As the value of an attribute of an HTML element. The selector of the script should be an HTML element. Which attributes are available depends on the selected HTML element.
Tip l l An example of how to create an address block using the Text Script Wizard is described in a how-to; see How to create an Address Block. To use only part of a data field, or to split the data, you will have to write a script. For an example, see this How-to: How to split a string into elements.
2. Click a data field that contains text, or add such a data field to the script with the Add field button on the right. 3. Under Format you can choose one of the following options: l l l l l l l l l l l Custom Pattern opens a dialog in which you can enter a custom pattern the date (and, optionally, the time). The dialog shows an example of a date formatted according to the given pattern. Do not put the pattern in quotes. For possible patterns see "Date and time patterns" on page 1065.
1. Open the Text Script Wizard: double-click to open an existing script in the Scripts pane or create a new Text Script using the Text Script Wizard; see "Using the Text Script Wizard" on page 671. 2. Click a data field that contains text, or add such a data field to the script with the Add field button on the right. 3. Under Format choose the correct setting: l Uppercase transforms all characters to uppercase. l Lowercase displays transforms all characters to lowercase.
l l l l Currency displays a number as an amount of money, with a thousands separator and rounded to two decimal places, based on the current locale; see "Locale" on page 654. Currency no symbol does the same as Currency, but omits the currency symbol. Leading zero adds a leading zero to a floating value between 0 and 1. This format is only available for fields that contain a float value.
conditional content script can hide or show those pieces. An ID (for example: #conditional-script) is best if you want to show or hide one element only. Use a class selector (for example: .conditional) if the script should show or hide more than one element. See "Using the Text Script Wizard" on page 671 for further explanation on selectors. If you have started the Conditional Script Wizard by right-clicking an element, you don't have to set a selector.
10. To see the result, toggle to the Preview tab at the bottom of the workspace (or select View > Preview View on the menu). Showing or hiding several elements with one conditional script To apply one conditional content script to several elements, you have to use a CSS class or HTML element as the selector of the script. When using a CSS class, apply that class to the elements in question: 1.
Conditional Print sections You can include or exclude entire Print sections from the output, depending on a field’s value. This can be done using the Conditional Print Section Script Wizard, described below. Alternatively you could write a Control Script (see "Control Scripts" on page 711). Including or excluding Print sections using the Conditional Print Section Script wizard 1. Right-click the section and click Make Conditional.
Note More complex conditions can be written in the Script Editor: click Expand and edit the code of the script. See "Control Scripts" on page 711. 8. Click Apply or OK. 9. To see the result, toggle to the Preview tab at the bottom of the workspace (or select View > Preview View on the menu). Take a look at the Resources pane: on each Print section that is affected by a Conditional Print Section script a small decorator appears if it is skipped with the current data record.
The Dynamic Image Script Wizard composes a file name (including the path) based on the value of a data field, a prefix and a suffix: l The prefix shows the path of the image. l The suffix states the file extension of the image. l The file name is the value of the data field(s) in the Field column. The prefix and suffix are derived from the current image. 3. If necessary, enter another Prefix and/or Suffix. 4. Click the first field in the column Field, and then click the downward pointing arrow.
dynamic. In a Print context it will automatically overflow into as many pages as necessary to output all rows and it can display a transport line. Detail Tables are only available when the loaded record set or Data Mapping Configuration contains transactional data in one or more detail tables (see "Loading data" on page 658). Creating a Detail Table To create a Detail Table: 1. Open the Insert Detail Table dialog.
l l l Field name: Type the name to display in the footer when displaying that page's subtotal. Show in footer: Check to display the subtotal in the footer of the table at the bottom of each page and at the end of the table. Show in header (transportline): Check to display the subtotal of the previous page at the top of the table. 5. Click Next and select the styling attributes. Use the drop-down to select the desired table style. Choose No Style if you want to style the table yourself. 6.
make a header row appear at the start of the table and on following pages, make sure that it is not marked as Transport line. l A footer row can appear before each page break (Before page break), if the table gets split over multiple pages, or only at the end of the table (At end of table), or before each page break and at the end (Always). You can fill additional rows as usual. You could for example drag a data field to the new row (see "Variable Data" on page 669) or type in the cells.
The height of the Detail Table is adjusted automatically to the amount of data added to it in Preview mode or when generating output. It is however possible to change the height of the rows: click in the row and type the desired height in the respective field on the Attributes pane. All line item rows will have the same height. Hiding an empty Detail Table The number of rows in a Detail Table is variable, as it depends on a detail table in the data.
select Row > Show; see "Adding a row at the bottom or the top of a Detail Table" on page 685. l l data-breakable: this attribute is added to every copied row (in preview mode or when creating output), in each of them with a unique ID as its value. This is required by the pagination routines of Connect to split the table across pages. data-column-resize, if present, indicates that the columns may be resized (datacolumn-resize="").
Tip In Workflow, you can make use of the system variable %U to create unique strings for pURLs that point to personalized landing pages (in emails, for example, or in a QR code). Creating a personalized URL Creating a personalized URL implies writing a script. See "Writing your own scripts" below. It also requires some planning, because the pURL needs to contain data that is necessary to create the web page.
Script types There are generally two types of scripts in the Designer: Control Scripts and template scripts. Control Scripts don't touch the content of the sections themselves, but they change the way a template is outputted, for example by selecting or omitting sections from the output. For more information about Control Scripts and their use, see "Control Scripts" on page 711. Template scripts can change the contents of sections in a template. This type of script must have a selector.
Creating a new script Writing a template script starts with this procedure: 1. On the Scripts pane at the bottom left, click New. A new script appears in the list. Doubleclick on it to open it. 2. Change the name of the script, so that it reflects what the script does. Note Scripts can only have the same name when they are not in the same folder. 3. Choose which kind of selector you want to use. Running a script starts with searching the template for pieces of content that match the script's selector.
l A selector and text. This is text inside an HTML element (or several HTML elements) with a specific HTML tag, CSS class or ID. In the Script Wizard, click Selector and Text. Tip When output speed matters, choose selector or selector and text. Searching text is a rather lengthy operation, compared to searching for HTML elements and/or CSS selectors. See also: "Testing scripts" on page 697. There is a shorter route to create a script for an element with a specific ID: 1.
variable, are JavaScript keywords. There are countless tutorials available on the Internet to familiarize yourself with the JavaScript syntax. For a simple script all that you need to know can be found on the following web pages: http://www.w3schools.com/js/js_syntax.asp and http://www.w3schools.com/js/js_if_ else.asp. A few examples can be found in a How-to: Combining record based conditions. Tip In the editor window, press Ctrl + Space to see the available features and their descriptions.
var amount = record.fields.AMOUNT; if (amount >= 0) {results.css('color', 'green');} else if (amount < 0) { results.css('color', 'red'); } When this script executes, it stores the value of the AMOUNT field from the current record in a variable and evaluates it. If the value is zero or higher, the color of text in the results the table cells in this case - will be set to green; if the value is below zero, the text color will be set to red.
l Click a script or a folder in the Scripts pane at the bottom. Drag it up or down and drop it. Note Control scripts are always executed first, regardless of where they are in the Scripts pane. They can not be excluded from execution for a specific context or section, using the execution scope of a folder; see "Execution scope" on the facing page. What you can do is disable the script or the containing folder; see "Enable/disable scripts" on the facing page.
Note Control scripts are always executed first, regardless of where they are in the Scripts pane. They can not be excluded from execution for a specific context or section, using the execution scope of a folder; see "Execution scope" below. What you can do is disable the script or the containing folder; see "Enable/disable scripts" below. Execution scope A particular script may be used in one context or section, but not in other contexts or sections.
scripts normally run, whether or not their placeholder or selector is present in your template. It is highly recommended to disable any script that is not relevant to specific sections or contexts. When you disable a folder, all scripts in the folder will be disabled. To enable or disable a script or a folder: l On the Scripts pane, right-click the script or the folder and click Disable (if the script or folder was enabled) or Enable (if the script or folder was disabled).
You can even do this while creating a new script, either with a Script Wizard or in the expanded script editor. Click Apply at the bottom of the script editor to see the effect of the script on the Preview tab of the Designer. Note that scripts that use values of data fields can only be effective when a data file or Data Mapping Configuration is open. See "Loading data" on page 658. Testing for errors One way to see if a script is functional is to take a look at the Scripts pane.
1. On the menu, select Context > Preflight. 2. Select All, or enter a selection of records. You can specify individual records separated by semi-colons (;) or ranges using dashes. For example: 2;4;6-10 would print pages 2, 4, 6, 7, 8, 9 and 10. 3. Click OK. Preflight executes the template without actually producing output. When a data mapping configuration is used, any pre- and postprocessors are run as well. The Preflight window displays any issues once it’s done.
l l Hover the mouse over a value in the column Elapsed to see the time elapsed (in milliseconds) since the start of the session. In the Scripts Profiler, the scripts are by default sorted based on the values in the Elapsed column, from high to low. Hover the mouse over a value the column Delta to see the difference between the time elapsed (in milliseconds) in the previous session and in the current session. The script execution stages are: Query: the time it takes to find the selector in the template.
1. On the menu, select Window > Preferences. 2. Click Scripting. 3. Set a number of iterations (maximum one billion) and click OK. Sorting In the Scripts Profiler, the scripts are by default sorted based on the values in the Elapsed column, from high to low. Click any of the columns to sort the scripts according to the values in that column.
Use an ID as selector Scripts (except Control Scripts) start with a query. The selector in the second column in the Scripts pane is what a script looks for in the template. If you've used the drag-and-drop method (without pressing the Alt or Ctrl key) to insert a data field in a template, the selector is a small text: the name of the data field surrounded by @ signs, @firstname@ for example. Looking for text in a text is a less optimized operation and may impact output speeds in longer documents.
Example The following example loads a snippet into a variable and uses the find() and text() commands of the Designer scripting API. var labelElm = loadhtml('snippets/label.html'); for(var i = 0; i < record.tables.products.length; i++) { var label = labelElm.clone(); label.find('@ProductLabel@').text(record.tables.products [i].ProductDescription); results.after(label); } What's wrong with this code is that it inserts the personalized information within the loop.
For this, you could use toString(): var labelSnippet = loadhtml('snippets/label.html').toString(); Or you could copy the HTML of the QueryResults to a variable: var block = results.html(); Example var labelSnippet = loadhtml('snippets/label.html').toString(); var labelStr = ""; for( var i = 0; i < record.tables.detail.length; i++) { var label = labelSnippet; label = label.replace('#', i); label = label.replace('@product@', record.tables.detail[i].fields ['product']); label = label.replace('@notes@', record.
Replace several placeholders in one script Suppose there are 20 different placeholders in a postcard (for the address, account and customer details, a promo code, the due date, discounts, a link to a personalized landing page etc.). Typically this would require 20 queries. Even after optimizing these scripts by using an ID as selector for those scripts, there are still 20 scripts, 20 queries to run. If there was only one query, one single script to do all the work, the output could be generated much faster.
Other resources There are also many resources online to help learn about JavaScript performance and coding mistakes. See for example: l JavaScript performance l The 10 most common JavaScript mistakes l Tips for writing efficient JavaScript. Note that most resources on the web are about JavaScript in the browser, but the greatest majority of the tips do, indeed, apply to scripts in general, wherever they are used.
In script, use the following code: results.loadhtml(‘snippets/nameofthesnippet.html’, ‘selector’) See "loadhtml()" on page 1067 for more information about this function. Loading a snippet, depending on the value of a data field To load a snippet depending on the value of a data field, you have to add a condition to the script. Example The following script evaluates if the value of the LANGUAGE field in the record is ‘En’. If so, the snippet is added to the content. if (record.fields.
Tip An easy way to group content in a snippet is putting each part in a container and giving that container an ID, for example:
This is text for English customers.
Use the function .children() to load the contents of the container, and not the container itself. For example: results.loadhtml(‘Snippets/myfooter.html’, ‘#EN’).children() This script loads the paragraph of the example (), but not the container itself (
).
If that option is not available, you will have to build the link yourself. Find the server's API and look through it to get the exact endpoint and parameters that you need. With many servers it is required to use an API key in the link; this key generally comes for free after you sign up to their website. The key will be part of the link that is used to make a request to the server. Note Pay attention to the service's Terms of Service.
Retrieving content Depending on the type of content that the remote server returns - HTML or JSON - you can use loadhtml(location) or loadjson(location) (see also: "loadhtml()" on page 1067 and "loadjson()" on page 1070) to retrieve the content. The link that you selected in Step 1 should be passed to the function as a string. For example: loadjson('https://blog.mozilla.
html += ''; results.after(html); See WordPress REST API developer endpoint reference. Tip More examples of how to use an API to load external content are given in these How-to's: l Using the Google Maps API l Using the OpenWeatherMap API Control Scripts When output is generated from a template, Control Scripts run before all other scripts, when a record is merged with a context. They determine how different sections of the context are handled.
with the Print context as attachment - all scripts run once before each context; Control Scripts first. l Control Scripts don't have a selector, like the other scripts do. A selector selects parts of the content of a section and stores them in the results object, so that they can be modified in the script. As Control Scripts don't have a selector, the results object can't be used there. Control Scripts don't touch the content - meaning, the text flow - of the sections.
Control Scripts differ from template scripts in two ways: l l Control Scripts run before all other scripts. When a template consists of several contexts, and these contexts are combined in the output - for example, when an Email is generated with the Print context as attachment - all scripts run once for each context, but Control Scripts always go first. Control Scripts don't touch the content - meaning, the text flow - of the sections. They don't have a selector, like the other scripts do.
Task l See topic Select one print section as PDF attachment if the output is to be emailed, and another print section if the output is to be printed. Field/function of section object at the examples in the following topic: "section" on page 1084. Add sections dynamically "Dynamically adding sections (cloning)" on page 721. clone() Add a header to an email "section" on page 1084, example: "Adding custom ESP handling instructions" on page 1128.
Note that even if a section is not enabled (so it will not be outputted), its restartPageNumber flag is still taken into account for composing the page number sequences. By default, each section has restartPageNumber = false when the first control script runs. Tip If you are looking to create a table of contents, add a template script that uses the pageRef() function. For an example, see "Creating a table of contents" on page 1048.
Disabled section When a section is disabled, it will not be outputted, but its restartPageNumber flag will still be taken into account for composing the page number sequences. So, if the restartPageNumber flags are set as follows: 1. Section A (1 page) restartPageNumber = true 2. Section B (2 pages) restartPageNumber = false 3. Section C (3 pages) restartPageNumber = true, enabled = false 4. Section D (4 pages) restartPageNumber = false In code: if (merge.context.type == ContextType.PRINT) { merge.context.
Defining parts Defining parts is done by setting the part field on a section, for example: merge.template.contexts.PRINT.sections['Section 2'].part = "PDF_Attachment2";. (Also see "section" on page 1084 and "Control Script API" on page 1077.) l l If a part name is given, then that delimits the start of a new part (even if the part name is the same as the previous one). Following sections that don't define a part name, will be added to the previous part.
Note For Web sections, a part always consists of only the given section. Web pages cannot be appended to form a single part. It is however possible to attach multiple Web pages to one email; see the following example. Controlling multiple Email attachments The following script attaches the following sections to an email: l Print section 3 + 4 as attachment with continued page numbers l Print section 6 as separate attachment l Web sections A and B as separate attachments if (channel == Channel.
Control Script: Setting a Print section's background In the Print context, a PDF file can be used as a Print section's background. To learn how to do this without a Control Script, see "Using a PDF file as background image" on page 393. With a Control Script, a Print section's background can be set dynamically. You could for example specify a particular PDF file as a section's background depending on the value of a field in the current record. This topic shows how.
Setting a page range in script When a PDF that serves as a dynamic section background has multiple pages, you can specify a range of pages to be used, in a control script. Put the number of the first page in the range in the section's background.start field and the last page in background.end. This requires you to set the background.allPages option to false, first. This option is true by default and takes precedence, so when it is true, the entire PDF will be used, even if a page range has been set.
Dynamically adding sections (cloning) This topic explains how to clone a section in a Control Script. Print sections can be cloned, so that a document can have a dynamic number of sections, based on data. This is particularly useful when the record set defines one or more PDFs (e.g. insurance policies) per recipient. Via a Control Script, for each PDF a section can be cloned and each clone can be given one of the PDFs as background (see "Control Script: Setting a Print section's background" on page 719).
Targeting elements in a cloned section Clones that have a unique name can be further personalized with the use of CSS style sheets (see "Styling and formatting" on page 614) and personalization scripts (see "Variable Data" on page 669 and "Writing your own scripts" on page 689). The selector to use is: [section="name of the clone"].
printSections["Section 1"].addAfter(clone); } Cloning a section based on data and assigning a background PDF This script clones a section based on data fields. It disables the source section first and then calls the addPolicy function. addPolicy clones the section, renames it and sets a PDF from the resources as its background. It explicitly enables the clone and then adds it to the Print context. var printSections = merge.template.contexts.PRINT.sections; merge.template.contexts.PRINT.sections["Policy"].
Setting passwords in script To set a password on a Print section in a Control Script, the script should first retrieve the Print section/s using merge.template.contexts.PRINT.sections or merge.context.sections (also see the example below). Next, the script can split the attachments, if needed (see "Parts: splitting and renaming email attachments" on page 716), and it can set a password on each section. For example: l merge.template.contexts.PRINT.sections['Section 2'].password = 'secret'; l merge.
Example This scripts splits the Print output into two PDF attachments and sets a password for the second attachment. var printSections; if (channel == Channel.EMAIL) { // only when generating Email output if (merge.context.type == ContextType.PRINT) { printSections = merge.template.contexts.PRINT.sections; printSections['Section 1'].part = 'PDFAttach1'; printSections['Section 2'].part = 'PDFAttach2' printSections['Section 2'].
Scripts are NOT executed again for every page. Post-pagination scripts currently don’t exist in Connect. Selectors in Connect Selectors are patterns used to select one or more HTML elements. They were originally developed to be able to define the layout of web pages without touching their content, through Cascading Style Sheets (CSS).
Connect classes and attributes Connect itself sometimes adds a specific class or attribute to elements in a template. Capture OnTheGo widgets, for example, have a role attribute that allows the COTG library to dictate their behaviour. Connect classes and attributes can be used in selectors, as will be explained and demonstrated below. Connect-specific classes usually are invisible in the Designer.
Sheet position selectors In Print output, pages have a sheet position that depends on the options set in the Sheet Configuration dialog (e.g. the Duplex and Allow Content On options). Connect gives each page - or rather, the "MediaBox" div element on that page - a class depending on their sheet position: l .frontside l .backside (does not apply to simplex documents) l .contentpage l .nocontentpage The MediaBox contains the Master Page objects and section backgrounds.
Print section background selector When you inspect a Print section in a browser, you will see that it has a
element as the first child of the element. Inside this
there are one or more MediaBoxes: elements with the class page_mediabox. Each MediaBox contains the Media, section background and Master Page that apply to one page (see "Media" on page 408, "Master Pages" on page 404 and "Using a PDF file as background image" on page 393).
View selectors In the Designer, sections can be viewed on different tabs: Source, Design, Preview and - if it is a Web section - Live. In each view mode (except Source) a specific CSS class is added to the element. The view-specific classes are: l .DESIGN l .PREVIEW l .OUTPUT .OUTPUT is used when viewing the current section on the Live tab or in an external browser, and when generating output.
Note The pattern image was created on www.patternify.com and is added as a data URI (see Data URIs). Showing hidden Foundation elements In Capture OnTheGo templates based on the Foundation framework the .DESIGN selector can be used to show elements that would otherwise be hidden in the Design view. For example, to expand accordion elements and show validation errors in Design view, you could add the following style rules to your template: .DESIGN .accordion .accordion-navigation > .
Dialogs Dialogs can allow you to perform a command or make settings. They can also ask you a question or provide you with information or progress feedback. Here is a list of all dialogs: Bar Chart Properties dialog The Bar Chart dialog appears when a Bar Chart object is right-clicked and the Chart... option is clicked. It determines how the Bar Chart is displayed in output and in Preview mode (see "Business graphics" on page 574).
l l Color: Type in the color in which to display text. The color value must be a valid hexademical color (HTML Hex Color) or a predefined CSS color (CSS color names). (Equivalent to the color property; see: color.) 3D Group: Creates a 3D effect if both settings in this group are higher than 0. l l Depth: The depth of the 3D part of the plot area. (Equivalent to the depth3D property; see: depth3D.) Angle: The angle of the 3D part of the plot area. (Equivalent to the angle property; see: angle.
l Axis group: l l l l Color: Enter a color for the value axis. The color value must be a valid hexademical color (HTML Hex Color) or a predefined CSS color (CSS color names). (Equivalent to the axisColor property; see: axisColor.) Opacity: Enter the opacity in percentage for the axis. 100 is fully opaque, 0 is transparent. Set opacity to 0 to hide the axis. (Equivalent to the axisAlpha property of the ValueAxis; see: axisAlpha.) Thickness: Enter the thickness of the axis.
l l l Opacity: Enter the opacity percentage of the grid. Default is 15%. 100 is fully opaque, 0 is transparent. (Equivalent to the gridAlpha property; see: gridAlpha.) Thickness: Enter a thickness for the grid lines. Default is 1. (Equivalent to the gridThickness property; see: gridThickness.) Position: Specifies if a grid line is placed on the centre of a cell or on the beginning of a cell. (Equivalent to the gridPosition property; see: gridPosition.
l Auto Wrap: Specifies if axis labels (when horizontal) should be wrapped if they don't fit in the allocated space. (Equivalent to the autoWrap property; see: autoWrap.) Graphs tab Most settings on the Graphs tab correspond to properties of the AmGraph class in the amCharts library; see: AmGraph. l Labels: l l l l l l Text: Text of the data labels. You can use tags like [[value]], [[description]], [[percents]], or[[category]]. (Equivalent to the labelText property; see: labelText.
l Legend Group: Defines how the legends are shown. l l l l l l l Equal label widths: Check so that all labels are of equal width in the Legends box. The Legend's width will accommodate the largest value. (Equivalent to the equalWidths property; see: equalWidths.) Position: Use the drop-down to select where the legend is shown: at the Right, Left, Top or Bottom. (Equivalent to the position property; see: position.
l l l Border Width: Use the drop-down to define the thickness of the border added to the Markers. The default value (0) means the line will be a "hairline" (1 px). In case the Marker type is line, this style will be used for the line thickness. (Equivalent to the markerBorderThickness property; see: markerBorderThickness.) Border Color: Color of the Legend's border. The value must be a valid hexademical color (HTML Hex Color) or a predefined CSS color (CSS color names).
Box tab l General group: l l l l l l l Height: Set the height of the box in measure or percentage. When no unit is entered, the default unit will be added to the value (see "Preferences" on page 768). Equivalent to the CSS height property. Angle: Set the rotation angle of the box in clockwise degrees. Equivalent to the CSS transform:rotate property. Corner radius: Set the radius of rounded border corners in measure or percentage. Equivalent to the CSS border-radius property.
l l Right: Set the horizontal offset between this box and its parent's left position. Equivalent to the CSS right property. Z-index: Set the z-index of the box. The z-index defines in which order elements appear. Equivalent to the CSS z-index property. Background tab For information about backgrounds see "Background color and/or image" on page 643. l General group: l l Color: Specify the color of the box background. The color value must be a valid HTML Color Name, or a valid HTML Hex Color.
l Margin group: Defines margins (spacing outside the element) in measure or percentage: l l All sides: Check to set all margins to use the Top value. Equivalent to the CSS margin property. Top, Left, Bottom, Right: Set the margin for each side. Equivalent to the CSS margin-left, margin-top, margin-right and margin-bottom properties. Border tab For information about borders see "Border" on page 644. l l Same for all sides: Defines the border properties for all sides using the Top properties.
l l Fit to width only: When this option is checked, no line breaks will be added to the text. Child (optional): When specified, the Copy Fit feature will only be applied to the given child element (an element inside the Box or Div). Specify the element by giving its ID, for example: #product, or class, for example: .product - note the dot. Color Picker The Color Picker dialog appears when creating a color in the formatting dialogs of certain elements, for example border colors in boxes and paragraphs.
Colors Properties The Colors Properties defines and sets named colors used in the template; see "Colors" on page 647. Named colors can be used throughout the templates, in all contexts. They are visible in color selector dialogs and useable with their names in style sheets; see "Styling and formatting" on page 614. l l l l Color Type Selector: Click and use the drop-down to display which color types to show in the list: All, RGB, CMYK or Spot colors.
l l l Red/Green/Blue (RGB): Each slider sets the values of 0-255 for the color. Set the value using the sliders or type in the value directly in the input boxes. Color Preview: Box displaying the preview of the color (converted to RGB when relevant). Tint: l l l Source: Select an existing Color in the template. The tint or opacity will be applied to this color. Tint/Opacity: The slider sets the percentage of tint or opacity.
l Options Group: l Rendering intent: Use the drop-down to specify how colors are converted that are out of range of a profile. For example, you may use tricks like reducing the saturation of the entire print so that a color that is out of range still appears a bit more vibrant than ones that are in range. Rendering intents use different methods to trick the eye into believing that the print can reproduce irreproducible colors.
included as well (see File Properties). The report has a standard layout. l Custom: To create a custom PDF report, you need two files: l l Template: A template design with the desired layout and variable data. This .OL-TEMPLATE file has to be made in the Designer. DataMapper: A Data Mapping Configuration that provides the variable data. This .OL-DATAMAPPER file has to be made in the DataMapper module, using the standard XML template report as data sample.
l Options l l l l l Case sensitive: Use a case sensitive search, which differentiates TEXT from text or TexT. Wrap search: Loop back from the end of the template or selection to its beginning, when the Search is at the end of the template or the selection. Whole word: Searches for the source string as a whole word. Incremental: With this option selected, each letter you type in the Find field causes the editor focus to move to the first complete occurrence of the text you are typing.
The following buttons appear to the right of the list of fonts: l New: Click to open the Edit Font dialog to add a new font. l Edit: Click to open the Edit Font dialog to edit the currently selected font. l Remove: Click to delete the currently selected font entry. l Duplicate: Click to create a copy of the currently selected font entry. Edit Font The Edit Font dialog appears when clicking New or Edit from the Fonts Dialog. l l l Name: Enter the name that should be used to refer to the font.
All settings in this dialog are in fact CSS properties. Cascading Style Sheets (CSS) were originally designed for use with web pages: HTML files. Since Designer templates are HTML files, they are styled with CSS. To learn how to use CSS in the Designer, see "Styling and formatting" on page 614 and "Styling templates with CSS files" on page 616. For information about specific properties and their options, see W3Schools CSS Reference.
l l Clear: Use the drop-down or type the value to clear pre-existing alignments. Equivalent to the CSS clear property. Positioning: l l l l l l Position: Use the drop-down or type in the value for the type of positioning for the image. Equivalent to the CSS position property (see "Using the CSS position property" on page 633). Top: Set the vertical offset between this image and its parent's top position. Equivalent to the CSS top property.
Border Tab l l Same for all sides: Defines the border properties for all sides using the Top properties. Equivalent to the CSS border property. Top, Left, Bottom, Right: Each group defines the following properties: l l l Width: Specify the thickness of the border. Equivalent to the CSS borderwidthproperty. Style: Specify the style of the border such as solid, dashed or dotted. Equivalent to the CSS border-style property. Color: Specify the color of the border.
3. Files are included in the order shown. To change this order, click one of the included files and use the Up or Down button. Note The styles in each following style sheet add up to the styles found in previously read style sheets. When style sheets have a conflicting rule for the same element, class or ID, the last style sheet ‘wins’ and overrides the rule found in the previous style sheet. Line Chart Properties dialog The Line Chart dialog appears when a Line Chart is right-clicked and the Chart...
l l Color: Type in the color in which to display text. The color value must be a valid hexademical color (HTML Hex Color) or a predefined CSS color (CSS color names). (Equivalent to the color property; see: color.) 3D Group: Creates a 3D effect if both settings in this group are higher than 0. l l Depth: The depth of the 3D part of the plot area. (Equivalent to the depth3D property; see: depth3D.) Angle: The angle of the 3D part of the plot area. (Equivalent to the angle property; see: angle.
l Axis group: l l l l Color: Enter a color for the value axis. The color value must be a valid hexademical color (HTML Hex Color) or a predefined CSS color (CSS color names). (Equivalent to the axisColor property; see: axisColor.) Opacity: Enter the opacity in percentage for the axis. 100 is fully opaque, 0 is transparent. Set opacity to 0 to hide the axis. (Equivalent to the axisAlpha property of the ValueAxis; see: axisAlpha.) Thickness: Enter the thickness of the axis.
l l l Opacity: Enter the opacity percentage of the grid. Default is 15%. 100 is fully opaque, 0 is transparent. (Equivalent to the gridAlpha property; see: gridAlpha.) Thickness: Enter a thickness for the grid lines. Default is 1. (Equivalent to the gridThickness property; see: gridThickness.) Position: Specifies if a grid line is placed on the centre of a cell or on the beginning of a cell. (Equivalent to the gridPosition property; see: gridPosition.
l Auto Wrap: Specifies if axis labels (when horizontal) should be wrapped if they don't fit in the allocated space. (Equivalent to the autoWrap property; see: autoWrap.) Graphs Settings on the Graphs tab correspond to properties of the AmGraph class in the amCharts library; see: AmGraph. l Line: l Thickness: Sets the thickness of the lines in a Line chart. (Equivalent to the lineThickness property; see: lineThickness.) Tip Set "fillAlphas" = 1 on the Source tab to color the space below the lines.
l l l Vertical Space: Enter a numerical value (in pixels) to define the vertical space between legend items, and also between the legend border and the first and last legend item. (Equivalent to the verticalGap property; see: verticalGap.) Max Columns: Enter a numerical value to define the maximum number of columns in the legend. If the Legend's position is set to "right" or "left", this is automatically set to 1. (Equivalent to the maxColumns property; see: maxColumns.
see: markerBorderAlpha. When specified on the Source tab, the value should be between 0 and 1, e.g. 0.8.) Source tab The JSON on the Source tab reflects the choices made in the other tabs and, more importantly, provides the possibility to add in any amCharts configuration option that is unavailable via the other tab menus. For more information see: "Adding and editing properties manually" on page 580. Locale Settings The Locale dialog box sets the locale used inside the template.
l l Name: The name of the master page, displayed in all drop-downs where the Master Page is shown as well as in the "Resources pane" on page 841. Margins group: l l Header: The space at the top of the Master Page where no content will print, when this Master Page is used in a Section. Footer: The space at the bottom of the Master Page where no content will print, when this Master Page is used in a Section. Media Properties Media can only be used in a Print context.
background for the page. l Position: Use the drop-down to select how the PDF is displayed on the page: l Fit to Media: Select to stretch the PDF to fit the media size. l Centered: Select to center the PDF on the page, vertically and horizontally. l Absolute: Select to place the PDF at a specific location on the page. Use the Top and Left options below to specify the positioning of the PDF. l Top: The distance between the top side of the page and the top side of the PDF.
All settings in this dialog are in fact CSS properties. Cascading Style Sheets (CSS) were originally designed for use with web pages: HTML files. Since Designer templates are HTML files, they are styled with CSS. To learn how to use CSS in the Designer, see "Styling and formatting" on page 614 and "Styling templates with CSS files" on page 616. For information about specific properties and their options, see W3Schools CSS Reference.
l Orphans: Specifies how to handle orphans within the paragraph (lines appearing alone at the end of a page if the paragraph does not fit on the current one). Equivalent to the orphans property. Note For more information on page breaks, widows and orphans, see the W3 Paged Media reference. Spacing tab l Padding group: Defines padding (spacing inside the element) in measure or percentage: l l l All sides: Check to set all padding to use the Top value. Equivalent to the CSS padding property.
PDF Attachments dialog The PDF Attachments dialog defines options for the Email context that are used when generating email output with PDF attachments (see "Generating Email output" on page 1123). To open this dialog, right-click the Email context on the Resources pane and select PDF attachments. Alternatively, select Context > PDF Attachments on the main menu. This option is only available when an Email section is being edited in the Workspace.
l l Color: Type in the color in which to display text. The color value must be a valid hexademical color (HTML Hex Color) or a predefined CSS color (CSS color names). (Equivalent to the color property; see: color.) Slice Colors Group Note Settings made in this group override the settings made in the Chart wizard (see "Selecting data in a Business Graphic script" on page 577). l l l Base Color: Enter a valid HTML hexadecimal color value (HTML Hex Color).
l Pie Group: Defines how the pie chart is displayed in the template. l l l l Radius: Enter the radius of the Pie Chart as a percentage of the shortest length of the containing
object (e.g. 30%) or in pixels. (Equivalent to the radius property; see: radius.) Hole Radius: Enter the radius of the center of the Pie Chart to remove, in pixels or as a percentage. The hole radius removes the center of the chart, creating a doughnut hole pie chart.
l Tick Group: Defines how ticks (line between the Pie chart and its labels) is shown. l l l Color: Enter a valid HTML hexadecimal color value (HTML Hex Color) or a predefined CSS color (CSS color names) for the color of the tick. (Equivalent to the labelTickColor property; see: labelTickColor.) Opacity: Enter a percentage of opacity for the tick to be displayed. The default is 20 (20% opacity). 100 is fully opaque, 0 is transparent. (Equivalent to the labelTickAlpha property; see: labelTickAlpha.
l l l l Horizontal Space: Horizontal space between legend items, in pixels. (Equivalent to the spacing property; see: spacing.) Vertical Space: Enter a numerical value (in pixels) to define the vertical space between legend items, and also between the legend border and the first and last legend item. (Equivalent to the verticalGap property; see: verticalGap.) Max Columns: Enter a numerical value to define the maximum number of columns in the legend.
l Border Opacity: Enter a numerical value between 0 and 100 to define the opacity (in percentage) of the border. (Equivalent to the markerBorderAlpha property; see: markerBorderAlpha. When specified on the Source tab, the value should be between 0 and 1, e.g. 0.8.) Source tab The JSON on the Source tab reflects the choices made in the other tabs and, more importantly, provides the possibility to add in any amCharts configuration option that is unavailable via the other tab menus.
l Apply: This option Applies the settings made within the current Preferences page, but does not close the Preferences dialog. -----------------------------------------------------------------------------------------COTG Servers preferences By allowing one or more Capture OnTheGo servers to be set up, this option anticipates the release of a Capture OnTheGo On Premise Server product. l Name: Enter a unique name. l URL: Enter a valid URL (including the protocol, e.g. http://).
All the files created and the database references to them are stored for a set amount of time in order to allow Connect to reuse them. However, we do not want to store these indefinitely, because the database would run out of space. The solution is to use the "Clean-up Service" to remove the temporary data and files once they are no longer needed. This clean-up service is usually managed by the Server Engine.
Note If the Product managing the service is set to Designer, then the Designer must be running at the time that the cron job is scheduled, for the Clean-up to run. l Product managing the service: Select which of the applications will run the service. Note The Server Engine is set as the default as it is generally considered the best option.
with a lower number of threads. l l Number of entities in each deletion batch: The number of entities to be deleted at a time. This is done to break the clean-up into smaller chunks. This improves PlanetPress Connect clean-up responsiveness, whilst the clean-up is occurring. The number selected here applies to all the following settings. i.e. a selection of 1,000 would delete 1,000 data records within a Data Set, 1,000 content items within a Content Set, and so on.
l l l Minimum time to retain other entities: The minimum time any orphaned data (such as Finishing tables, Media tables, DataModels and Properties tables) are retained within the database before being set for deletion. Database Partition Settings: l Use Database Partitioning: Select to use Database Partitioning.
Note This is not a migration tool. It is a simple connection tool, that enables shifting to a different back-end database. Any existing data will not be transferred/ migrated between the databases, and any existing Filestores will be cleansed by the Clean-up Service after the swap. Note When shifting to a different back-end database, the changes won't be applied until PlanetPress Connect is restarted. Including the Connect services.
l Hostname: Enter the IP Address or alias of the server where database resides. l Port: Enter Port number. The defaults are those which the vendors use by default. l Schema: The individual database schema, within the vendor database. Note If a previously non-existent schema were chosen here, then a new schema of that name will be created within the database when the back-end database swap is applied. The tables within that schema, though, will not be created until Connect is restarted.
l Custom database parameters table: These are extra parameters which are appended to the database connection URL. The default values are those which have been determined to be useful in connecting to specific vendor databases. l Property: These are free field text fields. Note These fields and their associated values get appended to the JDBC connection and therefore must follow all rules regarding acceptable URL addresses for such. l l l l Value: The value applied to the associated Property.
Datamapper preferences Datamapper XML Preferences l Display New Line Character as ¶ : Check to show line returns as ¶ in the Data Viewer, when XML files are shown. If the option is unchecked, you will not see spaces and line returns after element names in the Data Viewer. Datamapper Default Format Settings Datamapper stores user preferences for the Date, Number and Currency formats. By default, the user preferences are set to the system preferences.
l l Object Resizing for
elements: This defines in which contexts to enable the resizing of
elements (including Positioned and Inline boxes). Resizing
elements may cause layouts to produce undesirable results especially when using Foundation templates. l Enable for Print Context: Check to enable
resizing in the Print contexts. l Enable for Web Context: Check to enable
resizing in the Web contexts.
l l l Bleed box: This color delineates the printable area on a page; see "Page settings: size, margins and bleed" on page 398. Master pages: These edges are only visible on Master pages; see "Master Pages" on page 404. l l l Margins: This color delineates the content area on a page; see "Pages" on page 397. Header and Footer Margin: This color highlights the header and footer margin set for the Master page; see "Adding a header and footer" on page 406.
l l Email Address: Enter the email that is set by default in the "From Email" field in the Send Email and Send Test Email dialogs ("Send (Test) Email" on page 801). Litmus account Group: l Email Test address: If you have a Litmus account, enter the test address to use when sending a test email (see "Send (Test) Email" on page 801). For more information on Litmus, please see http://litmus.com/.
l Apply: This option Applies the settings made within the current Preferences page, but does not close the Preferences dialog. -----------------------------------------------------------------------------------------Emmet Preferences Emmet is a framework that enables the lightning-fast creation of HTML code though the use of a simple and effective shortcut language resembling CSS Selectors (see "Emmet" on page 417).
l Extensions Path: Choose a folder where to put json and js files to extend Emmet. This includes custom snippets, preferences and syntax profiles. For more information see Customization. Emmet Abbreviation Preferences This Preferences tab lets you add and manage custom abbreviations. All standard abbreviations can be found in Emmet's documentation: Abbreviations. If there is no need to transform the text while expanding it, create an Emmet snippet instead (see below). l New: Add a new abbreviation.
while they all have identical options, they control different output types: CSS, HAML, HTML, XML, XSL and the "Default" one controlling the rest of the types. These options are equivalent to Emmet's syntaxProfiles.json feature. Emmet Snippets Preferences Emmet Snippet are similar to abbreviations in that they are expanded when the Tab key is pressed, but they are just blocks of plain text. Anything in a snippet will be outputted “as is”, without any transformation. l New: Click to create a new snippet.
and keep the original snippets. Also, you can override variable values with inline abbreviation attributes: html:5[lang=ru]. l Name: The name of the variable. This should be a single alphanumeric string with no spaces or special characters. For example, the myVar name is referred to as ${myVar}. l Value: The value of the variable when the snippet is expanded. l New: Click to create a new variable and define its name and value. l Edit: Click to modify the currently selected Variable.
-----------------------------------------------------------------------------------------Logging Setting Preferences PlanetPress Connect logs the activities it undertaking consistently as it runs. These log files are essential when diagnosing issues with OL Support. New Connect logs but are created daily, so they need to be deleted periodically.
Warning We heavily recommend leaving the Logging patterns to the default value. We recommend the Logging patterns only ever be changed in conjunction with advice from OL Support. l Log message preview display: This is displays the format and content of the logging, based upon the Logging pattern setting. The Log Settings Preferences also provides you with buttons to : l l Restore Defaults. This option restores the preferences to Defaults.
General Print Preferences The General Print Preferences are used to set communication settings with the PlanetPress Connect Server module that does the actual generation of print output. The Server module can be located on the same computer (hostname: localhost) or on a different machine. Multiple Designer modules can use a single Server module to generate Print output, as long as the appropriate hostname, username and password are provided. In essence, this can be used to create a single Print Server.
l l l Test Print Server URL. This button is only available for the General Print Preferences. It tests the Print Server URL settings made within that Preferences page. Restore Defaults. This option restores the preferences to Defaults. This applies to the current Preferences page only, but not other Preferences. Apply: This option Applies the settings made within the current Preferences page, but does not close the Preferences dialog.
Backup files have the same name as the original file with two underscores and a progressive number (without leading zeros) at the end: originalname__1.OL-template, originalname__ 2.OL-template, etc. The Save Preferences also provides you with buttons to : l l Restore Defaults. This option restores the preferences to Defaults. This applies to the current Preferences page only, but not other Preferences.
The Scheduling Preferences also provides you with buttons to : l l Restore Defaults. This option restores the preferences to Defaults. This applies to the current Preferences page only, but not other Preferences. Apply: This option Applies the settings made within the current Preferences page, but does not close the Preferences dialog.
l Insert Form Field Defaults: l Style: Defines how labels are added to input form elements: l l l l l Attach label to input: The label is placed before the input, and refers to it: Use label as placeholder: The label is removed and the text is put as a placeholder, such as: No label: The label value is ignored.
l Apply: This option Applies the settings made within the current Preferences page, but does not close the Preferences dialog. -----------------------------------------------------------------------------------------Profile Scripts dialog The Script Profiler is accessible through the Context > Profile Scripts menu option. It runs the scripts in the template, using the current record, in order to verify the speed at which scripts in the "Scripts pane" on page 846 execute.
Script wizards Wizard types Script wizards are simplified interfaces for common scripts in templates: l l l l l Text Script: This is the default script that is created when a data field is dragged from the Data Model onto the page. See "Variable Data" on page 669. Dynamic Image Script: Provided that its selector refers to an image, this script dynamically changes the image for each record. See "Dynamic Images" on page 682. Email Scripts.
l l l l Field: A drop-down to select which field contents to use in the script. The field should contain a valid value. For an email script, for example, the field would have to contain an email address. Note that you can't select a field that belongs to a detail table. Format: A special formatting modifier applied to the Field; see "Formatting variable data" on page 675. Suffix: Static text to use after the set field. For Dynamic Image Scripts, the default suffix is .
l l Expand: Click to convert the script generator to a regular script. Note that this action is not reversible once the regular script has been saved. Apply: Saves changes made to the script and applies the changes in the template without closing the dialog. Expanded Script window When expanded, the Script window replaces all parts of the wizard below the Selector by a box in which the script can be typed. See "Writing your own scripts" on page 689.
l l l l l l l l Category: Use the drop-down list to select the data field (in the selected detail table) of which the values will appear under the bars or the line; in other words, on the x axis. Values: Select data fields with a numerical value. l l Detail table: Use the drop-down to select one of the detail tables that are part of the Data Model. Column: Removing the topmost check deselects all data fields. Labels: Click the label to enter a new label for a field.
l Name: The name of the script, making it easier to identify it. l Selector: The Selector or Text to apply the result of the script to. l l l Selector: Uses CSS selectors to find the element to which the script applies. Text: Uses text as a trigger for the script. The script applies to all instances of the text found in the template. Selector and Text: Uses text as a trigger for the script but only applies to text within the specified Selector.
Includes tab This tab lists the style sheets that can be applied to the email section when producing the output. Style sheets are loaded in the order shown, and styles in later style sheets overwrite earlier ones when the same selector is used. (See "Includes dialog" on page 751 and "Styling templates with CSS files" on page 616.) Attachments tab The Attachments tab lets you select files and delete attachments. For more information, see: "Email attachments" on page 434.
page 404). For an explanation of all settings on this tab, see "Sheet Configuration dialog" on page 804. Background tab This tab defines the background of the current Print section; see "Using a PDF file as background image" on page 393. Numbering tab The Numbering tab defines how page numbers are configured in the current Print section; see "Configuring page numbers" on page 400.
l Name: Displays the name of each section within the context. l Move Up: Click to move the currently selected section up one position. l Move Down: Click to move the currently selected section down one position. Send COTG Test The Send COTG Test dialog is used to send a document to the Capture OnTheGo app without the need to go through the Output to Capture OnTheGo task in PlanetPress Workflow (see Workflow Help: Output to Capture OnTheGo).
l l l l Recipient(s): The user name(s) that should receive the document. One or more emails and/or user groups, separated by a comma. Category: The category under which the document appears. If the category does not exist, it will be created on the server. Send as Blank Form: Check this option to send the template as a reusable form. The form will not be deleted from the app's Library when it is submitted. To manually delete it from the Library, swipe it to the left.
format as above. Note that every email here will receive all the emails for the recordrange below. l l Records group: l l Select All, or click Selection and enter the range of records that should be sent. Removing the range disables the selection and sends emails to all records in the record set.
l Start TLS: Enabled if authentication is checked. Sends emails through Transport Layer Security (TLS), which is sometimes referred to as SSL. l User: Enter the username used to connect to the SMTP server. l Password: Enter the password for the above user name. Send to Workflow/Files dialog The Send to Workflow dialog sends templates, data mapping configurations and print presets to the PlanetPress Workflow server, or saves it as a package file.
Click Resources, Disk or Url, depending on where the image is located. l l l Resources lists the images that are present in the Images folder on the Resources pane. Disk lists image files that reside in a folder on a hard drive that is accessible from your computer. Click the Browse button to select a folder (or an image in a folder). As an alternative it is possible to enter the path manually. You can give a local path (e.g. C:\Images\Test.jpg) or use the "file" protocol.
General options The first option defines Duplex printing, which also enables or disables the settings for the Back side of each sheet. If Duplex is enabled, you can also: l l l Check Omit empty back side for Last or Single sheet to reset a page to Simplex if it has an empty back side. Thus changing a Duplex job into a Mixplex job may reduce volume printing costs as omitted back sides aren't included in the number of printed pages. Check Tumble to duplex pages as in a calendar.
l l Master Page Front: Defines the Master Page used for the front of the selected sheet's position. (Disabled if Back only is selected under Allow content on). Master Page Back: Defines the Master Page used for the back of the selected sheet's position. (Disabled if Front only is selected under Allow content on, or if Duplex is unchecked.) Style sheets dialog The Stylesheet editor dialog is used to edit CSS style sheet resources.
l Save: Click to save all changes to the stylesheet and close the dialog. l Cancel: Click to close the dialog without saving any changes. New/Edit Rule dialog The New/Edit Rule dialog shows the properties for a specific CSS selector. Click the Apply button to see how a setting affects the elements that are subject to that selector. (You may have to move and resize the Stylesheet dialog before opening the Edit Rule dialog, in order to be able to see the template that you are working on.
l l l Word Spacing: Set the space between each word in a text in measure or percentage. This is equivalent to the CSS word-spacing property. Whitespace: Specify how to handle white spaces inside of an element. See CSS White-Space for details. This is equivalent to the CSS white-space property. Style group: Check any option to apply the selected style to text within the element. This list shows the CSS property and value for each of the options. l Bold: Sets the font-weight to 700.
l l l l Inside: Specifies whether to accept page breaks within the element. Equivalent to the page-break-inside property. After: Specifies whether a page break should occur after the element. Equivalent to the page-break-after property. Widows: Specifies how to handle widows within a paragraph (lines appearing alone on the next page if the paragraph does not fit on the current one). Equivalent to the widows property. Widows and orphans are ignored if the page-breakinside property is set to avoid.
l l Style: Specify the style of the border such as solid, dashed or dotted. Equivalent to the border-style property. Color: Specify the color of the border. The color value must be a valid HTML Color Name, or a valid HTML Hex Color. Equivalent to the border-color property. Advanced Stylesheet Rule The Advanced editor is used to manually input rules.
Table Tab l General group: l l l l l l l Height: Set the height of the table in measure or percentage. Equivalent to the CSS height property. Angle: Set the rotation angle of the table in clockwise degrees. Equivalent to the CSS transform:rotate property. Corner radius: Set the radius of rounded border corners in measure or percentage. Equivalent to the CSS border-radius property. Display: Use the drop-down or type in the value for how to display the table. Equivalent to the CSS display property.
l l Z-index: Set the z-index of the table. The z-index defines in which order elements appear. Equivalent to the CSS z-index property. Breaks group: l l l l l Before: Specifies how to handle page breaks before the table. Equivalent to the CSS page-break-before property. Inside: Specifies whether to accept page breaks within the table. Equivalent to the CSS page-break-inside property. After: Specifies how to handle page breaks after the table. Equivalent to the CSS page-break-after property.
Border Tab For information about borders see "Border" on page 644. l l Same for all sides: Defines the border properties for all sides using the Top properties. Equivalent to the CSS border property. Top, Left, Bottom, Right: Each group defines the following properties: l l l Width: Specify the thickness of the border. Equivalent to the CSS borderwidthproperty. Style: Specify the style of the border such as solid, dashed or dotted. Equivalent to the CSS border-style property.
All settings in this dialog are in fact CSS properties. Cascading Style Sheets (CSS) were originally designed for use with web pages: HTML files. Since Designer templates are HTML files, they are styled with CSS. To learn how to use CSS in the Designer, see "Styling and formatting" on page 614 and "Styling templates with CSS files" on page 616. For information about specific properties and their options, see W3Schools CSS Reference.
l Style group: Check any option to apply the selected style to text within the element: l Bold: Sets the font-weight to 700. l Italic: Sets the font-style to italic. l Underline: Sets the text-decoration to underline. l Strikethrough: Sets the text-decoration to line-through. l Subscript: Sets the vertical-align to super. l Superscript: Sets the vertical-align to sub. l Capitalize: Sets the text-transform to capitalize. l Uppercase: Sets thetext-transformto uppercase.
l Color: Specify the color of the border. The color value must be a valid HTML Color Name, or a valid HTML Hex Color. Equivalent to the CSS border-color property. Background Tab For information about backgrounds see "Background color and/or image" on page 643. l General group: l l Color: Specify the color of the table cell background. The color value must be a valid HTML Color Name, or a valid HTML Hex Color. Equivalent to the CSS background-color property.
Key combination Function Alt Put the focus on the menu. (Alt + the underlined letter in a menu name displays the corresponding menu.) The menu can then be browsed using the Enter key, arrow up and arrow down buttons.
Key combination Function or: Shift + Insert Ctrl + X or: Shift + Delete Cut Ctrl + W Close file Ctrl + Y or: Ctrl + Shift + Z Redo Ctrl + Z Undo Ctrl + Alt + ; Lock guides Ctrl + Shif + R Clear preview cache Ctrl + Shift + S Save all Ctrl + Shift + W Close all Ctrl + Shift + ; Snap to guides Ctrl + ; Show guides Ctrl + ' Show/hide virtual stationery Ctrl + \ Highlight master page items Ctrl + F5 Revert Ctrl + F10 Save as Ctrl + F11 Send COTG test Ctrl + F12 Send to Workflow
Workspace The following key combinations activate a function in the Workspace.
Key combination Function Ctrl + B Bold (works on a text selection) Ctrl + E Open Paragraph formatting dialog Ctrl + I Italic (works on a text selection) Ctrl + H Show Edges Ctrl + K Delete browser element Ctrl + M Open Box formatting dialog Ctrl + T Open Text formatting dialog Ctrl + U Underline ( (works on a text selection) Ctrl + + or: Ctrl + Shift + + or: Ctrl + = or: Ctrl + Shift + = Zoom in Ctrl + or: Ctrl + Shift + - Zoom out Ctrl + 0 Zoom to page width Ctrl + 1 Zoom to page c
Text editors: Source tab, JavaScript, CSS, Script Editor The following key combinations have a special function in the Source tab of the Workspace (see also: "Source tab" on page 850), and when editing a JavaScript or CSS file in the Workspace, and in the Script Editor (expanded view). Key combination Function Ctrl + space Content assist (auto-complete) Ctrl + A Select all Ctrl + D Duplicate line Ctrl + F Find Ctrl + I Indent (Tab) Ctrl + J l l Script Editor: Add a line break.
Scripts pane and Resources pane The following keys or key combinations have a special function when a file is selected in the Resources pane and when a script is selected in the Scripts pane. Key combination Function F2 Rename Alt + Enter Open Properties dialog Delete Delete Data Model pane You can use the following keys to browse records in the Data Model pane: l Page Up: next record l Page Down: previous record l Home: first record l End: last record.
l l l l l l l l l Open Recent: Lists the most recently opened Templates and configurations. Clicking on a template will open it in the Designer module, clicking on a Data Mapping Configuration will open it in the DataMapper module. Close: Closes the currently active Data mapping configuration or Template. If the file needs to be saved, the appropriate Save dialog will open. Close All: Closes any open Data Mapping Configuration or template.
l l l l l l l Job Creation Presets: Opens the"Job Creation Presets" on page 932 dialog. Output Creation Presets: Opens the "Output Creation Settings" on page 943 dialog. Proof Print: Opens the "Print Options" on page 944 dialog as a Proof Print dialog which limits the number of records output. The options themselves are identical to the regular Print Output dialog. Send Email: Opens the Send Email dialog; see "Send (Test) Email" on page 801 and "Generating Email output" on page 1123.
Insert Menu l l Image: Inserts an image using a resource that is local to the template, a resource on disk or a URL. See "Images" on page 599. Text: l l Wrap in span: Wraps selected text in a element. The ID or class of the span can be used as a selector for scripts and styles. Special Characters: Displays a categorized list of special HTML characters that can be inserted at the current pointer location. When a character is clicked, its HTML Entity is inserted.
l l Geometric Shapes: Use the list to insert a special geometric shape, such as circles, triangles and squares. Date: Opens the "Date" on page 588 dialog to add a date to the template based on the current system's date and time. l Wrap in box: Puts the element in which the cursor is located in an inline box (a
).
l Div...: Opens a dialog to add a
element; see "Boxes" on page 570 l Span...: Opens a dialog to add a
element; see "Boxes" on page 570 l Article...: Opens a dialog to add an element l Section...: Opens a dialog to add a element (the HTML element, not a section in a context). l Header...: Opens a dialog to add a element. l Footer...: Opens a dialog to add a
Personal information
Personal information
Peter Parker
Personal information
Peter Parker
The following script appends a snippet to a Div element with the ID box. var a = loadhtml('snippets/snippet_name.html'); results.
Matched element Matched element after script execution
Personal information
Personal information
Peter Parker
Note: the way the functions append() and css() are used in this script is called 'chaining'. Chaining is optional; the same could be achieved by storing the result of the query in a variable: var box = query("#box"); box.append("Peter Parker
"); box.
attributeName String; the name of the attribute. value String; value for the attribute. Examples This script looks up an image in an element with the ID #calloutbox and sets its alternative text to a value from a data field var altText = record.fields.FavHobby; query("#callout img").attr('alt', altText); The following script sets the background color of a specific table cell in an email to red if the value of the field TOTAL has a negative value in the current record. if(record.fields.
Examples This script looks for an element with the ID salesrepand inserts a paragraph before that element. results.before("
Lorem Ipsum
"); Selector Matched element Matched element after script execution #salesrep Peter Parker
Lorem ipsum
Peter Parker
This script does the same, but it uses the query() function to look up the element. query("#salesrep").
The following script searches the results for the string "ipsum" and puts "Lorem " before it. "Lorem " is automatically wrapped in a Span element. results.find("ipsum").before("Lorem "); Matched element Matched element after script execution
ipsum dolor sit amet, consectetur adipiscing elit.
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
The following script looks for an element with the ID salesrep and inserts the text "Lorem Ipsum" before that element.
clone() This function returns a new set containing a copy of each element in a set; see "Dynamically adding sections (cloning)" on page 721. To duplicate an existing template element, clone it before calling append(); see "Examples" on page 1034. Examples This script performs an iteration over the elements in the results (the elements that match the selector of the script). var row = query("tbody tr", results).clone(); query("tbody", results).
The following script clones and populates a boilerplate row. Once completed you will need to hide the boilerplate row. for(var i = 0; i < record.tables['detail'].length; i++) { var row = results.clone(); //Clone our boilerplate row row.find('@ItemNumber@').text( record.tables['detail'][i].fields ["ItemNumber"]); row.find('@ItemOrdered@').text( record.tables['detail'][i].fields ["ItemOrdered"]); row.find('@ItemTotal@').text( record.tables['detail'][i].fields ["ItemTotal"]); row.find('@ItemDesc@').
Examples The following script looks up all table rows in the template that contain an element. query("input").closest("tr"); This code gets the closest 'parent' row for each element that matches the selector of the script (collected in the results object): results.closest("tr"); The rows could be colored red within the same statement: results.closest("tr").
css(styleName, value) Function to set a CSS property. propertyName String; the name of the CSS property. value String; value for the CSS property or a map of property-value pairs to set. Examples This script looks up an element with the ID #calloutbox and sets its text color to red. query("#callout p").css('color' , 'red'); The following script does the same, but it only sets the text color to red if in the current record the value of the field 'accounttype' is 'PRO'. if(record.fields.
Examples This script colors the text of the results (the set of HTML elements that match the selector of the script) red and makes it bold. results.css({'color' : 'red', 'font-weight' : 'bold'}); empty() Remove the contents (child elements and inner HTML) from one element or a set of elements in the template. Use remove() to remove the elements themselves. Example This script empties all Span elements found in the template. results.
A function used as a test for each element in the set. Filter() passes the iteration index and the current element to the callback function. In the scope of the callback function, this refers to the current element. Example The selector of the following script is li (list item), so the results object contains all list items in the template. The scripts filters the third and sixth line items from the results, taking advantage of the index that is passed to the filter function, and colors them red.
textToFind A String that contains the search text. Example The following piece of code loads a snippet, then looks for placeholders using find(), and replaces them with a text. var mysnippet = loadhtml('snippets/snippet.html'); mysnippet.find('@var1@').text('OL Connect 1'); mysnippet.find('@var2@').html('OL Connect 2').css('textdecoration','underline'); results.
Example This script hides or shows the elements matched by the selector of the script (which are stored in the results object), depending on the value of the data field Country in the current record. if (record.fields["Country"] == "CANADA") { results.show(); } else { results.hide(); } html() html() : String Returns the inner HTML of the first element in this result set. html(value) Replaces the inner HTML of each element in this result set by the supplied value. value A String that may contain HTML tags.
pageRef() Returns a marker that will be replaced with the element's page number after pagination. This only works for elements in the section that is currently being merged. Example Creating a table of contents The following script creates a table of contents for all level 1 headings (
elements) with the class title in one section. var toc = ''; query('h1.title').each(function() {toc += '- ' + this.text() + ' ' + this.
-
Note that these styles use the list's ID, that was defined in the first line of code. For information about style sheets, see "Styling templates with CSS files" on page 616. parent() Returns the parents of the elements in a set. (In HTML, a parent is an element that contains another element.) To get an ancestor that matches a particular selector, use closest() (see "Examples" on page 1042).
-
Selector Matched element Matched element after script execution #box
Personal information
Peter Parker
This script inserts a heading as the first element in an element that has the class name. results.prepend("Name: "); Selector Matched element Matched element after script execution .
-
Selector Matched element Matched element after script execution div
Personal information
Peter Parker
This script uses the function query() to find a box. Then it inserts a heading as the first element in that box. query("#box").
-
var box = query("#box"); box.prepend("
Peter Parker
"); box.css("color","red"); remove() Removes each element in a set from the DOM. This function returns a new result set containing each removed element. These can be changed and inserted in the document. This could be beneficial in terms of performance, as manipulating elements inside the DOM is relatively time consuming. Examples This script removes all Span elements found in the template. results.
-
var cells = row.children(); cells[0].html("some text").css("background-color", "yellow"); cells[1].html("some text").css("font-weight", "bold"); cells[2].html("some text"); // Create a number of copies var rows = row.clone(); for (var i = 0; i < 30; i++) { rows = rows.add(row.clone()); } // Attach all copies to the DOM as children of tbody results.append(rows); removeAttr() Removes the specified HTML attribute from an element or from each element in a set of elements.
-
Examples This script removes the class name "foo" from all elements in the results that have this class. results.addClass("foo"); Selector Matched element Matched element after script execution p
Hello world
Hello world
replaceWith() Replaces each element in a set of HTML elements. replaceWith(content) Replaces each element in a set of HTML elements. Returns the result set. content A query result. This can be an HTML string or a result set.
-
show() Shows the elements in a set. To hide elements (again), use the function "hide()" on page 1046. These functions are used by the Conditional Script Wizard, as you can see when you open a Conditional Script and click the Expand button; see "Showing content conditionally" on page 678. Example This script hides or shows the elements matched by the selector of the script (which are stored in the results object), depending on the value of the data field Country in the current record. if (record.
-
Example This script loads a snippet, then looks for placeholders using find(), and replaces them using text(value). var mysnippet = loadhtml('snippets/snippet.html'); mysnippet.find('@var1@').text('OL Connect 1'); mysnippet.find('@var2@').html('OL Connect 2').css('textdecoration','underline'); results.replaceWith(mysnippet); Each A generic iterator function, to iterate over the elements in the result set.
-
Selector Matched element Matched element after script execution p
3
1
7
This script gets the row index (of the current element in the set) and puts it in a paragraph. results.each(function(index){ this.
-
Selector Matched element Matched element after script execution p
primero
último
dirección de correo electrónico
For...in Can be used to iterate over fields in a data set or rows in detail table. Also see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in. for(variable in object) { ...
-
Selector Matched element Matched element after script execution #test
Fields
Fields
Peter
Parker
pparker@localhost.com
This script iterates over rows in a detail table and adds the contents of the 'country' field to a paragraph. for(var i in record.tables['countries']) { results.after("" + record.tables['countries'][i].
-
Note The TextFormatter object is now deprecated and will eventually be removed. Functions Function l l currency() currencyNoSymbol () l grouped() l integer() l l l Description The currency(), grouped(), integer() and number() functions allow you to format a number, possibly with a custom pattern. See "Number functions" on page 1071.
-
Function l properCase() Description first character of each word to uppercase and all other characters to lowercase. Date, date/time and time functions l date() l dateLong() l dateMedium() l dateShort() l dateTime() l dateTimeLong() l dateTimeMedium() l dateTimeShort() l time() l timeLong() l timeMedium() l timeShort() Note The locale also influences the output of the different Date functions; see "Locale" on page 654.
-
value A Date object. A Date can contain a date and time. pattern String. The custom pattern may consist of pattern letters, separating symbols and quoted text, for example: "MMMM dd, yyyy"; see "Date and time patterns" on page 1065. Note that the repetition of pattern letters determines the exact presentation. dateLong(value) Formats a date as long string representation, for example April 1, 2016. value A Date object. A Date can contain a date and time.
-
String. The custom pattern may consist of pattern letters, separating symbols and quoted text, for example: "yyyy.MM.dd G 'at' HH:mm:ss z"; see "Date and time patterns" on page 1065. Note that the repetition of pattern letters determines the exact presentation. dateTimeLong(value) Formats a date and time as long string representation, for example April 1, 2016 12:00:00 EDT AM. value A Date object. A Date can contain a date and time.
-
timeLong(value) Formats a time as long string representation, for example 12:00:00 EDT AM. value A Date object. A Date can contain a date and time. timeMedium(value) Formats a time as medium string representation, for example 12:00:00 AM. value A Date object. A Date can contain a date and time. timeShort(value) Formats a time as short string representation, for example 12:00 AM. value A Date object. A Date can contain a date and time.
-
The following sample script demonstrates this solution. It splits a string into parts and then creates a new Date object with the parts in the correct order. To construct a Date, the parts of the date must be put in the following order: year, month, day, and optionally hours, minutes, seconds, milliseconds (see http://www.w3schools.com/js/js_dates.asp and https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date.) When the time is omitted, it defaults to 12:00:00 AM.
-
The repetition of pattern letters determines the exact presentation. For example, if the number of pattern letters for a month is less than 3 (M or MM), the month is displayed as a number. If the number of pattern letters is 3 (MMM), it will be displayed as text; if available, a short or abbreviated form of the month's name will be used. If the number of pattern letters is 4 or more (MMMM), the month's full name is displayed.
-
S Millisecond Number 978 z Time zone General time zone Pacific Standard Time; PST; GMT-08:00 Z Time zone RFC 822 time -0800 zone X Time zone ISO 8601 time -08; -0800; -08:00 zone Note These date and time pattern letters and patterns conform to standard Java notation. For more information, see http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html. loadhtml() Loads HTML content from the specified HTML file.
-
the host is "localhost", it can be omitted, resulting in file:///, for example: file:///c:/somefolder/somecontent.html. When using the http/https protocol, remember that only absolute paths are supported inside remote snippets (see "Remote snippets" on page 612). Examples This script loads a local HTML snippet (from the Resources panel) directly into the matched elements results.loadhtml("snippets/snippet.html"); The following script loads a local HTML snippet (Resources panel) into a variable.
-
loadhtml(location, selector) Retrieves specific content from the specified HTML file. location String containing a path that can be absolute or relative to the section/context. Use snippets/ to retrieve the content from an HTML file residing in the Snippets folder on the Resources panel. In order to retrieve files from outside the template, the file protocol is supported as well as the http/https protocols.
-
var post = loadhtml('snippets/post.rhtml'); var h1 = query('h1', post).text(); results.text(h1); Another example is given in the following how-to: Using a selector to load part of a snippet. loadjson() Creates a JSON object based on the text retrieved from the supplied location. The function lets you retrieve content from a JSON enabled server using a standard HTTP request.
-
var wpPost = loadjson('http://192.168.101.58/2013/06/leave-thethird-dimension-behind-and-focus-on-real-printinginnovation/?json=1'); if(wpPost.post){ results.html("
" + wpPost.post.title + "
" + wpPost.post.content); } This script retrieves multiple posts from a WordPress site. var numPosts = 3; var wpPost = ''; var wpRecentPosts = loadjson('http://192.168.101.58/?json=get_ recent_posts&count=' + numPosts); if(wpRecentPosts.
-
A number. This can be a value from a field that contains a SmallInteger, BigInteger, Float, SmallCurrency or LargeCurrency. currency(value, pattern) Formats a number as an amount of money using a custom pattern. Which currency symbol and which thousands separator are used depends on the Locale; see "Locale" on page 654. For available patterns, see "Number patterns" below. value A number. This can be a value from a field that contains a SmallInteger, BigInteger, Float, SmallCurrency or LargeCurrency.
-
page 671 and "Formatting variable data" on page 675. Note that for this to work, in the DataMapper the field that contains the value must be set to Integer, Float, or Currency. In the Script Editor, the pattern can be passed to a function of the formatter; see "formatter" on page 1059. The custom pattern may consist of pattern characters (see below), a prefix and a suffix. Note that strings need to be converted to a number before they can be formatted this way.
-
¤ (\u00A4) Prefix or suffix Number Currency sign, replaced by currency symbol. If doubled, replaced by international currency symbol. If present in a pattern, the monetary decimal separator is used instead of the decimal separator. ' Prefix or suffix Text Used to quote special characters in a prefix or suffix, for example, "'#'#" formats 123 to "#123". To create a single quote itself, use two in a row: "# o''clock". Source: http://docs.oracle.com/javase/7/docs/api/java/text/DecimalFormat.html.
-
Matched element; Matched element after script execution
foo
foo
Look for an element in a snippet The following script loads a snippet. Then it looks up an element in a snippet and sets its text. Finally, it replaces the elements matched by the script's selector by the snippet. var snippet = loadhtml('snippets/mysnippet.html'); query("#foo", snippet).text("bar"); results.
-
query(html) Creates a new HTML element on the fly from the provided string of raw HTML, and returns the new element. html A String containing a HTML element. Tags that can contain other elements should be paired with a closing tag. Example The following script adds a paragraph to the results (elements that match the selector of the script). results.append("
This is a new paragraph.
-
The returned object is of the type ImageInfo. It has the following fields: Field Type Description height float The height of the current page (in points). page Number Current page number (counting from 1) within the resource. pages Number The total number of pages in the resource. permissions Permissions PDF only. Allows to verify if a PDF is password-protected or has restrictions for printing.
-
Object Usage "section" on page 1084 Much of the Control Script magic is performed by setting one of the fields of the section object. Via the section object you can omit, select and clone sections; add a background to a Print section; add a header to an email; etc. A section can be retrieved via the context that it belongs to, using merge.template.contexts.ContextType.sections["section name"]. For example: merge.template.contexts.PRINT.sections["Section EN"].
-
used in Control Scripts, however. This is because Control Scripts differ from template scripts in two ways: l l Control Scripts don't have a selector, like template scripts do. A selector selects parts of the content of a section and stores them in the results object, so that they can be modified in the script. As Control Scripts don't have a selector, the results object can't be used there. Control Scripts don't touch the content meaning, the text flow - of the sections.
-
Property Description Properties Returns an object containing additional information (file name, process name and task ID) from PlanetPress Workflow. Accessing automation properties To access JobInfo 1 to 9 (defined in Workflow): automation.jobInfos.JobInfo1; To access ProcessName, OriginalFilename or TaskIndex (defined in Workflow): automation.properties.OriginalFilename; Example Assume that a Workflow process can be triggered when an XML file appears in a certain folder.
-
Field Type Description sections Array Array of sections (see "section" on page 1084) inside a particular context defined in the template. Note: When using merge.context.sections keep in mind that for example 'Section X' might only exist in your Print context, so using merge.context.sections['Section X'] without enclosing it in the if statement if (merge.context.type == ContextType.PRINT) {} will yield an error when the script runs for other contexts.
-
Fields Field Type Description stationery Stationery The Stationery's object's front and back fields are used to set the front and the back of a Media; see "front, back" below. front, back The front and back fields of the Stationery object are used to set the front and the back of a Media (see "media" on the previous page). Both front and back have the following fields. Field Type Description enabled boolean When enabled, the stationery will be included in the output (Print sections only).
-
Field Type Description left Measurement The horizontal offset from the left of the page, used to position the stationery (only when absolute positioning is selected). This value can be negative. merge In Control Scripts, the root level instance of the object merge is the entry point from where you can query and change the way contexts are merged. It gives access to the template with all its contexts and sections. For sample scripts, follow the links to the respective objects.
-
Field Type Description To retrieve any section in a Control Script, use: merge.template.contexts.ContextType.Section ['Section name']; (for example: merge.template.contexts.PRINT.sections ["Section EN"]). "template" on page 1094 Template This object contains the template and all of its contexts. It can be used to find out which contexts are available in the template, using merge.template.contexts (see "context" on page 1080) and to manipulate the sections in those contexts (see "section" below).
-
Field Type Description Setting a Print section's background" on page 719 and "BackgroundResource" on page 1097. enabled boolean Enables or disables this section for output (see "Examples" on page 1087). Note that even if a section is disabled, the part and restartPageNumber fields are still effective to define the parts division and page numbering over multiple sections when applicable.
-
Field Type Description To rename email attachments, use the field part. ownerPassword String Print sections only. Used to set the owner password for a PDF attachment.* Setting only the owner password creates a secured PDF that can be freely viewed, but cannot be manipulated unless the owner password is provided. (Note that the recipient needs Adobe Acrobat to do this, because the Acrobat Reader does not allow users to enter the owner password.
-
(attachments) may have a different (or no) set of passwords. Passwords set in the Control Script override the password set through the Email PDF password script (see "Email PDF password" on page 433). This allows you to change or remove the password from a specific part. Removal is done by setting the password field to null or "" (empty string). Functions Note For cloned sections, functions are not available. Function Description "Examples" on page 1093 Clone this section.
-
Selecting different sections for Print output and Email PDF attachment This script selects a different Print section for output, depending on the output channel (Email or Print). var printSections = merge.template.contexts.PRINT.sections; if(merge.channel === Channel.EMAIL){ printSections['Section 1'].enabled = false; printSections['Section 2'].enabled = true; } if(merge.channel === Channel.PRINT){ printSections['Section 1'].enabled = true; printSections['Section 2'].
-
merge.context.sections['Section 6'].enabled = true; merge.context.sections['Section 6'].part = "PDFAttach2"; } else if (merge.context.type == ContextType.WEB) { merge.context.sections['default Section'].enabled = false; // disable whatever is the default section merge.context.sections['Section A'].enabled = true; merge.context.sections['Section A'].part = "WebPartA"; merge.context.sections['Section B'].enabled = true; merge.context.sections['Section B'].
-
Scaling to Media size var activeSection = merge.template.contexts.PRINT.sections['Section 1']; activeSection.background.source = BackgroundResource.RESOURCE_PDF; activeSection.background.position = MediaPosition.FIT_TO_MEDIA; activeSection.background.url = "images/somepage.pdf"; See also: "BackgroundResource" on page 1097, "MediaPosition" on page 1100 and "Control Script: Setting a Print section's background" on page 719.
-
function addPolicy(policy){ var resourceUrl = 'images/policy-' + policy + '.pdf'; var clone = printSections["Policy"].clone(); clone.name = "policy_" + policy; clone.background.url = resourceUrl; clone.enabled = true; printSections["Policy"].addAfter(clone); } background The background object holds the PDF background of a Print section (see "section" on page 1084 and "Control Script: Setting a Print section's background" on page 719).
-
Field Type Description Note Setting the background to NONE does not reset any other option, such as the position and scale of the background. start Number The start page of the PDF to use as a background for the section. top Measurement The top offset of the PDF background (only when absolute positioning is selected). url String The location of the PDF to use as a background for the section. For a file named background.
-
You could replace the last three lines of the previous script by the following line to scale the Print section background to Media size: activeSection.background.position = MediaPosition.FIT_TO_MEDIA; Tip For more examples, see "Control Script: Setting a Print section's background" on page 719. clone() This function returns a new set containing a copy of each element in a set; see "Dynamically adding sections (cloning)" on page 721.
-
["ItemNumber"]); this.find('@ItemOrdered@').text( record.tables['detail'][i].fields ["ItemOrdered"]); this.find('@ItemTotal@').text( record.tables['detail'][i].fields ["ItemTotal"]); this.find('@ItemDesc@').text( record.tables['detail'][i].fields ["ItemDesc"]); this.find('@nr@').text(i); }); The following script clones and populates a boilerplate row. Once completed you will need to hide the boilerplate row. for(var i = 0; i < record.tables['detail'].length; i++) { var row = results.
-
Which contexts are available in the template can be queried using merge.template.contexts. To get access to a specific context, you have to specify the ContextType (see "ContextType" on page 1099). Field Type Description contexts Array Array of contexts (see "context" on page 1080) available in the template. The contexts contain the sections (see "section" on page 1084). "media" on page 1081 Array Media available to this template (see "Media" on page 408).
-
properties The properties object inside the template object (see "template" on page 1094) contains all default properties of the template file as well as any custom properties. To view and complement the file properties, select File > Properties on the menu. See File Properties. Following are the default properties.
-
BackgroundResource BackgroundResource is an enumeration for the types of background resources for a Print section (see "background" on page 1091 and "section" on page 1084). A Print section can be retrieved in script using merge.template.contexts.ContextType.sections["section name"], for example merge.template.contexts.PRINT.sections["Section EN"]. Field Description DATAMAPPER_ PDF A PDF file retrieved via the active Data Mapping Configuration.
-
Note To learn how to set a PDF file as a background image on a Print section without a Control Script, see "Using a PDF file as background image" on page 393. Channel Channel is an enumeration for the output channels. The active output channel is registered in merge.channel. The channel doesn't change when the output consists of different contexts. When generating email, for example, the channel is EMAIL, even when merging the Print context to attach it to the email.
-
printSections['Section 2'].enabled = false; } ContextType ContextType is an enumeration for the context types. The type of the context that is going to be merged next can be retrieved via merge.context.type. The context type needs to be specified when retrieving a section with merge.template.contexts.ContextType.sections["section name"], for example merge.template.contexts.PRINT.sections["Section EN"]. Value Description HTML_EMAIL The context is the Email context.
-
MediaPosition In a Control Script, the position is an enumeration for the position of background resources for a Print section. It is retrieved and set via background.position. Field Description ABSOLUTE Places the PDF at a specific location on the page. Set the background's top (background.top) and left (background.left) measured from the top and left side of the section. CENTERED Centers the PDF on the page, vertically and horizontally. FIT_TO_ MEDIA Stretches the PDF to fit the page size.
-
Generating output When merged with a record set, the templates made in the Designer can generate four types of output: Print , Fax, Email and Web. Print output Connect supports a number of different types of print outputs. These include: l PCL l PDF l PostScript (including the PPML, VIPP and VPS variants) Print templates (also called Print sections), are part of the Print context.
-
Email output The Email context outputs HTML email with embedded formatting to an email client through the use of an email server. The HTML generated by this context is meant to be compatible with as many clients and as many devices as possible. Although the Email context can contain multiple Email templates, only one of them can be merged with each record. Which one is used, depends on a setting; see "Email output settings in the Email context and sections" on page 1124.
-
Although the Web context can contain multiple Web pages, only one of them can be merged with each record. Which one is used, depends on a setting; see "Web output settings in the Web context and sections" on page 1134. Optimizing a template Scripts In the process of output generation, the execution of scripts may take up more time than necessary.
-
Step 2. Add the file that contains the collection of images to the template's Resources (see "Adding images" on page 601). Step 3. Display part of the collection file as an image in the template. l l Static images that are part of an image file can be displayed via Cascading Style Sheets (CSS). This technique is much used in web design. In this technique, the file that contains a collection of images is called an image sprite.
-
Note Proof Print generates output directly from the Designer, without using the Print Service. A Proof Print run won't impact upon production printing l File > Print... allows the following printing options: l l l Using the Default output settings. For more details, see "Print Using Standard Print Output Settings" on page 1107 Using the same settings that were last used to produce printed output.
-
handy when creating special print runs, that need to be run periodically. These presets make it possible to do such things as filtering and sorting records, grouping documents and splitting the print jobs into smaller print jobs, as well as the more standard selection of printing options, such as binding, OMR markings and the like. See "Job Creation Presets" on page 932 and "Output Creation Settings" on page 943 for more details.
-
3. Create a process in PlanetPress Workflow containing at least the following steps: l l Any Input task that will capture a job file that is compatible with the data mapping configuration that is used. Either: l l l An All In One task. This task incorporates the Execute Data Mapping, Create Print Content, Create Job and Create Print Output tasks. It is fast and efficient but you can't use a Job Creation Preset with it.
-
l l Job Creation: Use the drop-down to select existing Job Creation Presets. Use the Gear button to edit the currently selected Preset or to reload the list of Presets from the system. Preset Summary: Displays a summary of the settings for the currently selected Presets. Note The Default output type of PDF Output is actually a built in system Preset, whilst the Last Used settings can likewise be considered an un-named and un-saved Preset.
-
Note Any settings made within the Advanced Print Wizard do not permanently update any Preset(s) being used. l Print button: Click to produce print output according to the current settings. l Cancel button: Cancels the Print Wizard, without creating any printout. Print Using Advanced Printer Wizard The Advanced Printer Wizard allows you to select from any and all output settings.
-
How to add print output models from within the Print Wizard Here is how to add print output options from within the Print Wizard dialog itself. 1. Select File > Print... from the menu. The Print dialog will be launched. 2. Click on the Advanced button. The Print Wizard will be launched. 3. Click the settings button at the end of the Model selection list box. Select from one of the options: 1. Select Import Definition to add a customized Printer Definition.
-
How to add print output models from within the Designer Here is how to add print output models from within the main Designer interface itself. 1. Select Window > Preferences... from the menu. Preference dialog is launched. 2. Select Print > Available Printers from the options. 3. In the Available Printers area, select the print output options to be added to the Print Wizard, then click OK.
-
Note When using a variable in a condition, do not wrap it in ${ }. This notation is only necessary in the context of a text (like file names or additional page content). File name variables File name variables are available in a few places in the "Print Options" on page 944: l In the Job Output Mask and Job Output Folder fields when using the Directory option. l In the Job Name field when using the Windows Printer option. Tip You can name the output file or folder through the WorkFlow.
-
extension is determined by the selected output format. The 0000 in ${template.nr,0000} is a format pattern that takes care of formatting the number with at least four digits and leading zero's. See "Formatting date and number values " on page 1119, below. Example If the template file is C:\Data\My-Invoices-EN.OL-template which gets printed to PDF, then ${template} expands to My-Invoices-EN_ 0001.pdf. ${template.
-
PostScript output, ${template.ext} would return ps. Note that ${template.ext} does not include a leading dot. File ${file} ${file} is a shorthand for ${file.base}_ ${file.nr,0000}.${file.ext}. It expands to an internally generated file name with a four digit sequence number at the end. The file extension is determined by the selected output format. The 0000 in ${file.nr,0000} is a format pattern that takes care of formatting the number with at least four digits including leading zero's.
-
errors with big jobs, usage of this variable in an Output Preset or in the Print Wizard is discouraged; it should be regarded as deprecated. Job ${job} ${job} is a shorthand for ${job.base}_${job.nr,0000}.${job.ext}. It expands to a name based on the name of the applied Job Creation preset (or 'Untitled' if no Job Creation preset was used). A four digit sequence number is added at the end of the base name. The file extension is determined by the selected output format. The 0000 in ${job.
-
If the output is grouped and separated, Content variables on the separation level and above are also available as File name variables. For example, if the output is grouped on the job segment and document set level, and is to be separated on the Document Set level, the set and segment variables can also be used in the Job Output Mask field. Warning Use count variables with caution. They entail higher memory usage in Weaver (the engine that creates Print output). When, for example, segment.count.
-
${page.sequence.set} Page number within the document set. ${page.sequence.segment} Page number within the job segment. ${page.sequence.job} Page number within the job. ${page.width} The page's width (in points). Sheet ${sheet.count.pages} Total number of pages on the sheet. ${sheet.duplex} True when printing on the sheet is duplex. ${sheet.height} The sheet's height (in points). ${sheet.pageDevice} Array specifying the sheet's Type (e.g. Plain), Weight (e.g. 83), Color (e.g.
-
${document.metadata ['propertyname']} The propertyname must have been defined as a Tag Name on the Document Tags tab of the "Metadata options" on page 942 page in the Advanced Print Wizard or Job Creation preset. Note: this variable is only available if Separation based on Document has been selected on the "Separation options" on page 959 page in the Advanced Print Wizard or Output Creation preset. ${document.count.pages} Total number of pages in the document. ${document.count.
-
${set.count.sheets} Total number of sheets in the document set. ${set.count.documents} Total number of documents in the document set. ${set.nr} or ${set.sequence.segment} Document set number within the job segment. ${set.sequence.job} Document set number within the job. Segment ${segment.metadata. propertyname} or ${segment.metadata ['propertyname']} Value of a meta data property of the job segment.
-
Form Description Example Result ${expression} Do not format. ${system.time} July 4, 2009 12:30:55 PM ${expression,pattern} Apply pattern with system locale {system.time, $ yyyyMMdd-HH:mm:ss} 2009070412:30:55 ${ expression,pattern,locale } Apply pattern with the specified country locale ${system.time, "dd MMMM yyyy", fr} 19 décembre 2017 ${expression,,locale} Apply a default format with the specified country locale ${system.
-
l A PlanetPress Image license which includes PlanetPress Fax. l A Job Preset adding the appropriate metadata fields l An Output preset generating a PDF/VT file. l A PlanetPress Workflow process outputting to the PlanetPress Fax task. Job Preset Configuration The following metadata fields must be added to the Metadata Options page: l l FaxNumber: The phone number where the fax will be sent. Often part of the data.
-
Required Components The following components are required in order to output to Image: l A PlanetPress Imaging license. l A Job Preset adding the appropriate metadata fields l An Output preset generating a PDF/VT file. l A PlanetPress Workflow process outputting to the PlanetPress Image task.
-
l In the Print Options, a PDF type should be selected, such as Generic PDF. l In the PDF Options, the PDF Type should be set to PDF/VT PlanetPress Workflow Process The following Workflow will produce Image output: l The four regular Connect tasks to generate print output: l Execute Data Mapping l Create Print Content l Create Job using the above Job Preset l l Create Output using the above Output Preset. The task's Output Management must be set to be Through Workflow.
-
To learn how to attach other files, see "Email attachments" on page 434. Before generating Email output l l l Decide on the use of an Email Service Provider; see "Using an ESP with PlanetPress Connect" on page 1126. Make sure that a data set is loaded, that any necessary files, such as images and attachments, are in place, and that the correct settings are selected (see below). You may want to rasterize certain elements, such as business graphics. Rasterizing converts the element to a JPG or PNG image.
-
To dynamically select a section for output, use a Control Script; see "Control Scripts" on page 711. l PDF attachments can be compressed to make the files smaller; see "Compressing PDF attachments" on page 424. Generating Email output from Connect Designer To generate Email output from the Designer: 1. Open a template with an Email context. 2. Load a data file or database compatible with this template, or open a Data Mapping Configuration. See "Loading data" on page 658.
-
Preferences: select Window > Preferences, click the arrow next to Email, click General and type the test address next to Email Test address. For a description of how to test your email for different email clients, see this how-to: Test your emails with Litmus. For more information on Litmus, please see http://litmus.com/ Tip For a detailed description of how to use Mandrill with Connect to send and track emails, see the following how-to: Using Mandrill. Generating Email output from Workflow 1.
-
l l l l ESPs ensure a high deliverability, as most ESPs are whitelisted or approved by ISPs (Internet Service Providers) as legitimate email delivery service. So they help you to avoid having mail detected as spam. ESPs provide comprehensive tracking options to measure open rates and they log which links were clicked and by who. Typically this information is available via an online dashboard. Most ESPs provide Bounce Management options.
-
Sending an email with an ESP To send an email or test email with the use of an ESP, start generating the email as usual (see "Generating Email output" on page 1123). In the Send (Test) Email dialog, pay attention to the following settings: l l In the Outgoing mail settings area, select the preset for your ESP in the Presets dropdown. In the Password box, type the password provided by the ESP. Note The ESP might also have a test function you can use. Check the options of your ESP.
-
Documentation: https://sendgrid.com/docs/API_Reference/SMTP_API/using_the_smtp_ api.html Sample Control Script to assign a category: var headerObj = { "category": ["invoices"] }; merge.context.sections["Content"].headers = { "X-SMTPAPI": JSON.stringify(headerObj) }; Note Sendgrid strips out their mail headers. The results need to be verified via their Dashboards (e.g. the Stats section lets you verify the stats for specific categories).
-
Sample Control Script to assign a tag: merge.context.sections["Content"].headers = { "X-Mailgun-Tag": "invoices" }; Note The Mailgun tag allows you to view the stats per tag. Mailgun has a quick refresh and stats are available almost instantly. MailJet Dashboard: https://app.mailjet.com/dashboard Documentation: https://app.mailjet.
-
merge.context.sections["Content"].headers = { "X-Mailjet-Campaign": "invoices" }; Note Mailjet strips out their own mailheaders like X-Mailjet-Campaign. The results can only be verified via the respective campaign stats page in the Mailjet dashboard. There is no need to pre-create the campaign: adding it to the email header via a Control Script auto-generates the campaign. To view the campaign, login to Mailjet and choose: Campaigns > All.
-
Web output can be generated from the Designer when a data set is available. The data can be retrieved from a database or data file, or from a Data Mapping Configuration. If you have an open Data Mapping Configuration and open another data file, the current Data Mapping Configuration will try to retrieve data from the file or database using its own Data Model and extraction logic.
-
generated and added to the email as an HTML file. To attach multiple Web sections as separate attachments, you need to create a Control Script that specifies parts; see "Control Scripts" on page 711 and "Control Script API" on page 1077. 3. Load a data file or database compatible with this template. See "Loading data" on page 658. 4. On the File menu, click Send Email or Send Test Email. In the dialog that appears, check the option to attach the Web context to the email.
-
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. It is recommended to use a common web server (for example, IIS or Apache) to serve your contents and to let Workflow process things only it can do. For more information on how to serve HTML and PDF generated by Connect through IIS, watch the Connect with Evie - IIS series.
-
l PlanetPress Connect 1.6 Release Notes l PlanetPress Connect 1.5 Release Notes l PlanetPress Connect 1.4 Release Notes Overview This document provides an overview of the new features and enhancements in PlanetPress Connect 2018.1 and PlanetPress Workflow 2018.1, as well as some important installation information. Installing PlanetPress Connect 2018.1 and PlanetPress Workflow 2018.
-
Upgrading from PlanetPress Connect 1.7 It is highly recommended that you update the Objectif Lune Update Client before upgrading PlanetPress Connect from version 1.7 to version 2018.1. If you do not update the Update Client, an unexpected error might occur whilst updating Connect. This error does not prevent the successful upgrade of Connect to 2018.1, even though it appears as if it might have.
-
Connect 2018.1.3 Enhancements/Fixes Hyperlinks broken in PDF output Hyperlinks in PDF output were broken in 2018.1. This issue has been fixed, and hyperlinks now work as expected in 2018.1.3. (SHARED-64353) Connect 2018.1.
-
Special characters displayed incorrectly in Designer Snippet editor Fixed an issue with the encoding of non-Latin-1 characters in HTML snippet editors. (SHARED-64530) Connect 2018.1.1 Enhancements/Fixes Section cloning issues Two separate Section cloning issues were fixed. (SHARED-64087) The issues were: l l Cloned content was being based upon the section for which addBefore or addAfter was invoked, rather than the section the clone was originally based on. The rendered page count could be incorrect.
-
In Workflow 2018.1.1 the GetKeySets() function has been changed to support both the more correct asterisk '*' parameter as well as the deprecated blank entry. (SHARED-64162) Issue with Type 3 fonts in PDF Output Type 3 fonts not embedded in PDF Output are replaced with font substitutions. These could become unmanageable in some circumstances. This issue has now been fixed. (SHARED64214) Connect 2018.1 General Enhancements Dynamic Print Control for PostScript printers Connect 2018.
-
This allows: l l The use of printer features that are not yet supported through the Connect user interface, such as: l switching between color and greyscale printing l selecting output bins Direct control of supported PostScript functionality, such as: l Duplex/Simplex l Print Media selection l Finishing options (e.g.
-
NOTE: Case sensitivity/insensitivity has not been added as an option in this first cut of the Dynamic Print Control rules editor. This will be added in a subsequent version.
-
Improved Business Graphics Business Graphics have been greatly enhanced and now display a preview of the data and graph as part of the Pie, Line and Bar chart wizards. The updated wizards simplify data selection and allows you to set and preview graph options dynamically, prior to inserting the graph object.
-
Refer to the amChart documentation for more information on the numerous configuration options available. NOTE: As a consequence of changes in both the user interface and the underlying technology, Business Graphics made with a version prior to PlanetPress Connect 2018.1 may not display correctly when opened in version 2018.1. See the Business Graphics: Backwards Compatibility section on this page for full details.
-
Windows Server 2016 now officially supported As of PlanetPress Connect 2018.1, Connect is now officially supported under Windows Server 2016. NOTE: The Objectif Lune Inc. Update Client application might be blocked by enhanced security settings in Windows Server 2016. To fix this, add http://updates.ca.objectiflune.com to the list of trusted web sites on that machine, or lower the internet access rules. Improved Previews The Preview now smooths text, images and line art when rasterizing a page.
-
New Preferences options: l l Scheduling preferences for Merge and Weaver engines now include a preference for specifying the memory (RAM) to be used per engine. (SHARED-44547) Merge and Weaver engine scheduling preferences now include an option for scheduling an engine restart if the total amount of memory (RAM) used by the engine exceeds the specified entry. This is in addition to the time limit setting.
-
l Log file settings can now be adjusted within the Designer and Server Configuration preference windows. The settings are global to all Connect applications. Settings include log file rollover options (time or size based), and the format of the log messages generated. (SHARED-60043) Installer Improvements: l l l Prerequisites now installed silently when installing Connect using silent installer.
-
l l When using the REST API to execute a +PReS Enhance configuration that logged to a custom log file, the log file could not be deleted at the end of the execution. Repeating the execution of the +PReS Enhance configuration also caused unreadable NUL characters to appear in the log file and log messages were appended to it. This has now been fixed and the custom log file now closes at the completion of the Enhance configuration execution. (SHARED-59656) Logging infrastructure has been updated.
-
Connect 2018.1 Designer Enhancements/Fixes Updated internal browser component The browser component (Mozilla Gecko) used in the WYSIWYG editor of the Designer has been updated. This allows you to use new CSS properties like flexbox. Connect 2018.1 now uses Mozilla Gecko 38 as its HTML rendering engine. (SHARED-42286) NOTE: The update to the Mozilla Gecko engine could lead to increased output file sizes for some PCL jobs.
-
values to dynamically specify a file from disk or a remote location. l Static file attachments can be added to email sections via the Attachments tab in the Email Section Properties dialog. (SHARED-28343) You can also select whether the Print Context should be added as a PDF attachment or not, using the "Attach Print context as PDF" check-box. Rotate and Scale Background Images Section Background images can now be rotated or scaled, either via the Section Properties dialog or via a control script.
-
Align multiple objects You can now select and align several absolute positioned objects at once with the new Align Objects context menu. (SHARED-60263) Preflight improvements Double-clicking a script warning or error in the Preflight report will now open the offending script within a script editor. (SHARED-60273) Improved language support Disable certain CTRL + ALT + > shortcuts in source editors, including source tab, HTML snippet editors and CSS editors.
-
Scripting improvements: l l Option added to allow setting Case Sensitivity on or off for any conditional string comparison scripts. (SHARED-56535) Improved support in Text Script Wizards for the custom formatting of Date, Currency, and Numeric fields. (SHARED-60261) The above example shows a custom pattern for a currency value, containing a subpattern for negative values. How the result would appear is shown in the Example field.
-
l l l l Improved Email Context script selection. All the Email Context scripts are now bundled together in their own sub-menu. (SHARED-56602) Improvements made to the default data field selection logic when adding new Text Scripts. (SHARED-57286) Double clicking a script in the Script Panel with the script editor open will now prompt you to save your changes. (SHARED-47908) Any open Script Editor will now close when another template is opened.
-
General Designer improvements: l l l Style rule changes can now be saved and applied instantly from within the Edit Rule dialog, via a new Apply button. (SHARED-58595) A new Send to Workflow icon has been added to Designer. It can be found as a new option in the icon toolbar and has also been added to the existing File menu option. (SHARED-59322) You can now copy/paste or drag/drop images files from the file system or Images folder to the Stylesheets folder.
-
l l l l l l l l l The New Email and New Print template wizards now open using the last used Template settings. Selections such as page size, page margins and the like will be retained. (SHARED-33982) Improved element insertion rules, to make context menus and dialogs more accurate. For example the option to add Absolute elements in emails has been removed, as the email format does not support this functionality. (SHARED-60947/61117) Improved support for remote images (http-based URLs).
-
Connect 2018.1 DataMapping Enhancements/Fixes Standalone DataMapper Engine The DataMapper Engine has been stripped into a separate stand-alone server, to make it more efficient and configurable now as well as more adaptable in the future. The new DataMapper Engine options can be set via the Connect Server Configuration tool. (SHARED-59696) Improved date field support for Excel datafiles Formatting for date fields in Excel data files has been improved.
-
Ignore CR/LF in Text records New option added to allow ignore end-of-line CR/LF characters in Text datafiles. This prevents empty trailing records being added to the dataset. (SHARED-62139) Create unique GUID in scripts New DataMapper Script function createGUID() added to the Boundaries and Steps scripts. This function returns a unique GUID. (SHARED-61246) New "No Data" warning A visual warning has been added to the DataMapper when an open table contains no data.
-
l l It is now possible to add a CSV input file containing only a single column. (SHARED59814) Improved DataMapping performance for XML files containing large numbers of end-of-line CR/LF characters.
-
Connect 2018.1 Output Enhancements/Fixes Redesigned Additional Content page in the Print Wizard The Additional Content page in the Print Wizard has been re-designed to present all the Additional Content entries in a single table, simplifying Additional Content management. (SHARED-56444) Improved Tray Mapping in Printer Wizard Media attributes can now be imported directly into the output config tray mapping from either the currently open template or from a saved template file.
-
New Conditional option During Output Creation, it is now possible to determine the template section to which a sheet belongs to using the new sheet.sectionName property. This property has been made available as a conditional option in the Printer Wizard. (SHARED-61275) NOTE: The introduction of this property introduces a slight risk of compatibility issues, but only for cases where an existing custom printer definition or Enhance configuration already has a user-defined property with the exact same name.
-
Print Output Improvements: l l l l Transparency support for PDF output. (SHARED-61492) Soft mask improvement in PDF. The soft mask is now set by the CTM ("Current Transformation Matrix") when the soft mask is created. (SHARED-58893) Improvements made to generic PCL output for some printers. (SHARED-60019) Booklet Impositioning for mix-plex jobs has been improved, reducing the likelihood of empty pages.
-
Workflow 2018.1 Enhancements/Fixes Improved Performance The performance of the Execute Data Mapping and Retrieve Items tasks have been improved when setting the options to "Output Records to Metadata". (SHARED-56678) NOTE: The performance update to Retrieve Item is currently only implemented for Data Records. The other entity types will be added in a subsequent release. Retrieve Items by their IDs Option added to the Retrieve Items task to support retrieving items via their associated entity IDs.
-
New option in Create Web Content task An option to "Do not alter HTML" was added to the Create Web Content task. When selected the task shall not add the BASE element to the HTML as it usually does, nor shall it modify the local anchors with JavaScript code. (SHARED-62521) New option in FTP Input task An option to "Search in subfolders" has been added to the FTP Input task.
-
New Workflow Preferences: l l You can now set the default Workflow scripting language. This defaults to VB Script for backwards comparability. (SHARED-60000) Improved PHP like Array options are now available for the HTTP Service plug-in. (SHARED-50770) Number of email attachments now available The number of email attachments is now available to the Email Input task.
-
GUID variable introduced A new %U system variable has been introduced to support full GUID values. This new variable is an addition to the pre-existing %u ( a unique 15-char string). The new %U system variable is available in the same locations that the %u system variable is, including in the context menus.
-
l Options for setting the logging refresh speed have been added. (SHARED-60029) Workflow Data Repository Manager improvements: l Improved Data Repository Key Set editor. (SHARED-59137/60165) l Improved speed when writing to a Data Repository. (SHARED-51564) l l l Instead of throwing an error the lookup() function now returns NODATA when an invalid group and/or key is passed.
-
l Fixed issue whereby Workflow would stop processing PostScript and PDF jobs on some Windows 10 Fall Creators Update machines. (SHARED-62516) Known Issues As of PlanetPress Connect 2018.1 the Known Issues have moved from the Release Notes to the Connect online Help. They can be found here. Overview This document provides an overview of the new features and enhancements in PlanetPress Connect 2018.1 and PlanetPress Workflow 2018.1, as well as some important installation information.
-
The license allows regular printing via the Print Wizard but runs Email and Web output in demo mode. For more information, please contact your local OL Customer Care or Sales team. Templates Used in Workflow For improved performance we recommend re-saving Workflow templates set up in the previous versions to run with PlanetPress Connect2018.1\Workflow 2018.1.
-
Upgrading from PlanetPress Connect 1.7 It is highly recommended that you update the Objectif Lune Update Client before upgrading PlanetPress Connect from version 1.7 to version 2018.1. If you do not update the Update Client, an unexpected error might occur whilst updating Connect. This error does not prevent the successful upgrade of Connect to 2018.1, even though it appears as if it might have.
-
Connect 2018.1.2 Enhancements/Fixes Issues running Connect jobs through Enhance l l l When running multiple parallel output channels via Enhance configurations it was possible that some output channels could attempt to write the exact same content at the exact same time, thus using the same resources. This could lead to conflicts and resulted in errors and inconsistencies between outputs. This issue has now been fixed.
-
Connect 2018.1.1 Enhancements/Fixes Section cloning issues Two separate Section cloning issues were fixed. (SHARED-64087) The issues were: l l Cloned content was being based upon the section for which addBefore or addAfter was invoked, rather than the section the clone was originally based on. The rendered page count could be incorrect.
-
Issue with Type 3 fonts in PDF Output Type 3 fonts not embedded in PDF Output are replaced with font substitutions. These could become unmanageable in some circumstances. This issue has now been fixed. (SHARED64214) Connect 2018.1 General Enhancements Dynamic Print Control for PostScript printers Connect 2018.1 introduces a new way to drive PostScript printers.
-
This allows: l l The use of printer features that are not yet supported through the Connect user interface, such as: l switching between color and greyscale printing l selecting output bins Direct control of supported PostScript functionality, such as: l Duplex/Simplex l Print Media selection l Finishing options (e.g.
-
NOTE: Case sensitivity/insensitivity has not been added as an option in this first cut of the Dynamic Print Control rules editor. This will be added in a subsequent version.
-
Improved Business Graphics Business Graphics have been greatly enhanced and now display a preview of the data and graph as part of the Pie, Line and Bar chart wizards. The updated wizards simplify data selection and allows you to set and preview graph options dynamically, prior to inserting the graph object.
-
Refer to the amChart documentation for more information on the numerous configuration options available. NOTE: As a consequence of changes in both the user interface and the underlying technology, Business Graphics made with a version prior to PlanetPress Connect 2018.1 may not display correctly when opened in version 2018.1. See the Business Graphics: Backwards Compatibility section on this page for full details.
-
Windows Server 2016 now officially supported As of PlanetPress Connect 2018.1, Connect is now officially supported under Windows Server 2016. NOTE: The Objectif Lune Inc. Update Client application might be blocked by enhanced security settings in Windows Server 2016. To fix this, add http://updates.ca.objectiflune.com to the list of trusted web sites on that machine, or lower the internet access rules. Improved Previews The Preview now smooths text, images and line art when rasterizing a page.
-
New Preferences options: l l Scheduling preferences for Merge and Weaver engines now include a preference for specifying the memory (RAM) to be used per engine. (SHARED-44547) Merge and Weaver engine scheduling preferences now include an option for scheduling an engine restart if the total amount of memory (RAM) used by the engine exceeds the specified entry. This is in addition to the time limit setting.
-
l Log file settings can now be adjusted within the Designer and Server Configuration preference windows. The settings are global to all Connect applications. Settings include log file rollover options (time or size based), and the format of the log messages generated. (SHARED-60043) Installer Improvements: l l l Prerequisites now installed silently when installing Connect using silent installer.
-
l l When using the REST API to execute a +PReS Enhance configuration that logged to a custom log file, the log file could not be deleted at the end of the execution. Repeating the execution of the +PReS Enhance configuration also caused unreadable NUL characters to appear in the log file and log messages were appended to it. This has now been fixed and the custom log file now closes at the completion of the Enhance configuration execution. (SHARED-59656) Logging infrastructure has been updated.
-
Connect 2018.1 Designer Enhancements/Fixes Updated internal browser component The browser component (Mozilla Gecko) used in the WYSIWYG editor of the Designer has been updated. This allows you to use new CSS properties like flexbox. Connect 2018.1 now uses Mozilla Gecko 38 as its HTML rendering engine. (SHARED-42286) NOTE: The update to the Mozilla Gecko engine could lead to increased output file sizes for some PCL jobs.
-
values to dynamically specify a file from disk or a remote location. l Static file attachments can be added to email sections via the Attachments tab in the Email Section Properties dialog. (SHARED-28343) You can also select whether the Print Context should be added as a PDF attachment or not, using the "Attach Print context as PDF" check-box. Rotate and Scale Background Images Section Background images can now be rotated or scaled, either via the Section Properties dialog or via a control script.
-
Align multiple objects You can now select and align several absolute positioned objects at once with the new Align Objects context menu. (SHARED-60263) Preflight improvements Double-clicking a script warning or error in the Preflight report will now open the offending script within a script editor. (SHARED-60273) Improved language support Disable certain CTRL + ALT + > shortcuts in source editors, including source tab, HTML snippet editors and CSS editors.
-
Scripting improvements: l l Option added to allow setting Case Sensitivity on or off for any conditional string comparison scripts. (SHARED-56535) Improved support in Text Script Wizards for the custom formatting of Date, Currency, and Numeric fields. (SHARED-60261) The above example shows a custom pattern for a currency value, containing a subpattern for negative values. How the result would appear is shown in the Example field.
-
l l l l Improved Email Context script selection. All the Email Context scripts are now bundled together in their own sub-menu. (SHARED-56602) Improvements made to the default data field selection logic when adding new Text Scripts. (SHARED-57286) Double clicking a script in the Script Panel with the script editor open will now prompt you to save your changes. (SHARED-47908) Any open Script Editor will now close when another template is opened.
-
General Designer improvements: l l l Style rule changes can now be saved and applied instantly from within the Edit Rule dialog, via a new Apply button. (SHARED-58595) A new Send to Workflow icon has been added to Designer. It can be found as a new option in the icon toolbar and has also been added to the existing File menu option. (SHARED-59322) You can now copy/paste or drag/drop images files from the file system or Images folder to the Stylesheets folder.
-
l l l l l l l l l The New Email and New Print template wizards now open using the last used Template settings. Selections such as page size, page margins and the like will be retained. (SHARED-33982) Improved element insertion rules, to make context menus and dialogs more accurate. For example the option to add Absolute elements in emails has been removed, as the email format does not support this functionality. (SHARED-60947/61117) Improved support for remote images (http-based URLs).
-
Connect 2018.1 DataMapping Enhancements/Fixes Standalone DataMapper Engine The DataMapper Engine has been stripped into a separate stand-alone server, to make it more efficient and configurable now as well as more adaptable in the future. The new DataMapper Engine options can be set via the Connect Server Configuration tool. (SHARED-59696) Improved date field support for Excel datafiles Formatting for date fields in Excel data files has been improved.
-
Ignore CR/LF in Text records New option added to allow ignore end-of-line CR/LF characters in Text datafiles. This prevents empty trailing records being added to the dataset. (SHARED-62139) Create unique GUID in scripts New DataMapper Script function createGUID() added to the Boundaries and Steps scripts. This function returns a unique GUID. (SHARED-61246) New "No Data" warning A visual warning has been added to the DataMapper when an open table contains no data.
-
l l It is now possible to add a CSV input file containing only a single column. (SHARED59814) Improved DataMapping performance for XML files containing large numbers of end-of-line CR/LF characters.
-
Connect 2018.1 Output Enhancements/Fixes Redesigned Additional Content page in the Print Wizard The Additional Content page in the Print Wizard has been re-designed to present all the Additional Content entries in a single table, simplifying Additional Content management. (SHARED-56444) Improved Tray Mapping in Printer Wizard Media attributes can now be imported directly into the output config tray mapping from either the currently open template or from a saved template file.
-
New Conditional option During Output Creation, it is now possible to determine the template section to which a sheet belongs to using the new sheet.sectionName property. This property has been made available as a conditional option in the Printer Wizard. (SHARED-61275) NOTE: The introduction of this property introduces a slight risk of compatibility issues, but only for cases where an existing custom printer definition or Enhance configuration already has a user-defined property with the exact same name.
-
Print Output Improvements: l l l l Transparency support for PDF output. (SHARED-61492) Soft mask improvement in PDF. The soft mask is now set by the CTM ("Current Transformation Matrix") when the soft mask is created. (SHARED-58893) Improvements made to generic PCL output for some printers. (SHARED-60019) Booklet Impositioning for mix-plex jobs has been improved, reducing the likelihood of empty pages.
-
Workflow 2018.1 Enhancements/Fixes Improved Performance The performance of the Execute Data Mapping and Retrieve Items tasks have been improved when setting the options to "Output Records to Metadata". (SHARED-56678) NOTE: The performance update to Retrieve Item is currently only implemented for Data Records. The other entity types will be added in a subsequent release. Retrieve Items by their IDs Option added to the Retrieve Items task to support retrieving items via their associated entity IDs.
-
New option in Create Web Content task An option to "Do not alter HTML" was added to the Create Web Content task. When selected the task shall not add the BASE element to the HTML as it usually does, nor shall it modify the local anchors with JavaScript code. (SHARED-62521) New option in FTP Input task An option to "Search in subfolders" has been added to the FTP Input task.
-
New Workflow Preferences: l l You can now set the default Workflow scripting language. This defaults to VB Script for backwards comparability. (SHARED-60000) Improved PHP like Array options are now available for the HTTP Service plug-in. (SHARED-50770) Number of email attachments now available The number of email attachments is now available to the Email Input task.
-
GUID variable introduced A new %U system variable has been introduced to support full GUID values. This new variable is an addition to the pre-existing %u ( a unique 15-char string). The new %U system variable is available in the same locations that the %u system variable is, including in the context menus.
-
l Options for setting the logging refresh speed have been added. (SHARED-60029) Workflow Data Repository Manager improvements: l Improved Data Repository Key Set editor. (SHARED-59137/60165) l Improved speed when writing to a Data Repository. (SHARED-51564) l l l Instead of throwing an error the lookup() function now returns NODATA when an invalid group and/or key is passed.
-
l Fixed issue whereby Workflow would stop processing PostScript and PDF jobs on some Windows 10 Fall Creators Update machines. (SHARED-62516) Known Issues As of PlanetPress Connect 2018.1 the Known Issues have moved from the Release Notes to the Connect online Help. They can be found here. Overview This document provides an overview of the new features and enhancements in PlanetPress Connect 2018.1 and PlanetPress Workflow 2018.1, as well as some important installation information.
-
The license allows regular printing via the Print Wizard but runs Email and Web output in demo mode. For more information, please contact your local OL Customer Care or Sales team. Templates Used in Workflow For improved performance we recommend re-saving Workflow templates set up in the previous versions to run with PlanetPress Connect2018.1\Workflow 2018.1.
-
Upgrading from PlanetPress Connect 1.7 It is highly recommended that you update the Objectif Lune Update Client before upgrading PlanetPress Connect from version 1.7 to version 2018.1. If you do not update the Update Client, an unexpected error might occur whilst updating Connect. This error does not prevent the successful upgrade of Connect to 2018.1, even though it appears as if it might have.
-
Connect 2018.1.1 Enhancements/Fixes Section cloning issues Two separate Section cloning issues were fixed. (SHARED-64087) The issues were: l l Cloned content was being based upon the section for which addBefore or addAfter was invoked, rather than the section the clone was originally based on. The rendered page count could be incorrect.
-
Issue with Type 3 fonts in PDF Output Type 3 fonts not embedded in PDF Output are replaced with font substitutions. These could become unmanageable in some circumstances. This issue has now been fixed.
-
Connect 2018.1 General Enhancements Dynamic Print Control for PostScript printers Connect 2018.1 introduces a new way to drive PostScript printers.
-
l l The use of printer features that are not yet supported through the Connect user interface, such as: l switching between color and greyscale printing l selecting output bins Direct control of supported PostScript functionality, such as: l Duplex/Simplex l Print Media selection l Finishing options (e.g. Stapling, Binding and Folding) NOTE: Case sensitivity/insensitivity has not been added as an option in this first cut of the Dynamic Print Control rules editor.
-
Improved Business Graphics Business Graphics have been greatly enhanced and now display a preview of the data and graph as part of the Pie, Line and Bar chart wizards. The updated wizards simplify data selection and allows you to set and preview graph options dynamically, prior to inserting the graph object.
-
Refer to the amChart documentation for more information on the numerous configuration options available. NOTE: As a consequence of changes in both the user interface and the underlying technology, Business Graphics made with a version prior to PlanetPress Connect 2018.1 may not display correctly when opened in version 2018.1. See the Business Graphics: Backwards Compatibility section on this page for full details.
-
Windows Server 2016 now officially supported As of PlanetPress Connect 2018.1, Connect is now officially supported under Windows Server 2016. NOTE: The Objectif Lune Inc. Update Client application might be blocked by enhanced security settings in Windows Server 2016. To fix this, add http://updates.ca.objectiflune.com to the list of trusted web sites on that machine, or lower the internet access rules. Improved Previews The Preview now smooths text, images and line art when rasterizing a page.
-
New Preferences options: l l Scheduling preferences for Merge and Weaver engines now include a preference for specifying the memory (RAM) to be used per engine. (SHARED-44547) Merge and Weaver engine scheduling preferences now include an option for scheduling an engine restart if the total amount of memory (RAM) used by the engine exceeds the specified entry. This is in addition to the time limit setting.
-
l Log file settings can now be adjusted within the Designer and Server Configuration preference windows. The settings are global to all Connect applications. Settings include log file rollover options (time or size based), and the format of the log messages generated. (SHARED-60043) Installer Improvements: l l l Prerequisites now installed silently when installing Connect using silent installer.
-
l l When using the REST API to execute a +PReS Enhance configuration that logged to a custom log file, the log file could not be deleted at the end of the execution. Repeating the execution of the +PReS Enhance configuration also caused unreadable NUL characters to appear in the log file and log messages were appended to it. This has now been fixed and the custom log file now closes at the completion of the Enhance configuration execution. (SHARED-59656) Logging infrastructure has been updated.
-
Connect 2018.1 Designer Enhancements/Fixes Updated internal browser component The browser component (Mozilla Gecko) used in the WYSIWYG editor of the Designer has been updated. This allows you to use new CSS properties like flexbox. Connect 2018.1 now uses Mozilla Gecko 38 as its HTML rendering engine. (SHARED-42286) NOTE: The update to the Mozilla Gecko engine could lead to increased output file sizes for some PCL jobs.
-
values to dynamically specify a file from disk or a remote location. l Static file attachments can be added to email sections via the Attachments tab in the Email Section Properties dialog. (SHARED-28343) You can also select whether the Print Context should be added as a PDF attachment or not, using the "Attach Print context as PDF" check-box. Rotate and Scale Background Images Section Background images can now be rotated or scaled, either via the Section Properties dialog or via a control script.
-
Align multiple objects You can now select and align several absolute positioned objects at once with the new Align Objects context menu. (SHARED-60263) Preflight improvements Double-clicking a script warning or error in the Preflight report will now open the offending script within a script editor. (SHARED-60273) Improved language support Disable certain CTRL + ALT + > shortcuts in source editors, including source tab, HTML snippet editors and CSS editors.
-
Scripting improvements: l l Option added to allow setting Case Sensitivity on or off for any conditional string comparison scripts. (SHARED-56535) Improved support in Text Script Wizards for the custom formatting of Date, Currency, and Numeric fields. (SHARED-60261) The above example shows a custom pattern for a currency value, containing a subpattern for negative values. How the result would appear is shown in the Example field.
-
l l l l Improved Email Context script selection. All the Email Context scripts are now bundled together in their own sub-menu. (SHARED-56602) Improvements made to the default data field selection logic when adding new Text Scripts. (SHARED-57286) Double clicking a script in the Script Panel with the script editor open will now prompt you to save your changes. (SHARED-47908) Any open Script Editor will now close when another template is opened.
-
General Designer improvements: l l l Style rule changes can now be saved and applied instantly from within the Edit Rule dialog, via a new Apply button. (SHARED-58595) A new Send to Workflow icon has been added to Designer. It can be found as a new option in the icon toolbar and has also been added to the existing File menu option. (SHARED-59322) You can now copy/paste or drag/drop images files from the file system or Images folder to the Stylesheets folder.
-
l l l l l l l l l The New Email and New Print template wizards now open using the last used Template settings. Selections such as page size, page margins and the like will be retained. (SHARED-33982) Improved element insertion rules, to make context menus and dialogs more accurate. For example the option to add Absolute elements in emails has been removed, as the email format does not support this functionality. (SHARED-60947/61117) Improved support for remote images (http-based URLs).
-
Connect 2018.1 DataMapping Enhancements/Fixes Standalone DataMapper Engine The DataMapper Engine has been stripped into a separate stand-alone server, to make it more efficient and configurable now as well as more adaptable in the future. The new DataMapper Engine options can be set via the Connect Server Configuration tool. (SHARED-59696) Improved date field support for Excel datafiles Formatting for date fields in Excel data files has been improved.
-
Ignore CR/LF in Text records New option added to allow ignore end-of-line CR/LF characters in Text datafiles. This prevents empty trailing records being added to the dataset. (SHARED-62139) Create unique GUID in scripts New DataMapper Script function createGUID() added to the Boundaries and Steps scripts. This function returns a unique GUID. (SHARED-61246) New "No Data" warning A visual warning has been added to the DataMapper when an open table contains no data.
-
l l It is now possible to add a CSV input file containing only a single column. (SHARED59814) Improved DataMapping performance for XML files containing large numbers of end-of-line CR/LF characters.
-
Connect 2018.1 Output Enhancements/Fixes Redesigned Additional Content page in the Print Wizard The Additional Content page in the Print Wizard has been re-designed to present all the Additional Content entries in a single table, simplifying Additional Content management. (SHARED-56444) Improved Tray Mapping in Printer Wizard Media attributes can now be imported directly into the output config tray mapping from either the currently open template or from a saved template file.
-
New Conditional option During Output Creation, it is now possible to determine the template section to which a sheet belongs to using the new sheet.sectionName property. This property has been made available as a conditional option in the Printer Wizard. (SHARED-61275) NOTE: The introduction of this property introduces a slight risk of compatibility issues, but only for cases where an existing custom printer definition or Enhance configuration already has a user-defined property with the exact same name.
-
Print Output Improvements: l l l l Transparency support for PDF output. (SHARED-61492) Soft mask improvement in PDF. The soft mask is now set by the CTM ("Current Transformation Matrix") when the soft mask is created. (SHARED-58893) Improvements made to generic PCL output for some printers. (SHARED-60019) Booklet Impositioning for mix-plex jobs has been improved, reducing the likelihood of empty pages.
-
Workflow 2018.1 Enhancements/Fixes Improved Performance The performance of the Execute Data Mapping and Retrieve Items tasks have been improved when setting the options to "Output Records to Metadata". (SHARED-56678) NOTE: The performance update to Retrieve Item is currently only implemented for Data Records. The other entity types will be added in a subsequent release. Retrieve Items by their IDs Option added to the Retrieve Items task to support retrieving items via their associated entity IDs.
-
New option in Create Web Content task An option to "Do not alter HTML" was added to the Create Web Content task. When selected the task shall not add the BASE element to the HTML as it usually does, nor shall it modify the local anchors with JavaScript code. (SHARED-62521) New option in FTP Input task An option to "Search in subfolders" has been added to the FTP Input task.
-
New Workflow Preferences: l l You can now set the default Workflow scripting language. This defaults to VB Script for backwards comparability. (SHARED-60000) Improved PHP like Array options are now available for the HTTP Service plug-in. (SHARED-50770) Number of email attachments now available The number of email attachments is now available to the Email Input task.
-
GUID variable introduced A new %U system variable has been introduced to support full GUID values. This new variable is an addition to the pre-existing %u ( a unique 15-char string). The new %U system variable is available in the same locations that the %u system variable is, including in the context menus.
-
l Options for setting the logging refresh speed have been added. (SHARED-60029) Workflow Data Repository Manager improvements: l Improved Data Repository Key Set editor. (SHARED-59137/60165) l Improved speed when writing to a Data Repository. (SHARED-51564) l l l Instead of throwing an error the lookup() function now returns NODATA when an invalid group and/or key is passed.
-
l Fixed issue whereby Workflow would stop processing PostScript and PDF jobs on some Windows 10 Fall Creators Update machines. (SHARED-62516) Known Issues As of PlanetPress Connect 2018.1 the Known Issues have moved from the Release Notes to the Connect online Help. They can be found here. Overview This document provides an overview of the new features and enhancements in PlanetPress Connect 2018.1 and PlanetPress Workflow 2018.1, as well as some important installation information.
-
The license allows regular printing via the Print Wizard but runs Email and Web output in demo mode. For more information, please contact your local OL Customer Care or Sales team. Templates Used in Workflow For improved performance we recommend re-saving Workflow templates set up in the previous versions to run with PlanetPress Connect2018.1\Workflow 2018.1.
-
Upgrading from PlanetPress Connect 1.7 It is highly recommended that you update the Objectif Lune Update Client before upgrading PlanetPress Connect from version 1.7 to version 2018.1. If you do not update the Update Client, an unexpected error might occur whilst updating Connect. This error does not prevent the successful upgrade of Connect to 2018.1, even though it appears as if it might have.
-
Connect 2018.1 General Enhancements Dynamic Print Control for PostScript printers. Connect 2018.1 introduces a new way to drive PostScript printers.
-
l l The use of printer features that are not yet supported through the Connect user interface, such as: l switching between color and greyscale printing l selecting output bins Direct control of supported PostScript functionality, such as: l Duplex/Simplex l Print Media selection l Finishing options (e.g. Stapling, Binding and Folding) NOTE: Case sensitivity/insensitivity has not been added as an option in this first cut of the Dynamic Print Control rules editor.
-
Improved Business Graphics Business Graphics have been greatly enhanced and now display a preview of the data and graph as part of the Pie, Line and Bar chart wizards. The updated wizards simplify data selection and allows you to set and preview graph options dynamically, prior to inserting the graph object.
-
Refer to the amChart documentation for more information on the numerous configuration options available. NOTE: As a consequence of changes in both the user interface and the underlying technology, Business Graphics made with a version prior to PlanetPress Connect 2018.1 may not display correctly when opened in version 2018.1. See the Business Graphics: Backwards Compatibility section on this page for full details.
-
Windows Server 2016 now officially supported As of PlanetPress Connect 2018.1, Connect is now officially supported under Windows Server 2016. NOTE: The Objectif Lune Inc. Update Client application might be blocked by enhanced security settings in Windows Server 2016. To fix this, add http://updates.ca.objectiflune.com to the list of trusted web sites on that machine, or lower the internet access rules. Improved Previews The Preview now smooths text, images and line art when rasterizing a page.
-
New Preferences options: l l Scheduling preferences for Merge and Weaver engines now include a preference for specifying the memory (RAM) to be used per engine. (SHARED-44547) Merge and Weaver engine scheduling preferences now include an option for scheduling an engine restart if the total amount of memory (RAM) used by the engine exceeds the specified entry. This is in addition to the time limit setting.
-
l Log file settings can now be adjusted within the Designer and Server Configuration preference windows. The settings are global to all Connect applications. Settings include log file rollover options (time or size based), and the format of the log messages generated. (SHARED-60043) Installer Improvements: l l l Prerequisites now installed silently when installing Connect using silent installer.
-
l l When using the REST API to execute a +PReS Enhance configuration that logged to a custom log file, the log file could not be deleted at the end of the execution. Repeating the execution of the +PReS Enhance configuration also caused unreadable NUL characters to appear in the log file and log messages were appended to it. This has now been fixed and the custom log file now closes at the completion of the Enhance configuration execution. (SHARED-59656) Logging infrastructure has been updated.
-
Connect 2018.1 Designer Enhancements/Fixes Updated internal browser component The browser component (Mozilla Gecko) used in the WYSIWYG editor of the Designer has been updated. This allows you to use new CSS properties like flexbox. Connect 2018.1 now uses Mozilla Gecko 38 as its HTML rendering engine. (SHARED-42286) NOTE: The update to the Mozilla Gecko engine could lead to increased output file sizes for some PCL jobs.
-
values to dynamically specify a file from disk or a remote location. l Static file attachments can be added to email sections via the Attachments tab in the Email Section Properties dialog. (SHARED-28343) You can also select whether the Print Context should be added as a PDF attachment or not, using the "Attach Print context as PDF" check-box. Rotate and Scale Background Images Section Background images can now be rotated or scaled, either via the Section Properties dialog or via a control script.
-
Align multiple objects You can now select and align several absolute positioned objects at once with the new Align Objects context menu. (SHARED-60263) Preflight improvements Double-clicking a script warning or error in the Preflight report will now open the offending script within a script editor. (SHARED-60273) Improved language support Disable certain CTRL + ALT + > shortcuts in source editors, including source tab, HTML snippet editors and CSS editors.
-
Scripting improvements: l l Option added to allow setting Case Sensitivity on or off for any conditional string comparison scripts. (SHARED-56535) Improved support in Text Script Wizards for the custom formatting of Date, Currency, and Numeric fields. (SHARED-60261) The above example shows a custom pattern for a currency value, containing a subpattern for negative values. How the result would appear is shown in the Example field.
-
l l l l Improved Email Context script selection. All the Email Context scripts are now bundled together in their own sub-menu. (SHARED-56602) Improvements made to the default data field selection logic when adding new Text Scripts. (SHARED-57286) Double clicking a script in the Script Panel with the script editor open will now prompt you to save your changes. (SHARED-47908) Any open Script Editor will now close when another template is opened.
-
General Designer improvements: l l l Style rule changes can now be saved and applied instantly from within the Edit Rule dialog, via a new Apply button. (SHARED-58595) A new Send to Workflow icon has been added to Designer. It can be found as a new option in the icon toolbar and has also been added to the existing File menu option. (SHARED-59322) You can now copy/paste or drag/drop images files from the file system or Images folder to the Stylesheets folder.
-
l l l l l l l l l The New Email and New Print template wizards now open using the last used Template settings. Selections such as page size, page margins and the like will be retained. (SHARED-33982) Improved element insertion rules, to make context menus and dialogs more accurate. For example the option to add Absolute elements in emails has been removed, as the email format does not support this functionality. (SHARED-60947/61117) Improved support for remote images (http-based URLs).
-
Connect 2018.1 DataMapping Enhancements/Fixes Standalone DataMapper Engine The DataMapper Engine has been stripped into a separate stand-alone server, to make it more efficient and configurable now as well as more adaptable in the future. The new DataMapper Engine options can be set via the Connect Server Configuration tool. (SHARED-59696) Improved date field support for Excel datafiles Formatting for date fields in Excel data files has been improved.
-
Ignore CR/LF in Text records New option added to allow ignore end-of-line CR/LF characters in Text datafiles. This prevents empty trailing records being added to the dataset. (SHARED-62139) Create unique GUID in scripts New DataMapper Script function createGUID() added to the Boundaries and Steps scripts. This function returns a unique GUID. (SHARED-61246) New "No Data" warning A visual warning has been added to the DataMapper when an open table contains no data.
-
l l It is now possible to add a CSV input file containing only a single column. (SHARED59814) Improved DataMapping performance for XML files containing large numbers of end-of-line CR/LF characters.
-
Connect 2018.1 Output Enhancements/Fixes Redesigned Additional Content page in the Print Wizard The Additional Content page in the Print Wizard has been re-designed to present all the Additional Content entries in a single table, simplifying Additional Content management. (SHARED-56444) Improved Tray Mapping in Printer Wizard Media attributes can now be imported directly into the output config tray mapping from either the currently open template or from a saved template file.
-
New Conditional option During Output Creation, it is now possible to determine the template section to which a sheet belongs to using the new sheet.sectionName property. This property has been made available as a conditional option in the Printer Wizard. (SHARED-61275) NOTE: The introduction of this property introduces a slight risk of compatibility issues, but only for cases where an existing custom printer definition or Enhance configuration already has a user-defined property with the exact same name.
-
Print Output Improvements: l l l l Transparency support for PDF output. (SHARED-61492) Soft mask improvement in PDF. The soft mask is now set by the CTM ("Current Transformation Matrix") when the soft mask is created. (SHARED-58893) Improvements made to generic PCL output for some printers. (SHARED-60019) Booklet Impositioning for mix-plex jobs has been improved, reducing the likelihood of empty pages.
-
Workflow 2018.1 Enhancements/Fixes Improved Performance The performance of the Execute Data Mapping and Retrieve Items tasks have been improved when setting the options to "Output Records to Metadata". (SHARED-56678) NOTE: The performance update to Retrieve Item is currently only implemented for Data Records. The other entity types will be added in a subsequent release. Retrieve Items by their IDs Option added to the Retrieve Items task to support retrieving items via their associated entity IDs.
-
New option in Create Web Content task An option to "Do not alter HTML" was added to the Create Web Content task. When selected the task shall not add the BASE element to the HTML as it usually does, nor shall it modify the local anchors with JavaScript code. (SHARED-62521) New option in FTP Input task An option to "Search in subfolders" has been added to the FTP Input task.
-
New Workflow Preferences: l l You can now set the default Workflow scripting language. This defaults to VB Script for backwards comparability. (SHARED-60000) Improved PHP like Array options are now available for the HTTP Service plug-in. (SHARED-50770) Number of email attachments now available The number of email attachments is now available to the Email Input task.
-
GUID variable introduced A new %U system variable has been introduced to support full GUID values. This new variable is an addition to the pre-existing %u ( a unique 15-char string). The new %U system variable is available in the same locations that the %u system variable is, including in the context menus.
-
l Options for setting the logging refresh speed have been added. (SHARED-60029) Workflow Data Repository Manager improvements: l Improved Data Repository Key Set editor. (SHARED-59137/60165) l Improved speed when writing to a Data Repository. (SHARED-51564) l l l Instead of throwing an error the lookup() function now returns NODATA when an invalid group and/or key is passed.
-
l Fixed issue whereby Workflow would stop processing PostScript and PDF jobs on some Windows 10 Fall Creators Update machines. (SHARED-62516) Known Issues As of PlanetPress Connect 2018.1 the Known Issues have moved from the Release Notes to the Connect online Help. They can be found here. Previous Releases Overview This document provides an overview of the new features and enhancements in PlanetPress Connect 1.8 and PlanetPress Workflow 8.8, as well as some important installation information.
-
Upgrading from PlanetPress Connect 1.1 In order to upgrade from Connect Version 1.1 to Version 1.8 via the Update Manager, it is necessary to install a newer version of the Objectif Lune Update Client. The next time you run your current Update Client it will show that there is an update available for itself. Simply click on the download button in the dialog to install the new version of the Update Client. Note that it is no problem in running the update while the Client itself is still open.
-
Updating stand-alone Workflow Messenger installations If Workflow Messenger was installed stand alone with no other Workflow components installed, the Update Client will be unable to find the Messenger component and thus it will not automatically update to the Workflow 8.8 version. To get around this, download and run the Workflow 8.8 installer manually. Print Only Version A Print Only license is available with version 1.
-
Connect 1.8 General Enhancements and Fixes Native support for Microsoft Excel spreadsheet files The Connect DataMapper can now handle Microsoft Excel files natively. The CSV data type has been enhanced to automatically recognize *.XLS and *.XLSX files and use them directly without any additional steps. Both the CSV Wizard and the Add Data options now allow you to pick these file types.
-
Dynamically set Media Background Images Support has been added for dynamically setting the path of media backgrounds at run time (aka Virtual Stationery). This is achieved via the Control Script API. The path can be set to an image in the Images folder but also to a file on disk (the http:// and https:// protocols are not currently supported). This greatly simplifies template management in situations where a design is shared between different brands.
-
Installer improvements l Improved error capture, handling and messaging. (SHARED-40209) l Significantly improved logging of Server Service installation. (SHARED-50796) Korean Language Support PlanetPress Connect 1.8 is now available in Korean, in addition to the other languages already supported. Korean is not yet available in PlanetPress Workflow, however. (SHARED-40161) Context Sensitive Help Context Sensitive Help has been added to PlanetPress Connect.
-
Anchored positioned boxes losing style attributes Absolute positioned (Anchored) elements would lose some style attributes under certain circumstances. These issues would only occur when the absolute positioned element had multiple style attributes that ended with the text "top" or "left". Such as is the case with "padding-top" and "top". If both those attributes were set, then only one of the attributes would be retained. (SHARED-57361) l l Customers upgrading from 1.6.1 to 1.
-
Connect 1.8 Performance Related Enhancements and Fixes Faster Performance Tweaking in Server Configuration When tweaking performance it can be hard to figure out the right settings for the number of Merge engines, Weaver engines, dividing speed units, etc. Having to restart the Connect Server to apply the changes every time a setting was changed also made tweaking performance harder than it should have been.
-
Connect 1.8 Designer Enhancements and Fixes Automatically Fit Text to Container (Copy Fit) The Designer can now automatically scale text content to fit the boundaries of a box (inline or absolute positioned
). Scaling text to fit a container is a very popular feature when creating personalized post cards and the like. The option is found in the Content tab of the Box properties dialog and can be set to scale all text or a specific element in that box by entering a CSS selector.
-
Toggle Comments On/Off via Shortcut Keys Toggle comments off or on in HTML, CSS and JavaScript editors via a keyboard combination. Use Ctrl + / to comment out a single line and Ctrl + Shift + / to comment out multiple lines. (SHARED-56440) Refresh View button added You can now refresh the contents of both Design and Preview views via the new Refresh button or new Refresh selection in the Menu.
-
Specify Page Range for Preflight You can now optionally perform Preflights on a range of records. (SHARED-35076) Select and adjust multiple Box elements simultaneously Multiple Box elements can now be selected at the same time. Once selected you can either move or resize the selected boxes as a group. You can move them either via the mouse, or by nudging them around a single pixel at a time with the arrow keys. When nudging, the boxes will not snap to guides.
-
Set Template Locale Previously Connect always assigned the System Locale to new templates. A new option has been added to the preferences to allow the selection of a specific locale. This selection will then apply to all new templates thereafter. It applies to Date and Time fields plus numeric and currency data fields.
-
General Designer improvements l l l l l l GS1 Datamatrix barcode now supported. (SHARED-55999) Section, Media, and Master resources can now be duplicated by copy-pasting. (SHARED-52261) Reopening a template will put the focus on the section that was active when the template was closed. (SHARED-53199) Keyboard shortcuts to increase (Ctrl + Shift + >) or decrease (Ctrl + Shift + <) text size now work as expected. (SHARED-11660) "Problem" view renamed more accurately as "Preflight Result".
-
Connect 1.8 DataMapping Enhancements and Fixes Extracting Variables without using JavaScript Variables are frequently used in data mapping configurations as counters or as a way to concatenate values before extracting the final result to a data model field. Until Connect 1.8, the only way to extract those variables would be to create a Javascript-mode field and to use the appropriate API syntax (e.g. automation.jobinfo.jobinfo1, or sourceRecord.properties.MyVariable).
-
"Extract all from here" feature added In TXT mode, we’ve often had the request to be able to extract everything after a specific location, regardless of the record length. This would be useful, for instance, when extracting the body of an email which is never fixed-length. Until PlanetPress Connect 1.8, the customary way of proceeding would be to use a Loop step that stores all lines in a variable and an Extract step after the loop to store that variable into a field.
-
Improvements made for Transactional Style Datafiles. l l l The DataMapper and Output have both been enhanced to better cater for extremely large data records (where thousands of details might be associated with a single record). (SHARED-51691). The Designer has been updated to allow a limit to the maximum number of records to display in preview. Tooltip now displays a warning if detail table exceeds the preview limit.
-
Connect 1.8 Output Enhancements and Fixes Dynamic Finishing Print Output Finishing has been improved considerably, and is now much more powerful and flexible. In Templates, you could already set finishing for documents and sections. Job Creation would allow you to specify a different kind of Finishing for your documents and Templates. This has been extended to allow Finishing settings on all levels of Job Creation: Document Sets, Job Segments and Jobs.
-
The reason we call this feature dynamic finishing, is that it includes a brand new rules editor to allow you to choose when to apply a finishing setting: Page 1275
-
PDF Pass-through Connect’s output creation (Weaver engine) tries to write content the best way possible, depending on the chosen output format and optimization settings. However, there are cases when this might not be desired, such as when the graphics have already been optimized for the device and you do not want the software to change them. It is now possible to instruct output creation to include PDF resources in the output file as-is.
-
whether this will be an issue on your specific printer(s) or not. This issue will also be addressed in a later release. Overprint for Spot Colours Overprinting certain content on top of other content is sometimes required. (SHARED-56743) For example: l l To deal with special print applications, such as applying special (invisible) inks that are intended to go on top of coloured areas, for instance printing UV ink or applying varnish to a certain area.
-
Print Output l l Mixplex support added An option has been introduced to omit empty back sides for the Single and Last sheet positions when Duplex is enabled, resulting in mixplex output. This helps in reducing costs in printing environments where page count or click-charging is applied. (SHARED46965\55459) Improved logging of output generation.
-
Capture OnTheGo (COTG) Enhancements and Fixes New and improved COTG library A new jQuery plugin variant of the COTG.js library introduces events and options for COTG widgets. These concepts greatly simplify event based programming. For example: it allows your code to set a date for a date field and retrieve the geolocation automatically on the drawing of a signature. The COTG jQuery plugin is the successor of the cotg-1.x.js JavaScript library found in COTG forms based on the COTG Starter templates (v1.x).
-
Workflow 8.8 Enhancements and Fixes Deleting documents from the COTG repository Many COTG customers create documents for which they don’t want to set an expiry date (or a lifespan). They therefore set an expiry date far into the future to make sure the document remains in the repository. However, once the document has been filled they would like to remove it from the repository as soon as possible so it doesn’t clutter the view of the repository.
-
The Connect Server has its own File Store which it uses for transient files. This File Store is managed by the Cleanup service who takes care of removing obsolete files when those files are not marked as permanent. This greatly reduces the amount of administration required to manage the files. We figured that since there is already a File Store and REST API calls to connect to it, why not turn that into an accessible feature for customer implementations? With Connect 1.8, the Workflow 8.
-
Generating all contents using JSON instead of data records A number of customer workflows involve generating new versions of documents based on the original one created by Connect. For instance, a Delivery Note might come back with adjusted quantities on certain line items. Or a web-based status page might need to get updated with additional data. However in many cases, the original data must still be left untouched (for reprints, for instance).
-
Converting XML to JSON and JSON to XML XML is already one of the most popular data formats used with Connect. In many implementations, most notably web-based ones, XML is used to transfer or update information back and forth between Connect and Workflow. However, using XML means the DataMapper must be involved each time the data changes, which impacts performance, especially when all you want is to update a Status web page.
-
Full Timestamp entries added to Data Repository Added full timestamps to the Repository to allow for more precise information on each key set. The DateC and DateM keys now both contain a full time stamp in the form of: YYYY-MMDDThh:mm:ss.sZ. Please consult the online Help for a full description of the Timestamp. (SHARED-52160) General Workflow fixes and enhancements l Additional Tooltips added to interface. (SHARED-54981) l Improved support for multiple IDs in Retrieve items task.
-
Known Issues Issues with Microsoft Edge browser The Microsoft Edge browser fails to display web pages when the Workflow's CORS option (in the HTTP Server Input 2 section) is set to "*". This issue will be resolved in a future release.
-
GoDaddy Certificates When installing Connect offline, dialogs allow installing the GoDaddy certificates. Most users should use the default settings and click Next. In some cases, however, this may not work correctly. For this reason those users should activate Place all certificates in the following store and then select the Trusted Root Certification Authorities as the target certificate store. MySQL Compatibility After installing Connect 1.8 a downgrade to a Connect version earlier than Connect 1.
-
l Generic PS LEVEL2 (DSC compliant) l Generic PS LEVEL2 (DSC) External Resources in Connect There are certain limitations on how external resources can be used in Connect. For example if you want to link a file (e.g., CSS, image, JavaScript etc.) from a location on the network but you do not want to have a copy of the file saved with the template you need to do the following: 1. The resource must be located where it can be accessed by all Servers/Slaves run as users.
-
Colour Model in Stylesheets The colour model of colours defined in a stylesheet can sometimes change after editing the stylesheet. This is a known issue and will be addressed in a subsequent release.
-
Print Limitations when the Output Server is located on a different machine The following limitation may occur when using the Print options from a Designer located on a different machine to the Output Server: l l l The file path for the prompt and directory output modes is evaluated on both the client AND server side. When printing to a network share it must be available to BOTH the Designer and Server for the job to terminate successfully.
-
Once you have done this, PlanetPress Connect 1.7.1 will become available for download. From Connect Version 1.2 onwards, the newer version of the Update Client was included with the Connect installation. Updating stand-alone Workflow Messenger installations If Workflow Messenger were installed stand alone, with no other Workflow components installed, the Update Client will be unable to find the Messenger component and thus it will not automatically update to the Workflow 8.7 version.
-
Connect 1.7.1 General Enhancements and Fixes Template Reports added to Connect Generate a report in PDF format containing the most important information about your template. The report lists contexts, sections, master pages, scripts, the data model, graphic files, and any other resources used, along with their properties. This report can be added as part of your project documentation.
-
Document Properties Document Properties can now be added to both Templates and Data Mapper Configurations. This allows you to specify properties such as the document author, the customer name and other important references. You can also add custom key/value pairs. The respective properties can be retrieved in scripting and are thus available as content in your documents. The information is also included in the Template Report feature.
-
"Enhance with Connect" option added for PDF files in Windows Explorer A Windows Explorer context menu entry "Enhance with Connect" has been added for PDF files. When a user selects this context menu entry, PlanetPress Connect Designer opens with a prefabricated template, that uses the selected PDF file as the background. (SHARED15350/47156) Support added for Remote HTML and JSON Snippets In PlanetPress Connect 1.7.1 we introduce the concept of remote snippet resources.
-
Handling Nested Detail Data Simplifying the handling nested detail data has been on our agenda for some time. As part of our research into this we have looked at an approach that repeats table rows for nested detail data. This doesn’t create HTML tables in HTML tables but rather clones a base row specified for each level. Consider the following image: At this stage there is no user interface to configure this type of dynamic table but in a separate Technical article.
-
Installer improvements l l The PlanetPress Connect 1.7.0 installation did not work on machines running Windows 10 build 1703 (i.e. the "Creators Update", released March 2017). This has been fixed for PlanetPress Connect 1.7.1. (SHARED-56800) The silent installation process has been enhanced, and now supports the following: l l l l l l Setting the repository. This can be configured via the "product.repository" entry in "install.properties".
-
Connect 1.7.1 Designer Enhancements and Fixes Edit and Save CSS, HTML, JavaScript and JSON files within the Designer Ever needed to quickly edit an external CSS, HTML, JavaScript or JSON file? The PlanetPress Connect 1.7.1 Designer now allows you to open and save these file types via the File menu. (SHARED-42094) Data Model Panel Enhancements Various enhancements have been made to the Data Model panel.
-
Improved Customization of the Designer interface Customize your interface by selecting your own colours for object edges, margins, guidelines, etc.
-
Guideline behaviour improved Along with visible/invisible settings, Guidelines can now be locked in place or set to snap to objects, using the new Guides option in the View menu. (SHARED-47159). Warning now displayed when opening templates created in an older version When PlanetPress Connect opens an older template file it is automatically migrated to the template structure of the current version.
-
These Warnings can be switched on again at any time thereafter, via the "Reset All Warning Dialogs" button in the General Preferences dialog. (SHARED-16962) Option to automatically Delete a dynamic table when the table is empty An option has been added to allow you to automatically delete a dynamic table when the data table is empty. To do so, select the entire table, and then tick the "Hide when empty" checkbox in the Attributes panel.
-
Replace elements with data-insert-location when inserting HTML elements When inserting an element from an Insert dialog, Connect now checks the data-insertplaceholder attribute. The value of the attribute is then used to set the default value for the Insert Location option within the Insert dialog. If the attribute is not found, things behave as in previous versions. This ticket also introduces the Replace option for the Insert Location drop down.
-
Scripting improvements l Context menu added to the Edit Script dialog. (SHARED-45381) . l l l l Find and Replace functionality has been added to Script editors. (SHARED-48424) New menu option to rename Scripts or Folders has been added to the Context Menu within the Script panel. (SHARED-48607) Support added for copy and paste of folders and scripts within the Scripts panel.
-
General Designer improvements l l l l l l l Duplicate and Delete line(s) using shortcuts in the Stylesheet, JavaScript and HTML editors. Use Ctrl+D to duplicate and Ctrl+Shift+D to delete the currently selected lines. (SHARED-46928) Entering geometry values without stating a specific unit type will now automatically assign the default unit type to the entry. (SHARED-50656) When deleting an element (such as a Barcode or a Chart) on a page, a check will now be made for associated scripts.
-
Capture OnTheGo (COTG) improvements l l l l l Two new form inputs have been introduced to facilitate the retrieval of the document ID and the store ID. (SHARED-53987/54054) Improvements made to updating the COTG library within existing templates. The user will now be prompted as to whether they wish to switch to the new version or not.
-
Connect 1.7.1 DataMapping Enhancements and Fixes DataMapper can now fetch or update data from remote sources New in PlanetPress Connect 1.7.1 is the ability to create an XMLHTTPRequest object (aka XHR) in DataMapper scripts in order to issue REST/AJAX calls to external servers. This feature allows the datamapping process to complement the extraction process with external data, including data that could be provided by a HTTP process in Workflow.
-
This yields two immediate and major benefits: l l Data Extraction is much faster since you are only extracting the records you actually want The database will not be cluttered with useless records (potentially numbering in the thousands) that you were not going to use anyway. As a consequence, the automated clean-up process will have much less work to perform when the time comes to delete obsolete entries from the database. This should result in a lighter workload and better overall performance.
-
the record will still be stored in the database, with un-extracted fields being assigned whatever default value (if any) you defined for them. So if your goal is to completely prevent unwanted records from being stored in the database, you should make sure to implement your filtering conditions early in the data mapping process.
-
General DataMapper Enhancements and Fixes l l l l l XML Wizard: option added to extract Attributes and to set boundaries on Attribute changes. (SHARED-42251) Improved support for UNC paths to image files. (SHARED-44316) The Extradata fields are now available in the DataMapper to more easily allow setting of field default values. The display of the Extradata fields can be toggled on or off directly from the Data Model panel. (SHARED-51426) New data.findRegExp() function added.
-
This means that, apart from straightforward cases where we are grouping with or without sorting, it is also possible to create combinations where some fields do alter the sort order and others have no effect. Please note that grouping without sorting also means that any documents that have the same value for the same grouping field (i.e., customer number in the example above), but which are not consecutive in the input data, will not end up in the same group.
-
Additionally, some settings on the Imposition Options page affect the way that booklets are created. These settings are now editable, so settings such as the gap between pages can now also be set for booklets.
-
Additional Postal Services Barcodes added to Output Creation Barcodes for postal services are excellent candidates for adding during the Output Creation steps, rather than during Content Creation. Reasons for this include: l l l They often cannot be added during Content Creation because they depend on document size (or weight) and on a sort order that is determined during Job Creation. They need to go in a fixed position, dependent upon the envelope window, rather than document design.
-
The new barcodes include: l Australia Post 4 State l KIX Code (Dutch postal service - Post.NL) l Royal Mail (UK) l Royal Mail 2D (UK) l USPS IMB (US) l USPS IMPB (US) Some of these barcodes have specific requirements in order for them to be usable. The respective postal services provide specifications and sometimes also the tools for generating the content of these barcodes. The checksums needed for Australia Post 4 State and IMPB are calculated automatically.
-
Job Output Mask improvements, to simplify working with output file names We have improved the way that output file names can be specified. A new dialog box has been added to the Print Wizard, to simplify the creation of Job Output Masks. While it is still possible to directly type a file name with placeholders in the Output File Mask box, it is now also possible to use the dialog to pick the metadata fields and other variables that can be used to create dynamic file names.
-
For the Output Preset to know what metadata is available, you can select a Job Preset when creating or modifying an Output Preset: In the Advanced mode of the Print Wizard this new dialog works a bit different, because the metadata can be directly edited in the same wizard instead of having to refer to a Job Preset. Tray Mapping for Multiple Templates For printing to a cutsheet printer, the Output Preset allows mapping of media defined in a template to trays and media known by the printer.
-
such a way that no conflicting tray mappings can occur within a job, as Job Presets allow filtering by media type. Print Output l Improvements made to the Print Wizard These include: l Improved usability in Inserter dialog. (SHARED-38279) l Data Filtering dialog usability improved.
-
Workflow 8.7 Enhancements and Fixes Custom Task descriptions The Comments section of each Workflow Task can now be used as the task's description in the Workflow Configuration tool, allowing users to better document the process without having to resort to numerous Comment Tasks. (SHARED-39120) Workflow processes can sometimes become rather complex and thus they require some documentation in order to allow subsequent users to know why they were implemented in one fashion or another.
-
reason (reprints, produce additional jobs, etc.), you will have to perform the data mapping configuration from scratch. So make sure you only tick the box for true one-off jobs. (SHARED48956/56420) Retrieve Items task now has a JSON Output option The Retrieve Items task can now output the results of its query as a JSON string instead of storing them within the metadata. This allows easy handling of the results either through Workflow Scripting or directly in the Designer.
-
Note The "Test SMTP Settings" does not work when using TLS. This limitation will be addressed in a later release. General Workflow fixes and enhancements l l l l l l l l l l Improved datamapping speed when outputting records in metadata. (SHARED-38455) Improved performance when creating metadata after Content Creation. (SHARED47150) Processing a Secure PDF as passthrough through CreatePDF will retain the Security options.
-
Known Issues Issues with Microsoft Edge browser The Microsoft Edge browser fails to display web pages when the Workflow's CORS option (in the HTTP Server Input 2 section) is set to "*". This issue will be resolved in a future release.
-
MySQL Compatibility After installing Connect 1.7.1 a downgrade to a Connect version earlier than Connect 1.3 or to a MySQL version earlier than 5.6.25 is not seamlessly possible. This is because the database model used in Connect 1.3 and later (MySQL 5.6) is different to that used in earlier versions. If you need to switch to an older version of Connect / MySQL, it is first necessary to remove the Connect MySQL Database folder from "%ProgramData%\Connect\MySQL\data" before installing the older version.
-
do not want to have a copy of the file saved with the template you need to do the following: 1. The resource must be located where it can be accessed by all Servers/Slaves run as users. Failure to do this will cause the image to appear as a Red X in the output for all documents which were merged by engines which could not access the file. The job will terminate normally and the error will be logged. 2. The file must be referenced via a UNC path e.g.
-
Online Help Links Point to Introductory Page Context sensitivity for the online help is not yet enabled in Connect. All links and F1 calls point to the introductory page, where you can Search on keywords to bring up Help pages relating to the topic. Context sensitivity will be introduced in a subsequent release of Connect.
-
model. Fields of other types will not be updated in the database and no error will be raised. This will be fixed in a later release. Print Limitations when the Output Server is located on a different machine The following limitation may occur when using the Print options from a Designer located on a different machine to the Output Server: l l l The file path for the prompt and directory output modes is evaluated on both the client AND server side.
-
l Note that both PlanetPress and PlanetPress Connect Workflow come with a 30 day trial licenses by default. Updating from PlanetPress Connect 1.1 In order to upgrade from Connect Version 1.1 to Version 1.6.1 via the Update Manager it is necessary to install a new version of the Objectif Lune Update Client. The next time you run your current Update Client it will show that there is an update available for itself.
-
Reduced Memory Version Note This is not recommended for production. It is now possible to install PlanetPress Connect on a machine with a minimum of 2 GB of RAM. The PlanetPress Connect Designer will automatically detect whether it has been installed on a machine with less than 4 GB of RAM and default to only using one internal Weaver and one internal merge engine on that system. The Server will also run using internal engines.
-
OL Connect Send OL Connect Send is an application of two components. The first is a Windows printer driver and the second is a set of Workflow plug-ins. In its most basic form, OL Connect Send allows the transmission of print files over the Internet from any Windows Desktop application. OL Connect Send flavors OL Connect Send comes in three flavors. These are: l l l Free of charge: No license required; any user; any domain; no usage limits; no web interaction.
-
l Supply Chain: Inbound document processing, such as capturing inbound invoices or POs for publication in an ECM. Print to EDI for outbound documents such as invoices. For further information on Connect Send, please refer to the OL Connect Send website and standalone User Guide.
-
Connect 1.6.1 General Enhancements and Fixes Performance improvements l Changes to the handling of transparency in PDF backgrounds has not only cured some job failures, but has also led to substantial improvements to both output speeds and filesizes. (49680) l Improved processing speed for multiple large detail table documents. (47252/48537) l Improvements made to the clean-up processes, improving overall production speed. l Some memory leaks plugged, improving overall production speed.
-
Connect 1.6.1 Designer Enhancements and Fixes General Designer improvements l Interface improvements such as inclusion of icons for different types of files (js and CSS). l Provided option to configure the script timeout period. (48639) l Minor issues with non-English language translations fixed. l l l l l l Display issues that were sometimes encountered when changing section background images have been fixed.
-
Connect 1.6.1 DataMapping Enhancements and Fixes l Support for Regular Expressions added to database searches. (51694) l Improved Datamapping process reliability. l Improved data record reliability when handling large jobs (those in excess of 50,000 records). l Improved PDF extraction avoids character duplication. l Improved marking of data fields in extraction steps. l l l l l New option added to support multibyte (variable length) encoded data such as Big5, GBK, UTF-8 and Shift-JIS.
-
Email Output l l l Fixed issue with the email Subject field not being encoded properly when using characters other than Latin characters. (48781) To improve privacy certain Meta tags that were embedded in the output email HTML have been removed. These include "email-reply-to", "email-from", "sender-name" and "sender-address". (49864) The Date field was not always included in the email header. This has been fixed and the Date field should now be present in all email headers.
-
Connect Workflow 8.6 Enhancements and Fixes General improvements l l l l l l l l A multitude of changes and enhancements made to support new OL Connect Send functionality within Workflow. Support for password protection added to "Create PDF" task. (48380) Generic Data Repository field length extended beyond previous limit of 32 characters. (47734) Added new "Create PDF Preview" task for lightning fast creation of single record PDF. (49497) Minor issues with some language translations fixed.
-
l l Fixed potential out-of-memory error with very large Workflow configuration files. (51621) Fixed crashes encountered when large numbers of data selection calls were issued in highly threaded processes. (50569) HTTP and SMTP Server improvements l Support added for cross-origin HTTP (CORS HTTP) requests, to facilitate the development and testing of web templates. (47014) l Added option to specify SMTP port number in "Create Email Content" task.
-
Known Issues Installing OL Connect Send on a machine with Connect installed. When OL Connect Send Plug-Ins are installed (either standalone or via a Workflow installation) on the same machine as Connect, an interference between OL Connect Send's internal Database and that of Connect may occur, which will block a browser popup on that same machine. This issue can be fixed by applying a startup wait to the Connect Server Service.
-
1. Go to the .ini files for the Designer and Server Config: l l C:\Program Files\Objectif Lune\OL Connect\Connect Designer\Designer.ini C:\Program Files\Objectif Lune\OL Connect\Connect Server Configuration\ServerConfig.ini 2. Change the language parameter to the required one under Duser.language=en | es | de | fr | it | ja | pt | tw | zh Only one of the above language tags should be selected. Once saved, Connect will appear in the selected language at next start-up.
-
To add additional printer models click on the settings entry box. button next to the Model selection Note that the descriptions of some of the printers were updated in version 1.2 meaning that if you had version 1.n installed, you may find that the same printer style appears twice in the list, but with slightly different descriptions.
-
Using Capture After Installing Workflow 8 If PlanetPress Connect Workflow 8 is installed alongside PlanetPress Suite Workflow 7, Capture can no longer be used within Workflow 7. The plugins are now registered uniquely to Workflow 8 and the messenger for Workflow 7 is taken offline. It is only possible to use Capture from PlanetPress Connect Workflow 8 thereafter.
-
Merge\Weaver Engines when Printing The print operation in the Designer will automatically detect whether the Merge\Weaver engines are available and display a message for the user to retry or cancel if not. Once the Merge\Weaver engine becomes available and the user presses retry the print operation will proceed as normal.
-
l When printing via the Server from a remote Designer, the output file remains on the Server machine. This is remedied by selecting “Output Local” in the Output Creation configuration. Overview This document provides an overview of the new features and enhancements in PlanetPress Connect 1.5 and PlanetPress Workflow 8.5. Installing PlanetPress Connect 1.5 and PlanetPress Workflow 8.
-
Print Only Version A Print Only license is available with version 1.5 of PlanetPress Connect which allows legacy PlanetPress Suite 7 customers on OL Care to upgrade to Connect for a minimal fee. The license allows regular printing via the Print Wizard but runs Email and Web output in demo mode. For more information, please contact your local OL Customer Care or Sales team.
-
Simplified creation of templates based on existing PDFs l l l Option added to allow the creation of a new print document based on an existing PDF. (SHARED-19220) Improved support for adding PDF files as Section backgrounds. Files can now be referenced from disk or imported into Template. (SHARED-42496) Added support for drag and dropping Data Fields directly onto the page as absolutely positioned textboxes.
-
l l Barcode improvements made in Preview mode. Support added for resizing and dragging of absolute positioned barcode objects, as well as resizing of inline barcode objects. (SHARED-43641) Barcodes can now have transparent backgrounds. (SHARED-43659) Scripting improvements l l l l l New closest() command added to the Scripting API, to locate closest matching element above it in the Document Object Model (DOM) tree. (SHARED-41789) Script editing improved.
-
l l l l New scripting options have been added to the COTG.js library to register custom functions for save and restore. (SHARED-40670) Colour picker support has been added to the COTG Starter Template wizards. (SHARED-33561) Improved speed/size of COTG Camera objects. Rather than embedding images in output PDFs, Connect now supports embedding data URLs in COTG templates. (SHARED38575) Documents from the Library now automatically deleted upon successful submission.
-
Connect 1.5 DataMapping Enhancements and Fixes l l l l l Multiple Conditions step can now evaluate several conditions and branch out accordingly. (SHARED-14329/44435) Performance improvements made when extracting text from PDFs and spool files. (SHARED-43056) Improved default formatting when extracting Date, Float or Currency data fields. (SHARED-43415) An extra field is now appended to every Document record and to every Detail table inside that record.
-
l l l l l l l New HCF file added that supports “top down wrap around sequence marks”. (SHARED42326) Use PostScript Media name values in the PostScript DSC comments, to improve subsequent searches. (SHARED-42826) Option added to allow storing of job resources on PostScript printer’s own storage medium. (SHARED-43467) OMR marks improved, with support added for Match Numbers (Match Code, MC).
-
Connect 1.5 General Enhancements and Fixes Installer improvements l l Improvements made to installation robustness. The installer now copes better when encountered permissions issues during installation. (SHARED-43732/43737) The Update Client has been updated to 1.1.9 and has been included in both the Connect 1.5 and Workflow 8.5 installations.
-
Connect 8.5 Workflow Enhancements and Fixes l l l l l l l l l l Support for PHP-like arrays for COTG or web-based form submissions. (SHARED-41706) New Workflow system variable (%r) added to allow a process to determine which if it is currently running in service or debug mode. (SHARED-43411) Create Output and the Connect All In One tasks can now be added as Output tasks without waiting for the operation's result. (SHARED-43413) The Folder Capture task can now monitor multiple folders.
-
Known Issues Installation Paths with Multi-Byte Characters When installing the Chinese (Traditional or Simplified) or Japanese versions of Connect, if the user specifies an alternative installation path containing multi-byte/wide-char characters it can break some of the links to the Connect-related shortcuts in the Start Menu and cause an error to appear at the end of the installer. The workaround for the moment is to use the default installation path. The problem will be addressed in a later release.
-
model used in Connect 1.3 and later (MySQL 5.6) is different to that used in earlier versions. If you need to switch to an older version of Connect / MySQL, it is first necessary to remove the Connect MySQL Database folder from "%ProgramData%\Connect\MySQL\data" before installing the older version. PostScript Print Presets The print presets for PostScript were changed from Version 1.1 onwards meaning that some presets created in Version 1.0 or 1.0.1 may no longer work.
-
documents which were merged by engines which could not access the file. The job will terminate normally and the error will be logged. 2. The file must be referenced via a UNC path e.g., file:////w2k8r2envan/z%20images/Picture/Supported/JPG/AB004763.jpg l l UNC paths are required because the services will be unable to access mapped network drives (Windows security feature).
-
Context sensitivity will be introduced in a subsequent release of Connect.
-
VIPP Output Some templates set up with landscape orientation are being produced as portrait in VIPP. It can also sometimes be the case that text and images can be slightly displaced. These are known issues and will be addressed in a later release of Connect.
-
the download button in the dialog to install the new version of the Update Client. Note that it is no problem to run the update while the Client is open. It will automatically update itself. Once you have done this, PlanetPress Connect 1.4.n will become available for download. From Connect Version 1.2.0 onwards, the newer version of the Update Client was included with the Connect installation. Print Only Version A Print Only license is available with version 1.4.
-
Connect 1.4.2 Enhancements and Fixes Designer l l A blank page is no longer added to beginning of templates that use scripting to add pages from PDF files. This problem only appeared when saving to a new file from within Preview mode, or when generating output from Preview mode. (SHARED-44564) Image elements () referencing a PDF image would multiply when switching back and forth between Live and Preview modes, in both email and web contexts. This has now been fixed.
-
The language can be selected during the installation of Connect or via the Language Setting options in the Preferences dialog (note that Connect needs to be restarted in order to apply the selected language). At present only the Connect user interface has been translated. Error messages and warnings will be translated for a later release.
-
Welcome Screen Extended l l The Printer Definition Configs and HCF files available on the OL Connect website are now grouped by manufacturer, to simplify selection. Connect 1.4.1 also introduces Responsive Email Templates. Virtualisation l Connect is now supported on the Microsoft Hyper-V and Hyper-V/Azure environments as well as the VMWare Workstation, Server, Player and ESX infrastructure environments. Modifying Connect Installations l Connect 1.4.
-
Email Context l Email context sections can be enabled or disabled based upon data value. (SHARED33656) l Email port number can now be specified as part of the host name. (SHARED-38008) l New template wizard for Slate templates by Litmus. (SHARED-36843) Print Context l l Ability added to mirror margins on back pages of Duplex jobs, via Facing Pages selection added in Sheet Configuration dialog. (SHARED-40505) Can now suppress Master Page on duplex back pages, if there are no contents.
-
l l l Option to generate JSON string from data model fields to pass data record information to client side script. (SHARED-39337) CSS Class name completion suggests CSS classes based upon the current section. (SHARED-36870) CSS Style inspector allows full control over styles. (SHARED-22929) Connect 1.4.1 DataMapping Enhancements and Fixes l l l All fields can now be renamed through the Data Model view. (SHARED-40116) SQL Server data mapping can now use Windows Authentication credentials.
-
Connect 8.4.1 Workflow Enhancements and Fixes l l l l l Major performance improvements when updating data records. (SHARED-38897) Stand-alone Update Data Record task allows data records to be updated in the database without having to create content. (SHARED-38867) Update Records operations performed in batches, allowing for unlimited number of records. (SHARED-38948) All-In-One task can now return the output file to the Workflow, to allow customising output destination(s).
-
Only one of the above language tags should be selected. Once saved, Connect will appear in the selected language at next start-up. GoDaddy Certificates When installing Connect offline, dialogs allow installing the GoDaddy certificates. Most users should use the default settings and click Next. In some cases, however, this may not work correctly.
-
Note that the descriptions of some of the printers were updated in version 1.2 meaning that if you had version 1.n installed, you may find that the same printer style appears twice in the list, but with slightly different descriptions. For example the following printer types are actually identical: l Generic PS LEVEL2 (DSC compliant) l Generic PS LEVEL2 (DSC) External Resources in Connect There are certain limitations on how external resources can be used in Connect.
-
Capturing Spool Files After Installing Workflow 8 If PlanetPress Connect Workflow 8 is installed alongside PlanetPress Suite Workflow 7, the PlanetPress Suite 7 option to capture spool files from printer queues will no longer function. The solution is to use PlanetPress Connect Workflow 8 to capture spool files from printer queues. Colour Model in Stylesheets The colour model of colours defined in a stylesheet can sometimes change after editing the stylesheet.
-
l If the server is offline and you are not using Proof Print l On some occasions before the Print Wizard opens REST Calls for Remote Services The Server will now accept REST calls for all remote services and will make commands wait indefinitely until the required engines become available. The Server will log when it is waiting for an engine and when it becomes available. Note that there is no way to cancel any commands other than stopping the Server.
-
Legal Notices and Acknowledgements PlanetPress Connect, Copyright © 2017, Objectif Lune Inc.. All rights reserved. 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 l l l l Adobe PDF Library which is either a registered trademark or trademark of Adobe Systems Incorporated in the United States and\or other c
-
l l l l l l l l l l l l J2V8 which is distributed under the terms of the Eclipse Public License Version 1.0. The source code for J2V8 can be obtained from the following location: https://github.com/eclipsesource/j2v8 Jacob Java Com Bridge which is licensed under the terms of the GNU Lesser General Public License Version 2. The source code for this can be obtained from the following location: http://sourceforge.
-
l l l l l l l l l l l Rhino 1.7R4 and 1.7.7.1 which are licensed under the terms of the Mozilla License Version 2.0. The source code for these can be obtained from the following location: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino/Download_Rhino Saxon which is distributed under the terms of the Mozilla Public License Version 2.0. The source code for this can be obtained from the following location: http://sourceforge.net/projects/saxon/files/Saxon-HE/9.
-
Apache Software License Components This application also uses the following components which are distributed under the terms of the Apache Software License Version 2.
-
l Objenesis l OpenCSV l OPS4J Pax Web l org.json.simple l Quartz Scheduler l Spring Dynamic Modules l UCanAccess 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.
-
Copyright Information Copyright © 1994-2018 Objectif Lune Inc. All Rights Reserved. No part of this publication may be reproduced, transmitted, transcribed, stored in a retrieval system, or translated into any other language or computer language in whole or in part, in any form or by any means, whether it be electronic, mechanical, magnetic, optical, manual or otherwise, without prior written consent of Objectif Lune Inc. Objectif Lune Inc.