Usage scenario for distributing statements based on a preferences file

In this scenario, a company changes their PDF print process to distribute statements to customers through multiple channels. Customers choose whether their statements are printed, emailed, or displayed in their customer account on the company Web site. Because this information is not part of the data on the statement, the company exports the information from their customer database into a text file that contains headers. That text file is used as a preferences file. The values in the file determine how each statement is distributed to the customer.

The preferences file contains customer account numbers, statement delivery preferences, email addresses, and marketing preferences. Customers choose whether they want to receive offers from the company and third party vendors, offers only from the company, or no offers.

Before changing their process, the company prints all their statements using the EnhancePDFDocuments supplied workflow. The value of the Identify PDF control file property on the IdentifyPDFDocuments step is /aiw/aiw1/control_files/EnhancePDFdocs.ctl. The value of the Build PDF control file 1 property on the BuildPDFFromDocuments step also is /aiw/aiw1/control_files/EnhancePDFdocs.ctl.

The company uses the HotFolderPDF supplied input device with the Child workflow property set to EnhancePDFDocuments.

They use RICOH ProcessDirector Plug-in for Adobe Acrobat to identify the statements as individual documents in the production PDF file for each job. The data in each statement includes the account number.

To support the new process, the administrator:

  • Sets up custom document properties.
  • Creates a property mapping object.
  • Makes the preferences file available to RICOH ProcessDirector.
  • Adds the ApplyPreferences step to the EnhancePDFDocuments workflow.
  • Adds steps that let the modified EnhancePDFDocuments workflow email statements to customers and display statements on the company Web site.

Setting up custom document properties

To set up custom document properties, the administrator:

  • Defines two custom document properties (with captions that specify the user interface names) in the docCustomDefinitions.xml file:
    • Doc.Custom.AccountNumber, with Account number for the caption
    • Doc.Custom.PrefOffers, with Offers preference for the caption
  • Runs the docCustom utility and updates the Custom Document Properties feature.
  • Loads the updated RICOH ProcessDirector document properties to RICOH ProcessDirector Plug-in for Adobe Acrobat.
  • Uses the Define Document Property function in the plug-in to map account number data in the documents to the Account number document property (database name Doc.Custom.AccountNumber).

    During processing, the IdentifyPDFDocuments step in the workflow extracts the data for the Account number document property from each document in the PDF file for the job.

      Note:
    • The Define Document Property function cannot be used to map data to the Offers preference document property (database name Doc.Custom.PrefOffers) because the documents do not have that data. During processing, the ApplyPreferences step in the workflow uses the preferences file to populate the property values.

  • Uses the Save control file function in the plug-in to save the document property definition in the EnhancePDFdocs.ctl control file.
  • Sends the control file to the RICOH ProcessDirector server.

Creating a property mapping object

The administrator creates a CustomerPreferences property mapping object with these values:

  • On the General section, the value of File type is CSV.
  • On the Property Mapping section, the values are:
    Heading Document property Usage
    Account Number Account number Identify document
    Output Type Output type Update property
    Email Address Email address Update property
    Offers Offers preference Update property

Making the preferences file available to RICOH ProcessDirector

To make the preferences file available to RICOH ProcessDirector, the administrator:

  • Creates an /aiw/aiw1/preferences directory for preferences files.
  • Asks the department that provides the preferences file to name it EnhancePDFprefs.csv and write it to the /aiw/aiw1/preferences directory.
  • Makes sure that the preferences file is ready for RICOH ProcessDirector to process:
    • The file must be in comma-separated values (CSV) format or tab-delimited format.

      The columns of data must have the headings specified in the property mapping object: Account Number, Output Type, Email Address, and Offers.

    This example shows a portion of the file:

    Account Number,Output Type,Email Address,Offers
    2000144372,Print,,All
    2001144678,Print,,None
    2001154898,Email,m.lopez@isp1.com,Company
    2004187456,Print,,Company
    2007192007,Web,j.gomez@isp2.com,All
    2010197554,Email,s.jones@isp3.com,Company
    2010223114,Email,d.wilson@isp4.com,None
    2012234096,Web,a.larson@isp5.com,None
    2231547625,Print,,All

Modifying the workflow

