File Tracking System 5.0

Peter J. Vincent

March 2005
 
This manual may be several versions behind the actual program in use. Screen shots may not reflect text description
  1. Distribution
    1. Install
    2. Setup
    3. Upgrades
  2. Description
    1. Overview
    2. Method
    3. Organisation
  3. Menu
    1. Files
    2. Utilities
    3. Import
    4. Export
    5. Audit
    6. Edit
    7. Report
    8. Note
    9. Help
  4. Technical
    1. Important Notes
    2. Program files
    3. Reserved
    4. Inconsistencies
    5. File storage and access
    6. Disk Sizes
    7. Terminology
    8. Versions
    9. Programming Language
    10. Frequently Asked Questions

 


Distribution - Install

FTS, or File Tracking System, comes as a complete package in a zip file 'FTS_EXE.ZIP'. This zip file can be installed into any directory. The preferred name for the directory is 'FTS'. There are no DLL or system files added to the windows directory. On setup the zip file extraction creates two sub directories. If either exists, no action is taken:

  1. PAGES - used to hold all HTML outputs. The directory also holds some GIF and JPG files used for page layouts.
  2. MEMO - used to hold TXT files that hold notes. The notes are generated from the Edit->Data screen.

The directory that the program operates in contains

When installed for the first time, FTS will create the files required. Any upgrade will modify the files as required.

Return to Contents


Distribution - Setup

The program will run immediately after installation from the zip file.

The program will need to know three pieces of information for it to work with the data and pages created. The information needed is:

  1. Browser - location and name of the HTML browser to use
  2. Image Viewer - location and name of the Image Viewer to use for image files
  3. Text Editor - location and name of the Text Editor to use for editing of text files

Selection can be made from the Utilities->Parameters screen. There is a button for each program. The program name and location are stored in the parameters file.

FTS is installed with many default parameters which can be changed by manually browsing the Parameters file from Utilities->Parameters->Browse.

Return to Contents


Distribution - Upgrades

 The FTS program is an ongoing development and is modified to suit new ideas and methods. FTS versions are numbered. The version ID is found at the menu path Help->About. Please ensure the file 'FTS_EXE.ZIP' will contain a version that is later than the one being used.

If the new version is installed over the top of an existing FTS program some changes may be made. The new version will

Before performing an upgrade it would be advisable to backup all the files in the directory. This can be done in two ways

Both methods ensure that if there is a problem with the new version, the entire directory can be restored without loss.

Return to Contents


Description - Overview

FTS is a method of tracking files across hard drives and multiple removable media. It was developed as an archival indexing system using removable media as the main method of storage. Developed from 1997/1998, it was a file indexing strategy implemented to overcome limited HDD capacity and the expense of a continual HDD upgrade path.

The method of storage and access is the integration of two independent systems:

This information is kept together in a single record.

HTML pages are created as a 'report' to reflect the indexed material. Text based entries are shown as plain text whilst the file entries are presented as a link to the file.

The system allows image files to be indexed without worrying about a physical storage location most often used to group similar subjects. Negatives and slides can be indexed and left for scanning until later. At an appropriate time, this material can be scanned and quickly integrated. To save duplication of data entry, any text entry can be converted to a file link when the file data is added.

Return to Contents


Description - Method

Below is a graphic overview of FTS link management. The system tracks files and links from various sources. From this material indexed pages are produced to access the material or provide a reference.

 

 

There are two basic information records kept by FTS

  1. File - FTS stores where the file is, along with filename and size. The system allocates a default indexing category. Files are added to the system when the user does a 'Disk Audit' that checks a specific disk directory to match files in database against files existing in the directory. It will then add files if not already in the system. File data can be added manually if required.
  2. Text - A non computer file record that can index a reference, such as a negative, slide, book page, etc. Text entries are added directly with the Edit-> Data screen. This type of record can only be added manually.

The system limits imposed by programming language and methodology are:

Each user will find a unique method to store and describe material as there are several ways to organise the same material. As each user does the input task and organisation, then the same users can remember the organisation. The key to FTS use is to understand that the material can be found long after the data entry, file and disk location has been forgotten.

Material can generally found with the key factors of:

  1. Exact specification - class and number, signal, view, etc.
  2. Who generated the material - material origin
  3. Who passed on the material - source of material
  4. Specific keywords - from the description entries
  5. Location - what geographical location is it?

The records can be retrieved by two methods:

  1. HTML index pages - when material can be found by an exact description .
  2. FTS search - for fuzzy searches across all specified records (i.e. locations, groups, topics, sources, keywords, etc)
