Third-party Addons

From Gramps
Revision as of 12:58, 14 November 2008 by Reinhard (talk | contribs) (Information for Plugin writers: fixed translation hack)
Jump to: navigation, search

Third-party plugins give you more tools to work with your genealogy data in GRAMPS. This page lists plugins written by users to work with the current 3.0.x series version of GRAMPS. Plugins which have not yet been re-written to work with the current version can be seen on the Old Third-party Plugins page.

These plugins are not officially part of GRAMPS and are not supported by the GRAMPS Developers. Any feature requests or bugs with these plugins should be directed at the respective plugin writer, NOT to the GRAMPS bug tracker!

Installing Plugins in GRAMPS

To use one of these plugins add the file(s) to your GRAMPS User Directory in the plugins subdirectory, and restart GRAMPS (alternitively you can reload all plugins by selecting 'Tools > Debug > Reload Plugins').


Normal plugins

Graphical Cousin Report

Sample Cousin chart

The Cousin report is a graphical report that would be closely described as a double descendant report. Given a center family, the top half of the report will show a descendant report of the fathers parents. The bottom half will show a descendant report of the mothers (center family) parents. The center family will be the junction of the two descendant reports.

Download, Manual and Installation

See: Graphical Cousin Report

Family Sheet

Sample Family Sheet

Description

A Family Sheet is a page which contains all available info about a specific person, the families this person is a father or mother in, and the children of these families.

The intended use for this report is to get a full dump of the database in nice paper form in a way suitable to file it in a folder.

Each Family Sheet contains a key at the top right which is derived from the relationship from the central person in the database and the person for which the sheet is printed. For direct ascendants, the Family Sheet key is the "Ahnentafel" number (also known as Eytzinger, Sosa, Sosa-Stradonitz, or Kekule number). Each child is assigned a letter starting from "a", and the Family Sheet key of the child is the Family Sheet key of the parent with the child's letter appended.

The report contains full information (including all events, attributes, source references, and notes) for the key person and all its spouses. For children that had spouses, only a short section (including only name and birth event info) is printed along with a reference to the Family Sheet page on which this child would be the key person, while for children that had no spouses, full info is printed.

If recursive printing is selected, each Family Sheet is followed by the Family Sheets of the children that had spouses.

Installation

Just donwload this archive, unpack it, and copy the contained FamilySheet.py file into your .gramps/plugins folder. The menu item "Family Sheet" should appear in your "Reports|Text reports" menu item.

Caveats

  • The report uses <u>...</u> to underline the call name if the call name is a part of the first name. This only works with CairoDoc based output (direct printing, PDF export) and HTML output.


Place Completion Tool

Place completion tool in action

The place completion tool enables you to work on a selection of your places. It can look up latitude and longitude, and you can set county, parish, state, ... data on a group of places with one click.

Download, Manual and Installation

See: Place completion tool

Hungaria (Website Generator)

Hungaria is a GRAMPS 3.0 plugin that seeks to generate feature- and media-rich websites.

It is currently in pre-alpha stage--not feature-complete, nor ready for serious use. It is available for testing however, in order to showcase features as they are added. The website [1] also shows example websites generated by the latest available version of Hungaria and its precursor XSLT stylesheets.

Chief among Hungaria's aims is to more actively and meaningfully integrate photographs into genealogy websites (e.g.: providing mouse-over thumbnail profiles of individuals, providing mouse-over photograph of places, et al) and to provide both simple and broad internationalization functionality (e.g.: multi-lingual websites are generated by default, notes will be parsed for version in multiple language versions to be displayed on their respective page, et al).

View the demonstration website to get a better idea of Hungaria's aims:

Dentumogeria Demonstration Website (generated by Hungaria's XSLT precursor--more complete)

Hungaria Demonstration Website (generated by Hungaria--less complete)

Quick Reports

Quick Reports are a new addition to GRAMPS 3.0, which allows for easy plugin creation on a fixed canvas. They are available in the context menu on the views on selecting a person, place, ... (and possibly too in the context menu on the editor dialogs).

For an overview of Third party Quick Reports, see Unsupported Quick Reports.

Gramplets

Gramplets are gadgets available in the Gramplet view of GRAMPS. The official ones are documented in the Manual

Information for Plugin writers

Have you written a plugin for GRAMPS you want to share with the world? Here's how you do it:

  • Add the correct license. GRAMPS is GPLv2, you use the GRAMPS plugin system, so make sure you have the correct license at the top of your file
  • Create a filename.tar.gz file of your plugin code
  • Upload the code to this wiki
  • Add a description of your plugin to this page.

There is a big possibility that you are not a native English speaker and want your report in your mother tongue. To enable others to use your report, and make it easy to include your report later in GRAMPS without large changes, do the following for text:

  • Suppose you have a string Name, which you want for your own use in French, so Nom. Then write a translation function with the name _.
  • For every string, pass it through your translation function: _("Name")
  • Your translation function should then look like this:
mytranslation = {
   'Name' : "Nom"
   }

from gettext import gettext
import locale
lang = locale.getlocale()[0]
if lang:
    lang = lang.split('_')[0]
def _(string):
    if lang == 'fr':
        return mytranslation.get(string, gettext(string))
    else:
        return gettext(string)

Change here 'fr' by the language code of your language

  • If the report becomes part of GRAMPS, it will suffice to delete this code and replace it by
from gettext import gettext as _