Post by Uncle Buddy on May 4, 2022 8:00:59 GMT -8
Don't get me wrong. The purpose of yet another screed on what's wrong with GEDCOM has nothing to do with helping anyone to use or fix it. Quite the opposite: the time to stop doing it wrong first, stop covering our outlandish tracks with band-aid patches, and start taking action... that time has come and gone, now we're standing here in the middle of the road wondering why no one has saved us from our predecessors who did it wrong first, forcing us to continue doing it that way or else <eek!> we might have to do our work over so we can move into the future doing it right.
That was the sweat off my brow, now for the facts of life.
I'm creating a Python module which will enable me to import standard GEDCOM into Treebard. I already decided not to handle non-standard GEDCOM, because it's like Uncle Hank who's invited to Thanksgiving dinner and as usual won't stop talking politics. It's like, you don't want to encourage him, know what I mean? This is what happens when developers continue fussing with custom tags instead of letting all the muck end up in an exceptions report where it belongs. This labor of ?love just gives us the impression that GEDCOM works, when it's in fact the developers doing all the work while FamilySearch informs us that one mustn't change an age-old (antique, decrepit, obsolete, worn-out, broken) "standard" too quickly because any such shenanigans would force us to work too hard.
Now for those facts I promised.
So I'm gazing at my code and a tiny GEDCOM file with only 29 individuals in it (that's only 771 lines of GEDCOM)... and hour after hour I gaze. I had no serious problems getting individuals, names, and sources into Treebard's database directly from this GEDCOM file, but these family tags are created out of thin air by applications in order to appease GEDCOM's unfounded demand for them, and now I have to figure out how to put a non-element of genealogy into my database that prides itself on just saying no to redundancy and imaginary constructs that crawled out from the depths of someone's imagination back in 1984.
I have a source tag in a family record and I am the one who created this family tree of 29 persons, but I am not the person who imagined a family unit into existence. We all know that family units exist, but that doesn't make them an irreducible element of genealogy. Because the family unit is imagined into existence by GEDCOM when all the individuals and their simple relationships are already telling the whole story including a perfectly good visual GUI representation of a table showing a family unit, I now have to figure out what I really linked this source to, way back when I made this tree and added a source to something.
So I open up Family Historian, the app I used to make this tree, and I see after over an hour of fiddling with this unhelpful interface that I'm apparently not smart enough to figure out what I intended to do when attaching the same citation to a man, his wife, their nine children and who knows what else. That isn't GEDCOM's fault; this GUI and I have never gotten along.
So in hopes of figuring out how to figure out what GEDCOM expects me to do with links that it imagined into existence, I had to create an even teenier tree with only three people and one source in it, nothing else. The resulting 58 lines of GEDCOM is not the fault of Family Historian. GEDCOM is as GEDCOM does, whatever that means.
So I hoped to figure out what must have happened by simplifying the problem with a tree of three persons and one source. In my opinion, I was being very scientific by simplifying the set of interweaving influences autogenerated by FH and GEDCOM constructively interfering with each other over a set of three people, one source and one citation. By attaching the source to hopefully only one thing, I would be able to see how this translates to a GEDCOM element that didn't exist until GEDCOM decided it should. If I'm interpreting FH's hieroglyphics correctly, I must have linked this citation to the name of the wife/mother in the Toy Family Tree. I'm not here to find fault with either FH or GEDCOM, I just want to know what it means when GEDCOM links a citation to a family unit that it created itself.
But the experiment failed, in spite of my noble attempt to reduce the number of interweaving problems. In 58 lines of GEDCOM, the citation is linked to the source correctly but the source is not linked to anything that I knowingly created in this tree. So I was not able to solve the mystery I set out to solve. Then I see I'd actually created four people, marrying the woman to both her husband and her son. Family Historian's interface made this easy and natural, but it was still an honest mistake. So in desperation I will delete the tree and recreate it this time, with only three individuals. Perhaps the fact that this fella had a child with his own mother caused the GEDCOM file to recoil in horror, refusing to do its job?
OK, one more time. The Toy Family Tree. Three people and one source with a citation.
That's better. Now the source is linked to an individual's name, as expected. The real problem is that I'm trying to figure out how a source would end up being linked to a family tag in the GEDCOM. I'll have to add another source and this time instead of selecting Name, I'll try selecting Whole Record, whatever that means.
Tried it, but this time the source was linked to the individual record. So "whole record" means the zero-level GEDCOM INDI tag if you happen to be a FH programmer who doesn't realize that the software user doesn't know what "whole record" means.
One more time. This time I'll try linking a source to the shown individual's spouse, but I have a feeling I may not be able to duplicate the oddity with a reasonable amount of time and effort.
As I suspected, the source is just linked to a name. How did a source end up getting linked to a zero-level FAM record? I have to know or I won't know how to import it because I won't know how I, the creator of the other tree, input the source or why.
Going back to the first tree--the one with 29 individuals and 771 lines of GEDCOM--I see that the source in question (in the GUI) is linked to two residences, a name, and a whole record (whatever that means). Once again vowing to do the scientific thing in order to back-engineer my intentions when I input this data, I will delete one citation at a time, exporting a new GEDCOM after each transaction, till I find out which one eliminates the link to the FAM tag. This time it cannot fail. Science always prevails.
Results (all the citations listed are the same citation, linked to different elements of the tree.):
Deleting the residence-2 citation didn't get rid of the link.
Deleting the residence citation didn't get rid of the link.
Deleting the name citation didn't get rid of the link.
Deleting the whole record citation didn't get rid of the link.
I'll try turning off the program, then turning it back on.
Nope.
Is there a way to find every place this citation was used and see them all in one place?
Wait. I made a mistake. I deleted the links from the person displayed instead of the focus person or whatever he's called. This is also easy and natural to do in Family Historian. Just let me fix that, and...
Nope. There's only one hope: delete the entire source from the program altogether.
Of course that finally removed the source from the family tag, but that's not how I wanted to do it. I'll have to try again tomorrow, using Gramps or Genbox, to figure out what causes a source to be linked to one of GEDCOM's self-generating FAM tags. Nine GEDCOM files later, I learned nothing but to not use FH if interested in learning anything about GEDCOM.
I guess that's why Family Historian stores all their data in a GEDCOM file instead of a real database, right? Because GEDCOM is so great?
That was the sweat off my brow, now for the facts of life.
I'm creating a Python module which will enable me to import standard GEDCOM into Treebard. I already decided not to handle non-standard GEDCOM, because it's like Uncle Hank who's invited to Thanksgiving dinner and as usual won't stop talking politics. It's like, you don't want to encourage him, know what I mean? This is what happens when developers continue fussing with custom tags instead of letting all the muck end up in an exceptions report where it belongs. This labor of ?love just gives us the impression that GEDCOM works, when it's in fact the developers doing all the work while FamilySearch informs us that one mustn't change an age-old (antique, decrepit, obsolete, worn-out, broken) "standard" too quickly because any such shenanigans would force us to work too hard.
Now for those facts I promised.
So I'm gazing at my code and a tiny GEDCOM file with only 29 individuals in it (that's only 771 lines of GEDCOM)... and hour after hour I gaze. I had no serious problems getting individuals, names, and sources into Treebard's database directly from this GEDCOM file, but these family tags are created out of thin air by applications in order to appease GEDCOM's unfounded demand for them, and now I have to figure out how to put a non-element of genealogy into my database that prides itself on just saying no to redundancy and imaginary constructs that crawled out from the depths of someone's imagination back in 1984.
I have a source tag in a family record and I am the one who created this family tree of 29 persons, but I am not the person who imagined a family unit into existence. We all know that family units exist, but that doesn't make them an irreducible element of genealogy. Because the family unit is imagined into existence by GEDCOM when all the individuals and their simple relationships are already telling the whole story including a perfectly good visual GUI representation of a table showing a family unit, I now have to figure out what I really linked this source to, way back when I made this tree and added a source to something.
So I open up Family Historian, the app I used to make this tree, and I see after over an hour of fiddling with this unhelpful interface that I'm apparently not smart enough to figure out what I intended to do when attaching the same citation to a man, his wife, their nine children and who knows what else. That isn't GEDCOM's fault; this GUI and I have never gotten along.
So in hopes of figuring out how to figure out what GEDCOM expects me to do with links that it imagined into existence, I had to create an even teenier tree with only three people and one source in it, nothing else. The resulting 58 lines of GEDCOM is not the fault of Family Historian. GEDCOM is as GEDCOM does, whatever that means.
So I hoped to figure out what must have happened by simplifying the problem with a tree of three persons and one source. In my opinion, I was being very scientific by simplifying the set of interweaving influences autogenerated by FH and GEDCOM constructively interfering with each other over a set of three people, one source and one citation. By attaching the source to hopefully only one thing, I would be able to see how this translates to a GEDCOM element that didn't exist until GEDCOM decided it should. If I'm interpreting FH's hieroglyphics correctly, I must have linked this citation to the name of the wife/mother in the Toy Family Tree. I'm not here to find fault with either FH or GEDCOM, I just want to know what it means when GEDCOM links a citation to a family unit that it created itself.
But the experiment failed, in spite of my noble attempt to reduce the number of interweaving problems. In 58 lines of GEDCOM, the citation is linked to the source correctly but the source is not linked to anything that I knowingly created in this tree. So I was not able to solve the mystery I set out to solve. Then I see I'd actually created four people, marrying the woman to both her husband and her son. Family Historian's interface made this easy and natural, but it was still an honest mistake. So in desperation I will delete the tree and recreate it this time, with only three individuals. Perhaps the fact that this fella had a child with his own mother caused the GEDCOM file to recoil in horror, refusing to do its job?
OK, one more time. The Toy Family Tree. Three people and one source with a citation.
That's better. Now the source is linked to an individual's name, as expected. The real problem is that I'm trying to figure out how a source would end up being linked to a family tag in the GEDCOM. I'll have to add another source and this time instead of selecting Name, I'll try selecting Whole Record, whatever that means.
Tried it, but this time the source was linked to the individual record. So "whole record" means the zero-level GEDCOM INDI tag if you happen to be a FH programmer who doesn't realize that the software user doesn't know what "whole record" means.
One more time. This time I'll try linking a source to the shown individual's spouse, but I have a feeling I may not be able to duplicate the oddity with a reasonable amount of time and effort.
As I suspected, the source is just linked to a name. How did a source end up getting linked to a zero-level FAM record? I have to know or I won't know how to import it because I won't know how I, the creator of the other tree, input the source or why.
Going back to the first tree--the one with 29 individuals and 771 lines of GEDCOM--I see that the source in question (in the GUI) is linked to two residences, a name, and a whole record (whatever that means). Once again vowing to do the scientific thing in order to back-engineer my intentions when I input this data, I will delete one citation at a time, exporting a new GEDCOM after each transaction, till I find out which one eliminates the link to the FAM tag. This time it cannot fail. Science always prevails.
Results (all the citations listed are the same citation, linked to different elements of the tree.):
Deleting the residence-2 citation didn't get rid of the link.
Deleting the residence citation didn't get rid of the link.
Deleting the name citation didn't get rid of the link.
Deleting the whole record citation didn't get rid of the link.
I'll try turning off the program, then turning it back on.
Nope.
Is there a way to find every place this citation was used and see them all in one place?
Wait. I made a mistake. I deleted the links from the person displayed instead of the focus person or whatever he's called. This is also easy and natural to do in Family Historian. Just let me fix that, and...
Nope. There's only one hope: delete the entire source from the program altogether.
Of course that finally removed the source from the family tag, but that's not how I wanted to do it. I'll have to try again tomorrow, using Gramps or Genbox, to figure out what causes a source to be linked to one of GEDCOM's self-generating FAM tags. Nine GEDCOM files later, I learned nothing but to not use FH if interested in learning anything about GEDCOM.
I guess that's why Family Historian stores all their data in a GEDCOM file instead of a real database, right? Because GEDCOM is so great?