bpi.form.phantom
This program is the main processing program for any Blue Prairie Forms phantom process. It accepts a number of parameters and uses these to poll a queue directory looking for documents. When it finds a document in its queue, it then uses a series of ssh directives to the target OpenOffice linux server to check the status of the server, printer and network and then delivers the directives to OpenOffice to cause the document to print. After printing, it moves the document out of queue as specified in the input params.
This program is called from the bpi.form.phantom.menu program when the (S)tart option is selected.
Program Syntax
bpi.form.phantom {switches}
Switch |
Direction |
Description |
-h |
passed |
Display help screen and exit |
-i<ident> |
passed |
Specifies the identifier for this phantom thread. <ident> is any string that will uniquely identify this instance of the bpi.form.phantom in the process (ps) stack. |
-p<printer> |
passed |
Where <printer> is the printer name as defined on the print server (OpenOffice) server. |
-q<queue> |
passed |
Where <queue> is either a path to a directory or name of a file pointer in VOC that points to a directory where queue’d files live. |
-m<path> |
passed |
(optional). Move processed file to <path> after processing. If not specified, file will be deleted after processing |
-r<remote_dir> |
passed |
Where <remote_dir> is the path on the OpenOffice server where the document to be rendered will be placed. This is usually a samba mounted directory to the -q<queue> directory. The path will normally be different because the samba mount will have a path that is normally different on the OpenOffice server than it is on the MultiValue server. If you can access the OpenOffice server, then cd to the directory where your document can be seen on the OpenOffice server, that is the <remote_dir> value. |
-k<killitem> |
passed |
Where <killitem> is id of a item in the CONTROL file that will signal the phantom to die. |
-n<sec> |
passed |
Nap for <sec> seconds between polling loops. The default is 1 second. |
-s<server> |
passed |
The ip address or host name of the OpenOffice print server |
-u<user> |
passed |
The user name to login to the print server. Note, there should be one <user> name for every ident that is running to allow for multi-threading. If <user> values are re-used acrossed multiple threads of the phantom, one threads will have to wait for the OpenOffice server to be free for that user before the document can be processed. |
-v |
passed |
level of verbosity |
The phantom process will poll the target directory specified for the thread looking for documents. It will process them in FIFO order. When the phantom picks up the document, it will examine the file name for the document which should follow this format:
target_printer_name#copies___meaningful_document_name.odt |
Where
Part |
Description |
target_print_name |
is the name of the targeted CUPS printer |
#copies |
# followed by a number indicated the number of copies of the document that the printer will print. If this is omitted, one is assumed. This means that you may not use the # character elsewhere within the printer name. |
___ |
Is the separator that divides the printer name from the actual meaning document name. |
meaningful_document_name |
is the name of the document (for example: invoice_12345.odt |