An Introduction to CPF

The Content Processing Facility (CPF) contains a programming language that enables you to define document assembly and delivery criteria, a program compiler for executing the operations defined in the script, and a user interface component for creating and managing “regions” that will be used for extracting values from pages. The CPF syntax is similar to that of the C programming language.

CPF enables you to create programs that query the Cypress DocuVault to aggregate content and perform operations such as filtering, sorting, bundling, indexing, and adding text and images. You can schedule programs to begin processing at a particular time or execute programs on an ad-hoc basis. Optionally, you can import variable data, such as social security numbers or account numbers, from a flat file to further control document assembly and delivery.

In addition, you can use CPF to generate text output to disk. You can write virtually any information to which CPF has access. For example, you can write totals calculated from region values on various pages, generate a list of devices to which content was delivered, or create a listing of all documents that were created during program execution.

CPF can assemble content created by any enterprise application, and deliver the newly-assembled content to any destination. For example, you can create a CPF program that, when executed, assembles content created by an ERP system, Windows application, and CAD system, then delivers the content for viewing in a Web browser.

Besides CPF itself, two other Cypress applications use some CPF functions: partition_prog and the External Archive module.

The partition_prog utility enables DocuVault content to be moved to a secondary disk storage environment, while retaining full document retrievability. This utility supports many CPF functions as well as its own exclusive functions.

The External Archive module enables customers to aggregate and export documents and disk-resident files to external media, such as DVD or CD. This feature is valuable to customers who need to comply with certain government or industry regulations, ensure a document's legal admissibility, or provide long-term storage of documents on external media.

CPF Process Flow

CPF programmatically assembles pages that have been captured in the Cypress DocuVault based on the content of each page. Your CPF programs query the DocuVault to aggregate all pages that meet the query criteria, perform the requested operations (e.g., sort or add a bar code), and publish the newly assembled content to the appropriate destination. You can use simple flat files to control or personalize CPF content assembly. For example, you can create a CPF program that utilizes a flat file consisting of employee numbers to aggregate, sort, and e-mail benefits or pension information for each employee.

Meeting Business Needs with CPF

CPF can be used to streamline virtually any content-centric application in your organization. For example, it can meet any of these business needs:

  • Consolidate multiple customer mailings into a single, cost-effective mailer.

Virtually all businesses send out multiple mailings each month to their customers. Using CPF, you can easily consolidate output from multiple applications into a single mailer, greatly reducing postage costs.

  • Reduce the cost to deliver information.

You can realize significant postage and labor savings by automatically re-ordering mailing application output based on zip code and minimize print and labor costs by delivering personalized content to new, cost-effective destinations inside and outside the enterprise.

  • Improve personalization of customer communications.

CPF can invoke content processing actions based on the actual content being processed. For example, if you are using a Telco billing application, you can design your program to retrieve and insert the “new rate plan” marketing collateral for any customers who exceed their monthly usage limit. You can design banking application programs to add personalized messages to statements when minimum account balances are maintained, or retrieve and insert marketing collaterals for any lines of business the customer is not currently using.

  • Control business processes by adding data to pages.

Based on page data, CPF can add content to any page being processed. For example, bar codes may be added to control document finishing operations and remittance processes.

  • Optimize report output for each user.

Regardless of how content within a report file is ordered, you can create programs that control what content is assembled for each user, the order of the content, and where it is to be delivered.

  • Seize new business opportunities.

You might create “e-mail back” Web applications that allow users to select desired content to receive (e.g., investment brochures, Material Safety Data Sheets) and automatically receive their selections as PDF e-mail attachments; mail claims faster by printing each claim along with all required supporting documents; or speed patient admissions by instantly creating Admission Packets composed of forms generated by multiple medical data systems.

  • Deliver information to customers and partners, interactively.

Via your corporate internet or intranet, you can enable users to request literature, statements, or any assemblage of information, then pass the parameters transparently to CPF. Content can then be automatically assembled delivered to the user’s Web browser, e-mail address, fax, or any other appropriate destination.

Invoking CPF

You can invoke a CPF program by submitting documents to a CPF Device or by scheduling a batch process.

Submitting documents to a CPF device allows you to trigger CPF functions based on document creation. For example, an ERP system can print a build order document to a CPF Device, which can invoke CPF to assemble, sequence, annotate, and deliver all required instructions and drawings along with the build order.

Invoking CPF as a batch process is most useful when you need to aggregate and process documents at certain intervals or periods of time. For example, you can set up a batch process that starts a CPF application at 1:00 every morning. This application can query a DocuVault for all statements generated the previous day, aggregate and sequence all statements by customer number, and queue the documents for printing at a production printer.