2020.2
Table Of Contents
- Table of Contents
- Welcome to PrintShop Mail Connect 2020.2
- Setup And Configuration
- System and Hardware Considerations
- Installation and Activation
- Preferences
- Clean-up Service preferences
- Database Connection preferences
- Editing preferences
- Email preferences
- Emmet preferences
- Engines preferences
- Hardware for Digital Signing preferences
- Language preferences
- Logging preferences
- Parallel Processing preferences
- Print preferences
- Project Wizards preferences
- Save preferences
- Scripting preferences
- Engines preferences
- Parallel Processing preferences
- Known Issues
- Uninstalling
- General information
- The Designer
- Designer basics
- Content elements
- Snippets
- Styling and formatting
- Personalizing content
- Preferences
- Clean-up Service preferences
- Database Connection preferences
- Editing preferences
- Email preferences
- Emmet preferences
- Engines preferences
- Hardware for Digital Signing preferences
- Language preferences
- Logging preferences
- Parallel Processing preferences
- Print preferences
- Project Wizards preferences
- Save preferences
- Scripting preferences
- Writing your own scripts
- Script types
- Creating a new Standard Script
- Writing a script
- Setting the scope of a script
- Managing scripts
- Testing scripts
- Optimizing scripts
- The script flow: when scripts run
- Selectors in Connect
- Loading a snippet via a script
- Loading content using a server's API
- Using scripts in Dynamic Tables
- Control Scripts
- Post Pagination Scripts
- Translating templates
- Designer User Interface
- Designer Script API
- Generating output
- Print Manager
- PrintShop Mail Connect Release Notes
- OL PrintShop Mail ConnectRelease Notes 2020.2.1
- Previous Releases
- OL PrintShop Mail Connect Release Notes 2020.1
- License Update Required for Upgrade to Connect 2019.x
- Backup before Upgrading
- Overview
- OL Connect 2019.2 Enhancements
- Connect 2019.2 Designer Improvements
- Connect 2019.2 Output Improvements
- Print Manager Improvements
- Known Issues
- License Update Required for Upgrade to Connect 2019.1
- Overview
- OL Connect 2019.1 Enhancements
- Connect 2019.1 Designer Updates
- Connect 2019.1 Output updates
- Print Wizard and Preset Wizard Improvements
- Known Issues
- Overview
- Connect 2018.2.1 Enhancements/Fixes
- Connect 2018.2 Enhancements
- Connect 2018.2 Designer Updates
- Connect 2018.2 Output updates
- Print Wizard and Preset Wizard Improvements
- Connect 2018.2 Print Manager updates
- Known Issues
- Overview
- Connect 2018.1.6 Enhancements/Fixes
- Connect 2018.1.5 Enhancements/Fixes
- Connect 2018.1.4 Enhancements/Fixes
- Connect 2018.1.3 Enhancements/Fixes
- Connect 2018.1.2 Enhancements/Fixes
- Connect 2018.1.1 Enhancements/Fixes
- Connect 2018.1 General Enhancements
- Connect 2018.1 Designer Enhancements/Fixes
- Connect 2018.1 Output Enhancements/Fixes
- Connect 2018.1 Print Manager Enhancements/Fixes
- Known Issues
- Overview
- Connect 1.8 General Enhancements and Fixes
- Connect 1.8 Performance Related Enhancements and Fixes
- Connect 1.8 Designer Enhancements and Fixes
- Connect 1.8 Output Enhancements and Fixes
- Connect 1.8 Print Manager Enhancements and Fixes
- Known Issues
- Overview
- Connect 1.7.1 General Enhancements and Fixes
- Connect 1.7.1 Designer Enhancements and Fixes
- Connect 1.7.1 Output Enhancements and Fixes
- Known Issues
- Overview
- Connect 1.6.1 General Enhancements and Fixes
- Connect 1.6.1 Designer Enhancements and Fixes
- Connect 1.6.1 Output Enhancements and Fixes
- Known Issues
- Overview
- Connect 1.5 Designer Enhancements and Fixes
- Connect 1.5 Output Enhancements and Fixes
- Connect 1.5 General 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 Output Enhancements and Fixes
- Known Issues
- Knowledge Base
- Legal Notices and Acknowledgements
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.
var labelElm = loadhtml('snippets/label.html');
var labelStr = "";
for( var i = 0; i < record.tables.products.length); i++) {
var label = labelElm.clone();
label.find('@ProductLabel@').text(record.tables.products
[i].ProductDescription);
labelStr += label;
}
results.after(labelStr);
Use replace()
When personalizing HTML fragments retrieved from a snippet or from the template itself,
JavaScript's replace() method shows the best performance.
Replace() can only be used on Strings, while the commands loadhtml() and query() return or
a QueryResult, which is a set of strings, like the results object.
Page 398










