Part of my delay over the last month was due to my thinking that I had to make a database change. I wanted all individual references of the same type to be grouped together.
What that means is, for example, lets say you found your grandparents’ wedding invitation list. You have 60 people invited to the wedding, and you want them listed as witnesses. In GEDCOM, I’ve seen this done as:
1 MARR
2 _WITN @I5@
3 _ROLE Invited
3 SOUR @S20@
2 _WITN @I7@
3 _ROLE Invited
3 SOUR @S20@
…
Can you see the trouble here? If Behold processes this in a forward direction, the information gets repeated over and over which is not good, sort of like this:
Marriage: Person I5 Invited [S20], Person I7 Invited [S20], …
If there are 60 people invited, and the sources are expanded, it just becomes a mess of repetition.
I thought I needed to change the way citations are stored, and put the person at the end. I spent 3 weeks working on those changes and not quite getting them right. After much reflection, I went back to what I had before and found I could keep citations the way they were and just process them differently.
Now we’ll have this, which is much better:
Marriage: Invited [S20], Person I5, Person I7, …
This isn’t so much a necessity now, since most programs don’t make it easy to enter long lists of people attending events, and if they do they don’t often translate it to GEDCOM correctly. But it is something I know I’m going to want to do, and I want that capability there for version 2 and editing.
Since I was under the impression it would require a database change, I thought I should make the change now, prior to writing the routines to store the database on disk. Even though that was not needed, I’m glad to have squeezed that in. And it’s one more thing off the list.