home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / cpm / gendoc / library.cnt < prev    next >
Text File  |  1983-09-09  |  12KB  |  256 lines

  1. LIBRARY.CTL   Microcomputer Diskette Library Control.
  2.  
  3. 04/25/81.     T. McCormick.
  4.  
  5.  
  6.     Control  of computer libraries is well developed in large 
  7. computer  operations.  Only  tiny operations can get  by  without 
  8. specific  rules for naming programs and data  files,  segregating 
  9. test files from production, indicating as-of dates, etc.
  10.  
  11.     With the rapid growth of microcomputer use,  and with the 
  12. continual improvement in disk storage capacity per  dollar,  many 
  13. business  and  hobby users are discovering that with  no  library 
  14. plan,  too  much time and effort are wasted looking for the right 
  15. version, starting to run the wrong version...again, etc.
  16.  
  17.     It  is  possible  to acquire and  store  more  files  and 
  18. programs than you can manage without some library system.
  19.  
  20.     Micro operating systems,  editors, and utilities offer an 
  21. occasional  assist  in one way or another such as  creating  .BAK 
  22. backup  file copies automatically.   But the user is left to  put 
  23. his  library control scheme together by himself.  He often  lacks 
  24. the  experience  which comes from years of grappling  with  these 
  25. problems,  and  is  forced to discover solutions one at  a  time.  
  26. This results in a weak start, and continual change.
  27.  
  28.     I have made many mistakes related to computer  libraries, 
  29. and  have  seen many others.   As computer center manager  for  a 
  30. nationwide accounting firm, we daily were working with files from 
  31. all kinds of outside program libraries.   I would like to pass on 
  32. a  few suggestions based on my experience with about 300 computer 
  33. libraries over an eleven year period.
  34.  
  35.     The following is not intended as a exact prescription for 
  36. you,  you will have to decide what fits,  and what doesn't.  I'll 
  37. use  my library control methods as an example,  knowing that  you 
  38. will have to adapt it to your circumstances.
  39.  
  40.     Here is a summary of important rules:
  41.  
  42.     1.  Never alter a "distribution" diskette in any  way.  A 
  43. distribution  diskette is one you receive from someone else,  and 
  44. for which you usually have paid money.   You may have to send  it 
  45. back  to get a new release at the "update" price rather than  buy 
  46. another  license!   You may not be able to read it next year  and 
  47. you  want a fresh copy at nominal charge.  You may want to get  a 
  48. bug fixed at no charge.  Do NOT change anything on this diskette. 
  49. N O T H I N G . 
  50.  
  51.     2.  A program that is one bit, one byte, or one statement 
  52. different  from another MUST have a different name.   There is no 
  53. such thing as    "same as....,  except".  Resist the temptation to 
  54. leave the names the same when they are "only slightly" different.  
  55. Subtle differences are hard to sort out six months later!  Subtle 
  56. differences may be much harder to find than large differences  or 
  57. gross errors.
  58.  
  59.     3. Follow your system rigidly.
  60.  
  61.     4. Label things immediately, while they are fresh in your 
  62. mind.  Little peel-off dots and labels are inexpensive,  and easy 
  63. to use.  Office supply stores have a rainbow assortment (Avery is 
  64. one  of the brand names) and they are cheap.   Color  coding  can 
  65. segregate  test from permanent files,  release 2 from release  3, 
  66. etc. without any writing.
  67.  
  68.     5.   Begin  library  control  at  once:  it  gets  harder 
  69. geometrically as you acquire more stuff.
  70.  
  71.     6.  When you initialize/format a diskette,  place a small 
  72. peel-off  label  (I  use  one-inch  dots  on  it  indicating  the 
  73. operating system version you used, date, and density or format if 
  74. you have more than one. Eventually, you will have more than one.
  75.  
  76.     7.  Specifically  label backup copies,  and write-protect 
  77. them.  Store them separately from daily-use diskettes. Store them 
  78. inside,  where the humidity and temperature are fairly  constant. 
  79. Exchange  backup storage with another user,  if you can.  Do  not 
  80. store diskettes or cassettes in your car trunk!
  81.  
  82.     Why bother with backup?   Have you ever entered 
  83.  
  84.     A>ERA *.*     instead of    A>ERA B:*.*    or
  85.  
  86.     A>PIP A:=B:*.*[V]  instead of
  87.           B:=A:*.*[V]
  88.  
  89.     HUMMMM?
  90.  
  91.     You say you're not that stupid??   OK.
  92.  
  93.  
  94.     8.   Establish  categories,   and  label  your  diskettes 
  95. accordingly.    For example, Proprietary software such as MBASIC, 
  96. CP/M, etc could be replaced by a dealer.  Your modifications, and 
  97. custom programs could not.  They should be protected to a greater 
  98. degree.
  99.  
  100.     9. Never keep all your backup in one place. Two suitcases 
  101. ten  miles  apart  is  more secure  than  one  bomb-proof  vault.  
  102. Remember, with all the electrical equipment in one computer room, 
  103. a  small  fire could destroy alot of diskettes in a  hurry.   Bet 
  104. you've got 'em stored close by so they'll be nice and handy too!
  105.  
  106.        10.  Data-file diskettes change periodically.  Use a peel-
  107. off label to indicate clearly the filenames,  and as-of date.  Do 
  108. not  store  backup  of  data files on  the  same  diskette  under 
  109. different filenames.  Diskettes can become unusable no matter how 
  110. careful you are.
  111.  
  112.        11. I recognize three flavors of diskettes:
  113.         a. never used.
  114.         b. initialized/formatted, not used.
  115.         c. in use, contains one or more files.
  116.  
  117. Come  up with a scheme to indicate each of these.  I do not put a 
  118. peel-off file label on never-used diskettes.  If I see a diskette 
  119. with  no  peel-off  label  at  all,   I  know  it  has  not  been 
  120. initialized/formatted.   When I initialize/format a  diskette,  I 
  121. place  a  one-inch  colored dot on it  indicating  the  operating 
  122. system  version,  today's date,  and the recording format/density 
  123. with  which it was initialized/formatted.  Such diskettes have  a 
  124. directory,  but  do not have any files.  Every diskette  of  mine 
  125. which  contains a file has a large peel-off label indicating  the 
  126. name(s),  or something else indicative such as "SYSTEM",  "WORK", 
  127. "MBASIC", etc.
  128.  
  129.     Never  write  on a distribution copy,...the diskette  you 
  130. received from someone else.  If you alter such a diskette in  any 
  131. way, you usually void any warranty. Do not add to it, delete from 
  132. it,  or rename anything.  Do not even write a .DOC file, a volume 
  133. serial  number,  or  anything else on it.   You should  label  it 
  134. "DISTRIB", and make a complete fresh copy from which to work.  If 
  135. you have to send it back for an update to the next release, or to 
  136. get a bug fixed,  or because you can't read it anymore,  etc. you 
  137. can not expect the people you got it from to listen to your story 
  138. of how "..it's exactly like when you sent it to me,  except....". 
  139. It  is  bound  to  cost you money sooner or later  if  you  alter 
  140. distribution diskettes.
  141.  
  142. Since you will not be altering them,  you must count on  peel-off 
  143. labels to identify your distribution diskette contents, etc. 
  144.  
  145.         A. Apply a peel-off label saying
  146.            "DISTRIB".
  147.  
  148.         B. Write the date received on that
  149.            label.
  150.  
  151.         C. Write protect the diskette.
  152.  
  153.         D. Make your working copy from which
  154.            you will begin tailoring.
  155.            Clearly label this copy.
  156.            I call mine "DISTCOPY".
  157.  
  158.         E. Make a 2nd copy of valuable stuff
  159.            for an off-site location. This
  160.            might be your office, or another
  161.            user. It should NOT be your car
  162.            trunk, or other outside storage.
  163.            Humidity will ruin your diskettes.
  164.  
  165.         F. Store the "DISTRIB" diskette with
  166.            other "DISTRIB" diskettes, not with
  167.            the working copies of that system.
  168.            Physically separate backup copies
  169.            from those you use daily.
  170.  
  171.  
  172.     Now that we have secured your distribution diskette,  and 
  173. made  a working copy,  we are ready to tackle one of the cruelest 
  174. problems in using a computer.  Give some thought to the NAMES you 
  175. apply to programs in the process of being changed.
  176.  
  177.     One  scheme is to add a "suffix" to the filename,  or  to 
  178. change the filetype to .001  .002  etc.
  179.  
  180.     You  want to keep some consistency so that the names  are 
  181. meaningful,  and wildcards can be used with utilities   (example:  
  182. PIP  B:=C:PROGM???.BAS[V]).   But  you  must  name  your  changes 
  183. differently  from the distribution filename,  and from your other 
  184. changes. How will you know which is your latest version? How will 
  185. you know which is your latest version which works?
  186.  
  187.     It  is a mistake to count on keeping the  same  filename, 
  188. and using different diskettes.  The trend is rapidly toward large 
  189. capacity,  non-removeable hard disks.   In a few years,  everyone 
  190. will  have  5 or 10 MB disks!  Anyway,  it is easier to  learn  a 
  191. disciplined approach,  and follow it,  than to spend alot of time 
  192. making  gobs  of  filecopies and then trying to  remember  what's 
  193. what.
  194.  
  195.     If  you begin changing a program called  BUDGET.BAS,  you 
  196. might  call your first  modification  BUDGET01.BAS,  BUDGET1.BAS, 
  197. BUDGET.001, BUD1.BAS, B1.BAS etc. It is a matter of taste, and of 
  198. how large your library is.   The larger it is,  the more specific 
  199. you have to be...you might have more than one budget program.  If 
  200. you  have an editor,  and you save the basic program as an  ASCII 
  201. file  (ie.  SAVE "B:BUDGET01.ASC",A),  you may want to adopt  the 
  202. .ASC  filetype naming convention to clearly identify it as  ready 
  203. for your editor, or to be modemed to another user.  Be aware that 
  204. some operating systems have a limit of six character names.
  205.  
  206.     As  you  modify  programs,  add remarks in the  front  to 
  207. indicate  the as-of date,  version,  etc.  Professional  programs 
  208. display this information as they are read in to be executed:  for 
  209. example,  note  how MBASIC clearly identifies it's  version/date.  
  210. In  that  way,  the  user knows from looking at the  CRT  if  the 
  211. correct version of the program has been loaded. Many programs are 
  212. dependant  on  the  release/version  of  the  operating   system. 
  213. Unfortunately,  the  program names often do not change,  but  the 
  214. programs  are  different.  Some will not run with  new  releases. 
  215. Peel-off  labels  will help with this  problem  also:  ie.   "1.4 
  216. depen", etc.
  217.  
  218.     After  you have migrated to a new release/version of your 
  219. operating system,  a new set of problems appear.  Programs  which 
  220. used to work,  now do not. You may have to rename some of them if 
  221. you  are  going  to  retain old  versions  (everyone  does).  For 
  222. example, you may want to rename CLIST to CLIST15 or CLIST16 if it 
  223. runs  on ver 1.5 or 1.6.  Then you can use CLIST for  the  latest 
  224. version.  This  approach  requires  you to rename a  lot  of  OLD 
  225. programs  that do not run on new releases.   I prefer this to the 
  226. next  method because I do not mix much among different  versions. 
  227. If I did, I would do as below.
  228.  
  229.     Another approach (please do not mix this with the  above) 
  230. is  to  identify  the release in the name  (CL15  or  CL16),  and 
  231. perhaps shorten the names at the same time.   But this starts you 
  232. talking a "different language" than the documentation,  and other 
  233. users.  You  have to translate their conversations to your naming 
  234. scheme.  If  you  are bright and independent,  or  shorten  names 
  235. anyway,  then this has the advantage of avoiding a lot of  donkey 
  236. work  at  conversion time.....you rename on your working copy  of 
  237. the DISTRIB diskette,  and then PIP them as you go along.  You do 
  238. not have to go back and rename a dozen copies of every program.
  239.  
  240.     There  is no right or wrong way;  it is a matter of  your 
  241. style.   Remember though,  you can't avoid the work.  It's just a 
  242. matter of when and how you prefer to do it.   I prefer NOT to mix 
  243. different  releases if I have a choice.   I would rather generate 
  244. entire new diskettes for the new release.   In this way,  I  have 
  245. complete diskettes to go back to if I want (or need) to.  No half 
  246. this,  and  half  that.   I avoid having to flip something  on  a 
  247. diskette  to tell it which flavor I want to run.  If you get very 
  248. many of these "switches" on a diskette, it is a long process just 
  249. to  find out where your beginning from!   I make specific  copies 
  250. and  label  them  as  to options in  effect  on  that  particular 
  251. diskette.  Saves me time and nerves.
  252.  
  253.     I hope one or two of these ideas are helpful.  Good luck.
  254.  
  255.     *********************************************************
  256.