hh_extended_family icon indicating copy to clipboard operation
hh_extended_family copied to clipboard

Error when fixing GEDCOM "0 — 1 NAME //" error

Open TheDutchJewel opened this issue 2 years ago • 9 comments

I have a few "0 — 1 NAME //" tags in my GEDCOM.

GECOM error checking recommends changing "//" to "": afbeelding

When I follow that advice, I get the following error message in webtrees: afbeelding

Disabling the hh_extended_family module. fixes this problem.

TheDutchJewel avatar Dec 11 '22 11:12 TheDutchJewel

Oh, this is a bug. I have to release a new version (before Christmas?).

But the recommendation: changing "//" to "" is not ok, because "1 NAME //" is illegal GEDCOM and "1 NAME" is illegal. The recommendation should be: delete "1 NAME".

hartenthaler avatar Dec 11 '22 22:12 hartenthaler

You can deactivate my module, delete the "1 NAME" record, and reactivate this module.

hartenthaler avatar Jan 07 '23 15:01 hartenthaler

Another version of the error occurs when adding a person with no name

eyolf avatar Mar 19 '23 10:03 eyolf

when you create a person whose name is not known. we have in the gedcom (webtrees)

1 NAME 2 TYPE BIRTH

with the Extended family module with the error

Table key not defined 1 .../modules_v4/hh_extended_family/src/Factory/Objects/ProbandName.php:122 #0 .../modules_v4/hh_extended_family/src/Factory/Objects/ProbandName.php(122) : Fisharebest\Webtrees::Fisharebest\Webtrees{closure}() #1 .../modules_v4/hh_extended_family/src/Factory/Objects/ProbandName.php(99) : Hartenthaler\Webtrees\Module\ExtendedFamily\ProbandName::findNiceNameFromNameParts() #2 .../modules_v4/hh_extended_family/src/Factory/Objects/ProbandName.php(55) : Hartenthaler\Webtrees\ModuleExtendedFamily\ProbandName::findNiceNameFromRufnameOrNameParts() #3 .../modules_v4/hh_extended_family/ExtendedFamily.php(166) : Hartenthaler\Webtrees\ModuleExtendedFamily\ProbandName::findNiceName() #4 .../modules_v4/hh_extended_family/ExtendedFamilyPersonExists.php(71) : Hartenthaler\Webtrees\ModuleExtendedFamily\ExtendedProband() #5 .../modules_v4/hh_extended_family/ExtendedFamilyTabModule.php(126): Hartenthaler\Webtrees\ModuleExtendedFamilyExtendedFamilyPersonExists->__construct() #6 .../modules_v4/hh_extended_family/ExtendedFamilyTabModule.php(555) : HartenthalerWebtreesModuleExtendedFamilyExtendedFamilyTabModule->personExistsInExtendedFamily() #7 .../resources/views/individual-page-tabs.phtml(20) : HartenthalerWebtreesModuleExtendedFamilyExtendedFamilyTabModule->isGrayedOut()

we must deactivate the module to enter the name then reactivate it (not easy) thank you to see and correct this problem

Fa10175 avatar Apr 24 '23 15:04 Fa10175

In GEDCOM "no name" is not allowed for "1 NAME". If there is no name then there should be no "1 NAME/2 ...". But again: even if this is illegal GEDCOM there should be no error in my module when you are using such an element.

hartenthaler avatar Apr 25 '23 11:04 hartenthaler

if I create the parents of a person with webtrees 2.1.16, I normally fill in the father but the name of the mother is unknown the fields name and first name I leave them empty I just fill in birth, death, marriage. if I want to fill in the name or the first name with your module activated, I get the error

Undefined array key 1 ...\modules_v4\hh_extended_family\src\Factory\Objects\ProbandName.php:122

