CONFIGURING THE SERVER

Top  Previous  Next

The server is configured via the uf90d.ini file, which can be edited with any text editor.  In addition, the browser-based Server Manager offers configuration access to most configuration parameters.

 

In addition to these items, you can also configure access to Ghostscript, Image Magick, or Image Alchemy elsewhere in the uf90d.ini file.

 

In the defaults and security sections, here are the values available:

 

[defaults] section

port=n

Sets the primary listing TCP/IP port to n.  The default is 27290.  Note that if you use NAT translation or if you have a firewall between the clients and server, then this port (along with the procports defined below) must be configured to allow clients access.

logfile=path

Sets the name of the server's log file to path.  By default, it is stored in the UnForm directory.  Standard log entries include connection information.  Detailed logging includes verbose data transactions.

logdetail=n

Set n to 0 for standard logging, 1 for detailed logging.  You should not leave detailed logging enabled for normal use, as the log file can grow very large.

timeout=n

Set n to the number of seconds that a connection can remain idle before closing.  The default value is 3600, or one hour.  Setting this value to 0 will avoid timeout-based disconnects.  This value primarily affects designer connections, which can remain active for long periods.

age=days

This value sets the maximum age, in days, of job log entries.  When jobs are submitted, basic job information is kept in a log file.  If errors were recorded, the error file also remains in the temp directory under the UnForm server.  After this many days, the files and log entries are automatically removed.  A fraction of a day can be supplied, such as age=.25 for 6 hours.

 

This value is also used for purging unprocessed jobs in the 'rpq' directory, which receives incoming TCP/IP print streams as well as asynchronous client submissions.

 

This value is also used for purging search result sets generated by the archive browser interface.

agetmp=hours

This value sets the maximum age, in hours, of ./temp/tmp files, which is the default directory for work files.

rulefile=path

Sets the default rule file to path, used for jobs that do not specify a rule file on the command line.

bbpath=path

If the bbxread() function is used, this value points to the BBx executable that is invoked when required, such as /usr/lib/basis/pro5/pro5.

library=path1;path2;…

Sets directory paths that are automatically searched for rule files, images, and attachments.  By default, UnForm searches the UnForm directory and also supports full paths.

sshost=host

Sets the default host IP address or name of the Windows Support Server.  In addition, the sshost() function can be used in a code block to specify the host and port at run-time.

ssport=port

Sets the default port to connect to the Windows Support Server on the host specified by sshost.

sstimeout=seconds

Sets the Support Server timeout value, which determines how long an UnForm job will wait for a response from the Support Server before logging an error and continuing the job.  Set to -1 for an infinite timeout.

imageage=days

Images that are converted by an external conversion program or by the Windows Support Server are cached by default.  The last date an image is used is also stored, and images that have not been used in days days are removed automatically.

stylesheet=name

Sets the name of the style sheet used by the archive browser interface programs.  A file called "default.css" is provided with the server installation (found in the web/en-us directory).  This style sheet is also used when archives are exported to static HTML structures.

bufsize=bytes

An initial block is tested for each job in order to determine if the job contains binary data or text data.  The size of this block defaults to 8196 bytes, but you can adjust it to any integer value with this entry.  The minimum value is 1024.

cr=0|1|2|3

Controls default handling for embedded carriage return (chr(13)) characters in lines read from the input stream.  This value may be overridden with the –cr command line option.

 

0 will truncate lines at the first CR.
1 will strip CR character, so the line continues as if the character were not present.
2 will fold lines, and non-space characters are placed in the line buffer, simulating an overstrike.
3 will fold lines and insert an extra space, which accommodates Windows Generic/Text Only printers that overstrike conflicting characters.

rebuild=0|1

If set to 1, the next start of the uf90d server will attempt to repair certain control files, such as the job history database and user table.  Use this feature if you suspect corruption in one of these files.  It should normally be set to 0.

tcpportretry=n

The number of times a job received on a direct TCP/IP port will be retried if a non-license (998) error occurs.  As an example, if a network printer goes down and UnForm returns errors trying to open the output device (-o devicename), this sets the maximum number of times the job will be submitted by the port sweeper.  The sweeper runs each time a job is submitted and every 5 seconds when idle.

 