Return to Contents


 

Description - Organisation

The logical indexing of the material requires some thought. FTS has been designed as a three level tier structure. Anything of interest can be broken down into a topic, sub topic and item. For example a flower can broken down into a 'Plant' topic with 'Flower' as a sub topic, with the item as the exact flower. Other sub topics in the 'Plant' group might be 'Tree', 'Bush','Orchid', 'Cactus'. For FTS, the topic is notionally called a GROUP and the sub topic a TOPIC. A single GROUP can have many TOPICS.

This breakdown can be used as required to split different subjects and files into logical groupings. One of the key strategies of FTS was to be able to present an image or piece of data on the screen in the minimum amount of mouse clicks.

The GROUP page as shown on the front right side of the main report and will list all the groups that have been created by the user.

With a GROUP selected, the TOPIC page will then be shown listing all the topics within that GROUP.

The TOPIC page lists each record called an ITEM. When the TOPIC page is shown all the ITEMs for that TOPIC are shown in alphanumeric order of description.

Using the above example we may the see the organisation as

Thus we can split common objects into groups and topics to allow for segregation of material. Items found to be incorrectly grouped can be reedited.

It can occur that some pages will have many items. Inspection of these items will show that they can be further grouped into unique block of 'similar items'. This block of items is what I have called a 'Series'; short for 'Series of items'. Series pages are organised manually by hand picking or automatically assembled by the program as required. The automatic assembly is called 'consolidate' and is available from the Edit menu.

Return to Contents


Menu - Files

 

The Files section is a group of options that relate to overall program file management such as backup, restore and indexing.

Options available are:

Return to Contents


Menu - Utilities

 

This menu group modifies files and program parameters that make FTS run smoothly. Options are:

 Return to Contents

 


Menu - Import

This menu group is used for adding records and files imported from another FTS user.

When FTS produces material from the Export menu, an export data file is also included with the output pages and the images. If images or files are received from another FTS program, information from the data file can be uploaded into the system. This reduces the indexing time but does present some dilemmas resolved as follows:

  1. All files retain their original grouping within topics. However to avoid conflicts between existing GROUP and TOPIC codes and definitions and those of the imported material, the alpha codes are altered. All GROUPs are changed to 'FTS'. All TOPICs are given a numerical sequence from '999' downwards. A number that already exists will be skipped. A record is kept of all actions performed by the data file transfer and upload. This file may be inspected at the completion of uploading. Included in the data is a list of original GROUP and TOPIC coding along with the translation topics given by FTS. For example NSWLOC -> FTI999, VRWFRT->FTI998, etc. Once the uploading is completed, the topics can be integrated into the user system from the menu selection Edit->Topics-Global
  2. All data in the source field of the import data file is destroyed and replaced by the source letters of the person passing on the material. Data in the Origin field is retained.
  3. All FileID references in the import data file are deleted and are replaced by new File ID applicable to the receiving system.
  4. The import data file probably contains information from physical indexing such as negatives, books, &etc. A decision must be made at upload time whether to import the file data or file and text data. The choices are:
    • Files - only transfer files. This deletes non file references
    • References - only transfers references. This deletes image records. Only the FileID is changed and the negative/slide number preserved.
    • All - uploads the entire file
    • FaR - converts all records to text entries
  5. There is only one import file per export transfer
Return to Contents

 

 


Menu - Export

This group is for the collation and distribution of files for export such as disk distribution and sharing or off-site use. The three main tasks are defined below.

Return to Contents

 

 


Menu - Audit

The audit section is where the program checks records and main files to ensure some integrity of data. Early versions of FTS did little validation and errors were prone to creep in. With time, FTS validation has improved. The audit routines have been retained. Data checks include. The audits produce reports that may show problems. Some problems can be automatically rectified. Others require the user to determine the best course of action and manually edit the problem. The checks made include:

In the Utilities->Parameters->Browse Parameters menu selection, line 21 of the datafile should contain the following:

  • Description - Audit letter characters
  • Value - OFTSL

The letters are placed automatically when upgrades are done. This is to reflect changes in auditing procedures. They are a master list to compare with audits already done.

Return to Contents  

 

 


Menu - Edit

 

These are the options to edit and modify the main data and the reference tables.

