2020.1
Table Of Contents
- Table of Contents
- Welcome to PrintShop Mail Connect 2020.1
- 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 Connect Release Notes 2020.1
- Previous Releases
- 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
Tip
The replace() method as used in the above example replaces only the first occurrence of the
search string. To replace every occurrence of a search string in a given string, use a regular
expression. In the following line of code, the regular expression /@product@/g makes
replace() search for all occurrences of the string @product@ in the label string:
label = label.replace(/@product@/g, record.tables.detail
[i].fields['product']);
In this example, @product@ is a pattern (to be used in a search) and g is a modifier (to
find all matches rather than stopping after the first match). For more information about
possible regular expressions, see https://www.w3schools.com/js/js_regexp.asp.
The script in this how-to: Translate and replace script uses the replace() method with a
regular expression.
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. Reducing the number of scripts improves the performance of the template. How to
do this?
First, wrap the content that contains all of the placeholders in one (inline) Box and give that Box
or Span an ID (on the Attributes pane). Next, create a script that uses that ID as selector. Then
replace all placeholders in the script and put the content back in the template.
This is similar to working with snippets, but in this case the element is extracted from the actual
template.
Example
The following script replaces all of the placeholders on a postcard. It takes advantage of the
JavaScript replace() command. Assuming that the ID of the block that requires personalization
is promoblock, the script has to have its selector set to #promoblock.
Page 395










