Any user familiar with AppleScript, Python, or Ruby can write their own scripts, package then in an "Extension" and thereby add new features to GEDitCOM II. Besides writing your own extensions, you can check the GEDitCOM II extensions page for ready-made extensions you can download and use immediately. If you do write an extension that you would like to share with GEDitCOM II users through the extensions page, please submit your extension to
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.
If you are new to scripting and deciding between Apple Script, Python, and Ruby, the clear choice is Python. This language has many options and GEDitCOM II (version 1.6, build 2 or newer) comes with a Python module for GEDitCOM II that turns the scripting process into a fairly robust genealogy programming platform.
Here are some references for learning AppleScript, Python, or Ruby:
You can edit and run Python or Ruby scripts right in the GEDitCOM Editor. In fact, to modify and existing extension (or script), select it from the GEDitCOM II Extensions menu while holding down the option key. The extension (or script) will open for editing in the GEDitCOM Editor. 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".
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. To get more important information, you should also refer to the "Writing Scripts" section of the GEDitCOM Editor help information (note: prior to GEDitCOM II, version 2.0, the scripting help was in the GEDitCOM II help information). It gives extra details on objects in GEDitCOM II's "Dictionary," particularly on the supported commands. It also gives details on changes that are needed when writing Python or Ruby scripts instead of Apple Scripts (the dictionaries are written for Apple Scripts).
Prior to GEDitCOM II, version 2.0, scripts were stand alone files that GEDitCOM II would open and run. Version 2.0 added the "Extensions" option. Stand alone scripts still work (and therefore these tutorials can still be followed), but when your scripts are done, it is strongly recommended that you package them into an extension. The details on creating and editing extensions is given in the GEDitCOM Editor help. The advantages of an extension are:
The following are the scripting tutorials. These tutorials assume you a familiar with the chosen scripting language 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 tutorials.
lifelines.pymodules that can be download (along with documentation and sample scripts) from the tutorial.