]>
GRAMPS User Manual 2001 Donald N. Allingham Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license can be found here. Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any GNOME documentation, and those trademarks are made aware to the members of the GNOME Documentation Project, the names have been printed in caps or initial caps. This is version 1.0 of GRAMPS manual. Introduction GRAMPS is an acronym for the Genealogical Research and Analysis Management Programming System. It was conceived under the concept that most genealogy programs were designed to provide the researcher the capability to input information related to a particular family tree. Most of these programs have allowed for the arranging and storing of information consistent with the GEDCOM standards. They usually provide a means for displaying descendant or ancestral relationships by means of graphical displays, charts, or reports. These may be augmented with pictures or other media to enhance the data. Most provide for inputting data on unconnected individuals/families that may or may not have a relationship to the primary surname being researched. Various other enhancements may also be provided in the genealogical program that allows for different degrees of importing and exporting data from other programs and printing of the data contained in the various reports. GRAMPS, on the other hand, attempts to provide all of the common capabilities of these programs, but, more importantly, to provide a capability not common to these programs. This is the ability to input any bits and pieces of information directly into GRAMPS and rearrange/manipulate any/all data events in the entire data base (in any order or sequence) to assist the user in doing research, analysis and correlation with the potential of filling relationship gaps. In short, a tool that provides a way to input all your research into one place and do your analysis and correlation using the speed, power, and accuracy of your computer instead of pencils and unmanageable reams of paper. To run GRAMPS, select Programs Applications gramps from the Main Menu, or type gramps on the command line. GRAMPS is included in the gramps package, which is part of the GNOME desktop environment. This document describes version &version; of GRAMPS. Using GRAMPS GRAMPS is a genealogy program. This section describes basic usage of GRAMPS. Person List Starting GRAMPS opens the Main window, shown in . The window is at first empty.
GRAMPS Main Window GRAMPS Main Window
Family View Pedegree View Entering data
Customization To change the application settings, select Settings Preferences... . This opens the Preferences dialog, shown in .
Preferences Dialog Preferences Dialog
Writing Filters Users can create their own filters and add them to GRAMPS. By adding the filter to the user's private filter directory (~/.gramps/filters), the filter will be automatically recognized the next time that the program is started. Creating a filter Filters are written in the python language. Each filter is initialized with the qualifier string. The qualifier string passes an additional text string to the filter. This string can be used to further qualify the filter. For example, if the filter is used to match names, the qualifier would be used to provide the name that is being compared against. Each filter is a python class, and should be in its own separate module (file). The module should consist of the filter class definition, and two functions — create, and need_qualifier. The create function takes a string as its only argument, returns a instance of the filter class. The string argument is the qualifier string used to provide more specific information. The need_qualifier function takes no arguments, and returns either a 0 or 1 to indicate if a qualifier string is needed by the filter. Regardless of what need_qualifier indicates, a text string is always passed to the filter and the create function. The value returned by need_qualifier indicates to the program whether or not the qualifier field in the display should be enabled or disabled. The module documentation string (a text string as the first statement in the module) is used for the description of the module. This is the description that gets entered into filter selection menus. All filters must be derived from the Filter.Filter class. The __init__ task may be overridden, but if so, should call the __init__ function on the Filter.Filter class. The parent class provides the variable self.text, which contains the text string passed as the qualifier. All filter classes must define a match function. The function takes one argument (other than self), which is an object of type Person to compare against. The function should return a 1 if the person matches the filter, or a zero if the person does not.
Sample filter implementation "Names that contain a substring" import Filter import string class SubString(Filter.Filter): "Names that contain a substring" def match(self,person): name = person.getPrimaryName().getName() return string.find(name,self.text) >= 0 def create(text): return SubString(text) def need_qualifier(): return 1
Writing Reports Users can create their own report generators and add them to GRAMPS. By adding the report generator to the user's private filter directory (~/.gramps/plugins), the report generator filter will be automatically recognized the next time that the program is started. Creating a report generator Like filters, report generators are written in the python language. Fewer restrictions are made on report generators than on filters. The report generator is passed the current GRAMPS database and the active person. The generator needs to take special care to make sure that it does not alter the database in anyway. The python documentation string (the first text string and first statement) of the module is used to name the report generator. The string consists of two parts, separated by a forward slash. The first part of the string is the category of the report generator. GRAMPS uses this part to group similar reports together in the interface. The second part of the string is the actual name of the reprot generator, and will be displayed in the report menu. A report generator module must supply the report function, and can optionally define the get_description and get_xpm_data functions. The report takes two arguments — a database (of type RelDataBase) and the currently selected person (of type Person). The report is reponsible for generating the actual report. If the get_description is defined, it is used to provide a more detailed description of the report. The description is used to provide the user with more information in the report selection window. The function takes no arguments, and should return a text string. If the get_xpm_data is defined, it is used to provide an graphic logo for the report in the report selection window. The function takes no arguments, and should return a list of strings containing the XPM file data. The XPM image should be 48x48 pixels in size.
Sample report implementation "Category/report name" def report(database,person): ... actual code ... def get_description(): return "A detailed text description of what the report generator does" def get_xpm_image(): return [ "... XPM image data" ]
Writing Tools Known Bugs and Limitations This application has no known bugs. Authors GRAMPS was written by Donald N. Allingham (donaldallingham@home.com). To find more information about GRAMPS, please visit the GRAMPS Web page. Please send all comments, suggestions, and bug reports to the GNOME bug tracking database. (Instructions for submitting bug reports can be found on-line.) You can also use Bug Report Tool (bug-buddy), available in the Utilities submenu of Main Menu, for submitting bug reports. This manual was written by Donald N. Allingham (donaldallingham@home.com) and Lawrence L. Allingham (llkla@erinet.com). License This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. A copy of the GNU General Public License is included as an appendix to the GNOME Users Guide. You may also obtain a copy of the GNU General Public License from the Free Software Foundation by visiting their Web site or by writing to
Free Software Foundation, Inc. 59 Temple Place - Suite 330 Boston, MA 02111-1307 USA