Open TheDutchJewel opened 1 year ago
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".
You can deactivate my module, delete the "1 NAME" record, and reactivate this module.
Another version of the error occurs when adding a person with no name
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
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.
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
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?
thanks i do the correction and i try to think about that waiting a correction from webtrees
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..
I have a few "0 — 1 NAME //" tags in my GEDCOM.
GECOM error checking recommends changing "//" to "":
When I follow that advice, I get the following error message in webtrees:
Disabling the hh_extended_family module. fixes this problem.