The Printing application allows other applications to issue New Media Services print requisitions and send the relevant files for printing. This document provides a high-level overview of the capabilities of the application. More detailed documentation is also available:

Statistics

Statistics of this nature have the potential to be misleading, but they may provide some sense of the overall magnitude of the application.

  • Python code (automatic processes): 500 lines
  • SQL code (schema definition and stored procedures): 800 lines

This application depends on the Mail Sending application.

Printing

Other applications interact with the printing application via the database. This means that a completed print request will not actually be fulfilled until the associated changes made by the application are also finalized. This ensures that in the event of an error no print job will be sent, even if the error is detected after the application has prepared the print job (but before the associated changes are committed to the database).

To create a print request, an application performs the following steps, all of which are implemented as requests that are made in the database:

  • Create the request; this assigns a job ID.
  • Set requisition field values; there are convenience routines to make this convenient.
  • Attach files for printing.
  • Mark the job as complete.

Only once the job is marked as complete and the database transaction is committed by the application does the job become eligible to be sent for printing.

Upon noticing a completed print request, the Printing application connects to the New Media Services website and creates a print requisition. When the response email arrives with the attached PDF requisition, it stores it in the database for future reference and sends the required files for printing. It also records the requisition number assigned by New Media Services for future reference.