For most of the reference files a browse window displays the records. Attached to each table are some option buttons to allow editing. The button options are:

  • Add - Add a blank record
  • Delete - Mark the record for deletion. If already 'Deleted', the record will be unmarked from 'deletion'. When the user exits from the table and returns to the main menus, the data file is 'Packed' and the record removed.
  • Done - Press this when all viewing and editing is finished. The table will be 'Packed' to remove records marked as 'Deleted'. The main menu then appears.
  • Edit - Open up a small table to allow key fields to be edited. In this window the correct length of the variable is not checked. Excess characters will not be saved.

The Edit menu has the following choices:

 

  • The Consolidate Parameters shows four pieces of information:
    1. The default column number to start the process where '1' is the 'first word' search and '1+n' becomes the left most characters to match
    2. The default minimum number of items for a new Series page to be created
    3. The first line of the Group/Topic/Series to assist with column identification
    4. The column numbers displayed vertically to assist with the column count ( maximum of item length )
  • There are three buttons provided as well as the 'ESC' key to give four actions to continue:
    1. ESC - Press this to exit and go back
    2. Start - Take the parameters as displayed and proceed with the 'Consolidation'
    3. Skip - When the window opens the first line of the topic items is displayed. Use the Skip button to move down the list to find a more appropriate entry for determining column numbers
    4. Cancel - As for ESC, return to previous window
  • A minimum number of items must be counted to trigger a new Series page. The default is 5. This is the balance between 'cleaning up' the items and economy of resources where a Series page of 1 or 2 items is not required.
  • For each letter sequence, the program checks for a corresponding link with matching letters. If any is found, the items are added irrespective of numbers found. Note: Upper and lower case is ignored.

    Note: the program does not 'look back' to check previous entries. Multiple links created or items that are ignored need checking to ensure that the first words actually match.

  • If multiple links are found for a given letter sequence, no action is taken to avoid mistakes.
  • Once finished, regenerate the HTML reports.
  • This option assists with maintaining minimum items in each Group and Topic. This reduces report generation time and provides for simple division of subjects. If datafile searches are conducted, Series boundaries are ignored.
  • If items within a Series page is to be consolidated further, then a suitable column number should be selected to create subgroups of the items within the page. To use '1' would only recreate a Series page of all the items.

 

  • Group and Topic and/or Series and Start ID

    This grouping informs the program that you have selected an item to start as new Series page. A new Series ID is found and the heading by default is the first item description. This can be changed to suit.

  • Group and Topic and/or Series and Start ID and To Series

    This selection tells the program that a Topic/Series has been selected and the item to start. All selected items will be moved to the nominated Series.

    The window displays the current item information. This is to assist with item selection. The following buttons are provided:

    • '..<' - Skip backwards by one item
    • '>..' - Skip forwards by one item
    • Add - Add the item to the nominated Series, then skips to the next item
    • Auto - Automatically adds items to the nominated Series. Additions are based on the first word match of the current item description. Additions continue until the first word match fails or a link is detected.
    • To.. - This allows the user to select an endpoint item. The user is requested to name the target FileID. Items will be added to the nominated Series page until the target FileID is done.
    • Continue - This button is used to find the next matching FileID when cross referenced items with the same FileID exist. An initial search will stall when duplicate FileID items are present. This button is an attempt to step past the duplications and continue. May not always work. Restart and use the '>..' button instead.
    • Exit - Quit the window and return to the main 'Series Convert' window.

     

Note: The program proceeds on the basis of letter matching, not content interpretation. Items with similar letters BUT of different content will be interpreted as identical.

Return to Contents  


Menu - Report

 

This section is where various reports and reference lists are produced.

The options available for the report process are:

 

  • Target location

    The location for the written reports. The default location is shown. If another location is required, i.e. a special output for distribution, then the Directory button is used to select the location.

  • Method

    There are three report methods

    1. Upgrade - only regenerates the pages that have changed due to editing. The progress bar acts as a guide to progress. Each indication represents one page. If the number of pages is greater that the line length, the indicator flashes at the end.
    2. Regenerate - Recreates and overwrites every page. This should be done occasionally to ensure link integrity. The progress bar represents the entire number of pages to be written. Progress is percentage based.
    3. Profile - Produce an output using specific topics only. Profile allows for two methods
      • Select - manually choose each topic required
      • Profile letter - automatic selection of topics based on the profile letter allocated in the Topic file.
  • Type

    There are two report types - Links or Text. Links produces a report with links to files and text for non-file material. Text creates an 'all text' report for use as a distribution list where access to files is not possible.

  • Page

    Shows or hides the PAGE reference for each item when the reports are run. The default setting for each 'run' is set by Record 12 in the Parameters file (Show Page In Report).

Return to Contents


