By Dick Cleaveland
Ideally, given an excellent application design, one should not have to be concerned with the structure of the underlying data base - it should be transparent to the user. However, we live in the real world of bugs and unanticipated capabilities and opportunities (such as multiple and portable hard drives, the desire to operate more than one computer, etc.). This leads us to want to understand the way in which the data we use are structured. In this article I'll try to shed some light on the subject.
In my UFT directory today I have a total of 971 files including those created for web pages (557). Of the remaining 414, only 47 make up the data for my project; the rest are program, program configuration and program support files. Let's look first at the files we use for our data.
The Project Control File
The single most important clue to how the data files are structured lies in the content of .PRO files - in my case the single CLEAV.PRO. One .PRO file exists for each project. It and its companion .FPT file contain the project-wide information you see in the File .. Project info window as well as descriptions of the most recent searches you have done under the various categories of the Search menu item, the project file list and other miscellaneous items.
Think of the .PRO file's file list as containing the pointers to all of the other files making up your basic data base. If you print the report Reports .. Summary .. Project with the File list option selected you will see some of what the .PRO file contains in this area: a list of files, each with it's full DOS path identified:
There are some important things to know about what you see in this list. The first is that there are really more files than are shown holding your data - each of those listed may represent either two or three real files, each with a different file extension (dbf, fpt and cdx). They are shown this way because the files are in interrelated "sets." The dbf files contain the structured data (individual name, free dates, etc.), the fpt files contain the "memo" fields such as text biographies, footnotes and so forth. The cdx files contain indices into the other two files to speed up the access to (and sorting of) the data. If you lose a cdx file it can be recreated (that's what "reindexing" is). If you lose one of the other file types, you have lost real data.Project Control: C:\UFT\PROJECTS\CLEAV.PRO
Indiv. Misc.: C:\UFT\PROJECTS\68740349
Event Link: C:\UFT\PROJECTS\68742027
Source Link: C:\UFT\PROJECTS\68742508
Image Link: C:\UFT\PROJECTS\68742259
GEDCOM Err: C:\UFT\PROJECTS\68741159
Event Library: C:\UFT\LIBRARY\V_ELBOOK
Role Library: C:\UFT\LIBRARY\V_ROBOOK
Library Source Link: C:\UFT\LIBRARY\V_LIBOOK
Source Type: C:\UFT\LIBRARY\V_STBOOK
Table of Contents: C:\UFT\PROJECTS\68742865
Box Charts: C:\UFT\LIBRARY\V_CHBOOK
Web Charts: C:\UFT\LIBRARY\W_CHBOOK
Fan Charts: C:\UFT\LIBRARY\F_CHBOOK
Another thing to be aware of is that the list shows the full paths of the files. This is especially important when considering the library. When the program opens a project, it looks at this list of files and opens them one by one. In the sample case of figure 1, the program looks for the library files in the directory C:\UFT\LIBRARY. Those of you who took the option to use a separate installation of UFT to open projects which you started with ROOTS IV, ROOTS V, Visual ROOTS or Family Gathering may be surprised to discover that the library and project files you are using are NOT in the \UFT directory. If you were to move (not just copy) the files to another directory the program wouldn't know where to find them. If you have ever received the program note "Where is . . . " (naming a file) this may have been the cause.
Notice that some files are library files and some are project files. Your data is distributed among some of these files. For example, the data on places and sources are in library files; if you have added to or modified historical data it will appear in the Revent files; if you have added or modified source or event or role templates they will appear in library files. This situation is not complete, however, as some of your data (words added to the dictionary and macros you have developed) are in files not shown on the list(1).
The Library Files
The nature of most of the files identified as in the LIBRARY subdirectory is fairly obvious from their names. The event library contains the event templates upon which the specific events in your project are based, and so forth. The Library Source Link file (V_LIBOOK in the example above) contains information linking place records and source data.
If you were to look at the files in the library subdirectory using either a DOS dir command or the Windows explorer you will find some other files not identified in the listing shown in figure 1. First, you will find a group of file sets with ref in the name - V_ROREF.DBF and so forth. These files don't contain your data - they are the files which contain fresh, unadulterated replacements for the source, event and role definitions. You might want to use them to replace the operational set if you have made a mess of things trying to modify or augment your library templates or if your template files have been corrupted some other way. You can do the replacement using the Utilities .. Project .. Check routine (electing the options to rebuild libraries).
There may be some other files, too. If you have built a box chart for export to a web site you will likely have W_CHBOOK.DBF and .FPT files which contain some information about the box chart. Since these files are strictly project information and not really a part of the multi-project library it seems strange to me that they would have been allocated to the library subdirectory, but that's where they are. A more astonishing thing to me is that while these files can be easily recreated from the basic project data, they are included in the SQZ files created during a backup, adding to the size of the backup file.
A special case is the Revent file set; the path and name of the Revent file set is not kept in your project (.PRO) file, it is kept in the X_CONFIG file (see Miscellaneous files, below).
If you have created your project using the "separate libraries" feature you will find that the names of the files for sources and places will be numeric - not V_SOBOOK and V_PLBOOK as shown above, and they will not be in your library subdirectory.
The first thing almost everyone asks about these files is "why, for goodness sakes, all those numbered files?" Well, they can't have generic names since you may have more than one project and they would all be in the same subdirectory, so UFT lets the FoxPro program do some magic and come up with names which are "guaranteed" to be unique. Since the user is supposed to be aloof to these file names it should really make little difference to the usability of the program.
There will be a different set of numbered files for each of your projects if you have more than one. As in the library, the designation of the files as seen in figure 1 pretty well describes the contents of the file. Every individual, event, role, source and so forth has a number, and the "link" files are the mechanisms by which the various elements are linked together. Lose or contaminate any of these files and your project is in serious trouble.(2)
In the IMAGES subdirectory of UFT there are many files - 56, to be exact, most in subdirectories. Of these, only three comprise your genealogical image library, the file set v_phbook. These contain the images, audio and OLE information you have inserted into your multimedia library. The rest of the files are mostly those used in the program itself and those you may use (copy) when generating a web page.There are some files you may find under the uft\images\temp subdirectory, though, and presumably these (assuming UFT is not currently open) can be freely deleted.
There are many file sets in the main \UFT directory which have "X_" prefixes. While these files for the most part do not contain any of your primary genealogical data, they do contain information about how you use UFT and some "secondary" data. Many of them contain information such as whether or not you have selected the advanced edit mode, what your wallpaper is, what events you have added to be seen in the normal editing mode and so forth. Some of these files are not included in a backup, presumably because the effort to reset them manually is relatively small.
The following list identifies some of these files.
X_ELIND.* Event choice listThose in bold face can be included in the UFT backup (version 2.8 and up, as part of "Support databases" or "Dictionary"). For those that are not, please be aware that if you lose the hard drive containing UFT they will not be recalled automatically when you restore, and if you use the UFT backups to transfer your data to a different computer they will not be transferred. The non-bolded files you may wish to back up or transfer manually.(3)
X_CONFIG.* Configuration choices and macros
X_TASK.* Task list
X_SNOTES.* Sticky notes
X_RMBMNU Right mouse menu
X_REPORT.* templates for list reports
SP_WORDS.* Spelling dictionary
A word of caution about backing up the dictionary: it is big - over 4 MB - since it includes not only the words you have added over time but also the initial set. The size is a reason the developers have given for not including it in the normal backup. A "wish list" item was submitted to Palladium years ago encouraging them to arrange for user additions to be in a separate file and that file included in the backup list.
You may find some files having the name of a project and the dbf and fpt extensions in your \UFT directory. These are working files for box charts, and will be deleted if you delete the box charts when running UFT. They are not deleted, however, if you delete the project, so if you generated a box chart from project xyz and then delete the project without first deleting the box chart, you'll have files xyz.dbf and xyz.fpt left on your system forever. You may delete them manually.
While not part of the genealogy data base, certain other files in the UFT application deserve mention.
In your main \UFT directory you may have (I hope you do) several files with the extension .lst. These are files which were prepared by UFT to tell the backup program FOXSQZ what files to back up, and were never deleted. They will start with the names you gave the backup sets. They may be deleted freely since they have no further use.
If you have had UFT through several version upgrades, you are likely to have several text files in the \UFT directory starting with readme such as Readme21.txt, readme22.txt and so forth. These describe the fixes that were in various releases. You probably glanced at them as the final part of the upgrade installation processes. They may be freely deleted (you may wish to reread them first to see if there was something you didn't understand then but do now).
The Fixme files
Under certain circumstances such as power interruptions the UFT system may abort and not be able to be restarted. There's a batch program in \UFT called fixme.bat which will restore certain configuration files to surmount the problem. The files they use as a basis for the restoration are in the subdirectory UFT\XFILES.
The HTML subdirectory
If you generate a journal style web page, you will find the associated files stored in the subdirectory HTML. If you chose the option of multiple files there well may be hundreds of these files (one for each individual and image). You can make good use of these files on your hard drive even after you have uploaded them to a web server (by using them with one of the browsers). However, if you are short of disk space or if you have no interest in using them you might consider deleting them. The delete procedure is not very intuitive; you start as if you were going to make a new journal web page. Then, when you get to the SaveAs window, you need to highlight the old web page ID and click on the delete button on the lower right corner of the window.
This is a file created when printing reports and left over at the end. It may be freely deleted or ignored(4).
Although I have touched on only some of the myriad of files you will find in the \UFT directory, I hope that I've been able to shed some light on the subject, and that I have not encouraged you to try to "monkey around" with the files and their locations, since that could be disastrous. Remember, always back up your data when making changes to your system.
1. These comments and others in this article refer to UFT versions up to and including version 3.0.
2. It is now time for a reminder: Backup, backup, backup!
3. X_ELIND is the Event choice list, which contains the list of events you see in the Events window ONLY in the Normal Editing Mode. If you add an event in the Events window in the Normal Editing mode, it is added to this list. If you add events to the Event/Role template from the build menu, it is not added to this list. The Advanced Editing mode doesn't use this list.
4. Posted on the UFT User board 5/19/1999.