1.7
Table Of Contents
- Table of Contents
- Welcome to PlanetPress Connect 1.7.1
- Setup And Configuration
- System and Hardware Considerations
- Installation and Activation
- Where to Obtain the Installers
- Installation - important information
- Installation - How to guides
- Activation
- Installation Prerequisites
- User accounts and security
- The Importance of User Credentials on Installing and Running PlanetPress Connect
- Installing PlanetPress Connect on Machines without Internet Access
- Installation Wizard
- Running connect installer in Silent Mode
- Activating a License
- Migrating to a new workstation
- Information about PlanetPress Workflow 8
- Upgrading from PlanetPress Suite 7.6
- What do I gain by upgrading to PlanetPress Connect?
- Server Configuration Settings
- Uninstalling
- The DataMapper Module
- The Designer
- Basic Steps
- Web
- Capture OnTheGo
- Content elements
- Snippets
- Styling and formatting
- Personalizing Content
- Writing your own scripts
- Designer User Interface
- Script API
- Designer Scripts API
- Examples
- Examples
- Examples
- Examples
- Examples
- Examples
- Examples
- Examples
- Examples
- Examples
- Examples
- Examples
- Examples
- Example
- Example
- Example
- Example
- Example
- Examples
- Creating a table of contents
- Example
- Examples
- Examples
- Examples
- Examples
- Replace elements with a snippet
- Replace elements with a set of snippets
- Example
- Example
- Control Script API
- Generating output
- Print output
- Email output
- Web output
- Optimizing a template
- Generating Print output
- Saving Printing options in Printing Presets.
- Connect Printing options that cannot be changed from within the Printer Wizard.
- Print Using Standard Print Output Settings
- Print Using Advanced Printer Wizard
- Adding print output models to the Print Wizard
- Splitting printing into more than one file
- Variables available in the Output
- Generating Fax output
- Generating Tags for Image Output
- Generating Email output
- Generating Web output
- General Information
- Release Notes
- Overview
- Connect 1.7.1 General Enhancements and Fixes
- Connect 1.7.1 Designer Enhancements and Fixes
- Connect 1.7.1 DataMapping Enhancements and Fixes
- Connect 1.7.1 Output Enhancements and Fixes
- Workflow 8.7 Enhancements and Fixes
- Known Issues
- Previous Releases
- Overview
- OL Connect Send
- Connect 1.6.1 General Enhancements and Fixes
- Connect 1.6.1 Designer Enhancements and Fixes
- Connect 1.6.1 DataMapping Enhancements and Fixes
- Connect 1.6.1 Output Enhancements and Fixes
- Connect Workflow 8.6 Enhancements and Fixes
- Known Issues
- Overview
- Connect 1.4.2 Enhancements and Fixes
- Connect 1.4.1 New Features and Enhancements
- Connect 1.4.1 Designer Enhancements and Fixes
- Connect 1.4.1 DataMapping Enhancements and Fixes
- Connect 1.4.1 Output Enhancements and Fixes
- Connect 8.4.1 Workflow Enhancements and Fixes
- Known Issues
- Legal Notices and Acknowledgments
Tip
When using the drag-and-drop method to insert data fields in a template:
l
Press the Alt key while dragging, to wrap the placeholder in a span, give the span
an ID and have that ID used as the script's selector.
l
Press the Ctrl key while dragging, to wrap the placeholder in an absolute
positioned box (a div) at the cursor position. A unique ID is assigned to the box and
used as the script's selector.
Avoid DOM manipulations
The Scripting API of the Designer is a very powerful tool to manipulate and personalize your
document. But keep in mind that DOM manipulation commands like append(), prepend(),
before() and after() are resource intensive.
Try avoiding DOM modifications, especially within loops. Storing the content in a variable and
appending the information after the loop is more efficient: this way, the template will be touched
only once.
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. The
after() command runs as many times as there are records in the detail table 'products'.
The script below is much more efficient: it adds the personalized content to a string called
labelStr and only calls after() after the for loop.
Page 565