GSP - Special Programs

To solve special problems with the GEDCOM files following "GSP Special Programs" have been created:
The programs are basically developed on the basis of specific requirements of user groups and provide a solution to specific GEDCOM problems. Different to the OFB or GSP programs there are no separate language files and some are without tooltips. A description of each program is given below.

These programs are not part of the "OFB program package" and the "Gedcom Service Program package".

System requirements

Kopf
The programs require the installation of the software packages "OFB bundle" or "GSP". In addition, a valid license must exist on the PC.
The programs have been written using "Microsoft Visual Studio Express 2015".

Installation & Update

Kopf
The programs are without their own installation routine. The installation has to be done manually by the following steps:
  1. Load the respective exe file from the Download area onto your PC.
  2. Copy the exe file into the program folder of the already installed OFB- resp. GSP-program package.
    After starting the Start Center a button to start the program should show up at the lower area.
  3. Optional create a shortcut of this exe file onto the desktop or at any other place, e.g. start menu.

Update

An update to a new version has to be done similar to the installation, but without creating a new shortcut.

Program start

The program starts by the appropriate button of the start center, by clicking the shortcut or by calling the exe file.

Licensing & Copyrights

Kopf
The same copyright and license conditions are valid for the "GSP - Special Programs" as defined in the OFB User Guide - part 1 resp. GSP - User Guide - part 1.
These programs will only start with a GSP resp. OFB bundle license.

Chars2Utf8 - Conversion to UTF-8 coding

Kopf
Chars2Utf8

Functionality

UTF-8 is the preffered coding for ged-files. This coding allows an unproblematic representation of international characters. Several programs don't support this coding at their export, other programs require UTF-8 coded ged-files during import. Beside UTF-8 the GEDCOM standard draft 5.5.1 allows the use of ASCII, ANSEL and UNICODE coding. The ANSI coding is not allowed according to the standard but still widely used.

This program checks the actual coding of ged-files and converts files with ANSEL, ANSI and ASCII into UTF-8 coding. In one run a single file or a group of files can be converted.

In addition to the conversion, following will be done:

The converted file will be stored with the filename of the original file and an attached "_u" (xxx.ged will become xxx_u.ged). The original file remains unchanged. The new file will be stored in the folder of the original file. In addition a log-file will be created which can be opened by any text editor. This file contains:

Description

Kopf
After starting the program, above main screen will show up.
Following buttons are available: Extract of a Log-file:
Created at 11.02.2015 21:38:49 - Chars2Utf8 version: 0.0.2
Base: "c:\1\test_ged_all.txt" from 10.02.2015 19:43:27
Following files not found or not ged-files or ends with "_u.ged":
  C:\Ofb\3\1\bk\test_f\test2_u.ged
  C:\Ofb\3\1\die_af\af-hes-paf_u.ged
  C:\Ofb\3\1\die_af\af_dh_test-vn_u.ged
  C:\Ofb\3\1\die_af\sour\af_dh_neu_sor_u.ged
  ...
  C:\Ofb\3\1\paf\sour\willy50_u.ged
574 ged-files found in text file
11.02.2015 21:38:49: Start processing
Following files not converted due to errors:
  Line nbr. 9390 "1  " to short -> file "C:\Ofb\3\1\ages\richt\hd-ofb9-2014.ged"
  Line nbr. 261 "Bad Pyrmon..."  digit + tag missing -> file "C:\Ofb\3\1\bk\spiel\2014 (2).ged"
  Line nbr. 315 "1 -DET VOG..."  digit + tag missing -> file "C:\Ofb\3\1\easy_tree\wink\1-4test-vf.ged"
  Line nbr. 22 "3_ZUS"  digit + tag missing -> file "C:\Ofb\3\1\gen_p\marzi\miesen.ged"
  Unknown CharSet "" in HEAD -> file "C:\Ofb\3\1\gramps\paktig\hesmer_test.ged"
  Line nbr. 58 "2 07 MAR 1..."  digit + tag missing -> file "C:\Ofb\3\1\paf\karl\ble83.ged"
  Line nbr. 366 "..." to short -> file "C:\Ofb\3\1\turck\kb_meinerz.ged"
  "0 HEAD" line missing -> file "C:\Ofb\3\1\webtree\utischill\uti familytree_test-reduzierer_red.ged"

