Contact Us!
303|905-4110

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