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
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. So for instance, if you were to set the record boundary when the "Released" field
changes, you'd get the first four lines together inside a single record. That's not what you want
since that would include albums from several different artists. And if you were to set it when the
"Artist" field changes, the first few records would be OK but near the end, you'd get both the Led
Zeppelin 3 and led Zeppelin 4 albums inside the same record, even though they were released
in different years.
Essentially, we need to combine both these conditions and set the record boundary when
EITHER the year OR the artist changes.
Here's what the script would look like:
/* Read the values of both columns we want to check */
var zeBand = boundaries.get(region.createRegion("Artist"));
var zeYear = boundaries.get(region.createRegion("Released"));
/* Check that at least one of our variables holding previous values
has been initialized already, before attempting to compare the
values */
if (boundaries.getVariable("lastBand")!=null) {
if (zeBand[0] != boundaries.getVariable("lastBand") || zeYear[0]
!= boundaries.getVariable("lastYear") )
{
boundaries.set();
}
}
boundaries.setVariable("lastBand",zeBand[0]);
boundaries.setVariable("lastYear",zeYear[0]);
l The script first reads the two values from the input data, using the createRegion() method
(see: "Example" on page261). For a CSV/database data type, the parameter it expects is
Page 235