Columbia
Escutcheon Columbia University Libraries Digital Program
Advanced Papyrological Information System (APIS)


          Path: Digital Library Projects  : APIS  :  Tools  :  Validator  :  3.0 Design  :  3.3.3 Enhancements
  

Enhancements - Sept/Oct 2002

3.3.1 Enhancements (functionality additions)

  • Human readable version of the APIS definitions file. Allow a command line switch that would print out the APIS definitions file read in. This would aid in updates and bug tracking - DONE
  • Allow '#' in dat files to add comments to them - DONE
  • Date function that takes in a type parameter and checks for that type (future*, the other types of dates still need to be defined)
  • Remove the debug call from the code (currently commented out), and allow a switch from the command line to print out the items in the debug function. This could be tied to the Human readable APIS definitions mentioned above. - DONE

3.3.2 Code Updates (updates to make the code more solid)

  • Allow regular expressions in the APIS definitions file. Change the control number check to a regular expression and place the school specific check in the appropriate institution dat file. - DONE
  • Trap errors from the eval function since functions called from the eval command do not explicitly return errors. - DONE
  • Remove the line, dbLanguageCodes=langCodes, it is no longer needed (near line 408 in APIS initialization function inside ValidationMod.pm). - DONE
  • Use Getopt::Long or Getopt::Std for handling the input parameters - DONE
  • Add a check before reading files to make sure they are readable. Currently it only checks to see if the file exists, however it should also check for readabilty. This was done by adding an additional die statement. - DONE
  • In error code function check use 'exists' to see if it is a valid key. - DONE
  • Set a variable to hold the db info ($MMF_DSN will be used in the variable) and place it at the top of the validator module. This will make the db info more easily updateable and could make future debugging simplier (if more db calls are added). - DONE
  • Line 74, dereferencing issue. - DONE
  • Line 75, look at the whitespace match. It works now but could break in the future if tag names get more complicated (future*)

3.3.3 Bugs

  • check the error directory given with the -d switch to see if it has write permissions, die if not - DONE
  • Do not use the variable ARGV[x], instead use the array that I read ARGV into (near line 50, and else where in validator.pl). - DONE
  • The variable %instCodes loaded twice in the Validator module, remove one instance. - DONE
  • Date used with for the filenames are incorrect. The months start with 0 instead of 1, and the date should be ordered year->month->day. - DONE
  • When performing the groupings check it looks to see if the current tag is related to another (grouped) and enforces that the related tag exist. However the validator only checks directly related tags, it does does not check to see if the related tag has an alternate tag.

    *These items are not to be delivered by the time frame indicated in the milestones V1.1 schedule. They will be done during this period only if time permits and full specifications are available


 


Columbia Libraries    Digital Program
Last revision: 09/25/03
© Columbia University
Last revision: 09/25/03
© Columbia University Libraries