Connect: a peek under the hood

Connect consists of visible and invisible parts.
The visible parts are the tools you use to create templates, data mapping configurations, and Print Presets (the Designer/DataMapper), and to create Workflow configurations (the Workflow configuration tool).
The invisible parts process the Connect job to provide the actual output. This topic introduces you to those parts.

Here's a simplified, graphical representation of the architecture of PlanetPress Connect. The components described below are all located in the 'Server' part.

The Workflow server

The Workflow server (also referred to as the 'Watch service') executes processes independently, after a Workflow configuration has been uploaded and the services have been started. The Workflow server can run only one configuration at a time.

There are a number of services related to Workflow. The PlanetPress Messenger service, for example, receives the files sent to Workflow from the Designer and the Workflow configuration tool.
The Workflow Service Console lets you start and stop the different services, except the Connect server, and see their log files (see Workflow Service Console).

Note that Workflow isn't limited to Connect functionality. It was originally developed as part of the PlanetPress Suite. Many of the plugins in the Workflow configuration tool are older than Connect. They were left in for compatibility reasons, even though they aren't all useful or usable within Connect. However, the Connect plugins cannot be used with the PlanetPress Suite software.

The Connect server

As opposed to the Workflow server, the Connect server was designed to be used only with Connect. The Connect server performs several different tasks, all of which are related to Connect content and content management:

It communicates with the Workflow service (with the Connect plugins, specifically) and with the Designer when output is generated from the Designer. It creates records (by extracting data from a data source using a data mapping configuration), and jobs. It communicates with the engines (see below) in order to make them create content items and output (spool) files.

The Connect server is one of the components that has to be installed with Connect (see Installation Wizard).
In the Workflow Configuration Tool preferences you have to set the OL Connect server settings to enable Workflow to communicate with the server (see Workflow Preferences).

The Connect Server Configuration tool lets you change the settings for the Connect server, the engines and the service that cleans up the database and the file store. These settings can also be made in the preferences of the Designer.

The Connect database

The Connect database is the database back-end used by Connect itself when processing jobs. It can be either the MariaDB instance provided by the Connect installer, or a pre-existing (external) instance (see Database Considerations).

All generated items (records, content items etc.) are stored in this database. They can be used by the next task in the same process or in a process that runs later, making it possible to commingle Print jobs, for example.

Email content items are not stored in the Connect database.

A clean-up of the database is performed at regular intervals in accordance with the settings (see Clean-up Service preferences).

The File Store

Connect has its own File Store which it uses for transient files.
The Clean-up service takes care of removing obsolete files when those files are not marked as permanent (see Clean-up Service preferences).

The File Store is accessible for customer implementations. The Workflow configuration tool implements three tasks that allow you to Upload, Download and Delete files in the Connect File Store. The files can be accessed through the REST API, which means web portals could potentially access the files directly without having to go through a Workflow process (see The Connect REST API CookBook).

The engines

DataMapper engines. A DataMapper engine extracts data from a data file. The number of DataMapper engines is configurable (Engines preferences).

Merge engine/s. A merge engine merges data with a template using the scripts in the template, in order to create content items.
The number of merge engines is configurable (see Engines preferences): it can be increased depending on the capacity of the machine that runs the solution (see Performance considerations).

Weaver engines. A Weaver engine creates Print output from Print content items. It takes the settings made in Print Presets or in the Print Wizard into account.
The number of Weaver engines is configurable as well (see Engines preferences).

The Proof Print function doesn't print via the Connect Server; it uses the Designer's internal engines.

The REST API

The Connect server receives REST commands (see The Connect REST API CookBook), normally either via the Workflow service or from the Designer. This design allows the Connect functionality to be used by other applications. The server forwards the commands to the appropriate engine and returns the results to the caller. The results are the id's of the items (records, content items, job etc.) that are stored in the Connect database (see below). All Connect tasks except the Create Web Content task integrate the results in the Metadata in Workflow.

The figure below shows the communication between Connect tasks and the Connect server in a Print process.

Printing and emailing from the Designer

To print or send email from within the Designer, the PlanetPress Connect service has to be running. The service is started automatically when the Designer starts, but it may not be running if the Connect Server and the Designer are installed on different computers. The PlanetPress Connect service can be found on the Services tab in the Task Manager.
For a proof print the Connect server is not used. Proof printing is always done locally, by the Designer.