Menu - Notes

This group is for writing jot notes and for checking the LogFile.

Return to Contents


Menu - Help

General program assistance. Checks the version being run.

Return to Contents

 

 


 Technical - Program files

The file list for system operation is as follows:

Return to Contents

 

 


Technical - Reserved

The program requires some special input to run cleanly. Some fields are set up with characters of special meaning that allow the program to function

The following Topics are reserved

The following character is reserved for Reference file use

Return to Contents


Technical - Important Notes

 
Return to Contents

 

 


 

Technical - Versions

The program follows a loose convention in regard to versions. There are four levels:

  1. First number - where
    • 1.0 - Unprogrammed basic data entry trials and reports
    • 2.0 - Program operating with direct table editing
    • 3.0 - Menu control and edit tables for main operations
    • 4.0 - Reference tables accessed via edit windows and menu control
    • 5.0 - Button access to reference tables from within edit window
    • 6.0 - 32bit xBase++ (planned -but cancelled)
    • 7.0 - PHP/SQL server based (planning deferred)
  2. Second number - Minor improvements
  3. Third letter - Debugging and tweaking improvements
  4. Date of 'FTS.EXE' file - this is the latest build date

Note:

The 'FTS.exe' file and the OVR files are linked by internal addresses. All the OVR files should have the same date and time as the 'FTS.EXE' file. Mixing and matching of various version OVR files will cause the program to crash.

Return to Contents


Technical - Disk Sizes

The program will track the name and the capacity in Kb of the main removable disk media used for transferring and export or material. This information is stored in the Parameters file at record 34. The two pieces of information stored are:

  1. Variable description field - the short name or characters of the disk type. The short description is used in reports to describe the media
  2. Variable value field - the size in Kilobytes (Kb) of the media storage capacity

Capacity is referenced in Kb as the file sizes stored by the program have a minimum unit value of one Kb (1024 bytes). Some examples of disk names and Kb storage are provided below:

 

Media Type
Media Size
FTS Media Name
FTS Media Size

Floppy

1.44Mb

Floppy

1406

Zip 100Mb

98Mb

ZIP100

95703

CD

650Mb

CD

650240

DVD

4.7Gb

DVD

4928307

Note:

 

Return to Contents

 

 


Technical - Terminology

As with any system, terminology defines the methods and understanding. This no less true for FTS - the File Tracking System.

The following list is placed into alphabetical order and has words and actions either mentioned or linked:

Return to Contents

 

 


Technical - Inconsistencies (Bugs)

I have found that there are a few problems inherent with the running of this program. The problems are either due to my lack of knowledge with power programming or that minor bugs exist with the dBfast language. As the language is no longer supported, there is no opportunity for upgrades that will correct the problems. This is my first Windows based program. My previous experience was with DOS based programming. As such I have retained the DOS based inline programming style and have not dabbled with event or object oriented programming.

Return to Contents


Technical - Programming Language

The programming language used is dBfast, Version 2.0. This language includes

The program was released by Computer Associates in about 1990. This one of several dBaseIII type languages converted for Windows use. Others included 'dBase for Windows' and 'Foxbase'. Distribution of dBfast stopped about 1994.

Unfortunately, dBfast is 16 bit, lacks many Clipper file and array management utilities which restrict many functions I write. In some cases, routines require several steps to achieve the same result normally resolved by a single instruction.

Whilst 16 bit does not allow for 'picking up' Long Filenames', I felt that this was a minor consideration given that file searches and access would be based on HTML links.

 Return to Contents

 

 


Technical - File Access and storage

FTS is written in a 16 bit language and the filenames can only be stored as DOS 8.3 notation: max 8 characters name with a 3 character extension; e.g. 'DW040401.JPG'.

As 32bit programming is now standard and operating systems can manipulate Long File Names (LFN) this does present some problems. There are two strategies that can be used to reduce the impact of this access.

  1. All files stored with DOS8.3 notation.
  2. CDs and DVDs are written as ISO9660 which saves the file as DOS8.3 and strips out the Long Filename.

Strategy 2 is rather limiting as many files are now saved with important information in the filename. A simple method is to save a directory listing of all the files. This listing has the DOS8.3 filename as well as the LFN for reference.

There is a problem with LFN storage and the method used by Microsoft in getting this to work. A Long Filename is stored in a disk table as a description. The actual filename is stored with DOS8.3 notation.

