Basic Format

This format is designed as a template for developing new formats. It takes care and most of the behind-the-sign tasks (i.e., dealing with links, displaying multimedia, handling family links, etc.) freeing you to concentrate on the display of the genealogy data.

Creating a Format

To create your own custom format starting from the "Basic Format," you normally use the following steps:

  1. Make a copy of the "Basic Format," and move it to the GEDitCOM II library in your home directory (to the folder ~/Library/Application Support/GEDitCOMII/Formats)
  2. Open the new format in the GEDitCOM Editor
  3. Pick fonts, colors, and allowed editing options using the "Editing Fonts," "Editing Colors," and "Editing Properties" defined in the Properties section.
  4. Decide how you want the data to appear and then make changes to certain special templates and subroutines to create your layout. Most of the work in writing a new format takes place in this step.
  5. To change more things (such as styles of buttons, use of images, type of editing fields, etc.), see the format details section on templates that use certain interface elements.
  6. Add support for multiple languages (if you can)
  7. Document your format by writing help information.
  8. Test in GEDitCOM II with a robust file.

Display Layout Options

The "Basic Format" starts as simple as possible by displaying all data for each record in a single window. Normally you will want to change this layout such as putting parts of the records in sepearate panes (see "Default Format" and "Pedigree Format" for examples) or certain details in child windows (see events in the "Default Format" for an example).

It is recommended that you stay in the single window view at first and work on colors, fonts, and styles of various elements. Once that is acceptable, you can start moving data to new places. You can divide records into panes by writing new record editing templates for each pane (see GEDitCOM Editor help for details on using panes). You can change events and other types of data by editing their special templates. To move such data to child windows, you write record editing templates for those windows that are called from certain templates using StructuresLink cells (see GEDitCOM Editor help for details on StructuresLink cells).

Special Templates

The following templates handle many types of special GEDCOM elements. You can edit these templates to change the ways these generic elements are displayed.

_Unknown_ Editing
This is the default template for any GEDCOM data that is not handled by a custom template. The default implementation displays a label (based on the tag name for the GEDCOM data) and provides a one-line, text-editing field.
Event Editing
All individual and family event structures use this template. The default implementation displays all subordinate data for each type of event right in the window. You will usually want to change this style.
Attribute Editing
All individual attribute structures use this template. The default implementation displays all subordinate data for each type of attribute right in the window. You will usually want to change this style.
Ordinance Editing
All individual and family LDS ordinance structures use this template. The default implementation displays all subordinate data for each type of ordinance right in the window. You will usually want to change this style.
RecordLink Editing
Several GEDCOM tags have a value that links to another record (i.e., a record ID) and no subordinate data (e.g., ALIA, SUBM, _LOG, etc.). This template labels the type of link and has a clickable link to the record.
CHIL Editing
This template handles display of children in a family record. The template is called for each child and each call displays one child. The default implementation displays a three-column table with name, sex, and birthdate. You can edit this template to change the table or design an alternate way to display children.
OBJE Editing
The display of multimedia links in a record is a difficult task. This template handles the task and provides a default implementation that may be acceptable for most formats. It displays thumbnails of linked images. The thumbnails will be arrange with some number per row. Clicking the thumbnail will open the multimedia objects' record. The number is a user preference called Thumbnails Per Row. For multimedia as links to web sites, this template displays a hyperlink to the web site and an "info" icon to open the multimedia record for editing. If you prefer a different layout for multimedia, you can change this template.

Important Subroutines

To make this format easier to modify, tasks that are used in two or more tempaltes are done in subroutines. Thus editing these subroutines changes that display feature througout the format. This section lists the important subroutines and which templates call those subroutines.

