Understanding repository files

A repository consists of two ISAM files: a repository main file and a repository text file. The standard names for these files are rpsmain.ism and rpstext.ism. You can name them anything you like, but see the tip below. An empty repository (using the standard filenames) is included in your distribution. You can create additional repositories using the Create New Repository utility.

Tip

Although you can name the repository main and text files anything you like, we recommend that you include “main” and “text” in the filenames. Not only does this help to identify the files as repository files, it also enables you to take advantage of the filename defaulting that occurs in all main and text file fields in Repository dialogs: After you enter or select the name of a repository main file and exit the field, Repository enters a default repository text filename by copying the main filename and changing the last occurrence of the characters “main” to “text”.

Determining the repository files used

You can specify the location of your repository files using the RPSMFIL and RPSTFIL environment variables or, if you are using the standard filenames (rpsmain.ism and rpstext.ism), you can specify the directory in which the files are located with RPSDAT. By default, RPSDAT is set to point to the rps\rpsdat directory below the Synergy/DE installation directory.

Repository searches for the repository files to use as follows:

You can temporarily change the repository files being used while Repository is running. This does not reset RPSMFIL or RPSTFIL; the files defined by those environment variables will be used the next time you start Repository. See Set Current Repository utility.

Temporary work files

When repository files are opened, various temporary work files (named RPS_SEQ*) are created. By default, they are created in the current directory on OpenVMS and in the location specified by the TEMP environment variable on Windows and UNIX. If TEMP is not set, the default directory is the current directory. You can specify a location for these files with the RPSTMP environment variable.

Record locking

Repository supports multi-user access, with locking occurring at the record level. When one user begins modifying a record, no other user can write to it. This could affect a definition, such as a structure or template, or an internal reference record that maintains information about relationships between definitions. The lock is removed as soon as the user that has the record locked saves or abandons changes.

In most cases, it will be clear why you are getting a “record locked” error, such as when you try to delete a definition that is in use by another user. If you attempt to modify a structure, file, template, format, or enumeration that is in use, you’ll see a “record locked” message and be given the option to view the definition instead.

But there may be cases where it is not so clear why a record is locked. Following are a couple of examples of these less obvious locking situations:

Any time you encounter a “record locked” message, you’ll have to wait until the other user is done before you can complete your task. If you are attempting to save changes, and you don’t want to wait, you have the option of canceling the operation by selecting the Cancel button after exiting the “record locked” message dialog.

Because other users may be adding or deleting records while you are working in the repository, definition lists could change. You can refresh the definition lists for structures, files, templates, formats, and enumerations by pressing F5 or selecting List > Refresh.

Moving repository files

Once you set up all of your repository definitions, you can copy the repository files to other systems. This enables you to do all of your development on one system and then move your repository to other systems as necessary.

To move your repository files to another system, do either of the following:

Moving repository cross-reference files

If you are using a cross-reference file (see Generate Cross-Reference utility (rpsxref)), when you move the repository you must also move the cross-reference file. To move this file, follow the general guidelines for moving data files between operating systems in Moving database files to other systems.