On the basis that material will be stored and The Long Filename is shortened to DOS 8.3 by removing spaces and giving the filename a number to provide a unique identity. This filename has a tilde (~) to separate the name from the number. If a similar file exists then the number is incremented. In this way, the operating system saves files with names that end in~1, ~2,~3,....,~227, etc. And here comes the problem

What this means to FTS is that a STATIC filename is required; one that will not change from session to session.

A CD or DVD written in ISO 9660 standard preserves this DOS8.3 filename and in the process loses the nice long name.

The problem arises when a large number of files are stored on HDD. If the files are logged and referenced by FTS they will pickup the DOS8.3 name. If at sometime a batch of files are deleted or transferred and newer files added then the DOS8.3 table is changed. This change is the operating system logging the files and reusing space in the lookup table. To accommodate the changes, files that previously were given one DOS8.3 filename will now exist with another. In other words, files that were previously logged into FTS have a good chance of being 'lost' and will be relogged with another name. This behaviour is not very good for a file tracking system.

Another example is when a large amount of files reside on HDD and a CD written with Long Filenames is used. The CD files will be added to the operating system file table. If the CD is added at a later time after some of the HDD files are added or deleted then there is the possibility that the DOS8.3 names used for the CD files will be different. e.g. A file logged this session may end up with a name such as 'filea~01.htm' in DOS8.3 with an LFN of 'fileaa_10_7.htm'. In a later session, the same file may actually receive the identity 'filea~12.htm'. For FTS to work accurately this is not acceptable and work around methods are required.

To preserve the original unique DOS8.3 filename and link integrity within FTS the following strategies can be employed:

  1. Keep all filenames to DOS8.3

    This is by far the simplest method. It can be used easily for new scanned files and digital images from cameras. Collected files with Long Filenames would need to be renamed. Keeping and transferring the data contained within the filename ( date, location, numbers, names, etc.) will need to be addressed.

  2. Write CD / DVD media with the ISO9660

    There are several steps in this procedure:

    • Assemble 650Mb ( or CD/DVD capacity ) of files in a unique directory or group of subdirectories within a single directory
    • Log all the files and directories to FTS. Files will be stored as DOS8.3 notation and the Long Filenames will be stored to the description field
    • Immediately write the main directory and subdirectories to CD / DVD as ISO 9660 format.
    • Make copies for backup
    • In FTS, use FileMove to record the changes of file location from HDD to CD / DVD
    • Delete the HDD files and reuse the space for the next 650Mb block of files

    This method is very successful and FTS acts as an archival backup method. It presumes that many files will be collected but will be rarely used. There is also a presumption that ultimately the total size of the files collected would exceed most HDD capacity. This strategy was envisaged in the late 1990s when FTS had a planned growth to 100Gb; at a time when 20Gb drives were the norm. By 2004 HDD capacity had exceeded 120Gb and the use of SUB HDD equipment was more compact and portable than boxes of CDs.

  3. Keep all files on HDD

    The availability of high capacity hard disks through 2003/2004 has made me rethink the 1990s strategy I employed to store image files. The use of portable SUB hard drives also has possibilities and is more compact than many CDs. To guarantee this strategy, the following steps need to be taken

    • Assemble 650Mb ( or CD/DVD capacity ) of files in a unique directory or group of subdirectories within a single directory
    • Log all the files and directories to FTS. Filenames will be stored as DOS8.3 notation and the Long Filenames will be stored in the description field of the directory
    • Immediately write the main directory and subdirectories to CD / DVD as ISO 9660 format/DOS option if needed.
    • Make backup copies of the new CD/ DVD
    • Delete the files in the directories that have just been written to CD/DVD.
    • Copy the CD / DVD back onto HDD. This "converts" the directory and subdirectories to DOS8.3 filenames

     

  4. Rename the files

    FTS has the capability of renaming all the files in a directory on a HDD or media that allows renaming. The only files that will be renamed are those that have been logged by FTS. The following strategy is recommended:

    • Assemble 650Mb ( or CD/DVD capacity ) of files in a unique directory or group of directories within a single directory
    • Log all files and directories to FTS. Filenames will be stored asDOS8.3 notation and the Long Filenames will be stored in the description field of the record
    • Rename the files in each directory with the Utilities->FileRename menu option. Files are renamed to the FileID of the FTS record which is unique for each file in a directory
    • Write a CD / DVD of the directory and file group

    Whilst this looks a bit puzzling it achieves two aims: backup on CD already done and DOS8.3 filename guaranteed.

 Return to Contents

 

 


Technical - Frequently Asked Questions

I guess it may be easier to present some typical scenario's about how the program works and the steps required.

Return to Contents