To modify the EnhancePDFDocuments workflow that the company uses to print statements, the administrator:

  • Adds an ApplyPreferences step after the IdentifyPDFDocuments step and sets values for the step properties:
    • The value of Preferences file is /aiw/aiw1/preferences/EnhancePDFprefs.csv.
    • The value of Property mapping is CustomerPreferences.
  • Adds a GroupDocuments step after the ApplyPreferences step and sets the value of the Group first property to Output type.

    The GroupDocuments step creates three groups of documents based on the values of the Output type document property. The values come from the EnhancePDFprefs.csv file: Print, Email, and Web.

  • Adds a CreateJobsFromDocuments step to the workflow after the GroupDocuments step and sets the value of the Child workflow property to the name of the current workflow.
  • Disconnects the CreateJobsFromDocuments step from the BuildPDFFromDocuments step.
  • Adds a condition on the connector between the SetJobPropsFromTextFile and CountPages steps. The rule on the connector is: Job number Unlike *.*

    This rule lets you process parent and child jobs through different branches. Parent jobs, which do not have a . (period) in their names, use this branch.

  • Adds a SetDocPropsFromConditions step and connects the SetJobPropsFromTextFile step to it. The SetDocPropsFromConditions step starts a new branch for child jobs. The connector does not have a rule. Child jobs, which have a decimal point in their job number, go down this branch.

    The SetDocPropsFromConditions step specifies a property conditions file that sets the Custom 1 job property (database name Job.Info.Attr1) based on the value of the Output type document property from the preferences file. The property conditions file has this content:

    "Doc.Pref.Output","Job.Info.Attr1"
    "=Email","Email"
    "=Print","Print"
    "=Web","Web"

  • Connects the SetDocPropsFromConditions step to the BuildPDFFromDocuments step.
  • Creates a workflow branch for child jobs with statements to be printed by adding a condition on the existing connector from the BuildPDFFromDocuments step to the CountPages step. The rule on the connector is: Custom 1 = Print
  • Adds an EmailDocuments step and connects the BuildPDFFromDocuments step to it. The EmailDocuments step sends each statement as a PDF file to the email address for the customer.

    The preferences file contains the customer email addresses.

  • Creates a workflow branch for child jobs with statements to be emailed by adding a condition on the connector between the BuildPDFFromDocuments and EmailDocuments steps. The rule on the connector is: Custom 1 = Email
  • Adds a RunExternalProgram step and connects the BuildPDFFromDocuments step to it. The RunExternalProgram step sends the statements to an external program that posts them on the company Web site.
  • Creates a workflow branch for child jobs with statements to be posted on the company Web site by adding a condition on the connector between the BuildPDFFromDocuments and RunExternalProgram steps. The rule on the connector is: Custom 1 = Web
  • Adds a WaitForRelatedJobs step between the PrintJobs step and the RetainCompletedJobs step.
  • Connects the CreateJobsFromDocuments, EmailDocuments, and RunExternalProgram steps to the WaitForRelatedJobs step.

Processing jobs through the workflow

After setting up the workflow and testing it, the administrator places the workflow in production.

The HotFolderPDF supplied input device receives a PDF job with statement documents and submits it to the EnhancePDFDocuments workflow.

The job goes through the workflow branch for parent jobs and moves to the ApplyPreferences step. RICOH ProcessDirector reads the information in the EnhancePDFprefs.csv file and creates three columns of data in the document properties file for the job. The columns contain values for these properties:

  • Doc.Pref.Output
  • Doc.Email.Address
  • Doc.Custom.PrefOffers

The job moves to the GroupDocuments step, which places each document in one of three groups based on the value of the Output type property.

The job moves to the CreateJobsFromDocuments step, which creates a child job for each group of documents and submits the child jobs to the same workflow.

The child jobs go through the workflow branch for child jobs.

When the child jobs reach the SetDocPropsFromConditions step, RICOH ProcessDirector sets the value of the Custom 1 job property:

  • For the child job with the Output type property set to Print, the Custom 1 job property is set to Print.
  • For the child job with the Output type property set to Email, the Custom 1 job property is set to Email.
  • For the child job with the Output type property set to Web, the Custom 1 job property is set to Web.

RICOH ProcessDirector sends the child jobs to the print branch, email branch, or Web branch of the workflow based on the value of the Custom 1 job property.

The child job with documents to be printed moves to the WaitForRelatedJobs step after the PrintJobs step.

The child job with email documents moves to the EmailDocuments step, and RICOH ProcessDirector uses the value specified for the Email address property to email each policy as a PDF file to the customer.

The child job then moves to the WaitForRelatedJobs step.

The child job with Web documents moves to the RunExternalProgram step, which sends the statements to an external program that posts them on the company Web site.

The child job then moves to the WaitForRelatedJobs step.

When all of the child jobs reach the WaitForRelatedJobs step, the parent job and the child jobs start their retention period.

    Note:
  • This usage scenario shows how to add values for the Offer preferences property to the document properties file but does not use those values in the workflow. The company might use the property to determine whether to add an image with a marketing offer to the customer statement.