> CometLib

Comet File Access Method (CFAM)

The Comet File Access Method (CFAM) is a new interface to the Comet file system. CFAM provides high performance, improved security, larger record sizes, and support for additional programming languages. Best of all, it requires no programming changes to use. Here are the details:

High performance
CFAM provides a newer, cleaner, and safer mechanism for interfacing to the Comet file system – whether on a local machine or on a network file server. CFAM performs all of the file system functions, tasks that were previously performed by the Comet kernel. Thus, CFAM provides a high performance link between Comet and CometServe32. In addition, CFAM handles all of the housekeeping associated with directories, Dabs, and network communication with other Comet file servers.

Improved Security
One of the long awaited benefits of CFAM is that with all file system activity being performed exclusively by CometServe32, Comet users no longer need to have access to the Comet directories through the Microsoft network client. This has long been a concern of network administrators who would prefer users to have minimal access to server folders.

Larger record size
Throughout the years Signature Systems has had frequent requests for larger record sizes. Because of CFAM’s ability to easily shuttle large amounts of data to and from CometServe32, we took this opportunity to expand the maximum Comet file record size to 8,000 bytes. We’re sure this feature will be well received by all Comet developers.

Language support
Another feature of CFAM is its ability to allow other applications written in other languages to gain full access to the Comet file system. Supported languages include Visual Basic, Visual C++, VBScript, JScript, and many others. Not only does this feature broaden the use of your Comet database, but it also provides a way to introduce new programmers who aren’t familiar with Internet Basic to the Comet file system using a language that they’re comfortable with. You can find documentation for CometLib here.

Note: Support for additional languages is accomplished using special Signature-supplied COM dll’s. A COM dll is a special dll that conforms to the Microsoft Component Object Model specification. This specification allows COM compliant languages to gain access to and control of a COM compliant dll. You can find more information about COM objects here.

The Single User System
This is the simplest case so we'll start here. In this scenario, you probably have all type "L" directories. This system does not access files on other systems and other systems do not access files on this system. To make use of CFAM, you simply need to change the type of your directories from "L" to "C" in the [DIRECTORIES] section of your Comet.ini file. CFAM uses CometServe32 but you do not need a CometServe32 license for use in this configuration.

When installing this system, we recommend that you setup the Comet Security Server to run as a service so that it's automatically available when your system starts up. CometServerProductsXXX.exe (XXX is the version number), the server installation utility, will guide you through this process. In addition, it will install all of the required server-side executables. Then run the Comet Workstation installer to install the client-side executables.

When Comet is started and type "C" directories are detected in your configuration, CometServe32 and CFAM will automatically be loaded from the folder where your other Comet executables are stored.

That's all there is to it!

The CFAM Network Server
Networks of Comet clients talking to a shared file server are the most common installations. Setting up CFAM to run in this configuration requires only a couple of more steps than for a single user system.

In this scenario, in addition to specifying type "C" directories as described above, you will also designate your CFAM file server with a type "C" in the [NODE] section of your Comet.ini file. The "C" replaces the "F" previously used to indicate a CometServe file server.

When installing this system, we recommend that you setup CometServe32 to run as a service so that it's automatically available when your server starts up. Doing this will setup CFAMNetServe.exe to run as a service as well. It handles all of the client/server communications. The Comet Security Server should also be setup as a service if this system will provide license security. CometServerProductsXXX.exe, the server installation utility, will guide you through this process and install all required executables. Windows 98 systems may not be used as CFAM file servers.

Once the server has been setup, the workstation installation utility may be used to setup each workstation that will be accessing this server. It will guide you through the steps to install the required client-side executables and can create a desktop shortcut to be used to start Comet.

Can I still use type "L", "N", or "S" directories if I am using CFAM?

Everyone should be using exclusively type "C" directories. The last version to support type "S" directories was 5.08. At that version you could mix directory types. They will continue to function as they always have, but only the type "C" directories will get the benefits of CFAM. If you are a single user system or on a network using type "S" directories with CometServe32 there really is no reason not to change all your directories to type "C" as there are no additional licensing requirements for CFAM.

Can I use CFAM if I am a CometSrv.NLM user?
CFAM does not interface to the NLM. In order to get the benefits of CFAM you will have to switch to the CometServe32 file system.

Can users running older versions of Comet access files in my CFAM directories?
Yes, they may but they won't able to use the enhanced features. As a matter of fact, they won't even be able to OPEN any file whose record size is greater than 1024. If you have users who must access other files in these directories, they would access the directories as type "S" through a type "F" CometServe32 server and you would be restricted to running version 5.08 or older of the file server.