Any user familiar with GEDitCOM II's internal scripting language, 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 geditcom.com
Writing scripts requires some ability for computer programming and some knowledge of GEDitCOM II's internal scripting language, Apple Scripting, Python scripting, or Ruby scripting (which ever language you prefer). If you have programmed, but never used these languages, 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.
The recommended language is GEDitCOM II's internal scripting language. Internal scripts run about 20 times faster than when using other languages and do not have to rely on Apple continuing to support use of languages like AppleScript. All documentation for learning and writing internal scripts can be found in the Help window for the GEDitCOM Editor application included with GEDitCOM II.
If you prefer to use AppleScript, Python, or Ruby, a good way to learn is to see sample code. Among these three, Python is a good choice. It has many options and GEDitCOM II 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 Internal scripts, Python scripts, 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. When using 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. When writing internal scripts, its equivalent to a "Dictionary" is provided in the GEDitCOM Editor help window.
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 Internl scripts, Python scripts, or Ruby scripts instead of 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.py
modules that can be download (along with documentation and sample scripts) from the tutorial.