Please enable JavaScript to view this site.

CopiaFacts™ Reference Manual

This topic describes how to configure CopiaFacts for Faxing from Multi-Function Printers and Devices, specifically for devices which create a .XST file in a .XSM folder to describe the document and its fax destination.  Other control file types can be handled using similar methods, but may require a separate plug-in option in FFEXTERN special processes.

The FXXSMSCAN process scans a nominated folder for subfolders containing subfolders named with a .XSM extension.  The .XSM subfolder must contain a single .DAT file and a single .XST file, named with the same filename part as their subfolder.  The .DAT file must contain one or more filenames of .TIF files, which must reside in the same .XSM subfolder.  The XST file must contain the fax number to which the file is to be sent.

The scan skips .XSM folders which have a last modified time less that 3000ms ago, to allow the folder to be completely written before attempting to open it.  The files will then be picked up on the next scan pass.  This time can be overridden by assigning a positive value on a $var_def command in FAXFACTS.CFG to a variable named FXEPIC_SKIP_TIME_MS.

To allow customization of the text extraction, the fields to be extracted from the XST file can be specified using 'regular expressions' to match patterns in the file.  Some useful information about regular expressions can be found at http://www.regular-expressions.info.

The setup screen for this process selects the base folder to be scanned and the USR file which will be used to send the document.

The USR file should include FS template items on $fs_template commands.  These commands, and USR $var_def commands are scanned for a substring REGEX: followed by a regular expression, all  in double-quotes.  The regular expression must create a subexpression (backreference) using either the special name FAXNUM (which specifies the destination) or the special name ROUTETO (which specifies the receiver name) or any other backreference name which must match the variable name with which the regular expression is associated.

The commands scanned are:

•The regular expression on a $fax_phone command is assumed to produce a named subexpression (backreference) with name FAXNUM. An example of a regular expression might be:

       $fs_template $fax_phone "REGEX:^\s*string PhoneNumber = ""(?<FAXNUM>(?:\d|-|\+|\(|\)| )*).*$"

•The regular expression on a $email_address command is assumed to produce a named subexpression (backreference) with name EMAILTO.  In this case the text file will be the e-mail body.

•The regular expression on a $fax_receiver command is assumed to produce a named subexpression (backreference) with name ROUTETO. The value can be expanded by a variable @ROUTETO in for example a fax cover sheet.

•The regular expression on a $fax_sender command is assumed to produce a named subexpression (backreference) with name SENDER. The value can be expanded by a variable @SENDER in for example a fax cover sheet.

•The regular expression on a $var_def command is assumed to produce a named subexpression (backreference) which must have a name which is the same as the variable name. For example:

       $var_def USERID "REGEX:^\s*string AcctName = ""XRX_USERID"";\s*^\s*string AcctValue = ""(?<USERID>(?:[A-Za-z0-9])*).*$"

       $var_def ACCTID "REGEX:^\s*string AcctName = ""XRX_ACCTID"";\s*^\s*string AcctValue = ""(?<ACCTID>(?:[A-Za-z0-9])*).*$"

•A special $var_def name of MULTIFAX receives extra processing: characters other than numbers and comma are removed from the result.  This allows a regex to be constructed whose backreference includes spaces, double-quotes and newlines, as found when multiple phone numbers have been entered. The result is a simple comma-separated list of numeric phone numbers, which can be used in a pre-process to create additional FS files. For example:

       $var_def MULTIFAX "REGEX:.*string PhoneNumber = (?<MULTIFAX>(?:\d|,|""|-|\+|\(| |\n|\))*);"

The regular expression is used to scan the whole multi-line text file and the ^ and $ symbols can be used to indicate the start and end of a line rather than the start and end of the text. Leading and trailing spaces are trimmed from the resulting value before it replaces the REGEX: expression on the command placed in the FS file.

A variable named SCAN_PATH is always added to the FS, containing the name of the folder which is scanned for .XSM folders.

After the FS file is created the files in the .XSM folder are archived into a ZIP file in the CALLBACK\TEMP folder and deleted from the original location.  The ZIP is named with the FS number and the CopiaFacts housekeeping service should be used to delete these files at intervals.

The TIF files are amalgamated into a single file which will also be named with the FS number in CALLBACK\TEMP, from which it will be referenced in the FS file.  You should also arrange to delete these files at intervals, or use $delete_option TEMP to delete them immediately.

The FS file is written to the specified TOSEND folder.