1.5
Table Of Contents
- Table of Contents
- Welcome to PlanetPress Connect 1.5
- Setup And Configuration
- System and Hardware Considerations
- Installation and Activation
- Installation Pre-Requisites
- 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
- How to Run Connect Installer in Silent Mode
- Activating a License
- Migrating to a new computer
- Information about PlanetPress Workflow 8
- Upgrading from PlanetPress Suite 7.6
- What do I gain by upgrading to PlanetPress Connect?
- Server Settings
- Uninstalling
- The DataMapper Module
- Basics
- Data Mapping Configuration
- Data Mapping Workflow
- The Data Model
- Data Source (Settings)
- DataMapper User Interface
- Defining Boolean Values
- Defining String Values
- Building String Values
- Defining Integer Values
- Building Integer Values
- Defining Float Values
- Building Float Values
- Defining Currency Values
- Building Currency Values
- Extracting dates
- Entering a date using JavaScript
- Defining Object Values
- DataMapper Scripts API
- The Designer
- 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
- Release Notes
- Copyright Information
- Legal Notices and Acknowledgments
changes, then you'd get the first four lines together inside a single record, but 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, then 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 on different years. So that's no good either.
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
have 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() API
method. For a CSV/DB data type, the parameter it expects is simply the column name.
The region is then 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).
l To "remember" the values that were processed the last time the event was triggered, we
use variables that remain available in between events. Note that these variables are
specific to the Boundary context and not available in any other scripting context in the
DataMapper.
l The script first checks if those values were initialized. If they weren't, it means this is the
first iteration so there's no need to compare the current values with previous values since
Page 219