11.02.2015 21:45:37: Conversion completed
253 files skipped - already UFT-8
271 ANSI files converted
46 ANSEL files converted
2 ASCII files converted
46.341.153 Total lines read
46.397.016 Total lines written

The upper part lists files not found or no ged-files or already ending with _u.ged. These will not be converted.
The middle part lists faulty files with respect to missing HEADer, CHARSet unknown or not supported, line length or missing level number and tag. These will be skipped.
The lower part lists a summary of the conversion process.

Note:
During reading the data, there is no checking of correct structures and GEDCOM syntax, valid data and consistency of the data of the ged-file. This should be assured prior the conversion by the other GSP programs.

CorSexHusbWife - Correction of SEX value based on HUSB and WIFE references

Kopf
Chars2Utf8

Functionality

In GEDCOM files you will find sometines incorrect information about the gender of individuals.

The program checks for every family (FAM) record the HUSB and WIFE references and its values stored for SEX and allows a correction of this SEX value resp. an exchange of the HUSB and WIFE references. Therefor only those persons who are referenced as HUSB or WIFE can be checked. The corrected data can be stored in a new file with the filename of the original file and an appended "_shw" (xxx.ged will become xxx_shw.ged). The original file remains unchanged. The modified new file is saved in the folder of the original file. In addition, a log file is created that can be opened with any text editor. The name of the log-file is composed by the name of the ged-file with an appended "_shw.log" (xxx.ged will become xxx.ged_shw.log). The log-file contains:

Description

Kopf
After starting the program, above main screen will show up.
After loading a ged-file ( by the [ Symbol with an open folder ] ) the analysis can start after pushing [ Start ]. This will be done in 2 steps: Following additional buttons are available:

Examples and explanations for discrepancies and their correction

As possible actions are available for below example:
  • "HUSB <> WIFE" - this would exchange for FAM @F60013@ the reference numbers of HUSB and WIFE.
  • "Change SEX of HUSB" - this would convert for INDI @I148088@ the text "F" for SEX into "M"
  • "Change SEX of WIFE" - this would convert for INDI @I142351@ the text "M" for SEX into "F"
  • The first action is certainly to be recommended here, because an inadvertent mix-up happened when entering HUSB and WIFE data. This is particularly noticeable by watching the given name.
sexhusbwife_xmp1

As possible actions are available for below example:

  • "HUSB <> WIFE" - this would exchange for FAM @F6452@ the reference numbers of HUSB and WIFE.
  • "Change SEX of WIFE" - this would convert for INDI @I48426@ the text "U" for SEX into "F"
  • The latter would certainly be recommend here - watch the given name.
sexhusbwife_xmp2

As possible actions are available for below example:

  • "HUSB <> WIFE" - this would convert for FAM @F99999373@ the text HUSB into WIFE
  • "Change SEX of HUSB" - this would convert for INDI @I13679@ the text "F" for SEX into "M"
  • The first action is certainly to be recommended here, because the given name points to a correct WIFE entry.
sexhusbwife_xmp3

As possible actions are available for below example:

  • "HUSB <> WIFE" - this would convert for FAM @F6041@ the text HUSB into WIFE
  • "Change SEX of HUSB" - this would convert for INDI @I36230@ the text "U" for SEX into "M"
  • Here, the decision is more difficult, since it can not be detected accurately by the non-unique given name, whether it is here a HUSB or WIFE. The latter would be well recommended. A wrong decision would probably be detected and corrected by another run.
