At first, the Blue Prairie forms technology stack can seem a bit overwhelming. Once you understand the basic concept, it is less important for the casual administrator to need have a deep understanding of the entire stack. However, it is useful to have at least a high-level understanding of how Blue Prairie Forms works so that you can understand how to administer it more efficiently.
The technologies involved in Blue Prairie Forms include:
- MultiValue Server
- Blue Prairie MultiValue Host-side service libraries
- Print Server (Linux on Intel machine usually Redhat, Centos)
- OpenOffice (soffice) Version 4.0 or above. We recommend LibreOffice 6.x or above
- Samba (CIFS)
- Open Document Template files
- Blue Prairie BPIFORMS universe account
- The phantoms
- The administrative menu
The MultiValue server can run on any supported UNIX platform (AIX, Linux, HP/UX).
The MultiValue server and the print server (running OpenOffice) should reside on the same network and be visible to each other.
Secure Shell (SSH) is used to allow the MultiValue server-side libraries to communicate with the print server running OpenOffice. See separate documentation on the installation and configuration of SSH on the MultiValue server and the print server. It is necessary to establish password-less keychain authentication between the MultiValue server and the print server. It is also necessary to setup unix user(s) of the same name on the MultiValue server and the print server as part of the SSH implementation.
“Print Server” is a generic name that we use to refer to the machine (or virtual machine) where the OpenOffice suite is installed and configured. This server is used to read and convert the Blue Prairie print source document into a printed output. This server must be installed with Linux (preferably Fedora 14 or later) and OpenOffice (preferably 4.1 or later)
Libre Office or Open Office
Libre Office (Open office) is a Microsoft Office like office suite. It is open source and can be downloaded and installed free of charge. Blue Prairie Forms uses OpenOffice as its print rendering engine. It must be installed and configured on the Print Server. As of the writing of this document, we have tested with Libre Office 6.x. This documentation is based on Libre Office 6.x Libre Office is a fork of the Open Office project and is also compatible with Blue Prairie Forms. Your configuration of Blue Prairie Forms may use either OpenOffice or Libre Office. We recommend Libre Office.
Note that when installing Libre Office, on your print server logged in as your thread user (bpiform1, bpiform2, etc), you must be able to issue a which soffice directive and it must return a path to whatever version of Open Office or Libre Office you are running. If you must, create a symbolic link at /usr/bin called soffice and that points to the specific binary for Open Office or Libre Office.
CUPS (Common Unix Print System)
CUPS is the standard print subsystem used in most Linux distributions. CUPS handles printing requests submitted by the application (in our case OpenOffice) and provides a structure for the use of print drivers. CUPS also provides a nice web-based print management page that can be accessed from a browser. It can be used to manage and monitor print jobs generated by Blue Prairie Forms.
Samba (or CIFS)
Samba is an interface that allows a resources on one computer to be visible and accessible by another machine. We use Samba to share our Blue Prairie Forms directories residing on the MultiValue server to the Print Server. It could also be used to share printers defined on the MultiValue server with the Print server.
Open Document Template (ODT)
ODT is the format that is native to OpenOffice. It allows us to take advantage of the full functionality of OpenOffice. Since ODT is native to OpenOffice, things you see within the OpenOffice document editor are rendered accurately and completely. It is the new and preferred way of creating templates with Blue Prairie Forms.
What must be running
For Blue Prairie Forms to work, the following must be running:
- The OpenOffice/Libre Office “Print Server” must be powered up and visible on the network.
- The bpi_forms directory shared via Samba/CIFS must be mounted on the OO/LO server.
- CUPS must be running on the OO/LO server.
- The Samba services must be running on the MultiValue host to share the document and template directories with the OO/LO server.
- The BPF phantom(s) must be running on the MultiValue host.
BP Forms Processing Flow
- Your application calls the Blue Prairie Forms API and creates a print job. Note, no ‘spooler’ job is created. The print job is created without the use of the MultiValue spooler. The UNIX spooler on the MultiValue host is also not used. Print jobs are transmitted directly to the ‘queue’ directory within the Blue Prairie Forms account (See BP Forms Directories in the left box.
- The print job is actually an Open Office .odt document that is written to the …/bpi_forms/queue directory on your MultiValue host
- When the document is dropped into the queue directory, a phantom responsible for monitoring that queue directory will pick-up the document and then instruct Open Office on the Linux Print Server to print it.
- The MultiValue host makes its BPF directories visible to other systems on the network (including the Linux Print Server) by sharing the bpi_forms directory using SAMBA. Samba simply makes the directory visible to other computers so that documents and other information stored within the directory will appear as directories and documents stored locally on that computer. If you have ever created a Windows ‘share’ then you are already familiar with this technology.
- The MultiValue host sends commands to the Linux Print Server telling it to run Open Office, load the document and print it to the desired printer.