home *** CD-ROM | disk | FTP | other *** search
/ RISCWORLD 5 / RISCWORLD_VOL5.iso / SOFTWARE / Issue3 / FAMILY / Family / !Family / Changes < prev    next >
Encoding:
Text File  |  2000-03-03  |  10.3 KB  |  195 lines

  1. Changes:
  2.  
  3. Changes since 2.20:
  4.  
  5. Completions window limit increased to 150: ideally this should be user
  6. configurable, but since the completions window has to be persistent and
  7. the user's choice communicated to whichever entry field it was invoked
  8. for, we can't DIM the Comp%() array locally to anywhere. A compiled version
  9. ought to be able to get round this by malloc'ing space for the list. In effect
  10. we could do this in the BASIC version by allocating a chunk on the heap, but
  11. then we couldn't use the handy array mechanism. Although I suppose we could
  12. use a Comp% block in which Comp%!(n%<<2) act as pointers ...
  13.  
  14. The various event dboxes (Birth, Christening, Baptism, Death, Cremation and
  15. Burial) are now accessible from the Edit dbox by clicking on a "Details"
  16. button while the caret is in the relevant date field. This saves going
  17. through a menu selection several times to set details for one person. Making
  18. this work was a lot harder than I expected !! Marriages and divorces are
  19. a bit harder, but the interface is being redesigned slowly, to make it work
  20. more through dialogues than menus. [Note to the compiled version: the Linux
  21. version using FLTK has these life events in tabbed panels on the Edit dbox,
  22. which is a lot neater - is there a mechanism to build Wimp dboxes this way ?]
  23.  
  24. New (1999-11-16) window for cremation details, date, time, place, site -
  25. CREM tag defined in GEDCOM 5.4 (A slight blow is that since 5.3, GEDCOM
  26. has lost the "SITE" and "CEME" tags, in favour of a rather less transparent
  27. internal structure for the "PLAC" tag...
  28.  
  29. Since 1999-11-16, the French messages file has been fully translated,
  30. including help strings. This should at least be understandable by a
  31. french-speaker, even if not very fluent/elegant :-)
  32.  
  33. --------- ADDED FUNCTIONALITY at 2.20 ---------
  34.  
  35. Edit window allows you to specify dates for christening, baptism, and burial,
  36. as well as Title/rank and a "Living" flag.
  37.  
  38. Titles stored separately from names (TITL tag) but optionally shown as part
  39. of name on display, in reports and in completions window.
  40.  
  41. The Marry menu item now leads to a dbox with space for date/place/site as
  42. well as name of spouse. Latter name is required to create a marriage (nothing
  43. happens if you don't include a name). You can set the other details later via:
  44.  
  45. New window for setting marriage details, date, time, place and site.
  46. New window for setting christening details, date, time, place and site.
  47. New window for setting baptism details, date, time, place and site.
  48. New window for setting death details, date, time, place, site and cause.
  49. New window for setting burial details, date, time, place, cemetery and plot.
  50.  
  51. "Unmarry" replaces previous "Divorce". New option "Divorce" sets a date for
  52. a divorce.
  53.  
  54. In the same way that F1 tries to complete a name by adding characters to the
  55. right hand end, F2 now tries to add characters to the left (thus giving you
  56. a choice of people in the completions window if you type just a surname).
  57.  
  58. The completions window shows birth and death years for all the individuals
  59. (just the years) to aid identification. Individual's names (but not titles)
  60. are also shown in red, blue or green according to gender.
  61.  
  62. Options to Show:
  63.  
  64. * Spouse's dates on main display (but not if Show Dates disabled)
  65. * Wedding dates on main display (but not if Show Dates disabled)
  66.  
  67. As well as the existing Report (in text), you can also generate:
  68.  
  69. * An ancestor tree from the current person (in text, showing title, name, dates)
  70. * A family group report (showing each family group, giving title, name, dates
  71.   of each person, and date/place of marriage)
  72. * A Website edifice, comprising an index to all the individuals, and one page
  73.   for each of them. Note that most trees will need to be saved to an image
  74.   filing system or some other FS which supports more than 77 files per dir !
  75. - in these reports Titles are shown optionally (main menu choices), but dates
  76.   are always included.
  77.  
  78. Date format in GEDCOM is GEDCOM format, but date format used by displays and
  79. reports depends on a library supplied by user (choice of library fixed by
  80. option "DateLib" in Choices file - can't change this from within the
  81. program). Two Libraries come as standard:
  82.  
  83. * DefDateLib (display format same as GEDCOM)
  84. * ISODateLib (dates in ISO-8601 format).
  85.  
  86. Date format used in header lines of reports has its format fixed by an
  87. OS_ConvertDateAndTime template in the Choices file under "ReportDate:".
  88. This can have values of "GED", "ISO" or any arbitrary string which will
  89. be passed to OS_ConvertDateAndTime as a format string. These choices
  90. can be set in a "miscellaneous options" dbox.
  91.  
  92. Cross-reference IDs are preserved from load through modify to save. Makes it
  93. much easier if you are also editing the GEDCOM file directly. Newly generated
  94. Family Xref ids are Fnnn, and Individuals Innn. There is a small utility
  95. program (<Family$Dir>.Utils.XmogTree) to convert from the existing "random
  96. number" xrefs to this new style. Currently this means that merging two GEDCOM
  97. files is a problem if IDs clash, though this can be avoided by using XmogTree
  98. with the -I and -F parameters to produce a file to merge which has
  99. non-clashing ids.
  100.  
  101. There is a "Statistics" window which shows the number of individuals and
  102. families, and the maximum IDs used in INDI and FAM objects starting with
  103. an I or an F, which you need to know if you are XmogTree-ing a file to be
  104. merged.
  105.  
  106. For cross-references to those structures that !Family does not deal with (ie.
  107. other than INDI or FAM objects) the objects can be missing from the file and
  108. not be fatal (ie. the null pointers that result will never be followed).
  109. Thus, optionally, they may cause errors which abort loading, be reported as
  110. warnings, or be ignored completely according to selection in the
  111. "miscellaneous options" dbox. Xrefs of the form "Fnnn", "Innn" (which should
  112. definitely be to objects that !Family deals with), and pure numerics (which
  113. we can't readily decide) are still faulted and will abort loading.
  114.  
  115. The consequence of this apparently bizarre and dangerous arrangement is that
  116. you can manage objects which !Family doesn't deal with (such as SOURce
  117. records) in a separate file which you don't load into the program.
  118. Cross-references from the file which is loaded will not cause any crashes. I
  119. needed this because I am adding SOUR references (by hand-editing the GEDCOM),
  120. but the sources are currently listed in a separate GEDCOM file which I am
  121. editing entirely by hand. For any new object type which !Family can deal with
  122. (after future functionality enhancements) simply use Xref codes starting with
  123. a new letter, and add this to the list of types for which strict
  124. cross-reference-resolution is enforced. It would be easy to add these sorts
  125. of objects to the XmogTree utility too.
  126.  
  127. Internationalisation: now finds the country which is set on your machine and
  128. looks for an appropriate message file. (If you are running RISC OS 3, it
  129. first checks the Territory, but if this is the default (1) then it looks to
  130. see if a country is set too). I believe all strings which the user should
  131. ever see, including all those in the templates, now get translated. There are
  132. new help strings for all the new icons and windows. Currently only Messages.1
  133. (UK) is fully correct, though there is also a French (Messages.6) version
  134. with all the messages, menus and template data translated (which I did mainly
  135. for testing purposes).
  136.  
  137. Note that a consequence of this is that you can't upgrade !Family from 2.18
  138. by dragging the new version over the old version - you need to delete the
  139. existing Messages file so that it can be replaced by the new Messages
  140. directory.
  141.  
  142. --------- Bug fixes from 2.18 ---------
  143.  
  144. * if you have a date (eg. birth or death) and you make it an empty field in the
  145.   edit window (or any of the new windows), program no longer locks up.
  146.  
  147. * FNScan would not free a FAM which had less than two persons if it also had a
  148.   MARR or similar object - now fixed to free if <2 of {HUSB,WIFE,CHIL}
  149.  
  150. * Now allow fractional point sizes - useful if you are trying to get a huge tree
  151.   onto a high-resolution printer. The difference between (for example) 5 point
  152.   text and 6 point text is considerable, and it can be very useful to use (say)
  153.   5.5 point text :-)
  154.  
  155. * saving a file checked for filename=scrap, or for filename containing a "."
  156.   This meant you couldn't save to "ram:temp" for example (or indeed, any file
  157.   name using a path variable such as "<Tree$Path>MyFamily" or "Tree:Us").
  158.   Now checks for a filename containing a ":" too.
  159.   Because this allows a user to save a report to "printer:" (which is
  160.   perfectly reasonable:-), PROCSetFileType now checks that the file exists
  161.   before trying to set its type.
  162.  
  163. * If you tried to save a tree to a device such as the printer or serial port
  164.   then it was actually saved to a file called serial= in the current directory
  165.   and then an error generated when this couldn't be renamed as serial:. This
  166.   is now prevented, as long as a bare device name is used. If user uses the
  167.   device# form, then he's still on his own... [If this sounds perverse, just
  168.   remember that software QA people often save to null: when doing testing, as
  169.   a way of exercising code without generating unwanted output :-]
  170.  
  171. * The numbers used when raising an ERROR have been changed from -1 and 1 to
  172.   avoid the irritating "!Family may have gone wrong ... Describe" dialogue
  173.   which occurs with RISC OS 3.5 and above. Now use ErrFatal% for a program
  174.   problem and ErrChide% for a user-input type of problem. An error raised
  175.   by BASIC (eg. "Syntax error") will still raise the "... Describe" dialogue,
  176.   as long as the Wimp thinks this is one of its hard-coded error values.
  177.  
  178. * now produces a "To save, drag the icon to a directory display" error box
  179.   if you click OK on a save dbox's OK button with a filename not containing
  180.   a "." or ":", rather than just reopening the save dbox at some offset from
  181.   the mouse position.
  182.  
  183. * Software program name in HEADer SOURce record is not allowed to contain
  184.   embedded blanks (see GEDCOM 5.3 spec). Now use "!Family_for_RISC_OS"
  185.   (or !Kin ... for Development version)
  186.  
  187. * Version string in HEADer SOURce VERSion record has max length 15 chars (see
  188.   GEDCOM 5.3 spec). Now use "2.20 1999.03.04" etc.
  189.  
  190. * some programs (eg. Brother's Keeper) bomb out if there is an XREF on some
  191.   level 0 objects (eg. TRLR). Saved GEDCOM now doesn't have such an Xref
  192.   unless the loaded one did in the first place. Trees saved from a new
  193.   creation don't have XREFs in HEAD, TRLR or 0 NOTE <person>.
  194.  
  195.