#0 ...\modules_v4\hh_extended_family\src\Factory\Objects\ProbandName.php(122): FisharebestWebtreesWebtrees::FisharebestWebtreesWebclosure}(2, 'Undefined array...', 'C:\D...', 122)
#1 ...\modules_v4\hh_extended_family\src\Factory\Objects\ProbandName.php(99): Hartenthaler\Webtrees\ModuleExtendedFamily\ProbandName::findNiceNameFromNameParts(Object(Cissee\WebtreesExt\IndividualExt))
#2 ...\modules_v4\hh_extended_family\src\Factory\Objects\ProbandName.php(55): Hartenthaler\Webtrees\ModuleExtendedFamily\ProbandName::findNiceNameFromRufnameOrNameParts(Object(Cissee\WebtreesExt\IndividualExt))
#3 ...\modules_v4\hh_extended_family\ExtendedFamily.php(166): Hartenthaler\Webtrees\ModuleExtendedFamily\ProbandName::findNiceName(Object(Cissee\WebtreesExt\IndividualExt), true)
#4 ...\modules_v4\hh_extended_familyExtendedFamilyPersonExists.php(71): Hartenthaler\Webtrees\ModuleExtendedFamilyExtendedFamily->constructProband(Object(CisseeWebtreesExtualExt))
#5 ...\modules_v4\hh_extended_familyExtendedFamilyTabModule.php(126): HartenthalerWebtreesModuleExtendedFamilyExtendedFamilyPersonExists->__construct(Object(CisseeWebtreesExtualExt), Object(stdClass))
#6 ...\modules_v4\hh_extended_familyExtendedFamilyTabModule.php(555): Hartenthaler\Webtrees\ModuleExtendedFamilyExtendedFamilyTabModule->personExistsInExtendedFamily(Object(Cissee\WebtreesExt\IndividualExt))
#7 ...\resources\viewsindividual-page-tabs.phtml(20): Hartenthaler\WebtreesExtendedFamilyTabModule->isGrayedOut(Object(Cissee\WebtreesExt\IndividualExt))

if I deactivate it no problem. the gedcom webtrees 2.1.16 is

0 @I196@ INDI
1 FAMS @U131@
1 SEX F
1 NAME
2 TYPE BIRTH
1 NAME /DUPONT/
2 TYPE MARRIED
2 SURN DUPONT

if I do the same with webtrees 2.1.5, I have no errors

the gedcom webtrees 2.1.5 is

0 @I196@ INDI
1 FAMS @U131@
1 SEX F
1 NAME //
2 TYPE BIRTH
1 NAME /DUPONT/
2 TYPE MARRIED
2 SURN DUPONT

I think that there was an evolution between webtrees 2.1.5 and webtrees 2.1.16 and that's why there is an error.

thanks to look at this problem

Fa10175 avatar Apr 26 '23 07:04 Fa10175

Ahh! I can see it. Yes there was a change in webtrees to 2.1.16.

This is a webtrees bug, too. webtrees should not generate the additional

1 NAME
2 TYPE BIRTH

and

1 NAME //
2 TYPE BIRTH

Both are wrong GEDCOM in my opinion. I will write an issue to Greg.

You can avoid this at the moment when you add the mother by selecting as "Type of name" an empty option "" instead of "birth name".

You should remove now all the wrong "1 NAME\n2 TYPE BIRTH" and "1 NAME //\n2 TYPE BIRTH" by using the regular expression search/replace function. Are you familiar with that?

hartenthaler avatar Apr 26 '23 11:04 hartenthaler

see https://github.com/fisharebest/webtrees/issues/4815

hartenthaler avatar Apr 26 '23 11:04 hartenthaler

thanks i do the correction and i try to think about that waiting a correction from webtrees

Fa10175 avatar Apr 26 '23 12:04 Fa10175

See https://www.webtrees.net/index.php/forum/2-open-discussion/39301-recover-lost-name-and-first-name#107376

The GEDCOM you get to process can be virtually anything. A user is not obliged to check for errors and fix them in a certain way.

Do not blame the data. The user is always right.

What you should do is always program defensively. Never assume an array produced by the explode function has a certain number of objects. Always check the size before accessing a specific index. That should be a no-brainer, really..

BertKoor avatar Oct 16 '24 11:10 BertKoor