From build, CopiaFacts offers an optional feature which allows the main COPIAFACTS server engine, and the FFEXTERN document converter, to be run as services.  In addition the CopiaFacts SMTP Gateway and the CFHK house-keeping service have been run as services since earlier releases.

Operation as a service offers increased reliability when the applications are running in a data center because there is no console display which can be accidentally closed or disrupted when a system admin needs access to the console.  It also allows the applications to be run in a server environment in which desktop applications are not permitted.

The CopiaFacts services feature also includes a CopiaFacts Control Panel (CFCP), which allows running applications to be monitored and controlled from another machine.  Service operations are controlled using the CopiaFacts node name: CFCP can only control COPIAFACTS and FFEXTERN instances started with a fixed node name on the command line.

Use the links for CFCP, CFESERVICE, CFXSERVICE and CFMSG to find detailed documentation for these components.


Even if you are an experienced CopiaFacts user, and especially if you are a new user, it is essential that you prepare for service operation by running the applications on the same machine in desktop mode, before you switch to service operation. It is impractical to bring up service operation before the applications are running smoothly in desktop mode.

New COPIAFACTS users should not run COPIAFACTS and FFEXTERN in service mode without first running as live, production desktop applications for at least two weeks. The same applies to the introduction of any new features. In desktop mode, you should run each application with its designated nodename on the command line.

CopiaFacts engines and Document Converters to be run in service mode must be configured as follows:

The application must be run with a specific CopiaFacts node name, on the application command line.  This is because the node name is used to identify each instance from the control panel.  Node names are to be defined in CFHWL, both for COPIAFACTS and for FFEXTERN.

The application must be configured and run in a specific user login account, both as a desktop application and when run as a service.  This is because the application settings are held in the current-user section of the system registry.

To be run as a service, the normal CopiaFacts engine and Document Converter executable programs are spawned from a service process (CFESERVICE for COPIAFACTS and CFXSERVICE for FFEXTERN).  When run as a service, the applications make the following changes:

The display window is not visible.

Pop-up dialogs and alerts are suppressed.

The COPIAFACTS .TRx trace file is written normally, but the output normally sent to FFTRACE is written to a separate trace file.

Unhandled exceptions are trapped and recorded in a log file.

A separate service application, CFMSG, handles messaging between the service process, the application it spawns, and the CFCP control panel application.  The CFMSG service must run on the file server on which resides the COPIA share.

Service Operation

The COPIAFACTS and FFEXTERN applications are designed to allow monitoring of their operation in a console window.  When run as a service this is not possible, so CFCP provides monitoring and control functions for these applications.  CFCP can be run from any machine on your network to monitor the COPIAFACTS and FFEXTERN instances running on network machines.  It can also be run from outside your network, but this will normally require the $cfmsg configuration command to be used, and attention given to securing its use in this way by means of your firewall settings.

It is intended that the CFMSG, CFESERVICE and CFXSERVICE should run continuously, and should only be stopped when maintenance and updating is required.  The COPIAFACTS and FFEXTERN applications run from these services in service mode may, however be paused, stopped and restarted using CFCP from any connected machine, provided that the services are still running.  If any of the services is stopped, you will not currently be able to restart them other from, or using remote access to, the machine on which they should be running.

CFESERVICE and CFXSERVICE should be installed only from CFCP.  This ensures that they are configured with the correct nodename and to run in the correct user account.