Difference between revisions of "Howto: Make a relationship chart"

From Gramps
Jump to: navigation, search
(Further cool things to do)
Line 29: Line 29:
  
 
== Example 1: a descendant chart ==
 
== Example 1: a descendant chart ==
 +
 
Download [http://gramps.svn.sourceforge.net/viewvc/*checkout*/gramps/trunk/gramps2/example/gramps/example.gramps?revision=7186 example.gramps], create a new database in GRAMPS called example.grdb, and import the example.gramps data into it.
 
Download [http://gramps.svn.sourceforge.net/viewvc/*checkout*/gramps/trunk/gramps2/example/gramps/example.gramps?revision=7186 example.gramps], create a new database in GRAMPS called example.grdb, and import the example.gramps data into it.
  
If not the case, set the home person to Garner, Lewis Anderson  
+
If not the case, set the active person to Garner, Lewis Anderson  
 +
 
 +
To make a descendant chart with the relationship report, choose the menu item
 +
"Reports -> Graphical reports -> Realtionship graph"
 +
 
 +
In the dialog, set the format to .png and chose the following in the tabs available:
 +
Paper Options -> Size : Custom Size (Set width and height to 10000 cm, or some other large value)
 +
Report Options -> Filter: Ancestors of Garner, Lewis Andersson
 +
layout optons -> Aspect ratio: minimal size
 +
 
 +
(I sometimes experience problems setting the sizes in the Paper options dialog. A workaround is to use the example using graphviz code in example 3 below.)
 +
 
 +
For me (using gramps 2.2.7 on windows XP), the result was descendants.png, to be uploaded here soon.
 +
 
 +
Use http://www.gramps-project.org/wiki/index.php?title=Make_flash_plugin_from_a_png to make the resulting graph easier to navigate.
 +
 
 +
== Example 1b: a chart with ancestors ==
 +
 
 +
Download and open the example.gramps file as in Example 1
 +
Set Warner, Carl Thomas to be the active person.
 +
 
 +
Repeat the process in example 1, but choose the filter "Ancestors of Warner, Carl Thomas" this time.
 +
 
 +
== Example 2: A chart with ancestors, descendants and their families ==
 +
 
 +
Note: This example uses filters. See [http://www.gramps-project.org/wiki/index.php?title=Example_filters] for en introductory example.
 +
 
 +
Open the file example.gramps and select Cristiansen, Frances as the active person.
 +
 
 +
First we create a helper filter:
 +
Open the filter editor and create a new filter, called Frances1. The filter should contain the rules
 +
 
 +
* "Ancestors of <person>" choose Christiansen, Frances and check "inclusive".
 +
* "Descendants of <person>" chose Christiansen, Frances
 +
 
 +
Make sure that "At least one rule must be fulfilled" is chosen, so that we get both ancestors and descendants.
 +
 
 +
Now we create the filter we want for the report:
 +
 
 +
Create a new filter, called Frances2. This filter should contain the rules
 +
 
 +
* "People matching the filter", choose Frances1
 +
* "Parents of filter" Frances1
 +
* "Siblings of filter" Frances1
 +
* "Spouses of filter" Frances1
 +
 
 +
Now close the filter editor, and follow the instruction sin examples 1a and 1b, but this time choosing the filter "Frances2" in the
 +
Report Options tab.
 +
 
 +
My result is the file: ancestorsAndDescendants.png
 +
 
 +
== Example 3, Generating the graph by using the Graphviz command line tool ==
 +
 
 +
I use this only as a way to work around problems like setting the paper size.
 +
 
 +
In the menu, select "Reports ->  Code Generators -> Relationship graph"
 +
Choose the filter you want to use, and set also as many of the other options as possible to the desired values (as explained in example 1), but the format should be "Graphviz (dot)". Click Ok. You should now have a file of type ".dot".
 +
This file is a text file, so it can be opened in any text-editor.
 +
 
 +
For paper size, look around line 36-37 for two lines that define the "page" (paper size) and "size" (area of paper to use), and change these to some large values.
 +
 
 +
Save the modified file under the name report.dot, and run the commad "dot -Ppng -oreport.png report.dot". This should use the graphviz "dot" tool to generate the .png file containing the report.
 +
 
  
To make a descendant chart with the relationship report, go to ... TODO
 
  
 
== Further cool things to do ==
 
== Further cool things to do ==
 
* You can make descendant charts and add them to the media gallery of the person. Like that, the cart is available from the website.  
 
* You can make descendant charts and add them to the media gallery of the person. Like that, the cart is available from the website.  
 
* offer a chart on your website as a [[Make flash plugin from a png |flash relationship graph]], enabling zooming, moving, ... over your data or just use SVG for Firefox and Opera, see [http://www.gramps-project.org/wiki/index.php?title=UnsupportedPlugins#DenominoViso_-_HTML_Ancestors_page DenominoViso]
 
* offer a chart on your website as a [[Make flash plugin from a png |flash relationship graph]], enabling zooming, moving, ... over your data or just use SVG for Firefox and Opera, see [http://www.gramps-project.org/wiki/index.php?title=UnsupportedPlugins#DenominoViso_-_HTML_Ancestors_page DenominoViso]

Revision as of 23:22, 10 June 2007

This is a Howto on how to make a relationship chart (can be ancestors, descendants, ...) with GRAMPS 2.2.x. and the Relationship plugin.

The report is made with the graphviz backend, so you need to install graphviz first (http://graphviz.org). The goal is to offer a complete howto/tutorial on using this report, from conception, to using your report (poster printing, ...).

Before you start

GRAMPS can produce charts, but to view them, you need other programs. We recommend that you install the following:

  • Graphviz: required, whithout this, no relationship chart
  • Inkscape: for viewing and editing svg charts, export to png
  • gv, kghostview: for viewing ps charts
  • ps2pdf: for converting ps to pdf
  • adobe reader, kpdf: for viewing pdf charts
  • openoffice, koffice: for viewing odt documents

Filters: what persons to print ?

What are filters?

In GRAMPS you can define filters to make a selection of individuals, see Example_filters. In the relationship chart all custom person filters you made will be available, as well as the standard descendants and ancestors filters. These last start from the active person.

Gnome-important.png
Tip: You can add to a family stepchildren by setting the relationship of the child to the mother to step child. In doing so, these children will be part of a descendant report without the need to create a custom filter to include them.

How many people ?

Your filter can contain as many people as you want. Note however that printing or viewing of large charts can be very problematic.

Example 1: a descendant chart

Download example.gramps, create a new database in GRAMPS called example.grdb, and import the example.gramps data into it.

If not the case, set the active person to Garner, Lewis Anderson

To make a descendant chart with the relationship report, choose the menu item "Reports -> Graphical reports -> Realtionship graph"

In the dialog, set the format to .png and chose the following in the tabs available: Paper Options -> Size : Custom Size (Set width and height to 10000 cm, or some other large value) Report Options -> Filter: Ancestors of Garner, Lewis Andersson layout optons -> Aspect ratio: minimal size

(I sometimes experience problems setting the sizes in the Paper options dialog. A workaround is to use the example using graphviz code in example 3 below.)

For me (using gramps 2.2.7 on windows XP), the result was descendants.png, to be uploaded here soon.

Use http://www.gramps-project.org/wiki/index.php?title=Make_flash_plugin_from_a_png to make the resulting graph easier to navigate.

Example 1b: a chart with ancestors

Download and open the example.gramps file as in Example 1 Set Warner, Carl Thomas to be the active person.

Repeat the process in example 1, but choose the filter "Ancestors of Warner, Carl Thomas" this time.

Example 2: A chart with ancestors, descendants and their families

Note: This example uses filters. See [1] for en introductory example.

Open the file example.gramps and select Cristiansen, Frances as the active person.

First we create a helper filter: Open the filter editor and create a new filter, called Frances1. The filter should contain the rules

  • "Ancestors of <person>" choose Christiansen, Frances and check "inclusive".
  • "Descendants of <person>" chose Christiansen, Frances

Make sure that "At least one rule must be fulfilled" is chosen, so that we get both ancestors and descendants.

Now we create the filter we want for the report:

Create a new filter, called Frances2. This filter should contain the rules

  • "People matching the filter", choose Frances1
  • "Parents of filter" Frances1
  • "Siblings of filter" Frances1
  • "Spouses of filter" Frances1

Now close the filter editor, and follow the instruction sin examples 1a and 1b, but this time choosing the filter "Frances2" in the Report Options tab.

My result is the file: ancestorsAndDescendants.png

Example 3, Generating the graph by using the Graphviz command line tool

I use this only as a way to work around problems like setting the paper size.

In the menu, select "Reports -> Code Generators -> Relationship graph" Choose the filter you want to use, and set also as many of the other options as possible to the desired values (as explained in example 1), but the format should be "Graphviz (dot)". Click Ok. You should now have a file of type ".dot". This file is a text file, so it can be opened in any text-editor.

For paper size, look around line 36-37 for two lines that define the "page" (paper size) and "size" (area of paper to use), and change these to some large values.

Save the modified file under the name report.dot, and run the commad "dot -Ppng -oreport.png report.dot". This should use the graphviz "dot" tool to generate the .png file containing the report.


Further cool things to do

  • You can make descendant charts and add them to the media gallery of the person. Like that, the cart is available from the website.
  • offer a chart on your website as a flash relationship graph, enabling zooming, moving, ... over your data or just use SVG for Firefox and Opera, see DenominoViso