sexhusbwife_xmp4

Specifics of the processing

To find discrepancies with respect to the stored SEX character, the program analyzes the FAM records from top to bottom. Single individuals may show up several times by e.g. multiple marriages. The discrepancies found will be stored, in case of multiple found individuals always the last found discrepancy. Because a person can occur several times, both with a correct and with a false SEX value (once as HUSB, once as WIFE), special caution is necessary in deciding the appropriate action. If there is a proposal for HUSB to be a "F", although there appears a male given name, this should probably not be changed. At this point the "M" is the correct value, but not at an other discrepancy for this person - or vice versa.

After finishing all modifications the 1st time (don't forget to [ Save ] the data !!) the modified file "..._ shw.ged" should be loaded again for a 2nd and possibly 3rd run (can be done by the [ ∧ ] buttom), until no more discrepancies are found. Then a final examination should be performed by the "GSP Validator" and errors still found should be manually corrected by using the genealogy program or a text editor.

WARNING: The modified file will be saved only by pressing the [ Save ] button.

Extract of a Log-file

Created at 04.05.2015 15:40:45 - CorSexHusbWife Version: 0.9.1
Base: "C:\Ofb\1\ftm\nikolsburg_2015-03-21_u.ged" from 29.04.2015 20:11:24

04.05.2015 15:40:58: Reading data completed
480.252 Total lines read

04.05.2015 15:40:58: Analysis completed
Total Differences found: 42

Modifications done:
 -> "HUSB <> WIFE": HUSB @I4776@ -> WIFE @I4776@  [ Maria /Swoboda/ ]
 -> "HUSB <> WIFE": HUSB @I13679@ -> WIFE @I13679@  [ Stefanie /Spandl/ ]
 -> "HUSB <> WIFE": WIFE @I16067@ -> HUSB @I16067@  [ Waltraut /Kratschmmar/ ]
 -> "HUSB <> WIFE": WIFE @I19672@ -> HUSB @I19672@  [ Josef /Retsch/ ]
 -> "Change SEX of HUSB": @I23247@: U -> M  [ Gerhard /Beichl/ ]
 -> "Change SEX of HUSB": @I6870@: U -> M  [ Nn /Chlup/ ]
 -> "HUSB <> WIFE": H @I566@ + W @I525@ -> H @I525@ + W @I566@  [ Gotthard /Hofrichter/ ] + [ Maria /Rest/ ]
 -> "HUSB <> WIFE": H @I14154@ + W @I15123@ -> H @I15123@ + W @I14154@  [ Walter /Henhapl/ ] + [ Annemarie /Mast/ ]
 -> "Change SEX of WIFE": @I3284@: M -> F  [ Maria /Hlinetzky/ ]
 -> "Change SEX of WIFE": @I4787@: M -> F  [ Theresia /Fibich/ ]
 -> "Change SEX of HUSB": @I9026@: F -> M  [ Vinzenz /Bauer/ ]
 -> "Change SEX of HUSB": @I9467@: U -> M  [ Alfred /Schmidt/ ]
...
 -> "Change SEX of HUSB": @I12645@: F -> M  [ Josef /Bös/ ]
 -> "Change SEX of WIFE": @I13700@: M -> F  [ Herta /Schneider/ ]
 -> "Change SEX of WIFE": @I17107@: U -> F  [ Elfriede /Wölber/ ]
 -> "HUSB <> WIFE": H @I24997@ + W @I23522@ -> H @I23522@ + W @I24997@  [ Helmut /Neu/ ] + [ Theresia /Kaipl/ ]
 -> "Change SEX of HUSB": @I23466@: F -> M  [ Walter /Stein/ ]
 -> "Change SEX of WIFE": @I23814@: M -> F  [ Maria /Mayer/ ]
480.254 Total lines written to modified file

Still open: 14
04.05.2015 16:00:21: Processing completed

The upper part informs about the ged-file and the discrepancies found.
The middle part lists the actions performed and will help during a checking at a later time.
The lower part informs about the modified file and the still open discrepancies. Note: "Open" means the not yet viewed discrepancies. Skipped discrepancies without action will be counted as "done". Thus perform always an additional run.

Note:
During reading the data, there is no checking of correct structures and GEDCOM syntax, valid data and consistency of the data of the ged-file. This should previously be assured by the other GSP programs.

ConvLvl2To1 - Convert defined level-2 Tags to level-1 Tags

Kopf
Conv2to1

Functionality

Several genealogy programs do not understand during importing of ged-files various level-1 tag with level-2 tag combinations, e.g. NAME with SOUR or NOTE. This can lead to data loss, in case the program doesn't save these data in a different form.

This program scans the ged-file for a defined level-2 tag below of defined level-1 tags. The leve-2 tags found will be moved as level-1 tag to the end of the record with all its sub-tags in an adjusted format.

Only INDI or FAM records will be analysed.

Multiple level-1 tags (separated by semicolon) may be defined, but only 1 level-2 tag. Every INDI/FAM record will be analysed for existence of the level-1 tags and every found for the existence of the level-2 tag. If such a combination is found, the level-2 tag and all its sub-tags will be moved from this position within the record to the end and appended as level-1 tag with adjusted sub-structures.

Example:
Defined are:

By this within every INDI record for the level-1 tags NAME and SEX the level-2 tag SOUR will be searched for. If such are found, these will be moved with all their sub-tag structure from here to the end of the record and appended as level-1 and adjusted sub-structure numbers.
Note: In case of multiple NAME tags in a record, the SOUR tags of every NAME will be moved.

The original file will not be changed at all. The converted file will get the filename of the original "filename.ged" and a "_2t1" suffix added to "filename_2t1.ged". The log-file will be saved as "filename_2t1.log" containing a summary statistic, and for every modified record the number of modified structures, the INDI/FAM Id and i.a. the name of the affected person. Both files will be written to the folder of the original file.

Description

Kopf
After starting the program, above main screen will show up.
Following buttons are available: Extract of a Log-file:
Created at 26.05.2016 16:44:41 - ConvLvl2To1-Version: 1.0.0
Base: "C:\Ofb\1\ftm\nepp\ftm2ages-last\garschönthal_2015-09-04_u_u_shw.ged" from 04.09.2015 18:06:40
Modified file: "c:\ofb\1\ftm\nepp\ftm2ages-last\garschönthal_2015-09-04_u_u_shw_2t1.ged"
26.05.2016 16:44:41: Start reading the ged-file

Analysis of INDI records for Level-1 tags: "NAME;SEX" with level-2 tag: "SOUR"

Modified
Struct:  @INDI@  ->  [NAME]
--------------------------------------------------
     1:  @I1@  ->  [Juliana /Thiem/]
     1:  @I3@  ->  [Maria /Eisinger/]
     3:  @I4@  ->  [Leopold /Wenzl/]
     1:  @I5@  ->  [Johann /Wenzl/]
...
     1:  @I1473@  ->  [Johanna /Ambros/]
     2:  @I1474@  ->  [Karl /Ambros/]
     1:  @I1479@  ->  [Erna /Berger/]

26.05.2016 16:44:41: Conversion completed
23.557 - Lines read from base file
23.559 - Lines written in modified file
1.352 INDI records modified with 1.289 converted structures

Column 1 lists the number of modified structures within a record.
Column 2 lists the record number.
Column 3 lists for INDI records the first found NAME value within the record.

Note:
During reading the data, there is no checking of correct structures and GEDCOM syntax, valid data and consistency of the data of the ged-file. This should be assured prior and i.a. after the conversion by the other GSP programs.

DelIndiFam - Deletion of INDI + FAM Records according Date

Kopf
Conv2to1

Functionality

Sometimes the results of the "GSP Reducer" are not according to the wishes or the options are too complex, this program may help.

The program deletes INDI and FAM records of the ged-file outside the defined Date ranges. The FAMC, FAMS, HUSB, WIFE, CHIL, ASSO and _ASSO references will be adjusted. It scans the ged-file for records to be deleted according the defined date values. Records found will be deleted and the references adjusted accordingly.

Only INDI and/or FAM records will be analysed.

Date options

Date values for the events BIRT/CHR, DEAT/BURI and MARR may be defined. If no DATE is found for BIRT resp. DEAT, existing DATEs of CHR resp. BURI will be used instead. For every selected event 2 values (min + max) must be entered. The format is ""YYYY.MM.DD"". For the comparison the plain date value of DATE will be used. All date uncertainties (BEF, AFT, ...) won't be considered and for date ranges (FROM .. TO, BET .. AND) only the 1st value will be used.

Every record will be eliminated, if at least 1 event is found outside the defined ranges. Events without DATE will not be checked and will not be eliminated (except option <. 2 Persons is selected).

Further options

Description

Kopf
The original file will not be changed at all. The converted file will get the filename of the original "filename.ged" and a "_dif" added to "filename_dif.ged". The log-file will be saved as "filename_dif.log" containing a summary statistic, and the selected lists. Both files will be written to the folder of the original file.

After starting the program, above main screen will show up.

Following buttons are available:

Note: No checking of syntax and data errors of the ged-file will be done! The "GSP Analysis- and Validation-Programs" will help you.

Extract of a Log-file:
Created at 18.11.2017 14:43:11 - DelIndiFam-Version: 0.9.0
Base: "C:\Ofb\1\bk\erl\fruehzeit 08.17.ged" from 31.08.2017 01:45:47
Modified file: "c:\ofb\1\bk\erl\fruehzeit 08.17_dif.ged"
18.11.2017 14:43:11: Start reading the ged-file
Records found for checking: 3907 INDI + 819 FAM

Line-nbr: @Record-Id@ -> DATE faulty  => DATE used  [i.a. Name]
------------------------------------------------------------------------
54717: @I3226@ -> 1 CHR -> 2 DATE V. 1648 => Sort: 1648.00.00  [Johannes /BACHMANN/]

18.11.2017 14:43:14: Start reading + writing the ged-files
18.11.2017 14:43:16: Conversion completed
71.306 - Lines read from base file
57.255 - Lines written in modified file
Records deleted: 538 INDI, 130 FAM
Records new written: 3369 INDI, 689 FAM

Deleted reords:
###: RecId    BIRT    NAME
###: RecId    BIRT    NAME
--------------------------------------------------
  1: @I8@  1819.03.31  Josef /GENG/
  ...

###: RecId    MARR
--------------------------------------------------
  1: @F2@  1813.05.20
  ...

Thereof FAM records <2 persons:
  @F4@  @F225@  @F264@  @F475@  @F564@

Records without Date (not deleted):
###: RecId    BIRT    NAME
--------------------------------------------------
  1: @I23@  0000.00.00  Leo /KECH/
  ...

###: RecId    MARR
--------------------------------------------------
  1: @F49@  0000.00.00
  ...

Eliminated partner of children:
###:  Rec-Id  DATE      NAME                   FAMS-Id (further)  Partner-Id  inserted_Text
---------------------------------------------------------------------------------------------------------
  1: @I10@ *1790.08.13  Lorenz /KELLER/            @F2@          @I11@  oo 20.05.1813 Maria Anna METZLER, * 01.06.1787
  2: @I11@ *1787.06.01  Maria Anna /METZLER/       @F2@ (@F3@)   @I10@  oo 20.05.1813 Lorenz KELLER, * 13.08.1790
...


 © 2011-2018, Diedrich Hesmer, Herrenberg (D)  -  last update
Kopf

All brand marks are trademarks or registered trademarks of their respective owners.