Setting this value to a reasonable number allows for temporary problems to be self-corrected without causing an unlimited number of log and error files to build up due to a configuration issue.

 

To release jobs once a problem is corrected, manually remove the *.rty file(s) from the rpq directory.

pdftrans=0|1

Sets the default PDF transparency setting.  If 1, then PDF files will use transparency.

textjob=0|1

Sets the default behavior on generation of the textjob$[all] array, which is a collection of all print lines for the job.  This array can be useful when performing report mining operations, or parsing a full job into pages in a prejob code block, but when large print streams are processed, a significant amount of memory and CPU resources are consumed generating the array.  The -textjob, -notextjob command line options override this setting.

errnotify=email address

errnotifysubject=subject

If an error occurs while running a job, messages are written to a job number error file (temp/jobno.err).  This file remains on disk for a configured amount of time, typically seven days.  You can configure an email address (or multiple emails separated by commas) to have the server send the contents of these error files to an administrator, reducing the need to proactively monitor for errors.

 

Only jobs that encounter runtime errors trigger mailing.  Errors in jobs being tested in the design tool are not sent.  Also, some errors can occur only on the client side, such as an invalid server address.  In those cases, the server is unaware of the error and no message will be sent.  Such errors need to be captured via client error handling.

 

The subject specified may include a tag "@jobid" to reference the job number, which can be helpful to cross reference back to a rule file and rule set by locating the "Job complete" message in the server log file.

 

If an error occurs while emailing, a message is logged in the server's uf90d.log file.  This feature depends on having email properly configured (in prog/mailcall.in or the [mailcall] section of uf90d.ini), and is available starting in version 9.0.28.

expnotify=email address

If UnForm is licensed as a rental, then this address is used to notify an administrator if the license expires.  Rental licenses have a 10 day grace period, and during that period expiration messages are logged, plus an email is sent to this address and sales@synergetic-data.com, as long as an email server is configured in the server manager.

ssl=0|1

If set to 1, the server listens on a secure (SSL) socket.  All client connections, including Image Manager connections, must be configured to connect using SSL.  The uf90c command line can also contain a -ssl option to connect using SSL.

 

If this is set to 1, and the [apache] section has sslcert and sslkey values defined, then the certificate configuration used for Apache is also used by the client listener.  Otherwise, a self-signed certificate is used.

dtrest=0|1

The desktop delivery browser normally monitors for new activity using a low-overhead HTTP request to the regular printing port, rather than the HTTP port.  If ssl is turned on and the default self-signed certificate is used, then desktop deliver can encounter problems due to the delivery browser interface not accepting the certificate for the printing port.

 

In such a case, you can set dtrest=1 to force the delivery browser to use the REST interface with the standard HTTP port.  This can help in cases where the browser interface runs without ssl.  The REST interface is not as efficient as the above method, but is suitable for modest numbers of delivery browsers actively polling the server.

 

afo2=0|1

Default to the alternate AFO word parsing algorithm.

rpqinterval=seconds

Sets the interval used by the server to check for rpq job submissions, which come in via the tcp/ip monitor or jobs submitted by uf90c with the -async option.  At each interval, the server checks to see if there are rpq jobs and runs the sweeper if any jobs are present and the sweeper is not currently running.  The minimum and default value is 5.

rpqmaxjobs=count

When releasing jobs from rpq, the sweeper stops after this many jobs have been successfully submitted.  Other jobs wait in the queue for the next sweep interval.  This setting, along with rpqinterval, can be used to adjust how large numbers of jobs are released from the queue without overwhelming a system.  It is particularly useful with large or unlimited licenses.  If not set, all available jobs are processed.

fitpage=0|1

Sets the default fitpage mode for auto-scaling of AFO input streams.  See -fitpage in command line options.  Added at 9.0.24.

[security] section

allow=list

