These licenses allow the Gramps project to maximally use this wiki manual as free content in future Gramps versions. If you do not agree with this dual license, then do not edit this page. You may only link to other pages within the wiki which fall only under the GFDL license via external links (using the syntax: [http://www.gramps-project.org/...]), not via internal links.
Also, only use the known conventions

You can copy this backup file from time to time to a save location (eg a usb stick).
[Note: The .gramps files are compressed. Clicking them will open Gramps. To see the XML select them and open them with a decompressing utility (like ark, gunzip), after which you can extract the XML file which is human readable, see details.

Gramps does a quick hidden binary backup to allow restore if an error is noted. If the correct package is installed you can use a revision system.

Another method is to backup the hidden directory /.gramps. This directory is situated in your home directory on Linux systems. Backing up this directory will backup your databases and revisions.

Do not keep backups in GEDCOM. Not all information Gramps stores can be written in the GEDCOM. Hence, an export/import operation Gramps --> GEDCOM --> Gramps, will mean you losedata. Use the .gramps file format for backups!

Do not keep backups in GRDB format. GRDB is a database, which might be computer dependent (read, not working on a different PC). Small damage to a GRDB file can also not be repaired. Use the .gramps file format for backups!

Does Gramps support Unicode fonts?

In particular, does it support non-Roman Unicode fonts? Yes. Gramps works internally with Unicode (UTF-8), so all alphabets can be used on all entry fields. All reports fully support this, although for PDF/PS you need to work with gnome-print or LibreOffice.

Installation

What is needed to install Gramps under Linux, Solaris, or FreeBSD?

Gramps is a GTK application. Gramps needs to have the pygtk libraries installed on the system. As long as these libraries are installed, Gramps should function. It will operate under the GNOME desktop, KDE desktop, or any other desktop. If the GNOME bindings for Python are installed on the system, Gramps will have additional functionality. The Gramps project recommends version 2.8 or higher of GTK.

Does Gramps work on Windows?

Yes, many people use it on Windows. Probably the easiest thing is to Download the GrampsAIO software "bundle" for Windows, as that is an all-in-one package of Gramps with the other programs it needs, and so may be installed very trivially.

Also, the Linux Genealogy CD can function as a live CD that you boot directly from (If you have a CD/DVD-ROM Drive). You can then run Linux and Gramps off the CD, even if your computer is entirely Windows.

Does Gramps work on the Mac?

What are the Minimum Specs to run Gramps?

We would recommend at least an 800x600 video display. For Gramps 3.4, the memory requirements have been reduced, and Gramps can run quite efficiently on a 256MB system, holding considerably more people. A system with 512MB should be able to hold around 200,000 people. Disk space requirements for databases are however considerably larger, with a typical database being several megabytes in size. For 120.000 people you must consider already 530Mb for the database. Pictures are stored on disk separately, so a large harddisk is necessary.

How do I upgrade Gramps?

GNU/Linux operating systems will typically deal with upgrade issues for you. If they do not then you need to ask users of your prefered GNU/Linux distribution.

The Windows port of Gramps needs to be updated manually.

This page's factual accuracy may be compromised due to out-of-date information. Please help improve the Gramps Wiki as a useful resource by updating it.

TODO

Need to update this content. To be written.

(incomplete answer)

Preferences

Can I change the dates in reports to 'day month year'?

Yes, change in the preferences ("Edit->Preferences") the date for Gramps to the required format (eg YYYY-MM-DD or day month year), and make the report. Your global date preferences will be used.

Collaboration-Portability

Is Gramps compatible with other genealogical software?

Gramps makes every effort to maintain compatibility with GEDCOM, the general standard of recording genealogical information. We have import and export filters that enable Gramps to read and write GEDCOM files.

It is important to understand that the GEDCOM standard is poorly implemented -- virtually every genealogical software has its own "flavor" of GEDCOM. As we learn about new flavor, the import/export filters can be created very quickly. However, finding out about the unknown flavors requires user feedback. Please feel free to inform us about any GEDCOM flavor not supported by Gramps, and we will do our best to support it!

Can Gramps read files created by other genealogy programs?

See above.

Can Gramps write files readable by other genealogy programs?

See above.

What standards does Gramps support?

The nice thing about standards is that there never is a shortage of them. Gramps is tested to support the following flavors of GEDCOM: GEDCOM5.5, Brother's Keeper, Family Origins, Family Tree Maker, Ftree, GeneWeb, Legacy, Personal Ancestral File, Pro-Gen, Reunion, and Visual Genealogie.

How do I import data from another genealogy program into Gramps?

The best way is to create a new family tree, and select the import option in the file menu. Here you select the GEDCOM you generated with the other program, and import it.

Can I install Gramps on a Linux Web Server and use it via a web browser?

This would enable my relations worldwide to access and update it.

While Gramps can generate web sites, it does not provide a web interface that allows for editing. If this is a requirement, then GeneWeb or PhpGedView are programs more likely to meet your needs. Also have a look at experimental gramps-connect. However, you may wish to ask yourself the following questions:

Do I really want relatives or other people to directly edit my genealogy database?

Do I implicitly trust, without verification, any data that people may enter?

Do these people have the same understanding of good genealogy practice that I have?

A better approach may be to provide a web form interface that allows others to enter data that is then held for your examination. You can then decide if the information should be entered into your database.

You may also want to consider the effects of possible downtime of your site if you cannot afford yourself a premium webhosting service.

Reports

Can Gramps print a genealogical tree for my family?

Yes. Different people have different ideas of what a genealogical tree is. Some think of it as a chart going from the distant ancestor and listing all his/her descendants and their families. Others think it should be a chart going from the person back in time, listing the ancestors and their families. Yet other people think of a table, text report, etc.

Gramps can produce any of the above, and many more different charts and reports. Moreover, the plugin architecture enables users (you) to create their own plugins which could be new reports, charts, or research tools.

In what formats can Gramps output its reports?

Text reports are available in HTML, PDF, ODT, LaTeX, and RTF formats. Graphical reports (charts and diagrams) are available in PostScript, PDF, SVG, ODS, and GraphViz formats.

How can I change the default language in reports?

Is Gramps compatible with the Internet?

Gramps can store web addresses and direct your browser to them. It can import data that you download from the Internet. It can export data that you could send over the Internet. Gramps is familiar with the standard file formats widely used on the Internet (e.g. JPEG, PNG, and GIF images, MP3, OGG, and WAV sound files, QuickTime, MPEG, and AVI movie files, etc). Other than that, there is little that a genealogical program can do with the Internet.

Can I create custom reports/filters/whatever?

Yes. There are many levels of customization. One is creating or modifying the templates used for the reports. This gives you some control over the fonts, colors, and some layout of the reports. You can also use Gramps controls in the report dialogs to tell what contents should be used for a particular report. In addition to this, you have an ability to create your own filters -- this is useful in selecting people based on criteria set by you. You can combine these filters to create new, more complex filters. Finally, you have an option to create your own plugins. These may be new reports, research tools, import/export filters, etc. This assumes some knowledge of programming in Python.

Why are non-Latin characters displayed as garbage in PDF/PS reports?

This is a limitation of the built-in fonts of PS and PDF formats. To print non-Latin text, use the Print... in the format selection menu of the report dialog. This will use the gnome-print backend, which supports PS and PDF creation, as well as direct printing. (Note: you might need to install gnome-print separately as it is not required for Gramps).

If you only have Latin text, the PDF option will produce a smaller PDF compared to that created by gnome-print, simply because no font information will be embedded.

I would like to contribute to Gramps by writing my favorite report. How do I do that?

The easiest way to contribute to reports, filters, tools, etc. is to copy an existing Gramps report, filter, or tool. If you can create what you want by modifying existing code -- great! If your idea does not fit into the logic of any existing Gramps tool, you will need to write your own plugin from scratch. Help is available on the Developers Portal, or on the Developers mailing list: gramps-devel@lists.sourceforge.net.

To test your work in progress, you may save your plugin under $HOME/.gramps/plugins directory and it should be found and imported on startup. The correctly written plugin will register itself with Gramps, create menu item, and so on.

If you are happy with your plugin and would like to contribute your code back to the Gramps project, you are very welcome to do so by contacting us at gramps-devel@lists.sourceforge.net

Database - Gramps file formats

What is the maximum database size (bytes) Gramps can handle?

Gramps has no hard limits on the size of a database that it can handle. Starting with 2.0.0 release, Gramps no longer loads all data into memory, which allows it to work with a much larger database than before. In reality, however, there are practical limits. The main limiting factors are the available memory on the system and the cache size used for BSDDB database access. With common memory sizes these days, Gramps should have no problem using databases with tens of thousands of people.

How many people can Gramps database handle?

My database is really big. Is there a way around loading all the data into memory?

Starting with 2.0.0 release, Gramps no longer loads all data into memory, which allows it to work with a much larger database than before. The fileformat used is .grdb which means Gramps database.

Can I run Gramps from a database on a NFS share?

Yes you can.

What does "portable" mean?

A Gramps 3 database (and any .grdb file) is very dependent on the software versions that created it. For example, you can't just move your Gramps data in these formats to a different operating system (or even a different version of an operating system) and expect that you will be able to read your data. The data is not "portable". Therefore, you can't just rely on backups of these formats, but you should also occasionally export into a format that is portable. There are two possible portable formats: GEDCOM and Gramps XML (.gramps or .gpkg). But only Gramps XML is recommended, as it faithfully saves all of your data.

Why is the database format (GRDB) not portable?

The biggest issue with Gramps portability lies with 'transactions'. With Gramps 2.2, we added support for atomic transactions to protect data. With atomic transactions, multiple changes are committed as a single unit. Either all the changes make it, or none of the changes make it. You are never left in a situation with a partial set of changes. A side benefit of using transactions is that database access (reads and writes) are faster.

The problem with transactions (at least using BSDDB) is that it does not allow all the data to be stored in a single file. Logging files are needed to keep track of things. These logging files are kept in a DB Environment directory. We need a separate directory for each file, otherwise the log files can interfere with each other.

In 2.2, we keep the log files under the ~/.gramps/<path> directory, creating a unique directory for each database. The problem is that your GRDB file needs the log files, which are in a different directory.

Copying the GRDB file is only copying a portion of the database.

Bugs and requests

What do I do if I have found a bug?

The best thing you can do is to fix the bug and send the patch to gramps-devel@lists.sourceforge.net :-)

Version of Gramps you were using when you encountered the bug (available through Help → About menu item).

Language under which Gramps was run (available by executing echo $LANG in your terminal).

Symptoms indicating that this is indeed a bug.

Any Traceback messages, error messages, warnings, etc, that showed up in your terminal or a in separate traceback window.

Most problems can be fixed quickly provided there is enough information. To ensure this, please follow up on your bug reports. Then we will have a way of contacting you should we need more information.

Requests

Gramps should be a .... type of application

It is obvious that Gramps absolutely needs to become a (client-server/web-based/PHP/weblog/Javascript/C++/distributed/KDE/Motif/Tcl/Win32/C#/You-name-it) application. When is this going to happen?

The surest way to see it happen is to get it done by yourself. Since Gramps is free/open source, nobody prevents you from taking all of the code and continuing its development in whatever direction you see fit. In doing so, you may consider giving your new project another name to avoid confusion with the continuing Gramps development. If you would like the Gramps project to provide advice, expertise, filters, etc., we will gladly cooperate with your new project, to ensure compatibility or import/export options to your new format of a project.

If, however, you would like the Gramps project to adopt your strategy, you would need to convince Gramps developers that your strategy is good for Gramps and superior to the present development strategy.

Adding to and editing my database

What is the difference between a residence and an address?

A residence is a place where someone lived for a period of time. An address is the name of a residence formatted in the way expected by the postal system. Therefore each residence can also have an address if that is useful. See also: Why residence event and not Address?