ScionPC Reference Manual
ScionPC Reference Manual
Reference Manual
Page 1
ScionPC Reference Manual
Table of Contents
Introduction..........................................................................................................................6
On-line Help.................................................................................................................................................. 6
Reference Manual......................................................................................................................................... 6
Reports..................................................................................................................................7
Report Setup and Basic Reports................................................................................................................... 7
Progeny Chart............................................................................................................................................... 7
The numbering scheme in Progeny Charts............................................................................................... 8
Apparent duplication of entries in Progeny Charts....................................................................................8
Ahnentafel Chart........................................................................................................................................... 9
The numbering scheme in Ahnentafel Charts........................................................................................... 9
Pedigree Chart............................................................................................................................................ 10
Custom Report............................................................................................................................................ 10
Audit Report................................................................................................................................................ 13
Duplicates Report....................................................................................................................................... 17
Matching people with PID numbers greater than specified.....................................................................18
Implementation Details........................................................................................................................... 19
Printing Reports.......................................................................................................................................... 19
Auto-Viewing Reports................................................................................................................................. 20
Word Processor Name Indexing................................................................................................................. 21
Using Word Processor Report Templates................................................................................................... 21
Word Processor Compatibility..................................................................................................................... 22
Blank Reports............................................................................................................................................. 22
Web Pages..........................................................................................................................23
Quick Start - Generating a Complete "Default Style" Web Site...................................................................23
Web Page Setup......................................................................................................................................... 24
Personal Template.................................................................................................................................. 25
Names Templates................................................................................................................................... 26
Evidence Templates............................................................................................................................... 26
Albums Templates.................................................................................................................................. 27
Statistics Template................................................................................................................................. 27
Web Page Types........................................................................................................................................ 28
Names Index.......................................................................................................................................... 28
Evidence Index....................................................................................................................................... 30
Albums Index.......................................................................................................................................... 31
Personal Pages...................................................................................................................................... 32
Statistics Page........................................................................................................................................ 34
Web Page Customisation........................................................................................................................... 35
Cascading Style Sheet (CSS)..................................................................................................................... 36
Filenames and Structure............................................................................................................................. 37
Creating an Autorun Family History CD or DVD.......................................................................................... 37
Distributing your family history................................................................................................................ 37
How to make an autorun CD or DVD...................................................................................................... 37
Sharing Data With Other Programs.................................................................................40
GEDCOM Export and Import...................................................................................................................... 40
Exporting GEDCOM data for use in another program.............................................................................40
Importing GEDCOM data from another program...................................................................................42
Page 2
Tips for exporting from other programs...............................................................................................43
"Custom" tags and dates exported from other programs....................................................................44
Appending GEDCOM data to a database...............................................................................................45
ScionPC GEDCOM Implementation Notes.............................................................................................45
Treepad Export........................................................................................................................................... 48
Exporting as Treepad file........................................................................................................................ 48
CSV (comma-separated values) Export...................................................................................................... 49
Exporting the data as CSV files.............................................................................................................. 49
Some notes about dates in CSV files...................................................................................................... 50
Date handling by external programs................................................................................................... 50
Calendars........................................................................................................................................... 50
“On This Day” Export.................................................................................................................................. 50
Exporting as an “On This Day” file.......................................................................................................... 50
Display of “On This Day” events file in Age and Date Calculator............................................................51
“On This Day” file format......................................................................................................................... 51
Timeline historical events........................................................................................................................ 52
Other “On This Day” programs............................................................................................................... 52
Copy and Paste between ScionPC Databases...........................................................................................53
Copy Person........................................................................................................................................... 53
Paste Person.......................................................................................................................................... 53
Copy Text.................................................................................................................................................... 53
Export Anything to a Spreadsheet............................................................................................................... 54
Multi-line Entries in Excel........................................................................................................................ 55
Editing Tools......................................................................................................................58
Searching ................................................................................................................................................... 58
Searching for People by Name............................................................................................................... 58
Searching Using Regular Expressions.................................................................................................... 59
Searching for Date-Limited Events......................................................................................................... 60
Refining a Search................................................................................................................................... 61
Report on Search Results....................................................................................................................... 61
Global Search-and-Replace........................................................................................................................ 62
Global Spell Checking................................................................................................................................. 63
Merging People........................................................................................................................................... 64
How to Merge People............................................................................................................................. 65
Points to Note......................................................................................................................................... 66
Merging Places........................................................................................................................................... 66
For the technically curious...................................................................................................................... 69
Merging Evidence....................................................................................................................................... 69
Relocating Missing Attachments................................................................................................................. 70
Miscellany...........................................................................................................................73
File Properties............................................................................................................................................. 73
Multiple Phone Numbers, and Email and Web Addresses......................................................................74
Statistics..................................................................................................................................................... 74
How Ages and Durations are Calculated................................................................................................75
Age Tooltips............................................................................................................................................ 75
Date Substitution......................................................................................................................................... 75
Regnal Dates.............................................................................................................................................. 76
Further Complications............................................................................................................................. 77
Item ID's...................................................................................................................................................... 77
Renumber “Trick”.................................................................................................................................... 78
Keyboard Shortcuts..................................................................................................................................... 78
Search By Sex............................................................................................................................................ 78
Database Backups...................................................................................................................................... 79
Why should I backup?............................................................................................................................ 79
How do I perform a backup?................................................................................................................... 79
A simple backup strategy........................................................................................................................ 80
User Defined (Custom) Fact Types............................................................................................................. 80
Database File Formats................................................................................................................................ 81
Uncompressed (.sgx) File Format........................................................................................................... 81
Compressed (.sgc) File Format.............................................................................................................. 81
Advanced Program Settings....................................................................................................................... 82
"Similar Spelling" Accuracy..................................................................................................................... 82
Backup Reminders................................................................................................................................. 82
Page 3
Half-Sibling Behaviour............................................................................................................................ 82
Maximum Number of Bookmarks............................................................................................................ 83
Maximum Ancestor/Descendant Web Page Generations.......................................................................83
Extended "Delete Person" Confirmation Dialog......................................................................................84
Button Glyphs......................................................................................................................................... 84
Evidence Button Bullets.......................................................................................................................... 84
Regnal Monarch Pictures........................................................................................................................ 85
Enhanced Tooltip Thumbnails................................................................................................................ 85
Hide "Surname Appearance" Preferences Option..................................................................................85
Intersex Support..................................................................................................................................... 86
Intersex Terminology.............................................................................................................................. 86
Appendix A. XML Data Model...........................................................................................87
Appendix B1. ScionPC Datatype Definitions..................................................................89
Appendix B2. Fixed Tag Definitions/Values....................................................................93
Appendix B3. Entity Relationship Diagrams...................................................................97
Person Entity Diagram................................................................................................................................ 97
Family Entity Diagram................................................................................................................................. 98
Sample Person Entity Diagram................................................................................................................... 99
Sample Family Entity Diagram.................................................................................................................. 100
Appendix C1. ScionPC Supported GEDCOM Tags......................................................101
GEDCOM Import....................................................................................................................................... 101
Appendix C2. ScionPC Supported GEDCOM Tags......................................................109
GEDCOM Export...................................................................................................................................... 109
Appendix C3. GEDCOM Tag Definitions........................................................................114
ScionPC Custom GEDCOM Tags............................................................................................................. 114
Supported Tags Introduced with GEDCOM 5.5.1.....................................................................................115
Supported “3rd Party” Program Tags........................................................................................................ 115
Special Custom Tag Handling................................................................................................................... 116
Lists of Some Custom “3rd Party” Tags.................................................................................................... 116
Appendix D. ScionPC Web Template Variables...........................................................122
All Pages................................................................................................................................................... 122
Personal Pages......................................................................................................................................... 122
Personal Albums....................................................................................................................................... 123
Family Albums.......................................................................................................................................... 124
Notes Pages............................................................................................................................................. 124
Sources Pages.......................................................................................................................................... 124
Surname Main Index................................................................................................................................. 125
Surname “Letter” Indexes......................................................................................................................... 125
List of People............................................................................................................................................ 125
Evidence Index......................................................................................................................................... 125
Album Index.............................................................................................................................................. 125
Statistics Page.......................................................................................................................................... 125
Appendix E. Name Matching Algorithms......................................................................126
Russell Soundex....................................................................................................................................... 126
Original Metaphone................................................................................................................................... 126
Double Metaphone.................................................................................................................................... 126
Less Common Coding Systems................................................................................................................ 127
Lait & Randell Phonex.......................................................................................................................... 127
Gadd Phonix......................................................................................................................................... 127
Daitch-Mokotoff..................................................................................................................................... 127
Caverphone.......................................................................................................................................... 127
NYSIIS.................................................................................................................................................. 128
A Humorous Footnote............................................................................................................................... 128
Appendix F. Regular Expressions.................................................................................129
Introduction............................................................................................................................................... 129
Regular Expression Examples.................................................................................................................. 130
Matching Simple Strings....................................................................................................................... 130
Searching with Wildcards...................................................................................................................... 131
Page 4
Searching for Special Characters......................................................................................................... 132
Ranges and Repetition......................................................................................................................... 133
Ranges, {min, max}........................................................................................................................... 133
Repetition, ?*+.................................................................................................................................. 134
Quantifier Summary.......................................................................................................................... 135
Using Conditional Expressions............................................................................................................. 135
Grouping Similar Items in Parentheses................................................................................................. 137
Matching Sequences............................................................................................................................ 138
Building Simple Character Classes................................................................................................... 138
Preventing Matches with Character Classes.....................................................................................139
Compound Character Classes.......................................................................................................... 141
Character Class Summary................................................................................................................ 142
Matching Locations within a String........................................................................................................ 142
Matching White-space.......................................................................................................................... 144
Some tips.............................................................................................................................................. 144
Tip 1 - Match 'Tom' or 'Thomas'........................................................................................................ 144
Tip 2 - Match 'Fort' or 'Ft' or 'Ft.'........................................................................................................ 144
Tip 3 - Match Text with All Capital Letters.........................................................................................145
Appendix G. Credits and Acknowledgements..............................................................146
Components and source code.................................................................................................................. 146
HTMLHint.............................................................................................................................................. 146
TPCRegExp.......................................................................................................................................... 146
TinyXML............................................................................................................................................... 146
GZStream............................................................................................................................................. 146
zlib........................................................................................................................................................ 146
TGIFImage........................................................................................................................................... 147
TFontComboBox................................................................................................................................... 147
Double Metaphone................................................................................................................................ 147
MySpell................................................................................................................................................. 147
RTFLabel.............................................................................................................................................. 147
TdfsMRUFileList................................................................................................................................... 147
TABExtProgressBar.............................................................................................................................. 148
Calendar Algorithm Sources..................................................................................................................... 148
Page 5
Introduction
The documentation supplied with ScionPC is in two parts -
1. On-line Help
The help file can be viewed even when the program isn't running - simply double-click on the
“ScionPCHelp” help file.
It also introduces the program's model for managing your family history information, and
describes the basics of the program.
When using the program, help is always available by pressing the F1 key or by selecting “Help
Contents” from the “Help” menu.
Wherever possible the help is context-sensitive - that is, the help page displayed is directly related
to where you are in the program. For example, if you have the Age and Date Calculator displayed,
then pressing F1 will display the help page directly related to the calculator.
To print any of the help topics, click on the “Print” button when the appropriate help page is
displayed.
2. Reference Manual
You are reading this document. It supplies detailed information on some of the more complex
aspects of the program, and provides technical information on the database structure, GEDCOM
support, etc.
Refer to the Table of Contents above for a summary of the topics covered.
Page 6
Reports
The various reports supported by ScionPC are accessible under the “File” menu.
SPECIAL NOTE: To exclude private information from reports, use the “Strip Private Data...” item
under the “Edit” menu.
2. Progeny Chart
A Progeny Chart, in either “concise” or “narrative” format, for the currently displayed person,
reports on the descendants (progeny) of that person.
Partial Example -
Partner: NICHOLES, Sybilia [175]. Marriage: 19 Oct 1816, St Dunstan (In the East), Stepney, London, ENG.
[FID: 63]
+2.a SMITHSON, Charles (John?) [60]. Birth: ca. 1817, St Pancras, London, England. Death: 22 May
1860, Ararat, Victoria, Australia. Burial: 23 May 1860, Ararat Old Cemetery, Ararat, Victoria, Australia.
+3.b SMITHSON, Edgar [172]. Birth: ca. 1824, St Pancras, London, England. Death: 20 Mar 1906, Lydiard
Street, Ararat, Victoria, Australia. Burial: 21 Mar 1906, Ararat New Cemetery, Victoria, Australia. /
Undertaker: Charles Morris. Minister: Hugh Laughlin.
2 SMITHSON, Charles (John?) [60]. Birth: ca. 1817, St Pancras, London, England. Death: 22 May 1860, Ararat,
Victoria, Australia. Burial: 23 May 1860, Ararat Old Cemetery, Ararat, Victoria, Australia.
Partner: BLISS, Selinia Julia (“Selina”) [61]. Birth: ca. 1827, Shoredich, London, England. Baptism: 1 Jul
1827, St Leonards, Shoreditch, London, England. Death: 23 Jul 1898, Main Street, Bendigo, Victoria,
Australia. Burial: 25 Jul 1898, Bendigo Cemetery, Bendigo, Victoria, Australia. Marriage: 23 Aug
1845, St Martins in the Fields Church, London. [FID: 20]
+4.a SMITHSON, Charles Alfred [6]. Birth: 9 Apr 1848, 10 Bath Place, Kingscross/Maiden Lane, London,
England. Death: 3 Jun 1907, Selbie Street, Bendigo, Victoria, Australia. Burial: 5 Jun 1907, Bendigo
Cemetery, Victoria. Undertaker: F. Crouch. Minister: Revd. Robert Williams.
5.b SMITHSON, Selina Julia [96]. Birth: 12 May 1854, Prahran, Melbourne, Victoria, Australia. Death: 4
Mar 1935, 16 River Street, Newport, City of Williamstown, County of Bourke, VIC. Burial: 5 Mar 1935,
Williamstown Cemetery, County of Bourke, VIC.
The example above shows the “concise style” of the Progeny Chart.
If preferred, there is a “narrative style” available which also (optionally) includes source references.
The example below shows a small section of such a report -
Page 7
8 Duncan Gordon SMITHSON was born on 2 Jun 1879 in Pleasant Creek, Victoria, Australia S11 and was baptised
on 13 Aug 1879 in Wesleyan Methodist Church, Bendigo, VIC S2. He died on 14 Feb 1960 in Christchurch
Hospital, NZ and was buried in Park Cemetery, Wanganui, NZ.
Partner: Caroline Mary MERCHANT, daughter of Robert John MERCHANT & Eliza Ann WATSON, was born
on 24 Aug 1879 in Thomastown, Victoria, Australia S4 and died on 3 Mar 1962 in Coronation Hospital,
Christchurch, NZ. She was buried on 5 Mar 1962 in Park Cemetery, Wanganui, NZ. Caroline and
Duncan were married on 17 May 1913 in St Paul's Church, Invercargill S3. They had five children -
19.a Charles Allan (“Allan”) SMITHSON S27 was born on 22 Feb 1914 and died on 3 May 1976 in
Tauranga, NZ. His partner was Hettie BANISTER (Marriage: Taihape? NZ.).
20.b Unnamed SMITHSON S27 was born on 20 Jul 1915 in Invercargill, NZ S14 and died on 20 Jul 1915 S14.
+21.c Peter Frederick SMITHSON. Born: 14 Jan 1917. Died: 15 Mar 1973.
0.e Helen Mary SMITHSON was born on 18 Oct 1929 S27 and died on 28 Sep 2000 in Wanganui, New
Zealand. She was cremated on 2 Oct 2000 in Johns Road Crematorium, Christchurch, New Zealand.
Her partner was Archie Glyn STEWART. Helen was adopted by both parents. See also footnote.
Source References
S2. Victoria Baptism Index for Duncan Gordon SMITHSON (State Government of Victoria, Australia)
S3. Marriage Certificate for Duncan Gordon SMITHSON and Caroline Mary MERCHANT (NZ Government Records)
S4. Victoria Births Registry for Caroline Mary Merchant (State Government Record, Victoria, AUSTRALIA)
S11. Extract from Victoria Births Registry for Duncan Gordon Smithson (State Government of Victoria, Australia)
S14. Birth (and implied Death) Certificate for "Unnamed" SMITHSON, brother of Robert Hamilton SMITHSON (NZ BDM)
S27. Personal information (Robert Hamilton SMITHSON)
In the last entry of the above example, note the inclusion of non-biological descendants with a
Progeny Number of 0 (zero). The related footnote reads -
NOTE: A child with a “progeny number” of zero is not on the direct (biological) line of descent (they may be adopted,
for example), and any descendants of the child are omitted from this report.
The numbering system used in the Progeny Charts is a hybrid variation on the "Register System
(NEHGR)" first used in the New England Historical and Genealogical Register, and the "Record
System (NGS)" developed by the National Genealogical Society.
In this variant, every person receives a "Register Number", a number indicating the line of
descent, followed by their children in numerical order. The starting person will always receive the
Register Number of 1, and their children will be numbered 2, 3, etc. Every child also receives a
letter (a, b, c, etc) indicating the birth order.
Except for the starting person, every person will appear first as a child.
Any child whose Register Number is preceded by a "+" sign, is also repeated as an adult. Even
though a child may have a Register Number, if no "+" sign appears, that will be the last time that
person will be seen in the descendancy.
Note that only the blood-line descendants of that starting person receive a Register Number.
Spouses of descendants are not part of the descendancy and do not receive a number.
On occasion, some couples and their children may appear twice in Progeny Reports, once related
to the husband, and then again related to the wife. This will occur if the couple also happen to be
related. For example, when cousins marry. Progeny Reports follow the bloodline and, in this case,
will report separate family entries for both the husband and the wife (as cousins).
When the top-most numbering (left-hand edge of report) is not in absolute numerical order, this is
usually an indication of related couples in the family.
Page 8
3. Ahnentafel Chart
An Ahnentafel Chart for the currently displayed person, reports on the ancestors of that person.
Partial Example -
SPECIAL NOTE: "Sex-less" and “intersex” people (and their ancestors) will not be included in the
chart.
The example above shows the “concise style” of the Ahnentafel Chart.
If preferred, there is also a “narrative style” available (which also optionally includes source
references), similar to the Progeny Chart example shown above.
The starting person is given the number 1. Their father is 2, and their mother is 3. Number 2's
father is 4 and his mother is 5. Number 3's father is 6 and her mother is 7.
To generalize: Double any person's number to get their father's number. Double any person's
number and add one to get their mother's number. Note that (after the first generation), all the
males have even numbers, and all the females have odd numbers. Ahnentafel numbers need not
be consecutive - if an ancestor is unknown, their number is simply omitted from the list.
Each generation is indicated by a Roman numeral. For example, 'IV' indicates that the following
people are the fourth generation 'higher' than the starting person.
Page 9
4. Pedigree Chart
A “box-style” Pedigree Chart can be generated in two forms -
1. Single Page. This will generate a single page Pedigree Chart for the “base” (currently
displayed) person.
2. Full Ancestry. This will generate as many charts (pages) as are necessary to display the
full ancestry (all ancestors) of the “base” (currently displayed) person. Each chart will be
labelled with the name of the “base” person for that particular chart.
Any partners of the “base” person are displayed immediately below their chart entry (lower-left
arrow in the example above).
If any top-level ancestor has further (higher) ancestors, this is indicated by a “[More ancestors...]”
comment (upper-right arrow in the example above). Refer to the Pedigree Chart for that ancestor
for their subsequent generations.
5. Custom Report
If the program doesn't have a report you want, you can create your own Custom Report with the
information, people and families that you want.
When selected from the “Reports” menu, the following dialog will be displayed -
Page 10
The left-hand half of the dialog lists all the data fields that can be incorporated in a report.
1. Check the appropriate Report Type. CAUTION: Any change to this selection will reset any
previously entered report columns and Report Title to their default values. The Report Type
has a red caption (and a pop-up hint) to indicate this caution.
2. Check the appropriate Report Layout. CAUTION: Changing this selection from
"Landscape" to "Portrait" may reduce the number of columns previously selected
("landscape" reports allow more columns than "portrait" reports). The Report Layout has a
red caption (and a pop-up hint) to indicate this caution.
4. Select report data fields/columns, adding them to the right-hand list of report columns
(with the caption "Report columns / headers / sorting")...
• Select a data field in one of the selection lists on the left-hand side of the dialog.
• Either double-click the item, or click on the ">" button, to add the selected item to
the list of report columns.
Page 11
• To remove ALL report columns from the right-hand list, click on the "<<" button.
5. Once the required data fields have been added to the right-hand list of report columns (with
the caption "Report columns / headers / sorting"), those entries can then be adjusted...
• Re-select any item in the list to edit it's description label. For example, re-select
"Person ID" and change it to "PID". Each of these description labels will be used as
column headers in the report.
• Select and drag any item within the list to re-arrange their order.
• Check the box next to any item to make that item the "sort key" for the report. For
example, if you check a "Full Name" item, then the report will be sorted by each
person's "Full Name". See also the notes below.
6. Once a report layout and content has been defined, it can optionally be saved for future
use. Click on the "Save As..." button in the Custom Report Definition section. In the
name dialog that appears, enter a name for the report. That report definition can then
simply be chosen from the drop-down box at any later time.
If you "muck up" the currently selected report's definition settings, use the "Revert" button
to revert to the previously saved settings.
Page 12
9. To generate the report, click on the "OK" button (which will ask for the location to save the
generated report file). See also the notes below.
NOTES:
1. To report on any user-defined fact-types, select "User defined" from the "Facts" selection
list on the left-hand side of the dialog. Any fact type (e.g. "Hobby") is reported in the fact's
"Detail" field.
2. As generated, all columns are of equal width. Use your word processor to adjust column
widths and make any cosmetic changes to the report before printing.
3. When there are multiple items in a single cell (e.g. a person may have had multiple
"occupations"), and that column is used for sorting, the last of the multiple entries will be
used as the sort "key".
4. If a "dual ages" column (e.g. both ages of a couple at marriage) is selected for sorting, the
sort "key" will be the average of the two ages.
6. Audit Report
This report shows the results of numerous checks of the database for errors and inconsistencies.
When selected from the “Reports” menu, the following options dialog will be displayed -
Page 13
Use this dialog to set the thresholds for various checks -
Area Description
5 Age at death: Set the maximum expected age at death of any person.
Late event: Set the maximum number of years between birth and baptism
or christening, or between death and burial or cremation.
7 Reset to last saved: Reset options to the values last saved (when the
program exits).
Reset to default: Reset options to their default values.
Page 14
Amongst the checks performed are -
Person checks
• Unknown gender or intersex
• Person is unnamed
• Person's name is non-alphabetic
• Person's preferred name is a non-birth name
• Person's name is uncertain
• Person's name contains a descriptive word such as “child” or “wife”
• Spelling of surnames is possibly inconsistent
• More than one birth, baptism, christening, death, burial or cremation for person
• Both baptised and christened
• Baptised or christened before birth
• Died, buried or cremated before birth, baptism or christening
• Both buried and cremated
• Buried or cremated before death
• Any non-life event (such as education, occupation, military service, etc) before birth,
baptism or christening
• Any non-life event after death, burial or cremation
• Late baptism, christening, burial or cremation ("late" period is user-defined)
• Suspicious age at death (older than user-defined maximum)
• Exceeds a user-defined maximum number of marriages/unions
• Has more than a user-defined number (by person's sex) of children
Child checks
• Child's birth or death date is inconsistent with parents' birth and death dates
• Child relationship with either parent is unknown
• Child does not inherit father's name
• Child born before marriage of parents
• Mother/father were too young/old at birth of the child (user-defined parent
ages)
Family checks
• None or only one partner in family
• Partner born after other partner's death date, or partner died before other partner's
birth date
• Same-sex relationship
• Partners have same surname
• Prime and Partner ages at marriage (user-defined by sex)
• Difference in age between Prime and Partner (user-defined)
• Divorced before marriage
• Family event (such as divorce, engagement, marriage, etc) before birth of either
partner
• Family event after death of either partner
• Age difference between youngest and oldest child in a family (user-defined age
span)
• Years between a couple's marriage/union and the birth of their first child (period is
user-defined)
• Children with birth dates less than 10 months apart (will identify twins, etc)
• The Prime and Partner occur together in more than one family (duplicate families)
Other checks
• Missing personal/family attachments
• Use of non-Gregorian date calendars
• Unused notes
• Unused sources
• Unused repositories
Page 15
• No researcher name
• Database is unnamed
NOTE: The potential issues identified are not necessarily incorrect, but are simply flagged as "suspect" and should be
double-checked.
Footnote: Don't forget the other Research Reports for additional information.
Page 16
7. Duplicates Report
Use the Duplicates Report to identify possible duplicates within the database.
When selected from the Reports menu, the following options dialog will be displayed -
Use this dialog to set the thresholds and behaviours for comparison checks -
Area Description
3 Birth Date Matching: When checked, the "Birth" box will turn green
indicating that it applies to matches.
4 Death Date Matching: When checked, the "Death" box will turn green
indicating that it applies to matches.
Page 17
Area Description
NOTE: ALL options selected must match for people to be considered possible duplicates.
When the options are accepted, by pressing the "OK" button, a filename for the report will be
requested, and the actual report generated.
NOTE: ± before a date indicates a “substituted” date. A burial or cremation date has been substituted for a missing death date.
Footnote: Don't forget the other Research Reports for additional information.
This option, selected from the "Limit" area in the dialog illustrated above, can help with merging
data from other sources.
1. When data from a GEDCOM file is appended to an existing database, all records are
assigned new numbers beginning with the largest number currently existing in the
database. For example, if the last person in the database has a PID = 485, then the first
appended person will receive the PID 486.
2. Prior to appending new GEDCOM data, note down the last used PID in the database (use
the "Last Person" button to navigate to their record). In this example, this would be 485.
3. Append the new GEDCOM data.
4. Check if any duplicate people were introduced by generating a Duplicates List report (as
described above), with these options...
• In the "Limit" area of the options dialog, make sure that the "Parent surname" option
is selected.
• In the "Limit" area of the options dialog, enter the last used PID (e.g. 485) in the
"PID > (greater than)" box. Also make sure that the checkbox is ticked.
5. Generate the Duplicates List report.
Page 18
6. Merge the data from any duplicate records identified (see “Merging People” - page 64).
Identifying duplicate records can be a difficult task for humans, let alone a computer program.
ScionPC does its best to identify as many duplicates as possible without also returning too many
“false positives”. To do this, the following tests and constraints are used -
1. Possible duplicates are grouped together (indicated by report shading), with the “reference
person” as the first person within any group.
2. It is possible for a person to appear in two or more groups. For example, consider the three
people -
• SMITHSON, Alfred Brian
• SMITHSON, Brian Charles
• SMITHSON, Charles David
and
• SMITHSON, Brian Charles
• SMITHSON, Charles David (“Charles” matches both names)
8. Printing Reports
All reports are saved to file in RTF (Rich Text Format). These report files can be opened by most
word processor programs.
Within the word processor, make any desired cosmetic changes (maybe pictures need to be
added, repositioned, etc), and then use the word processor's print command to print the reports.
NOTE: Reports are optimised for use with the open source OpenOffice software suite. Some early
versions of Microsoft Word (and some other word processors) do not understand the embedded
pictures, so these will need to be added by hand. See Word Processor Compatibility on page 22.
OpenOffice (and modern versions of Microsoft Word) both support the Portable Document Format
(PDF). This widely used format is a good choice for saving and distributing reports to others.
Page 19
CAUTION: PDF documents cannot (in general) be re-edited once they are saved, so retain the
original “word processor” version of any documents.
9. Auto-Viewing Reports
You can configure ScionPC to automatically view any report generated in a report viewer or word
processor of your choice.
Once configured, reports will be automatically displayed immediately after they are generated.
Selecting "Preferences/Report Viewer” from the Options menu will display the following -
By default, the RTF viewer will be set to the program that Windows has "associated" with RTF
files. That is, the program that would open when you double-click on an RTF file. This is usually
WordPad.
However, WordPad has only limited support for RTF and displays tables and colours badly. You
would usually want to view reports in a word processor such as OpenOffice or MS Word.
To choose your word processor as the report viewer, click on the "Browse..." button and navigate
to the location of your word processor. Select the application, and then "Open", from the file dialog
displayed. Alternatively, you can “drag-n-drop” the application's icon onto the dialog. The selected
application will be shown in the "Report viewer or word processor" box.
C:\Program Files\OpenOffice...\program\soffice.exe
By default, reports are NOT automatically opened for viewing. Check the "Automatically view
reports after generation" option to have reports automatically viewed whenever they are
generated.
Click "OK" to use your selections, or "Cancel" to exit without making any changes.
At any time, you can revert to the program's defaults by clicking on the "Default" button.
Page 20
10. Word Processor Name Indexing
When generating a complete set of reports in the form of a "book", it is useful to provide a "master
index" (by page number) of all the names. Note that only Personal Summary, Family Group Sheet,
Progeny and Ahnentafel reports can have names marked for word processor indexing.
Because changes to report layout may be made before printing (maybe the paper size has been
changed, multiple reports combined, and additional pictures added), the generation of this "master
index" is best done in the word processor being used.
1. Using ScionPC's "Report Setup" dialog, check the "Create word processor index entries"
option.
2. Create your reports generating, for example, all Personal Summaries and all Family Group
Sheets.
3. Load the report into the word processor (perhaps combining multiple reports).
4. Customise the report as desired.
5. Insert the Name Index...
• Microsoft Word: Position to where you would like to insert the "master index" and
select "Index and Tables" from Word's "Insert" menu (or select "Insert Index" from
the "References" tab on the “ribbon” menu.)
• OpenOffice v2 (or later): Position to where you would like to insert the "master
index" and select "Index and Tables/Index and Tables..." from OpenOffice's "Insert"
menu. Select the "Alphabetical Index" index type.
6. Adjust the indexing options to select the number of columns, style, etc.
7. Click "OK" to generate the "master index".
8. Print the indexed report.
SPECIAL NOTE: MS Word may "inherit" some of the styles from the various names being
indexed, resulting in a mix of appearances in the generated "master index". Use Word's formatting
features to set a consistent index style.
A FINAL NOTE: Index generation is a "black art" with every word processor offering different
levels of support. One side-effect of limited support is that names may double-up in the body of
the report (eg "SMITH, JohnSMITH, John"). If this occurs, un-check the "Create word
processor index entries" option - indexing will not be supported by the word processor being used.
1. When using templates, you would probably want to omit the database name sub-title from
the ScionPC generated report. To do this, simply check the "Omit sub-titles from reports"
option in the Report Setup dialog.
2. Before inserting a report into your template, adjust the template layout in the word
processor to match ScionPC's page definitions -
These can be changed after the report is inserted into the template.
Page 21
3. To insert a ScionPC report into your word processor, follow these steps -
• OpenOffice Writer: Open your template file and position the cursor to where you
would like to insert the report. Select "Insert/File..." from the menu and select the
RTF report file.
• Microsoft Word: Open your template file and position the cursor to where you would
like to insert the report. Depending on the version of Word, either select "Insert/Text
from file..." from the menu or, from the "ribbon", on the Insert tab, in the Text group,
click the arrow next to Object, and then click Text from File. In the Insert File dialog
box displayed, locate the RTF report file that you want, and then double-click it.
• Other word processors: Consult their online help for information on inserting files.
For example, text insertion is NOT supported by WordPad.
4. Depending on the default paragraph spacing in the template, after inserting the RTF file, it
is possible that the line-spacing of the inserted text is incorrect. If you have this problem,
select all the inserted text, and adjust the paragraph formatting as follows -
5. All (?) word processors ignore any page footers generated in ScionPC reports.
6. Some word processors (for example, AbiWord) do not "understand" ScionPC's report
pictures. Pictures will need to be added "by hand". Modern versions of Microsoft Word and
OpenOffice Writer fully support report pictures.
7. Finally, good luck! All word processors have their individual quirks, and support RTF to
different degrees.
1
Untested in earlier versions (only pictures may be a problem)
2
Mainly impacts on readability of right-justified dates
3
Page numbering and footer support is suspect in later versions
4
Some problems in Personal Summaries and Family Group Sheets
Page 22
Web Pages
The various web pages supported by ScionPC are accessible under the “File” menu.
SPECIAL NOTE: To exclude private information from web pages, use the “Strip Private Data...”
item under the “Edit” menu.
A good place to start navigation of your "web-site" would be with the file "surname.htm" which,
when loaded into your web browser, will look something like -
Surname Index
A B C D E F
ATKINSON BABCOCK CAMPION DANKS EGINTON FINCH
BAILEY CARRINGTON DAVIDSON ELLIOTT FRASER
BANISTER CASTLE DIEPENHEIM ESPLIN
BARTON CHISHOLM DUNCAN
BARWELL CLARK
BATHURST CONNELL
G H I J K L
GATES HALWELL IRWIN JACOBS KILLICK LAWRENCE
GIBSON HASLETTE JARVIS KITSON LAWTON
GREEN HENDERSON JOHNSTON KNIGHT LONG
HOBSON LOWE
M N O P Q R
MACHAR NEWMAN O'TOOLE PADDINGTON RAMAGE
MADDOX NICHOLES OVEREND PEAK RANDOLF
MAT NICOL PLYMPTON RAYMOND
McMILLAN NORRIE POWELL READ
MEADE PURVES ROBBINS
S T U V W XYZ
SEARLE THOMPSON UNKNOWN WATSON
SHIELDS TOERING UREN WILLIAMS
SMITH TRAILL WILSON
SMITHSON WRIGHT
NOTE: This example is using the default page format. You would usually use a custom format to
add your own page decoration, colour scheme, navigation buttons, etc.
Page 23
Later you might want to start your "web-site" navigation from a personalised "home page". You
can use the supplied sample “home page” as the basis for your own "home" page.
1. Use the "Page Style Options" section in the top-left of the dialog to set -
• The preferred font
• Whether or not to generate a Cascading Style Sheet (CSS)
The font and colour options are stored in the Cascading Style Sheet (CSS) named "scion.css".
The Cascading Style Sheet (CSS) is always named "scion.css" and is stored in the output
location (see below). SPECIAL NOTE: As the generated web pages rely heavily on the style
sheet for best display, you should generate the default style sheet at least once.
2. Use the "Output Location" section in the centre-left of the dialog to set the location where the
web pages will be written. All files are written to the same directory. If "drop-shadows" are
requested for pictures, small "shadow" image files will be written into a sub-directory (of the
output directory) named "gfx".
3. Use the "Web Page File Extension" section in the lower-left of the dialog to set the file
extension for all web pages. The default extension of ".htm" will be used on most web sites.
However, some (primarily Unix-based) web sites may insist on an ".html" extension.
4. Use the web page setup areas in the right-hand side of the dialog to set the HTML code (page
templates) to use for the various web pages. Web pages can either be generated using in-built
page templates, or user-defined page templates.
If you are unfamiliar with the creation of HTML web pages, use the in-built page templates by
checking all the "Use in-built template" checkboxes on all "template" tabs.
Page 24
To generate pages with styles conforming to a user's preferences, uncheck the appropriate
"Use in-built template" checkboxes and specify user-defined template files as described below.
Refer to Section 4 - “Web Page Customisation” and Appendix D - “Web Template Variables” to
see how to incorporate family data into custom web page templates.
NOTE: In the examples referenced below, custom web page templates were used. In-built web
page templates are similar, but exclude the "decoration" at the top and bottom of the pages.
This option is used to set the web page template to use for Personal Pages. See Section 3.4 for
an example page.
The colours are stored in the Cascading Style Sheet (CSS) named "scion.css" (see Section 2
above). To change the colours, the “Generate Cascading Style Sheet (CSS)” checkbox in the
"Page Style Options" section in the top-left of the dialog must be checked.
Page 25
2.2 Names Templates
This option is used to set the web page templates to use for the main Surname Index Page, the
individual by-Letter Index Pages, and the optional List of People. See Section 3.1 for example
pages.
To generate a List of People page, check the "Make List of People" checkbox. CAUTION: With
large databases with many people, the List of People page may become excessively large.
The original GENDEX search engine indexed online databases of genealogical information.
Developed by Eugene W. Stark, the site went offline years ago. However, in 2013, GENDEX
was re-launched by a new owner and the sightly different name of GenDexNetwork.
Quote - "GenDexNetwork.org is specifically for genealogists who want to publish their family trees by
themselves and who don't wish to give their data to a third party. It only indexes the GENDEX file [generated
when you check this option] that remains on your own website. Each name in the search results is linked directly
to the family tree page of your website for this person."
This option is used to set the web page templates to use for the main Evidence Index Page and
the individual Note Pages and Source Pages. See Section 3.2 for an example Index and a Notes
page.
Page 26
2.4 Albums Templates
This option is used to set the web page templates to use for the main Albums Index Page and the
individual Personal Album Pages and Family Album Pages. See Section 3.3 for an example Index
and a Personal Album page.
SPECIAL NOTE: When first generated, an album page is essentially a "place-holder" containing
the single image "tagged" on the "Attachments" tab of the personal/family page. This allows the
user to add additional pictures and other material to a Personal or Family Album.
If a Personal or Family Album page already exists, it will never be overwritten (to preserve any
user-added content). To regenerate any album page, the original page must first be deleted.
The generation of the album index works by looking for pre-existing album files, and then locating
the appropriate people or families in the database. It does NOT check whether any person or
family has a tagged graphical attachment. Therefore, all albums need to be created (by generating
all Personal Pages) before generating an Album Index.
This option is used to set the web page template to use for the Statistics Page. The generated
web-page is essentially identical to the Statistics Report.
The colours are stored in the Cascading Style Sheet (CSS) named "scion.css" (see Section 2
above). To change the colours, the “Generate Cascading Style Sheet (CSS)” checkbox in the
"Page Style Options" section in the top-left of the dialog must be checked.
Page 27
3. Web Page Types
All web pages can either use the in-built default format, or custom designed formats. In the
examples that follow, custom formats were used. In-built pages are similar, but exclude the
"decoration" at the top and bottom of the pages.
Page 28
Here is a portion of an example custom Letter Index Page -
Page 29
3.2 Evidence Index
Here is an example custom Note Page. This is generated when appropriate by Personal Page
generation (see below).
Page 30
3.3 Albums Index
Here is a portion of an example custom Albums Index. Individual Personal and Family Album
Pages are generated when appropriate by Personal Page generation (see below).
Here is an example custom Personal Album. ("Family Albums" are similar to "Personal Albums")
SPECIAL NOTE: If a Personal or Family Album page already exists, it will never be overwritten.
This allows the user to add additional pictures and other material to a Personal or Family Album.
To regenerate any album page, the original page must first be deleted.
Page 31
3.4 Personal Pages
Personal pages (and associated notes, sources, and picture albums) for the current person,
specified people, or all people.
Here is an example custom Personal Page (showing Web Template Variable usage)...
<!--@FULLNAME@-->
<!--@LNK_PERPIXSH@-->
<!--@PERDATA@-->
Page 32
<!--@IMMEDFAM@-->
<!--@ANC@-->
<!--@DESC@-->
Page 33
3.5 Statistics Page
A page detailing database statistics. Included are - age at death, child deaths, age at death bar
chart, partner's age at marriage, parent's age at birth of children, sex of children, fertility, and
number of occurrences of given names and surnames. Here is a partial example -
Page 34
4. Web Page Customisation
As illustrated by the examples above, all web pages can be customised. To achieve this, ScionPC
supports “web templates”. These templates are specially-coded HTML pages that are processed
by ScionPC to produce web pages conforming to a user style.
For example, the template page for custom Personal Pages may look like this -
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head>
<link rel="stylesheet" href="scion.css" type=text/css title="ScionPC Style">
<!--@METADB@-->
<!--@METAKEYS@-->
<!--@METAPROG@-->
<!--@METAAUTHOR@-->
<!--@METACOPY@-->
<title><!--@FULLNAME@--> Data Sheet</title></head>
<body>
<center><H2><!--@FULLNAME@--></H2></center>
<center><!--@LNK_PERPIXSH@--></center><p>
<div class="pp_banner">Personal Details</div>
<!--@PERDATA@--><p>
<div class="pp_banner">Immediate Family</div>
<!--@IMMEDFAM@-->
<div class="pp_banner">Ancestors</div>
<!--@ANC@-->
<div class="pp_banner">Descendants</div>
<!--@DESC@-->
<p><hr>
<!--@NAVBAR@-->
<hr>
<p><span class="gen_date">Page updated: <!--@GENDATE_L@--></span>
</body></html>
This is actually the code for the Default Personal Page (subject to change).
The variables of the form <!--@VARIABLE@--> are replaced by the appropriate HTML code
when ScionPC generates the page. After the code substitution, the generated web page HTML
code will look something like (HTML code in red omitted for clarity) -
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head>
<link rel="stylesheet" href="scion.css" type=text/css title="ScionPC Style">
<META NAME="DESCRIPTION" CONTENT="Smithson Family History">
<META NAME="KEYWORDS" CONTENT="family,family tree,family
history,genealogy,smithson,donald,burton,anderson,maguire,raves,wiley,hill">
<META NAME="GENERATOR" CONTENT="ScionPC Genealogical Management System © 1993-2010
by R J Akins, Wellington, NZ">
<META NAME="AUTHOR" CONTENT="Peter Joshua Smithson">
<META NAME="COPYRIGHT" CONTENT="Copyright ©2007 by Peter Smithson, Timaru, NZ.">
<title>SMITHSON, Duncan Gordon Data Sheet</title></head>
<body>
<center><H2>SMITHSON, Duncan Gordon</H2></center>
<center>HTML code for picture with drop-shadow</center><p>
<div class="pp_banner">Personal Details</div>
HTML code for Personal Details section<p>
<div class="pp_banner">Immediate Family</div>
HTML code for Immediate Family section
<div class="pp_banner">Ancestors</div>
HTML code for Ancestors section
<div class="pp_banner">Descendants</div>
HTML code for Descendants section
<p><hr>
HTML code for navigation bar
<hr>
<p><span class="gen_date">Page updated: 23 April 2012</span>
</body></html>
For a complete list and explanation of the ScionPC Web Template variables, refer to Appendix D.
Page 35
SPECIAL NOTE: Don't forget to include the reference to the “scion.css” Cascading Style Sheet,
else pages will not contain the designed page “decoration” and will be more difficult to interpret.
The “<div class="pp_banner">SOME TEXT</div>” style used above simply displays the
text as bold and surrounded by a full-page-width black border similar to -
SOME TEXT
The Personal Page shown on page 32 is virtually identical to that generated using the in-built
Personal Page template (except for the page decoration at the top/bottom of the page).
Study the styles by opening the default Cascading Style Sheet “scion.css” generated by ScionPC
in any text editor. All elements are well documented and can be studied for a better understanding
of the styles used. Level 1 CSS is used throughout. Level 2 or 3 CSS would have reduced some of
the complexity of the styles, but these levels are not well supported by all web browsers.
It would be worth-while generating a few pages using the in-built page templates and studing them
for examples of style usage.
SPECIAL NOTE - applies only to those who created their web pages with a version of ScionPC
prior to v.7.4. The generation of the statistics page (only) changed with ScionPC version 7.4. If the
bars in the age-at-death bar-chart display incorrectly, then -
2. Otherwise, if you have created your own Cascading Style Sheet then you will need to edit
the following entries by changing the '#' (hash) characters to '.' (period) characters -
table#statsTable …
table#chartTable …
table#barTable …
3. After either of these steps, recreate the statistics page to use the revised styles. The age-
at-death bar-chart should now display correctly.
Page 36
6. Filenames and Structure
The files created during web page generation are as follows -
Filename(s) Purpose
P1.htm, P2.htm ... Px.htm Personal pages (where 'x' is each person's Personal ID)
surname.htm Surname index page
Aind.htm, Bind.htm ... Zind.htm By-letter surname index pages
people.htm List of People page
gendex.txt GENDEX text file
evidence.htm Evidence (note/source) index page
N1.htm, N2.htm ... Nx.htm Individual note pages (where 'x' is each note's ID)
S1.htm, S2.htm ... Sx.htm Individual source pages (where 'x' is each source's ID)
albums.htm Personal/family albums index page
P1A.htm, P2A.htm ... PxA.htm Personal album pages (where 'x' is each person's Personal ID)
F1A.htm, F2A.htm ... FxA.htm Family album pages (where 'x' is each family's Family ID)
statistics.htm Statistics page
scion.css Cascading style sheet
gfx/ Folder holding optional drop-shadow imagery
All files are written to the specified Output Location (see Web Page Setup above).
You can create a CD containing your complete family history “web-site” for sharing with relatives
and friends. The recipient of the disk doesn't need an Internet connection - they just insert the disk
into their computer's CD drive and your data can be automatically displayed. The user can then
browse through your family history with simple clicks of the mouse.
Autorun disks open the web pages on the CD automatically when the CD is inserted in the drive.
By default Microsoft Windows is set with this auto-run functionality enabled. If it's disabled, check
Microsoft's Knowledge Base for information on how to enable it (go to www.Microsoft.com and
search for "autorun").
1. Create a folder on your hard drive to hold all the family history web pages that will be
created by ScionPC. For this example we will name the folder "CD_Files\MyFamily"
2. Set the "Output Location" in ScionPC's "Web Page Setup" dialog to this just-created folder
(in this example, the folder "CD_Files\MyFamily"). Make sure you also generate the
Cascading Style Sheet that is required for optimal page display.
3. Use ScionPC (with your family history database loaded) to generate all the web pages.
That is, generate all Personal Pages and the Names, Evidence and Album Indices.
Page 37
4. Copy your "home" page to the "CD_Files\MyFamily" folder containing your ScionPC-
generated web pages. You can use the supplied bonus file "sample_home_page.htm" as
the basis for your own "home" page.
5. For a CD to auto-run it must have a file named "autorun.inf" in its root directory. To create
this "autorun.inf" file, open Notepad or another plain text editor, enter the following two lines
(copy-and-paste them from this page to prevent possible "typos"), and then save the file as
"autorun.inf" in your "CD_Files" folder. Make sure the lines are left justified and start at the
very top of the document with no blank lines.
[autorun]
open=rundll32.exe url.dll,FileProtocolHandler MyFamily\index.htm
Of course, your folder will be different so instead of "MyFamily" put in your folder name.
Also, replace "index.htm" with the actual name of the "home" page for your CD. For
example, if your actual "home" page is named "MyHomePage.htm", then the above lines
would read -
[autorun]
open=rundll32.exe url.dll,FileProtocolHandler MyFamily\MyHomePage.htm
Double check after you save the file to make sure Notepad didn't add on a ".txt" extension.
If it did, right click on the file name, select "Rename" and delete the .txt portion or the file
won't run. The file MUST be named simply "autorun.inf"
This is all you need to burn your auto-run family history CD or DVD.
Page 38
7. Now burn the following contents of your "CD_Files" folder to your CD -
• the entire "MyFamily" folder (or whatever you called it) of web pages
• autorun.inf file
NOTE: Burn the CONTENTS of the "CD_Files" folder, NOT the folder itself.
Your auto-run family history CD is now complete.
8. You can now test the CD you have just burned.
Open the CD drive drawer and then close it again with the CD still there. Wait a few
seconds for the CD to auto-run. Your default browser should start up, displaying your
"home" page.
9. Label the CD and distribute the fruits of all your labours.
Page 39
Sharing Data With Other Programs
Data can be shared between ScionPC and other genealogy software using GEDCOM1.
GEDCOM was developed by the Family History Dept of the Church of Latter Day Saints (LDS).
ScionPC supports GEDCOM Version 5.5 (and some version 5.5.1 extensions) for both data import
and data export.
To produce a GEDCOM file containing information from your database, so that data can be used
in another genealogy program, follow these steps -
i. Start ScionPC and load your database into ScionPC (using “File/Open...”).
ii. Select “GEDCOM/Export All...” from the “File” menu.
iii.When prompted, select a filename and location to which to save the GEDCOM file.
iv. When “Save” is clicked, the GEDCOM file will be generated and saved.
v. If there were any errors generated during the GEDCOM export, you will be alerted to the
errors and asked if you wish to view the error logging file.
vi. Use the other program's GEDCOM import facility to import the GEDCOM file just
generated.
i. Start ScionPC and load your database into ScionPC (using “File/Open...”).
ii. Select “GEDCOM/Export Selected...” from the “File” menu. This will display a dialog where
you can select which records to export -
Use the "Select..." button to choose the people you want to export, and select the other
options to refine or expand your selection...
Page 40
● Select the top item to export only the selected people, plus their partners and
children.
● Select the second item to export only the selected people plus...
• a selected number of ancestors (parents, grandparents, etc)
• a selected number of descendants (children, grandchildren, etc)
● Select the bottom item to include notes, sources and repositories in the export.
iii. Click the “Export” button, then select a filename and location to which to save the
GEDCOM file.
iv. When “Save” is clicked, the GEDCOM file will be generated and saved.
v. If there were any errors generated during the GEDCOM export, you will be alerted to the
errors and asked if you wish to view the error logging file.
vi. Use the other program's GEDCOM import facility to import the GEDCOM file just
generated.
Tip: To export only the selected people (no families or relatives), select "Export selected
people only", and ensure the ancestor and descendant options are NOT checked.
If there are any errors reported during the export of a GEDCOM file, a report similar to the
following example will be generated -
This file reports on the information that could not be exported to GEDCOM from
ScionPC.
Unsupported for the Occupation fact for DONALD, Paul [Person ID 97]
...End of date range had ABT modifier suppressed
In this example, one item of information could not be exported to the GEDCOM file. In GEDCOM,
date ranges with "in-exact" dates are not supported. Therefore, the end-of-date-range for the
Occupation of Paul DONALD (person 97), had the ABT (about/circa) date qualifier omitted from
the GEDCOM file.
The most-recent export error report can be re-opened at any time by selecting the "File/Last
Export Report" menu item.
ScionPC introduces the following custom (and new) GEDCOM “tags” on export -
_EVENTDETAIL The GEDCOM standard does not support “details” with events (only places).
Therefore, it is not possible to record information such as “Event: Cremation.
Place: Harewood Crematorium, Johns Road, Christchurch, NZ, Detail: Ashes
buried at Park Cemetery, Wanganui, NZ - next to late wife. To allow the
“detail” part to be recorded as part of an event, ScionPC has extended
GEDCOM “event” tags to include an additional “_EVENTDETAIL” sub-tag.
Other programs use other techniques to address this inadequacy. Standard
GEDCOM “attribute” tags are not effected as these do support “details” (but not
place).
_NAMETYPE The GEDCOM standard does not support “types” of names. To provide this
support ScionPC has introduced an additional “_NAMETYPE” sub-tag of the
NAME tag. Other programs use other techniques to address this inadequacy.
The possible values are the strings -
Chosen | Adopted | Spouse | Traditional | Religious | Other | Unknown
In the absence of this custom tag, a name type of “Birth” is assumed (the
Page 41
default value).
_CAUD “Cause of Death”. This is often recorded as part of a death event, but is treated
by ScionPC as a separate attribute.
_CELE “Celebrant” - Officiating priest or official (typically at a marriage)
_ELEC “Election” – An event when a person was elected to political or other office.
_HONR “Honour” - The official conferring of an award or distinction for bravery, service
or achievement such as “Order of the British Empire” (O.B.E.). Not to be
confused with TITL (see below) which is a name title (such as “Sir”) which not
all honours generate.
_MILT “Military Service” - A period of military service. This is a common “custom” tag
and is used by many programs.
_SEPN “Separation” - An event of partial divorce without dissolution of marriage tie.
_SEXC “Sex Change” - An event where a person's gender was changed or re-assigned.
_UNIO “Union” - An event of creating a union between two people to form a couple in a
committed relationship. Includes 'de facto' and single-sex relationships.
_WITN “Witness” - Person attesting genuineness of signatures to a document (typically
a marriage certificate)
EMAIL This SUBM (Submitter) sub-tag was introduced in GEDCOM 5.5.1 and is
supported by ScionPC. It records any submitter's email address(es).
TITL “Title” - The acquired or inherited rank, office, honour, distinction, occupation or
attainment of a person (such as "Doctor", "Sir", "Justice", "Colonel", etc).
Because ScionPC allows the recording of these name-titles, the obsolete TITL
tag has been re-instated, but is only supported for the first of multiple names.
See also _HONR.
WWW This SUBM (Submitter) sub-tag was introduced in GEDCOM 5.5.1 and is
supported by ScionPC. It records any submitter's URL(s).
ScionPC also extends the personal INDI / PEDI (Pedigree) tag values. GEDCOM defines the
values 'adopted', 'birth', 'foster' and 'sealing'. This has been extended to add 'step', 'other' and
'unknown'.
Because GEDCOM does not allow for same-sex relationships, for “export” purposes, ScionPC
interprets “Prime” as FAM / HUSB and “Partner” as FAM / WIFE. ScionPC makes every
endeavour to keep sexes correct, and will automatically interchange the Prime and Partner on
export if this makes the Prime the male and the Partner the female.
For full details on ScionPC's GEDCOM support, refer to Appendices C1, C2 and C3.
To import all the information in another program's database, follow these steps -
Page 42
Tips for exporting from other programs: When exporting a GEDCOM file from another
program (usually accessible from its "File" menu), make sure that any available options are
set to -
If there are any errors reported during the import of a GEDCOM file, a report similar to the
following example will be generated -
This file reports on the GEDCOM lines that could not be imported into ScionPC.
When a particular line in the GEDCOM file is discarded, its "subordinate" lines
are also NOT imported. For example, if a line containing an "OBJE" tag is
discarded then the possible subordinate lines "FORM", "TITL", "FILE", etc are
also discarded.
EXAMPLE REPORT:
You can examine the original GEDCOM file (using any text editor such as
"NotePad") to determine the context of the information that has been discarded.
In this example, the SPFX (Surname Prefix) tag is not supported in ScionPC, and its value of "de"
has been discarded. The discarded prefix will need to be added to the Surname of this person in
ScionPC by the user.
The most-recent import error report can be re-opened at any time by selecting the "File/Last
Import Report" menu item.
SPECIAL NOTE: After importing a GEDCOM file, check in the Notes and Sources lists for any
unused Notes or Sources. If any exist, they may have been omitted multiple notes/sources of a
particular GEDCOM record. ScionPC only supports one note or source per item. Open the
GEDCOM file in a text editor (such as "Notepad") and locate the "unused" notes and sources. Any
data contained in these "unused" notes and sources will need to be added to the ScionPC
database by hand.
Page 43
ScionPC supports its custom GEDCOM “tags” such as “_UNIO”, etc (see section 1.1 above).
ScionPC also imports the additional personal INDI / PEDI (Pedigree) tag values. GEDCOM
defines the values 'adopted', 'birth', 'foster' and 'sealing'. This has been extended to add 'step',
'other' and 'unknown'.
For “import” purposes, ScionPC interprets FAM / HUSB as “Prime” and FAM / WIFE as “Partner”.
Remember the roles of Prime and Partner can be simply interchanged.
● Because of the perceived inadequacy of the GEDCOM standard to handle every situation,
many programs (including ScionPC) implement "custom" GEDCOM tags. ScionPC handles
these "custom" tags as follows -
1. ScionPC can handle GEDCOM custom personal and family event tags with a leading '_'
character (such as "_EYEC"). When one of these custom tags is encountered, its
ScionPC "Fact Type" is forced to "User Defined" and the "User Type" is set to the actual
tag (for example "_EYEC"). To quickly identify all the custom facts added, use the Find
tool, and simply text-search for '_' in the facts (only). Any custom facts with leading '_'
characters will be displayed.
Use ScionPC's global search and replace tool to change the fact's "User Type" to a more
descriptive name. For example, change "_EYEC" to "Eye Colour".
See “Lists of Some Custom 3rd Party Tags” in Appendix C3 for assistance in interpreting
custom GEDCOM tags.
2. "Family Tree Maker" uses the (obsolete) ALIA tag to record any name aliases. If ScionPC
encounters an ALIA tag in a GEDCOM file sourced from FTM it will treat the name as a
"chosen" name. After importing the GEDCOM file, to identify any records with "chosen"
names, display the List of Names, click on the "Type" column header to sort the names by
type, and then check that the "chosen" names are as intended.
● With many programs, it is possible to enter fact dates in an "unconventional" format. When
ScionPC encounters such a date in a GEDCOM file, if it cannot convert it into an actual date,
it will append the original date value to the fact's Detail field. For example -
Page 44
To identify any such dates, use ScionPC's Find tool to look for any facts containing the text
"Unsupported-format". NOTE: Unsupported or invalid dates associated with Notes or Sources
will always be reported as errors.
● Dual-year Annunciation style dates are converted to New Style dates on import. For example,
"2 Feb 1452/3" becomes "2 Feb 1453". An informational message (not an error) is written to
the import log file for each date converted. See "Further Complications" in the Regnal Dates
section on page 76 for more information on Annunciation style dates.
Use this option with caution - it will modify any currently loaded database.
This menu option is virtually identical to the “Import” option described above, but will append
people, families, notes, etc. from a GEDCOM file to any currently loaded database. You can use
this to add people and families from another source into your existing database.
This option does NOT find or merge any duplicate people or families. That must be done by hand.
The appended data is not manipulated in any way. See “Duplicates Report” (page 17) and
“Merging People” (page 64) for further information on merging appended GEDCOM data.
ID numbers in the appended GEDCOM file are ignored - new IDs will be assigned by ScionPC.
The intention of this option is to add short items of data (a handful of people and families) from
such sources as family history web-sites.
If you have extensive GEDCOM files that you wish to merge into a single database, then it would
be better to use a third-party utility such as "GenMerge" which is a stand-alone program that finds
and merges duplicates in GEDCOM files. That shareware utility can be downloaded from
"http://www.genmerge.com/". I've never used it, so cannot comment on its suitability.
This menu option will proceed in the same manner as the "Import" option described above,
including the generation of an error report if any errors occur. Consult that section for further
information. If there is no currently loaded database, this menu option will behave identically to the
"Import" menu item, except that all ID numbers will be renumbered consecutively from 1.
SPECIAL NOTE: After appending a GEDCOM file, check in the Notes and Sources lists for any
unused Notes or Sources. If any exist, they may have been omitted multiple notes/sources of a
particular GEDCOM record. ScionPC only supports one note or source per item. Open the
GEDCOM file in a text editor (such as "Notepad") and locate the "unused" notes and sources. Any
data contained in these "unused" notes and sources will need to be added to the ScionPC
database by hand.
1. An import log 'IMPORT_ERR.TXT' is written if there are any errors or messages to report.
2. An export log 'EXPORT_ERR.TXT' is written if there are any errors or messages to report.
3. ScionPC can export (and import) multiple names per person. On output, the first name
output is the person's preferred (or only) name. In import, the first name encountered is
assumed to be the person's preferred (or only) name. If a person's preferred (or only)
name has a Title, then that title is exported as the (now obsolete) Nobility tag 'TITL'.
Subsequent names cannot have a 'TITL' tag (because it's at the wrong level!). The name
Title is, however, imported/exported for each name using the 'NPFX' (Name Prefix) tag.
Page 45
4. All the NAME subordinate tags (except SPFX - Surname Prefix) are supported.
5. OBJE (multimedia object) tags support an additional SOUR (Source) subordinate tag. This
supports the Source ID for the program's Attachment records. This SOUR tag is NOT part of
the GEDCOM 5.5 specification.
6. GEDCOM does not support general details of Events (unlike Attributes). For example, the
following attribute is acceptable -
To support this construct (which is allowed in ScionPC), the custom tag '_EVENTDETAIL'
has been added to the Individual and Family Event structures. Therefore, the unsupported
GRAD event described above is replaced by -
2 GRAD
3 _EVENTDETAIL Bachelor of Engineering
7. Some specific custom and other tags are discarded silently on import. Any information
"lost" is trivial or irrelevant. For example, the '_ITALIC', '_PAREN' and '_UID' tags are
ignored, as is any CHAN.DATE assigned to personal records.
8. On import, only single notes are supported per fact (attribute or event). If multiple notes are
assigned to individual or family facts, then only the first note encountered is imported.
ScionPC only supports one note per fact, therefore exports only one note per fact.
9. The basic styles in notes and sources are implemented using HTML tags - <b>bold</b>,
<i>italic</i> and <u>underline</u>. These are retained in the GEDCOM output
10. GEDCOM does not support "qualified" dates in date ranges, therefore any dates exported
will be forced to "exact" type dates. A message for each date thus affected is written to the
export log file.
11. GEDCOM has only limited support for additional calendars. When a calendar supported by
ScionPC but NOT supported by GEDCOM is encountered, then the calendar is set to
"DUNKNOWN" for export. A message for each date thus affected is written to the export log.
12. GEDCOM does not support the following data for children -
On export, if there is a Source for the child's data, then a message for the child thus
affected is written to the export log file.
On export, if the Child's Parental Relationship is NOT the same for both parents then a
message for the child thus affected is written to the export log file.
13. GEDCOM does not support the following data for names -
Page 46
On export, if the Name's Surety is NOT "Primary" then a message for the name thus
affected is written to the export log file.
On export, if the Name's date is present then a message for the name thus affected is
written to the export log file.
On export, if the Name's Type is NOT "Birth" then a “_NAMETYPE” custom GEDCOM tag
is generated. This tag can take the (string) values -
Chosen|Adopted|Spouse|Traditional|Religious|Other|Unknown
In the absence of this custom tag, a name type of “Birth” is assumed (the default value).
14. GEDCOM does not support Surety of data for facts (attributes and events) -
On export, if the Fact's Surety is NOT "Primary" then a message for the fact thus affected
is written to the export log file.
15. GEDCOM does not provide full support for child/parent relationships.
On import, if the relationship to both parents is the same, then ScionPC does accept the
following construct -
INDI
FAMC
PEDI [adopted|birth|foster|sealing|step|other|unknown]
The last three values (step|other|unknown) are NOT part of the GEDCOM 5.5
specification but ARE supported by ScionPC. Note that this sets the child's relationship to
BOTH parents identically.
On export, the above construct is also used if the relationship to both parents is the same.
Note the three extra values (step|other|unknown).
16. On import and export, the program correctly handles the following adoption construct -
INDI
ADOP
FAMC
ADOP [husb | wife | both]
_EVENTDETAIL PROGRAM MESSAGE: Adopted into Family @@Fnn@@
17. GEDCOM does not support the "intersex" gender, therefore any intersex people exported
will have their sex forced to “unknown”. A message for each person thus affected is written
to the export log file.
18. In the processing of the SUMB (submitter) record, the program uses both the 'EMAIL' and
'WWW' tags introduced by GEDCOM draft 5.5.1. On import, the program also accepts the
Page 47
common custom tag '_EMAIL' as a synonym for 'EMAIL'.
19. On import, when processing the 'FAM' (family) tag, the subordinate HUSB will be assigned to
the 'Prime' of the family and the subordinate WIFE will be assigned to the 'Partner' of the
family. This assignment is independent of the sex of the two individuals (to allow for same-
sex relationships), however the sex will be honoured if possible.
20. The LDS tags 'BAPL', 'CONL', 'ENDL', 'SLGC' and 'SLGS' are only partially supported. Full
support will be added to the program at a later date.
21. There is considerable confusion within GEDCOM regarding “nobility titles” and personal
“honours”. ScionPC handles this confusion with two tags -
TITL ScionPC uses this tag to record a name title (such as "Doctor", "Sir", "Justice",
"Colonel", etc.). This obsolete GEDCOM tag has been re-instated, but is only
supported for the first of multiple names.
_HONR ScionPC uses this tag to record the official conferring of an award or distinction
for bravery, service or achievement such as “Order of the British Empire”
(O.B.E.) and “Knight Commander of St Michael and St George” (K.C.M.G.). Not
all honours generate a name title (such as “Sir”).
22. On import, if an ID greater than 1 million (value subject to change) is encountered , it will
be replaced by the “next free” ID. On appending, GEDCOM ID numbers are ignored.
For full details on ScionPC's GEDCOM support, refer to Appendices C1, C2 and C3.
2. Treepad Export
Data can be exported from ScionPC in Treepad '.hjt' file format. This format is native to the
Treepad Personal Information Manager, and can be read by a number of similar programs such as
Keynote, TreeLine, TreeDBNotes Pro and EssentialPIM.
Researchers can use Treepad (or another Personal Information Manager) to manage their
research activities at libraries, archives, etc.
To assist these research activities, ScionPC can export selected personal and family data in a
format that can be imported into Treepad, etc. Treepad can then be used to add arbitrary notes,
research information, deductions, “to do” items, etc. for later incorporation into a ScionPC
database. NOTE: Due to the totally unstructured nature of possible Treepad data, this
incorporation into ScionPC must be a manual process.
To produce Treepad (.hjt) files containing information from your database, follow these steps -
i. Start ScionPC and load your database into ScionPC (using “File/Open...”).
ii. Select “Export as Treepad...” from the “File” menu.
iii. Choose “People...” or “Families...”, select the records to export, and the location and
filename for the output.
The resulting files, when imported into Treepad, will look similar to -
Page 48
3. CSV (comma-separated values) Export
Data can be exported from ScionPC in CSV (comma-separated values) file format. This format
can be read by many spreadsheet and database programs. (See also “Export Anything to a
Spreadsheet” on page 54.)
The CSV file format is a tabular data format that, by default, has fields separated by the comma
character and quoted by the double quote character.
In some countries (e.g., Germany) the field separator frequently used is a semicolon. The comma
is also used in several countries as a decimal separator (whereas the period is used as the
thousands separator, as in "23.000,56"; compare with "23,000.56").
Fields which contain an embedded field separator character, line-break character, or double-quote
character, will be enclosed in double-quotes. If a field itself contains a double quote character that
double quote is enclosed by an additional pair of double quote characters.
To produce CSV files containing information from your database, follow these steps -
i. Start ScionPC and load your database into ScionPC (using “File/Open...”).
ii. Select “Export as CSV...” from the “File” menu and follow the steps in the resulting “wizard”
to save the CSV file.
For full details on the database sections or “tables” exported, refer to Appendices B1 and B2.
Caution: Because the CSV export can create up to 11 output files, no warning is given if any of
these files already exists in the selected output location, and they will be “silently” over-written.
Page 49
If any error occurs while writing one of the output CSV files, export of subsequent files is aborted
to overcome probable multiple error messages. In this case, one or more of the CSV files may be
incomplete or missing. An error message will be displayed to this effect.
The first row of each CSV file is a “header” row describing the data following. For example, the
CSV file for the database “Sources” section contains the header row “SourceID, Title, Location,
Author, Detail, RepositoryID, Date, Calendar” describing the eight fields exported.
ScionPC exports all dates as strings enclosed by the text delimiter (by default, the double quote
character). For example, “19 Aug 1736”, “Jun 1978”, “May 1970 - Apr 2002” and “ca. 1814”.
When a CSV file is imported into Microsoft Excel, if Excel sees something that looks like a date (or
something that could be interpreted as a date), it will automatically convert it to a date. This will be
okay for “complete” dates a such as “19 Aug 1736”, but Excel will convert “incomplete” dates such
as “Jun 1978” (no day) to “1 Jul 1982”, which is probably not was intended. Other “qualified” dates
such as “ca. 1814” or date ranges such as “May 1970 - Apr 2002” will generally be correctly
imported as text strings.
To overcome this automatic date conversion in Excel, rename the ScionPC CSV file extension to
“.txt”, then open it. Excel will show you the Text to Columns wizard. Now you can have complete
control of what each field is. Just choose the “text” format when you select any date fields. If you
do this a lot, you could record a macro that can duplicate your efforts. (But you'll still need to
rename the file extension to “.txt”. The VBA code will ignore the field settings if you import it with a
“.csv” extension.)
The OpenOffice Calc spreadsheet does not require the CSV to be renamed. Open the CVS file in
Calc and, in the resulting import wizard, select the Date column in the displayed data at the bottom
of the wizard. From the “Column Type” selection box immediately above the displayed data, select
“Text”. Then click “OK” to import the CSV data with all dates in plain text format.
3.2.2 Calendars
Because ScionPC supports a range of different calendar systems, it exports an additional column
named “Calendar” immediately adjacent to any “Date” column. If you only use one calendar
system in your database, this “Calendar” column can be ignored.
Caution: For date ranges, for example “May 1970 - Apr 2002”, the calendar system exported
corresponds to that used for the start date of the range. The calendar system of the the end date
is ignored.
To produce a text file containing "On This Day" style events from your database, follow these
steps -
i. Start ScionPC and load your database into ScionPC (using “File/Open...”).
ii. Select “Export as “On This Day”...” from the “File” menu.
Page 50
The resulting file will look something like -
4.2 Display of “On This Day” events file in Age and Date Calculator
For an “On This Day” events file to be recognised by the program's Age and Date Calculator, it
must meet three conditions -
Once these conditions are met, the Age and Date Calculator will show the additional “On This
Day” display area at the bottom of the calculator.
The file MUST begin with the signature-string "!QsUm%OE4YIhS" (without the quotes) starting at
Column 1 of Line 1. If this signature-string is missing or incorrect, the file will not be recognised as
a valid ScionPC "On This Day" events data file.
Column Contains
1 The event type -
B birth event
D death event
S special event
T timeline historical event – only shown in the personal Timeline tab and
“Person in History” Chronology reports
* indicates a comment (entirely cosmetic)
Lines with any other character in column 1 are ignored.
2-5 Month and day as MMDD with leading zeros.
6-9 The full year of the event as four digits (with leading zeros). Blanks are NOT accepted.
10 ALWAYS a space. "CDay" style continuation lines ('C' in column 10) are NOT
supported, but long lines ARE permitted (although discouraged).
11... The descriptive text to display for this date. Restrict to a sensible length. Descriptive
text must be at least 5 characters long to be considered valid.
Page 51
That is -
The event lines may be in any order. Sorting the file alphabetically, starting at column 1, should
put the events in event-type order, with the file signature as the first line (as required).
Example event line for the birth of Elvis Presley on January 8 , 1935 -
Columns
12345678901
B01081935 Elvis Presley, singer.
"On This Day" data can be from any source, not just exported from ScionPC. A default “otd.txt” file
is supplied with ScionPC containing a number of historic events. Refer to that file for additional
information.
Data exported from ScionPC can be simply appended to the supplied file, if desired. Any “surplus”
file signature-string lines will be ignored.
Lines beginning with 'T' are reserved for “Person in History” Chronology reports and optional
display on the Timeline tab of Personal Pages. They are NOT displayed in the Date Calculator.
These major timeline historical events should be restricted in number to probably no more than
one-per-decade to avoid cluttering up the personal timelines with excessive information. The on-
screen display of the historical events is controlled by the “Historical timelines” checkbox in the
Preferences dialog.
Whereas regular “on this day” events must have all day/month/year components, timeline events
can also be month/year and only year.
There are many sources of timeline data available from the internet. You can also utilise the
supplied “On This Day” special events by copying them and changing their 'S' prefix to 'T'.
ScionPC's “On This Day” feature was inspired by the "CDAY" program (Copyright 2003, 2004 by
Andrew Ziem) and the "Today" program (Copyright 1986, 1993 by Patrick Kincaid).
The data files supplied with, and generated by, ScionPC can be used with either of these
programs although, curiously, neither supports 'D' (death) events – these will need to be manually
changed into 'S' (special) events to be recognised by “CDay” or “Today”. Both programs can be
easily located and downloaded from the Internet.
Page 52
5. Copy and Paste between ScionPC Databases
The program's “Edit” menu provides access to the special "copy and paste" of a person.
In one ScionPC database, position the display to the person you want to copy and then select the
"Copy Person" menu item. This copies the person, their names, facts, attachments, notes,
sources and repositories to the clipboard.
Load another database into ScionPC and select "Paste Person" from the menu. This inserts the
person from the clipboard into the database. The display will show the newly-inserted person. The
Person's ID number in the pasted-into database will be set to the first available ID - not the original
ID.
NOTE: You can run two copies of ScionPC simultaneously and use these menu items to copy
people between databases.
NOTE: Since Note, Source and Repository ID numbers are likely to be different between the two
databases, you should consider merging duplicate evidence records using the "Merge Evidence..."
item under the Edit menu. See “Merging Evidence” (page 69) for more information.
6. Copy Text
Use the "Copy Text..." item under the "Edit" menu to copy a summary of the currently displayed
person or family to the clipboard in text format. This summary can then be pasted into a text
editor, word processor, task manager, etc. as plain text.
The summary for a person is similar to a Personal Summary report, and the summary for a family
is similar to a Family Group Sheet report.
The names of the people of interest are always copied to the clipboard, and the following items are
optional -
• Facts
• Close (immediate) relatives
• Notes, sources and repositories
• Attachments
• A timestamp of the date/time of the copy
• Whether or not to append ID numbers to people and families
============================================================================
FACTS
============================================================================
Fact: Birth Date: 2 Jun 1879 Surety: Primary evidence
Place/Detail: Pleasant Creek, Victoria, Australia
--------------------
Fact: Death Date: 14 Feb 1960 Surety: Primary evidence
Place/Detail: Christchurch Hospital, NZ
Page 53
============================================================================
PARENTS
============================================================================
FID: 7
Parent: SMITHSON, Charles Alfred [6] - b:9 Apr 1848, d:3 Jun 1907
Relationship: Biological
Parent: DUNCAN, Margaret [7] - b:15 Mar 1850, d:10 Mar 1945
Relationship: Biological
============================================================================
PARTNERS
============================================================================
FID: 4
Partner: MERCHANT, Caroline Mary [5] - b:24 Aug 1879, d:3 Mar 1962
Union Date: 17 May 1913
Place/Detail: St Paul's Methodist Parsonage, Invercargill
============================================================================
CHILDREN
============================================================================
SMITHSON, Peter Frederick [31] - b:14 Jan 1917, d:15 Mar 1973
SMITHSON, Robert Simon [2] - b:14 Feb 1919, d:2 Sep 2001
SMITHSON, Helen Mary [181] - b:18 Oct 1929, d:28 Sep 2000
============================================================================
TIMESTAMP
============================================================================
4:00:41 pm, 18 February 2011
For example, suppose you have a custom report that displays the Soundex and Metaphone codes
for everybody in a database. Such a report may look something like this when opened in a word
processor -
To export this information to a spreadsheet, select the table and then press Ctrl-C (to copy the
table to the Windows clipboard).
To insert the clipboard data into a spreadsheet, open the spreadsheet program, select the cell
where you want the top-left of the table to be (typically A1), and then press Ctrl-V (to paste the
table from the clipboard into the spreadsheet). You should end up with something like -
Page 54
You can use this “trick” to generate spreadsheets containing any information desired by using a
Custom Report.
TIP: This copy-and-paste technique can obviously be applied to any tabular “list style”
report.
The two steps outlined above (copy-to-clipboard then paste-from-clipboard) work exactly as
outlined with the OpenOffice Calc spreadsheet.
However, some complications can arise with Microsoft Excel when a cell contains a multi-line
entry...
In this report, the “Children” cells can contain multiple entries (as shown by the red arrow above).
When this table is simply copy-and-pasted into Excel, Excel will copy each child into a new row
(rather than into a single cell in one row) -
Page 55
The simplest way to correct this behaviour is to temporarily replace the “new line” characters that
put each child on a separate line with a unique string (such as $$$$), and then restore the $$$$
strings to “new lines” once the table is in Excel. Perform the following steps -
7. Paste the table into Excel using Ctrl-V. The children will now all be in the same cell, but
each separated by $$$$.
8. Use Edit/Replace (or Find and Select/Replace – depending on the version of Excel). In the
“Find what” field enter $$$$.
9. In the “Replace with” field enter Ctrl-j (that is, hold down the Ctrl key and press the 'j' key).
Note that this entry is “invisible”.
10. Click “Replace All”.
Done.
Page 56
CAUTION: If the spreadsheet program sees something that looks like a date (or something
that could be interpreted as a date), it may automatically convert it to a date. This will be
okay for “complete” dates a such as “19 Aug 1736”, but the spreadsheet program may
convert “incomplete” dates such as “Jun 1978” (no day) to “1 Jul 1982”, which is probably
not was intended. Other “qualified” dates such as “ca. 1814” or date ranges such as “May
1970 - Apr 2002” will generally be correctly interpreted as text strings. It may also convert
years to 2-digit format which will be confusing!
Page 57
Editing Tools
All editing tools are available from the “Edit” menu. The Search/Find tool is also available from the
toolbar.
1. Searching
1.1 Searching for People by Name
When the "Start New Search" button is pressed, items matching the search criteria are displayed
in the list. Selecting any item in the list will display a summary of its information in the box at the
bottom of the dialog. Use this to select the entry you're looking for.
When you are sure you have the item you're looking for, either double-click on the item in the list
or click on the "Display" button. You will then be taken to the matching record in the database.
Page 58
1.2 Searching Using Regular Expressions
This is the most powerful method of searching. It can be used to perform simple as well as very
complex "filtering". While complex patterns are difficult to explain in simple terms, it is worthwhile
attempting an understanding so that the full power available can be used. See Appendix F for
more details on this option and some regular expression examples.
ballarat\s*(old|new)*\s*cemetery
ballarat\s* means: the word "ballarat" followed by any number of spaces, tabs or other
white-space characters. "\s*" means "zero or more white-space characters".
(old|new)* means: any number of occurrences of the word "old" OR the word "new". "(old|
new)" means the word "old" OR the word "new", and "*" means "zero or more
occurrences of the expression". (It would probably be better to use "(old|
new)?" which means "zero or one occurrence of the expression").
\s*cemetery means: any number of spaces, tabs or other white-space characters followed
by the word "cemetery". "\s*" means "zero or more white-space characters".
When the "Start New Search" button is pressed, items matching the search criteria are displayed
in the list. Selecting any item in the list will display a summary of its information in the box at the
Page 59
bottom of the dialog. Either double-click on a selected item in the list or click on the "Display"
button to go to the selected matching record in the database.
To assist with the entry of common regular expressions, click on the "RE" button. This will display
a pop-up selection list of regular expressions -
Clicking on a particular item will insert the appropriate regular expression at the current cursor
position. Clicking outside the selection list (or pressing the "Esc" key) will cancel the pop-up.
The last entry "AND template (replace '###')" allows you to build a logical-AND expression; replace
each '###' by the words you want to search for. Example:(?=.*cemetery)(?=.*ballarat) to
search for BOTH “cemetery” AND “ballarat”. See Appendix F for a full description and example.
This third example shows a simple search for an event within a certain date range. Here we are -
Page 60
1. Doing a "plain text" search (in the "Type of search" box)
2. Searching for "Birth" Fact/Type (in the "Search for items containing any of..." box)
3. Ignoring the case of words (hence matching "birth" and "Birth", etc) (you can either "ignore"
or "match" the case of text)
4. Looking for dates in the range "1870 - 1880". (in the "Limit date(s) to..." box)
When the "Start New Search" button is pressed, items matching the search criteria are displayed
in the list. Selecting any item in the list will display a summary of its information in the box at the
bottom of the dialog. Use this to select the entry you're looking for.
When you are sure you have the item you're looking for, either double-click on the item in the list
or click on the "Display" button. You will then be taken to the matching record in the database.
Once you have carried out a search, you may end up with many more results that you can
manage. You can further refine the number of results by entering a new search expression, and
then applying that expression to the current results only.
To do this -
Once you have carried out a search, you can send the results to a report for later study. Simply
select the “Report results...” option from the “Actions” menu -
Page 61
The report would not normally be published, but rather be used as a research aid. For example -
Search Results
Smithson Family History
2. Global Search-and-Replace
To initiate a "global search and replace" operation, select the "Replace..." item in the “Edit” menu.
You will then be presented with the "Global Replace" dialog -
Page 62
When satisfied with the options and texts, press the "Replace" button. The progress through the
replacement process will be shown in the progress bar and, when the operation is complete, the
number of replacements done will be indicated in the bottom of the dialog.
If the “Log Changes” option is checked, a log file of the changes will be displayed.
To replace text in other fields than just Fact Places, select the appropriate fields in the "Replace
in..." option area. It is possible to replace text throughout the complete database by checking all
possible fields.
CAUTION: Because of the possibly large number of replacements, all replacements are done
without requesting confirmation. Please make sure you have carefully considered the likely effect
of doing a "global search and replace" across many fields at once (especially with short "Search
for..." entries). There is no "un-do" for any replacements done.
If you only need to make one or two replacements, it is probably prudent to do each
replacement manually.
To initiate a global spell checking operation, select the "Spell Check..." item in the “Edit” menu.
You will then be presented with the "Global Spell Check" dialog -
By default, the dialog is initially set to the only check in Fact Place fields (set by the "Check
spelling in..." options).
Use this area to select the fields to spell check. When satisfied with the fields to spell-check, press
the "Spell Check" button. The progress through the checking/correction process will be shown in
the progress bar and in the "Checking spelling of..." area above the progress bar.
As any possible error is detected, you will be presented with the regular Spell Checking dialog...
Page 63
Spell checking can be aborted at any time by pressing the ESC key. Any corrections done up to
that point are retained.
4. Merging People
As people are added to a database, especially when copy-and-pasting between databases or
appending GEDCOM files, it is almost certain that the database will end up with duplicated people.
These duplicates are likely to have different details, and the challenge is to "merge" their data.
ScionPC provides a "Merge Person" tool to assist this operation.
TIP: Use the "Duplicates Report" (see page 17) to help identify any duplicated people.
To start the "Merge Person" tool, select "Merge People..." from the Edit menu. You will then be
presented with a dialog similar to -
Page 64
4.1 How to Merge People
1. The left-hand "Reference Person" panel should display the primary (most accurate) person
in the database. It is their data that will be updated.
2. The right-hand "Secondary Person" panel should display the secondary (probable
duplicate) person in the database.
3. The central "Merged Data" panel displays the names and facts copied from the Reference
and/or Secondary person.
When the merge is carried out, the Reference person's names and facts will be completely
replaced by the information in the "Merged Data" panel.
1. Use the "Select" button at the top of the left-hand "Reference Person" panel to select the
person whose data you wish to update.
2. Use the "Select" button at the top of the right-hand "Secondary Person" panel to select the
person whose data you wish to merge into the Reference person's data. This would
normally be the identified "duplicate" person.
3. Use the Birth Parents, Partners and Children displays in each panel to double-check that
the correct people have been selected.
4. Tick the checkboxes beside the Reference/Secondary names and facts that you wish to
merge into a single record. Right-click to select all or none in one operation.
5. Click on the "Copy Reference" button to copy the checked Reference person's data into
Page 65
the central "Merged Data" panel (or shift-click to copy ALL their data)..
6. Click on the "Copy Secondary" button to copy the checked Secondary (probable duplicate)
person's data into the central "Merged Data" panel.
7. To edit the merged information in the central panel, right-click on any name or fact and
select "Edit" from the popup menu. You can then use the regular Name Edit or Fact Edit
dialogs to change the information.
8. To remove any incorrect name or fact from the merged information in the central panel,
right-click on any name or fact and select "Remove" from the popup menu.
9. Tick the "Merge name and fact notes & sources" checkbox if you would like the Notes and
Sources associated with each name and/or fact (regardless of origin) to be copied to the
final merged Reference person.
10. Tick the "Delete Secondary person after merge" checkbox if you would like the Secondary
person to be deleted from the database after the merge..
11. Very carefully check the data in the central "Merged Data" panel and the checkbox
options.
12. To cancel any merging, click on the "Done" button.
13. To copy the data in the "Merged Data" panel to the Reference person (replacing ALL pre-
existing Reference person names and facts), click the "Merge..." button.
14. After confirmation, the merge will be carried out, and the dialog will be cleared in
preparation for any further merges.
1. The background colour of the left and right panels (and their labels and data) reflect the
sex of the selected people -
2. You will be warned (but can proceed) if you try to merge data from people of different sex.
3. Apart from names and facts, any note, source or attachment associated with the Reference
person is UNCHANGED by the merge.
4. Apart from names and facts, any note, source or attachment associated with the
Secondary person is IGNORED.
5. No family information is merged. If you choose to delete the Secondary person as part of
the merge, all families that person is a partner in will also be dissolved.
6. A good way to verify that a merge was correctly done is to print a Personal Summary report
for the Reference person PRIOR to any merge. When the merge is complete, print another
Personal Summary report for the Reference person and check the changes against the
original.
5. Merging Places
Every event in a database contains its own unique "Place" value. However, as a database grows,
Page 66
it is likely that similar (but not exactly equal) place names may be given to subsequent events.
ScionPC provides a "Merge Places" tool to merge and rationalise place names across a whole
database. See also the CAUTION below.
To initiate a "place merge" operation, select the "Merge Places..." item in the “Edit” menu. If there
are a reasonable number of places in the database, you will be presented with a progress dialog
as similar place names are grouped together (a relatively slow operation).
You will then be presented with the "Merge Place Names" dialog -
1. Identical places (used in a number of events) are reduced to a single entry. For example, if
"Rome, Italy" is the place for several events, the name "Rome, Italy" will appear only once
in the list.
2. Unique places (i.e. place names that are not similar to any other place) will not appear in
the list. It makes no sense to merge these unique entries with any widely dissimilar ones.
3. Similar places are "clustered" together into groups to aid visual identification. Each group is
highlighted by background shading. The number of groups of similar places is displayed at
the top of the list -
4. The program does its best to group similar places together. The measure of "similarity" can
be adjusted using the radio buttons at the bottom left of the dialog -
Once a degree of similarity has been selected, click on the "Refresh list" button to update
Page 67
the list.
5. The column labelled "#" displays the number of occurrences of each place name. This
count can often be used to quickly identify misspellings.
6. With a high degree of similarity selected and disparate place names, it is possible for the
displayed list to be empty. Reduce the level of similarity and refresh the list.
7. Click on the list's column header (labelled "Place Name") to toggle the order of the places
in the list between grouped-by-similarity and alphabetic order. When in alphabetic order,
there is no "grouping shading" and the label at the top of the list will change to -
8. Be very careful selecting items to merge; in the real world, differences can be very subtle.
See some examples below.
When satisfied with the selection, click on the "Merged selected..." button. This will display a
dialog where you can specify the merged/rationalised place name -
Enter (or select) the replacement place name and then click the "Replace..." button. You will be
asked to confirm the replacement or cancel the operation.
CAUTION: Recall that the main "Merge Place Names" dialog displays only ONE entry for all
identical place names. For example, if several events occurred at the place Christchurch, NZ, the
Page 68
place name Christchurch, NZ will occur ONLY ONCE in the dialog.
However, if you choose to merge the entry Christchurch, NZ with (say) Christchurch, New
Zealand, ALL occurrences of Christchurch, NZ will be replaced (along with ALL occurrences of
Christchurch, New Zealand).
Also, before merging, be sure to correctly identify the differences between apparently identical
places and their replacement value; it's not always immediately obvious. Here are some very
subtle differences (from real-world databases) to illustrate some superficially identical entries -
Similar places are grouped (clustered) together using the DBSCAN algorithm proposed in 1996 by
Martin Ester, Hans-Peter Kriegel, Jörg Sander, Xiaowei Xu and described in their paper "A
Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise"
published in Proceedings of 2nd International Conference on Knowledge Discovery and Data
Mining (KDD-96).
The similarity between place names is determined using the Levenshtein Distance. This is named
after the Russian scientist Vladimir Levenshtein, who devised the algorithm in 1965. The algorithm
compares strings (places) by the minimum number of insertions, deletions, or replacements of
single characters that are required to convert one string (place) to the other.
A "pair difference" similarity algorithm was tested and gave slightly better performance, but was
excruciatingly slow.
6. Merging Evidence
With time, it is possible to end up with duplicate notes, sources and/or repositories (especially after
doing a copy/paste person operation or appending GEDCOM data). ScionPC provides a "Merge
Evidence" tool to eliminate any duplicates
To initiate a "merge evidence" operation, select the "Merge Evidence" item in the “Edit” menu. This
will, after confirmation, merge all duplicate records into single records. All references to the
duplicates will be changed to the merged record, and the (now) unused duplicates will be deleted
from the database. A log file showing all merges can be displayed after the merge operation -
Page 69
Example log file -
TIP: Before doing the merge, generate an "Evidence by Reference" research report.
After performing the merge, compare the logged results with the report to verify that all
merges were as intended.
When selected, the tool will search the database for all "missing" attachments. That is, attachment
files that cannot be found in their original locations and/or by their original names (as recorded in
the database). A list of the "missing" attachments is then displayed -
The three buttons along the bottom give you three options to manage the missing attachments.
Any button can be used in conjunction with any other.
Page 70
"Replace selected" button: Manually fix a few missing attachments.
Use this option to replace each selected attachment with a new one. The replacement can
either be the existing attachment at another location (maybe the file was moved or
renamed), or an entirely different file.
When this button is clicked, you will be presented with a file selection dialog where you can
locate the file to use for this attachment. If you choose a file that is of a different type from
the original attachment (maybe an audio file instead of a previous image file), you will be
warned, but can proceed.
CAUTION: If you replace an attachment file with a different file, be aware that the
attachment's description ("detail") is NOT changed. This may need to be manually changed
by editing the attachment.
If all the missing attachment files share a common location (folder), use this option to move
all the attachment file references to a new common location (folder). For example, if you
want to relocate the attachment references from a USB memory stick to a location on your
computer's hard-drive, you might have attachment file locations similar to -
Page 71
Click on the "Browse" button to select the common location where the attachment files are
now located (in the example above, the computer's hard-drive).
Click on the "Change common location" button. After confirmation, the missing attachments
will have their original common location changed to the new common location.
Click on the "Back" button to return to the main page to confirm the relocations (the
"missing" attachments list should now be empty, signifying success).
"Search & relocate" button: Search the computer for the missing attachments.
If neither of the above options is appropriate (maybe your attachments files are stored on
multiple hard-drives), you can use this option to search your computer for the missing
attachment files. If found, you can then replace the existing attachment file location with the
location discovered during the search. NOTE: Since this option searches your computer
drives for the missing files, it can be slow.
When this option is selected, a page similar to the following will be displayed -
To search for and relocate the attachments, perform the following steps -
1. Select the attachments you want to search for by checking the boxes next to their
filenames.
2. Select the drive/folder that you want to search (using the “Browse” button).
3. Click on the "Search" button. As each attachment file is found, it is entered into the
list in the "Possible Relocated File" column.
4. Carefully verify that each located file is, in fact, the correct one. If there is more
than one file on the drive with the same name, only the first found will be
returned - you may need to manually select the correct file (using option 1
above)
5. Check all the attachments you want to update.
6. Click on the "Accept checked" button to change the checked missing attachments to
the files found.
7. Repeat these steps for all missing attachments and all appropriate drives/folders.
When finished, click on the "Back" button to return to the main page to confirm the
relocations.
Page 72
Miscellany
1. File Properties
The properties of a database are set from the “File/Properties” menu item -
The "informational" values at the bottom of the dialog are maintained by the program and cannot
be changed directly by the user.
Besides recording the researcher and copyright details for the database, certain fields are also
used in reports and web pages.
Page 73
The following fields are used in web pages (when the appropriate HTML variable is used):
Where there are multiple phone numbers (such as phone, cellphone, FAX, etc), the multiple
numbers can be entered on one line separated by a “|” (vertical bar) character. Similarly, multiple
email or web addresses may also be separated by a “|” character -
2. Statistics
Basic statistics for people and families are shown in the status bar at the bottom of the main
pages.
Page 74
Family Details Page:
• Prime's age - the age of the family 'Prime' at the date of marriage/union
• Partner's age - the age of the family 'Partner' at the date of marriage/union
• Years married - the length of the marriage/union of the 'Prime' and the 'Partner'
• Children - the number of children in this family group
Age at death - Normally calculated from the 'Birth' and 'Death' facts for the person. If a 'Birth' fact
date is not available, then the facts 'Baptism' or 'Christening' are used instead and the age will be
marked as "Estimated". If a 'Death' fact date is not available, then the facts 'Burial' or 'Cremation'
are used instead and the age will be marked as "Estimated". If a date is not available, no age is
shown.
Prime's age and Partner's age - Normally calculated from the 'Birth' and 'Marriage' facts for the
Prime and Partner. If a 'Birth' fact date is not available, then the facts 'Baptism' or 'Christening' are
used instead and the age will be marked as "Estimated". If a 'Marriage' fact date is not available,
then the facts 'Engagement', 'Union', 'Marriage Banns', 'Marriage Contract', 'Marriage License' or
'Marriage Settlement' are used instead and the age will be marked as "Estimated". If a date is not
available, no age is shown.
Years married - Calculated from the family 'Marriage' fact (or 'Engagement', 'Union', 'Marriage
Banns', 'Marriage Contract', 'Marriage License' or 'Marriage Settlement' fact) and the family
'Divorce' fact (or 'Annulment', 'Divorce Filed' or 'Separation' fact) OR the Prime/Partner 'Death'
facts (or 'Burial' or 'Cremation' facts). If any date substitutions occur, then the duration is marked
as "Estimated". If a date is not available, no duration is shown.
3. Date Substitution
In lists of people and families, some of the dates may be preceded by a ± character. This indicates
that the date is a “substituted date”. There are a “substituted” birth and death in the following
partial report -
Page 75
List of People (Order: Alphabetical)
Smithson Family History
NOTE: ± before a date indicates a “substituted” date. A christening or baptism date has been substituted for a missing birth date. A
burial or cremation date has been substituted for a missing death date.
The date substitutions can occur with birth, death and marriage date.
1. If an actual birth date is not present for a person, then a substitute date might be used.
These substitutes are either a Christening date or a Baptism date. If either of these
dates is used instead of a birth date, then the date is shown with a preceding ±
character.
2. If an actual death date is not present for a person, then a substitute date might be used.
These substitutes are either a Burial date or a Cremation date. If either of these dates is
used instead of a death date, then the date is shown with a preceding ± character.
3. If an actual marriage date is not present for a family, then a substitute date might be
used. These substitutes include an Engagement date, a Union date, a Marriage Banns
date, a Marriage Contract date, a Marriage License date or a Marriage Settlement date.
If any of these dates is used instead of a marriage date, then the date is shown with a
preceding ± character.
In reports, when date substitutions occur, this is noted as a footnote (see example above).
4. Regnal Dates
The Age and Date Calculator can convert English/British monarch "regnal" dates, where the year
is recorded as the number of years since the year in which the reign of the then current monarch
began. For example: 24 April 1776, falling in year 16 of George III's reign, would be written: 24
April 16 George III.
Please note that regnal years are not from the Coronation, but from the start of the reign
(accession) which was usually the day the previous monarch died, abdicated or was dethroned.
Page 76
This will display the converter...
Select the appropriate monarch (they are listed in order of accession), the day, month and the
year within the monarch's reign - the corresponding calendar date will be displayed in the box at
the bottom of the dialog.
Prior to the Calendar Reform of 1752 (in Britain), dates were calculated in "Annunciation Style"...
The most common convention in late medieval times was that the beginning of a new year
occurred on March 25. For Christians, this is the Feast of the Annunciation. Hence, in
Annunciation Style, 24 March 1201 was followed by 25 March 1202
In Britain (excluding Scotland), the Annunciation Style was in use until the year 1751, which began
on 25 March 1751. The succeeding year 1752 was decreed to begin on 1 January 1752, and in
September that same year, the Gregorian calendar was adopted. Thus, the year 1751 had a
length of only 282 days, and 1752 was shortened again, by 11 days, 2 September being followed
by 14 September. The date converter honours all these date changes.
A side-effect of this "Annunciation Style" is that, for example, the execution of Charles I was
recorded at the time in Parliament as happening on "30 January 1648" (Old Style). In modern
English language texts this date is usually recorded as "30 January 1649" (New Style).
For such "ambiguous" Old/New Style dates, the converter uses the well-established convention of
displaying both years with a slash between, e.g. "1558/9." The New Style date is the one returned
to the main Date Calculator display.
5. Item ID's
The following items in ScionPC have a unique ID -
These ID's cannot be changed by the user and will NEVER change, even if people and families
are deleted from the database (however, see also “Renumber Trick” below). A deleted person's ID
will be automatically reassigned whenever a new person is added to the database. Similarly, a
deleted family's ID will be automatically reassigned whenever a new family is added to the
database.
Names, Children, Facts and Attachments also have internally-maintained unique ID's, but these
may change with program usage.
Page 77
In most genealogical research, ID's are used to reference people and families. ScionPC supports
these ID's with User ID's.
Over time, as people, families, notes and sources are added and deleted
from the database, or if the original database originated from somebody
else's GEDCOM file with non-consecutive ID numbers, it is possible that gaps
will appear in the various item IDs. Normally these cannot be changed (see
above), but there is a “trick” that can be used to renumber all items in
consecutive order, starting with number 1...
i. Load your database and save it as a GEDCOM file (noting if there are any special items
that cannot be exported).
ii. Exit and re-start ScionPC - do NOT load any database.
iii. Append (NOT “import”) your just-saved GEDCOM file. This will append your GEDCOM file
to an empty database, consecutively renumbering all items in the process.
iv. Correct any items omitted on export (at step i above).
v. Save your renumbered database, giving it a new name for safety.
6. Keyboard Shortcuts
Refer to “Keyboard Shortcuts” in the help file for details.
7. Search By Sex
Sometimes it may be useful to search through a database looking for people by gender.
Rather than using the Search facilities, use the List of People and sort the list by sex.
To do this, click on the top of the left-most column (showing the sex glyphs). This will sort the list
by sex -
Page 78
8. Database Backups
8.1 Why should I backup?
Databases, containing the fruits of all your labours, can vanish for many reasons such as -
Therefore it is vital that you develop a backup strategy and regularly backup your database.
ScionPC supports a simple backup mechanism accessible from the “File/Backup” menu item.
This will save a compressed copy of the current database as a backup. The default backup
filename will be the current filename (as displayed in the program's titlebar) with the current date
and time appended. For example -
C:\MyBackups\MyFamily_070423_143751.sgc
NOTE: The "backup" is a conventional, compressed ScionPC database and can be directly loaded
by the program.
Page 79
8.3 A simple backup strategy
• When making backups, try not to save them to the same drive as your main database. If
the drive fails, you would lose both your main database and any backups at the same time.
If you only have a single drive, save your backups in a different folder from your main
database. USB flash-drives are a good destination for backups.
• Backup your database regularly. Develop your own backup strategy and keep to it. Backup
every time before you make (even small) changes to your database.
• Make numerous backups of the same database and keep your backups in another location
like your workplace or with other family members. If you ever have problems and can't load
your backup, you can recover your database from this alternate location.
• Periodically load your backups to ensure that they are working properly. Don't wait for an
emergency to find out that your backup is faulty.
• Backups are saved in ScionPC's compressed file format. You will not save any significant
space by trying to compress them further with another compression program.
For example, if you are recording a sporting achievement, then create a user-defined fact-type of
"Sporting Achievement", and enter details of the achievement in the other data fields -
NOTE: The initial contents of the "Type" drop-down selection list are extracted from the currently
loaded database. You can identify usage of user defined facts by generating a Selected Fact List
report for user-defined facts.
Technical Note: The user-defined fact-type is “encoded” into the fact's “Detail” field. Example - If the user
fact type is "Sport", and the associated detail data is "Mountaineering", then the XML <Detail> field will
appear as - <Detail>##_USERTYPE=Sport_##Mountaineering</Detail>
Page 80
10. Database File Formats
ScionPC's database file is saved as an XML file, and the file can be optionally compressed to save
disk space.
Any compressed (.sgc) file can be opened with an “unzip” program such as WinZip ®. Inside the
“zip” file is a single file with the same name as the database file. This “internal” file can be opened
in a text editor where the XML database (with “whitespace” removed) can be seen.
Here are tiny fragments of an uncompressed database and the equivalent “whitespace removed”
database -
Uncompressed:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<ScionPC xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="ScionPCSchema.xsd">
<Header>
<Created>
<!-- StartDate = database-creation date, EndDate = file last-saved date -->
<Date Type="Dual">
<StartDate>
<DateVal>
<Year>2003</Year>
<Month>9</Month>
<Day>18</Day>
</DateVal>
</StartDate>
<EndDate>
<DateVal>
<Year>2007</Year>
<Month>1</Month>
<Day>22</Day>
</DateVal>
</EndDate>
</Date>
<Version>6.0.1</Version>
<DBInfo>Smithson Family History</DBInfo>
<Copyright>Copyright ©2004 by Paul Smithson, MajorTown, NZ.</Copyright>
<Comment>Smithson database from original Amiga program</Comment>
<PeopleCount>360</PeopleCount>
<FamilyCount>108</FamilyCount>
</Created>
... etc...
Page 81
11. Advanced Program Settings
WARNING: Changing these advanced program settings requires editing the program's
"ScionPC.INI" settings file (a plain text file). Do NOT proceed unless you are comfortable with
editing configuration text files.
List of People, List of Families and List of Names dialogs use the Jaro-Winkler algorithm to
compare names with similar spellings. This algorithm was developed at the U.S. Census and used
in post-enumeration analysis.
The default decision threshold is internally set to 0.8 which gives reasonable behaviour.
To modify this threshold, add a new entry to the "[MainForm]" section of the "ScionPC.INI" file as
follows -
[MainForm]
JaroWinkler=0.8
The threshold value supplied is very sensitive. A value of 1.0 requires identical name spellings,
and values less than 0.7 give too many "false positives". The sensible range of values is 0.7 - 0.8.
Adjust the value until you find a value that gives you the desired behaviour for your particular data.
By default, the "Backup Reminders" item under the “Options/Preferences/General” menu provides
values of Never, Weekly, and Monthly. An additional "frequency" of "always" can be invoked by
editing the "BackupFreq" entry in the "[MainForm]" section of the "ScionPC.INI" file as follows -
[MainForm]
BackupFreq=395
Setting the value of this entry to 395 will uncheck all the other frequency choices in the
Preferences dialog, and the backup reminder dialog will be displayed every time a database is
loaded. If any of the other Never, Weekly, or Monthly options is subsequently selected, then the
"always" option will be cancelled. It is ONLY possible to invoke the "Always" option by manually
editing the "ScionPC.INI" file entry as shown above.
(a) Prior to ScionPC version 7.0.5, siblings were determined according to the following -
Children were only considered as siblings if they shared a family with the "base" person.
For example, if a woman had two partners and children by each partner, the children from
the two families were NOT considered siblings unless they appeared in BOTH families.
Page 82
To consider "half-sisters" and "half-brothers" as siblings, they all had to appear in all
appropriate families. To do this, for example, the "base" person might be added to the
second family as "birth/fostered" (or similar), and then the other children of the second
family would be considered as siblings.
(b) From ScionPC 7.0.5 onwards, this behaviour changed to the following -
Any child in any family who shares a parent with the "base" person, regardless of whether
or not they actually appear in a family, is considered a sibling.
For example, the mother of the "base" person may be married twice, the "base" person
appears only as a child of her first marriage, and other children (with her second partner)
only appear as children of the second marriage. These half-siblings in the second family
are considered to be siblings of the "base" person.
Either of these two behaviours can be selected by editing the "HalfSiblings" entry in the
"[MainForm]" section of the "ScionPC.INI" file as follows -
[MainForm]
HalfSiblings=0
To set the newer version 7.0.5 (and later) behaviour (the default)
[MainForm]
HalfSiblings=1
By default, ScionPC can remember 10 bookmarks. The maximum number of bookmarks can be
changed by editing the "Bookmarks" entry in the "[MainForm]" section of the "ScionPC.INI" file as
follows -
[MainForm]
Bookmarks=15
By default, ScionPC constrains the ancestors and descendants on personal web pages to a
maximum of 10 generations. Beyond this limit, web pages can rapidly "blow out" in size to many
megabytes, and can take an excessive amount of time to generate. Size and generation time
increase exponentially, so extend these values with caution!
The maximum number of generations can be changed by editing the "MaxGenAnc" and
"MaxGenDesc" entries in the "[WebTemplates]" section of the "ScionPC.INI" file as follows -
[WebTemplates]
MaxGenAnc=12
MaxGenDesc=15
The maximum values are constrained by the program to between 10 and 15.
Page 83
11.6 Extended "Delete Person" Confirmation Dialog
By default, when the "Delete Person" button is pressed, a simple confirmation dialog is displayed,
and any families that the person was a partner in will be automatically dissolved.
If you would prefer the families to NOT automatically be dissolved and instead simply have the
person removed from any families in which they are a partner (leaving the families otherwise
intact), edit the “ExtDelPer” entry in the "[MainForm]" section of the "ScionPC.INI" file as follows -
[MainForm]
ExtDelPer=1
Any non-zero value for "ExtDelPer" will display an extended confirmation dialog, and a zero value
will display the default dialog. The two dialog options are as follows -
By default, ScionPC displays small glyphs (graphical symbols) in the "Partner/Children" and
"Parents/Siblings" buttons on the Personal Page as visual aids to navigation.
These glyphs can be suppressed by editing the "NoPCPSglyphs" entry in the "[MainForm]" section
of the "ScionPC.INI" file as follows -
[MainForm]
NoPCPSglyphs=1
Any non-zero value for "NoPCPSglyphs" will suppress the glyphs. To display the glyphs, set the
value to 0 (zero).
When there are associated Notes, Sources or Repositories, ScionPC highlights the labels of the
associated buttons in bold-green.
These highlighted labels can be augmented with the addition of small bullets as visual aids.
Page 84
To enable these bullets, edit the “EvidBullets” entry in the "[MainForm]" section of the
"ScionPC.INI" file as follows -
[MainForm]
EvidBullets=1
Any non-zero value for "EvidBullets" will display the bullets. To suppress the bullets, set the value
to 0 (zero).
By default, ScionPC displays a "plain" textual Regnal Date Converter. To display thumbnail
pictures of the selected monarchs in the converter, edit the "RegnalPix" entry in the
"[DateCalcForm]" section of the "ScionPC.INI" file as follows -
[DateCalcForm]
RegnalPix=1
Any non-zero value for "RegnalPix" will display the monarch pictures. To suppress the picture
display, set the value to 0 (zero). The "pictorial" dialog will appear similar to -
RegnalPix=1
If the optional Enhanced Tooltip thumbnails are displayed, their dimensions (bounding rectangle)
can be user-specified. To modify the default thumbnail dimensions, add new entries to the
"[MainForm]" section of the "ScionPC.INI" file as follows -
[MainForm]
HintThumbWidth=100
HintThumbHeight=100
The thumbnail dimensions are constrained by the program to sensible values. The thumbnail is
shrunk (but not expanded) to the specified rectangular dimensions, while maintaining the
thumbnail's aspect ratio.
If you are happy with the program's default behaviour of upper-casing all surnames (with
exceptions), then the option to change surname appearance can be hidden. To hide the
“Options/Preferences/Surnames/Surname Appearance” option, change the value of the
Page 85
"SNFormat" entry in the "[MainForm]" section of the "ScionPC.INI" file to '-1' as follows -
[MainForm]
SNFormat=-1
To reinstate the “Surname Appearance” item, simply delete the "SNFormat" entry - the program
will reinstate the option the next time it is started.
By default, ScionPC does not explicitly support intersex1 individuals. If you would like to support
intersex, edit the “SupportIntersex” entry in the "[MainForm]" section of the "ScionPC.INI" file as
follows -
[MainForm]
SupportIntersex=1
Any non-zero value for "SupportIntersex" will add “intersex” as an option in the Birth Sex selector,
and any intersex individuals will be displayed in green. To remove intersex support, set the value
to 0 (zero).
By default, ScionPC uses the English word “Intersex” for intersex individuals. If you would prefer a
different term such as “Indeterminate” or “Ambiguous”, edit the "EnglishIntersex" entry in the
"[MainForm]" section of the "ScionPC.INI" file as follows -
[MainForm]
EnglishIntersex=Indeterminate
Page 86
Appendix A. XML Data Model
Copies of the database XML schema (“ScionPCSchema.xsd”) and DTD (“ScionPCDTD.dtd”) are
supplied with the program. These can be opened with any text editor for further study.
The schema is best interpreted by opening it in a specialised XML schema editor which will clearly
show its structure.
For those who like to “get their hands dirty”, there is also the excellent freeware XSLT
schema XHTML documentation generator “xs3p”. This is no longer available from its
original web-site, but can be located in several locations on the Internet – just search for
“xs3p”.
To generate a sample XML database for study, use ScionPC to create a simple database with one
or two people and families, save it as an uncompressed database, and then open it with any text
editor. Here is a small example database...
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<ScionPC xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="ScionPCSchema.xsd">
<Header>
<Created>
<!-- StartDate = database-creation date, EndDate = last-saved date -->
<Date Type="Dual">
<StartDate>
<DateVal>
<Year>2005</Year>
<Month>1</Month>
<Day>6</Day>
</DateVal>
</StartDate>
<EndDate>
<DateVal>
<Year>2008</Year>
<Month>1</Month>
<Day>7</Day>
</DateVal>
</EndDate>
</Date>
<Version>6.0.1</Version>
<DBInfo>Tutorial</DBInfo>
<PeopleCount>1</PeopleCount>
<FamilyCount>0</FamilyCount>
</Created>
<Researcher>
<Contact>
<SimpleName></SimpleName>
</Contact>
</Researcher>
</Header>
<Names>
<Name ID="NAME1" Type="Birth">
<PersonID ID="PERS1" />
<Given>Charles Henry</Given>
<Surname>SMITHSON</Surname>
<Title>Sir</Title>
<Suffix>K.C.M.G.</Suffix>
<Familiar>Harry</Familiar>
</Name>
</Names>
<PersonalFacts>
<Fact ID="PFCT1" Type="Birth">
<ReferenceID ID="PERS1" />
Page 87
<Detail>Delivered by Caesarian section</Detail>
<Place>Wanganui Public Hospital, Greer Street, Wanganui, NZ</Place>
<Date Type="Single">
<StartDate>
<DateVal>
<Modifier>Estimated</Modifier>
<Year>1947</Year>
<Month>4</Month>
<Day>4</Day>
</DateVal>
</StartDate>
</Date>
</Fact>
<Fact ID="PFCT2" Type="Baptism">
<ReferenceID ID="PERS1" />
<Detail>Methodist</Detail>
<Place>Family home, Main Street, Wanganui, NZ</Place>
<Date Type="Single">
<StartDate>
<DateVal>
<Year>1947</Year>
<Month>9</Month>
<Day>5</Day>
</DateVal>
</StartDate>
</Date>
</Fact>
<Fact ID="PFCT3" Type="Death">
<ReferenceID ID="PERS1" />
<Place>Wellington Public Hospital, Wellington, NZ</Place>
<Date Type="Single">
<StartDate>
<DateVal>
<Year>1987</Year>
<Month>11</Month>
<Day>12</Day>
</DateVal>
</StartDate>
</Date>
</Fact>
<Fact ID="PFCT4" Type="Cause_of_death">
<ReferenceID ID="PERS1" />
<Detail>Lung cancer</Detail>
</Fact>
<Fact ID="PFCT5" Type="Cremation">
<ReferenceID ID="PERS1" />
<Place>Wellington Crematorium, Karori, Wellington, NZ</Place>
<Date Type="Single">
<StartDate>
<DateVal>
<Year>1987</Year>
<Month>11</Month>
<Day>15</Day>
</DateVal>
</StartDate>
</Date>
</Fact>
</PersonalFacts>
<FamilyFacts />
<People>
<Person ID="PERS1">
<UserID>ID-1</UserID>
<BirthSex>Male</BirthSex>
<IsPrivate>true</IsPrivate>
</Person>
</People>
<Families />
<Children />
<Notes />
<Sources />
<PersonalAttachments />
<FamilyAttachments />
</ScionPC>
Page 88
Appendix B1. ScionPC Datatype Definitions
1 Because birth sex is important in genealogical research, it is recorded as a specific attribute of a person
Page 89
GenName data type
Field Name Type Value Notes
ID unsigned longPRIMARY KEY Unique ID (primary key)
Type int FIXED TAG Name type
DisplayAs int FIXED TAG Display/collation order for given-name and surname.
Used for display and sorting. See “displayas” definitions
below.
IsPreferred boolean user data Set to 'true' if the name is the person's preferred name,
otherwise set to 'false'
PersonID unsigned long FOREIGN KEY Person ID Reference that name applies to (Foreign key)
Given AnsiString user data The name(s) by which a person is known within a family
and by which he or she may be familiarly recognized.
Surname AnsiString user data Family name; the name used to identify the members of a
family (as distinguished from each member's given name)
Title AnsiString user data A word used to show the acquired or inherited rank,
office, honour, distinction, occupation or attainment of a
person (such as "Doctor", "Sir", "Justice", "Colonel", etc)
Suffix AnsiString user data Familial ("Jr.", “Snr”, "II"), professional ("M.D.", "Ph.D."),
and/or honorary (“O.B.E.”, “K.C.M.G.”) suffixes to a name.
Familiar AnsiString user data A familiar form of a name (such as "Dick" for "Richard",
etc); a nick name - an informal, often descriptive name
given to a person to indicate humour, contempt, derision,
familiarity, or the character of the person (such as
"Bones", "Shorty", etc); a preferred name by which a
person prefers to be addressed (such as by a middle
rather than a first given name)
Surety int FIXED TAG Certainty assessment of data
Date GenDate user data Date name applies from
NoteID unsigned long FOREIGN KEY Reference to note about name (Foreign key)
SourceID unsigned long FOREIGN KEY Reference to source of name (Foreign key)
BitFlags unsigned short n.a. 16 bit-flags. For internal use only
Page 90
GenSource data type
Field Name Type Value Notes
ID unsigned long PRIMARY KEY Unique ID (primary key)
Detail AnsiString user data A verbatim copy of any description contained within the
source. This indicates notes or text that are actually
contained in the source document, not the submitter's
opinion about the source. This should be, from the
evidence point of view, "what the original record keeper
said" as opposed to the researcher's interpretation.
Page 91
GenHolder (repository) data type
Field Name Type Value Notes
ID unsigned long
PRIMARY KEY Unique ID (primary key)
Name AnsiString user data Name of repository, individual, group or organization that
owns or houses the reference original. (free-form)
Address1 AnsiString user data Address Line 1 (eg Street address)
Address2 AnsiString user data Address Line 2 (eg City/town)
Address3 AnsiString user data Address Line 3 (eg State/province)
Address4 AnsiString user data Address Line 4 (eg Country/region)
Address5 AnsiString user data Address Line 5 (eg Post code / ZIP code)
Phone AnsiString user data Telephone | cellphone | fax | etc number(s)
Email AnsiString user data Email address(es) (each separated by '|' character)
URL AnsiString user data Website(s) (each separated by '|' character)
Abbreviation AnsiString user data Repository's abbreviation code name. Preferably the
International Standard Identifier for Libraries and Related
Organizations (ISIL), or from the MARC (MAchine-
Readable Cataloging) Code List for Organizations.
Detail AnsiString user data Narrative information about the repository itself, such as
the lending policy, operating hours, etc.
BitFlags unsigned short n.a. 16 bit-flags. For internal use only
See the “Database Reference” section of the program's on-line help for a “plain-English”
description of all ScionPC Datatypes and Fixed Tag Definitions/Values.
Page 92
Appendix B2. Fixed Tag Definitions/Values
1: "tag" column uses GEDCOM equivalent tag names (or similar) where convenient.
†
The indicated tags or group of tags are either different from the equivalent GEDCOM tags
or else are not defined at all in the GEDCOM 5.5 specification.
2: "short" column contains a brief description of the tag
3: "long" column contains a "long" description which can form the basis of “help” text
date-type
d_type tag †
short long
text text
DATE_SNGL SNGL Single A single date
DATE_RNGE RNGE Range A period between (and possibly including) two dates. The event
happened some time between date 1 AND date 2. For example,
“between 1904 and 1915” indicates that the event state (perhaps a
single day) existed somewhere between 1904 and 1915 inclusive.
DATE_DUAL DUAL Dual Two dates encapsulated as two distinct GDateVal's in one
GenDate. NOT USED FOR GENEALOGY. ONLY USED FOR
"UTILITY" PURPOSES.
dateval-modifier
modifier tag short long
text text
DATE_EXCT EXCT† Exact Exact date
DATE_CRCA ABT Circa About, meaning the date is not exact; circa
DATE_BEFR BEF Before Event happened before the given date
DATE_AFTR AFT After Event happened after the given date
DATE_ESTD EST Estimated Estimated or calculated date. Estimated based on an algorithm
using some other event date, or calculated mathematically, for
example, from an event date and age.
dateval-calendar
calendar tag short long
text text
DATE_GREG GREG Gregorian The Gregorian calendar today serves as an international standard
for civil use.
DATE_JULN JULN Julian The Julian calendar, introduced by Julius Caesar in -45. It served
as a standard for European civilisation until the Gregorian Reform
of 1582.
DATE_HEBR HEBR Hebrew The Hebrew calendar is the official calendar of Israel and is the
liturgical calendar of the Jewish faith.
DATE_FREN FREN French The French Revolutionary Calendar, also known as the French
Republican Calendar was introduced on 24th November 1793 and
abolished on 1 January 1806.
DATE_ISLM ISLM† Islamic The Islamic calendar is a purely lunar calendar which is used in
the Muslim world (except Turkey, which uses the Gregorian
calendar).
DATE_CHIN CHIN† Chinese Although the Gregorian calendar is used in the Peoples' Republic
of China for administrative purposes, the traditional Chinese
calendar is also used by Chinese communities around the world.
DATE_PRSN PRSN† Persian The Persian calendar is official in Iran (and surrounding areas like
Afghanistan, Central Asian Republics and Kurdish Mesopotamia).
DATE_INDN INDN† Indian The national calendar used in India at the present time is the one
defined by the Calendar Reform Committee. It has applied since
March 22, 1957 (1 Chaitra 1879 of the Saka era).
DATE_COPT COPT† Coptic This calendar is still widely used in Egypt.
DATE_OTHR USER† Other Any user-defined type of calendar not represented in the
preceding list. Record calendar type information in the event note.
DATE_UNKN UNKN† Unknown An unknown calendar has been used.
Page 93
birthsex-gender
gender tag short long
text text
SEX_MALE M Male The sex that fertilizes eggs, and does not produce young or eggs
itself
SEX_FEMALE F Female The sex that can give birth to young or produce eggs
SEX_INTERSEX X Intersex Indeterminate gender – neither wholly male nor wholly female
SEX_UNKN ? Unknown Sex not known
child-relation
relation tag† short long
text text
RELN_BIOL BIOL Biological A child born of biological parents
RELN_ADOP ADOP Adopted A child taken into a family by legal process and raised as one's
own
RELN_STEP STEP Step A child of a husband's or wife's former marriage
RELN_FOST FOST Fostered A child cared for by a family, but not a member by birth or
adoption
RELN_SEAL SEAL Sealed A child was sealed to parents other than birth parents (LDS only)
RELN_OTHR USER Other Any user-defined type of child relationship not represented in the
preceding list. Record relationship information in the child note.
RELN_UNKN UNKN Unknown A child by unknown relationship
name-type
n_type tag †
short long
text text
NAME_BIRT BIRT Birth A name that a person had shortly after being born. Often the only
name a person has.
NAME_CHOS CHOS Chosen A name that a person assumed because of free choice. This
includes -
• legal name changes such as by “deed poll”
• artist pseudonyms such as an actor's "stage name", a writer's
“pen name”, etc
• alias - an assumed name that someone uses in order to keep
their real name secret
NAME_ADOP ADOP Adopted A name that a person took on because of being adopted.
NAME_SPSE SPSE Spouse The name assumed from the partner in a marital relationship.
Usually the spouse's family name; “married” name. No inference
about gender can be made from the existence of spouse names.
NAME_TRAD TRAD Traditional Traditional, indigenous or tribal name, such as existing among
native Americans, Australian aboriginals and many polynesians
and melanesians.
NAME_RELG RELG Religious Name adopted through practice of religion, entering a religious
order or assuming a religious office (such as "Father Irenaeus",
"Brother John," or "Sister Clementine").
NAME_OTHR USER Other A user-defined type of name not represented in the preceding list.
Includes the concept of “maiden name” for cultures that keep up
this traditional concept. Record “type of name” in name note.
NAME_UNKN UNKN Unknown An unknown type of name.
name-displayas
displayas tag †
short long
text text
NDIS_ScomG NSCG Surname, Given Surname, Given
NDIS_SspcG NSBG Surname Given Surname Given
NDIS_GcomS NGCS Given, Surname Given, Surname
NDIS_GspcS NGBS Given Surname Given Surname
Page 94
surety
surety tag† short long
text text
SRTY_ESTM ESTM Unreliable Unreliable evidence or estimated data
SRTY_QEST QEST Suspect Questionable reliability of evidence (interviews, census, oral
genealogies, or potential for bias for example, an autobiography)
SRTY_SECN SECN Secondary Secondary evidence, data officially recorded sometime after
event
SRTY_PRIM PRIM Primary Direct and primary evidence used, or by dominance of the
evidence
Page 95
PFACT_GRAD GRAD Graduation An event of awarding educational diplomas or degrees to
individuals
PFACT_HONR _HONR† Honour The official conferring of an award or distinction for bravery,
service or achievement
PFACT_IDNO IDNO Identification A number assigned to identify a person within some significant
Number external system. ATTRIBUTE ONLY
PFACT_IMMI IMMI Immigration An event of entering into a new locality with the intent of residing
there
PFACT_MILT _MILT† Military A period of military service
PFACT_NATI NATI National Origin The national origin or heritage of an individual. [Not to be
confused with NATU = 'Naturalisation' event] ATTRIBUTE ONLY
PFACT_NATU NATU Naturalisation The event of obtaining citizenship
PFACT_OCCU OCCU Occupation The type of work or profession of an individual at a particular time
or period
PFACT_ORDN ORDN Ordination The religious ceremony of officially making someone a priest or
other religious leader
PFACT_PROB PROB Probate An event of deciding whether or not a person's will has been
made correctly and that the information it contains is correct. May
indicate several related court activities over several dates
PFACT_PROP PROP Property Pertaining to possessions such as real estate or other property of
interest
PFACT_RELI RELI Religion The religious affiliation of a person at a particular time or period
PFACT_RESI RESI Residence The act of dwelling at an address for a period of time.
PFACT_RETI RETI Retirement An event of exiting an occupational relationship with an employer
after a qualifying time period
PFACT_SEXC _SEXC† Sex Change The event of changing sex through “gender re-assignment”.
PFACT_SSNR SSN Social Security A number assigned by the United States of America Social
Number Security Administration. ATTRIBUTE ONLY
PFACT_WILL WILL Will A legal document treated as an event, by which a person
disposes of his or her estate, to take effect after death. The event
date is the date the will was signed while the person was alive
Family Facts
FFACT_ANUL ANUL Annulment Declaring a marriage void from the beginning (never existed)
FFACT_CELE _CELE*† Celebrant Officiating priest or official (typically at a marriage)
ATTRIBUTE ONLY
FFACT_CENS CENS Census The event of a periodic count of the population for a designated
locality, such as a national or state census.
FFACT_DIVC DIV Divorce An event of dissolving a marriage through civil action
FFACT_DIVF DIVF Divorce Filed An event of filing for a divorce by a spouse
FFACT_ENGA ENGA Engagement An event of recording or announcing an agreement between two
people to become married
FFACT_MARB MARB Marriage Banns An event of an official public notice given that two people intend
to marry
FFACT_MARC MARC Marriage An event of recording a formal agreement of marriage, including
Contract the prenuptial agreement in which marriage partners reach
agreement about the property rights of one or both
FFACT_MARL MARL Marriage License An event of obtaining a legal license to marry
FFACT_MARR MARR Marriage A legal, common-law, or customary event of creating a family unit
of a man and a woman as husband and wife
FFACT_MARS MARS Marriage An event of creating an agreement between two people
Settlement contemplating marriage, at which time they agree to release or
modify property rights that would otherwise arise from the
marriage
FFACT_SEPN _SEPN† Separation Partial divorce without dissolution of marriage tie
FFACT_UNIO _UNIO† Union An event of creating a union between two people to form a
couple in a committed relationship. Includes 'de facto' and single-
sex relationships.
FFACT_WITN _WITN*† Witness Person attesting genuineness of signatures to a document
(typically a marriage certificate) ATTRIBUTE ONLY
NOTES:
*
Celebrant and Witness are really “attributes of an event”, not actually “family attributes”.
We'll ignore that nicety for now!
Page 96
Appendix B3. Entity Relationship Diagrams
name
person 1 M nam_id
per_id PersonID
UserID DisplayAs
BirthSex IsPreferred
IsPrivate Type
NoteID Title
SourceID Given
Surname
Suffix
Familiar
Surety
Date
NoteID
SourceID
fact
fact_id
M Type
ReferenceID
Detail
Surety
Date
Place
NoteID
SourceID
attachment
M attach_id
ReferenceID
Filename
Fileinfo
Detail
SourceID
Page 97
Family Entity Diagram
person person
per_id per_id
1 UserID 1 UserID
BirthSex BirthSex
IsPrivate IsPrivate
NoteID NoteID
SourceID SourceID
child
kid_id M 1 person
family 1 M PersonID per_id
fam_id FamilyID UserID
M UserID Parent1ID BirthSex
M PrimeID Parent1Rel IsPrivate
PartnerID Parent2ID NoteID
NoteID Parent2Rel SourceID
SourceID Ordinal
NoteID
SourceID
fact
fact_id
M Type
ReferenceID
Detail
Surety
Date
Place
NoteID
SourceID
attachment
M attach_id
ReferenceID
Filename
Fileinfo
Detail
SourceID
Page 98
Sample Person Entity Diagram
fact
fact_id = xxxx
M Type = PFACT_BIRT
ReferenceID = 94
Detail = Breech birth
Surety = SRTY_PRIM
Date = 3 Jun 1879
Place = Happy Creek
NoteID = xxxx
SourceID = xxxx
Page 99
Sample Family Entity Diagram
person person
per_id = 15 per_id = 94
1 UserID = data 1 UserID = data
BirthSex = SEX_FEMALE BirthSex = SEX_MALE
IsPrivate = false IsPrivate = false
NoteID = xxxx NoteID = xxxx
SourceID = xxxx SourceID = xxxx
Page 100
Appendix C1. ScionPC Supported GEDCOM Tags
GEDCOM Import
Unsupported tags are shown struckout Bold_Italic tags are additional to GEDCOM 5.5
Page 101
2 _EVENTDETAIL ScionPC custom tag. Data prepended to GenFact.Detail
3 CONC ScionPC custom tag. Data prepended to GenFact.Detail
3 CONT ScionPC custom tag. Data prepended to GenFact.Detail
2 PLAC {0:1}
3 FORM {0:1}
3 NOTE @XREF:NOTE@
4 CONC
4 CONT
4 SOUR @XREF:SOUR@
2 ADDR {0:1}
3 CONT
3 ADR1 {0:1}
3 ADR2 {0:1}
3 CITY {0:1}
3 STAE {0:1}
3 POST {0:1}
3 CTRY {0:1}
2 PHON {0:3}
2 AGE {0:1}
2 AGNC {0:1} Data appended to GenFact.Detail
2 CAUS {0:1} Data appended to GenFact.Detail
2 ***SUBORDINATE NOTE_STRUCTURE Supported as documented above
2 ***SUBORDINATE SOURCE_CITATION Supported as documented above
2 ***SUBORDINATE MULTIMEDIA_LINK Completely unsupported
2 FAMC @XREF:FAM@ {0:1} Only for ADOP event
3 ADOP {0:1} Only for ADOP event. Values: HUSB | WIFE | BOTH
Page 102
3 STAE {0:1}
3 POST {0:1}
3 CTRY {0:1}
2 PHON {0:3}
2 AGE {0:1}
2 AGNC {0:1} Data appended to GenFact.Detail
2 CAUS {0:1} Data appended to GenFact.Detail
2 ***SUBORDINATE NOTE_STRUCTURE Supported as documented above
2 ***SUBORDINATE SOURCE_CITATION Supported as documented above
2 ***SUBORDINATE MULTIMEDIA_LINK Completely unsupported
2 HUSB {0:1}
3 AGE {1:1}
2 WIFE {0:1}
3 AGE {1:1}
HEAD Record
0 HEAD {1:1}
1 SOUR {1:1} For reporting purposes only
2 VERS {0:1} For reporting purposes only
2 NAME {0:1} For reporting purposes only
2 CORP {0:1} For reporting purposes only
3 ADDR {0:1}
4 CONT
4 ADR1 {0:1}
4 ADR2 {0:1}
4 CITY {0:1}
4 STAE {0:1}
4 POST {0:1}
4 CTRY {0:1}
3 PHON {0:3}
2 DATA {0:1}
3 DATE {0:1}
3 COPR {0:1}
4 CONT
1 DEST {0:1}
1 DATE {0:1}
2 TIME {0:1}
Page 103
1 SUBM @XREF:SUBM@ {1:1} Supported as documented below
1 SUBN @XREF:SUBN@ {0:1}
1 FILE {0:1}
1 COPR {0:1} FileHeader.Copyright
1 GEDC {1:1}
2 VERS {1:1}
2 FORM {1:1}
2 SIGNATURE GEDCOM 5_5
1 CHAR {1:1}
2 VERS {0:1}
1 LANG {0:1}
1 PLAC {0:1}
2 FORM {1:1}
1 NOTE {0:1} FileHeader.Comment
2 CONC
2 CONT
INDI Record
0 @XREF:INDI@ INDI
1 RESN {0:1} Simple existence of tag sets GenPerson.IsPrivate true
1 NAME Includes support for nicknames
2 NPFX {0:1} GenName.Title
2 GIVN {0:1} GenName.Given
2 NICK {0:1} GenName.Familiar
2 SPFX {0:1}
2 SURN {0:1} GenName.Surname
2 NSFX {0:1} GenName.Suffix
2 _NAMETYPE ScionPC custom tag
2 ***SUBORDINATE NOTE_STRUCTURE Supported as documented above
2 ***SUBORDINATE SOURCE_CITATION Supported as documented above
1 TITL Obsolete "nobility" tag. Only applied to 1st of multiple names.
1 SEX {0:1}
1 ***SUBORDINATE PERSONAL ATTRIBUTES AND EVENTS (FACTS)
1 ***SUBORDINATE PERSONAL LDS EVENTS (LDSEVENTS)
1 FAMC @XREF:FAM@ c.f. CHIL in FAM record
2 PEDI {0:1} Values: adopted|birth|foster|sealing|step|other|unknown
2 NOTE @XREF:NOTE@ GenChild.NoteID
3 CONC
3 CONT
3 SOUR @XREF:SOUR@
1 FAMS @XREF:FAM@ c.f. HUSB and WIFE in FAM record
2 NOTE @XREF:NOTE@
3 CONC
3 CONT
3 SOUR @XREF:SOUR@
1 SUBM @XREF:SUBM@
1 ASSO @XREF:INDI@
2 RELA {1:1}
2 NOTE @XREF:NOTE@
3 CONC
3 CONT
3 SOUR @XREF:SOUR@
1 ALIA @XREF:INDI@ Only “Family Tree Maker” invalid construct supported
1 ANCI @XREF:SUBM@
1 DESI @XREF:SUBM@
1 RFN {0:1}
1 AFN {0:1} Handled as “Ancestral File No.” user-defined fact
1 REFN GenPerson.UserID
2 TYPE {0:1}
1 RIN {0:1}
1 CHAN {0:1}
2 DATE {1:1}
3 TIME {0:1}
2 NOTE @XREF:NOTE@
Page 104
3 CONC
3 CONT
3 SOUR @XREF:SOUR@
1 ***SUBORDINATE NOTE_STRUCTURE Supported as documented above
1 ***SUBORDINATE SOURCE_CITATION Supported as documented above
1 ***SUBORDINATE MULTIMEDIA_LINK Supported as documented above
FAM Record
0 @XREF:FAM@ FAM
1 RESN {0:1}
1 ***SUBORDINATE FAMILY EVENTS (FACTS)
1 ***SUBORDINATE FAMILY LDS EVENTS (LDSEVENTS)
1 HUSB @XREF:INDI@ {0:1} c.f. FAMS in INDI record. For conversion HUSB = Prime
1 WIFE @XREF:INDI@ {0:1} c.f. FAMS in INDI record. For conversion WIFE = Partner
1 CHIL @XREF:INDI@ c.f. FAMC in INDI record
1 NCHI {0:1}
1 SUBM @XREF:SUBM@
1 REFN GenFamily.UserID
2 TYPE {0:1}
1 RIN {0:1}
1 CHAN {0:1}
2 DATE {1:1}
3 TIME {0:1}
2 NOTE @XREF:NOTE@
3 CONC
3 CONT
3 SOUR @XREF:SOUR@
1 ***SUBORDINATE NOTE_STRUCTURE Supported as documented above
1 ***SUBORDINATE SOURCE_CITATION Supported as documented above
1 ***SUBORDINATE MULTIMEDIA_LINK Supported as documented above
Page 105
3 CONC
3 CONT
3 SOUR @XREF:SOUR@
REPO Record
0 @XREF:REPO@ REPO
1 NAME {1:1} GenHolder.Name
1 ADDR {1:1} GenHolder.Address1 – GenHolder.Address5
2 CONT {1:M}
2 ADR1 {0:1}
2 ADR2 {0:1}
2 CITY {0:1}
2 STAE {0:1}
2 POST {0:1}
2 CTRY {0:1}
1 PHON {0:3} GenHolder.Phone
1 EMAIL {0:M} GenHolder.Email (GEDCOM 5.5.1 tag)
1 _EMAIL {0:M} GenHolder.Email (common user-defined tag)
1 WWW {0:M} GenHolder.URL ( GEDCOM 5.5.1 tag)
1 NOTE @XREF:NOTE@ Data appended to GenHolder.Detail
2 CONC
2 CONT
2 SOUR @XREF:SOUR@
1 REFN Data appended to GenHolder.Detail
2 TYPE {0:1}
1 RIN {0:1} Data appended to GenHolder.Detail
1 CHAN {0:1}
2 DATE {1:1}
3 TIME {0:1}
2 NOTE @XREF:NOTE@
3 CONC
3 CONT
3 SOUR @XREF:SOUR@
NOTE Record
0 @XREF:NOTE@ NOTE
1 CONC
1 CONT
1 SOUR @XREF:SOUR@
2 CONC
2 CONT
2 PAGE {0:1}
2 EVEN {0:1}
3 ROLE {0:1}
2 DATA {0:1}
3 DATE {0:1}
3 TEXT
4 CONC
4 CONT
2 QUAY {0:1}
2 TEXT
3 CONC
3 CONT
2 QUAY {0:1}
1 REFN Prepended to GenNote.Detail
2 TYPE {0:1}
1 RIN {0:1}
1 CHAN {0:1}
2 DATE {1:1} Only DATE supported
3 TIME {0:1}
2 NOTE @XREF:NOTE@
3 CONC
3 CONT
Page 106
3 SOUR @XREF:SOUR@
SOUR Record
0 @XREF:SOUR@ SOUR
1 DATA {0:1}
2 EVEN
3 DATE {0:1}
3 PLAC {0:1}
2 AGNC {0:1}
2 NOTE @XREF:NOTE@
3 CONC
3 CONT
3 SOUR @XREF:SOUR@
1 AUTH {0:1} GenSource.Author
2 CONC
2 CONT
1 TITL {0:1} GenSource.Title
2 CONC
2 CONT
1 ABBR {0:1} GenSource.Title (only used if TITL is empty)
1 PUBL {0:1} Appended to GenSource.Location
2 CONC
2 CONT
1 TEXT {0:1} Appended to GenSource.Detail
2 CONC
2 CONT
1 SUBM @XREF:SUBM@ {0:1}
1 REPO @XREF:REPO@ {0:1} Appended to GenHolder.Detail field
2 NOTE @XREF:NOTE@ Appended to GenHolder.Detail field (if embedded note)
3 CONC
3 CONT
3 SOUR @XREF:SOUR@
2 CALN Appended to GenHolder.Detail field
3 MEDI {0:1}
1 REFN
2 TYPE {0:1}
1 RIN {0:1}
1 CHAN {0:1}
2 DATE {1:1} Only DATE supported
3 TIME {0:1}
2 NOTE @XREF:NOTE@
3 CONC
3 CONT
3 SOUR @XREF:SOUR@
1 ***SUBORDINATE NOTE_STRUCTURE Supported as documented. Appended to GenSource.Detail.
1 ***SUBORDINATE MULTIMEDIA_LINK Completely unsupported
SUBM Record
0 @XREF:SUBM@ SUBM
1 NAME {1:1} FileHeader.Name
Page 107
1 ADDR {1:1} FileHeader.Address1 – FileHeader.Address5
2 CONT {1:M}
2 ADR1 {0:1}
2 ADR2 {0:1}
2 CITY {0:1}
2 STAE {0:1}
2 POST {0:1}
2 CTRY {0:1}
1 PHON {0:3} FileHeader.Phone
1 EMAIL {0:M} FileHeader.Email (GEDCOM 5.5.1 tag)
1 _EMAIL {0:M} FileHeader.Email (common user-defined tag)
1 WWW {0:M} FileHeader.URL ( GEDCOM 5.5.1 tag)
1 LANG {0:3}
1 RFN {0:1}
1 RIN {0:1}
1 CHAN {0:1}
2 DATE {1:1}
3 TIME {0:1}
2 NOTE @XREF:NOTE@
3 CONC
3 CONT
3 SOUR @XREF:SOUR@
1 ***SUBORDINATE MULTIMEDIA_LINK Completely unsupported
TRLR Record
0 TRLR {1:1}
Page 108
Appendix C2. ScionPC Supported GEDCOM Tags
GEDCOM Export
Unsupported tags are shown struckout Bold_Italic tags are additional to GEDCOM 5.5
HEAD Record
0 HEAD {1:1}
1 SOUR {1:1}
2 VERS {0:1}
2 NAME {0:1}
2 CORP {0:1}
3 ADDR {0:1}
4 CONT
Page 109
4 ADR1 {0:1}
4 ADR2 {0:1}
4 CITY {0:1}
4 STAE {0:1}
4 POST {0:1}
4 CTRY {0:1}
3 PHON {0:3}
2 DATA {0:1}
3 DATE {0:1}
3 COPR {0:1}
4 CONT
1 DEST {0:1} Set to "Other"
1 DATE {0:1}
2 TIME {0:1}
1 SUBM @XREF:SUBM@ {1:1} Supported as documented below
1 SUBN @XREF:SUBN@ {0:1}
1 FILE {0:1}
1 COPR {0:1} FileHeader.Copyright
1 GEDC {1:1}
2 VERS {1:1} Set to "5.5"
2 FORM {1:1} Set to "LINEAGE-LINKED"
2 SIGNATURE GEDCOM 5_5
1 CHAR {1:1} Set to "ANSI"
2 VERS {0:1}
1 LANG {0:1}
1 PLAC {0:1}
2 FORM {1:1}
1 NOTE {0:1} FileHeader.Comment
2 CONC
2 CONT
SUBM Record
0 @XREF:SUBM@ SUBM
1 NAME {1:1} FileHeader.Name
1 ADDR {1:1} FileHeader.Address1 – FileHeader.Address5
2 CONT {1:M}
2 ADR1 {0:1}
2 ADR2 {0:1}
2 CITY {0:1}
2 STAE {0:1}
2 POST {0:1}
2 CTRY {0:1}
1 PHON {0:M} FileHeader.Phone
1 EMAIL {0:M} FileHeader.Email (GEDCOM 5.5.1)
1 WWW {0:M} FileHeader.URL (GEDCOM 5.5.1)
1 LANG {0:3}
1 RFN {0:1}
1 RIN {0:1}
1 CHAN {0:1}
2 DATE {1:1}
3 TIME {0:1}
2 NOTE @XREF:NOTE@
3 CONC
3 CONT
3 SOUR @XREF:SOUR@
1 ***SUBORDINATE MULTIMEDIA_LINK Completely unsupported
INDI Record
0 @XREF:INDI@ INDI
1 RESN {0:1} Set to 'privacy' if GenPerson.IsPrivate true
1 NAME Includes support for nicknames
2 NPFX {0:1} GenName.Title
2 GIVN {0:1} GenName.Given
Page 110
2 NICK {0:1} GenName.Familiar
2 SPFX {0:1}
2 SURN {0:1} GenName.Surname
2 NSFX {0:1} GenName.Suffix
2 _NAMETYPE ScionPC custom tag
2 NOTE @XREF:NOTE@ Note reference
2 SOUR @XREF:SOUR@ Source reference
1 TITL Obsolete "nobility" tag. Only applied to 1st of multiple names.
1 SEX {0:1}
1 ***SUBORDINATE PERSONAL ATTRIBUTES AND EVENTS (FACTS)
1 ***SUBORDINATE PERSONAL LDS EVENTS (LDSEVENTS)
1 FAMC @XREF:FAM@ c.f. CHIL in FAM record
2 PEDI {0:1} Values: adopted|birth|foster|sealing|step|other|unknown
2 NOTE @XREF:NOTE@ GenChild.NoteID
3 CONC
3 CONT
3 SOUR @XREF:SOUR@
1 FAMS @XREF:FAM@ c.f. HUSB and WIFE in FAM record
2 NOTE @XREF:NOTE@
3 CONC
3 CONT
3 SOUR @XREF:SOUR@
1 SUBM @XREF:SUBM@
1 ASSO @XREF:INDI@
2 RELA {1:1}
2 NOTE @XREF:NOTE@
3 CONC
3 CONT
3 SOUR @XREF:SOUR@
1 ALIA @XREF:INDI@
1 ANCI @XREF:SUBM@
1 DESI @XREF:SUBM@
1 RFN {0:1}
1 AFN {0:1}
1 REFN GenPerson.UserID
2 TYPE {0:1}
1 RIN {0:1}
1 CHAN {0:1}
2 DATE {1:1}
3 TIME {0:1}
2 NOTE @XREF:NOTE@
3 CONC
3 CONT
3 SOUR @XREF:SOUR@
1 NOTE @XREF:NOTE@ Note reference
1 SOUR @XREF:SOUR@ Source reference
1 ***SUBORDINATE MULTIMEDIA_LINK Supported as documented above
FAM Record
0 @XREF:FAM@ FAM
1 RESN {0:1}
1 ***SUBORDINATE FAMILY EVENTS (FACTS)
1 ***SUBORDINATE FAMILY LDS EVENTS (LDSEVENTS)
1 HUSB @XREF:INDI@ {0:1} c.f. FAMS in INDI record. For conversion HUSB = Prime
1 WIFE @XREF:INDI@ {0:1} c.f. FAMS in INDI record. For conversion WIFE = Partner
1 CHIL @XREF:INDI@ c.f. FAMC in INDI record
1 NCHI {0:1}
1 SUBM @XREF:SUBM@
1 REFN GenFamily.UserID
2 TYPE {0:1}
1 RIN {0:1}
1 CHAN {0:1}
2 DATE {1:1}
3 TIME {0:1}
Page 111
2 NOTE @XREF:NOTE@
3 CONC
3 CONT
3 SOUR @XREF:SOUR@
1 NOTE @XREF:NOTE@ Note reference
1 SOUR @XREF:SOUR@ Source reference
1 ***SUBORDINATE MULTIMEDIA_LINK Supported as documented above
NOTE Record
0 @XREF:NOTE@ NOTE
1 CONC
1 CONT
1 SOUR @XREF:SOUR@
2 CONC
2 CONT
2 PAGE {0:1}
2 EVEN {0:1}
3 ROLE {0:1}
2 DATA {0:1}
3 DATE {0:1}
3 TEXT
4 CONC
4 CONT
2 QUAY {0:1}
2 TEXT
3 CONC
3 CONT
2 QUAY {0:1}
1 REFN
2 TYPE {0:1}
1 RIN {0:1}
1 CHAN {0:1}
2 DATE {1:1} Only DATE supported
3 TIME {0:1}
2 NOTE @XREF:NOTE@
3 CONC
3 CONT
3 SOUR @XREF:SOUR@
SOUR Record
0 @XREF:SOUR@ SOUR
1 DATA {0:1}
2 EVEN
3 DATE {0:1}
3 PLAC {0:1}
2 AGNC {0:1}
2 NOTE @XREF:NOTE@
3 CONC
3 CONT
3 SOUR @XREF:SOUR@
1 AUTH {0:1} GenSource.Author
2 CONC
2 CONT
1 TITL {0:1} GenSource.Title
2 CONC
2 CONT
1 ABBR {0:1}
1 PUBL {0:1} GenSource.Location
2 CONC
2 CONT
1 TEXT {0:1} GenSource.Detail
2 CONC
2 CONT
1 SUBM @XREF:SUBM@ {0:1}
Page 112
1 REPO @XREF:REPO@ {0:1}
2 NOTE @XREF:NOTE@
3 CONC
3 CONT
3 SOUR @XREF:SOUR@
2 CALN
3 MEDI {0:1}
1 REFN
2 TYPE {0:1}
1 RIN {0:1}
1 CHAN {0:1}
2 DATE {1:1} Only DATE supported
3 TIME {0:1}
2 NOTE @XREF:NOTE@
3 CONC
3 CONT
3 SOUR @XREF:SOUR@
1 ***SUBORDINATE NOTE_LINK Completely unsupported
1 ***SUBORDINATE MULTIMEDIA_LINK Completely unsupported
REPO Record
0 @XREF:REPO@ REPO
1 NAME {1:1} GenHolder.Name
1 ADDR {1:1} GenHolder.Address1 – GenHolder.Address5
2 CONT {1:M}
2 ADR1 {0:1}
2 ADR2 {0:1}
2 CITY {0:1}
2 STAE {0:1}
2 POST {0:1}
2 CTRY {0:1}
1 PHON {0:3} GenHolder.Phone
1 EMAIL {0:M} GenHolder.Email (GEDCOM 5.5.1 tag)
1 WWW {0:M} GenHolder.URL ( GEDCOM 5.5.1 tag)
1 NOTE @XREF:NOTE@ GenHolder.Detail + GenHolder.Abbreviation
2 CONC
2 CONT
2 SOUR @XREF:SOUR@
1 REFN
2 TYPE {0:1}
1 RIN {0:1}
1 CHAN {0:1}
2 DATE {1:1}
3 TIME {0:1}
2 NOTE @XREF:NOTE@
3 CONC
3 CONT
3 SOUR @XREF:SOUR@
TRLR Record
0 TRLR {1:1}
Page 113
Appendix C3. GEDCOM Tag Definitions
These definitions are extensions to the GEDCOM Standard, Draft Release 5.5. ScionPC adds a
number of custom tags, supports a number of additional tags introduced in the GEDCOM draft
5.5.1 specification (dated 2 October 1999), and supports a number of tags from other genealogical
programs. Consult the GEDCOM Standards for a complete list of “standard” tags.
_NAMETYPE
The GEDCOM standard does not support “types” of names. To provide this support
ScionPC has introduced an additional “_NAMETYPE” sub-tag of the NAME tag. Other
programs use other techniques to address this inadequacy. The possible values are the
strings -
Chosen | Adopted | Spouse | Traditional | Religious | Other | Unknown
In the absence of this custom tag, a name type of “Birth” is assumed (the default value).
_CELE {CELEBRANT}:=
Officiating priest or official (typically at a marriage)
_ELEC {ELECTION}:=
An event when a person was elected to political or other office.
EMAIL {EMAIL}:=
An electronic mail address. (A “synonym” of the “EMAI” tag below)
_HONR {HONOUR}:=
The official conferring of an award or distinction for bravery, service or achievement.
_SEPN {SEPARATION}:=
An event of partial divorce without dissolution of marriage tie.
TITL {TITLE}:=
The acquired or inherited rank, office, honour, distinction, occupation or attainment of a
Page 114
person (such as "Doctor", "Sir", "Justice", "Colonel", etc). Because ScionPC allows the
recording of these name-titles, the obsolete TITL tag has been re-instated, but is only
supported for the first of multiple names.
_UNIO {UNION}:=
An event of creating a union between two people to form a couple in a committed
relationship. Includes 'de facto' and single-sex relationships.
_WITN {WITNESS}:=
Person attesting genuineness of signatures to a document (typically a marriage certificate)
FACT {FACT}:=
A generic fact or characteristic.
WWW {WEB}:=
World Wide Web home page. (Also supported on import only are the common variants
URL and _URL.)
The following tags, introduced with GEDCOM 5.5.1 are not supported -
Page 115
_MDCL Medical condition tags in a GEDCOM file sourced from Family
Tree Maker are mapped to ScionPC “User Defined” facts with
a user-type of “Medical Condition”
_APID GEDCOM files downloaded from the Ancestry.com web-site
use this tag to link Sources to Ancestry's internal database
system. ScionPC appends this tag to the Source/Detail field in
the format - “Ancestry.com _APID: ” followed by the reference
number. Eg: Ancestry.com _APID: 1,7884::16474281
These custom tags and their meanings are provided “as-is” from a multitude of sources, and
absolutely NO guarantee is given to their accuracy. Please threat them with caution, and consult
other sources of information to verify their accuracy. Documentation supplied with the “3rd party”
programs should be consulted for details about custom tags generated by those programs.
In the official GEDCOM specification, it is recommended that custom tags have a leading '_'
(underscore) character. This is violated by many programs. In the following lists, all tags are
shown without a leading '_' character, even though many will have been implemented with the
leading '_'.
Ancestral Quest
AKA "Also know as" name PAREN Indicates source facts are to be enclosed in
parentheses
DATE2 Second date in a date range PRIM Preferred/highlighted image
HUSB Indicates a child status within a family PRIMARY Indicated primary family for adopted child
IDNO Reference number SCBK In the OBJE record to indicate if the multimedia object
should be in the scrapbook
ITALIC Indicates source title to be in italics SSHOW Indicates if image is included in slideshow
MARNM Married name TYPE In the OBJE record to indicate the type of the object
MASTER Indicates source is to appear in Master listing WIFE Child status within a family
Brothers Keeper
ADPF Used for adoptive father MARI Marriage Intention
ADPM Used for adoptive mother MARN Married name
ADPN Adopted name MBON Marriage bond
AKAN "Also know as" name MEDC Medical condition
BIRN Birth name MILI Military event Supported by ScionPC
BRTM Brit Mila (Jewish circumcision) MILI2 Military Service
CEME The place where someone is buried NICK2 A descriptive or familiar that is used instead of, or in
addition to, one's proper name
CENN A name as identified on a census NICN Used in place of NICK (nickname)
COLO Colour of a person's skin NLIV Not living
Page 116
COML Common law marriage Supported by ScionPC NMAR Never married (person)
CURN Currently know as NMR Not married
EMAIL The email address of the individual NMR2 The parents in the family were never married
EYEC Eye colour OTHN Other name
FARN Farm name PKAN Used for the former name of a person
FKAN Formally known as PRMN Permanent number
FNRL Funeral RELN Religious name
FRKA A name by which a person was formally known SEPR Separated Supported by ScionPC
GERN German name SHON A short representation of a name.
HAIR Hair colour SLDN Soldier name
HEBN Hebrew name TODO To-do Item
HEIG Height WEIG Weight
INDN Indian name WEIG2 Weight of a person
INTE Interred YART Yartzeit - Jewish anniversary of the death of a relative
Family Origins
AKA "Also know as" name REAS Reason (subtag to _CORR)
CORR Correspondence entry RESP Response for correspondence
Page 117
EVDEF A tag for a 0-level record that defines an event RPLY Reply status for correspondence
EXCO Excommunicated SCBK Used with linked object (OBJE) information
NAMS Namesake (named after) TODO To-do Item
PRIM Preferred/highlighted image TYPE Used with linked object (OBJE) information
Generations
ADR3 Third address line LVNG Living
CIRC Circumcision MILA Military award
CITN Citizenship MILD Military discharge
CLER Clergy MILF Served in military
COLO Skin colour MILT Military services Supported by ScionPC
CPLR Compiler MISC Miscellaneous
EDTN Edition MISN Mission
EMAL Email address MOVE Move
EXCO Excommunicated NAMG Naming
EYES Eyes colour NAMR Religious name
FACT Fact NOTP Private note
FAX Fax phone number PART Partners
FILN File number PURC Land purchase
FRND Friends RACE Race
HAIR Hair colour REGI Register
HEIG Height SEPA Separation Supported by ScionPC
HOBB Hobbies STAT Status
HONO Honours Supported by ScionPC STLB Stillborn
HOSP Hospitalization TXPY Tax payer
ILLN Illness VOL Volume
LOCA Source locality WEIG Weight
Legacy
AKA "Also know as" name PREF To track preferred children and spouses
GROUP To track label groupings PRIM Preferred/highlighted image
NAME Found in the repository information & duplicates regular PRIV Specifies whether or not a statement of privacy is
NAME tag information allowed on an event
ORDER To track child, spouse and parent orders SOUND Specifies a sound file name
OVER An override for a sentence describing an event TAG A tag subordinate to the ADDR field
PATH To specify a path to a multimedia file TAGx To track marked records
PHOTO To specify a picture name TODO To-do Item
PLAC_DEFN A tag for a 0-level record that defines a place VIDEO Specifies a video file name
Page 118
MEDC Medical condition URL Web URL
NAME Name in the address group of tags WAC A religious event where initiatory (washing, anointing,
and clothing) ordinances for an individual was
performed by priesthood authority in an LDS temple
Reunion
ANUL Annulment INTV Interviewed
AUTH Author ISSU Issue (children)
BLESS Blessing LOCA The location of a source
CITN Citizenship MILF Served in military
CLAW Family is a result of common-law union MILI Military Supported by ScionPC
CLER Clergy NAMM Name ???
COLO Skin colour NAMR A religious name
CPLR Compiler of a source NAMS Namesake (named after)
CSTA Status of a child in a family NATI Nationality
DATV Date of verification of a source OWNR Owner of a source
DEGR Degree PERI The name of a periodical source
DESC Description PUBL Publication
DETA Source detail PURC Land purchase
EDTN Edition PURC2 The act of purchasing land
EDTR Editor RACE Race
EYES Eyes RECO Recorder
FILN File number REGI Register
HAIR Hair colour RESIR Residence
HEAL Medical SEPA Separation Supported by ScionPC
HEIG Height UMAR Unmarried
HIST Research notes URL Web URL
HOBB Hobbies VOL Volume for a source
HONO Honours Supported by ScionPC WEIG Weight
INTE Interviewer
RootsMagic
ADOP2 Pertaining to adoptive child-parent relationship PPFX Place prefix for event definition
BIBL A bibliographic version of a source SENT Sentence for event definition
EVDEF A tag for a 0-level record that defines an event SUBQ A short version of a source used for subsequent source
references
FAX Fax phone number TODO A to-do item
NUMB Number WWW Web address
OTHERS
ABJUR Abjuration MARR_BANN Marriage banns Supported by ScionPC
ABSOL Absolution MARR_BTRO Marriage betrothal
ADPF Adopted by father MARR_CIVIL Civil marriage
ADPM Adopted by mother MARR_CMLAW Marriage (common law) Supported by ScionPC
ANCE Ancestor MARR_CNSNU Marriage consanguinity - marriage to blood relatives
Page 119
APLCNT Applicant MARR_CNTRC Marriage contract
APPRN Apprentice(ship) MARR_DIMIS Marriage dimissorial - permission to get married in
another jurisdiction
APRSR Appraiser MARR_DISPN Marriage dispensations
ASSO Associate MARR_ENGA Marriage engagements Supported by ScionPC
AUNT Aunt MARR_INTNT Marriage intention
BIBL Bibliography MARR_REHAB Marriage rehabilitation
BISHP Bishop MILI_DIS Military discharge
BOARDR Boarder MILI-INDU Military induction
BOROWR Borrower MISC Miscellaneous (diverse)
BRID Bride MISS_PRSN Missing person
BRO Brother MNSTR Minister
CAPT Captain MODIF Modified date
CHARTR Charter MONK Monk
CITZN Citizenship MSTAT Death status
CIVIL Court (civil) MSTR Master
CLRGY Clergymen NAME_CHNG Name change
CMDR Commander NAMR Alternative name
CNFSCTN Confiscation NEPH Nephew
COMM Comment NIECE Niece
COMUN Communion NLAW In-law
COUSN Cousins NLAW_BRO Brother-in-law
CREAT Created-by date NLAW_DAU Daughter-in-law
CREW Crew NLAW_FATH Father-in-law
CRIME Court (criminal) NLAW_MOTH Mother-in-law
CRTULRY Cartulary NLAW_SIS Sister-in-law
DEAD Deceased NLAW_SON Son-in-law
DEAT_NOTE Death notice NOTP Private note
DEG Academic degree NOTRY Notary
DESC Descendant NUN Nun
DIV_ANUL Divorce annulment Supported by ScionPC NURS Nurse
DIV_SEP Divorce separation Supported by ScionPC ORDI Ordinance
DOWRY Dowry ORIG Originator of a source
DPORTN Deportation ORPHN Orphan
EMAIL Email address PASL Passenger list
EMPLYMT Employment PASNGR Passenger
EMPLYR Employer PASP Passport
ENRLMNT Enrolment PATIENT Patient
EXCUTN Execution PGVU Last changed by
EXCUTR Executor PHYSN Physician
F_COMM First communion POLI_RPT Police reports
FAX FAX POOR_LAW Poor law
FIANCE Fiance POPL_REG Population register
FONE Phonetic PRISNR Prisoner
FREND Friend PROF Professor
FROM The beginning date of an event REFN Reference number
FUNRL_HOME Funeral home RETI Retirement
GALLEY Galley RFN Record number
GODF Godfather RIN Record number
GODM Godmother RNTR Renter
GR_AUNT Grand aunt ROSTR Roster
GR_FATH Grand father RSDNT Resident
GR_MOTH Grand mother S_COMM Solemn communion
GR_UNCL Grand uncle SASINE Sasine (feudal property, typically land)
GROO Groom SBLNG Sibling
GUARDN Guardian SEPRTN Separation Supported by ScionPC
HEB Hebrew SERVNT Servant
HEIR Heir SIS Sister
HNM Hebrew name SLAV Slave
HOL Holocaust SLAVE Slavery
INSTR Instructor SOLDR Soldier
INTRO Introduction STEWRT Stewart
Page 120
JRNYMN Journeyman STUD Student
JUDGE Judge SUBQ Short version
LAND Land TEACHR Teacher
LATI Latitude TENANT Tenant
LEGA Legatee THUM Use this image as the thumbnail
LENDR Lender TOWN The town in which an event took place
LND_LEAS Land lease TSTMNT Testament
LND_PURC Land purchase UNCL Uncle
LOCA The location of a source VOTE_REG Voting registration
LONG Longitude VOW Vow
M_WIFE Midwife WARD Ward
MAP Map
Page 121
Appendix D. ScionPC Web Template Variables
User web page templates support the following variables -
All Pages
Variable Function Example
<!--@DBNAME@--> The name of database as recorded in the Smith Family Database
File/Properties/Database Details/Name
field.
<!--@METADB@--> An HTML meta-tag containing the name of <META NAME="DESCRIPTION"
database as recorded in the CONTENT="Smith Family Database">
File/Properties/Database Details/Name
field. This variable only makes sense
within the <head></head> context.
<!--@METAKEYS@--> An HTML meta-tag containing the <META NAME="KEYWORDS"
surnames of the people in the database, CONTENT="family,family tree,family
returned in “frequency-of-occurrence” history,genealogy,smith,jones,doe">
order – the most frequently occurring
name first. This variable only makes
sense within the <head></head>
context.
<!--@METAPROG@--> An HTML meta-tag containing the name of <META NAME="GENERATOR"
the program. This variable only makes CONTENT="ScionPC Genealogical
sense within the <head></head> Management System © 1993-2010 by
context. Please use this tag ☺ R J Akins, Wellington, NZ">
<!--@METAAUTHOR@--> An HTML meta-tag containing the name of <META NAME="AUTHOR"
the preparer of the database as recorded CONTENT="John A Smith">
in the File/Properties/Researcher Contact
Details/Name field. This variable only
makes sense within the <head></head>
context.
<!--@METACOPY@--> An HTML meta-tag containing the <META NAME="COPYRIGHT"
copyright notice for the database as CONTENT="Copyright ©2007 by John
recorded in the File/Properties/Database Albert Smith, Wellington, NEW
Details/Copyright field. This variable only ZEALAND.">
makes sense within the <head></head>
context.
<!--@GENDATE_L@--> The page generation date (long format) 23 December 2012
<!--@GENDATE_S@--> The page generation date (short format) 23 Dec 2012
<!--@NAVBAR@--> A navigation bar including page links:
“Back”, “Home”, “Surname Index”, “Album
Index” and “Evidence Index”.
Personal Pages
Variable Function Example
<!--@FULLNAME@--> The full name of the person including SMITH, John Henry (“Harry”) [Sir]
familiar names, titles and name suffixes in
the display order specified in the database.
<!--@LNK_NAME@--> The person's name as an HTML hyperlink <a href="P34.htm"><b>SMITH</b>,
to the personal page for this person. John Henry ("Harry")
Unlikely to be used. [Sir]</a>
<!--@LNK_PREV@--> The previous person's name as an HTML <a href="P33.htm"><b>SMITH</b>,
hyperlink to the Personal Page for the Mary Jane</a>
previous person in the database (in
numerical order).
Page 122
Variable Function Example
<!--@LNK_NEXT@--> The next person's name as an HTML <a href="P35.htm"><b>DOE</b>, John
hyperlink to the Personal Page for the next Peter</a>
person in the database (in numerical
order).
<!--@PERDATA@--> Returns the HTML code to display all the
personal details of the person.
<!--@IMMEDFAM@--> Returns the HTML code to display all the
immediate family details (parents, siblings,
partners and children) of the person.
<!--@DESC@--> Returns the HTML code to display all the
descendants of the person.
<!--@ANC@--> Returns the HTML code to display all the
ancestors of the person. SPECIAL NOTE:
"Sex-less" and “intersex”people (and their
ancestors) will not be included in the chart.
<!--@LNK_PERPIX@--> Returns the HTML code to display the
“tagged” picture attachment for the person
as a hyperlink. The picture will be without
any additional decoration. The hyperlink
will link to the Personal Album for the
person. See also the notes for “Personal
Albums” below.
<!--@LNK_PERPIXSH@--> Returns the HTML code to display the
“tagged” picture attachment for the person
as a hyperlink. The picture will be
displayed with “drop shadows”. The
hyperlink will link to the Personal Album for
the person. See also the notes for
“Personal Albums” below.
Personal Albums
If a Personal Album page already exists, it will never be overwritten. This allows the user to add
additional pictures and other material to a Personal Album.
The creation of a Personal Album (and a hyperlink on an associated Personal Page) is defined by
the intersections in the following table -
Page 123
Variable Usage:
Variable Function Example
<!--@FULLNAME@--> The full name of the person including SMITH, John Henry (“Harry”) [Sir]
familiar names, titles and name suffixes in
the display order specified in the database.
<!--@LNK_NAME@--> An HTML hyperlink to the Personal Page <a href="P34.htm"><b>SMITH</b>,
for this person. John Henry ("Harry")
[Sir]</a>
<!--@ALBUM_PERPIX@--> Returns the HTML code to display the
“tagged” picture attachment for the person.
The picture will be without any additional
decoration.
<!--@ALBUM_PERPIXSH@--> Returns the HTML code to display the
“tagged” picture attachment for the person.
The picture will be displayed with “drop
shadows”.
Family Albums
If a Family Album page already exists, it will never be overwritten. This allows the user to add
additional pictures and other material to a Family Album.
If a family album does NOT exist when the person's “Personal Page” is generated AND there is a
family's tagged picture attachment (for parent family or partner family), then a new Family Album
will be created holding a copy of the family's tagged picture attachment.
Variable Function Example
<!--@COUPLENAMES@--> The full names of the Prime and Partner for <b>JONES</b>, Peter Albert &
the family. <b>SMITH</b>, Mary Jane
<!--@LNK_COUPLENAMES@--> The full names of the Prime and Partner for <a href="P42.htm"><b>JONES</b>,
the family each as a hyperlink to that Peter Albert</a> &
person's Personal Page. <a href="P33.htm"><b>SMITH</b>,
Mary Jane</a>
<!--@ALBUM_FAMPIX@--> Returns the HTML code to display the
“tagged” picture attachment for the family.
The picture will be without any additional
decoration.
<!--@ALBUM_FAMPIXSH@--> Returns the HTML code to display the
“tagged” picture attachment for the family.
The picture will be displayed with “drop
shadows”.
Notes Pages
Variable Function Example
<!--@SIMPLEID@--> The ID number of the Note 42
<!--@NOTEDATA@--> The data for the note
<!--@NOTEFOR@--> Returns the HTML code to display what
items (people, families, facts, etc) this note
is used as evidence for.
Sources Pages
Variable Function Example
<!--@SIMPLEID@--> The ID number of the Source 42
<!--@SRCEDATA@--> The data for the source
<!--@SRCEFOR@--> Returns the HTML code to display what
items (people, families, facts, etc) this
source is used as evidence for.
Page 124
Surname Main Index
Variable Function Example
<!--@SURNAME@--> Returns the HTML code to display a table
of all surnames in the database as
hyperlinks.
List of People
Variable Function Example
<!--@PEOPLELIST@--> Returns the HTML code to display a table
of all people in the database as hyperlinks,
along with their birth and death dates, and
their partners (as hyperlinks) with marriage
dates.
Evidence Index
Variable Function Example
<!--@EVIDENCE1@--> Returns the HTML code to display a table Note 1 Death SMITH, John Peter
of all notes and sources and what they are Note 2 Birth JONES, Mary
used as evidence for. Birth JONES, Helen Jane
<!--@EVIDENCE2@--> Returns the HTML code to display a table SMITH, John Peter
of people with all notes and sources Birth: Note 1, Death: Note 14,
associated with each person. Marriage: Source 32
Album Index
The generation of the album index works by looking for a pre-existing album file, and then
locating the appropriate person or family in the database. It does NOT check whether any person
or family has a tagged graphical attachment. Therefore, all albums need to be created (by
generating all personal pages) before generating an Album Index.
Variable Function Example
<!--@PERSALBUM@--> Returns the HTML code to display a list of
hyperlinks to all personal albums.
<!--@FAMALBUM@--> Returns the HTML code to display a list of
hyperlinks to all family albums.
Statistics Page
Variable Function Example
<!--@STATISTICS@--> Returns the HTML code to display all the
personal and family statistics.
Page 125
Appendix E. Name Matching Algorithms
Names are routinely mis-spelt and mis-pronounced. This is always a challenge in genealogical
research.
In ScionPC's “List of People”, “List of Families” and “List of Names”, there is a facility to filter the
contents of the lists. One option is to select names that “sound like” a supplied name. This filter
option uses the Original Metaphone algorithm described below.
Additionally ScionPC provides a facility to calculate Soundex, Metaphone and other phonetic
codes for surnames. The algorithms used are described below.
Another filtering option in lists is to select names “similar to”. This option uses the “Jaro-Winkler
Algorithm” to try and match names with similar spellings. This algorithm was developed at the U.S.
Census and used in post-enumeration analysis.
This information is supplied for interest only, and is NOT required for the use of ScionPC.
1. Russell Soundex
M. K. Odell and R. C. Russell applied for two patents (one in 1918, the other in 1922) for a system
to encode surnames so that names that sound alike would have the same code. The system,
called Soundex, became widely used.
Soundex is a simple algorithm that transforms any word into a code comprising a leading letter
followed by up to three digits. For example, Kavenagh gets the code K152 and this may be
matched to other names with the same code such as Kavnaugh and Kavenough. Unfortunately
the same code also matches with a huge number of unrelated names such as Kyppins and
Koppensteiner. This code also fails to match any name with a different leading letter such as
Cavenagh. In summary Soundex offers a reasonable level of recall but with low precision when
matching names.
2. Original Metaphone
Metaphone is a phonetic algorithm for indexing words by their sound, when pronounced in English.
The algorithm produces variable length keys as its output, as opposed to Soundex's fixed-length
keys. Similar sounding words share the same keys.
With Metaphone, Kavenagh gets the code KFNK and this matches with Kavnaugh, Kavenough
and Cavenagh. Unfortunately the same code also matches many unrelated names such as
Gavnik and Kaffanke. In summary Metaphone is better suited to name matching than Soundex
but is still far from ideal.
3. Double Metaphone
The Double Metaphone search algorithm is a phonetic algorithm written by Lawrence Philips and
is the second generation of his Metaphone algorithm.
It is called "Double" because it can return both a primary and a secondary code for a string; this
accounts for some ambiguous cases as well as for multiple variants of surnames with common
Page 126
ancestry. For example, encoding the name Smith yields a primary code of SM0 and a secondary
code of XMT, while the name Schmidt yields a primary code of XMT and a secondary code of
SMT--both have XMT in common.
Double Metaphone tries to account for myriad irregularities in English of Slavic, Germanic, Celtic,
Greek, French, Italian, Spanish, Chinese, and other origin. Thus it uses a much more complex
ruleset for coding than its predecessor; for example, it tests for approximately 100 different
contexts of the use of the letter C alone.
Gadd Phonix
Phonix, invented by Gadd in 1988, is one of the more ambitious variants of the traditional Soundex
encoding. Phonix applies a large set of rules to transform the name before it is mapped to a set of
codes. Altogether, there are about 160 transformations. The maximum length of any Phonix code
is restricted to eight characters.
References: T.N. Gadd - "Fishing fore Werds": Phonetic Retrieval of written text in Information
Retrieval Systems, Program 22/3, 1988, p.222-237. T.N. Gadd - PHONIX --- The Algorithm,
Program 24/4, 1990, p.363-366.
Daitch-Mokotoff
In 1985, Gary Mokotoff indexed the names of some 28,000 persons who legally changed their
names while living in Palestine from 1921 to 1948, most of whom were Jews with Germanic or
Slavic surnames. It was obvious there were numerous spelling variants of the same basic
surname and the list should be soundexed. Using the conventional U.S. government system,
which is based on the Russell system, many Eastern European Jewish names which sound the
same did not soundex the same. The most prevalent were those names spelled interchangeably
with the letter w or v, for example, the names Moskowitz and Moskovitz.
A modification to U.S. soundex system was then created and published in the first issue of
Avotaynu, the journal of Jewish genealogy, in an article titled "Proposal for a Jewish Soundex
Code." Randy Daitch read the article and expanded on the rules of the new system. This included
a number of improvements over the original system.
The new scheme was published a year later in Avotaynu by Daitch under the title "The Jewish
Soundex: A Revised Format." This new system has become known, after its authors, as the
Daitch-Mokotoff Soundex System.
Caverphone
The Caverphone 10-character phonetic coding system, created in the Caversham Project at the
University of Otago in New Zealand in 2002, was designed to be similar to Metaphone in the
sensitivity to letter placement, but with an encoding scheme intended to allow for the range of
accents present in the study area (southern part of the city of Dunedin, New Zealand) in the years
1893-1938.
Page 127
NYSIIS
The New York State Identification and Intelligence System Phonetic Code, commonly known as
NYSIIS, is a phonetic algorithm devised in 1970 as part of the New York State Identification and
Intelligence System (now a part of the New York State Division of Criminal Justice Services). It
features a 6-character code and an accuracy increase of 2.7% over the traditional Soundex
algorithm.
The algorithm, is described in Name Search Techniques, New York State Identification and
Intelligence System Special Report No. 1, by Robert L. Taft.
5. A Humorous Footnote
"A Plan for the Improvement of English Spelling; For example, in Year 1 that useless letter "c"
would be dropped to be replased either by "k" or "s", and likewise "x" would no longer be part
of the alphabet. The only kase in which "c" would be retained would be the "ch" formation,
which will be dealt with later. Year 2 might reform "w" spelling, so that "which" and "one"
would take the same konsonant, wile Year 3 might well abolish "y" replasing it with "i" and
Iear 4 might fiks the "g/j" anomali wonse and for all. Jenerally, then, the improvement would
kontinue iear bai iear with Iear 5 doing awai with useless double konsonants, and Iears 6-12 or
so modifaiing vowlz and the rimeining voist and unvoist konsonants. Bai Iear 15 or sou, it wud
fainali bi posibi tu meik ius ov thi ridandant letez "c", "y" and "x" ... bai nowjast a memori in
the maindz ov ould doderez ... tu riplais "ch", "sh", and "th" rispektivli. Fainali, xen, aafte sam
20 iers ov orxogrefkl riform, wi wud hev a lojikl, kohirnt speling in ius xrewawt xe Ingliy-
spiking werld." — Mark Twain
Page 128
Appendix F. Regular Expressions
1. Introduction
PERL-compatible "Regular Expression" matching and filtering in ScionPC is extremely powerful. It
can be used to perform simple as well as very complex "filtering". While complex patterns are
difficult to explain in simple terms, it is worthwhile attempting an understanding so that the full
power available can be used.
"Regular Expression" filtering is the method used in Person, Family and Name lists to perform
"Surname matches..." filtering. "Regular Expression" matching is also available in ScionPC's
"Search" function.
See Regular Expression Examples (below) for examples of using the power of this matching and
filtering method.
Regular expressions have a syntax in which a few characters are 'special' and the rest are
"ordinary". An ordinary character matches that character and nothing else. The special characters
are '$', '^', '.', '*', '+', '?', '[', ']' and '\'. Any other character appearing in a regular expression is
ordinary, unless a '\' precedes it.
The following are the characters and character sequences which have special meaning within
regular expressions. Any character not mentioned here is not special; it stands for exactly itself for
the purposes of searching and matching.
. is a special "wildcard" character that matches ANY single character. Therefore, 'a.b' will
match any text string which contains a three-character sequence that begins with 'a' and
ends with 'b'. For example, 't.e' will match 'tie' and 'toe', but will not match 'te'.
* means that the preceding pattern is to be repeated as many times as possible. In 'to*', the
'*' applies to the 'o', so 'to*' matches 't' followed by any number of 'o''s (including none).
Hence 'to*' will match 't', 'to', 'too', etc.
+ '+' is like '*' except that AT LEAST ONE match for the preceding pattern is required for '+'.
Thus, 'to+' does NOT match 't', but does match 'to', 'too', etc.
? '?' is like '*' except that it allows either ZERO OR ONE match for the preceding pattern.
Thus, 'ti?e' matches 'te' or 'tie', and nothing else.
[ ... ] '[' begins a "character set", which ends with a ']'. In the simplest case, the characters
between the two form the "set". Thus, '[ad]' matches either 'a' or 'd', and '[ad]*' matches
any text with 'a''s and 'd''s (including the "null" text), from which it follows that 'c[ad]*r'
matches 'car', etc.
Character ranges can also be included in a character set, by writing two characters with a
'-' between them. Thus, '[a-z]' matches any lower-case letter. (SPECIAL NOTE: Regular
expressions in ScionPC are NOT case-sensitive in list filtering, but MAY be case-sensitive
in searches.) Ranges may be intermixed freely with individual characters, as in '[a-z$%.]',
which matches any lower case letter or '$', '%' or period.
Note that the usual special characters are not special any more inside a character set. A
completely different set of special characters exists inside character sets: ']', '-' and '^'.
To include a ']' in a character set, you must make it the first character. For example, '[]a]'
matches ']' or 'a'. To include a '-', it must be the 1st character, or immediately after a range.
[^ ... ] '[^' begins a "complement character set", which matches any character EXCEPT the ones
specified. Thus, '[^a-z0-9A-Z]' matches all characters *except* letters and digits.
'^' is not special in a character set unless it is the first character. The character following
the '^' is treated as if it were first (it may be a '-' or a ']').
^ is a special character that matches at the beginning of a text string. Otherwise it fails to
match anything. Thus, '^tom' matches a 'tom' which occurs at the start of a text string.
Page 129
$ is similar to '^' but matches only at the end of a text string. Thus, 'ee*$' matches a text
string of one or more 'e''s at the end of a text string.
\ quotes the above special characters (including '\').
Because '\' quotes special characters, '\$' is a pattern which matches only '$', and '\[' is a
pattern which matches only '[', and so on.
| specifies an alternative. Two patterns A and B with '|' in between form a pattern that
matches anything that either A or B will match.
Thus, 'smith|jones' matches either 'smith' or 'jones' but no other name.
'|' applies to the largest possible surrounding patterns. Only a surrounding '( ... )' grouping
can limit the grouping power of '|'.
( ... ) allows grouping that serves two purposes:
1. To enclose a set of '|' alternatives for other operations. Thus, '(tin|phon)y' matches
either 'tiny' or 'phony'.
2. To enclose a complicated pattern for '*' to operate on. Thus, 'ba(na)*' matches
'bananana', etc., with any (zero or more) number of 'na''s.
In ScionPC's People, Family and Names lists, filter matching is always case-INSENSITIVE.
For searching, case-sensitivity is set by choosing the "Case/Ignore" or "Case/Match" option in the
Search Dialog.
• Regular Expression:
at
• Matches:
at
math
hat
ate
• Doesn't Match:
it
a-t
At (because of case)
• Regular Expression:
email
Page 130
• Matches:
email
emailing
many_emails
• Doesn't Match:
Email (because of case)
EMAILing (because of case)
e-mails
• Regular Expression:
abcdE567
• Matches:
abcdE567
AabcdE567ing
text_abcdE567
• Doesn't Match:
SPAMabCdE567
ABCDe567 (because of case)
Example 1: Use a wildcard to search for any one character before the string "ubject:".
• Regular Expression:
.ubject:
• Matches:
Subject:
subject:
Fubject:
• Doesn't Match:
Subject(missing :)
subject(missing :)
Example 2: Use three dots "..." to search for any three characters within a string.
• Regular Expression:
t...s
• Matches:
trees
tEENs
t345s
Page 131
t-4-s
• Doesn't Match:
Trees
twentys
t1234s
• Regular Expression:
.a.a.a
• Matches:
Canada
alabama
banana
3a4a5a
• Doesn't Match:
aaa
Precede the following metacharacters with a backslash "\" to search for them as literal characters:
^ $ + * ? . | ( ) { } [ ] \
Example 1: Escape the dollar sign "$" to find the alphanumeric string "$100".
• Regular Expression:
\$100
• Matches:
$100
$1000
• Doesn't Match:
\$100
100
Example 2: Use the dot "." as a literal character to find a file called "email.txt".
• Regular Expression:
email\.txt
• Matches:
email.txt
• Doesn't Match:
Page 132
email
txt
email_txt
Example 3: Escape the backslash "\" character to search for a Windows file.
• Regular Expression:
c:\\readme\.txt
• Matches:
c:\readme.txt
• Doesn't Match:
c:\\readme.txt
d:\readme.txt
c:/readme.txt
Ranges are considered "counting qualifiers" in regular expressions. This is because they specify
the minimum number of matches to find and the maximum number of matches to allow. Use
ranges in regular expression searches when a bound, or a limit, should be placed on search
results. For example, the range {3,5} matches an item at least 3 times, but not more than 5
times. When this range is combined with the regular expression, a{3,5}, the strings "aaa",
"aaaa", and "aaaaa" are successfully matched. If only a single number is expressed within curly
braces {3}, the pattern matches exactly three items. For example, the regular expression b{3}
matches the string "bbb".
Example 1: Match the preceding "0" at least 3 times with a maximum of 5 times.
• Regular Expression:
60{3,5} years
• Matches:
6000 years
60000 years
600000 years
• Doesn't Match:
60 years
600 years
6003 years
6000000 years
Example 2: Using the "." wildcard to match any character sequence two or three characters long.
• Regular Expression:
Page 133
.{2,3}
• Matches:
404
44
com
w3
• Doesn't Match:
4
a
aaaa
• Regular Expression:
be{2}t
• Matches:
beet
• Doesn't Match:
bet
beat
eee
• Regular Expression:
w{3}\.mydomain\.com
• Matches:
www.mydomain.com
• Doesn't Match:
web.mydomain.com
w3.mydomain.com
Repetition, ?*+
Unlike range quantifiers, the repetition quantifiers (question mark "?", asterisk "*", and plus "+")
have few limits when performing regular expression searches, they are greedy. This is significant
because these quantifiers settle for the minimum number of required matches, but always attempt
to match as many times as possible, up to the maximum allowed. For example, the question mark
"?" matches any preceding character 0 or 1 times, the asterisk "*" matches the preceding
character 0 or more times, and the plus "+" matches the preceding character 1 or more times. Use
repetition quantifiers in regular expression searches when large numbers of results are desired.
• Regular Expression:
colou?r
• Matches:
colour
color
Page 134
• Doesn't Match:
colouur
Colour
Example 2: Use "*" to match the preceding item 0 or more times; use "." to match any character.
• Regular Expression:
www\.my.*\.com
• Matches:
www.mysite.com
www.mypage.com
www.my.com
• Doesn't Match:
www.oursite.com
mypage.com
• Regular Expression:
bob5+@foo\.com
• Matches:
[email protected]
[email protected]
• Doesn't Match:
[email protected]
[email protected]
Quantifier Summary
The following table defines the various regular expression quantifiers. Note that each quantifier is
unique and will perform a varying minimum and maximum number of matches in order to search
successfully.
Quantifier Description
{num} Matches the preceding element num times.
{min, max} Matches the preceding element at least min times,
but not more than max times.
? Matches any preceding element 0 or 1 times.
* Matches the preceding element 0 or more times.
+ Matches the preceding element 1 or more times.
Page 135
Example 1: Use "|" to alternate a search for various spellings of a string.
• Regular Expression:
gray|grey
• Matches:
gray
grey
• Doesn't Match:
GREY
Gray
Example 2: Use "|" to alternate a search for either email or Email or EMAIL or e-mail.
• Regular Expression:
email|Email|EMAIL|e-mail
• Matches:
email
Email
EMAIL
e-mail
• Doesn't Match:
EmAiL
E-Mail
Using regular expressions to search for all words (in any order) in a string (logical AND).
Searching for a match for a series of words requires a somewhat complicated regular expression
involving "lookaround operators" -
Example 1: Search for all the words "cemetery" and "ararat" in any order.
• Regular Expression:
(?=.*cemetery)(?=.*ararat)
• Matches:
the old cemetery in ararat
ararat cemetery
ararat's lawn cemetery
• Doesn't Match:
buried in ballarat cemetery ('ararat' not in string)
Explanation: The "lookaround operators" allow one to match expressions "ahead" or "behind" the
current location in the string. This table shows the four lookaround expressions - lookahead,
negative lookahead, lookbehind, and negative lookbehind...
Operator Usage
(?=expr) Look ahead from current position and test if expr is found
(?!expr) Look ahead from current position and test if expr is not found
(?<=expr) Look behind from current position and test if expr is found
(?<!expr) Look behind from current position and test if expr is not found
Page 136
Grouping Similar Items in Parentheses
Use parentheses to enclose a group of related search elements. Parentheses limit scope on
alternation and create substrings to enhance searches with metacharacters. For example, use
parentheses to group the expression (abc), then apply the range quantifier {3} to find instances
of the string "abcabcabc".
Along with grouping expressions into subpatterns, parentheses also capture each part of a
matched string. It should be noted that this further parsing requires additional time and resources
to complete.
Example 1: Use parentheses and a range quantifier to find instances of the string "abcabcabc".
• Regular Expression:
(abc){3}
• Matches:
abcabcabc
abcabcabcabc
• Doesn't Match:
abc
abcabc
Example 2: Use parentheses to limit the scope of alternative matches on the words gray and grey.
• Regular Expression:
gr(a|e)y
• Matches:
gray
grey
• Doesn't Match:
gry
graey
Example 3: Use parentheses and "|" to locate past correspondence in a mail-filtering program.
This regular expression finds a 'To:' or a 'From:' line followed by a space and then either the word
'Smith' or the word 'Chan'.
• Regular Expression:
(To:|From:)(Smith|Chan)
• Matches:
To:Smith
To:Chan
From:Smith
To:Smith, Chan
To:Smithe
From:Channel4News
• Doesn't Match:
To:smith
To:All
To:Schmidt
Page 137
Matching Sequences
You can build a regular expression to match a sequence of characters. These sequences, called
"character classes", simply place a set of characters side-by-side within square brackets "[]". An
item in a character class can be either an ordinary character, representing itself, or a
metacharacter, performing a special function. This primer covers how to build simple character
classes, prevent matches with character classes, and construct compound character classes with
metacharacters.
The most basic type of character class is a set of characters placed side-by-side within square
brackets "[]". For example, the regular expression [bcr]at, matches the words "bat", "cat", or
"rat" because it uses a character class (that includes "b","c", or "r") as its first character. Character
classes only match singular characters unless a quantifier is placed after the closing bracket. For
examples using quantifiers with character classes, see Compound Character Classes.
Note: When placed inside a character class, the hyphen "-" metacharacter denotes a continuious
sequence of letters or numbers in a range. For example, [a-d] is a range of letters denoting the
continuious sequence of a,b,c and d. When a hyphen is otherwise used in a regular expression, it
matches a literal hyphen.
Example 1: Use a character class to match all cases of the letter "s".
• Regular Expression:
Java[Ss]cript
• Matches:
JavaScript
Javascript
• Doesn't Match:
javascript
javaScript
Example 2: Use a character class to limit the scope of alternative matches on the words gray and
grey.
• Regular Expression:
gr[ae]y
• Matches:
gray
grey
• Doesn't Match:
gry
graey
Example 3: Use a character class to match any one digit in the list.
• Regular Expression:
[0123456789]
Page 138
• Matches:
5
0
9
• Doesn't Match:
x
?
F
Example 4: To simplify the previous example, use a hyphen "-" within a character class to denote
a range for matching any one digit in the list.
• Regular Expression:
[0-9]
• Matches:
5
0
9
• Doesn't Match:
234
42
Example 5: Use a hyphen "-" within a character class to denote an alphabetic range for matching
various words ending in "mail".
• Regular Expression:
[A-Z]mail
• Matches:
Email
Xmail
Zmail
• Doesn't Match:
email
mail
Example 6: Match any three or more digits listed in the character class.
• Regular Expression:
[0-9]{3,}
• Matches:
012
1234
555
98754378623
• Doesn't Match:
10
7
Previous examples used character classes to specify exact sequences to match. Character
classes can also be used to prevent, or negate, matches with undesirable strings. To prevent a
Page 139
match, use a leading caret "^" (meaning NOT), within square brackets, [^...]. For example, the
regular expression [^a] matches any single character except the letter "a".
Note: The caret symbol must be the first character within the square brackets to negate a
character class.
Example 1: Prevent a match on any numeric string. Use the "*" to match an item 0 or more times.
• Regular Expression:
[^0-9]*
• Matches:
abc
c
Mail
u-see
a4a
• Doesn't Match:
1
42
100
23000000
Example 2: Search for a text file beginning with any character not a lower-case letter.
• Regular Expression:
[^a-z]\.txt
• Matches:
A.txt
4.txt
Z.txt
• Doesn't Match:
r.txt
a.txt
Aa.txt
• Regular Expression:
1[^02]
• Matches:
13
11
19
17
1a
• Doesn't Match:
10
12
42
a1
Page 140
Compound Character Classes
Character classes are a versatile tool when combined with various pieces of the regular
expression syntax. Compound character classes can help clarify and define sophisticated
searches, test for certain conditions in a program, and filter wanted e-mail from spam. This section
uses compound character classes to build meaningful expressions with the regular expression
syntax.
Example 1: Find a partial e-mail address. Use a character class to denote a match for any number
between 0 and 9. Use a range to restrict the number of times a digit matches.
• Regular Expression:
smith[0-9]{2}@
• Matches:
smith44@
smith42@
• Doesn't Match:
Smith34
smith6
Smith0a
Example 2: Search an HTML file to find each instance of a header tag. Allow matches on
whitespace after the tag but before the ">".
• Regular Expression:
(<[Hh][1-6] *>)
• Matches:
<H1>
<h6>
<H3 >
<h2>
• Doesn't Match:
<H1
< h2>
<a1>
Example 3: Match a regular 7-digit phone number. Prevent the digit "0" from leading the string.
• Regular Expression:
([1-9][0-9]{2}-[0-9]{4})
• Matches:
555-5555
123-4567
• Doesn't Match:
555.5555
1234-567
023-1234
Example 4: Match a valid web-based protocol. Escape the two front slashes.
Page 141
• Regular Expression:
[a-z]+:\/\/
• Matches:
http://
ftp://
tcl://
https://
• Doesn't Match:
http
http:
1a3://
• Regular Expression:
[a-z0-9_-]+(\.[a-z0-9_-]+)*@[a-z0-9_-]+(\.[a-z0-9_-]+)+
• Matches:
[email protected]
[email protected]
[email protected]
[email protected]
• Doesn't Match:
@foo.com
[email protected]
[email protected]
www.myemail.com
The following table defines various character class sequences. Use these alphanumeric patterns
to simplify your regular expression searches.
Note: The caret "^" has many meanings in regular expressions. Its function is determined by its
Page 142
context. The caret can be used as an anchor to match patterns at the beginning of a string, for
example:(^File). The caret can also be used as a logical "NOT" to negate content in a
character class, for example: [^...].
Example 1: Use "$" to match the ".com" pattern at the end of a string.
• Regular Expression:
.*\.com$
• Matches:
mydomain.com
a.b.c.com
• Doesn't Match:
mydomain.org
mydomain.com.org
Example 2: Use "^" to match "inter" at the beginning of a string, "$" to match "ion" at the end of a
string, and ".*" to match any number of characters within the string.
• Regular Expression:
^inter.*ion$
• Matches:
internationalization
internalization
• Doesn't Match:
reinternationalization
Example 3: Use "^" inside parentheses to match "To" and "From" at the beginning of the string.
• Regular Expression:
(^To:|^From:)(Smith|Chan)
• Matches:
From:Chan
To:Smith
From:Smith
To:Chan
• Doesn't Match:
From: Chan
from:Smith
To Chan
Example 4: Performing the same search as #3, place the caret "^" outside the parentheses this
time for similar results.
• Regular Expression:
^(From|Subject|Date):(Smith|Chan|Today)
• Matches:
From:Smith
Subject:Chan
Date:Today
Page 143
• Doesn't Match:
X-Subject:
date:Today
Matching White-space
White-space is defined as any "non-printing" character such as the space, tab and return
characters. To match any text containing white-space use the '\s' pattern - '\s' will match a single
white-space character.
Example 1: Use "\s" to match a single white-space characters within the string.
• Regular Expression:
ballarat\scemetery
• Matches:
ballarat cemetery
• Doesn't Match:
ballaratcemetery
ballaratcemetery
Example 2: To match an arbitrary number of white-space characters, use '\s+' which will match
one or more white-spaces.
• Regular Expression:
ballarat\s+cemetery
• Matches:
ballarat cemetery
ballaratcemetery
also (white-space character is 'return')...
ballarat
cemetery
• Doesn't Match:
ballarat-cemetery
Some tips...
Tip 1 - Match 'Tom' or 'Thomas':
All of the following should work (when working "case insensitive"). The star means match zero or
more occurrences of the preceding regular expression. Another way of looking at it is the
expression is optional. The third example may be the most efficient.
• Regular Expressions:
th*om(as)*
th*oma*s*
th{0,1}om(as){0,1}
In Florida there are lots of cities named Fort something or other. Sometimes the spelling is
abbreviated. You could get quite a few false hits with "ft". Because a city name always follows the
"fort" a space would cut down on the false hits. This is important , otherwise you will hit "often" or
"offtopic." The period must be escaped otherwise it will act as a wild card. NOTE: There is a
space after the last star.
Page 144
• Regular Expressions:
f(or)*t\.* (single space after last *)
•
f("[F](or)*t\.*(single space after last *)
• Regular Expression:
[A-Z](match only upper-case characters)
Many of these examples are from "The Regular Expressions Primer" from the "Expect for
Windows" User Guide at ASPN Active State Programmers Network. The tips are from the
“Gravity” program
Page 145
Appendix G. Credits and Acknowledgements
1. Components and source code
The following components and source code were used in the development of ScionPC -
HTMLHint
HTML-formatted hint component.
TPCRegExp
PCRE is a library of functions to support regular expressions whose syntax and semantics
are as close as possible to those of the Perl 5 language.
Permission is granted to anyone to use this software for any purpose on any computer
system...
TinyXML
TinyXml is a simple, small, C++ XML parser that can be easily integrating into other
programs.
www.sourceforge.net/projects/tinyxml
Original code (2.0 and earlier ) copyright (c) 2000-2002 Lee Thomason
(www.grinninglizard.com)
Permission is granted to anyone to use this software for any purpose, including commercial
applications, and to alter it and redistribute it freely...
GZStream
gzstream, C++ iostream classes wrapping the zlib compression library.
This library is free software; you can redistribute it and/or modify it under the terms of the
GNU Lesser General Public License as published by the Free Software Foundation...
zlib
'zlib' general purpose compression library v1.1.4, March 11th, 2002
Permission is granted to anyone to use this software for any purpose, including commercial
applications, and to alter it and redistribute it freely, subject to the following restrictions...
Page 146
TGIFImage
TGraphic implementation of the GIF89a graphics format
The Author hereby grant you a non-exclusive, royalty free license to use TGIFImage as set
forth below...
TFontComboBox
TFontListBox Component ver 1.01 and TFontComboBox Component ver 1.01
Double Metaphone
Double Metaphone (c) 1998, 1999 by Lawrence Philips
Slightly modified by Kevin Atkinson.
MySpell
MySpell is a simple spell checker that uses affix compression and is modelled after the spell
checker ispell. It has subsequently been superseded by the compatible “Hunspell” spell
checker.
Redistribution and use in source and binary forms, with or without modification, are permitted
provided that the following conditions are met...
RTFLabel
RTF-formatted label component.
TdfsMRUFileList
A Most Recently Used (MRU) File List component, version: 2.67
You are granted a non-exlusive, royalty-free right to produce and distribute compiled binary
files (executables, DLLs, etc.) that are built with any of the DFS source code unless
specifically stated otherwise....
Page 147
TABExtProgressBar
Enhanced progress bar component, Version 1.1.
The control is open source and freeware. You may redistribute the control if you want, but
please mention where it came from. You may distribute programs that use the control
without any restriction.
“Mapping Time, The Calendar and Its History” by E. G. Richards, Oxford, 1999.
Page 148