This is a semi-colon delimited list of valid IP addresses or wildcards that are allowed to connect to the server.  Note that the loopback address 127.0.0.1 is always allowed to connect.  The default list is 192.*.*.*;10.*.*.*, which allows the two standard non-routable LAN spaces to work.

encryptrul=0|1

If set to 1, the Design Tool will will encrypt rule files when saved.  The login is restricted to a user who is either an administrator or has been granted Design Tool access via the user maintenance features of the archive web browser interface.

 

Rule files saved or published in encrypted format can be read by any UnForm 9.0 server, regardless of its designer security setting, but can only be edited by the design tool.

 

If set to 0, rule files are maintained as text files, which can be edited using any text editor as well as the design tool.

 

Note this setting replaces the 'designer=n' option of previous releases, which also forced a login from the design tool.  The design tool in version 9.0 is browser-based and always requires a login.

 

[tcpports] section

port=options

Each line defines a port on which the server listens for raw print job deliveries, such as from Windows TCP/IP ports.  Each job submission is then processed using a uf90c command line configured with a pre-defined -ix option plus any other options defined.  For more information, see the TCP/IP Monitor chapter.

[webprinters] section

name=options [;description]

Each line defines a printer available to the Web Extension, which can submit PDF files to the printer.  This enables AFO printing directly from a compatible web browser, without the need to set up special printers at each browser machine.

 

When PDF files are submitted, a uf90c command line is run with the options specified, such as -f rulefile -o "device" .  An automatic -ix option is generated using the submitted file.  The web extension displays the device using the name and optional description.

[archive] section

deflib=defaultlib

Sets the default library name, for use when archive commands do not specify a library name.  This library will be placed under the default "arc" subdirectory below the UnForm server.

keywords=n

Specifies the maximum number of default keywords generated for UnForm job-based archives.  Default keywords are unique words generated from the job input stream that do not match patterns defined in the nonwords= file.  If this value is set to -1, then all unique words become keywords.  The benefit of this is that more words of job print streams are available for searching.  The cost is greater time spent parsing reports for words and additional disk space utilization.

nonwords=file

Specifies a file which contains lines of regular expressions for "words" that should not become keywords.  See ufnonwords.txt for examples.

nonchars=charlist

