Scripting Tutorials

Any user familiar with AppleScript, Python, or Ruby can write their own scripts and add new features to GEDitCOM II. Besides writing your own scripts, you can check the GEDitCOM II scripts page for ready-made scripts you can download and use immediately. If you do write a script that you would like to share with GEDitCOM II users through the scripts page, please submit your script to geditcom.com

Getting Started

Writing scripts requires some ability for computer programming and some knowledge of Apple Scripting, Python scripting, or Ruby scripting (which ever language you prefer). If you have programmed, but never used Apple Script, Python, or Ruby, it is an easy to get started. The basic structures of these languages are simple. It takes a little more effort, however, to understand the finer points of each one. A good way to learn all the tricks is to see sample code. These tutorials provide sample code specifically for writing scripts for GEDitCOM II.

In addition, here are some references for learning AppleScript, Python, or Ruby:

To learn or use AppleScript, you write scripts using Apple's "Script Editor", which you will find in your Applications folder on all new Macs. You can write, compile, and run scripts all within the "Script Editor". To write Python or Ruby scripts, you can can use any tool you prefer. BBEdit, for example, has many tools for writing Python or Ruby scripts.

All applications that are scriptable (like GEDitCOM II) come with a "Dictionary" that describes all the objects in the application and all the commands supported by the application. Whenever writing scripts for a new application, the first thing you need to do is open its "Dictionary" and explore its scripting options. These "Dictionaries" are notoriously too brief. When the information is incomplete, you might need to experiment to see what works. Once you get some things working for an application, the "Dictionary" will start to make sense. You can open any application's "Dictionary" by using the "Script Editor". Choose the "Open Dictionary..." menu command and select an application from the list of those with dictionaries.

You can open GEDitCOM II's "Dictionary" in the "Script Editor" to see all its options. In addition, you should refer to the "Scripting Featrues" section of the GEDitCOM II help information (from the "Help" menu). It gives more details on objects in GEDitCOM II's "Dictionary," particularly on the supported commands. It also give details on changes that are needed when writing Python or Ruby scripts instead of Apple Scripts (the dictionaries are written for Apple Scripts).

Tutorials Index

The following are the scripting tutorials. These tutorials assume you a familiar with the AppleScript language (or starting to learn), know how to use the "Script Editor", and are familiar with scripting "Dictionaries" for applications. You can download the scripts in the tutorials and run them in GEDitCOM II them while reading the tutorial.

Creating a Custom Report (AppleScript)
One great use of GEDitCOM II scripts is to design your own custom genealogy reports. This tutorial shows a basic report that calculates husbands' and wives' average ages at marriage and when their children were born. By changing selected sections of the sample scripts, you can create your own report scripts for any other information you want to extract from your data.
Creating a Custom Report (Python)
Same as the previous tutorial but shows how to do the script using Python.
Creating a Custom Report (Ruby)
Same as the previous two tutorials but shows how to do the script using Ruby.
Customizing the "Create Web Site" Script (AppleScript)
GEDitCOM II is provided with a script for creating web site content. This tutorial explains some options you have for editing that script to customize the type of web site that gets created.
Scripting Utility Subroutines (AppleScript)
Scripting Utility Subroutines (Python)
Scripting Utility Subroutines (Ruby)
These three sections describe a series of utility subroutines in each of the supported scripting languages. They are used in the tutorial scripts. When writing your own scripts, you can copy and paste them to add common GEDitCOM II functions to your scripts.
AppleScripting Tutorials
Python Tutorials
Ruby Tutorials
Tutorial Script Downloads
GEDitCOM II Tutorials
See the separate page for tutorials on using GEDitCOM II.