SectionLabel
The display for each type of GEDCOM record is divided into sections. Each section is labeled by calling this subrountine. The default implement draws horizontal lines and outputs section label in bold font.
LineLabel
Most of the "Basic Format" outputs GEDCOM data with a label appropriate for that data. This subroutine displays that label. It is called by: ADDR, ADOP, AGE, ASSO, AUTH, Attribute, CHAN, CHAR, DATA, DATE, EVEN, Event, FAMC, FAMS, GEDC, HUSB, NAME, NOTE, Ordinance, PEDI, PLAC, PUBL, QUAY, REFN, REPO, RESN, RecordLink, SEX, SOUR, STAT, TEXT, TITL, _FILE, _TYPE, _Unknown_ Editing.
RecordChildLink
Some GEDCOM data is relevant to other records. This subroutine displays a link to another record and that link can open the other record in the same window, a child window, or a new window. It is called by: ASSO, FAMC, FAMS, HUSB, NOTE, REPO, RecordLink, SOUR Editing.
ShowOBJE
Multimedia objects can be linked to the main level of records or to subordinate data (e.g., link to a birth certificate in a birth event). This subroutine handles display of multimedia in subordinate data. Is is called by: Attribute Editing, Event Editing, SOUR Editing.
RefLinks
Notes, Sources, and Multimedia Objects may be linked to many records. This subroutine creates a list of records that cite a note, source, or multimedia record. It is called by: NOTE Record Editing, OBJE Record Editing, SOUR Record Editing.
ResetTabs
This subroutine is called at the beginning of every "Record Editing" template to set up default tabs. The default tabs are a series of tabs spaced by the user preference for Level Indentation. This subroutine is also called in templates that might temporary change the tabs, such as when creating a table.
TagBlock
Many records link to supporting records for notes, sources, and research logs. This subroutine outputs all such links at the current level and provides links to the supporting records. It is called by many "Record Editing" templates.

Basic Format Properties (or Preferences)

Details on Interface Elements

If you want to customize interface features such as use of images, style of buttons, style of editing fields, etc., you need to edit all templates that use those features. This section summarizes various interface elements and which templates use them:

Use Images in the Format
The "Basic Format" includes several image icons. This images are used in: REFN, RESN, OBJE Editing, SOUR Record Editing.
CheckBoxEdit cells are defines
The following template use check boxs for editing: Event, Ordinance, _NOPOR Editing.
Popup menu is defines
The following formats use pop-up menus that use the default border for such menus: ADOP, PEDI, QUAY, SEX, STAT_TYPE Editing.
Buttons with borders
The following formats have buttons that use the default border for buttons: SEX, _FILE Editing, sub RefLinks.
EditValue cells are defined
The following templates use editing fields with the default text field border: AGE, Attribute, DATA, DATE (EditDate cell), EVEN, FORM, NAME (EditName cell), PLAC, REFN, SOUR, TITL, VERS, _Unknown_ Editing. A couple of the few use analagous cells that are special cased of EditValue cells.
EditField cells are defined
The following templates define multiple-line text editing fields with a default border: ADDR, AUTH, NOTE, PUBL, TITL.
EditPane cells are defined
The following templates define a text-editing pane for editing more text. Such windows can have onlyone text editing pane: TEXT, CONC.
Static Cells are defined
The following templates provide labels using Static cells rather then Label cells: CHAN, CHAR, CHIL, FAMC, FAMS, HUSB, REFN, RecordLink,TEXT, _Unknown_ Editing, sub RecordChildLink, sub ShowOBJE.
Special Cases for Printing
EditPane cells do not print well, which means those templates need a special case to format output for printing. The following templates has special printing instructions: CONC, NOTE, TEXT Editing, NOTE Record, SOUR Record Editing. These templates convert EditPane to in-line printing fields.

Alternate Languages

The "Basic Format" has English, French, and Swedish languages. If you create new text elements, you should provide translations into all languages, or remove languages you are not planning to support. (see GEDitCOM Editor help for details on supporting multiple languages).

Write Help Information fot the Format

You should replace this help information is help information for your new format. This help is only in English. If desired, you can provide a translation of the help by creating a new documentation file for each language. (see GEDitCOM Editor help for details on supporting multiple languages).