This is a list of characters that are removed from keywords.  The default list provided with UnForm is: <>{}[]()*=~`"'+|

endchars=charlist

This is a list of characters that are removed from the end of keywords.  For example, you may want to remove periods from the ends of words as a period typically ends a sentence.  The default list provided with UnForm is: .?!,;.

searchage=days

When archive searches are performed in the Web browser interface, work files are generated.  This sets the maximum number of days these files will remain on disk.

webdirs=dir1;dir2;…

If you need to support multiple languages, or you wish to offer a customized user interface for archive browser users, you can copy the ./web/en-us directory to other ./web/* directories and customize them.  In particular, the messages.txt file and various html templates or style sheets can be customized.  This directory list (and associated name=title values in each messages.txt file) are presented in the browser login screen.

sesage=hours

Set the number of hours a browser session can last before a login is required again.  By setting this to 0, browser users must login each time their web browser is re-started and the web interface is accessed.  Set it to a large number to allow users to login once per workstation and have that login remembered.

defperm=perms

Sets the default permissions on new libraries.  Set to zero or more semi-colon delimited letters, r, w, and d for read, write, and delete.  For example, defperm=r;w for default read and write, or defperm=r for just read only, or defperm= for no default permission, meaning only administrator logins can access the library initially.

defseq=0 or 1

Sets the default Force Sequence on Sub ID flag value for new libraries.  If set to 1, then sub ID’s are auto-sequenced to prevent overwriting.

pdfname=name.*.pdf        

In the browser interface, when images are consolidated into a single PDF, a file name is suggested when the PDF file is saved or an attachment is emailed.  This value forms a pattern, with an asterisk positioned to indicate where unique sequencing can be applied.  Use this to identify a company, such as SDSI.Document.*.pdf, so when an email recipient receives an email, the attachment name will be readily identifiable.

dtdel=http://unformserver:port

If this line is enabled, then the browser interface will display a menu entry to launch the desktop delivery browser client.

selfmanage=0|1                  

If set to 1, the browser interface will allow users to email their login and password to themselves, and can change their own password.

ses_notext=0|1

ses_mailfrom=email

ses_tiftopdf=0|1

ses_imgtopdf=0|1

These entries provide session defaults for the browser interface.  The ses_notext can be used to turn off @text images when browsing.  ses_mailfrom provides a default From address when emailing consolidated documents.  ses_tiftopdf and ses_imgtopdf enable TIF or all images to be converted to PDF before viewing in the browser.  This capability requires that Image Magick be configured on the UnForm server or in the Windows Support Server.

logo=filename

Sets the logo to be used as an icon in the browser interface.  This should be a small, square image.  The default is "unform.gif", which is found in the web/en-us directory.

title=value

Sets the title for the browser window, which most browsers display as a tab title.  The default title is "UnForm Document Archiving".

enablefax=0|1

Enable fax tabs in the browser interface.  Fax submissions rely on the deliver() function, so faxing must be configured in the deliver.ini file for this functionality to work.

faxcover=name1[,name2…]

When faxing is enabled, this provides a list of one or more cover page names that are acceptable for use with the deliver command's configured faxing product.  For example, msfax users could rely on the "generic" cover definition by specifying faxcover=generic.  The browser interface offers a choice of no cover, plus any cover names defined here.  Multiple names are delimited with commas.

nulltospace=0|1

If set to 1, any updates to document categories will set any mid-segment null values to a space.  Null value segments are considered the end of a segment list by the browser interface and library object, so doing this enables "null" segments to be accessed.

 

This settings was added at version 9.0.10.

[mailcall] section

name=value

The mailcall section can be used to define mailcall values not available in the email command and email() code block function, such as timeout or bodymime, or to provide a default setting if the command or function doesn’t supply a value (or supplies a null value).  Any options not set in an email command or function will be filled in with values in this section.

 

For example, if you want a bcc sent to a local support account by default, add a line that says bcc=email address.  Or, if you find that the default timeout of 30 seconds isn’t enough time for a slow internet connection, add a line like timeout=60.

[httpd] section - no longer used (see Configuring Apache)

 

 

Note also many parameters are stored in the ufparam.txt file.  You can create a custom version of this file, called ufparam.txc, which will be used instead of ufparam.txt.  Any new parameters that are added during a release cycle are documented in the readme.txt file, and can be added manually to keep ufparam.txc up to date if necessary.

 

Of particular interest in ufparam.txc is the font configuration.  All fonts are assigned a numeric ID.  Those that are common in pcl5 printers have pre-assigned values from HP, while soft fonts can be given user-defined numeric IDs.  These name=number pairs are defined in the [fonts] section.  ID numbers can then be assigned to soft font names in the [psmap] and [ttmap] sections, or mapped to PDF base fonts in the [pdfmap] section.  See the standard ufparam.txt file for examples and notes.

 

When UnForm processes a text or font command, it attempts to match a named option with a font name in the [fonts] section, and it then uses the associated font number.  Alternatively, the text or font command can identify the font number directly, with a font n option.

 

Once a number is identified, UnForm then looks for a native soft font definition, depending on the output format.  It looks in the [softfont] section for pcl5 output, or the [psmap] section for postscript output, or the [pdfmap] section for mapping to an internal PDF base font.  If no match is found, then the [ttmap] section is scanned for a match, and the associated TrueType soft font is embedded in the output and used.

 

An example of mapping a True Type font would look like this:

 

[fonts]

vera=19200

 

[ttmap]

19200=Vera,VeraBd,VeraIt,VeraBI

 

In the [fonts] section is a name=number pair.  The number is user-defined and must not conflict with the various fixed PCL font numbers found in the section.  The [ttmap] section contains a number=font(s), where a list of font file names (without the .ttf extension) is provided for normal, bold, italic, and bold-italic versions of the font.  Note that not all fonts provide all these versions.  True Type font files are found in the ./ttfont directory, or on Windows in the %windir%\fonts directory, or can be specified as full path names.