https://blog.gramps-project.org/wiki/api.php?action=feedcontributions&user=Peterhewett&feedformat=atomGramps - User contributions [en]2024-03-29T12:55:44ZUser contributionsMediaWiki 1.31.3https://blog.gramps-project.org/wiki/index.php?title=Gramps_5.1_Wiki_Manual_-_Settings&diff=84839Gramps 5.1 Wiki Manual - Settings2021-06-03T20:28:21Z<p>Peterhewett: /* Family Tree */ add wiki link for backups</p>
<hr />
<div>{{man index|Gramps 5.1 Wiki Manual - Tools|Gramps 5.1 Wiki Manual - Filters|5.1}}<br />
{{languages|Gramps_5.1_Wiki_Manual_-_Settings}}<br />
{{#vardefine:chapter|15}}<br />
{{#vardefine:figure|0}}<br />
This section deals with various settings you can manage within Gramps.<br />
<br />
== Preferences ==<br />
[[File:EditPreferencesTabsOnly-overview-51.png|right|thumb|650px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Overview of all Preferences tabs]]<br />
<br />
Most of the settings in Gramps are configured in the {{man label|Preferences}} dialog. To invoke it, select the menu {{man menu|Edit ->Preferences...}}.<br />
<br />
The tabs on the top display the available option categories as follows:<br />
*{{man label|[[Gramps_5.1_Wiki_Manual_-_Settings#General|General]]}}<br />
*{{man label|[[Gramps_5.1_Wiki_Manual_-_Settings#Family_Tree|Family Tree]]}}<br />
*{{man label|[[Gramps_5.1_Wiki_Manual_-_Settings#Display|Display]]}}<br />
*{{man label|[[Gramps_5.1_Wiki_Manual_-_Settings#Text|Text]]}}<br />
*{{man label|[[Gramps_5.1_Wiki_Manual_-_Settings#ID_Formats|ID Formats]]}}<br />
*{{man label|[[Gramps_5.1_Wiki_Manual_-_Settings#Dates|Dates]]}}<br />
*{{man label|[[Gramps_5.1_Wiki_Manual_-_Settings#Researcher|Researcher]]}}<br />
*{{man label|[[Gramps_5.1_Wiki_Manual_-_Settings#Warnings|Warnings]]}}<br />
*{{man label|[[Gramps_5.1_Wiki_Manual_-_Settings#Colors|Colors]]}}<br />
*{{man label|[[Gramps_5.1_Wiki_Manual_-_Settings#Genealogical Symbols|Genealogical Symbols]]}}<br />
<br />
Also ''other'' additional tabs maybe shown from any [[5.1_Addons#Addon_List|addons]] you may have installed.<br />
{{-}}<br />
=== General ===<br />
<br />
[[File:EditPreferences-General-tab-example-51.png|Right|thumb|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} General Preferences (Linux)]]<br />
<br />
This tab contains two sections containing preferences relevant to the general operation of the program. Sections and options are:<br />
<br />
==== General Gramps settings ====<br />
*[ ]{{man label|Add default source on GEDCOM import}}: This checkbox option affects the importing of [[Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees#GEDCOM_import|GEDCOM data]]. If this is set, each item that is imported will contain a [[Gramps_Glossary#source|Source]] reference to the imported file. '''Note - Adding a default source can significantly slow down the importing of your GEDCOM data.'''<br />
*[ ]{{man label|Add tag on import}}: Checkbox (Default: <code>Imported %Y/%m/%d %H:%M:%S</code> ) '''Note - Adding a [[Gramps_Glossary#tag|Tag]] on import can significantly slow down the importing of your data.'''<br />
*[ ]{{man label|Enable spelling checker}}: This checkbox option controls the enabling and disabling of the spelling checker for notes. The '''gtkspell''' package must be loaded for this to have an effect.<br />
*{{checkbox|0}}{{man label|Display Tip of the Day}}: This checkbox option controls the enabling and disabling of the {{man label|[[Gramps_5.1_Wiki_Manual_-_Settings#Tip_of_the_Day_dialog|Tip of the Day]]}} dialog at startup.<br />
*{{checkbox|0}}{{man label|Remember last view displayed}}: This checkbox option controls the enabling and disabling of the the display of the last [[Gramps_Glossary#view|View]]. Enabling will bring you to the view where you stopped the program the last time.<br />
*{{man label|Max generations for relationships:}} You can enter the number of generations used to determine relationships. The default value is '''<code>15</code>'''.<br />
*{{man label|Base path for relative media paths:}} Here you can fill in a base path for the media objects. Selecting the {{man button|Directory}} button gives you a {{man label|Select media directory}} editor where you can fill in the required path.<br />
<br />
==== Third party addons management ====<br />
*{{man label|Check for addon updates:}} Select the frequency that Gramps checks for updates to [[5.1_Addons#Installing_Addons_in_Gramps|Addons]]. Default: ''Never''<br />
*{{man label|What to check:}} Default: ''New addons only''<br />
*{{man label|Where to check:}} Default: <code>https://raw.githubusercontent.com/gramps-project/addons/master/gramps51</code><br />
*{{checkbox|1}}{{man label|Do not ask about previously notified addons}}: Checkbox selected by default<br />
*{{man button|Check for updated addons now}}: Button to force a check for Addons, if Addons are available you will then be presented the {{man label|[[Gramps_5.1_Wiki_Manual_-_Settings#Available_Gramps_Updates_for_Addons|Available Gramps Updates for Addons]]}} window where you choose and install them from.<br />
{{-}}<br />
<br />
======Available Gramps Updates for Addons======<br />
[[File:AvailableGrampsUpdatesforAddons-example-listing-51.png|Right|thumb|550px|"Available Gramps Updates for Addons" window showing example listing output for Gramps 5.1]]<br />
<br />
The {{man label|Available Gramps Updates for Addons}} window you will be shown a list broken down by '''Type''' that you can view by selecting the "Select" column expand out each "Type".<br />
* You can then select the check box of those Addons you want to install.<br />
* Then select the {{man button|Install Selected Addons}} button to download those Addons from the ''Internet''.<br />
* Once downloaded from the {{man label|Done downloading and installing addons}} dialog select the {{man button|Close}} button<br />
* From the {{man label|Preferences}} dialog select {{man button|Close}} button.<br />
* To use the Addons you need to {{man menu|Family Trees>Quit}} and restart Gramps.<br />
<br />
{{-}}<br />
<br />
====Tip of the Day dialog====<br />
<br />
[[File:TipOfTheDay-dialog--example-keeping-good-records-50.png|Right|thumb|400px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Tip of the Day dialog]]<br />
<br />
When enabled in {{man menu|Edit > Preferences}} {{man label|General}} tab the {{man label|Tip of the Day}} dialog shows helpful hints.<br />
<br />
The following options are available:<br />
*{{checkbox|1}} {{man label|Display on startup}} (check box checked by default - once enabled) - uncheck to stop further tips appearing.<br />
*{{man button|Forward}} - Advance to the next tip.<br />
*{{man button|Close}} - exit for this session until the Gramps program is restarted.<br />
{{-}}<br />
<br />
=== Family Tree ===<br />
[[File:EditPreferences-FamilyTree-tab-example-51.png|right|thumb|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Menu: {{man menu|Edit>Preferences...}} - "Family Tree" - tab - example - defaults]]<br />
<br />
This tab contains preferences relevant to the '''Family Tree Database settings and Backup management'''.<br />
<br />
*{{man label|Database backend:}} - <br />
** ''BSDDB'' - Legacy Database backend.<br />
** '''SQLite''' (default) - the [[DB-API Database Backend]]<br />
** ... If installed other database backends will be listed eg: PostgreSQL backend<br />
*{{man label|Host:}} - Server address or other computer IP address for the location of the database.<br />
*{{man label|Port:}} - Port number to access the Host database<br />
*{{man label|Family Tree Database path:}} The default path where the Databases are stored is '''home directory<code>/.gramps/grampsdb</code>'''. Unless you absolutely want to change this, stay with the default path. This path will be located in the relevant Operating Systems [[Gramps_5.1_Wiki_Manual_-_User_Directory|User Directory]].<br />
*{{checkbox|0}}{{man label|Automatically load last family tree}}: This checkbox option controls the enabling and disabling of the loading on start up of the last used database.<br />
*{{man label|Backup path:}} - Location to save your Gramps backup files to.<br />
*{{checkbox|1}}{{man label|Backup on exit}} - Backup the open family tree when Gramps exits, to Backup path specified above.<br />
*{{man label|Autobackup:}} - <br />
** '''Never''' (default)<br />
** ''Every 15 minutes''<br />
** ''Every 30 minutes''<br />
** ''Every hour''<br />
{{-}}<br />
<br />
See also:<br />
* [[Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees#Backing_up_a_Family_Tree|Backing up a family tree]] - more information on backups<br />
* [[Template:Backup_Omissions|Backup omissions]] - what is not included during a backup<br />
* Addon [[PostgreSQL]] - this adds support for PostgreSQL databases.<br />
<br />
=== Display ===<br />
[[File:EditPreferences-Display-tab-default-51.png|right|thumb|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Menu: "Edit>Preferences..." - "Display" - tab - defaults]]<br />
<br />
The {{man label|Display}} tab contains preferences relevant to the display of data and names, '''Appearance and format settings'''. Options are:<br />
<br />
*{{man label|Name format:}} This option controls the display of names in the current database (the setting is saved in the database and is not system wide). In Gramps there are two type of name display formats: the predefined formats, and the user defined custom formats. Several different predefined name formats are available: Given - Prefix Patronymic, Suffix Given - Prefix Surname, Given Patronymic Suffix etc. <br />
** Clicking on the right hand side {{man button|Edit...}} button will bring up a {{man label|[[Gramps_5.1_Wiki_Manual_-_Settings#Display_Name_Editor|Display Name Editor]]}} window where the available list of options is shown. The format is given as well as an example. When predefined formats are not suitable one can define one's own format. You can use the {{man button|Add}} button to add a Name format to the list. Clicking once will give you a '''SURNAME,Given Suffix(call)''' format and as example : '''SMITH, Edwin Jose Sr (Ed)'''. If you added new name formats to the list the {{man button|Remove}} and {{man button|Edit}} buttons become available to change the name format list. <br />
***{{checkbox|0}}{{man label|Consider single pa/matronymic as surname}}: Checkbox unselected by default. If selected enables Gramps to consider patronymic and matronymic names as surnames.<br />
<br />
{{man note|1=Note|2=Besides this database-wide setting Gramps allows you to decide the name display format individually for every single name via the {{man label|[[Gramps_5.1_Wiki_Manual_-_Settings#Display_Name_Editor|Display Name Editor]]}} dialog}}<br />
<br />
*{{man label|Date format:}} This option controls the display of dates. It is a global setting, requiring a restart of Gramps to take effect, and applies to the display of dates in all databases loaded within Gramps until such time as the date display format is changed again. Several different formats are available, which may be dependent on your locale. {{man menu|Please note once changed it is necessary to restart Gramps to view the new date display format}}<br />
** '''YYYY-MM-DD (ISO)''' (Default) - Example 2020-09-30 - Displays the date using the international standard [https://wikipedia.org/wiki/ISO_8601 ISO 8601 Data elements and interchange formats – Information interchange] particularly useful when sharing data between countries with different conventions for writing numeric dates and times.<br />
** Numerical<br />
** Month Day, Year<br />
** MON DAY, YEAR<br />
** Day Month Year<br />
** DAY MON YEAR<br />
<br />
*{{man label|Place format(auto place title):}} This option controls the display of places.<br />
** '''Full''' (Default)<br />
*** Selecting the {{man button|Edit...}} button will show the {{man label|[[Gramps_5.1_Wiki_Manual_-_Settings#Place_Format_Editor|Place format editor]]}}<br />
<br />
*{{man label|Age display precision(requires restart):}}<br />
** '''Years'''(default)<br />
** Years, Months<br />
** Years, Months, Days<br />
{{man warn|Reported Bug in version 5.1.1 Fixed in version 5.1.2|Changes made in the "Age Display Precision" in the Preferences Display tab cannot be saved in this version of Gramps. <br><br>A manual workaround is detailed in the Bug Report.<br>''See'' bug report {{Bug|11384}}.}}<br />
<br />
*{{man label|Calendar on reports:}} '''Gregorian'''(default). This option controls the display of calendar on reports, tools, gramplets, views. Several different calendars are available (see [[Gramps_5.1_Wiki_Manual_-_Entering_and_Editing_Data:_Detailed_-_part_1#Editing_dates|Date Edition]]). Two dates with two different calendars will not properly display timeline or period, (e.g. Using the Gregorian calendar as the default displayed calendar, users will have a better coherency for displaying dates on period).<br />
<br />
*<span id="surname guessing">{{man label|Surname Guessing:}}<span> This option affects the initial family name of a child when he/she is added to the database. The default {{man label|Father's surname}} will use the family name of the father. Selecting {{man label|None}} means that no surname guessing will be attempted. Selecting {{man label|Combination of mother's and father's surname}} will use the father's name followed by the mother's name. Finally, {{man label|Icelandic style}} will use the father's given name followed by the "sson" suffix (e.g. the son of Edwin will be guessed as Edwin''sson'').<br />
<br />
{{man tip|1=Tip |2=The {{man label|Surname Guessing:}} option only affects the initial family name guessed by Gramps when the {{man label|Edit Person}} dialog is launched.<br />
You can modify that name the way you see fit. Set this option to the value that you will most frequently use, as it will save you a lot of typing.}}<br />
<br />
*{{man label|Default family relationship:}} <br />
** '''Unknown'''(default)<br />
** Married <br />
** Unmarried <br />
** Civil Union<br />
<br />
*{{man label|Height multiple surname box(pixels):}} Default:'''150'''<br />
<br />
*{{man label|Status bar:}} This option controls the information displayed in the status bar. This can be either the '''Active person's name and ID'''(default) or '''Relationship to home person'''.<br />
<br />
*{{checkbox|1}}{{man label|Show text label beside Navigator buttons (requires restart)}} ''checked'' (default) This checkbox controls whether or not a text description is displayed next to the icon in the [[Gramps_5.1_Wiki_Manual_-_Main_Window#Navigator|Navigator]] in the [[Gramps_5.1_Wiki_Manual_-_Main_Window#Main_Window|Main Window]]. This option takes effect after the program has been restarted.<br />
<br />
*{{checkbox|0}}{{man label|Show close button in gramplet bar tabs}} ''unchecked''(default)<br />
<br />
====Display Name Editor====<br />
<br />
{{man note|1=Note|2=Custom name display formats are stored in the Family Trees, thus before loading any Family Tree the {{man label|Custom format details}} expander is disabled.}}<br />
<br />
[[File:EditPreferences-Display-tab-DisplayNameEditor-dialog-example-50.png|right|thumb|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Display Name Editor - dialog (example) from Menu: "Edit>Preferences..." - "Display" - tab]]<br />
The following keywords are replaced with the appropriate name parts:<br />
* <b>Given</b> - given name (first name) <br />
* <b>Title</b> - title (Dr., Mrs.) <br />
* <b>Call</b> - call name <br />
* <b>Initials</b> - first letters of Given <br />
* <b>Primary, Primary[pre] or [sur] or [con]</b>- full primary surname, prefix, surname only, connector <br />
* <b>Patronymic, or [pre] or [sur] or [con]</b> - full pa/matronymic surname, prefix, surname only, connector <br />
* <b>Familynick</b> - family nick name <br />
* <b>Rest</b> - non primary surnames <br />
* <b>Rawsurnames</b>- surnames (no prefixes and connectors)<br />
* <b>Surname</b> - surnames (with prefix and connectors)<br />
* <b>Suffix</b> - suffix (Jr., Sr.)<br />
* <b>Nickname</b> - nick name<br />
* <b>Common</b> - nick name, otherwise first of Given<br />
* <b>Prefix</b> - all prefixes (von, de) <br />
* <b>Notpatronymic</b>- all surnames, except pa/matronymic &amp; primary<br />
<br />
{{man menu|UPPERCASE versions of these keywords forces uppercase to be displayed.}} Extra parentheses, commas are removed. Other text appears literally.<br />
<br />
[[File:NameEditor-format_reference_example-51.png|right|thumb|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Display Name Editor - reference person]]<br />
<br />
'''Example:''' Dr. Edwin Jose von der Smith and Weston Wilson Sr (“Ed”) - Underhills<br />
''Edwin Jose'': Given, ''von der'': Prefix, ''Smith'' and ''Weston'': Primary, ''and'': <abbr title="a connector">[con]</abbr>, ''Wilson'': Patronymic,<br />
''Dr.'': Title, ''Sr'': Suffix, ''Ed'': Nickname, ''Underhills'' <abbr title="family nick name">Familynick</abbr>, Jose <abbr title="called (preferred given name)">call</abbr>.<br />
<br />
All the fields in the Example except the Family Nickname can be added in the standard Person Editor dialog. Double-click the Preferred name in Names tab of the Person Editor to access additional fields including: the Family Nick Name, Grouping controls, exception Sorting & Display controls, Date range controls for using a particular name.<br />
{{-}}<br />
<br />
{{stub}}<!-- mention the three buttons at the bottom--><br />
<br />
==== Place Format Editor ====<br />
{{stub}}<!-- update image as places tab removed --><br />
{{man note|Feature - introduced in Gramps 4.1|[[Hierarchical Place Structure]]}}<br />
<br />
[[File:EditPreferences-Display-tab-PlaceFormatEditor-dialog-example-50.png|right|thumb|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Place Format Editor - dialog (example) from Menu: "Edit>Preferences..." - "Display" - tab]]<br />
<br />
Accessed from the [[Gramps_5.1_Wiki_Manual_-_Settings#Display|Display]] tabs Place Format option.<br />
<br />
This tab contains preferences relevant to how Places should be shown. <br />
<br />
*{{man label|Name:}} A unique name for the place format.<br />
*{{man label|Levels:}} The place names to be displayed.<br />
Each level in the hierarchy is represented by a positive integer, starting with 0 for the selected place and increasing by 1 for each level up the hierarchy. The levels can also be represented by negative integers, starting with -1 for the top level (usually a country) and decreasing by 1 for each level lower in the hierarchy. In addition, the populated place (city, town, village or hamlet) is represented by the letter p; this can be used with an offset (e.g. p+1 or p-2).<br />
<br />
The names to be displayed are defined as a comma-separated list of ranges. A range can either be a single level, or a start level and an end level separated by a colon. The start level must be less than the end level in a range. The start and end levels default to 0 and -1 if missing.<br />
<br />
*{{man label|Street format:}} "None" (Default), "Number Street" or "Street Number". Option to concatenate the number and street in order to suppress the comma. For this option to work, the street must have the [[Gramps_5.1_Wiki_Manual_-_Entering_and_editing_data:_detailed_-_part_2#Place_Editor_dialog|'''Type''']] ''Street'' and house number must have the '''Type''' ''Number''.<br />
*{{man label|Language:}} (Empty by Default) A two-digit language code.<br />
*{{checkbox|0}} {{man label|Reverse display order}} (checkbox unchecked by default)<br />
<br />
<br />
See also:<br />
* [[Gramps_5.1_Wiki_Manual_-_Entering_and_editing_data:_detailed_-_part_2#Place_Editor_dialog|Place Editor dialog]]<br />
* [[Gramps_5.1_Wiki_Manual_-_Entering_and_editing_data:_detailed_-_part_2#Place_Name_Editor_dialog|Place Name Editor dialog]]<br />
{{-}}<br />
<br />
=== Text ===<br />
<br />
[[File:EditPreferences-Text-tab-default-51.png|right|thumb|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Menu: "Edit>Preferences..." - "Text" - tab - defaults]]<br />
<br />
This tab contains preferences relevant to how missing and private names and records should be shown.<br />
<br />
*{{man label|Missing surname:}} in the input field you can determine how a missing surname should be displayed. Default value is '''<code>[Missing Surname]</code>'''. You can change this to [--] or whatever is most convenient for you.<br />
*{{man label|Missing given name}} in the input field you can determine how a missing given name should be displayed. Default value is '''<code>[Missing Given Name]</code>'''. You can change this to whatever you want.<br />
*{{man label|Missing record:}} Default: <code>[Missing Record]</code><br />
*{{man label|Private surname:}} Default: <code>[Living]</code><br />
*{{man label|Private given name:}} Default: <code>[Living]</code><br />
*{{man label|Private record:}} Default: <code>[Private Record]</code><br />
{{-}}<br />
<br />
=== ID Formats ===<br />
<br />
{{man tip|ID Prefixes |The ID prefixes use formatting conventions common for C, Python, and other programming languages. For example, the <code>%04d</code> expands to an integer, prepended with zeros to have the total width of four digits. If you would like IDs to be 1, 2, 3, etc., simply set the formatting parameter to <code>%d</code>, the 'd' specifies Decimal Integer, outputting the number in base 10.<br /><br />See: Python [https://docs.python.org/3/library/string.html#format-specification-mini-language (String) Format Specification Mini-Language]}}<br />
<br />
[[File:EditPreferences-IDFormats-tab-default-51.png|right|thumb|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Menu: "Edit>Preferences..." - "ID Formats" - tab - defaults]]<br />
<br />
This tab contains preferences relevant to the automatic generation of Gramps IDs.<br />
<br />
*{{man label|Person:}} Provides the template for generating IDs for a Person. Default value: <code>I%04d</code><br />
*{{man label|Family:}} Provides the template for generating IDs for a Family. Default value: <code>F%04d</code><br />
*{{man label|Place:}} Provides the template for generating IDs for a Place. Default value: <code>P%04d</code><br />
*{{man label|Source:}} Provides the template for generating IDs for a Source. Default value: <code>S%04d</code><br />
*{{man label|Citation:}} Provides the template for generating IDs for a Citation. Default value: <code>C%04d</code><br />
*{{man label|Media Object:}} Provides the template for generating IDs for a Media Object. Default value: <code>O%04d</code><br />
*{{man label|Event:}} Provides the template for generating IDs for an Event. Default value: <code>E%04d</code><br />
*{{man label|Repository:}} Provides the template for generating IDs for a Repository. Default value: <code>R%04d</code><br />
*{{man label|Note:}} Provides the template for generating IDs for a Note. Default value: <code>N%04d</code><br />
<br />
<br />
You can use the [[Gramps_5.1_Wiki_Manual_-_Tools#Reorder_Gramps_ID|Reorder Gramps ID]] tool to change the format.<br />
{{-}}<br />
<br />
=== Dates ===<br />
<br />
[[File:EditPreferences-Dates-tab-default-51.png|right|thumb|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Menu: "Edit>Preferences..." - "Dates" - tab - defaults]]<br />
<br />
Date settings used for calculation operations.<br />
<br />
*{{man label|Markup for invalid date format:}} Default: <code>&lt;b>%s&lt;/b></code><br />
** Convenience markups are:<br />
*** <b>&lt;b&gt;Bold&lt;/b&gt;</b> (Default)<br />
*** <big>&lt;big&gt;Makes font relatively larger&lt;/big&gt;</big><br />
*** <i>&lt;i&gt;Italic&lt;/i&gt;</i><br />
*** <s>&lt;s&gt;Strikethrough&lt;/s&gt;</s><br />
*** <sub>&lt;sub&gt;Subscript&lt;/sub&gt;</sub><br />
*** <sup>&lt;sup&gt;Superscript&lt;/sup&gt;</sup><br />
*** <small>&lt;small&gt;Makes font relatively smaller&lt;/small&gt;</small><br />
*** <tt>&lt;tt&gt;Monospace font&lt;/tt&gt;</tt><br />
*** <u>&lt;u&gt;Underline&lt;/u&gt;</u><br />
**** For example: &lt;u&gt;&lt;b&gt;%s&lt;/b&gt;&lt;/u&gt; will display <u><b>Underlined bold date</b></u>.<br />
*{{man label|Date about range:}} Default: <code>50</code><br />
** Defines the number of years +/- of the event date "<code>about <date></code>" that the event will return as valid for a filter.<br />
** Used in the calculation of the person's age.<br />
*{{man label|Date after range:}} Default: <code>50</code><br />
** Defines the number of years after the event date "<code>after <date></code>" that the event will return as valid for a filter.<br />
** Used in the calculation of the person's age.<br />
*{{man label|Date before range:}} Default: <code>50</code><br />
** Defines the number of years before the event date "<code>before <date></code>" that the event will return as valid for a filter.<br />
** Used in the calculation of the person's age.<br />
*{{man label|Maximum age probably alive:}} Default: <code>110</code><br />
** Absent a Death event, the age by which Gramps will consider the person is no longer alive.<br />
*{{man label|Maximum sibling age difference:}} Default: <code>20</code><br />
*{{man label|Minimum years between generations:}} Default: <code>13</code><br />
*{{man label|Average years between generations:}} Default: <code>20</code><br />
{{-}}<br />
See also:<br />
* [[Gramps 5.1 Wiki Manual - Probably Alive]]<br />
* [[Gramps_5.1_Wiki_Manual_-_Entering_and_editing_data:_detailed_-_part_1#Editing_dates|Editing dates]]<br />
* Setting the [[Match_dates#Changing_after.2Fbefore.2Fabout_range|date approximation .ini]] manually<br />
{{-}}<br />
<br />
=== Researcher ===<br />
{{man tip|Researcher Information|This contact information is independent of the family trees you create.<br /><br />Most exports and reports will be filtered to protect the privacy of living people of the Tree... including yourself. This information feeds into the authoring and citation features of any publication (or archival) options.}}<br />
[[File:EditPreferences-Researcher-tab-default-51.png|right|thumb|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Menu: "Edit>Preferences..." - "Researcher" - tab - defaults]]<br />
<br />
Allows you to {{man label|Enter your information so people can contact you when you distribute your Family Tree}} in the corresponding text entry fields. Although Gramps requests information about you, this information is used only so that Gramps can create valid GEDCOM output files. A valid GEDCOM file requires information about the file's creator. If you choose, you may leave the information empty, however none of your exported GEDCOM files will be valid.<br />
<br />
The available text entry fields are (all blank by default):<br />
*{{man label|Name:}}<br />
*{{man label|Address:}}<br />
*{{man label|Locality:}}<br />
*{{man label|City:}}<br />
*{{man label|State/County:}}<br />
*{{man label|Country:}}<br />
*{{man label|ZIP/Postal Code:}}<br />
*{{man label|Phone:}}<br />
*{{man label|Email:}}<br />
<br />
The information entered under this preference acts as default value for family tree specific values that can be adjusted with the [[Gramps_5.1_Wiki_Manual_-_Tools#Edit_Database_Owner_Information|Edit Database Owner Information]] tool.<br />
{{-}}<br />
<br />
=== Warnings ===<br />
<br />
[[File:EditPreferences-Warnings-tab-default-51.png|right|thumb|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Menu: "Edit>Preferences..." - "Warnings" - tab - defaults]]<br />
<br />
This tab controls the display of warning dialogs, allowing the re-enabling of dialogs that have been disabled.<br />
<br />
*{{checkbox|1}}{{man label|Suppress warning when adding parents to a child.}} Checkbox checked by Default (See [[Gramps_5.1_Wiki_Manual_-_Error_and_Warning_Reference#Suppress_warning_when_adding_parents_to_a_child|Dialog]])<br />
*{{checkbox|0}}{{man label|Suppress warning when cancelling with changed data.}} Checkbox unchecked by Default (See [[Gramps_5.1_Wiki_Manual_-_Error_and_Warning_Reference#Suppress_warning_when_cancelling_with_changed_data|Dialog]])<br />
*{{checkbox|0}}{{man label|Suppress warning about missing researcher when exporting to GEDCOM.}} Checkbox unchecked by Default (See [[Gramps_5.1_Wiki_Manual_-_Error_and_Warning_Reference#Suppress_warning_about_missing_researcher_when_exporting_to_GEDCOM|Dialog]])<br />
*{{checkbox|0}}{{man label|Show plugin status dialog on plugin load error.}} Checkbox unchecked by Default (See [[Gramps_5.1_Wiki_Manual_-_Error_and_Warning_Reference#Module_not_loaded_warnings|Dialog]])<br />
<br />
<br />
See the [[Gramps_5.1_Wiki_Manual_-_Error_and_Warning_Reference|Error and Warning Reference]] page for examples.<br />
{{-}}<br />
<br />
=== Colors ===<br />
<br />
[[File:EditPreferences-Colors-tab-default-51.png|right|thumb|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Menu: "Edit>Preferences..." - "Colors" - tab - defaults]]<!-- ignore that color is spelt "colour" in the screenshot as I am using gramps in Australian mode--><br />
<br />
This tab allows you to set the '''colors used for boxes in the graphical views'''.<br />
<br />
You can select the<br />
* {{man label|Colour scheme:}} ''Light colours''(default) or ''Dark colours''<br />
** {{man button|Restore to defaults}} - restores themes default colors.<br />
* Colors for Male persons<br />
* Colors for Female persons<br />
* Colors for Unknown persons<br />
* Colors for Family nodes<br />
* Other colors<br />
{{-}}<br />
==== Pick a Color selector ====<br />
<br />
[[File:PickAColor-selector-dialog-50.png|right|thumb|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} "Pick a Color" - selector dialog]]<!-- screenshot shows australian spelling of colour, please keep usa spelling for user manual--><br />
<br />
Select a color from the color pallet area, or select the {{man label|Custom}} {{man button|+}} button to create your own color either via direct 'color Hex color code'; the slider or mouse click.<br />
{{-}}<br />
<br />
=== Genealogical Symbols ===<br />
<br />
{{man warn|Prerequisites exist for this feature|The Genealogical Symbols tab can only be used if the [[#Prerequisite_to_use_Genealogical_Symbols|prerequisite]] program <code>[[#Prerequisite_to_use_Genealogical_Symbols|python-fontconfig]]</code> is present that Gramps can use.}}<br />
<br />
[[File:EditPreferences-GenealogicalSymbols-tab-activated-51.png|right|thumb|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} "Genealogical Symbols" - Preferences tab - activated defaults]]<br />
<br />
Allows you to use Genealogical symbols instead of text abbreviations in reports, charts and the Gramps interface. <br />
<br />
This tab gives you the possibility to use one font which is able to show all genealogical symbols. (Once configured see: [[#Prerequisite_to_use_Genealogical_Symbols|Prerequisite to use Genealogical Symbols]])<br />
<br />
If you select the "use symbols" checkbox, Gramps will use the selected font if it exists.<br />
<br />
This can be useful if you want to add phonetic in a note to show how to pronounce a name or if you mix multiple languages like Greek and Russian.<br />
<br />
You can only configure the death symbol from this tab.<br />
<br />
:List of Genealogical Symbols shown (listed in order shown at bottom screenshot):<br />
<br />
* Female<br />
* Male<br />
* Asexuality, sexless, genderless<br />
* Lesbianism<br />
* Male homosexuality<br />
* Heterosexuality<br />
* Transgender, hermaphrodite (in entomology)<br />
* Transgender<br />
* Neuter<br />
<br />
* Illegitimate<br />
* Birth<br />
* Baptism/Christening<br />
* Engaged<br />
* Marriage<br />
* Divorce<br />
* Unmarried partnership<br />
* Buried<br />
* Cremated/Funeral urn<br />
* Killed in action<br />
* Extinct<br />
<br />
* Death<br />
<br />
<br />
{{-}}<br />
<!-- Unicode symbols not showing on mediwiki due to ??? add back when worked out<br />
* &#2640; - Female<br />
* &#2642; - Male<br />
* &#26aa; - Asexuality, sexless, genderless<br />
* &#26a2; - Lesbianism<br />
* &#26a3; - Male homosexuality<br />
* &#26a4; - Heterosexuality<br />
* &#26a5; - Transgender, hermaphrodite (in entomology)<br />
* &#26a6; - Transgender<br />
* &#26b2; - Neuter<br />
<br />
* &#229b; - Illegitimate<br />
* &#002a; - Birth<br />
* &#007c; - Baptism/Christening<br />
* &#26ac; - Engaged<br />
* &#26ad; - Marriage<br />
* &#26ae; - Divorce<br />
* &#26af; - Unmarried partnership<br />
* &#26b0; - Buried<br />
* &#26b1; - Cremated/Funeral urn<br />
* &#2694; - Killed in action<br />
* &#2021; - Extinct<br />
<br />
* &#271e; - Death<br />
<br />
--><br />
{| class="wikitable"<br />
|-<br />
! meaning<br />
! symbol<br />
! Unicode code point(s) <br />
! name<br />
|-<br />
! male <br />
| ♂ <br />
| U+2642 <br />
| Male Sign<br />
|-<br />
! female <br />
| ♀ <br />
| U+2640 <br />
| Female Sign<br />
|-<br />
! unknown <br />
| ⚪︎ <br />
| U+26AA <br />
| Medium White Circle<br />
|-<br />
! hermaphrodite <br />
| ⚥ <br />
| U+26A4 <br />
| Interlocked Male and Female Sign<br />
|-<br />
! neuter <br />
| ⚲ <br />
| U+26B2 <br />
| Neuter<br />
<br />
|-<br />
! birth <br />
| * <br />
| U+002A <br />
| Asterisk<br />
|-<br />
! baptisation, christening <br />
| ~ <br />
| U+007E <br />
| Tilde<br />
|-<br />
! death <br />
| ✝︎ <br />
| U+271D <br />
| Latin Cross<br />
|-<br />
! burial <br />
| ⚰︎ <br />
| U+26B0 <br />
| Coffin<br />
|-<br />
! cremation <br />
| ⚱︎ <br />
| U+26B1 <br />
| Funeral Urn<br />
|-<br />
! stillborn <br />
| ✝︎* <br />
| U+0086 U+002A <br />
| Latin Cross, Asterisk<br />
|-<br />
! born illegitimately <br />
| *⃝ <br />
| U+002A U+20DD <br />
| Circled Asterisk<br />
|-<br />
! born illegitimately <br />
| ⊛ <br />
| U+229B <br />
| Circled Asterisk Operator<br />
|-<br />
! killed in action <br />
| ⚔︎ <br />
| U+2694 <br />
| Crossed Swords<br />
|-<br />
! this line extinct <br />
| ‡ <br />
| U+2021 <br />
| Double Dagger <br />
|-<br />
! approximate(ly) <br />
| ± <br />
| U+00B1 <br />
| Plus-Minus<br />
|-<br />
! before <br />
| < <br />
| U+003C <br />
| Less-Than Symbol<br />
|-<br />
! after <br />
| > <br />
| U+003E <br />
| Greater-Than Symbol<br />
<br />
|-<br />
! engaged <br />
| ⚬ <br />
| U+26AC <br />
| Medium Small White Circle<br />
|-<br />
! married <br />
| ⚭ <br />
| U+26AD <br />
| Marriage Symbol<br />
|-<br />
! divorced <br />
| ⚮ <br />
| U+26AE <br />
| Divorce Symbol<br />
|-<br />
! unmarried <br />
| ⚯ <br />
| U+26AF <br />
| Unmarried Partnership Symbol<br />
|}<br />
{{-}}<br />
====Prerequisite to use Genealogical Symbols====<br />
<br />
[[File:EditPreferences-GenealogicalSymbols-tab-default-51.png|right|thumb|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} "Genealogical Symbols" - Preferences tab - defaults]]<br />
<br />
=====Initial setup=====<br />
<br />
If the fontconfig [[Gramps_5.1_Wiki_Manual_-_Settings#Prerequisite|prerequisite has been installed]], then on the {{man label|Genealogical Symbols}} tab select the {{man button|Try to find}} button, Gramps will attempt to detect any suitable unicode text fonts that can be used. <br />
<br />
[[File:EditPreferences-GenealogicalSymbols-FindFont-51.png|center|thumb|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} "Genealogical Symbols" - Finding fonts]]<br />
<br />
When the search has completed select one of the fonts from the {{man button|Choose font}} list and then select the checkbox:<br />
<br />
{{checkbox|1|Use symbols}}<br />
<br />
=====Prerequisite=====<br />
Prerequisite : '''python-fontconfig''' : Python bindings of fontconfig and its dependencies are required for displaying genealogical symbols<br />
{{man note|Use the [[Addon:Prerequisites_Checker_Gramplet|Prerequisites Checker]]|Do you have <code>python-fontconfig</code> installed? Run the Prerequisites Checker Addon and look for something similar to the following line:<pre>* python-fontconfig 0.5.0 (Success version 0.5.x is installed.)</pre>}}<br />
<br />
See also:<br />
* Tamura Jones expounds on [https://www.tamurajones.net/GenealogySymbols.xhtml Genealogical Symbols] ''(the 'Unicode' section is particularly relevant)''<br />
* [[GEPS 039: Genealogical symbols in gramps]]<br />
* Feature request: {{bug|9098}} Gramps should be able to use genealogy symbols everywhere.<br />
* [[Customize the Genealogical Symbols lookup table]] located in the [[Gramps_5.1_Wiki_Manual_-_User_Directory#MS_Windows|Gramps user directory]] at: [https://github.com/gramps-project/gramps/blob/maintenance/gramps51/gramps/gen/utils/symbols.py gramps\gen\utils\symbols.py]<br />
{{-}}<br />
<br />
== Other settings ==<br />
<br />
Besides {{man label|Preferences}} dialog, there are other settings available in Gramps. For various reasons they have been made more readily accessible, as listed below.<br />
{{-}}<br />
===Column Editor===<br />
<br />
{{man tip|1=Column Editor|2=The {{man label|Column Editor}} is available and works in the same way for all list views. Specifically, it is available for People View, Family View (children list). Sources View, Citations View, Places View, Media View, Repositories View and the Notes View.}}<br />
<br />
[[File:ConfigureTheActiveView-icon-on-toolbar-51.png|thumb|right|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Selecting the {{man button|Configure View...}} button]]<br />
<br />
[[File:ColumnEditor-dialog-example-50.png|right|thumb|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Column Editor - Dialog - People example]]<br />
<br />
<br />
The columns of the list views may be added, removed, or reordered in a {{man label|Column Editor}} dialog. <br />
<br />
To use the {{man label|Column Editor }} dialog for the current view, choose via the menu {{man menu|View &#x27a1; Configure View...}}, click on [[File:Gramps-config.png|34px]]{{man button|Configure View...}} toolbar button or press the ''Configure active view'' [[Gramps_5.1_Wiki_Manual_-_Keybindings#Common_keybindings|keyboard keybinding]]. <br />
<br />
Only columns with a selected checkbox will be shown in the view. You can also change the position of a column in the View by clicking and dragging it to a new position in the Editor ([https://wikipedia.org/wiki/Drag-and-drop ''drag and drop'']). Once you have made the changes you want click {{man button|Apply}}, then click {{man button|OK}} to exit the Editor and see your changes in the View.<br />
<br />
By default, the View List, displays several columns of information about the respective category. You can add or remove columns to and from the display <br />
<br />
The default sort key for the view [always ascending] is the left-most field [i.e. at the top in the Column Editor], so changing which field is in that position affects default sorting.<br />
<br />
[[File:ConfigurePersonView-51.png|right|thumb|400px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Column Editor - Dialog - Places example]]The {{man label|Column Editor}} dialog will have a different selection of columns for each category of View that displays a simple table.<br />
<br />
Changes will only be enacted when the {{man button|Apply}} button is clicked.<br />
<br />
Once the View columns changes have been applied, clicking once on the column header sorts in ascending order, clicking again sorts in descending order. <br />
<br />
The subset of columns and the current [[Gramps_5.1_Wiki_Manual_-_Filters|filters]] will also constrain the data exported via the {{Man menu|Family Trees&nbsp;&#x27a1;&nbsp;[[Gramps_5.1_Wiki_Manual_-_Settings#Export_View|Export View...]]}} operation. Hidden columns and records will not be exported. <br />
{{-}}<br />
<br />
=== Sorting columns ===<br />
<br />
[[File:PeopleCategory-PeopleListView-SortedByBirthDateColumn-example-50.png|right|thumb|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Sorted by "Birth Date" column in the list mode of the People Category View - example]]<br />
<br />
By default, each Category View presenting data in a columnated table layout will sort the rows in ascending order based on the data in the first (left-most) column. If the table has grouped rows, the grouped data will be sub-sorted. ''(Tables in tabbed subsets of data, Editors and Selectors will work similarly.)''<br />
<br />
Click once on a different column header to sort on the data of that column in ascending order. Click the header again to sort in reverse order. <br />
<br />
The {{man label|[[Gramps_5.1_Wiki_Manual_-_Settings#Column_Editor|Column Editor]]}} dialog can be used to add, remove and rearrange the displayed columns. Choosing a different first column will make that the new default sorting column of the view [though always ascending].<br />
{{-}}<br />
<br />
===Setting Home person===<br />
[[File:MenuEdit-SetHomePerson-50.png|right|thumb|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Menu showing ''Set Home Person'']]<br />
<br />
To set (designate) the [[Gramps_Glossary#home_person|Home person]], select the People Category and select the desired person to make them into the [[Gramps_Glossary#active_person|Active Person]] and then choose {{man menu|Edit ->Set Home Person}} via the menus.<br />
<br />
Alternately, when editing any Person, right-clicking on inactive areas (areas without a text-entry box) of the top section displays a pop-up menu which includes an option to {{man menu|Make Home Person}} of that profile.<br />
<br />
The Home person is the persistently designated person who becomes the [[Gramps_Glossary#active_person|Active Person]] when one of the following occurs:<br />
*By default, when the Family tree database is opened<br />''(The [[Gramps_5.1_Wiki_Manual_-_Settings#General_Gramps_settings|General]] setting in [[Gramps_5.1_Wiki_Manual_-_Settings#Preferences|Preferences]] can modify this default behavior. The "Remember last view displayed" will return to the last [[Gramps_Glossary#active_person|Active Person]] of the previous session.)''<br />
*As the toolbar {{man button|Home}} button is clicked<br />
*When the Home menu item is selected from either the {{man button|Go}} menu or the right-click context menu in selected views<br />
*As the [[Gramps_5.1_Wiki_Manual_-_Keybindings#15|keybinding]] {{Man key press|ALT|Home}} is pressed to return to the '''Home Person'''. <br />
<br />
The toolbar {{man button|Home}} button is available in the People Category, Relationships Category, and Pedigree Category. [[File:Gramps Go-Home48x48 win.png|text-bottom]]<br />
====See also====<br />
* [[Gramps_5.1_Wiki_Manual_-_Navigation#Setting_the_Home_Person|Setting the Home Person]]<br />
{{-}}<br />
<br />
===Adjusting viewing controls===<br />
<br />
Whether the toolbar, the sidebar, or the filter (not available on Pedigree and Relationships Views) are displayed in the main window is adjusted through the View menu.<br />
<br />
In the different views clicking the {{man menu|[[Gramps_5.1_Wiki_Manual_-_Navigation#View|View]]}} menu will shows for boxes you can click:<br />
*Navigator<br />
*Toolbar<br />
*Sidebar<br />
*Bottombar<br />
*Full Screen {{man key press|F11}}<br />
<br />
Additionally, depending on the view you are in, other options will be available on {{man label|Configure}}.<br />
<br />
*Gramplets:<br />
**Set Columns to 1<br />
**Set Columns to 2<br />
**Set Columns to 3<br />
*Relationships:<br />
**Show Siblings<br />
**Show Details<br />
*Geography:<br />
**Time period<br />
**Layout<br />
<br />
All other Views: the [[Gramps_5.1_Wiki_Manual_-_Settings#Column_Editor|column editor]].<br />
<br />
===Export View===<br />
<br />
[[File:Menubar-FamilyTrees-overview-example-50.png|thumb|right|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Menubar - "Family Trees" - overview example showing "Export View" menu entry]]<br />
<br />
On most [[Gramps_5.1_Wiki_Manual_-_Categories#Categories_of_the_Navigator|Category List Views]], displayed data maybe be exported, choose via the {{man menu|Family Trees ->Export View...}} [[Gramps_5.1_Wiki_Manual_-_Navigation#Main_Menus|menu]] command.<br />
<br />
This Menu command only appears if the displayed data can be exported. Gramps will export data on screen according your choice: '''CSV''' or '''Open Document''' spreadsheet format.<br />
<br />
Note that the current configuration of the View's columns will control what data will be exported. The export will contain only the displayed column data (in the same order) and be limited to records matching any [[Gramps_5.1_Wiki_Manual_-_Filters|filters]] you have applied.<br />
{{-}}<br />
====Export View as Spreadsheet dialog====<br />
<br />
[[File:ExportViewAsSpreadsheet-CSV-file-dialog-example-50.png|right|thumb|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} "Export View as Spreadsheet" CSV(default) file-dialog - example]]<br />
<br />
Gramps will then display the {{man label|Export View as Spreadsheet}} dialog where after choosing a file location to save to and a name for your file; export data on from the Category List View in one of two spreadsheet formats:<br />
* '''CSV''' (default)<br />
* '''OpenDocument Spreadsheet''' - ODS format.<br />
<br />
{{-}}<br />
[[File:ExportViewAsSpreadsheet-exampleODS-Displayed-in-LibreOfficeCalc-50.png|right|thumb|400px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Example ODS Spreadsheet - Displayed in LibreOffice Calc]]<br />
<br />
The example screenshot shows an export to the '''OpenDocument Spreadsheet''' (ODS format) displayed as a Spreadsheet in Libreoffice Calc.<br />
<br />
{{-}}<br />
<br />
===Modularity and plugins===<br />
Gramps has been designed for expansion. The Plugin (a.k.a. Plug-in, addon, Add-on, extension) framework provides a path for 3rd party development outside the normal Gramps release distributions. <br />
<br />
The documentation for each addon is maintained outside the flow of these main wiki chapters. The interface & functionality of the software & documentation may not conform with the styles seen throughout the rest of Gramps... although we encourage Developers to try to make their additions as seamless as possible.<br />
<br />
A brief description & screenshot of each add-on can be found in the [[5.1_Addons#Addon_List|Addon List]] section of the wiki manual. The separately maintained documentation page for the addon is linked from the 1st column of that list.<br />
<br />
See [[Gramps_5.1_Wiki_Manual_-_Plugin_Manager|Plugin Manager]] and [[5.1 Addons|Third-Party Addons]].<br />
{{-}}<br />
<br />
===Customize report output formats===<br />
[[File:TextReports-DocumentOptions-PlainText-output-settings-50.png|right|thumb|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Document Options - tab defaults for Text Reports (Plain Text - output selected) example]]<br />
<br />
What kind of output customization is available? This dialog allows you to change the fonts, font sizes, font color, background color of the text and alignment of paragraphs on the report.<br />
<br />
For most report dialogs, in the top part are option tabs specifically related that particular report. The lower part will have more broadly reusable features and is called the {{man label|[[Gramps_5.1_Wiki_Manual_-_Reports_-_part_6#Document_Options|Document Options]]}} section. <br />
<br />
From the {{man label|Style:}} drop down list you can choose an existing custom style. Or to make your own {{man label|Style:}} select the {{man button|Style Editor...}} button to show the {{man label|[[Gramps_5.1_Wiki_Manual_-_Settings#Document_Styles_dialog|Document Styles]]}} dialog and then select the {{man button|Add a new style}} button to show the {{man label|[[Gramps_5.1_Wiki_Manual_-_Settings#Style_editor_dialog|Style editor]]}} dialog.<br />
<br />
{{stub}}<br />
{{-}}<br />
====Document Styles dialog====<br />
<br />
[[File:DocumentStyles-dialog-50.png|thumb|right|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Document Styles - dialog - default]]<br />
<br />
The {{man label|Document Styles}} dialog, list the ''default'' style and any custom styles for that report and allows you to edit or delete any custom styles you have created. Select the {{man button|+ (Add a new style)}} button to show the {{man label|[[Gramps_5.1_Wiki_Manual_-_Settings#Style_editor_dialog|Style editor]]}} dialog.<br />
{{-}}<br />
<br />
====Style editor dialog====<br />
<br />
The {{man label|Style editor}} dialog allow you to customize the document style specific to each report.<br />
<br />
Change the {{man label|Style sheet name:}} (<code>New Style</code>default) field to a unique name as it will appear in {{man label|Document Options}} {{man label|Style:}} drop down list.<br />
<br />
Once changes for your custom style have been finalized select the {{man button|OK}} button to save the changes or {{man button|Cancel}} to exit.<br />
<br />
{{-}}<br />
=====Style editor dialog tabs=====<br />
On the left hand side you will see the {{man label|Style}} column that list the paragraph options specific to that report that you may modify. For example the {{man label|[[Gramps_5.1_Wiki_Manual_-_Reports_-_part_6#Ahnentafel_Report|Ahnentafel Report]]}} shows the style options for AHN-Entry, AHN-Generation and AHN-Title.<br />
<br />
On the right hand side are three tabs associated with each style listed in the left hand column:<br />
{{-}}<br />
======Description======<br />
<br />
[[File:StyleEditor-dialog-Description-tab-example-50.png|thumb|right|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Description options tab - Document Styles - dialog (default styles for Ahnentafel Report) (Gramps 4.2.0 Windows 7) ]]<br />
<br />
*{{man label|Description}} : The description describes what each paragraph is all about. For example shown here is the style used for the Ahnentafel Report ( AHN-Entry ).<br />
{{-}}<br />
<br />
======Font options======<br />
<br />
[[File:StyleEditor-dialog-FontOptions-tab-example-50.png|thumb|right|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} "Font options" tab - "Style Editor" dialog for "Document Styles" (default styles for Ahnentafel Report)]]<br />
<br />
*{{man label|Font options}} : Here you can set the {{man label|Type face}} Roman or Swiss, the {{man label|Size}} of the font in pt., the {{man label|Color}} of the font and some {{man label|Options}} like Bold, Italic or Underline.<br />
{{-}}<br />
<br />
======Paragraph options======<br />
<br />
[[File:StyleEditor-dialog-ParagraphOptions-tab-example-50.png|thumb|right|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} "Paragraph options" tab - "Style Editor" dialog for "Document Styles" (default styles for Ahnentafel Report)]]<br />
<br />
*{{man label|Paragraph options}} : Here you set the {{man label|Alignment}}, the {{man label|Background color}}, {{man label|Indentation}}, {{man label|Spacing}} and {{man label|Borders}} of your style.<br />
{{-}}<br />
===Context menu===<br />
Used in various places in Gramps; how you access the context menu is dependent on your operating systems:<br />
* On Microsoft windows, you generally use the right button of your mouse to show the context menu or use the keyboard shortcut {{man button|Shift}}+{{man button|F10}}. see [https://docs.microsoft.com/en-us/previous-versions/windows/desktop/mpc/using-context-menus Using Context Menus - Microsoft Docs]<br />
* On Apple macOS, you generally press {{man button|Ctrl}} while clicking the button of your mouse to show the context menu. see: [https://developer.apple.com/design/human-interface-guidelines/macos/menus/contextual-menus/ Contextual Menus - Menus - macOS - Human Interface Guidelines - Apple Developer]<br />
<br />
See also:<br />
* [[Gramps 5.1 Wiki Manual - Keybindings|Keybindings]]<br />
<br />
== Customizing ==<br />
Here are some ways that you can customize Gramps.<br />
=== Preferences ===<br />
<br />
See [[Gramps_5.1_Wiki_Manual_-_Settings#Preferences|Preferences]]<br />
<br />
=== Language ===<br />
<br />
Gramps has been translated into a number of [[Portal:Translators|languages]]. Usually Gramps automatically starts in your local language, as chosen for other applications, but sometimes this may not be right for you. And in other cases, a module or addon will not yet have been translated and a warning dialog will appear saying something like &ldquo;Warning: plugin XYZ has no translation for any of your configured languages, using US English instead&rdquo;. (Note that the US dialect of English is the default rather than British.) This can become annoying or intrusive. <br />
<br />
The most idealistic situation is that you are as facile in US English as the language selected for the operating system GUI on your computer. And that you would take the opportunity to translate that Gramps feature for users who are non-English speakers. <br />
<br />
If your system is configured to show a language other then English, you can override this for Gramps. <br />
<br />
As an example, assume that a computer in the Netherlands is configured to default to Unicode 8 Dutch: "LANG: nl_NL.UTF-8". You could either reset the OS language <br />
<br />
In Windows, use the SET command to rest the LAN env variable to "en_GB.UTF-8" for British English. You can do this from the command line interface or [https://gramps-project.org/bugs/view.php?id=11009 create a startup shortcut with the following Target]:<br />
<code>C:\Windows\System32\cmd.exe /c "SET LANG=en_GB.UTF-8 && START /D ^"C:\Program Files\GrampsAIO64-5.1.3^" gramps.exe"</code><br />
<br />
{{stub}} '''{{man warn|tbd|Describe for each main platform how the normal language is determined and how the user can [[Howto:Change_the_language_of_reports#Run_Gramps_in_a_different_language|choose a different language]].'''}}<br />
<br />
==== Linux ====<br />
{{stub}}<br />
<br />
If you want to choose a locale 'variant' for sorting that is not the default variant, then you can start Gramps from the terminal (or console) with a different LC_COLLATE environment. For example, the default sorting (collation) variant for Swedish is "reformed", but you can instead choose "standard" by typing:<br />
export LC_COLLATE="sv_SE.UTF-8@collation=standard"<br />
python Gramps.py<br />
<br />
==== Mac OS X ====<br />
<br />
For Mac OS X see [[Mac_OS_X:Application_package#Advanced_setup|Advanced setup]] for details on how the language is normally chosen, and how to choose a special, non-default setting for the language, the sorting order or the format of such things as day and month names and number separators.<br />
<br />
==== MS Windows ====<br />
[[File:Microsoft Window Gramps AIO Installer Choose Components-Selection-51.png|right|thumb|450px|Microsoft Window Gramps AIO Installer Choose Components-Selection window.]]<br />
If you want to run Gramps in another language other than English using the Gramps AIO installer, then you must select it during installation process.<br />
<br />
Otherwise it will not be available.<br />
<br />
More information can be found at [[Download#MS_Windows]] page.<br />
<br />
{{-}}<br />
<br />
===Add Windows OS Menu Item===<br />
To make Gramps work in your selected language (See table below for your language code), complete the following:<br />
* Using your mouse right button click on the "GrampsAIOxx 5.x.x" icon on Desktop and from menu choose: Copy.<br />
* Right click anywhere on Desktop and from menu choose: Paste shortcut<br />
* New icon will be created with name: "GrampsAIOxx 5.x.x (2)"<br />
* Right click on that and from menu choose: Properties<br />
* A new window will open, click on first tab called General and change text from "GrampsAIOxx 5.x.x (2)" to something more descriptive like: "GrampsAIO Danish"<br />
** Click on second tab called Shortcut, change text in first entry called Target from (note path will vary depending on Gramps version used):<br />
***<code>"C:\Program Files(xxx)\GrampsAIOxx-5.x.x\grampsw.exe"</code> to:<br />
***<code>%comspec% /c set LANG=da_DK.UTF-8 && start grampsw.exe"</code><br />
* Click OK and now when you click on that icon Gramps will start in Danish.<br />
<br />
===Change the windows LANG variables===<br />
Another option if you want Gramps to always load in say:French Canadian language, you can go to Windows > System Properties, and add the LANG variable in the user section of the environment variables dialog with the appropriate Value. <br />
<br />
The value to add is:<br />
<pre><br />
Name: LANG<br />
Value: fr_CA.UTF-8<br />
</pre><br />
<br />
===Language codes===<br />
Select from the following table of [[Portal:Translators|languages Gramps]] has been translated into:<br />
<br />
{| {{prettytable}}<br />
!Language<br />
!ISO code<br />
!Example<br />
!Notes<br />
|-<br />
| Dutch<br />
| nl_BE.UTF-8<br />
|<br />
|<br />
|-<br />
| English (British)<br />
| en_GB.UTF-8<br />
|<br />
|<br />
|-<br />
| Finnish<br />
| fi-UTF-8<br />
|<br />
|<br />
|-<br />
| French Canadian<br />
| fr_CA.UTF-8<br />
|<br />
|<br />
|-<br />
| Russian<br />
| ru_RU.UTF-8<br />
|<br />
|<br />
|-<br />
|}<br />
*The language codes are two-letter lowercase ISO language codes (such as "da") as defined by [https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes ISO 639-1].<br />
*The country codes are two-letter uppercase ISO country codes (such as "BE") as defined by [https://en.wikipedia.org/wiki/ISO_3166-1 ISO 3166-1].<br />
<br />
===Advanced manipulation of settings===<br />
{{stub}}<!--need to move to its own appendix section--><br />
<br />
{{man warn| Warning ** Make sure you have closed Gramps **|The contents of this section is outside the scope of interest of a general user of Gramps. If you proceed with tweaking the options on the low level you may damage your Gramps installation. Be careful. '''YOU HAVE BEEN WARNED!'''}}<br />
<br />
Besides the settings available in Preferences, you may also wish to explore the advanced settings.<br />
<br />
Gramps uses '''[https://en.wikipedia.org/wiki/INI_file#Keys_(properties) INI keys]''' and [https://en.wikipedia.org/wiki/INI_file#Sections INI sections] for managing user preferences and program settings these are stored in the text file <code>gramps.ini</code> under the <code>.gramps/gramps[XX]</code> folder in your home or user directory.<br />
<br />
The <code>gramps.ini</code> file has following sections:<br />
* [behavior] : typical Key names are: [https://github.com/gramps-project/gramps/blob/master/gramps/gui/grampsgui.py#L502 betawarn], enable-autobackup, use-tips...<br />
* [colors] : <br />
* [database] : related to database settings for the Family Tree.<br />
* [export] : export and import folders/directories <br />
* [geography] : <br />
* [interface] : a lot of keys regarding height and width of the different Views: e.g. event-height: 450, event-ref-height: 585, event-ref-width: 728, event-width: 712...<br />
* [paths] : keys related to recent imported files and folders/directories <br />
* [plugin] : <br />
* [preferences] : keys related to preferences: all the common prefixes , todo -colors..<br />
* [researcher] : all information regarding the researcher<br />
* [utf8] : <br />
<br />
====Example <code>gramps.ini</code> file====<br />
Example contents of the <code>gramps.ini</code> file:<br />
<br />
<pre><br />
;; Gramps key file<br />
;; Automatically created at 2020/05/17 15:15:34<br />
<br />
[behavior]<br />
;;addmedia-image-dir=''<br />
;;addmedia-relative-path=0<br />
;;addons-url='https://raw.githubusercontent.com/gramps-project/addons/master/gramps51'<br />
;;autoload=0<br />
;;avg-generation-gap=20<br />
;;betawarn=0<br />
;;check-for-addon-update-types=['new']<br />
;;check-for-addon-updates=0<br />
;;date-about-range=50<br />
;;date-after-range=50<br />
;;date-before-range=50<br />
;;do-not-show-previously-seen-addon-updates=1<br />
;;generation-depth=15<br />
;;last-check-for-addon-updates='1970/01/01'<br />
;;max-age-prob-alive=110<br />
;;max-sib-age-diff=20<br />
;;min-generation-years=13<br />
;;owner-warn=0<br />
;;pop-plugin-status=0<br />
;;previously-seen-addon-updates=[]<br />
;;recent-export-type=3<br />
;;runcheck=0<br />
;;spellcheck=0<br />
;;startup=0<br />
;;surname-guessing=0<br />
translator-needed=0<br />
;;use-tips=0<br />
;;web-search-url='http://google.com/#&q=%(text)s'<br />
;;welcome=100<br />
<br />
[colors]<br />
;;border-family=['#cccccc', '#252525']<br />
;;border-family-divorced=['#ff7373', '#720b0b']<br />
;;border-female-alive=['#861f69', '#261111']<br />
;;border-female-dead=['#000000', '#000000']<br />
;;border-male-alive=['#1f4986', '#171d26']<br />
;;border-male-dead=['#000000', '#000000']<br />
;;border-unknown-alive=['#8e5801', '#8e5801']<br />
;;border-unknown-dead=['#000000', '#000000']<br />
;;family=['#eeeeee', '#454545']<br />
;;family-civil-union=['#eeeeee', '#454545']<br />
;;family-divorced=['#ffdede', '#5c3636']<br />
;;family-married=['#eeeeee', '#454545']<br />
;;family-unknown=['#eeeeee', '#454545']<br />
;;family-unmarried=['#eeeeee', '#454545']<br />
;;female-alive=['#feccf0', '#62242D']<br />
;;female-dead=['#feccf0', '#3a292b']<br />
;;home-person=['#bbe68a', '#304918']<br />
;;male-alive=['#b8cee6', '#1f344a']<br />
;;male-dead=['#b8cee6', '#2d3039']<br />
;;scheme=0<br />
;;unknown-alive=['#f3dbb6', '#75507B']<br />
;;unknown-dead=['#f3dbb6', '#35103b']<br />
<br />
[database]<br />
;;autobackup=0<br />
;;backend='sqlite'<br />
;;backup-on-exit=1<br />
;;backup-path='C:\\Users\\[username]\\Documents\\GrampsBackup'<br />
;;compress-backup=1<br />
;;host=''<br />
;;path='C:\\Users\\[username]\\Documents\\gramps\\grampsdb'<br />
;;port=''<br />
<br />
[export]<br />
;;proxy-order=[['privacy', 0], ['living', 0], ['person', 0], ['note', 0], ['reference', 0]]<br />
<br />
[geography]<br />
;;center-lat=0.0<br />
;;center-lon=0.0<br />
;;lock=0<br />
;;map='person'<br />
;;map_service=1<br />
;;path=''<br />
;;show_cross=0<br />
;;use-keypad=1<br />
;;zoom=0<br />
;;zoom_when_center=12<br />
<br />
[interface]<br />
;;dbmanager-height=350<br />
;;dbmanager-horiz-position=12<br />
;;dbmanager-vert-position=85<br />
;;dbmanager-width=780<br />
;;dont-ask=0<br />
;;filter=0<br />
;;fullscreen=0<br />
;;grampletbar-close=0<br />
;;ignore-gexiv2=0<br />
;;ignore-osmgpsmap=0<br />
;;ignore-pil=0<br />
;;main-window-height=500<br />
;;main-window-horiz-position=15<br />
;;main-window-vert-position=10<br />
;;main-window-width=775<br />
;;mapservice='OpenStreetMap'<br />
;;open-with-default-viewer=0<br />
;;pedview-layout=0<br />
;;pedview-show-images=1<br />
;;pedview-show-marriage=0<br />
;;pedview-show-unknown-people=0<br />
;;pedview-tree-direction=2<br />
;;pedview-tree-size=5<br />
;;place-name-height=100<br />
;;place-name-width=450<br />
;;sidebar-text=1<br />
;;size-checked=0<br />
;;statusbar=1<br />
;;surname-box-height=150<br />
;;toolbar-on=1<br />
;;toolbar-text=0<br />
;;treemodel-cache-size=1000<br />
;;view=1<br />
;;view-categories=['Dashboard', 'People', 'Relationships', 'Families', 'Ancestry', 'Events', 'Places', 'Geography', 'Sources', 'Citations', 'Repositories', 'Media', 'Notes']<br />
<br />
[paths]<br />
;;quick-backup-directory='C:\\Users\\[username]\\Documents\\gramps'<br />
;;quick-backup-filename='%(filename)s_%(year)d-%(month)02d-%(day)02d.%(extension)s'<br />
;;recent-export-dir='C:\\Users\\[username]\\Documents\\gramps'<br />
;;recent-file=''<br />
;;recent-import-dir='C:\\Users\\[username]\\Documents\\gramps'<br />
;;report-directory='C:\\Users\\[username]\\Documents\\gramps'<br />
;;website-cal-uri=''<br />
;;website-cms-uri=''<br />
;;website-directory='C:\\Users\\[username]\\Documents\\gramps'<br />
;;website-extra-page-name=''<br />
;;website-extra-page-uri=''<br />
<br />
[plugin]<br />
;;addonplugins=[]<br />
;;hiddenplugins=[]<br />
<br />
[preferences]<br />
;;age-display-precision=1<br />
;;calendar-format-report=0<br />
;;cprefix='C%04d'<br />
;;date-format=0<br />
;;default-source=0<br />
;;eprefix='E%04d'<br />
;;family-relation-type=3<br />
;;family-warn=1<br />
;;fprefix='F%04d'<br />
;;hide-ep-msg=0<br />
;;invalid-date-format='<b>%s</b>'<br />
;;iprefix='I%04d'<br />
last-view='dashboardview'<br />
last-views=['dashboardview', '', '', '', '', '', '', '', '', '', '', '', '']<br />
;;name-format=1<br />
;;no-given-text='[Missing Given Name]'<br />
;;no-record-text='[Missing Record]'<br />
;;no-surname-text='[Missing Surname]'<br />
;;nprefix='N%04d'<br />
;;online-maps=0<br />
;;oprefix='O%04d'<br />
;;paper-metric=0<br />
;;paper-preference='Letter'<br />
;;patronimic-surname=0<br />
;;place-auto=1<br />
;;place-format=0<br />
;;pprefix='P%04d'<br />
;;private-given-text='[Living]'<br />
;;private-record-text='[Private Record]'<br />
;;private-surname-text='[Living]'<br />
;;quick-backup-include-mode=0<br />
;;rprefix='R%04d'<br />
;;sprefix='S%04d'<br />
;;tag-on-import=0<br />
;;tag-on-import-format='Imported %Y/%m/%d %H:%M:%S'<br />
;;use-last-view=0<br />
<br />
[researcher]<br />
;;researcher-addr=''<br />
;;researcher-city=''<br />
;;researcher-country=''<br />
;;researcher-email=''<br />
;;researcher-locality=''<br />
;;researcher-name=''<br />
;;researcher-phone=''<br />
;;researcher-postal=''<br />
;;researcher-state=''<br />
<br />
[utf8]<br />
;;available-fonts=[]<br />
;;death-symbol=13<br />
;;in-use=0<br />
;;selected-font=''<br />
</pre><br />
<br />
====Advanced backup filename setting====<br />
You can also define the naming pattern for the backup filename by setting the ''<code>paths.quick-backup-filename</code>'' in the <code>~/.gramps/gramps51/gramps.ini</code> key file like the following:<br />
{{-}}<br />
[paths]<br />
;;quick-backup-filename='%(filename)s_%(year)d-%(month)02d-%(day)02d.%(extension)s'<br />
<br />
by removing the two semicolons(<code>;;</code>) from the front of INI key line and using use any of the following keywords for the filenam pattern:<br />
*filename<br />
*year<br />
*month<br />
*day<br />
*hour<br />
*minutes<br />
*seconds<br />
*extension :<br />
**'''.gpkg'''(default) if you include media.<br />
**''.gramps'' if you exclude media.<br />
<br />
Use the appropriate ~/.gramps/gramps{XX}/gramps.ini key file.<br />
*Gramps version 5.1 :<br />
~/.gramps/gramps51/gramps.ini<br />
<br />
See also:<br />
* [[Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees#Backup_dialog]]<br />
* [[Gramps_5.1_Wiki_Manual_-_Command_Line#Configuration_.28config.29_option]]<br />
* [[Install_latest_BSDDB#Make_Gramps_use_bsddb3]]<br />
* [[Customize_the_Genealogical_Symbols_lookup_table#Genealogy_symbols_preferences]]<br />
<br />
===Theme===<br />
The look of Gramps can be changed.<br />
<br />
* [[Addon:Themes]]<br />
* [[Windows_AIO_themes]]<br />
* [[GEPS_029:_GTK3-GObject_introspection_Conversion#GTK_3_theme|GTK 3 theme - GEPS 029: GTK3-GObject introspection Conversion]]<br />
* [[Overrule_Gramps_Icons]] - for older Gramps versions.<br />
* [[UI style]]<br />
<br />
Some reports can also be changed:<br />
<br />
* [[Website report Themes]]<br />
{{-}}<br />
{{man index|Gramps 5.1 Wiki Manual - Tools|Gramps 5.1 Wiki Manual - Filters|5.1}}<br />
{{languages|Gramps_5.1_Wiki_Manual_-_Settings}}<br />
{{grampsmanualcopyright}}<br />
<br />
[[Category:Documentation]]</div>Peterhewetthttps://blog.gramps-project.org/wiki/index.php?title=Talk:Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees&diff=84838Talk:Gramps 5.1 Wiki Manual - Manage Family Trees2021-06-03T20:17:48Z<p>Peterhewett: /* Backup methods */ new section</p>
<hr />
<div>=Feedback from a beginner I helped=<br />
People expect to start a family tree and the icons actual wording the on tool tip is "Manage databases" which is never mentioned on the page here! This was pointed out when I introduced a friend to Gramps last week, initially caused a bit of confusion when you tell a beginner to click on the family tree icon and they expect the tooltip to match! --[[User:Daleathan|Daleathan]] ([[User talk:Daleathan|talk]]) 23:10, 18 September 2020 (UTC)<br />
::Thanks for pointing that out and adding screenshots etc, basically at sometime in the [http://gramps.1791082.n4.nabble.com/relationship-of-database-s-and-family-trees-td2544508.html past (about 2010) Gramps 3.x] it was decided to start calling databases the more user friendly "Family Trees" and not everything eg tooltips have been updated to reflect that , so some improvement can be made. Can you please raise an issue? --[[User:Sam888|Sam888]] ([[User talk:Sam888|talk]]) 01:06, 19 September 2020 (UTC)<br />
<br />
== Backup methods ==<br />
<br />
In the backup section, it states that export is the safest method. How is this better than a manual or automatic backup? If the backup methods are not as good as an export in some way, perhaps the backup method should be improved? --[[User:Peterhewett|Peterhewett]] ([[User talk:Peterhewett|talk]]) 20:17, 3 June 2021 (UTC)</div>Peterhewetthttps://blog.gramps-project.org/wiki/index.php?title=Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees&diff=84837Gramps 5.1 Wiki Manual - Manage Family Trees2021-06-03T20:14:59Z<p>Peterhewett: /* Backing up a Family Tree */ add info on backup on exit and auto backup</p>
<hr />
<div>{{man index|Gramps 5.1 Wiki Manual - Categories|Gramps 5.1 Wiki Manual - Manage Family Trees: CSV Import and Export|5.1}}<br />
{{languages|Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees}}<br />
{{#vardefine:chapter|5}}<br />
{{#vardefine:figure|0}}<br />
A detailed exploration of the day-to-day use of Gramps. In this Chapter we give a detailed overview of how you can manage your family trees, as well as share your data with other genealogists.<br />
<br />
== Starting a new Family Tree ==<br />
<br />
[[File:Menubar-FamilyTrees-overview-example-50.png|thumb|right|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Menubar - "Family Trees" - overview example]]<br />
<br />
To start a new Family Tree, choose the menu {{man menu|Family Trees ->Manage Family Trees...}} or select the toolbar {{icon|ance}}{{man button|Family Trees}} button or use the [[Gramps_5.1_Wiki_Manual_-_Keybindings|keybinding]] {{man key press|CTRL|O}}. This will open the {{man label|[[Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees#Family_Trees_manager_window|Family Trees]]}} manager window.<br />
<br />
Select the {{man button|New}} button and to add a new Family Tree entry to the list of Family Trees. To change its name from the default ''<code>Family Tree 1</code>'', select the name and press the {{man button|Rename}} button then type in a new name.<br />
<br />
To open the new, empty Family Tree select the Family Tree and either double click or press the {{man button|Load Family Tree}} button to load.<br />
{{-}}<br />
[[File:ManageDatabases-icon-toolbar-51.png|right|thumb|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Manage databases - icon on toolbar (Same as using menu {{man menu|Family Trees ->Manage Family Trees...}})]]<br />
{{-}}<br />
[[File:ConnectToARecentDatabase-icon-toolbar-51.png|right|thumb|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Connect to a recent database - icon drop down on toolbar menu {{man menu|Family Trees ->Open Recent...}}]]<br />
{{-}}<br />
=== Family Trees manager window ===<br />
<br />
[[File:ManageFamilyTrees-51.png|right|thumb|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} "Family Trees" manager window]]<br />
<br />
Clicking the {{man button|Family Tree Manager}} button brings up the {{man label|Family Trees}} manager windows this allows you to work with and manage your Family Trees.<br />
<br />
The Family Tree Manager window allows the you to create a new Family tree, rename an existing Family tree, delete a Family tree, or load a Family tree or check information) about the Family tree. All the names of your Family trees appear in the list. If a Family tree is open, an icon will appear next to the name in the status column. The Database Type as well an indication of the date and time your family tree was ''Last accessed''' is shown.<br />
<br />
* {{man button|New}} creates a new Family tree.<br />
* {{man button|Info}} shows information about the selected Family tree.<br />
* {{man button|Delete}} the selected Family tree, this will show a warning with a final confirmation for you to select.<br />
* {{man button|Rename}} the selected existing Family tree.<br />
* {{man button|Close}} the selected existing Family tree.<br />
* {{man button|Convert}} the selected family tree. This option only available for legacy [[Gramps_Glossary#bsddb|BSDDB]] databases. See: [[Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees#Converting_a_BSDDB_Family_Tree_to_SQlite|Converting a BSDDB Family Tree]] to [[Gramps_Glossary#sqlite|SQlite]]<br />
* {{man button|Repair}} the selected existing Family tree, only available if Gramps detects an issue. <!-- link to section --><br />
* {{man button|Archive}} option is only present if [http://www.gnu.org/software/rcs/ GNU Revision Control System] (RCS) is installed.<br />
* {{man button|Extract}} used with the {{man button|Archive}} button and the option is only present if [http://www.gnu.org/software/rcs/ GNU Revision Control System] (RCS) is installed.<br />
* {{man button|Help}} - from this section.<br />
* {{man button|Close Window}} - dismisses the {{man label|Family Tree}} manager windows<br />
* {{man button|Load Family Tree}} the selected existing Family tree.<br />
{{-}}<br />
<br />
== Opening a Family Tree ==<br />
<br />
To open a Family Tree, either choose the menu {{man menu|Family Trees ->Manage Family Trees...}} or click the Toolbar {{man button|Family Trees}} button. The {{man label|Family Tree Manager}} will appear and you will see a list of all the Family Trees known to Gramps. In the {{man label|Status}} column an icon (looks like an open folder) will display beside any Family Tree that is currently open. Select the tree you want to open, and open it by selecting the {{man button|Load Family Tree}} button. Alternatively you can double-click on the desired Family Tree.<br />
<br />
To open a recently accessed Family Tree, choose either the menu {{man menu|Family Trees ->Open Recent}} or the down arrow next to the Toolbar {{man button|Family Trees}} button and select the Family Tree from the list.<br />
<br />
=== Read Only Mode ===<br />
<br />
{{man warn| Read Only Mode |If you do not have "write permissions" for the selected Family Tree, it will be opened in a Read Only mode. In this mode, the data may be viewed, but no changes will be made to the Family Tree. To indicate this mode, the title of the main window will be appended with {{man label|(Read Only)}} text.}}<br />
<br />
The Tools menu will not be available.<br />
<br />
== Saving changes to your Family Tree ==<br />
<br />
Gramps saves your changes as soon as you apply them. This means, for example, that any time you click {{man button|OK}} when using Gramps, your changes are immediately recorded and saved. There is no separate "save" command.<br />
<br />
You can undo changes you have made by selecting the menu {{man menu|Edit ->Undo}}. If you select this command repeatedly, your most recent changes will be undone one at a time. To roll back multiple commands at a time, you can use the menu {{man menu|Edit|Undo History...}} dialog.<br />
<br />
If you want to return your Family Tree to the way it was when you opened it, select the menu {{man menu|Family Trees ->Abandon Changes and Quit}}. (This is just like quitting without saving in other programs.) <!--TODO# mention the "Cannot abandon session's changes" warning dialog (Changes cannot be completely abandoned because the number of changes made in the session exceeded the limit.)) also add to https://gramps-project.org/wiki/index.php/Gramps_5.1_Wiki_Manual_-_Error_and_Warning_Reference --><br />
<br />
If you would like to save a copy of your Family Tree under a different name, you will need to export it and then import it into a new Family Tree. The ''Gramps XML'' database format is recommended for this purpose.<br />
<br />
<br />
== Opening a GEDCOM or XML database ==<br />
<br />
Gramps allows you to open certain databases that have not been saved in Gramps own file format from the command line, see [[Gramps_5.1_Wiki_Manual_-_Command_Line#Opening_options|Command line references]]. These include XML and GEDCOM databases. But you should be aware that if the XML or GEDCOM database is relatively large, you will encounter performance problems, and in the event of a crash your data can be corrupted. Hence, it is normally better to create a new Gramps family tree (database) and import your XML/GEDCOM data into it.<br />
<br />
{{man note| Opening databases |XML and GEDCOM databases require all data to be held in memory and don't contain indexes. Gramps native format is a database that only reads the data needed. Thus, for a large family tree the data can be accessed quicker and more efficiently by not using XML or GEDCOM.}}<br />
<br />
{{man warn| GEDCOM Editing |Please keep in mind that some information in a GEDCOM file may be lost during import into Gramps as well as export back to GEDCOM. Simply opening and viewing the file will not change it. However, if any changes were made and they were not abandoned upon exit, exiting Gramps will save the data, with possible data loss.}}<br />
<br />
== Deleting a Family Tree ==<br />
<br />
Select the family tree you want removed, and click the {{man button|Delete}} button. <br />
<br />
This will '''completely''' remove the tree, with no possibility to retrieve the data. Consider taking a backup of your data by exporting to the GRAMPS XML format, and storing that file.<br />
<br />
== Renaming a Family Tree ==<br />
<br />
You can rename a Family Tree (or an archive of it) by selecting the tree you want to rename and clicking {{man button|Rename}}. You can also click on the name in the list of trees. <br />
<br />
In either case, you just type in the new name to have it take effect.<br />
<br />
{{man note| Family Tree name Limitations |There are some characters that are not allowed within a Family Tree name. They will be automatically replaced with the underscore character "_".<br />
<br />
The comma, double quote and vertical bar characters and these: "\:/<>][.+*?"<br />
}}<br />
<br />
== Backing up a Family Tree ==<br />
<br />
The safest way to backup your Gramps Family Tree is to export without privacy options and filters to '''Gramps XML''' format (or '''Gramps XML Package''' to include items from your Gallery) and copy the resultant file to a safe place, preferably in a different building.<br />
<br />
=== Backup dialog ===<br />
<br />
[[File:MakeBackup-GrampsXMLBackup-50.png|thumb|right|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Making a backup]]<br />
<br />
From the menu select {{man menu|Family Trees > Make Backup..."}}<br />
<br />
The {{man label|Gramps XML Backup}} window will appear.<br />
<br />
You can enter the {{man label|Path:}} where the backup should be stored manually or using the {{man button|path selector}} button to bring up the {{man label|Select backup directory}} dialog.<br />
<br />
You can enter a {{man label|File:}} name manually or use the automatically generated file name.<br />
<br />
You can either choose to ''Include'' or '''Exclude'''(default) the {{man label|Media:}}. <br />
<br />
{{man note|Note|This is just a regular XML export, except that no data is filtered out. You can import these as usual with any exported file.}}<br />
{{-}}<br />
*You can use the Archive feature (see next section) to store snapshots of your Family Tree. These snapshots can be used as simple backups, very useful if you want to try something that you might later want to undo. However this method should not be used for standard backups, as it will not survive a hard disk crash or most of the other disasters that can befall a computer.<br />
<br />
*''For advanced users:'' each database is stored in its own subdirectory under ~/.gramps. Although a manual backup can be made by backing up this directory, it is not recommended. It is strongly recommended that you please use a Gramps XML backup instead.<br />
<br />
===Backup on exit===<br />
In preferences, Gramps can be set to create a backup when Gramps exits. Note that this only creates a backup for the open family tree. If the tree is closed before exiting Gramps, no backup is created.<br />
<br />
===Automatic backup===<br />
In preferences, Gramps can be set to create a backup every 15, 30 or 60 minutes.<br />
<br />
See also:<br />
* [[Template:Backup_Omissions|Backup omissions]] - what is not included during a backup<br />
* [[Gramps_5.1_Wiki_Manual_-_Settings#Advanced_backup_filename_setting|Advanced backup filename setting]] - Where you can also define the naming pattern for the backup filename.<br />
<br />
== Archiving a Family Tree ==<br />
<br />
{{man tip|Note|The {{man button|Archive}} option is only present if [http://www.gnu.org/software/rcs/ GNU Revision Control System] (RCS) is installed so that Gramps can use it. You normally need to install this on your computer separately from Gramps.}}<br />
<br />
You can {{man button|Archive}} your family trees with Gramps to retain a copy before any major changes and be able to return to a known version.<br />
<br />
To make an archive :<br />
<br />
[[File:ManageFamilyTrees-Archive-RevisionComment-example-50.png|right|thumb|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Archive a Family Tree example]]<br />
<br />
# load your Family Tree.<br />
# click on the Toolbar {{icon|ance}}{{man button|Family Trees}} button (it displays {{man label|Connect to a recent database}} when you hover over it).<br />
# click on the family tree you have just loaded: the {{man button|Archive}} button should appear.<br />
# click on {{man button|Archive}} and you will be able to enter in the {{man label|Revision comment}} dialog a ''Version description'' for your archive.<br />
<br />
After archiving, the list of family trees will now show your original family tree with a right-pointing triangle on its left.<br />
* Click on the triangle to display the archive name.(Click again to collapse the archive list).<br />
<br />
Archives can be {{man button|Deleted}}, {{man button|Rename(d)}} and {{man button|Extract(ed)}}. <br />
<br />
{{-}}<br />
<br />
== Extracting a Family Tree Archive ==<br />
<br />
[[File:ManageFamilyTrees-Archive-Selected-to-Extract-example-50.png|thumb|right|400px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} (Manage)"Family Trees" dialog - Archive selected ready to "Extract" - example]]<br />
<br />
To retrieve a version of a previously archived family tree in the "Family Tree" manager highlight the archive you want to restore, and select the {{man button|Extract}} button.<br />
<br />
{{-}}<br />
[[File:ManageFamilyTrees-Archive-Extracted-version-highlighted-example-50.png|thumb|right|400px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} (Manage)"Family Trees" dialog - Archived version extracted and selected - example]]<br />
<br />
The archive will then be restored into a new Family Tree and be listed in the family tree manager.<br />
<br />
The Family Tree name is based on the original name and the archive name eg: ''<code><name of original tree>:<name of archive></code>''.(see also [[#Archiving a Family Tree|Archiving a Family Tree]])<br />
<br />
This can be a useful way of preserving an archive, because archives disappear if the originating tree is deleted; and '''they are not incorporated into a Gramps XML export of the family tree''.<br />
{{-}}<br />
<br />
== Unlocking a Family Tree ==<br />
[[File:FamilyTreesManager-Dialog-ShowingLocked-Sample-50.png|thumb|right|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Family Trees (Manager) - Dialog - Showing Locked "Sample" Family Tree]]<br />
Gramps is a single-user database application and identifies Tree database files as busy with a [[File:22x22-gramps-lock.png]]'lock' when in use. As Gramps opens a tree, it drops a <code>lock</code> file (which lists the username and domain) in the tree's subfolder in the <code>grampsdb</code> folder of the [[Gramps_5.1_Wiki_Manual_-_User_Directory|User Directory]]. Gramps refuses to let you (or anyone else) open that Tree at the same time. A second instance of Gramps will be able to open another family tree, but any tree that is already open will appear with the lock icon in the Status column of the Manage Family Trees dialog. Closing the tree in the first copy of Gramps deletes the lock file and will make the tree available to be opened in the second instance.<br />
<br />
If you ''could'' open the same Family Tree in two instances of Gramps at once, it is likely your data would be damaged as the two overwrite each other's work.<br />
<br />
====See also:====<br />
* [[Gramps_5.1_Wiki_Manual_-_Command_Line#Force_unlock_option|Command Line:Force unlock option]]<br />
<br />
{{man warn|Be careful Breaking Locks!|Only do this if you are sure no other copy of Gramps is using the selected Family Tree.}}<br />
=== Break the lock on the "Family Tree name" database? dialog ===<br />
[[File:ErrorParsingArguments-dialog-DatabaseIsLocked-example-50.png|thumb|right|346px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}}Error parsing arguments - dialog - Database is locked example]]<br />
In the unlikely event that Gramps crashes, the family tree will be left in a locked state (indicated by a [[File:22x22-gramps-lock.png]]lock icon in the {{man label|Status}} column next to the Family Tree name)<br />
<br />
To unlock the Family Tree during startup<br />
<br />
* If the [[Gramps_5.1_Wiki_Manual_-_Settings#Family_Tree|Family Tree Preferences]] have been set to open a tree automatically on startup, then you will see the '''Error parsing arguments''' dialog which remarks that the '''Database is locked'''. Click on the {{man button|Close}} button then choose {{man menu|Manage Family trees...}} from the {{man menu|Family Trees}} menu. <br />
* Otherwise, the {{man label|Family Tree Manager}} will appear automatically as Gramps starts. <br />
{{-}}<br />
[[File:Break-the-lock-on-the-database-Dialog-example-50.png|thumb|right|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Break the lock on the "Sample" database? - Dialog - example ]]Choose the locked family tree and then click the {{man button|Load Family Tree}} button. The '''Break the lock on the '[Family Tree name]' database?''' dialog will be shown. <br />
<br />
Click the {{man button|Break lock}} button and the {{man label|Family Trees (Manager)}} window should show that the lock icon has gone.<br />
<br />
Choose the previously locked family tree and then click the {{man button|Load Family Tree}} button to continue your work.<br />
{{-}}<br />
<br />
== Repairing a damaged Family Tree ==<br />
<br />
[[File:FamilyTreesManager-Dialog-ShowingRedErrorStatusIcon-Sample-50.png|right|450px|thumb|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Family Trees (Manager) - Dialog - Showing Red Error Status Icon for "Sample" Family Tree]]<br />
<br />
Should your Family Tree become damaged or corrupted in some way, Gramps Family Tree Manager will display a red Error icon in the {{man label|Status}} column.<br />
<br />
To have Gramps attempt to repair the damage, select the Family Tree and then click the {{man button|Repair}} button.<br />
<br />
This will attempt to rebuild your Family Tree from the backup files that are automatically created on exit.<br />
<br />
See also:<br />
* [[Recover corrupted family tree]]<br />
{{-}}<br />
<br />
== Converting a BSDDB Family Tree to SQLite ==<br />
<br />
{{man tip|From Gramps 5.1.x the default database is SQLite.|Before following the conversion advice in this section, take the time to [[Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees#Backing_up_a_Family_Tree|backup your family trees]]}}<br />
<br />
[[File:ManageFamilyTrees-Convert-the-database-dialog-example-51.png|right|450px|thumb|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} '''Convert the 'Family Tree Name' database?''' dialog with ''Family Trees (Manager)'' - Dialog shown in background]]<br />
<br />
If you have an older legacy [[Gramps_Glossary#bsddb|BSDDB]] format '''Database Type''' shown for any of your family tree's in the ''Family Trees (Manager)'' - Dialog, then selecting a family tree in the ''Family Trees (Manager)'' - Dialog will show the {{man button|Convert}} button as available.<br />
<br />
{{man menu|It is highly recommended that before doing the following you [[Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees#Backing_up_a_Family_Tree|back up the family trees]] to be converted.}}<br />
<br />
When ready select the {{man button|Convert}} button and the {{man label|Convert the 'Family Tree Name' database?}} dialog will be shown with the message '''Do you wish to convert this family tree into a SQLite database?''' you can select {{man button|Cancel}} to stop or {{man button|Convert}} to start the process, once completed the ''Family Trees (Manager)'' - Dialog will show a new entry for the converted copy of your Family tree but with the ''Database Type'' of SQLite, you should then open and backup the converted family tree. <br />
<br />
You may then rename the original BSDDB family tree with the word '''OLD''' or you can Delete it to avoid confusion, then you can rename the new SQLite database.<br />
<br />
{{stub}}<br />
<br />
{{-}}<br />
<br />
== Importing data ==<br />
<br />
{{man note| Importing vs. opening |Please recognize that importing a Family Tree is different from opening a Family Tree. When you import, you are actually bringing data from another Family Tree into a Gramps Family Tree. When you open a file, you are editing your original file.}}<br />
<br />
Importing allows you to transfer data from other genealogy programs into a Gramps Family Tree. Gramps can import data from the following formats:<br />
* [[#Gramps_XML_and_XML_Package_import|Gramps XML]] (<code>.gramps</code> file extension) Gramps native data exchange format in uncompressed text and [https://wikipedia.org/wiki/Gzip gzip] compressed <br />
* [[#Gramps_XML_and_XML_Package_import|Gramps XML Package]] (<code>.gpkg</code> file extension) Gramps [https://wikipedia.org/wiki/.tar.gz .tar.gz] archive compressed backup format<br />
* [[#GRAMPS_V2.x_database_import|GRAMPS V2.x database]] (<code>.grdb</code> file extension)<br />
* [[#Gramps_CSV_import|CSV Spreadsheet]] - comma separated values (<code>.csv</code> file extension)<br />
* [[#GEDCOM_import|GEDCOM]] (<code>.ged</code> file extension) de facto standard file format for data interchange between genealogy programs<br />
* GeneWeb (<code>.gw</code> file extension) - [https://en.wikipedia.org/wiki/GeneWeb GeneWeb] is genealogy software with a web interface.<br />
* Pro-Gen (<code>.def</code> file extension) - [https://www.pro-gen.nl/gbhome.htm Pro-Gen] has been very popular in the Netherlands and North-West Germany. It is often used by people who started collecting and storing data as early as 1989. This was a DOS based program which has been patched to work with Win 10.<br />
* vCard (<code>.vcf</code> file extension) - [https://wikipedia.org/wiki/VCard Virtual Contact File] is a file format standard for electronic business cards.<br />
* JSON Import (<code>.json</code> file extension) - [https://www.json.org/ JavaScript Object Notation] is a lightweight data-interchange format. <br />
* SQLite Import (<code>.sql</code> file extension) - [https://www.sqlite.org/fileformat.html SQLite database format]<br />
<br />
===Import Family Tree dialog===<br />
<br />
{{man note|Note that data can only be imported into a prepared Family Tree (database)|So, if migrating from another program, it is necessary to first create a new ''empty'' Family Tree before importing the unauthenticated data into it. Once the data is imported, clean up any corruptions or incompatibilities. <br />If the intent is use the import for merging outside data into an existing Gramps Tree, it is less complex to import data from a pre-cleaned and validated Tree already in Gramps format. <br />Importing is a risky task, always make a backup of your Tree before importing.}}<br />
<br />
[[File:Importfamilytree-dialog-51.png|thumb|right|400px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Import Family Tree - dialog example]]<br />
<br />
First create a [[Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees#Starting_a_new_Family_Tree|new and empty Family Tree]]. Then select the menu {{man menu|Family Trees ->Import}} or use the [[Gramps_5.1_Wiki_Manual_-_Keybindings#2|keybinding]] {{Man key press|CTRL|I}} to import data or restore a previously saved Gramps Family Tree (from an older version of Gramps or the current version) the '''{{man label|Import Family Tree}}''' dialog will open, asking you to specify the file you wish to import.<br />
<br />
[[File:WarningUndoHistory_Import-dialog-51.png|thumb|left|182px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Import warning dialog]]As you attempt to import into a Family Tree that is '''''not empty''''', the {{man label|Undo history warning}} dialog will open. This reminds you make a backup before importing. Create a new Family Tree instead, unless you are knowingly attempting to merge data.<br />
<br />
Gramps uses a [https://developer.gnome.org/gtk3/stable/GtkFileChooser.html GTK File Chooser] for selecting the data file to be exported. The basic options for navigating to a file are familiar and obvious. <br />
<br />
The default display option for the filepath is to show each folder level as clickable [https://en.wikipedia.org/wiki/Breadcrumb_navigation breadcrumb navigation]. The path can be typed in an editable text box by pressing the {{Man key press|CTRL|L}} keybinding.<br />
<br />
The file type extension will normally allow the {{man menu|Automatically detected}} option to expect a particular pattern of data to be converted to the native database format. You can override this by choosing a different '''{{man label|Select file type:}}''' options. The list of files may be filtered by changing from the {{man menu|All files}} option.<br />
<br />
When planning to use the import repeatedly (for ongoing updates or including genealogy research), you can [https://gramps.discourse.group/t/need-help-doing-a-cross-os-linux-mac-verification/1068/5 customize the dialog] by adding buttons for bookmarked folder paths. Right-click on a folder name and choose {{man menu|Add to bookmarks}} from the pop-up menu.<br />
<br />
{{man warn|Data loss with some formats |It is important to note that there is no direct one-to-one correspondence between all the features of Gramps and those supported in the basic [[Gramps_Glossary#gedcom|GEDCOM]] generic genealogy file format or data files of programs like GeneWeb or Pro-Gen. Therefore, unrecognized data chunks may be lost when importing from any of these formats. Details of data at greatest risk of being lost from GEDCOM is [[#GEDCOM_import|outlined below]].}}<br />
<br />
{{man note|Reorder [[Gramps_Glossary#event|Events]] generated by other programs|Some programs from which you have imported data may not order the events by date as you expect. They will be in the order they were exported by the other program. Gramps provides help for reordering events according to your preference. See the [[Gramps_5.1_Wiki_Manual_-_Tools#Sort_Events|Sort Events]] tool.}}<br />
<br />
=== GRAMPS V2.x database import ===<br />
<br />
GRAMPS V2.x database (.grdb): Prior to Gramps Version 3.0, this native Gramps database format was a specific form of the Berkeley database (BSDDB) with a special structure of data tables. This format was binary and architecture-dependent. It was very quick and efficient, but not generally portable across computers with different binary architecture (e.g. i386 vs. alpha). <br />
<br />
Import from the GRAMPS V2.x database format is only supported by Gramps version 3.0.x. Import of V2.x into Gramps V3.0.x will not loose any data.<br />
<br />
{{man warn|Import from the Gramps V2.x format is not supported by Gramps 5.1.|If you have an old V2.x database, then you must import it into Gramps V3.0.x, export it from there to Gramps XML (or Gramps XML Package), and then import it into Gramps 5.1.}}<br />
<br />
==== Moving a Gramps 2.2 databases to Gramps 3.x ====<br />
<br />
To move your Gramps data from version 2.x to version 5.1.x you must import the v2.x database into an earlier Gramps v3.0.x program and then either save the database and import it into Gramps 5.1.x, or export the database in [[XML]] format from the earlier Gramps version and import it into Gramps 5.1.x.<br />
<br />
Please refer to the [[User_manual_translations|User Manual]] for earlier versions of Gramps for instructions on the import of v2.x databases into Gramps v3.x.<br />
<br />
{{-}}<br />
<br />
=== Gramps XML and XML Package import ===<br />
<br />
The Gramps [[XML]] and Gramps [[XML]] Package database are the native Gramps formats. There is no risk of information loss when importing (restore) from or exporting to these formats.<br />
<br />
*Gramps [[XML]] (.gramps): The Gramps [[XML]] file is the standard Gramps data-exchange and backups format, and was also the default working-database format for older (pre 2.x) versions of Gramps. Unlike the GRAMPS V2.x grdb format, it is architecture independent and human-readable. The database may also have references to non-local (external) media objects, therefore it is not guaranteed to be completely portable (for full portability including media objects in the Gramps [[XML]] package (.gpkg) should be used). The Gramps [[XML]] database is created by exporting (Menu {{man menu|Family Trees ->Export...}}) to that format.<br />
<br />
*Gramps [[XML]] package (.gpkg): The Gramps [[XML]] package is a '''compressed''' archive containing the Gramps [[XML]] file and all [[Gramps_Glossary#media|media]] objects (images, sound files, etc.) to which the database refers. Because it contains all the media objects, this format is completely portable. The Gramps [[XML]] package is created by exporting ( Menu {{man menu|Family Trees ->Export...}} ) data in that format.<br />
<br />
If you import information from another Gramps database or Gramps [[XML]] database, you will see the progress of the operation in the progress bar of Gramps main window. When the import finishes, a feedback window shows the number of imported objects. If the imported data originates from the very family tree in which you import the data, the import feedback gives suggestions about what could be merged; the merge is '''not''' done automatically for you. If you want to merge basic genealogy data automatically, consider CSV Spreadsheet Export/Import.<br />
<br />
=== Gramps CSV import ===<br />
<br />
*The Gramps CSV Spreadsheet format allows importing and exporting of a subset of your Gramps data in a simple spreadsheet format. See [[Gramps 5.1 Wiki Manual - Manage Family Trees: CSV Import and Export|CSV Import and Export]] for more information.<br />
<br />
=== GEDCOM import ===<br />
<br />
First create a [[Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees#Starting_a_new_Family_Tree|new empty Family Tree]]. Then select the menu {{man menu|Family Trees ->Import}} or the [[Gramps_5.1_Wiki_Manual_-_Keybindings#2|keybinding]] {{Man key press|CTRL|I}} then use the {{man label|[[Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees#Import_Family_Tree_dialog|Import Family Tree]]}} dialog to select the GEDCOM file you want to import, depending on the the type of GEDCOM you may then see the {{man label|[[Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees#GEDCOM_Encoding_dialog|GEDCOM Encoding]]}} dialog.<br />
<br />
When you import information from GEDCOM, Gramps main window will show you a [[Gramps_5.1_Wiki_Manual_-_Main_Window#Status_Bar_and_Progress_Bar|progress bar]]. When the GEDCOM import finishes, the {{man label|[[Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees#Import_Statistics_dialog|Import Statistics]]}} window and the '''{{man label|[[Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees#GEDCOM_import_report_dialog|GEDCOM import report:]]}}''' windows show any results or warnings. <br />
<br />
{{-}}<br />
==== GEDCOM Encoding dialog ====<br />
<br />
[[File:GEDCOM-Encoding-dialog-50.png|right|200px|thumb|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} GEDCOM Encoding - dialog]]<br />
<br />
The {{man label|GEDCOM Encoding}} dialog will be shown when the GEDCOM file you are importing has identified itself as using the ANSEL encoding format. Sometimes, this is in error. If after the GEDCOM is imported you notice that your data contains unusual characters, undo the import, and override the character set by selecting a different encoding from the available list. <br />
<br />
{{man label|Encoding:}}<br />
* '''default'''<br />
* ANSEL<br />
* ANSI (iso-8859-1)<br />
* ASCII<br />
* UTF8<br />
<br />
{{-}}<br />
<br />
==== Import Statistics dialog ====<br />
[[File:GEDCOM-ImportStatistics-dialog-50.png|right|200px|thumb|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Import Statistics - dialog]]<br />
Shows details of the import statistics.<br />
{{-}}<br />
<br />
==== GEDCOM import report dialog ====<br />
{{stub}}<br />
[[File:GEDCOM-import-report-result-example-50.png|right|450px|thumb|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} GEDCOM import report - example results.]]<br />
<br />
The '''{{man label|GEDCOM import report}}''' details most of the GEDCOM lines that were either ignored or could not be understood. These are most likely because they are not part of the GEDCOM 5.5.1 standard. (See [[GEDCOM Extensions]].) The contents of the GEDCOM line (or lines where there are continuation lines) are also shown. In some cases, the lines may not be exactly what is contained in the input GEDCOM file, because the line is reconstructed following some processing.<br />
{{-}}<br />
<br />
===== Reading the report =====<br />
<br />
[[File:Source-Note-GEDCOMImportNote-example-50.png|right|450px|thumb|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} GEDCOM import note indicating omitted data attached to "Source>Note"(data from "GEDitCOM" - "GEDCOM 5.5 Torture Test Files")]]<br />
<br />
Gramps uses a more advanced 'data model' than GEDCOM, therefore some data in GEDCOM cannot be imported into Gramps. (See [[Gramps and GEDCOM]].) The main exceptions are:<br />
* Some GEDCOM attribute structures are treated as Gramps {{man label|[[Gramps_5.1_Wiki_Manual_-_Entering_and_editing_data:_detailed_-_part_1#Attributes|Attributes]]}} and therefore many of the GEDCOM Primitive Elements cannot be stored.<br />
* The DATA elements of a SOURCE_RECORD (indicating the events recorded and responsible agency) are ignored.<br />
* Any source citations on notes are ignored.<br />
* Many GEDCOM Primitive Elements do not have exactly corresponding data elements in Gramps, and they are therefore stored as {{man label|Attributes}} with appropriate names, normally the GEDCOM tag. This applies particularly to the header, submitter and submission GEDCOM records and particular fields like REFN, RFN, RIN and AFN.<br />
<br />
Where data is listed as 'ignored', its omission is reported in the feedback at the end of import, and it is included in a {{man label|Note}} attached to a relevant object with a custom type of {{man label|GEDCOM import}}. See, for example, the Source object in the example screenshot.<br />
<br />
Where data is listed as 'silently ignored', it is not reported and not included in a note. At present<!--when?--> this may be regarded as something that has been missed by Gramps and should be raised as an issue<!--where? the bug-tracker?-->.<br />
{{-}}<br />
<br />
==== GEDCOM import limitations ====<br />
<!-- move to it's own appendix | no need to get technical here --> <br />
This section describes any GEDCOM data that cannot be directly represented in Gramps, and how it is handled. For additional information on the limits of GEDCOM imports (and exports), please read the section on [[Gramps and GEDCOM]].<br />
<br />
===== HEADer, SUBMitter and SUBmissioN =====<br />
<br />
Gramps has no direct representation of this data, and hence all information there has to be stored in other objects. Depending on a [[Gramps_5.1_Wiki_Manual_-_Settings#General|General preferences]] setting, a 'default source' object may be created. If this is created, then much of the data is stored in that {{man label|Source}}, or in {{man label|Repositories}} attached to that source.<br />
<br />
====== HEADer ======<br />
<br />
HEADER:=<br />
n HEAD {1:1}<br />
+1 SOUR <APPROVED_SYSTEM_ID> {1:1} (Data item of the 'default source')<br />
+2 VERS <VERSION_NUMBER> {0:1} (Data item of the 'default source')<br />
+2 NAME <NAME_OF_PRODUCT> {0:1} (Data item of the 'default source')<br />
+2 CORP <NAME_OF_BUSINESS> {0:1} (Repository of the 'default source')<br />
+3 <<ADDRESS_STRUCTURE>> {0:1} (Repository of the 'default source')<br />
+2 DATA <NAME_OF_SOURCE_DATA> {0:1} (Data item of the 'default source')<br />
+3 DATE <PUBLICATION_DATE> {0:1} (Data item of the 'default source')<br />
+3 COPR <COPYRIGHT_SOURCE_DATA> {0:1} (Data item of the 'default source')<br />
+1 DEST <RECEIVING_SYSTEM_NAME> {0:1*} (Data item of the 'default source')<br />
+1 DATE <TRANSMISSION_DATE> {0:1} (Data item of the 'default source')<br />
+2 TIME <TIME_VALUE> {0:1} (Data item of the 'default source')<br />
+1 SUBM @<XREF:SUBM>@ {1:1} (Data item of the 'default source')<br />
(Also used to determine the SUBMITTER_RECORD)<br />
(that should be stored as the database owner)<br />
+1 SUBN @<XREF:SUBN>@ {0:1} (ignored)<br />
+1 FILE <FILE_NAME> {0:1} (Data item of the 'default source')<br />
+1 COPR <COPYRIGHT_GEDCOM_FILE> {0:1} (stored as the Publication information of the 'default source')<br />
+1 GEDC {1:1}<br />
+2 VERS <VERSION_NUMBER> {1:1} (Data item of the 'default source')<br />
+2 FORM <GEDCOM_FORM> {1:1} (Data item of the 'default source')<br />
+1 CHAR <CHARACTER_SET> {1:1} (Data item of the 'default source')<br />
+2 VERS <VERSION_NUMBER> {0:1} (Data item of the 'default source')<br />
+1 LANG <LANGUAGE_OF_TEXT> {0:1} (Data item of the 'default source')<br />
+1 PLAC {0:1}<br />
+2 FORM <PLACE_HIERARCHY> {1:1} (see below)<br />
+1 NOTE <GEDCOM_CONTENT_DESCRIPTION> {0:1} (note attached to the 'default source')<br />
+2 [CONT|CONC] <GEDCOM_CONTENT_DESCRIPTION> {0:M}<br />
<br />
* NOTE: Submissions to the Family History Department for Ancestral<br />
File submission or for clearing temple ordinances must use a<br />
DESTination of ANSTFILE or TempleReady.<br />
<br />
The PLAC FORM is stored internally and used to govern the interpretation of places (in accordance with the GEDCOM specification).<br />
<br />
====== SUBmissioN ======<br />
The SUBMISSION_RECORD (there should be only one, but this is not checked) is stored as a {{man label|Data}} item of the 'default source'<br />
<br />
SUBMISSION_RECORD:=<br />
n @<XREF:SUBN>@ SUBN {1:1]<br />
+1 SUBM @<XREF:SUBM>@ {0:1}<br />
+1 FAMF <NAME_OF_FAMILY_FILE> {0:1}<br />
+1 TEMP <TEMPLE_CODE> {0:1}<br />
+1 ANCE <GENERATIONS_OF_ANCESTORS> {0:1}<br />
+1 DESC <GENERATIONS_OF_DESCENDANTS> {0:1}<br />
+1 ORDI <ORDINANCE_PROCESS_FLAG> {0:1}<br />
+1 RIN <AUTOMATED_RECORD_ID> {0:1}<br />
<br />
====== SUBMitter ======<br />
SUBMITTER_RECORDs (there may be more than one) are stored as {{man label|Repository}} records attached to the 'default source' except as indicated in bold below. The SUBMITTER_RECORD that corresponds with the SUBM record in the HEADER is used to set the [[Gramps_5.1_Wiki_Manual_-_Tools#Edit_Database_Owner_Information|database owner]] and can be copied to the [[Gramps_5.1_Wiki_Manual_-_Settings#Researcher|Researcher Information]] tab if required.<br />
<br />
SUBMITTER_RECORD:=<br />
n @<XREF:SUBM>@ SUBM {1:1}<br />
+1 NAME <SUBMITTER_NAME> {1:1}<br />
+1 <<ADDRESS_STRUCTURE>> {0:1}<br />
'''+1 <<MULTIMEDIA_LINK>> {0:M}'''<br />
'''+1 LANG <LANGUAGE_PREFERENCE> {0:3}'''<br />
'''+1 RFN <SUBMITTER_REGISTERED_RFN> {0:1}'''<br />
'''+1 RIN <AUTOMATED_RECORD_ID> {0:1}'''<br />
+1 <<CHANGE_DATE>> {0:1}<br />
<br />
* Mutimedia link is ignored<br />
* LANG is ignored<br />
* RFN and RIN are ignored<br />
<br />
===== INDIvidual =====<br />
<br />
The INDIVIDUAL_RECORD is stored as a Gramps {{man label|Person}} record, except as indicated in bold below.<br />
<br />
INDIVIDUAL_RECORD: =<br />
n @<XREF:INDI>@ INDI {1:1}<br />
+1 RESN <RESTRICTION_NOTICE> {0:1}<br />
+1 <<PERSONAL_NAME_STRUCTURE>> {0:M}<br />
+1 SEX <SEX_VALUE> {0:1}<br />
+1 <<INDIVIDUAL_EVENT_STRUCTURE>> {0:M}<br />
'''+1 <<INDIVIDUAL_ATTRIBUTE_STRUCTURE>> {0:M}'''<br />
+1 <<LDS_INDIVIDUAL_ORDINANCE>> {0:M}<br />
+1 <<CHILD_TO_FAMILY_LINK>> {0:M}<br />
+1 <<SPOUSE_TO_FAMILY_LINK>> {0:M}<br />
'''+1 SUBM @<XREF:SUBM>@ {0:M}'''<br />
+1 <<ASSOCIATION_STRUCTURE>> {0:M}<br />
+1 ALIA @<XREF:INDI>@ {0:M}<br />
'''+1 ANCI @<XREF:SUBM>@ {0:M}'''<br />
'''+1 DESI @<XREF:SUBM>@ {0:M}'''<br />
+1 <<SOURCE_CITATION>> {0:M}<br />
+1 <<MULTIMEDIA_LINK>> {0:M}<br />
+1 <<NOTE_STRUCTURE>> {0:M}<br />
+1 RFN <PERMANENT_RECORD_FILE_NUMBER> {0:1}<br />
+1 AFN <ANCESTRAL_FILE_NUMBER> {0:1}<br />
+1 REFN <USER_REFERENCE_NUMBER> {0:M}<br />
'''+2 TYPE <USER_REFERENCE_TYPE> {0:1}'''<br />
+1 RIN <AUTOMATED_RECORD_ID> {0:1}<br />
+1 <<CHANGE_DATE>> {0:1}<br />
<br />
* Link to submitter, ancestor interest and descendent interest indicators are silently ignored.<br />
* The alias indicator ("An indicator to link different record descriptions of a person who may be the same person") is stored as an {{man label|Association}} called 'Alias'.<br />
* The REFN and REFN:TYPE are stored as {{man label|Attributes}} of the {{man label|Person}}, but if there is more than one REFN, it may not be clear which TYPE is associated with which REFN.<br />
<br />
Handling of the INDIVIDUAL_ATTRIBUTE_STRUCTURE is rather complicated. The following tags:<br />
* EDUC (Scholastic achievement),<br />
* NMR (Count of marriages),<br />
* OCCU (Occupation),<br />
* PROP (Possessions),<br />
* RELI (Religious affiliation),<br />
* RESI and<br />
* TITL (Nobility title)<br />
are all treated as Gramps {{man label|Event}}s and the associated information is stored in the event structure. The details following the main tag (shown in brackets in the list above) are stored as the {{man label|Description}} of the {{man label|Event}}. The <EVENT_DESCRIPTOR> following the TYPE tag will overwrite the {{man label|Description}} if the <EVENT_DESCRIPTOR> is not the attribute name.<br />
<br />
The following tags:<br />
* CAST (Caste name),<br />
* DSCR (Physical description),<br />
* INDO (National ID Number),<br />
* NATI (National or tribal origin),<br />
* NCHI (Count of Children) and<br />
* SSN (Social Security Number)<br />
are all treated as Gramps {{man label|Attributes}}s and most of the fields except the details following the main tag (shown in brackets in the list above), the source citation and the note structure are ignored, as indicated in bold below.<br />
<br />
INDIVIDUAL_ATTRIBUTE_STRUCTURE: =<br />
n CAST <CASTE_NAME> {1:1}<br />
+1 <<EVENT_DETAIL>> {0:1}<br />
etc.<br />
<br />
EVENT_DETAIL: =<br />
'''n TYPE <EVENT_DESCRIPTOR> {0:1}'''<br />
'''n DATE <DATE_VALUE> {0:1}'''<br />
'''n <<PLACE_STRUCTURE>> {0:1}'''<br />
'''n <<ADDRESS_STRUCTURE>> {0:1}'''<br />
'''n AGE <AGE_AT_EVENT> {0:1}'''<br />
'''n AGNC <RESPONSIBLE_AGENCY> {0:1}'''<br />
'''n CAUS <CAUSE_OF_EVENT> {0:1}'''<br />
n <<SOURCE_CITATION>> {0:M}<br />
+1 <<NOTE_STRUCTURE>> {0:M}<br />
+1 <<MULTIMEDIA_LINK>> {0:M}<br />
'''n <<MULTIMEDIA_LINK>> {0:M}'''<br />
n <<NOTE_STRUCTURE>> {0:M}<br />
<br />
<br />
* Individual attribute structure, type, date, place structure, address structure, age, agency, cause and multimedia link are all ignored. <br />
<br />
===== FAM_RECORD =====<br />
<br />
The FAM_RECORD is stored as a Gramps {{man label|Family}} record.<br />
<br />
FAM_RECORD:=<br />
n @<XREF:FAM>@ FAM {1:1}<br />
+1 <<FAMILY_EVENT_STRUCTURE>> {0:M}<br />
+1 HUSB @<XREF:INDI>@ {0:1}<br />
+1 WIFE @<XREF:INDI>@ {0:1}<br />
+1 CHIL @<XREF:INDI>@ {0:M}<br />
+1 NCHI <COUNT_OF_CHILDREN> {0:1}<br />
+1 SUBM @<XREF:SUBM>@ {0:M}<br />
+1 <<LDS_SPOUSE_SEALING>> {0:M}<br />
+1 <<SOURCE_CITATION>> {0:M}<br />
+1 <<MULTIMEDIA_LINK>> {0:M}<br />
+1 <<NOTE_STRUCTURE>> {0:M}<br />
+1 REFN <USER_REFERENCE_NUMBER> {0:M}<br />
+2 TYPE <USER_REFERENCE_TYPE> {0:1}<br />
+1 RIN <AUTOMATED_RECORD_ID> {0:1}<br />
+1 <<CHANGE_DATE>> {0:1}<br />
<br />
* The link to submitter is silently ignored.<br />
* The REFN and REFN:TYPE are stored as {{man label|Attributes}} of the {{man label|Family}}, but if there is more than one REFN, it may not be clear which TYPE is associated with which REFN.<br />
<br />
===== SOURCE_RECORD =====<br />
<br />
The SOURCE_RECORD is stored as a Gramps {{man label|Source}} record, except as indicated in bold below.<br />
<br />
SOURCE_RECORD:=<br />
n @<XREF:SOUR>@ SOUR {1:1}<br />
'''+1 DATA {0:1}'''<br />
'''+2 EVEN <EVENTS_RECORDED> {0:M}'''<br />
'''+3 DATE <DATE_PERIOD> {0:1}'''<br />
'''+3 PLAC <SOURCE_JURISDICTION_PLACE> {0:1}'''<br />
'''+2 AGNC <RESPONSIBLE_AGENCY> {0:1}'''<br />
'''+2 <<NOTE_STRUCTURE>> {0:M}'''<br />
+1 AUTH <SOURCE_ORIGINATOR> {0:1}<br />
+2 [CONT|CONC] <SOURCE_ORIGINATOR> {0:M}<br />
+1 TITL <SOURCE_DESCRIPTIVE_TITLE> {0:1}<br />
+2 [CONT|CONC] <SOURCE_DESCRIPTIVE_TITLE> {0:M}<br />
+1 ABBR <SOURCE_FILED_BY_ENTRY> {0:1}<br />
+1 PUBL <SOURCE_PUBLICATION_FACTS> {0:1}<br />
+2 [CONT|CONC] <SOURCE_PUBLICATION_FACTS> {0:M}<br />
+1 TEXT <TEXT_FROM_SOURCE> {0:1}<br />
+2 [CONT|CONC] <TEXT_FROM_SOURCE> {0:M}<br />
+1 <<SOURCE_REPOSITORY_CITATION>> {0:1}<br />
+1 <<MULTIMEDIA_LINK>> {0:M}<br />
+1 <<NOTE_STRUCTURE>> {0:M}<br />
+1 REFN <USER_REFERENCE_NUMBER> {0:M}<br />
+2 TYPE <USER_REFERENCE_TYPE> {0:1}<br />
+1 RIN <AUTOMATED_RECORD_ID> {0:1}<br />
+1 <<CHANGE_DATE>> {0:1}<br />
<br />
* DATA and its subsidiary records are ignored<br />
<br />
===== REPOSITORY_RECORD =====<br />
<br />
The REPOSITORY_RECORD is stored as a Gramps {{man label|Repository}} record, except as indicated in bold below.<br />
<br />
REPOSITORY_RECORD: =<br />
n @<XREF:REPO>@ REPO {1:1}<br />
+1 NAME <NAME_OF_REPOSITORY> {0:1}<br />
+1 <<ADDRESS_STRUCTURE>> {0:1}<br />
+1 <<NOTE_STRUCTURE>> {0:M}<br />
'''+1 REFN <USER_REFERENCE_NUMBER> {0:M}'''<br />
'''+2 TYPE <USER_REFERENCE_TYPE> {0:1}'''<br />
'''+1 RIN <AUTOMATED_RECORD_ID> {0:1}'''<br />
+1 <<CHANGE_DATE>> {0:1}<br />
<br />
* REFN, REFN:TYPE and RIN are ignored<br />
<br />
===== MULTIMEDIA_RECORD =====<br />
<br />
The MULTIMEDIA_RECORD is stored as a Gramps {{man label|Media}} record, except as indicated in bold below.<br />
<br />
MULTIMEDIA_RECORD:=<br />
n @<XREF:OBJE>@ OBJE {1:1}<br />
+1 FORM <MULTIMEDIA_FORMAT> {1:1}<br />
+1 TITL <DESCRIPTIVE_TITLE> {0:1}<br />
+1 <<NOTE_STRUCTURE>> {0:M}<br />
+1 <<SOURCE_CITATION>> {0:M}<br />
'''+1 BLOB {1:1}'''<br />
'''+2 CONT <ENCODED_MULTIMEDIA_LINE> {1:M}'''<br />
+1 OBJE @<XREF:OBJE>@ /* chain to continued object */ {0:1}<br />
'''+1 REFN <USER_REFERENCE_NUMBER> {0:M}'''<br />
'''+2 TYPE <USER_REFERENCE_TYPE> {0:1}'''<br />
'''+1 RIN <AUTOMATED_RECORD_ID> {0:1}'''<br />
<br />
* It is expected that there will be a 'FILE' tag to indicate the file holding the multimedia object. This usage is taken from GEDCOM 5.5.1, but the ability in GEDCOM 5.5.1 to have more than one <MUTIMEDIA_FILE_REFN> and having the FORM, TYPE and TITL subsidiary to the FILE gedcom_line is not supported (a later FILE may overwrite an earlier one - there is no error checking).<br />
* BLOB is ignored<br />
* REFN, REFN:TYPE and RIN are ignored<br />
<br />
===== NOTE_RECORD =====<br />
<br />
The NOTE_RECORD is stored as a Gramps {{man label|Note}} record, except as indicated in bold below.<br />
<br />
NOTE_RECORD:=<br />
n @<XREF:NOTE>@ NOTE <SUBMITTER_TEXT> {1:1}<br />
+1 [ CONC | CONT] <SUBMITTER_TEXT> {0:M}<br />
'''+1 <<SOURCE_CITATION>> {0:M}'''<br />
'''+1 REFN <USER_REFERENCE_NUMBER> {0:M}'''<br />
'''+2 TYPE <USER_REFERENCE_TYPE> {0:1}'''<br />
'''+1 RIN <AUTOMATED_RECORD_ID> {0:1}'''<br />
+1 <<CHANGE_DATE>> {0:1}<br />
<br />
* source citation ignored<br />
* REFN, REFN:TYPE and RIN are ignored<br />
<br />
== Exporting data ==<br />
<br />
{{man note| Export is saving a copy |When you export, you are saving a copy of the currently opened database. Exporting creates another file with a copy of your data. Note that the database that remains opened in your Gramps window is NOT the file saved by your export. Additional editing of the currently opened database will not alter the copy produced by the export.}}<br />
<br />
To export data, choose Menu {{man menu|Family Trees ->Export...}} or the [[Gramps_5.1_Wiki_Manual_-_Keybindings#|keybinding]] {{Man key press|Ctrl|E}} or {{Man key press|Command &#8984;|E}} on Apple Mac's. This will bring up the {{man label|[[Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees#Export_Assistant_dialog|Export Assistant]]}} dialog. <br />
<br />
Exporting allows you to share any portion of your Gramps Family Tree(database) with other researchers as well as to enable you to transfer your data to another computer. <br />
<br />
Gramps can export data to the following file formats: <br />
* [[Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees#Comma_Separated_Values_Spreadsheet.28CSV.29_export|Comma Separated Values Spreadsheet (CSV)]]<br />
* [[#GEDCOM_export|GEDCOM]]<br />
* GeneWeb<br />
* Gramps [[Gramps_XML|XML]] (family tree)<br />
* Gramps [[Gramps_XML|XML]] Package (family tree and media)<br />
* Web Family Tree<br />
* vCalendar<br />
* vCard<br />
<br />
{{-}}<br />
===Export Assistant dialog===<br />
<br />
[[File:ExportAssistant-SavingYourData-wizard-50.png|right|thumb|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Export Assistant: Saving your data - wizard start page]]The {{man label|Export Assistant}} pages will guide you through the [[#Choose_the_output_format|output file format selection]], and then the export options specific to that file format. After the {{man label|Final confirmation}} page, the export will be performed according to the choices you have made. At any time, you can click the {{man button|Back}} button and revise any selection, and then go forward to redo the export.<br />
{{-}}<br />
==== Saving your data ====<br />
General information about exporting from Gramps.<br />
<br />
Select the {{man button|Next}} button to continue.<br />
{{stub}}<br />
{{-}}<br />
<br />
==== Choose the output format ====<br />
[[File:ExportAssistant-ChooseTheOutputFormat-wizard-50.png|right|thumb|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Export Assistant - Choose the output format - wizard dialog]]Select the file format to export your data to:<br />
* [[Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees#Comma_Separated_Values_Spreadsheet.28CSV.29_export|Comma Separated Values Spreadsheet (CSV)]]<br />
* [[#GEDCOM_export|GEDCOM]]<br />
* GeneWeb<br />
* '''Gramps [[Gramps XML|XML]] (family tree)'''(default)<br />
* Gramps [[Gramps XML|XML]] Package (family tree and media)<br />
* Web Family Tree<br />
* vCalendar<br />
* vCard<br />
<br />
Then select the {{man button|Next}} button to continue.<br />
{{-}}<br />
<br />
==== Export options ====<br />
[[File:ExportAssistant-ExportOptions-CSV-defaults-50.png|right|thumb|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Export Assistant - Export Options - wizard dialog (showing defaults for "Comma Separated Values Spreadsheet(CSV)") with highlight Bottom section for File format specific options]]<br />
<br />
After you have adjusted your options in the two sections.<br />
* Top unlabeled section: [[Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees#Filters_and_privacy|Filters and privacy]]<br />
* Bottom unlabeled section: [[Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees#File_format_specific_export_options|File format specific options]]<br />
<br />
Select the {{man button|Next}} button to continue.<br />
{{-}}<br />
=====Filters and privacy=====<br />
<br />
Gramps allows you to export your selected Family tree into common file formats.<br />
<br />
The following filters provide options that allow you to fine tune your export.<br />
<br />
Filters allow you to export a limited amount of data, based on the criteria you select.<br />
<br />
======Privacy Filter:======<br />
{{man label|[✓] Do not include records marked private}}: Check this box to prevent private records from being included in the exported file. (Checkbox checked by default)<br />
<br />
======Living Filter:======<br />
These option restrict data and help limit the information exported for living people. This means that all information concerning their birth, death, addresses, significant events, etc., will be omitted in the exported file. For example, you can choose to substitute the word '''Living''' for the first name (see your [[Gramps_5.1_Wiki_Manual_-_Settings#Text|settings]]); you can exclude notes; and you can exclude sources for [[Gramps_5.1_Wiki_Manual_-_Probably_Alive|living people]].<br />
<br />
Sometimes, it is not always obvious from the data if someone is actually alive. Gramps uses an advanced algorithm to try to determine [[Gramps_5.1_Wiki_Manual_-_Probably_Alive|if a person could still be alive]]. Remember, Gramps is making its best guess, and it may not always be able to guess correctly all the time. Please double check your data.<br />
<br />
<br />
Select from the following options:<br />
*{{man label|Include all selected people}} (default)<br />
*{{man label|Replace given names of living people}}<br />
*{{man label|Replace complete name of living people}}<br />
*{{man label|Do not include living people}}<br />
<br />
======Person Filter:======<br />
Select from the following options:<br />
*{{man label|Include all selected people}} (default)<br />
*{{man label|Descendants of [Active Person]}}<br />
*{{man label|Descendant Families of [Active Person]}}<br />
*{{man label|Ancestors of [Active Person]}}<br />
*{{man label|People with common ancestor with [Active Person]}}<br />
* Create a custom filter by selecting the ''Edit icon'' to show the {{man label|[[Gramps_5.1_Wiki_Manual_-_Filters#Define_Filter_dialog|Define filter]]}} dialog.<br />
======Note Filter:======<br />
Select from the following options:<br />
*{{man label|Include all selected notes}} (default)<br />
* Create a custom filter by selecting the ''Edit icon'' to show the {{man label|[[Gramps_5.1_Wiki_Manual_-_Filters#Define_Filter_dialog|Define filter]]}} dialog.<br />
======Reference Filter:======<br />
Select from the following options:<br />
*{{man label|Include all selected records}} (default)<br />
*{{man label|Do not include records not linked to a selected person}}<br />
<br />
=====File format specific export options=====<br />
<br />
Depending on the file format chosen, you may find a number of file format specific export options to choose from listed underneath the "Filters and privacy" section.<br />
<br />
See the relevant section for each of file formats listed that have specific export options:<br />
* [[Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees#Comma_Separated_Values_Spreadsheet.28CSV.29_export|Comma Separated Values Spreadsheet (CSV)]]<br />
* [[Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees#Gramps_XML_.28family_tree.29_export|Gramps XML (family tree)]]<br />
{{stub}}<br />
<br />
==== Select save file ====<br />
[[File:ExportAssistant-SelectSaveFile-example-50.png|right|thumb|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Export Assistant - Select save file - wizard dialog - example]]<br />
<br />
Enter a export file {{man label|Name:}} <code>Untitled_1.<file format extension></code>(default) and choose the folder location to save the export file to (normally your '''Documents''' folder.<br />
<br />
Then select the {{man button|Next}} button to continue.<br />
<br />
If you don't have permission to save the file to that location you will see the {{man label|Could not create ''<file location and export file name>''}} warning dialog and then the Export Assistants {{man label|Saving failed}} wizard dialog, select the {{man button|Close}} button and start the export again this time choosing a suitable folder.<br />
{{-}}<br />
<br />
==== Final confirmation ====<br />
[[File:ExportAssistant-FinalConfirmation-example-50.png|right|thumb|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Export Assistant - Final confirmation - wizard dialog - example]]<br />
<br />
The Export Assistants {{man label|Final confirmation}} wizard dialog allows you to check the summarized details (Format/Name/Folder) of the export file to be created.<br />
<br />
At this point you can press {{man button|Back}} to revisit your options or {{man button|Cancel}} to abort.<br />
<br />
Or select the {{man button|Apply}} button to continue.<br />
{{-}}<br />
<br />
==== Summary ====<br />
[[File:ExportAssistant-YourDataHasBeenSaved-example-50.png|right|thumb|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Export Assistant - Summary - wizard dialog - example]]<br />
<br />
The Export Assistants {{man label|Summary}} wizard dialog shows the ''Filename:'' and confirms that you export data has been saved successfully.<br />
<br />
Select the {{man button|Close}} button to exit the Export Assistant.<br />
{{-}}<br />
<br />
=== Comma Separated Values Spreadsheet(CSV) export===<br />
<br />
[[File:ExportAssistant-ExportOptions-CSV-defaults-50.png|right|thumb|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Export Assistant - Export Options - wizard dialog (showing defaults for "Comma Separated Values Spreadsheet(CSV)") with highlight Bottom section for File format specific options]]<br />
<br />
Comma Separated Values Spreadsheet(CSV): Allows exporting (and importing) a subset of your Gramps data in a simple spreadsheet format. <br />
<br />
See [[Gramps 5.1 Wiki Manual - Manage Family Trees: CSV Import and Export|CSV Import and Export]] for additional information and examples.<br />
<br />
Comma Separated Values Spreadsheet(CSV) has the following [[Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees#File_format_specific_export_options|file format specific export options]]:<br />
* Include people - <br />
* Include marriages - <br />
* Include children - <br />
* Include places - <br />
* Translate headers - <br />
{{-}}<br />
Also, see [[Gramps_5.1_Wiki_Manual_-_Settings#Export_View|Export (List) View]] as Spreadsheet.<br />
<br />
=== GEDCOM export ===<br />
<br />
{{man note|Gramps supports the GEDCOM 5.5.1 version last updated 15 November 2019.}}<br />
<br />
Gramps allows you to export a database into the common legacy {{man label|GEDCOM}} format.<br />
<br />
{{man label|GEDCOM}} export has no [[Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees#File_format_specific_export_options|file format specific export options]] but you can change the following:<br />
<br />
* Make sure you add your {{man label|[[Gramps_5.1_Wiki_Manual_-_Settings#Researcher|Researcher]]}} information to create a valid GEDCOM file, this can be also be done with the {{man label|[[Gramps_5.1_Wiki_Manual_-_Tools#Edit_Database_Owner_Information|Edit Database Owner Information]]}} tool.<br />
<br />
* In the [[Gramps_5.1_Wiki_Manual_-_Settings#General|General Gramps settings]] section of the General tab in preferences you can also choose to {{man label|Add default source on GEDCOM import}} and also {{man label|Add tag on import}} both can significantly slow down the importing of your data.<br />
<br />
{{man note|If you have installed the third party addon [[GEDCOM Extensions]](.GED2)|it will have its own specific file format specific export options.}}<br />
<br />
For more information on the GEDCOM format see: :<br />
* https://en.wikipedia.org/wiki/GEDCOM<br />
* https://www.familysearch.org/developers/docs/guides/gedcom<br />
* https://www.familysearch.org/developers/docs/gedcom/<br />
<br />
See [[Gramps and GEDCOM]] for details of data which is not exported when exporting to GEDCOM ({{man menu|Use Gramps XML for a full family tree export/backup}}).<br />
{{-}}<br />
<br />
=== GeneWeb export===<br />
{{man label|GeneWeb}} export will save a copy of your data to the GeneWeb genealogy format.<br />
<br />
To find out more about GeneWeb and its format, visit:<br />
* http://www.geneweb.org<br />
<br />
{{man label|GenWeb}} has no [[Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees#File_format_specific_export_options|file format specific export options]]<br />
{{-}}<br />
<br />
=== Gramps XML (family tree) export ===<br />
<br />
{{man warn|Privacy Filters |It is important to verify your privacy options on Exporter. Do not enable filters or privacy options for Gramps XML backups.}}<br />
<br />
[[File:ExportAssistant-ExportOptions-GrampsXMLFamilyTree-defaults-50.png|right|thumb|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Export Assistant - Export Options - wizard (showing defaults for "Gramps XML (family tree)") with highlight Bottom section for File format specific options]]<br />
<br />
{{man label|Gramps [[XML]] (family tree)}} export (.gramps): This format is the standard format for data-exchange and backups (see the related .gpkg format below for full portability including media objects). Exporting into Gramps [[XML]] format will produce a portable database. As XML is a text-based human-readable format, you may also use it to take a look at your data. Gramps guarantees you can open XML output of older versions of Gramps in newer version of Gramps (not the other way around though!).<br />
<br />
<br />
If a media file is not found during export, you will see the same {{man label|Missing Media}} dialog you encounter with GEDCOM export.<br />
<br />
{{man label|Gramps XML (family tree)}} has the following [[Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees#File_format_specific_export_options|file format specific export options]]:<br />
* Use Compression - <br />
{{-}}<br />
==== What's not included: ====<br />
{{Template:Backup Omissions}}<br />
<br />
=== Gramps XML Package (family tree and media) export ===<br />
<br />
{{man warn|Privacy Filters |It is important to verify your privacy options on Exporter. Do not enable filters or privacy options for Gramps XML backups.}}<br />
<br />
{{man label|Gramps XML Package (family tree and media)}} export (.gpkg): Exporting to the Gramps package format will create a compressed file that contains the Gramps XML database and copies of all associated media files. This is useful if you want to move your database to another computer or to share it with someone.<br />
<br />
If a media file is not found during export, you will see the same {{man label|Missing Media}} dialog you encounter with GEDCOM export.<br />
<br />
{{man label|Gramps XML Package (family tree and media)}} has no [[Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees#File_format_specific_export_options|file format specific export options]]<br />
<br />
==== What's not included: ====<br />
<br />
{{Template:Backup Omissions}}<br />
<br />
=== Web Family Tree export===<br />
{{man label|Web Family Tree}} export creates a text file that can be used by the '''Web Family Tree''' program. <br />
<br />
To find out more about Web Family Tree and its format, visit<br />
* <code>http:&#47;&#47;www.simonward.com/cgi-bin/page.pl?family/tree</code> - [https://wikipedia.org/wiki/Link_rot linkrot]. ''see'' [https://web.archive.org/web/20160316080343/http://www.simonward.com/cgi-bin/page.pl?family/tree 2016 '''Internet Archive''' snapshot] <br />
{{man label|Web Family Tree}} has no [[Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees#File_format_specific_export_options|file format specific export options]]<br />
{{-}}<br />
<br />
=== vCalendar export ===<br />
<br />
{{man label|vCalendar}} export saves information in the format used in many calendaring applications, sometimes called PIM for Personal Information Manager.<br />
<br />
For more information on the vCalendar format see:<br />
* https://en.wikipedia.org/wiki/ICalendar#vCalendar_1.0<br />
<br />
{{man label|vCalendar}} has no [[Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees#File_format_specific_export_options|file format specific export options]]<br />
{{-}}<br />
<br />
=== vCard export===<br />
{{man label|vCard}} export saves information in a format used in many addressbook applications, sometimes called PIM for Personal Information Manager.<br />
<br />
For more information on the vCard format see:<br />
* https://en.wikipedia.org/wiki/VCard<br />
<br />
{{man label|vCard}} has no [[Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees#File_format_specific_export_options|file format specific export options]]<br />
{{-}}<br />
<br />
{{man index|Gramps 5.1 Wiki Manual - Categories|Gramps 5.1 Wiki Manual - Manage Family Trees: CSV Import and Export|5.1}}<br />
{{languages|Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees}}<br />
{{grampsmanualcopyright}}<br />
<br />
[[Category:Documentation]]</div>Peterhewetthttps://blog.gramps-project.org/wiki/index.php?title=Gramps_5.1_Wiki_Manual_-_Command_Line&diff=74546Gramps 5.1 Wiki Manual - Command Line2019-12-26T02:02:37Z<p>Peterhewett: /* Version options */ update output from gramps -v</p>
<hr />
<div>{{man index|Gramps 5.1 Wiki Manual - Keybindings|Gramps 5.1 Wiki Manual - User Directory|5.1}} <br />
{{languages|Gramps_5.1_Wiki_Manual_-_Command_Line}}<br />
{{#vardefine:chapter|C}}<br />
{{#vardefine:figure|0}}<br />
This appendix provides the reference to the command line capabilities available when launching Gramps from the terminal.<br />
<br />
== Start Gramps through the Command Line ==<br />
<br />
Normally Gramps is started through the graphical user interface (GUI) on [[Gramps_5.1_Wiki_Manual_-_Getting_started#Start_Gramps|your platform]].<br />
<br />
It is also possible to start Gramps using a command line interface (CLI). CLI use can<br />
* produce reports that are not available via the GUI, <br />
* create reports, do conversions etc. without opening a window and<br />
* can provide [[Gramps_5.1_Wiki_Manual_-_Main_Window#Seeing_all_the_error_messages|extra information]] in the event of problems.<br />
<br />
This section of the user manual describes how to start Gramps through the CLI, and the features that are available.<br />
<br />
The way you start Gramps through the CLI depends on the operating system you are using.<br />
<br />
For simplicity of description, the examples of use below are written from the point of view of running Gramps on Linux. The examples would need to be changed for other platforms.<br />
<br />
=== Linux ===<br />
<br />
Only the Linux platform is officially supported as Gramps developers use and test the source code on that platform, fixing any problems that arise due to upgrades.<br />
<br />
Assuming you have used the standard Package Manager (either through a CLI or a GUI) for your Linux distribution, you start Gramps through the CLI by typing<br />
gramps<br />
<br />
=== MS Windows ===<br />
<br />
{{stub}}<br />
{{man warn|Outdated need to add info for new AIO installer CLI usage|See example usage https://github.com/gramps-project/addons-source/pull/121}}<br />
<br />
MS Windows is a [[Download|community supported]] platform. If you install the [[All_In_One_Gramps_Software_Bundle_for_Windows|Windows AIO]] GrampsAIO32 or GrampsAIO64 executable, then this will place an icon on the desktop as well as a menu iten in the 'Start' menu.<br />
<br />
What is the best way of knowing what command to type?<br />
<br />
Starting Gramps from the command line (cmd.exe) depends on where you have chosen to install Gramps.<br />
* Right click on the ??terminal Gramps application, or the corresponding item in the Start menu.<br />
* Note down the starting directory.<br />
* Select the whole of the command and copy (ctrl-C) it.<br />
* From the Start menu, start cmd.exe.<br />
* Change directory to the starting directory you noted down.<br />
* Right click and select Paste.<br />
* Press {{man key press|Enter}}.<br />
<br />
For example, this might be:<br />
cd "\Program Files\GrampsAIO64"<br />
gramps<br />
<br />
When the instructions below tell you to type something after the start command, you just type this after the last line, for example:<br />
cd "\Program Files\GrampsAIO64"<br />
gramps -L<br />
<br />
There are other ways to install Gramps for MS Windows, but these are much more complicated and are not covered here.<br />
<br />
=== Mac OS X ===<br />
<br />
Mac OS X is a [[Download|community supported]] platform. If you download the Mac OS X disk image (.dmg), then you simply drag the application to your application folder (or anywhere else you want to store it) and start Gramps by double clicking on the application in the normal way.<br />
<br />
To run from the command line, you'll need to start Terminal, found in Applications:Utilities.<br />
Once you have a terminal window open, at the prompt type<br />
/path/to/Gramps.app/Contents/MacOS/Gramps<br />
If you installed Gramps in Applications along with most of your other apps, that would be<br />
/Applications/Gramps.app/Contents/MacOS/Gramps<br />
You may use any of the command-line options along with this. For example, to get a detailed listing of all of the Family Tree databases in your default Family Tree folder, you would use<br />
/Applications/Gramps.app/Content/MacOS/Gramps -L<br />
<br />
There are other ways to install Gramps for Mac OS X, but these are much more complicated and are not covered here.<br />
<br />
== Python options ==<br />
<br />
In the examples of different platforms above, and also in commands in various files you may see some options after the 'python' command, for example '-EO' in<br />
"python3 -EO ..\share\gramps\gramps.py -L<br />
<br />
It is important to distinguish between the '''python options''' in this case:<br />
-EO<br />
and the '''Gramps options''', in this case<br />
-L<br />
<br />
The '''python options''' that you may come across are:<br />
* <code>-E</code> Ignore all PYTHON* environment variables, e.g. <code>PYTHONPATH</code> and <code>PYTHONHOME</code>, that might be set.<br />
* <code>-O</code> Turn on basic optimizations. This changes the filename extension for compiled (bytecode) files from <code>.pyc</code> to <code>.pyo</code>. See also PYTHONOPTIMIZE.<br />
<br />
The <code>-O</code> optimise flag has a number of effects in Gramps:<br />
* If it is not turned on, an additional {{man menu|[[Gramps_5.1_Wiki_Manual_-_Tools#Debug|Debug]]}} entry appears in the {{man menu|[[Gramps_5.1_Wiki_Manual_-_Tools|Tools]]}} menu.<br />
* If it is not turned on, [[Logging_system#So_how_logging_works_in_Gramps_after_all.3F|info logging messages are output]].<br />
* If it is not turned on, [[Debugging_Gramps#Add_debug_statements|debug statements]] may be activated.<br />
* If it is not turned on, additional features are available in the [[Gramps_5.1_Wiki_Manual_-_Plugin_Manager|Plugin Manager]].<br />
<br />
The '''Gramps options''' are described below.<br />
<br />
== Available Gramps options ==<br />
<br />
This section provides the reference list of all command line options available in Gramps. If you want to know more than just a list of options, see next sections: [[#Operation|Operation]] and [[#Examples| Examples]]. The summary below is printed by <br />
gramps -h<br />
or<br />
gramps --help<br />
<br />
<pre><br />
Usage: gramps.py [OPTION...]<br />
--load-modules=MODULE1,MODULE2,... Dynamic modules to load<br />
<br />
Help options<br />
-?, --help Show this help message<br />
--usage Display brief usage message<br />
<br />
Application options<br />
-O, --open=FAMILY_TREE Open Family Tree<br />
-U, --username=USERNAME Database username<br />
-P, --password=PASSWORD Database password<br />
-C, --create=FAMILY_TREE Create on open if new Family Tree<br />
-i, --import=FILENAME Import file<br />
-e, --export=FILENAME Export file<br />
-r, --remove=FAMILY_TREE_PATTERN Remove matching Family Tree(s) (use regular expressions)<br />
-f, --format=FORMAT Specify Family Tree format<br />
-a, --action=ACTION Specify action<br />
-p, --options=OPTIONS_STRING Specify options<br />
-d, --debug=LOGGER_NAME Enable debug logs<br />
-l [FAMILY_TREE_PATTERN...] List Family Trees<br />
-L [FAMILY_TREE_PATTERN...] List Family Trees in Detail<br />
-t [FAMILY_TREE_PATTERN...] List Family Trees, tab delimited<br />
-u, --force-unlock Force unlock of Family Tree<br />
-s, --show Show config settings<br />
-c, --config=[config.setting[:value]] Set config setting(s) and start Gramps<br />
-y, --yes Don't ask to confirm dangerous actions (non-GUI mode only)<br />
-q, --quiet Suppress progress indication output (non-GUI mode only)<br />
-v, --version Show versions<br />
-S, --safe Start Gramps in 'Safe mode'<br />
(temporarily use default settings)<br />
-D, --default=[APXFE] Reset settings to default;<br />
A - addons are cleared<br />
P - Preferences to default<br />
X - Books are cleared, reports and tool settings to default<br />
F - filters are cleared<br />
E - Everything is set to default or cleared<br />
</pre><br />
<br />
The usage message is as follows:<br />
<br />
gramps --usage<br />
<br />
<pre><br />
Example of usage of Gramps command line interface<br />
<br />
1. To import four databases (whose formats can be determined from their names)<br />
and then check the resulting database for errors, one may type:<br />
gramps -i file1.ged -i file2.gpkg -i ~/db3.gramps -i file4.wft -a tool -p name=check.<br />
<br />
2. To explicitly specify the formats in the above example, append filenames with appropriate -f options:<br />
gramps -i file1.ged -f gedcom -i file2.gpkg -f gramps-pkg -i ~/db3.gramps -f gramps-xml -i file4.wft -f wft -a tool -p name=check.<br />
<br />
3. To record the database resulting from all imports, supply -e flag<br />
(use -f if the filename does not allow Gramps to guess the format):<br />
gramps -i file1.ged -i file2.gpkg -e ~/new-package -f gramps-pkg<br />
<br />
4. To save any error messages of the above example into files outfile and errfile, run:<br />
gramps -i file1.ged -i file2.dpkg -e ~/new-package -f gramps-pkg >outfile 2>errfile<br />
<br />
5. To import three databases and start interactive Gramps session with the result:<br />
gramps -i file1.ged -i file2.gpkg -i ~/db3.gramps<br />
<br />
6. To open a database and, based on that data, generate timeline report in PDF format<br />
putting the output into the my_timeline.pdf file:<br />
gramps -O 'Family Tree 1' -a report -p name=timeline,off=pdf,of=my_timeline.pdf<br />
<br />
7. To generate a summary of a database:<br />
gramps -O 'Family Tree 1' -a report -p name=summary<br />
<br />
8. Listing report options<br />
Use the name=timeline,show=all to find out about all available options for the timeline report.<br />
To find out details of a particular option, use show=option_name , e.g. name=timeline,show=off string.<br />
To learn about available report names, use name=show string.<br />
<br />
9. To convert a Family Tree on the fly to a .gramps xml file:<br />
gramps -O 'Family Tree 1' -e output.gramps -f gramps-xml<br />
<br />
10. To generate a web site into an other locale (in german):<br />
LANGUAGE=de_DE; LANG=de_DE.UTF-8 gramps -O 'Family Tree 1' -a report -p name=navwebpage,target=/../de<br />
<br />
11. Finally, to start normal interactive session type:<br />
gramps<br />
<br />
Note: These examples are for bash shell.<br />
Syntax may be different for other shells and for Windows.<br />
<br />
</pre><br />
<br />
=== List options ===<br />
Print a list of known family trees:<br />
<br />
;Sparse<br />
-l, List Family Trees<br />
<br />
gramps -l<br />
<br />
<pre><br />
List of known Family Trees in your database path<br />
<br />
/home/<~username>/.gramps/grampsdb/5a46c1c3 with name "Example Family Tree"<br />
</pre><br />
{{-}}<br />
<br />
;Detailed<br />
-L, List Family Trees in Detail<br />
<br />
gramps -L<br />
<br />
<pre><br />
Gramps Family Trees:<br />
Family Tree "Example Family Tree":<br />
Database: SQLite<br />
Database module location: /usr/lib/python3.5/sqlite3/__init__.py<br />
Database module version: 2.6.0<br />
Database version: 3.11.0<br />
Last accessed: 30/12/17 09:29:37<br />
Locked?: False<br />
Number of citations: 2854<br />
Number of events: 3432<br />
Number of families: 762<br />
Number of media: 7<br />
Number of notes: 19<br />
Number of people: 2157<br />
Number of places: 1294<br />
Number of repositories: 3<br />
Number of sources: 4<br />
Number of tags: 2<br />
Path: /home/<~username>/.gramps/grampsdb/5a46c1c3<br />
Schema version: 18.0.0<br />
</pre><br />
<br />
{{man note|Note that dates are shown in the default LOCALE format.|You change that at the system level. For example, on POSIX-based systems you could use: <pre>LC_TIME=en_AU.UTF-8 gramps -L</pre>}}<br />
{{-}}<br />
<br />
=== Version options ===<br />
<br />
-v or --version prints version of Gramps and dependencies,<br />
information about environment settings and python and system paths<br />
<br />
gramps -v<br />
<br />
<pre><br />
Gramps Settings:<br />
----------------<br />
python : 3.7.5<br />
gramps : 5.1.1<br />
gtk++ : 3.24.12<br />
pygobject : 3.34.0<br />
pango : 1.42.3<br />
cairo : 1.16.0<br />
pycairo : 1.16.2<br />
osmgpsmap : 1.0<br />
GExiv2 : 0.10<br />
ICU : 63.1<br />
PyICU : 2.2<br />
o.s. : linux<br />
kernel : 5.3.0-24-generic<br />
<br />
Environment settings:<br />
---------------------<br />
LANG : en_GB.UTF-8<br />
LANGUAGE : en_GB:en<br />
GRAMPSI18N: not set<br />
GRAMPSHOME: not set<br />
GRAMPSDIR : not set<br />
PYTHONPATH:<br />
/usr/lib/python3/dist-packages/gramps<br />
/usr/bin<br />
/usr/lib/python37.zip<br />
/usr/lib/python3.7<br />
/usr/lib/python3.7/lib-dynload<br />
/usr/local/lib/python3.7/dist-packages<br />
/usr/lib/python3/dist-packages<br />
<br />
Non-python dependencies:<br />
------------------------<br />
Graphviz : 2.40<br />
Ghostscr. : 9.27<br />
<br />
System PATH env variable:<br />
-------------------------<br />
/usr/local/sbin<br />
/usr/local/bin<br />
/usr/sbin<br />
/usr/bin<br />
/sbin<br />
/bin<br />
/usr/games<br />
/usr/local/games<br />
/snap/bin<br />
<br />
Databases:<br />
-------------------------<br />
bsddb :<br />
version : 6.2.6<br />
db version : 5.3.28<br />
location : /usr/lib/python3/dist-packages/bsddb3/__init__.py<br />
sqlite3 :<br />
version : 3.29.0<br />
py version : 2.6.0<br />
location : /usr/lib/python3.7/sqlite3/__init__.py<br />
</pre><br />
<br />
{{-}}<br />
<br />
=== Format options ===<br />
<br />
The format of any file destined for opening, importing, or exporting can be specified with the <pre>-f format</pre> option. The acceptable <tt>''format''</tt> values are listed below.<br />
<br />
==== Full family tree support ====<br />
These formats contain all your data that is present in a family tree. <br />
<br />
* '''gramps''' - Gramps XML format: This format is available for import, and export. When not specified, it can be guessed if the filename ends with .gramps<br />
* '''gpkg''' - Gramps package XML format: This format is available for import and export. When not specified, it can be guessed if the filename ends with .gpkg. This creates a zip package with your data as xml, and all your media files included<br />
* '''grdb''' - pre Gramps 3.x database: This format is available for import to support the old file format of Gramps. Everything in the grdb file is imported. When not specified, it can be guessed if the filename ends with .grdb<br />
* '''burn''' - GNOME iso burning: export, only available on GNOME where burn protocol exists<br />
<br />
==== Reduced family tree support ====<br />
These formats contain most, but not all data that can be created in Gramps<br />
<br />
*'''ged''' - GEDCOM format: This format is available for import, and export. When not specified, it can be guessed if the filename ends with .ged<br />
*'''gw''' - GeneWeb file: This format is available for import and export. When not specified, it can be guessed if the filename ends with .gw<br />
<br />
==== Subset of your data ====<br />
These formats contain a specific subset of your data<br />
<br />
* '''csv''' - Comma Separated Value: This format is available for import and export. Be careful however, import must be as values created by the export function. Only a part of your data is contained in the output.<br />
* '''vcf''' - VCard format: import and export<br />
* '''vcs''' - VCalandar format: export<br />
* '''def''' - old Pro-Gen format: import<br />
* '''wft''' - Web Family Tree: This format is available for export only. When not specified, it can be guessed if the filename ends with .wft<br />
<br />
=== Opening options ===<br />
<br />
You can open a family tree, or you can ''open'' a file by importing it in an empty family tree.<br />
<br />
To let Gramps handle this automatically, just supply the familytree or filename you want to open:<br />
<br />
python gramps.py 'My Fam Tree'<br />
python gramps.py JohnDoe.ged<br />
<br />
The first opens a family tree, the second imports a GEDCOM into an empty family tree. <br />
<br />
Additionally, you can pass Gramps the name of the family tree to be opened:<br />
<br />
* use this option : <code>-O famtree</code> or <code>--open=famtree</code><br />
<br />
<code>-O</code>, Open of a family tree. This can be done also by just typing the name (name or database dir)<br />
<br />
Examples:<br />
python gramps.py 'Family Tree 1'<br />
python gramps.py /home/cristina/.gramps/grampsdb/47320f3d<br />
python gramps.py -O 'Family Tree 1'<br />
python gramps.py -O /home/cristina/.gramps/grampsdb/47320f3d<br />
<br />
<br />
{{Man tip| Tip |If no option is given, just a name, Gramps will ignore the rest of the command line arguments. Use the <code>-O</code> flag to open, <code>-i</code> to import, and do something with the data.}}<br />
<br />
{{Man tip| Tip |Only family trees can be opened directly. For other formats, you will need to use the import option which will set up the empty database and then import data into it.}}<br />
<br />
{{Man tip| Tip |Only a single family tree can be opened. If you need to combine data from several sources, you will need to use the import option.}}<br />
<br />
=== Import options ===<br />
<br />
The files destined for import can be specified with the <code>-i filename</code> or <code>--import=filename</code> option. The format can be specified with the <code>-f format</code> or <code>--format=format</code> option, immediately following the ''filename'' . If not specified, the guess will be attempted based on the ''filename''.<br />
<br />
Example: <br />
python gramps.py -i 'Family Tree 1' -i 'Family Tree 2'<br />
python gramps.py -i test.grdb -i data.gramps<br />
<br />
{{man tip | Tip |More than one file can be imported in one command. If this is the case, Gramps will incorporate the data from the next file into the database available at the moment.}}<br />
<br />
When more than one input file is given, each has to be preceded by <code>-i</code> flag. The files are imported in the specified order, i.e. <code> -i file1 -i file2 </code> and <code> -i file2 -i file1 </code> might produce different Gramps IDs in the resulting database.<br />
<br />
=== Export options ===<br />
<br />
The files destined for export can be specified with the <code>-e filename</code> or <code>--export=filename</code> option. The format can be specified with the <code>-f</code> option immediately following the ''filename'' . If not specified, the guess will be attempted based on the ''filename'' . For iso format, the ''filename'' is actually the name of directory the Gramps database will be written into. For gramps-xml, gpkg, gedcom, wft, geneweb, and gramps-pkg, the ''filename'' is the name of the resulting file.<br />
<br />
-e, export a family tree in required format. It is not possible to export to a family tree.<br />
<br />
Example:<br />
python gramps.py -i 'Family Tree 1' -i test.grdb -f grdb -e mergedDB.gramps<br />
Note that above does not change 'Family Tree 1' as everything happens via a temporary database, whereas:<br />
python gramps.py -O 'Family Tree 1' -i test.grdb -f grdb -e mergedDB.gramps<br />
will import test.grdb into Family Tree 1, and then export to a file !<br />
<br />
{{man tip| Exporting more files |More than one file can be exported in one command. If this is the case, Gramps will attempt to write several files using the data from the database available at the moment.}}<br />
<br />
When more than one output file is given, each has to be preceded by <code>-e</code> flag. The files are written one by one, in the specified order.<br />
<br />
=== Action options ===<br />
<br />
The action to perform on the imported data can be specified with the <code>-a action</code> or <code>--action=action</code> option. This is done after all imports are successfully completed.<br />
<br />
The following actions remain the same:<br />
<br />
*''report'': This action allows producing reports from the command line.<br />
<br />
*''tool'': This action allows to run a tool from the command line.<br />
<br />
Reports and tools generally have many options of their own, so these actions should be followed by the report/tool option string. The string is given using the <code>-p option_string</code> or <code>--options=option_string</code> option.<br />
<br />
The actions available in older versions of Gramps which were relocated in Gramps 3.3 are:<br />
<br />
*''summary'': This action was the same as {{man menu|Reports ->View ->Summary}}. In Gramps 3.3 it was replaced by (or renamed to) '''-a report -p name=summary'''.<br />
<br />
*''check'': This action was the same as {{man menu|Tools ->Database Processing ->Check and Repair}}. In Gramps 3.3 it was replaced by (or renamed to) '''-a tool -p name=check'''.<br />
<br />
==== report action option ====<br />
You can generate most reports from the command line using the report action. <br />
<br />
An example:<br />
gramps -O "Family Tree 1" -a report -p "name=family_group,style=default,off=html,of=test.html"<br />
<br />
You can provide the css style to use here with the css option:<br />
gramps -O "Family Tree 1" -a report -p "name=family_group,style=default,off=html,of=test.html,css=Web_Nebraska.css"<br />
or without css in the html output:<br />
gramps -O "Family Tree 1" -a report -p "name=family_group,style=default,off=html,of=test.html,css="<br />
<br />
{{man tip| Report option string |The report option string should satisfy the following conditions:<br />It must not contain any spaces (due to the general nature of the command line interface). If some arguments need to include spaces, the string should be enclosed with quotation marks.<br />Option string must list pairs of option names and values. Within a pair, option name and value must be separated by the equal sign.<br />Different pairs must be separated by commas.}}<br />
<br />
Most of the report options are specific for every report. However, there are some common options.<br />
<br />
*<code>name=report_name</code>: This mandatory option determines which report will be generated. <br />
{{man note|Report names|If the supplied report_name does not correspond to any available report, an error message will be printed followed by this list of available reports.<br /><br />
<pre><br />
Available names are:<br />
ancestor_chart - Ancestor Tree<br />
ancestor_report - Ahnentafel Report<br />
birthday_report - Birthday and Anniversary Report<br />
calendar - Calendar<br />
descend_chart - Descendant Tree<br />
descend_report - Descendant Report<br />
det_ancestor_report - Detailed Ancestral Report<br />
det_descendant_report - Detailed Descendant Report<br />
endofline_report - End of Line Report<br />
family_descend_chart - Family Descendant Tree<br />
family_group - Family Group Report<br />
familylines_graph - Family Lines Graph<br />
fan_chart - Fan Chart<br />
hourglass_graph - Hourglass Graph<br />
indiv_complete - Complete Individual Report<br />
kinship_report - Kinship Report<br />
navwebpage - Narrated Web Site<br />
notelinkreport - Note Link Report<br />
number_of_ancestors - Number of Ancestors Report<br />
place_report - Place Report<br />
records - Records Report<br />
rel_graph - Relationship Graph<br />
statistics_chart - Statistics Charts<br />
summary - Database Summary Report<br />
tag_report - Tag Report<br />
timeline - Timeline Chart<br />
WebCal - Web Calendar<br />
</pre>}}<br />
*<code>of=</code>: output filename and optional destination folder/directory eg: <code>of="C:\Users\<username>\Desktop\FamilyTree.odt"</code><br />
*<code>off=</code>: output format. These are the extension an output format makes available, eg, pdf, html, doc, ...<br />
*<code>style=</code>: for text reports, the stylesheet to use. Defaults to 'default'.<br />
*<code>show=all</code>: This will produce the list of names for all options available for a given report.<br />
*<code>show=option_name</code>: This will print the description of the functionality supplied by the option_name, as well as what are the acceptable types and values for this option.<br />
<br />
So, to learn to use a report, do for example:<br />
gramps -O "Family Tree 1" -a report -p "name=family_group,show=all"<br />
<br />
{{man tip| Tip |If an option is not supplied, the last used value will be used. If this report has never been generated before, then the value from last generated report will be used when applicable. Otherwise, the default value will be used.}}<br />
<br />
When more than one output action is given, each has to be preceded by <code>-a</code> flag. The actions are performed one by one, in the specified order.<br />
<br />
{{man tip| lists |Some reports have options or arguments which are interpreted (by the report) to be on multiple lines. For instance some reports allow you to format how the information will be shown, perhaps with a name on one line and the person's birth date on the next line. Such multiple-line options or arguments are called "lists" by Gramps.}}<br />
<br />
On the command line such lists must always start with a left square bracket <code>[</code> and must always end with a right square bracket <code>]</code> but since such square brackets are usually "special" to the "shell" (they mean something to the command interpreter<br />
you are typing the command to), you must "escape" them so that they are ignored by your shell.<br />
<br />
The details vary with each shell but (in linux/UNIX) usually you can precede such a square bracket with a backslash <code>\</code> or put quotation marks around the square bracket, usually either "single" or "double" ones.<br />
<br />
The Hourglass Graph report allows you to put a "note" at the top of the report and such a "note" is an example of a "list" option. Here is an example:<br />
gramps -O "Family Tree 1" -a report -p name=hourglass_graph,note='[line one,line two]'<br />
which shows that inside such a list different lines are separated by commas, and that spaces are acceptable since the quotation marks are already there for the square brackets.<br />
<br />
But if you want to have a comma inside your report you have to somehow tell Gramps that comma is not one which separates lines. You do that by enclosing the line with the comma in quotation marks (either single or double).<br />
<br />
But if you are already using a set of quotation marks (to enclose your square brackets) you have to use the other type to enclose<br />
the line with your comma. Here is an example:<br />
gramps -O "Family Tree 1" -a report -p name=hourglass_graph,note="['line one, also line one','line two, also line two']"<br />
<br />
It is possible to include any character in a list but the details are beyond the scope of this command-line introduction to Gramps.<br />
<br />
You will need to know the precise methods available in your particular command shell interpreter to include a character which is "special" to your shell or "special" to Gramps (like the comma in the example above) but in general you will have to "escape" it twice, once to your shell and once again to Gramps, since you don't want your shell to think it is some instruction it should pay attention to and you don't want Gramps to think that either.<br />
<br />
==== tool action option ====<br />
You can run most tools from the command line using the 'tool' action.<br />
To see which ones, say:<br />
gramps -O "Family Tree 1" -a tool -p show=all<br />
To see a tool's available options, for instance the "verify" tool:<br />
gramps -O "Family Tree 1" -a tool -p name=verify,show=all<br />
To run a tool, for instance the "verify" tool:<br />
gramps -O "Family Tree 1" -a tool -p name=verify<br />
<br />
{{man note|Tool names|If the supplied tool_name does not correspond to any available tool, an error message will be printed followed by this list of available tools.<br /><br />
<pre><br />
Available names are:<br />
check - Check and Repair Database<br />
chtype - Rename Event Types<br />
dgenstats - Dump Gender Statistics<br />
evname - Extract Event Description<br />
rebuild - Rebuild Secondary Indexes<br />
rebuild_genstats - Rebuild Gender Statistics<br />
rebuild_refmap - Rebuild Reference Maps<br />
reorder_ids - Reorder Gramps IDs<br />
test_for_date_parser_and_displayer - Check Localized Date Displayer and Parser<br />
testcasegenerator - Generate Testcases for Persons and Families<br />
verify - Verify the Data<br />
</pre>}}<br />
<br />
==== book action option ====<br />
{{man note|New feature|Added in Gramps 5.0}}<br />
You can run books from the command line using the 'book' action.<br />
To see which ones, say:<br />
gramps -O "Family Tree 1" -a book<br />
To see a book's available options, for instance a book called "mybook":<br />
gramps -O "Family Tree 1" -a book -p name=mybook,show=all<br />
To run a book, for instance a book called "mybook":<br />
gramps -O "Family Tree 1" -a book -p name=mybook<br />
<br />
{{man note|Book names|If the supplied book_name does not correspond to any available Book, an error message will be printed followed by this list of available Books. eg: Example listing only as the Books will be whatever you have named them.<br /><br />
<pre><br />
Available names are:<br />
Granny Jones<br />
Grampa John<br />
Smith Family History<br />
</pre>}}<br />
<br />
=== Force unlock option ===<br />
<br />
*<code>-u</code>: you can extend the <code>-O</code> flag with <code>-u</code> to force a locked family to be unlocked. This allows you to recover from a crash that leaves the family tree (database) locked, from the command line.<br />
<br />
An example (to unlock the "Family Tree 1" database):<br />
:<code>gramps -O "Family Tree 1" -a report -u > /dev/null</code><br />
<br />
{{man note|Note|It is not possible to open family trees that need repair from the command line.}}<br />
<br />
See also:<br />
* [[Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees#Unlocking_a_Family_Tree|Manage Family Trees:Unlocking a Family Tree]]<br />
<br />
=== Configuration (config) option ===<br />
When all configuration variable(s) are set Gramps will start with these new values.<br />
<br />
These options can takes three forms:<br />
{{man note|Note|Except for examples <tt>1</tt> and <tt>3.2</tt>, All the following examples, use <code>behavior.database-path</code> as the configuration variable to change.}}<br />
<br />
;1) See all config values: <code>-s</code> or <code>--show</code><br />
<br>For example:<br />
gramps --show<br />
<pre><br />
Gramps config settings from /home/<~username>/.gramps/gramps50/gramps.ini:<br />
export.proxy-order=[['privacy', 0], ['living', 0], ['person', 0], ['note', 0], ['reference', 0]]<br />
<br />
database.compress-backup=True<br />
database.backend='bsddb'<br />
database.backup-path='/home/<~username>'<br />
database.port=''<br />
database.autobackup=0<br />
database.path='/home/<~username>/.gramps/grampsdb'<br />
database.host=''<br />
database.backup-on-exit=True<br />
<br />
geography.lock=False<br />
....<br />
</pre><br />
<br />
{{-}}<br />
<br />
;2) See a single config value: <code>--config=database.path</code> or <code>-c database.path</code><br />
<br>For example:<br />
gramps --config=database.path<br />
<pre><br />
Current Gramps config setting: database.path:'/home/<~username>/.gramps/grampsdb'<br />
</pre><br />
<br />
3) Set a value: <code>--config=behavior.database-path:'/media/mydb'</code> or <code>-c behavior.database-path:'/media/mydb'</code><br />
<br>For example:<br />
<br />
3.1) Set a value to its default: <code>--config=behavior.database-path:DEFAULT</code> or <code>-c behavior.database-path:DEFAULT</code><br />
<br>For example:<br />
<br />
3.2) Set more than one value: <code>--config=behavior.use-tips:False --config=behavior.autoload:True</code> or <code>-c behavior.use-tips:False -c behavior.autoload:True</code><br />
<br>For example:<br />
=== Safe mode ===<br />
<code>gramps -S</code> or <code>gramps --safe</code><br />
<br />
This CLI command starts Gramps as if it had never been installed before. In this mode, any previous family trees can still be loaded, as long as they were stored in the default folder. All other settings, filters, books, addons etc. are either cleared or returned to their default values. Other CLI commands can be used, or, if none, Gramps will start the GUI. Nothing except the actual family tree data is saved.<br />
<br />
Note that this is typically used to see if Gramps behaves better when it is running as if with a totally 'clean' install. It is NOT permanent (if you want that see [[#Defaults|Defaults]] below), if you start Gramps normally after using this command all of your previous settings etc. are still there.<br />
<br />
This actually works by setting the folder that Gramps uses to store its user data (except for family trees) to a temporary directory, which is deleted when Gramps closes.<br />
=== Defaults ===<br />
<code>gramps -D E</code> or <code>gramps --default=E</code><br />
<br />
This CLI command causes Gramps to clear out or return to defaults the desired settings. <br />
The family tree databases are NOT cleared out or removed. <br />
The sub-commands (replace the 'E' from the example command line above with one or more of <br />
the subcommand characters) are:<br />
<br />
*<code>A</code> Addons are cleared. Any installed addons are removed, along with their settings.<br />
*<code>F</code> Filters are cleared. Any custom filters are removed.<br />
*<code>P</code> Preferences are returned to their default values.<br />
*<code>X</code> Books are cleared, Reports and Tools settings are returned to their default values.<br />
*<code>Z</code> Old '.zip' files from family tree version upgrades are deleted.<br />
*<code>E</code> Everything except the actual family tree data is returned to default settings. This does all of the above as well as a few more items; deletes thumbnails, maps, and the user CSS (used in web reports).<br />
<br />
For example:<br />
gramps -D AP<br />
will cause Gramps to remove all the Addons and to reset Preferences to their default values.<br />
== Operation ==<br />
<br />
If the first argument on the command line does not start with a dash (i.e. no flag), Gramps will attempt to open the file with the name given by the first argument and start an interactive session, ignoring the rest of the command line arguments.<br />
<br />
If the <code>-O</code> flag is given, then Gramps will try opening the supplied file name and then work with that data, as instructed by the further command line parameters.<br />
<br />
{{man note|1=Note |2=Only one file can be opened in a single invocation of Gramps. If you need to get data from multiple sources, use the importing options by using <code>-i</code> flag.}}<br />
<br />
With or without the <code>-O</code> flag, there could be multiple imports, exports, and actions specified further on the command line by using <code>-i</code> , <code>-e</code> , and <code>-a</code> flags.<br />
<br />
The order of <code>-i</code> , <code>-e</code> , or <code>-a</code> options with respect to each does not matter. The actual execution order always is: all imports (if any) -> all exports (if any) -> all actions (if any).<br />
<br />
{{man note| Note |But opening must always be first!}}<br />
<br />
If no <code>-O</code> or <code>-i</code> option is given, Gramps will launch its main window and start the usual interactive session with the empty database, since there is no data to process, anyway. (Unless you have already expressed a "preference" that it start with the last database it used.)<br />
<br />
If no <code>-e</code> or <code>-a</code> options are given, Gramps will launch its main window and start the usual interactive session with the database resulted from opening and all imports (if any). This database resides in a directory under the ''<code>~/.gramps/grampsdb/</code>'' directory.<br />
<br />
Any errors encountered during import, export, or action, will be either dumped to stdout (if these are exceptions handled by Gramps) or to stderr (if these are not handled). Use usual shell redirections of stdout and stderr to save messages and errors in files.<br />
<br />
== Examples ==<br />
<br />
*To import four databases (whose formats can be determined from their names) and then check the resulting database for errors, one may type:<br />
<br />
:<code>gramps -i file1.ged -i file2.gpkg -i ~/db3.gramps -i file4.wft -a check</code><br />
<br />
*To explicitly specify the formats in the above example, append filenames with appropriate -f options:<br />
<br />
:<code>gramps -i file1.ged -f gedcom -i file2.gpkg -f gramps-pkg -i ~/db3.gramps -f gramps-xml -i file4.wft -f wft -a check</code><br />
<br />
*To record the database resulting from all imports, supply -e flag (use -f if the filename does not allow Gramps to guess the format):<br />
<br />
:<code>gramps -i file1.ged -i file2.gpkg -e ~/new-package -f gramps-pkg</code><br />
<br />
*To save any error messages of the above example into files outfile and errfile, run:<br />
<br />
:<code>gramps -i file1.ged -i file2.dpkg -e ~/new-package -f gramps-pkg >outfile 2>errfile </code><br />
<br />
*To import three databases and start interactive Gramps session with the result:<br />
<br />
:<code>gramps -i file1.ged -i file2.gpkg -i ~/db3.gramps </code><br />
<br />
*To open a database and, based on that data, generate timeline report in PDF format putting the output into the my_timeline.pdf file:<br />
<br />
:<code>gramps -O 'Family Tree 1' -a report -p name=timeline,off=pdf,of=my_timeline.pdf </code><br />
<br />
{{man tip|1=Listing report options |2=Use the <code>''name=timeline,show=all''</code> to find out about all available options for the timeline report. To find out details of a particular option, use <code>''show=option_name''</code> , e.g. <code>''name=timeline,show=off''</code> string. To learn about available report names, use <code>''name=show''</code> string.}}<br />
<br />
*To convert the bsddb database on the fly to a .gramps xml file:<br />
<br />
:<code>gramps -O 'Family Tree 1' -e output.gramps -f gramps-xml</code><br />
<br />
* To generate a web site into an other locale (in german):<br />
<br />
:<code>LANGUAGE=de_DE; LANG=de_DE.UTF-8 gramps -O 'Family Tree 1' -a report -p name=navwebpage,target=/../de </code><br />
<br />
*Finally, to start normal interactive session type:<br />
<br />
:<code>gramps</code><br />
<br />
== Environment variables==<br />
<br />
{{man warn|Warning|Gramps can take advantage of the following [[Gramps_and_Windows#Environmental_Variables|environment variables]]<br />('''Only change them if you know what are you doing.''')}}<br />
<br />
===GRAMPSHOME===<br />
* '''GRAMPSHOME''' - if set, [[Gramps_and_Windows#Setting_the_configuration_path|override default path]] to profile allowing user to use an external network drive to store data and all settings. For technically advanced users who run multiple versions of Gramps, setting a different $GRAMPSHOME is a way to avoid interference between the different versions in the Gramps user directory. It can also be used to configure Gramps to [[Run_Gramps_from_a_portable_drive|run from a portable drive]] or to prepare for a [[Installation|manual installation]]. The path can also be used to configure the path to a [[Gramps_for_Windows_with_MSYS2#Keep_your_GRAMPSHOME_separate|separate test Tree]] or [[Getting_started_with_Gramps_development|development Tree]].<br />
<br />
For example <pre>GRAMPSHOME=$HOME/familytrees/paternal</pre><br />
<br />
===LANG, LANGUAGE, LC_MESSAGE, LC_TIME ===<br />
* '''LANG''', '''LANGUAGE''', '''LC_MESSAGES''', and '''LC_TIME''' - are used by Gramps to determine which language file(s) should be loaded. See locale(1) for a general discussion of '''LANG''', '''LC_MESSAGES''', and '''LC_TIME'''. Note that in addition to setting date formats (which are overridden in Gramps with Preferences settings) '''LC_TIME''' also sets the language used for words in dates like month and day names and ''in the context of dates'' words like ''about'', ''between'', and ''before''. '''LANGUAGE''' is a comma-separated list of language codes (''not locales'', though certain languages like pt_BR or cn_TW are regional variants) that sets a preference-ordered list of desired translations. It will override '''LANG''' but not '''LC_MESSAGES''' or '''LC_TIME'''.<br />
<br />
{{man note|MacOSX|Because of the way launching with Finder works, the environment variables for the Gramps.app bundle are hard-coded in <code>Gramps.app/Contents/MacOS/Gramps</code>. If for some reason you need to change them, edit that file with TextEdit; be sure to save it back as plain text. See as well [[Run_GRAMPS_in_another_locale#Change_Mac_OS_X_application_defaults|setting locale]] for an alternative to using the '''LANG''' and '''LANGUAGE''' environment variables.}}<br />
<br />
===GRAMPSI18N===<br />
* [[Translating_Gramps#.24GRAMPSI18N_.28for_your_locale.29| $GRAMPSI18N (for your locale) ]] - The LANG assumes the Gramps translations are installed globally. If this is not the case, you need to [[Translating_Gramps#.24GRAMPSI18N_.28for_your_locale.29|give Gramps the directory]] where the translations will be found. This can be used to temporarily [[Howto:Change_the_language_of_reports|change the language for Reports]] being generated.<br />
<br />
A translation is called <code>gramps.mo</code>, you can find it in Linux with the locate command. For example, if you have Swedish in directory <code>/home/me/gramps/mo/sv/gramps.mo</code>, you can direct Gramps there using: <br />
GRAMPSI18N=/home/me/gramps/mo LC_ALL=C.UTF-8 LANG="sv" python3 gramps<br />
<br />
===GRAMPSDIR===<br />
* The environment variable GRAMPSDIR is the path to your [[Translating_Gramps#gramps.sh|Gramps directory]].<br />
<br />
===GRAMPS_RESOURCES===<br />
* The environment variable GRAMPS_RESOURCES is the path to Gramps builtin resources files. You should only change this if you are using Gramps from source code or a custom environment. An indicator that you need to set this variable is if you receive one of the following errors:<br />
** ''Encoding error while parsing resource path''<br />
** ''Failed to open resource file''<br />
** ''Resource Path {invalid/path/to/resources} is invalid''<br />
** ''Unable to determine resource path''<br />
<br />
Example [[Linux:Build_from_source#Running_from_a_tarball_release|usage]]:<br />
GRAMPS_RESOURCES=/home/benny/gramps/branches/maintenance/gramps50/build/lib.linux-x86_64-2.7/ PYTHONPATH=$GRAMPS_RESOURCES:$PYTHONPATH ./gramps<br />
<br />
{{-}}<br />
{{man index|Gramps 5.1 Wiki Manual - Keybindings|Gramps 5.1 Wiki Manual - User Directory|5.1}} <br />
{{languages|Gramps_5.1_Wiki_Manual_-_Command_Line}}<br />
{{grampsmanualcopyright}}<br />
<br />
[[Category:Documentation]]</div>Peterhewetthttps://blog.gramps-project.org/wiki/index.php?title=Talk:Download&diff=61495Talk:Download2016-05-04T20:03:42Z<p>Peterhewett: Request addition of a note about the readme file.</p>
<hr />
<div>==Dependencies and optional packages==<br />
Please can someone who has edit permissions on this page add a note about additional packages. These are mentioned in the readme file, and it would be helpful if this wiki page said this and where to find the readme (/usr/share/doc/gramps). There are some error messages that can crop up about missing packages, and it is not always obvious what should be done to fix these. One example is an error message that "Gramps detected an incomplete GTK installation" but with no info on how to fix this. The readme says to install language-pack-gnome-xx which fixes that error message. Thanks. --[[User:Peterhewett|Peterhewett]] ([[User talk:Peterhewett|talk]]) 13:03, 4 May 2016 (MST)</div>Peterhewetthttps://blog.gramps-project.org/wiki/index.php?title=User:Peterhewett&diff=60619User:Peterhewett2016-02-06T01:30:58Z<p>Peterhewett: </p>
<hr />
<div><br />
Gramps user since 2002.<br />
<br />
[[Category:User|P]]</div>Peterhewetthttps://blog.gramps-project.org/wiki/index.php?title=Linux:Build_from_source&diff=60618Linux:Build from source2016-02-06T01:27:36Z<p>Peterhewett: Tidy wording</p>
<hr />
<div>{{languages}}<br />
{{stub}}<br />
How to build Gramps from source on Linux. Building from source is appropriate for:<br />
* Developers who need to be able to modify the source and have those modifications take effect.<br />
* Packagers who need to be able to construct a package for installation by user.<br />
* Advanced or experienced users who might want to install a version of Gramps that differs from the version that comes with their distribution.<br />
<br />
To Build Gramps, the following considerations are important (though they do not necessarily need to be done in this sequence). They are covered below:<br />
# Decide where to build/install Gramps. If you already have a version of Gramps you need to decide whether you will install in the same place, overwriting the existing version, or install elsewhere.<br />
# Obtain the source. This might be a released source, or a development version. The released version may be a normal release, or an unstable alpha or beta release. The development version may be subject to continual change.<br />
# Install all dependencies.<br />
# Build and install Gramps.<br />
<br />
Installing dependencies and building Gramps are considered separately for [[Linux:Build_from_source#Install_dependencies_for_Gramps_3.4.x|Gramps 3.x]] and Gramps 4.0 - 4.1 and Gramps 4.2+<br />
<br />
== Decide where to install ==<br />
<br />
{{man warn|Note Backup your old Family Trees before removing the old version of Gramps|You should use your old Gramps version to export backup copies to GRAMPS XML before removing the old Gramps version.}}<br />
<br />
If you have an older version of the Gramps source code installed you need to make a decision what you want to do with it before installing a later version. If you wish to keep the old version, make sure that you read the instructions in the INSTALL file regarding the use of the --prefix option to specify where the new version gets installed.<br />
<br />
See [[Installation alternatives]].<br />
<br />
Should you just want to do a straightforward replacement instead, make sure that you remove the older version before you install the new version. '''Do not install over the top of the old version.''' As new versions of Gramps are developed, some functionality is occasionally rewritten in different ways. If you install over the top of an existing installation you run the risk that the old code left behind from the old version may be used instead of the new, sometimes with unintended consequences. <br />
<br />
If you installed from source, the best way of removing the old Gramps 3.x or earlier version is to run <code>make uninstall</code> as root '''from where you installed the old version'''. <br />
<br />
Or use your distribution's package manager to uninstall if your old Gramps version was installed as a package.<br />
<br />
= Gramps 4.2 =<br />
<br />
{{man menu|Gramps 4.2 and beyond only work with Python 3.2 or greater.}} This should be handled automatically if Gramps is installed from your distro's repository.<br />
<br />
The following packages are required, and should be installed automatically as dependencies with the Gramps package. (This list is for Gramps 4.2.0 on Kubuntu 15.10.)<br />
<br />
{|{{Prettytable}}<br />
|-<br />
!Debian /Ubuntu <br />
!Fedora /Redhat<br />
!Comment<br />
|-<br />
| gir1.2-atk-1.0<br />
| <br />
| <br />
|-<br />
| gir1.2-freedesktop<br />
| <br />
| <br />
|-<br />
| gir1.2-gdkpixbuf-2.0<br />
| <br />
| <br />
|-<br />
| gir1.2-gexiv2-0.10<br />
| <br />
| <br />
|-<br />
| gir1.2-gtk-3.0<br />
| <br />
| <br />
|-<br />
| gir1.2-osmgpsmap-1.0<br />
| <br />
| <br />
|-<br />
| gir1.2-pango-1.0<br />
|<br />
|<br />
|-<br />
| graphviz<br />
|<br />
|<br />
|-<br />
| libcdt5<br />
|<br />
|<br />
|-<br />
| libcgraph6<br />
|<br />
|<br />
|-<br />
| libgexiv2-2<br />
|<br />
|<br />
|-<br />
| libgcv6<br />
|<br />
|<br />
|-<br />
| libgvpr2<br />
|<br />
|<br />
|-<br />
| libosmgpsmap-1.0<br />
|<br />
|<br />
|-<br />
| libpathplan4<br />
|<br />
|<br />
|-<br />
| python3-bsddb3<br />
|<br />
|<br />
|-<br />
| python3-cairo<br />
|<br />
|<br />
|-<br />
| python3-gi-cairo<br />
|<br />
|<br />
|-<br />
| python3-icu<br />
|<br />
|<br />
|-<br />
| python3.5<br />
|<br />
|<br />
|-<br />
| python3.5-minimal<br />
|<br />
|<br />
|}<br />
<br />
With the standard dependencies, Gramps still gives some warnings about missing packages. The following packages address these warnings.<br />
<br />
{|{{Prettytable}}<br />
|-<br />
!Debian /Ubuntu <br />
!Fedora /Redhat<br />
!Comment<br />
|-<br />
| language-pack-gnome-en<br />
| <br />
| or the equivalent for your language and locale<br />
|-<br />
| gir1.2-goocanvas-2.0<br />
| <br />
| <br />
|-<br />
| python3-django<br />
| <br />
| <br />
|}<br />
<br />
= Gramps 4.0 to 4.1 =<br />
<br />
== Obtain the source ==<br />
There are two ways to get the source code: download a released version source, or clone the source from Git. <br />
<br />
{{man tip|Now is the time to read the [{{Code Base}}INSTALL INSTALL] and [{{Code Base}}README.md README] files accompanying the code.| They come with the most recent information.}}<br />
<br />
Details on each download method:<br />
<br />
=== Download a release ===<br />
<br />
* The latest stable version of Gramps can be downloaded from the [https://github.com/gramps-project/gramps/releases Gramps Github file Releases area]. Eg: gramps-{{version}}.tar.gz. Extract this file into a directory:<br />
<code><br />
tar xzvf gramps-zzz.tar.gz<br />
<br />
</code> and then go into this directory:<br />
<br />
<code><br />
cd gramps-zzz<br />
</code><br />
<br />
=== Download the source from Git ===<br />
<br />
* If you are interested in testing out the very latest development versions of Gramps, they can be obtained from Git, see [[Brief introduction to Git#Unstable_development|Brief introduction to Git]]. The Git versions of Gramps are potentially very dangerous as they have not been extensively tested - especially the master branch which contains features that may still be partly implemented. Be aware that they may be prone to crashing and cause extensive data loss. Please use with extreme caution - and only ever on a copy of your data!<br />
<br />
You can get the Gramps repository through Git. First, you need Git installed, eg on Debian based linux:<br />
<br />
sudo apt-get install git<br />
<br />
Then, clone the repository:<br />
<br />
git clone https://github.com/gramps-project/gramps.git Gramps<br />
<br />
A branch called ''master'' containing the latest development code will be created for you.<br />
<br />
To checkout a maintenance branch use:<br />
<br />
git checkout -b gramps42 origin/maintenance/gramps42<br />
<br />
{{man note|Note|replace 42 with the latest branch {{last_branch}} if required.}}<br />
<br />
== Install dependencies for Gramps 4.x ==<br />
<br />
For installation and build, see also;<br />
* [[GEPS_029:_GTK3-GObject_introspection_Conversion]] (discusses Ubuntu 12.10 and 12.04, LinuxMint 14 and Debian). This is particularly relevant for building components that are not provided by those distributions, and for GTK 3 themes.<br />
* [[GEPS_031:_Python_3_support]]<br />
* [[GEPS_026:_Replace_'make'_for_Gramps_build]]<br />
<br />
==== General requirements ====<br />
<br />
Gramps 4.0 to Gramp 4.1 requires python 2.7 or python 3.2 or greater.<br />
<br />
Also needed are GTK 3.0 or greater, pygobject 3.3.2 or greater, cairo, pango, pangocairo with introspection bindings (the gi packages), librsvg2 (svg icon view), xdg-utils. Furthermore, bsddb3 is required for Python 3.2 (not python 2.7).<br />
<br />
==== Linux package requirements ====<br />
The full list of requirements is given in the [https://github.com/gramps-project/gramps/blob/master/README.md README] file.<br />
<br />
Required<br />
<br />
{|{{Prettytable}}<br />
|-<br />
!Debian /Ubuntu <br />
!Fedora /Redhat<br />
!Comment<br />
|-<br />
| python<br />
| python <br />
| Required (needs version 2.7 or later or 3.2 or later)<br />
|-<br />
| python-gobject, python-gi<br />
| ?<br />
| Required (needs pygobject 3.3.2 or greater)<br />
|-<br />
| python-cairo python-gi-cairo<br />
| ?<br />
| Required<br />
|-<br />
| gir1.2-pango<br />
| ?<br />
| Required<br />
|-<br />
| gir1.2-gtk<br />
| ?<br />
| Required is GTK 3.6+<br />
|-<br />
| gir1.2-freedesktop<br />
| ?<br />
| Not clear why this is included in the full installation walkthrough<br />
|}<br />
<br />
Not mentioned in the full installation walkthrough<br />
<br />
{|{{Prettytable}}<br />
|-<br />
!Debian /Ubuntu <br />
!Fedora /Redhat<br />
!Comment<br />
|-<br />
| [http://docs.python.org/library/bsddb.html BSDDB]<br />
| [http://docs.python.org/library/bsddb.html BSDDB]<br />
| Current backend, <code>python3-bsddb3</code> for python 3!<br />
|-<br />
| xdg-utils<br />
| xdg-utils<br />
| Required for Gramps-3.1.x or later<br />
|-<br />
| libgtkspell-3-0 python-gtkspell<br />
| ?<br />
| Required spell checking (eg, with hunspell)<br />
|}<br />
<br />
Required for building<br />
<br />
{|{{Prettytable}}<br />
|-<br />
!Debian /Ubuntu <br />
!Fedora /Redhat<br />
!Comment<br />
|-<br />
| librsvg2-common<br />
| librsvg2<br />
| Required for building<br />
|-<br />
| python-dev libglib2.0-dev<br />
| glib2-devel<br />
| Required for building<br />
|-<br />
| python-gobject-dev libgirepository1.0-dev<br />
| ?<br />
|<br />
|-<br />
| libcairo2-dev python-cairo-dev<br />
| ?<br />
|<br />
|-<br />
|<br />
| librsvg2-devel<br />
| Required for building<br />
|-<br />
| [https://launchpad.net/intltool intltool]<br />
| intltool<br />
| Required for building ( Internationalization Tool Collection - Utility scripts for internationalizing XML.)<br />
|-<br />
|<br />
| gcc make gettext<br />
| Required for building<br />
|}<br />
<br />
Strongly recommended<br />
<br />
{|{{Prettytable}}<br />
|-<br />
!Debian /Ubuntu <br />
!Fedora /Redhat<br />
!Comment<br />
|-<br />
| 'Not available'<br />
| 'Not available'<br />
| osmgpsmap. Required for the Geography views. Needs patches that are not available in the official version. Needs to be built from source. See [[GEPS_029:_GTK3-GObject_introspection_Conversion#OsmGpsMap_for_Geography| compile and install OsmGpsMap]]<br />
|-<br />
| graphviz<br />
| graphviz graphviz-python<br />
| Required for some reports and views<br />
|-<br />
| python-pyicu<br />
| ?<br />
| Required for correct sorting<br />
|}<br />
<br />
Optional<br />
<br />
{|{{Prettytable}}<br />
|-<br />
!Debian /Ubuntu <br />
!Fedora /Redhat<br />
!Comment<br />
|-<br />
| 'Not available'<br />
| 'Not available'<br />
| gtkspell. Suggested for running (spell check). Needs to be build from source. See [[GEPS_029:_GTK3-GObject_introspection_Conversion#Spell_Check_Install |install spell check]]<br />
|-<br />
| rcs<br />
| rcs<br />
| Suggested for running<br />
|-<br />
| Python Image Library<br />
| ?<br />
| ?<br />
|-<br />
| gir1.2-gexiv2-0.4<br />
| 'Not available'<br />
| Required for the Metadata Viewer gramplet<br />
|-<br />
| ttf-treefont<br />
| ?<br />
| ?<br />
|-<br />
| python-webkit python-gtkmozembed<br />
| WebKitgtk pywebkitgtk<br />
| Required for the HTML view<br />
|-<br />
| python-pygoocanvas gir1.2-goocanvas-2.0-9<br />
| goocanvas pygoocanvas<br />
| Required for [[Graph View]]<br />
|-<br />
| python3-django<br />
| Django<br />
| Required for http://gramps-connect.org [[Gramps-Connect: Introduction|Gramps-Connect]]<br />
|-<br />
| gtk2-engines-pixbuf<br />
| <br />
| Solves issue with 'Unable to locate theme engine in module_path: "pixmap"'<br />
|}<br />
<br />
Under Redhat/Fedora you can install all of the above with:<br />
<br />
<pre><br />
sudo yum install python pygtk2 xdg-utils rcs gnome-python2-gtkspell librsvg2 \<br />
librsvg2-devel intltool gnome-doc-utils gcc automake autoconf autogen \<br />
gettext WebKitgtk pywebkitgtk goocanvas pygoocanvas graphviz graphviz-python \<br />
Django pyexiv2 inkscape ImageMagick<br />
</pre><br />
<br />
Under Debian/Ubuntu you can install all of the above with:<br />
<br />
<pre><br />
sudo apt-get install python python-gobject python-gi python-cairo python-gi-cairo \<br />
gir1.2-pango gir1.2-gtk xdg-utils libgtkspell3-3-0 python-gtkspell \<br />
librsvg2-common python-dev libglib2.0-dev python-gobject-dev libgirepository1.0-dev \<br />
libcairo2-dev python-cairo-dev intltool graphviz python-pyicu \<br />
rcs ttf-freefont python-webkit python-pygoocanvas gir1.2-goocanvas-2.0-9 \<br />
gtk2-engines-pixbuf<br />
</pre><br />
<br />
Local installation without root privileges is possible, instructions are available on the INSTALL file.<br />
<br />
== Build, Install and Run Gramps 4.0 to Gramps 4.1 ==<br />
<br />
python setup.py build<br />
<br />
The way you run Gramps depends on whether you downloaded a release or downloaded from the Git repository.<br />
<br />
==== Running from a tarball release ====<br />
<br />
See [http://gramps.1791082.n4.nabble.com/No-joy-building-Gramps-4-0-1-from-source-tp4661381p4661443.html]<br />
<br />
With a tarball, gramps should be run from the build directory, or from installed version (which can be installed locally).<br />
<br />
python setup.py build<br />
<br />
go to where the scripts are installed:<br />
* For python 2 look in: <code>cd build/scripts-2.7</code><br />
* For python 3 look in: <code>cd build/scripts-3.4</code> ({{man menu|Note the number 3.4 depends on your version of python and in most cases where you see the number 2.7 replace it with your version number in the example commands below}})<br />
<br />
in build GRAMPS_RESOURCES must also be set to actually run it:<br />
<br />
GRAMPS_RESOURCES=/home/benny/gramps/branches/maintenance/gramps{{last_branch}}/build/lib.linux-x86_64-2.7/<br />
PYTHONPATH=$GRAMPS_RESOURCES:$PYTHONPATH ./gramps<br />
<br />
I dislike that GRAMPS_RESOURCES must be set from build, it would be nice if that would not be needed from the build directory, but ok, build is just an in between stage.<br />
<br />
Running from build is only to try out before a real install, and that works, eg install to a test directory (or to a directory you have chosen following [http://www.gramps-project.org/wiki/index.php?title=Linux:Build_from_source#Decide_where_to_install decide where to install]<br />
<br />
python setup.py install --root ~/gramps/test<br />
cd ~/gramps/test/usr/local/bin<br />
<br />
as this is a test dir, PYTHONPATH must be set to point to the locally installed gramps package :<br />
<br />
PYTHONPATH=~/gramps/test/usr/local/lib/python2.7/dist-packages/:$PYTHONPATH ./gramps<br />
<br />
==== Running from a Git repository ==== <br />
<br />
Gramps.py is only for those that check out the code repository. Gramps.py is a fake file to allow developers to run code from the source dir, not what the user should be using.<br />
<br />
If you now run<br />
* <code>python Gramps.py -v</code><br />
or<br />
* <code>python3 Gramps.py -v</code><br />
<br />
Gramps will show the version information summary and if all required packages are found, if not install the missing requirements.<br />
<br />
Then you can start Gramps locally with the command<br />
* <code>python Gramps.py</code><br />
or<br />
* <code>python3 Gramps.py</code><br />
<br />
== Full install walkthrough Gramps 4 Ubuntu derivatives ==<br />
<br />
Following walkthrough was done on a clean install of Kubuntu 13.04 which did have the GTK applications firefox, inkscape and gimp installed. Equivalent steps should be done on other platforms.<br />
<br />
sudo apt-get install git<br />
git clone http://git.code.sf.net/p/gramps/source Gramps<br />
cd Gramps<br />
git checkout -b gramps{{last_branch}} origin/maintenance/gramps{{last_branch}}<br />
sudo apt-get install intltool<br />
python setup.py build<br />
sudo apt-get install python-gobject python-gi python-cairo python-gi-cairo<br />
sudo apt-get install gir1.2-freedesktop gir1.2-pango<br />
sudo apt-get install gir1.2-gtk<br />
sudo apt-get install gir1.2-gexiv2-0.4<br />
<br />
If you now run<br />
python Gramps.py -v<br />
you should see all required packages are found. You can now start Gramps locally with the command<br />
<br />
python Gramps.py <br />
<br />
To install optional components, do the following:<br />
<br />
sudo apt-get install python-pyicu graphviz rcs gir1.2-webkit-3<br />
<br />
This gives all the easy optional functionality in Gramps. The rest is not yet present in Ubuntu 13.04, so if you want them, you need to compile them<br />
<br />
'''spell checking'''<br />
Remove first present version, check that this command does not remove programs you use!<br />
sudo apt-get remove libgtkspell-3-0 python-gtkspellcheck<br />
<br />
Now we obtain the code to build this package<br />
sudo apt-get install mercurial<br />
hg clone http://hg.code.sf.net/p/gtkspell/code gtkspell-code<br />
cd gtkspell-code<br />
sudo apt-get install build-essential<br />
sudo apt-get install libgirepository1.0-dev<br />
sudo apt-get install valac libgtk-3-dev<br />
aclocal ; autoheader; automake ; autoconf<br />
./autogen.sh<br />
make<br />
sudo make install<br />
sudo cp /usr/local/lib/girepository-1.0/GtkSpell-3.0.typelib /usr/lib/girepository-1.0/<br />
sudo cp /usr/local/lib/libgtkspell3-3.* /usr/lib/<br />
<br />
'''osmgpsmap'''<br />
The geography view needs patches which are not included yet in the official version. <br />
sudo apt-get install git<br />
git clone git://github.com/nzjrs/osm-gps-map.git<br />
cd osm-gps-map<br />
sudo apt-get install libsoup2.4-dev gnome-common gtk-doc-tools<br />
./autogen.sh --prefix /usr<br />
make<br />
sudo make install<br />
<br />
'''gexiv2'''<br />
Minimally version 0.5 is needed. Ubuntu 13.10 contains version 0.6.1 in the gir1.2-gexiv2-0.4 package. If you have an older version, remove it and install from source using the following instructions:<br />
<br />
Obtain it from [http://www.yorba.org/download/gexiv2/], I downloaded 0.6.1, and extracted it in directory ''libgexiv2-0.6.1''. To install this<br />
<br />
cd libgexiv2-0.6.1<br />
sudo apt-get install exiv2 libexiv2-dev<br />
./configure --enable-introspection --prefix=/usr<br />
make<br />
sudo make install<br />
<br />
'''run Gramps'''<br />
You can now use gramps from the source directory with <br />
python Gramps.py<br />
<br />
You could install Gramps, but you better wait for a packages distributed from [http://sourceforge.net/projects/gramps/files/] and install those via your package manager<br />
<br />
'''look and feel'''<br />
Normally, Gramps does not look that nicely when not used on Gnome desktop. To remedy this, install a theme switcher. You can edit configuration files if you don't like to install these dependencies, see eg [https://wiki.archlinux.org/index.php/GTK%2B#GTK.2B_3.x]<br />
<br />
sudo apt-get install gnome-tweak-tool<br />
<br />
You can search on gtk 3 themes in your package manager and install one that you like. For example, install clearlooks:<br />
sudo apt-get install clearlooks-phenix-theme<br />
then use the gnome-tweak-tool to switch to that. For KDE you need to go also to Settings->Appearance->GTK and set the GTK 3 theme there to the one you installed.<br />
<br />
==== Full install walk-through Windows ====<br />
The native windows support for Gramps 4.x takes a bit more effort. You can follow the walk-through for<br />
* [[Run Gramps40 for Windows from source using Python 2.7.3]]<br />
* Run Gramps40 for Windows from source using Python 3.4 ('''Not available, but you should be able to follow the instructions for the Python 2.7.3 version and modify accordingly''') <br />
<br />
An alternative on windows is to install [https://www.virtualbox.org/ virtualbox] and then install K/X/Ubuntu as indicated above, which will give you Linux in windows.<br />
<br />
= Gramps 3.4.x =<br />
== Install dependencies for Gramps 3.4.x ==<br />
<br />
==== General requirements ====<br />
<br />
Gramps 3.x requires python 2.6 or greater, pygtk 2.16 or greater and librsvg2<br />
<br />
==== Linux package requirements ====<br />
{|{{Prettytable}}<br />
|-<br />
!Debian /Ubuntu <br />
!Fedora /Redhat<br />
!Comment<br />
|-<br />
|python<br />
|python <br />
|Required (needs version 2.6 or later)<br />
|-<br />
|python-gtk2<br />
|pygtk2<br />
|Required (needs 2.16 or greater)<br />
|-<br />
|[http://docs.python.org/library/bsddb.html BSDDB]<br />
|[http://docs.python.org/library/bsddb.html BSDDB]<br />
|Current backend<br />
|-<br />
|librsvg2-common<br />
|librsvg2<br />
|Required for building<br />
|-<br />
|libglib2.0-dev<br />
|glib2-devel<br />
|Required for building<br />
|-<br />
|<br />
|librsvg2-devel<br />
|Required for building<br />
|-<br />
|intltool<br />
|intltool<br />
|Required for building<br />
|-<br />
|<br />
|gcc make gettext<br />
|Required for building<br />
|-<br />
|<br />
|-<br />
|xdg-utils<br />
|xdg-utils<br />
|Required for Gramps-3.1.x or later<br />
|-<br />
|rcs<br />
|rcs<br />
|Suggested for running<br />
|-<br />
|python-gtkspell<br />
|gnome-python2-gtkspell<br />
|Suggested for running (spell check). eg, via hunspell. Included in the python-gnome2-extras package in older Debian distributions.<br />
|-<br />
| python-webkit<br />
| WebKitgtk pywebkitgtk<br />
| Required for the HTML view<br />
|-<br />
| python-pygoocanvas<br />
| goocanvas pygoocanvas<br />
| Required for [[Graph View]]<br />
|-<br />
| graphviz<br />
| graphviz graphviz-python<br />
| Required for some reports and views<br />
|-<br />
|<br />
| Django<br />
| Required for http://gramps-connect.org [[Gramps-Connect: Introduction|Gramps-Connect]]<br />
|-<br />
| python-pyexiv2<br />
| pyexiv2<br />
| Required for the Metadata Viewer and Edit Exif Metadata gramplets<br />
|-<br />
| libosmgpsmap-dev python-osmgpsmap<br />
| osm-gps-map<br />
| Required for the Geography views<br />
|-<br />
| gtk2-engines-pixbuf<br />
| <br />
| Solves issue with 'Unable to locate theme engine in module_path: "pixmap"'<br />
|}<br />
<br />
Under Redhat/Fedora you can install all of the above with:<br />
<br />
<pre><br />
sudo yum install python pygtk2 xdg-utils rcs gnome-python2-gtkspell librsvg2 \<br />
librsvg2-devel intltool gnome-doc-utils gcc automake autoconf autogen \<br />
gettext WebKitgtk pywebkitgtk goocanvas pygoocanvas graphviz graphviz-python \ <br />
Django pyexiv2 ImageMagick<br />
</pre><br />
<br />
Under Debian/Ubuntu you can install all of the above with:<br />
<br />
<pre><br />
sudo apt-get install python python-gtk2 librsvg2-common libglib2.0-dev \<br />
intltool xdg-utils rcs python-gtkspell \<br />
python-webkit python-pygoocanvas graphviz python-pyexiv2 \<br />
libosmgpsmap-dev python-osmgpsmap gtk2-engines-pixbuf<br />
</pre><br />
<br />
== Build, Install and Run Gramps 3.4.x ==<br />
<br />
Gramps provides a script that can be used to prepare the code for building. This script automatically calls the standard configure script:<br />
<br />
<code><br />
./autogen.sh</code> # as regular user<br />
<br />
This script will report any missing dependencies. Install these (see also INSTALL file). Building from source code typically requires that the development versions of the required libraries be installed. You might consider setting a prefix path with autogen.sh, see the INSTALL file for instructions. Standard install is in /usr/local.<br />
<br />
Once a successful run of autogen.sh has been completed, you can run the typical make procedure.<br />
<br />
<code><br />
make</code> # as regular user<br />
<br />
then <br />
<br />
<code><br />
make install</code> # as root<br />
<br />
Local installation without root privileges is possible, instructions are available on the INSTALL file, most importantly one needs to supply a <code>--prefix=</code> and a <code>--with-mime-dir=</code> argument to <code>autogen.sh</code>.<br />
<br />
Starting Gramps - ??<br />
<br />
= See also =<br />
* [[Gramps_4.2_Wiki_Manual_-_Command_Line#GRAMPSHOME |$GRAMPSHOME]]<br />
* [[Translating_Gramps#.24GRAMPSI18N_.28for_your_locale.29| $GRAMPSI18N (for your locale) ]]<br />
* [[Installation_alternatives]]<br />
* [[Translating_Gramps#Installing_your_translation|Installing your translation (Gramps 3.x and earlier)]] or [[Translation_environment4|Gramps 4.x and later]]<br />
* [[Howto:Change_the_language_of_reports#Run_Gramps_in_a_different_language|Howto:Change the language of reports - Run Gramps in a different language]]<br />
* [[Fedora rpm]]<br />
<br />
[[Category:Documentation]]<br />
[[Category:Developers/Installation]]<br />
[[Category:Developers/Packaging]]</div>Peterhewetthttps://blog.gramps-project.org/wiki/index.php?title=Linux:Build_from_source&diff=60617Linux:Build from source2016-02-06T01:24:20Z<p>Peterhewett: add optional packages for 4.2.0</p>
<hr />
<div>{{languages}}<br />
{{stub}}<br />
How to build Gramps from source on Linux. Building from source is appropriate for:<br />
* Developers who need to be able to modify the source and have those modifications take effect.<br />
* Packagers who need to be able to construct a package for installation by user.<br />
* Advanced or experienced users who might want to install a version of Gramps that differs from the version that comes with their distribution.<br />
<br />
To Build Gramps, the following considerations are important (though they do not necessarily need to be done in this sequence). They are covered below:<br />
# Decide where to build/install Gramps. If you already have a version of Gramps you need to decide whether you will install in the same place, overwriting the existing version, or install elsewhere.<br />
# Obtain the source. This might be a released source, or a development version. The released version may be a normal release, or an unstable alpha or beta release. The development version may be subject to continual change.<br />
# Install all dependencies.<br />
# Build and install Gramps.<br />
<br />
Installing dependencies and building Gramps are considered separately for [[Linux:Build_from_source#Install_dependencies_for_Gramps_3.4.x|Gramps 3.x]] and Gramps 4.0 - 4.1 and Gramps 4.2+<br />
<br />
== Decide where to install ==<br />
<br />
{{man warn|Note Backup your old Family Trees before removing the old version of Gramps|You should use your old Gramps version to export backup copies to GRAMPS XML before removing the old Gramps version.}}<br />
<br />
If you have an older version of the Gramps source code installed you need to make a decision what you want to do with it before installing a later version. If you wish to keep the old version, make sure that you read the instructions in the INSTALL file regarding the use of the --prefix option to specify where the new version gets installed.<br />
<br />
See [[Installation alternatives]].<br />
<br />
Should you just want to do a straightforward replacement instead, make sure that you remove the older version before you install the new version. '''Do not install over the top of the old version.''' As new versions of Gramps are developed, some functionality is occasionally rewritten in different ways. If you install over the top of an existing installation you run the risk that the old code left behind from the old version may be used instead of the new, sometimes with unintended consequences. <br />
<br />
If you installed from source, the best way of removing the old Gramps 3.x or earlier version is to run <code>make uninstall</code> as root '''from where you installed the old version'''. <br />
<br />
Or use your distribution's package manager to uninstall if your old Gramps version was installed as a package.<br />
<br />
= Gramps 4.2 =<br />
<br />
{{man menu|Gramps 4.2 and beyond only work with Python 3.2 or greater.}}<br />
<br />
Required, installed as dependencies with the gramps package. This list is for Gramps 4.2.0 on Kubuntu 15.10.<br />
<br />
{|{{Prettytable}}<br />
|-<br />
!Debian /Ubuntu <br />
!Fedora /Redhat<br />
!Comment<br />
|-<br />
| gir1.2-atk-1.0<br />
| <br />
| <br />
|-<br />
| gir1.2-freedesktop<br />
| <br />
| <br />
|-<br />
| gir1.2-gdkpixbuf-2.0<br />
| <br />
| <br />
|-<br />
| gir1.2-gexiv2-0.10<br />
| <br />
| <br />
|-<br />
| gir1.2-gtk-3.0<br />
| <br />
| <br />
|-<br />
| gir1.2-osmgpsmap-1.0<br />
| <br />
| <br />
|-<br />
| gir1.2-pango-1.0<br />
|<br />
|<br />
|-<br />
| graphviz<br />
|<br />
|<br />
|-<br />
| libcdt5<br />
|<br />
|<br />
|-<br />
| libcgraph6<br />
|<br />
|<br />
|-<br />
| libgexiv2-2<br />
|<br />
|<br />
|-<br />
| libgcv6<br />
|<br />
|<br />
|-<br />
| libgvpr2<br />
|<br />
|<br />
|-<br />
| libosmgpsmap-1.0<br />
|<br />
|<br />
|-<br />
| libpathplan4<br />
|<br />
|<br />
|-<br />
| python3-bsddb3<br />
|<br />
|<br />
|-<br />
| python3-cairo<br />
|<br />
|<br />
|-<br />
| python3-gi-cairo<br />
|<br />
|<br />
|-<br />
| python3-icu<br />
|<br />
|<br />
|-<br />
| python3.5<br />
|<br />
|<br />
|-<br />
| python3.5-minimal<br />
|<br />
|<br />
|}<br />
<br />
With the standard dependencies, Gramps gives some warnings about missing packages. <br />
<br />
{|{{Prettytable}}<br />
|-<br />
!Debian /Ubuntu <br />
!Fedora /Redhat<br />
!Comment<br />
|-<br />
| language-pack-gnome-en<br />
| <br />
| or the equivalent for your language and locale<br />
|-<br />
| gir1.2-goocanvas-2.0<br />
| <br />
| <br />
|-<br />
| python3-django<br />
| <br />
| <br />
|}<br />
<br />
= Gramps 4.0 to 4.1 =<br />
<br />
== Obtain the source ==<br />
There are two ways to get the source code: download a released version source, or clone the source from Git. <br />
<br />
{{man tip|Now is the time to read the [{{Code Base}}INSTALL INSTALL] and [{{Code Base}}README.md README] files accompanying the code.| They come with the most recent information.}}<br />
<br />
Details on each download method:<br />
<br />
=== Download a release ===<br />
<br />
* The latest stable version of Gramps can be downloaded from the [https://github.com/gramps-project/gramps/releases Gramps Github file Releases area]. Eg: gramps-{{version}}.tar.gz. Extract this file into a directory:<br />
<code><br />
tar xzvf gramps-zzz.tar.gz<br />
<br />
</code> and then go into this directory:<br />
<br />
<code><br />
cd gramps-zzz<br />
</code><br />
<br />
=== Download the source from Git ===<br />
<br />
* If you are interested in testing out the very latest development versions of Gramps, they can be obtained from Git, see [[Brief introduction to Git#Unstable_development|Brief introduction to Git]]. The Git versions of Gramps are potentially very dangerous as they have not been extensively tested - especially the master branch which contains features that may still be partly implemented. Be aware that they may be prone to crashing and cause extensive data loss. Please use with extreme caution - and only ever on a copy of your data!<br />
<br />
You can get the Gramps repository through Git. First, you need Git installed, eg on Debian based linux:<br />
<br />
sudo apt-get install git<br />
<br />
Then, clone the repository:<br />
<br />
git clone https://github.com/gramps-project/gramps.git Gramps<br />
<br />
A branch called ''master'' containing the latest development code will be created for you.<br />
<br />
To checkout a maintenance branch use:<br />
<br />
git checkout -b gramps42 origin/maintenance/gramps42<br />
<br />
{{man note|Note|replace 42 with the latest branch {{last_branch}} if required.}}<br />
<br />
== Install dependencies for Gramps 4.x ==<br />
<br />
For installation and build, see also;<br />
* [[GEPS_029:_GTK3-GObject_introspection_Conversion]] (discusses Ubuntu 12.10 and 12.04, LinuxMint 14 and Debian). This is particularly relevant for building components that are not provided by those distributions, and for GTK 3 themes.<br />
* [[GEPS_031:_Python_3_support]]<br />
* [[GEPS_026:_Replace_'make'_for_Gramps_build]]<br />
<br />
==== General requirements ====<br />
<br />
Gramps 4.0 to Gramp 4.1 requires python 2.7 or python 3.2 or greater.<br />
<br />
Also needed are GTK 3.0 or greater, pygobject 3.3.2 or greater, cairo, pango, pangocairo with introspection bindings (the gi packages), librsvg2 (svg icon view), xdg-utils. Furthermore, bsddb3 is required for Python 3.2 (not python 2.7).<br />
<br />
==== Linux package requirements ====<br />
The full list of requirements is given in the [https://github.com/gramps-project/gramps/blob/master/README.md README] file.<br />
<br />
Required<br />
<br />
{|{{Prettytable}}<br />
|-<br />
!Debian /Ubuntu <br />
!Fedora /Redhat<br />
!Comment<br />
|-<br />
| python<br />
| python <br />
| Required (needs version 2.7 or later or 3.2 or later)<br />
|-<br />
| python-gobject, python-gi<br />
| ?<br />
| Required (needs pygobject 3.3.2 or greater)<br />
|-<br />
| python-cairo python-gi-cairo<br />
| ?<br />
| Required<br />
|-<br />
| gir1.2-pango<br />
| ?<br />
| Required<br />
|-<br />
| gir1.2-gtk<br />
| ?<br />
| Required is GTK 3.6+<br />
|-<br />
| gir1.2-freedesktop<br />
| ?<br />
| Not clear why this is included in the full installation walkthrough<br />
|}<br />
<br />
Not mentioned in the full installation walkthrough<br />
<br />
{|{{Prettytable}}<br />
|-<br />
!Debian /Ubuntu <br />
!Fedora /Redhat<br />
!Comment<br />
|-<br />
| [http://docs.python.org/library/bsddb.html BSDDB]<br />
| [http://docs.python.org/library/bsddb.html BSDDB]<br />
| Current backend, <code>python3-bsddb3</code> for python 3!<br />
|-<br />
| xdg-utils<br />
| xdg-utils<br />
| Required for Gramps-3.1.x or later<br />
|-<br />
| libgtkspell-3-0 python-gtkspell<br />
| ?<br />
| Required spell checking (eg, with hunspell)<br />
|}<br />
<br />
Required for building<br />
<br />
{|{{Prettytable}}<br />
|-<br />
!Debian /Ubuntu <br />
!Fedora /Redhat<br />
!Comment<br />
|-<br />
| librsvg2-common<br />
| librsvg2<br />
| Required for building<br />
|-<br />
| python-dev libglib2.0-dev<br />
| glib2-devel<br />
| Required for building<br />
|-<br />
| python-gobject-dev libgirepository1.0-dev<br />
| ?<br />
|<br />
|-<br />
| libcairo2-dev python-cairo-dev<br />
| ?<br />
|<br />
|-<br />
|<br />
| librsvg2-devel<br />
| Required for building<br />
|-<br />
| [https://launchpad.net/intltool intltool]<br />
| intltool<br />
| Required for building ( Internationalization Tool Collection - Utility scripts for internationalizing XML.)<br />
|-<br />
|<br />
| gcc make gettext<br />
| Required for building<br />
|}<br />
<br />
Strongly recommended<br />
<br />
{|{{Prettytable}}<br />
|-<br />
!Debian /Ubuntu <br />
!Fedora /Redhat<br />
!Comment<br />
|-<br />
| 'Not available'<br />
| 'Not available'<br />
| osmgpsmap. Required for the Geography views. Needs patches that are not available in the official version. Needs to be built from source. See [[GEPS_029:_GTK3-GObject_introspection_Conversion#OsmGpsMap_for_Geography| compile and install OsmGpsMap]]<br />
|-<br />
| graphviz<br />
| graphviz graphviz-python<br />
| Required for some reports and views<br />
|-<br />
| python-pyicu<br />
| ?<br />
| Required for correct sorting<br />
|}<br />
<br />
Optional<br />
<br />
{|{{Prettytable}}<br />
|-<br />
!Debian /Ubuntu <br />
!Fedora /Redhat<br />
!Comment<br />
|-<br />
| 'Not available'<br />
| 'Not available'<br />
| gtkspell. Suggested for running (spell check). Needs to be build from source. See [[GEPS_029:_GTK3-GObject_introspection_Conversion#Spell_Check_Install |install spell check]]<br />
|-<br />
| rcs<br />
| rcs<br />
| Suggested for running<br />
|-<br />
| Python Image Library<br />
| ?<br />
| ?<br />
|-<br />
| gir1.2-gexiv2-0.4<br />
| 'Not available'<br />
| Required for the Metadata Viewer gramplet<br />
|-<br />
| ttf-treefont<br />
| ?<br />
| ?<br />
|-<br />
| python-webkit python-gtkmozembed<br />
| WebKitgtk pywebkitgtk<br />
| Required for the HTML view<br />
|-<br />
| python-pygoocanvas gir1.2-goocanvas-2.0-9<br />
| goocanvas pygoocanvas<br />
| Required for [[Graph View]]<br />
|-<br />
| python3-django<br />
| Django<br />
| Required for http://gramps-connect.org [[Gramps-Connect: Introduction|Gramps-Connect]]<br />
|-<br />
| gtk2-engines-pixbuf<br />
| <br />
| Solves issue with 'Unable to locate theme engine in module_path: "pixmap"'<br />
|}<br />
<br />
Under Redhat/Fedora you can install all of the above with:<br />
<br />
<pre><br />
sudo yum install python pygtk2 xdg-utils rcs gnome-python2-gtkspell librsvg2 \<br />
librsvg2-devel intltool gnome-doc-utils gcc automake autoconf autogen \<br />
gettext WebKitgtk pywebkitgtk goocanvas pygoocanvas graphviz graphviz-python \<br />
Django pyexiv2 inkscape ImageMagick<br />
</pre><br />
<br />
Under Debian/Ubuntu you can install all of the above with:<br />
<br />
<pre><br />
sudo apt-get install python python-gobject python-gi python-cairo python-gi-cairo \<br />
gir1.2-pango gir1.2-gtk xdg-utils libgtkspell3-3-0 python-gtkspell \<br />
librsvg2-common python-dev libglib2.0-dev python-gobject-dev libgirepository1.0-dev \<br />
libcairo2-dev python-cairo-dev intltool graphviz python-pyicu \<br />
rcs ttf-freefont python-webkit python-pygoocanvas gir1.2-goocanvas-2.0-9 \<br />
gtk2-engines-pixbuf<br />
</pre><br />
<br />
Local installation without root privileges is possible, instructions are available on the INSTALL file.<br />
<br />
== Build, Install and Run Gramps 4.0 to Gramps 4.1 ==<br />
<br />
python setup.py build<br />
<br />
The way you run Gramps depends on whether you downloaded a release or downloaded from the Git repository.<br />
<br />
==== Running from a tarball release ====<br />
<br />
See [http://gramps.1791082.n4.nabble.com/No-joy-building-Gramps-4-0-1-from-source-tp4661381p4661443.html]<br />
<br />
With a tarball, gramps should be run from the build directory, or from installed version (which can be installed locally).<br />
<br />
python setup.py build<br />
<br />
go to where the scripts are installed:<br />
* For python 2 look in: <code>cd build/scripts-2.7</code><br />
* For python 3 look in: <code>cd build/scripts-3.4</code> ({{man menu|Note the number 3.4 depends on your version of python and in most cases where you see the number 2.7 replace it with your version number in the example commands below}})<br />
<br />
in build GRAMPS_RESOURCES must also be set to actually run it:<br />
<br />
GRAMPS_RESOURCES=/home/benny/gramps/branches/maintenance/gramps{{last_branch}}/build/lib.linux-x86_64-2.7/<br />
PYTHONPATH=$GRAMPS_RESOURCES:$PYTHONPATH ./gramps<br />
<br />
I dislike that GRAMPS_RESOURCES must be set from build, it would be nice if that would not be needed from the build directory, but ok, build is just an in between stage.<br />
<br />
Running from build is only to try out before a real install, and that works, eg install to a test directory (or to a directory you have chosen following [http://www.gramps-project.org/wiki/index.php?title=Linux:Build_from_source#Decide_where_to_install decide where to install]<br />
<br />
python setup.py install --root ~/gramps/test<br />
cd ~/gramps/test/usr/local/bin<br />
<br />
as this is a test dir, PYTHONPATH must be set to point to the locally installed gramps package :<br />
<br />
PYTHONPATH=~/gramps/test/usr/local/lib/python2.7/dist-packages/:$PYTHONPATH ./gramps<br />
<br />
==== Running from a Git repository ==== <br />
<br />
Gramps.py is only for those that check out the code repository. Gramps.py is a fake file to allow developers to run code from the source dir, not what the user should be using.<br />
<br />
If you now run<br />
* <code>python Gramps.py -v</code><br />
or<br />
* <code>python3 Gramps.py -v</code><br />
<br />
Gramps will show the version information summary and if all required packages are found, if not install the missing requirements.<br />
<br />
Then you can start Gramps locally with the command<br />
* <code>python Gramps.py</code><br />
or<br />
* <code>python3 Gramps.py</code><br />
<br />
== Full install walkthrough Gramps 4 Ubuntu derivatives ==<br />
<br />
Following walkthrough was done on a clean install of Kubuntu 13.04 which did have the GTK applications firefox, inkscape and gimp installed. Equivalent steps should be done on other platforms.<br />
<br />
sudo apt-get install git<br />
git clone http://git.code.sf.net/p/gramps/source Gramps<br />
cd Gramps<br />
git checkout -b gramps{{last_branch}} origin/maintenance/gramps{{last_branch}}<br />
sudo apt-get install intltool<br />
python setup.py build<br />
sudo apt-get install python-gobject python-gi python-cairo python-gi-cairo<br />
sudo apt-get install gir1.2-freedesktop gir1.2-pango<br />
sudo apt-get install gir1.2-gtk<br />
sudo apt-get install gir1.2-gexiv2-0.4<br />
<br />
If you now run<br />
python Gramps.py -v<br />
you should see all required packages are found. You can now start Gramps locally with the command<br />
<br />
python Gramps.py <br />
<br />
To install optional components, do the following:<br />
<br />
sudo apt-get install python-pyicu graphviz rcs gir1.2-webkit-3<br />
<br />
This gives all the easy optional functionality in Gramps. The rest is not yet present in Ubuntu 13.04, so if you want them, you need to compile them<br />
<br />
'''spell checking'''<br />
Remove first present version, check that this command does not remove programs you use!<br />
sudo apt-get remove libgtkspell-3-0 python-gtkspellcheck<br />
<br />
Now we obtain the code to build this package<br />
sudo apt-get install mercurial<br />
hg clone http://hg.code.sf.net/p/gtkspell/code gtkspell-code<br />
cd gtkspell-code<br />
sudo apt-get install build-essential<br />
sudo apt-get install libgirepository1.0-dev<br />
sudo apt-get install valac libgtk-3-dev<br />
aclocal ; autoheader; automake ; autoconf<br />
./autogen.sh<br />
make<br />
sudo make install<br />
sudo cp /usr/local/lib/girepository-1.0/GtkSpell-3.0.typelib /usr/lib/girepository-1.0/<br />
sudo cp /usr/local/lib/libgtkspell3-3.* /usr/lib/<br />
<br />
'''osmgpsmap'''<br />
The geography view needs patches which are not included yet in the official version. <br />
sudo apt-get install git<br />
git clone git://github.com/nzjrs/osm-gps-map.git<br />
cd osm-gps-map<br />
sudo apt-get install libsoup2.4-dev gnome-common gtk-doc-tools<br />
./autogen.sh --prefix /usr<br />
make<br />
sudo make install<br />
<br />
'''gexiv2'''<br />
Minimally version 0.5 is needed. Ubuntu 13.10 contains version 0.6.1 in the gir1.2-gexiv2-0.4 package. If you have an older version, remove it and install from source using the following instructions:<br />
<br />
Obtain it from [http://www.yorba.org/download/gexiv2/], I downloaded 0.6.1, and extracted it in directory ''libgexiv2-0.6.1''. To install this<br />
<br />
cd libgexiv2-0.6.1<br />
sudo apt-get install exiv2 libexiv2-dev<br />
./configure --enable-introspection --prefix=/usr<br />
make<br />
sudo make install<br />
<br />
'''run Gramps'''<br />
You can now use gramps from the source directory with <br />
python Gramps.py<br />
<br />
You could install Gramps, but you better wait for a packages distributed from [http://sourceforge.net/projects/gramps/files/] and install those via your package manager<br />
<br />
'''look and feel'''<br />
Normally, Gramps does not look that nicely when not used on Gnome desktop. To remedy this, install a theme switcher. You can edit configuration files if you don't like to install these dependencies, see eg [https://wiki.archlinux.org/index.php/GTK%2B#GTK.2B_3.x]<br />
<br />
sudo apt-get install gnome-tweak-tool<br />
<br />
You can search on gtk 3 themes in your package manager and install one that you like. For example, install clearlooks:<br />
sudo apt-get install clearlooks-phenix-theme<br />
then use the gnome-tweak-tool to switch to that. For KDE you need to go also to Settings->Appearance->GTK and set the GTK 3 theme there to the one you installed.<br />
<br />
==== Full install walk-through Windows ====<br />
The native windows support for Gramps 4.x takes a bit more effort. You can follow the walk-through for<br />
* [[Run Gramps40 for Windows from source using Python 2.7.3]]<br />
* Run Gramps40 for Windows from source using Python 3.4 ('''Not available, but you should be able to follow the instructions for the Python 2.7.3 version and modify accordingly''') <br />
<br />
An alternative on windows is to install [https://www.virtualbox.org/ virtualbox] and then install K/X/Ubuntu as indicated above, which will give you Linux in windows.<br />
<br />
= Gramps 3.4.x =<br />
== Install dependencies for Gramps 3.4.x ==<br />
<br />
==== General requirements ====<br />
<br />
Gramps 3.x requires python 2.6 or greater, pygtk 2.16 or greater and librsvg2<br />
<br />
==== Linux package requirements ====<br />
{|{{Prettytable}}<br />
|-<br />
!Debian /Ubuntu <br />
!Fedora /Redhat<br />
!Comment<br />
|-<br />
|python<br />
|python <br />
|Required (needs version 2.6 or later)<br />
|-<br />
|python-gtk2<br />
|pygtk2<br />
|Required (needs 2.16 or greater)<br />
|-<br />
|[http://docs.python.org/library/bsddb.html BSDDB]<br />
|[http://docs.python.org/library/bsddb.html BSDDB]<br />
|Current backend<br />
|-<br />
|librsvg2-common<br />
|librsvg2<br />
|Required for building<br />
|-<br />
|libglib2.0-dev<br />
|glib2-devel<br />
|Required for building<br />
|-<br />
|<br />
|librsvg2-devel<br />
|Required for building<br />
|-<br />
|intltool<br />
|intltool<br />
|Required for building<br />
|-<br />
|<br />
|gcc make gettext<br />
|Required for building<br />
|-<br />
|<br />
|-<br />
|xdg-utils<br />
|xdg-utils<br />
|Required for Gramps-3.1.x or later<br />
|-<br />
|rcs<br />
|rcs<br />
|Suggested for running<br />
|-<br />
|python-gtkspell<br />
|gnome-python2-gtkspell<br />
|Suggested for running (spell check). eg, via hunspell. Included in the python-gnome2-extras package in older Debian distributions.<br />
|-<br />
| python-webkit<br />
| WebKitgtk pywebkitgtk<br />
| Required for the HTML view<br />
|-<br />
| python-pygoocanvas<br />
| goocanvas pygoocanvas<br />
| Required for [[Graph View]]<br />
|-<br />
| graphviz<br />
| graphviz graphviz-python<br />
| Required for some reports and views<br />
|-<br />
|<br />
| Django<br />
| Required for http://gramps-connect.org [[Gramps-Connect: Introduction|Gramps-Connect]]<br />
|-<br />
| python-pyexiv2<br />
| pyexiv2<br />
| Required for the Metadata Viewer and Edit Exif Metadata gramplets<br />
|-<br />
| libosmgpsmap-dev python-osmgpsmap<br />
| osm-gps-map<br />
| Required for the Geography views<br />
|-<br />
| gtk2-engines-pixbuf<br />
| <br />
| Solves issue with 'Unable to locate theme engine in module_path: "pixmap"'<br />
|}<br />
<br />
Under Redhat/Fedora you can install all of the above with:<br />
<br />
<pre><br />
sudo yum install python pygtk2 xdg-utils rcs gnome-python2-gtkspell librsvg2 \<br />
librsvg2-devel intltool gnome-doc-utils gcc automake autoconf autogen \<br />
gettext WebKitgtk pywebkitgtk goocanvas pygoocanvas graphviz graphviz-python \ <br />
Django pyexiv2 ImageMagick<br />
</pre><br />
<br />
Under Debian/Ubuntu you can install all of the above with:<br />
<br />
<pre><br />
sudo apt-get install python python-gtk2 librsvg2-common libglib2.0-dev \<br />
intltool xdg-utils rcs python-gtkspell \<br />
python-webkit python-pygoocanvas graphviz python-pyexiv2 \<br />
libosmgpsmap-dev python-osmgpsmap gtk2-engines-pixbuf<br />
</pre><br />
<br />
== Build, Install and Run Gramps 3.4.x ==<br />
<br />
Gramps provides a script that can be used to prepare the code for building. This script automatically calls the standard configure script:<br />
<br />
<code><br />
./autogen.sh</code> # as regular user<br />
<br />
This script will report any missing dependencies. Install these (see also INSTALL file). Building from source code typically requires that the development versions of the required libraries be installed. You might consider setting a prefix path with autogen.sh, see the INSTALL file for instructions. Standard install is in /usr/local.<br />
<br />
Once a successful run of autogen.sh has been completed, you can run the typical make procedure.<br />
<br />
<code><br />
make</code> # as regular user<br />
<br />
then <br />
<br />
<code><br />
make install</code> # as root<br />
<br />
Local installation without root privileges is possible, instructions are available on the INSTALL file, most importantly one needs to supply a <code>--prefix=</code> and a <code>--with-mime-dir=</code> argument to <code>autogen.sh</code>.<br />
<br />
Starting Gramps - ??<br />
<br />
= See also =<br />
* [[Gramps_4.2_Wiki_Manual_-_Command_Line#GRAMPSHOME |$GRAMPSHOME]]<br />
* [[Translating_Gramps#.24GRAMPSI18N_.28for_your_locale.29| $GRAMPSI18N (for your locale) ]]<br />
* [[Installation_alternatives]]<br />
* [[Translating_Gramps#Installing_your_translation|Installing your translation (Gramps 3.x and earlier)]] or [[Translation_environment4|Gramps 4.x and later]]<br />
* [[Howto:Change_the_language_of_reports#Run_Gramps_in_a_different_language|Howto:Change the language of reports - Run Gramps in a different language]]<br />
* [[Fedora rpm]]<br />
<br />
[[Category:Documentation]]<br />
[[Category:Developers/Installation]]<br />
[[Category:Developers/Packaging]]</div>Peterhewetthttps://blog.gramps-project.org/wiki/index.php?title=Linux:Build_from_source&diff=60616Linux:Build from source2016-02-06T01:19:30Z<p>Peterhewett: add packages for gramps 4.2.0 on Ubuntu</p>
<hr />
<div>{{languages}}<br />
{{stub}}<br />
How to build Gramps from source on Linux. Building from source is appropriate for:<br />
* Developers who need to be able to modify the source and have those modifications take effect.<br />
* Packagers who need to be able to construct a package for installation by user.<br />
* Advanced or experienced users who might want to install a version of Gramps that differs from the version that comes with their distribution.<br />
<br />
To Build Gramps, the following considerations are important (though they do not necessarily need to be done in this sequence). They are covered below:<br />
# Decide where to build/install Gramps. If you already have a version of Gramps you need to decide whether you will install in the same place, overwriting the existing version, or install elsewhere.<br />
# Obtain the source. This might be a released source, or a development version. The released version may be a normal release, or an unstable alpha or beta release. The development version may be subject to continual change.<br />
# Install all dependencies.<br />
# Build and install Gramps.<br />
<br />
Installing dependencies and building Gramps are considered separately for [[Linux:Build_from_source#Install_dependencies_for_Gramps_3.4.x|Gramps 3.x]] and Gramps 4.0 - 4.1 and Gramps 4.2+<br />
<br />
== Decide where to install ==<br />
<br />
{{man warn|Note Backup your old Family Trees before removing the old version of Gramps|You should use your old Gramps version to export backup copies to GRAMPS XML before removing the old Gramps version.}}<br />
<br />
If you have an older version of the Gramps source code installed you need to make a decision what you want to do with it before installing a later version. If you wish to keep the old version, make sure that you read the instructions in the INSTALL file regarding the use of the --prefix option to specify where the new version gets installed.<br />
<br />
See [[Installation alternatives]].<br />
<br />
Should you just want to do a straightforward replacement instead, make sure that you remove the older version before you install the new version. '''Do not install over the top of the old version.''' As new versions of Gramps are developed, some functionality is occasionally rewritten in different ways. If you install over the top of an existing installation you run the risk that the old code left behind from the old version may be used instead of the new, sometimes with unintended consequences. <br />
<br />
If you installed from source, the best way of removing the old Gramps 3.x or earlier version is to run <code>make uninstall</code> as root '''from where you installed the old version'''. <br />
<br />
Or use your distribution's package manager to uninstall if your old Gramps version was installed as a package.<br />
<br />
= Gramps 4.2 =<br />
<br />
{{man menu|Gramps 4.2 and beyond only work with Python 3.2 or greater.}}<br />
<br />
Required, installed as dependencies with the gramps package<br />
<br />
{|{{Prettytable}}<br />
|-<br />
!Debian /Ubuntu <br />
!Fedora /Redhat<br />
!Comment<br />
|-<br />
| gir1.2-atk-1.0<br />
| <br />
| <br />
|-<br />
| gir1.2-freedesktop<br />
| <br />
| <br />
|-<br />
| gir1.2-gdkpixbuf-2.0<br />
| <br />
| <br />
|-<br />
| gir1.2-gexiv2-0.10<br />
| <br />
| <br />
|-<br />
| gir1.2-gtk-3.0<br />
| <br />
| <br />
|-<br />
| gir1.2-osmgpsmap-1.0<br />
| <br />
| <br />
|-<br />
| gir1.2-pango-1.0<br />
|<br />
|<br />
|-<br />
| graphviz<br />
|<br />
|<br />
|-<br />
| libcdt5<br />
|<br />
|<br />
|-<br />
| libcgraph6<br />
|<br />
|<br />
|-<br />
| libgexiv2-2<br />
|<br />
|<br />
|-<br />
| libgcv6<br />
|<br />
|<br />
|-<br />
| libgvpr2<br />
|<br />
|<br />
|-<br />
| libosmgpsmap-1.0<br />
|<br />
|<br />
|-<br />
| libpathplan4<br />
|<br />
|<br />
|-<br />
| python3-bsddb3<br />
|<br />
|<br />
|-<br />
| python3-cairo<br />
|<br />
|<br />
|-<br />
| python3-gi-cairo<br />
|<br />
|<br />
|-<br />
| python3-icu<br />
|<br />
|<br />
|-<br />
| python3.5<br />
|<br />
|<br />
|-<br />
| python3.5-minimal<br />
|<br />
|<br />
|}<br />
<br />
<br />
<br />
= Gramps 4.0 to 4.1 =<br />
<br />
== Obtain the source ==<br />
<br />
There are two ways to get the source code: download a released version source, or clone the source from Git. <br />
<br />
{{man tip|Now is the time to read the [{{Code Base}}INSTALL INSTALL] and [{{Code Base}}README.md README] files accompanying the code.| They come with the most recent information.}}<br />
<br />
Details on each download method:<br />
<br />
=== Download a release ===<br />
<br />
* The latest stable version of Gramps can be downloaded from the [https://github.com/gramps-project/gramps/releases Gramps Github file Releases area]. Eg: gramps-{{version}}.tar.gz. Extract this file into a directory:<br />
<code><br />
tar xzvf gramps-zzz.tar.gz<br />
<br />
</code> and then go into this directory:<br />
<br />
<code><br />
cd gramps-zzz<br />
</code><br />
<br />
=== Download the source from Git ===<br />
<br />
* If you are interested in testing out the very latest development versions of Gramps, they can be obtained from Git, see [[Brief introduction to Git#Unstable_development|Brief introduction to Git]]. The Git versions of Gramps are potentially very dangerous as they have not been extensively tested - especially the master branch which contains features that may still be partly implemented. Be aware that they may be prone to crashing and cause extensive data loss. Please use with extreme caution - and only ever on a copy of your data!<br />
<br />
You can get the Gramps repository through Git. First, you need Git installed, eg on Debian based linux:<br />
<br />
sudo apt-get install git<br />
<br />
Then, clone the repository:<br />
<br />
git clone https://github.com/gramps-project/gramps.git Gramps<br />
<br />
A branch called ''master'' containing the latest development code will be created for you.<br />
<br />
To checkout a maintenance branch use:<br />
<br />
git checkout -b gramps42 origin/maintenance/gramps42<br />
<br />
{{man note|Note|replace 42 with the latest branch {{last_branch}} if required.}}<br />
<br />
== Install dependencies for Gramps 4.x ==<br />
<br />
For installation and build, see also;<br />
* [[GEPS_029:_GTK3-GObject_introspection_Conversion]] (discusses Ubuntu 12.10 and 12.04, LinuxMint 14 and Debian). This is particularly relevant for building components that are not provided by those distributions, and for GTK 3 themes.<br />
* [[GEPS_031:_Python_3_support]]<br />
* [[GEPS_026:_Replace_'make'_for_Gramps_build]]<br />
<br />
==== General requirements ====<br />
<br />
Gramps 4.0 to Gramp 4.1 requires python 2.7 or python 3.2 or greater.<br />
<br />
Also needed are GTK 3.0 or greater, pygobject 3.3.2 or greater, cairo, pango, pangocairo with introspection bindings (the gi packages), librsvg2 (svg icon view), xdg-utils. Furthermore, bsddb3 is required for Python 3.2 (not python 2.7).<br />
<br />
==== Linux package requirements ====<br />
The full list of requirements is given in the [https://github.com/gramps-project/gramps/blob/master/README.md README] file.<br />
<br />
Required<br />
<br />
{|{{Prettytable}}<br />
|-<br />
!Debian /Ubuntu <br />
!Fedora /Redhat<br />
!Comment<br />
|-<br />
| python<br />
| python <br />
| Required (needs version 2.7 or later or 3.2 or later)<br />
|-<br />
| python-gobject, python-gi<br />
| ?<br />
| Required (needs pygobject 3.3.2 or greater)<br />
|-<br />
| python-cairo python-gi-cairo<br />
| ?<br />
| Required<br />
|-<br />
| gir1.2-pango<br />
| ?<br />
| Required<br />
|-<br />
| gir1.2-gtk<br />
| ?<br />
| Required is GTK 3.6+<br />
|-<br />
| gir1.2-freedesktop<br />
| ?<br />
| Not clear why this is included in the full installation walkthrough<br />
|}<br />
<br />
Not mentioned in the full installation walkthrough<br />
<br />
{|{{Prettytable}}<br />
|-<br />
!Debian /Ubuntu <br />
!Fedora /Redhat<br />
!Comment<br />
|-<br />
| [http://docs.python.org/library/bsddb.html BSDDB]<br />
| [http://docs.python.org/library/bsddb.html BSDDB]<br />
| Current backend, <code>python3-bsddb3</code> for python 3!<br />
|-<br />
| xdg-utils<br />
| xdg-utils<br />
| Required for Gramps-3.1.x or later<br />
|-<br />
| libgtkspell-3-0 python-gtkspell<br />
| ?<br />
| Required spell checking (eg, with hunspell)<br />
|}<br />
<br />
Required for building<br />
<br />
{|{{Prettytable}}<br />
|-<br />
!Debian /Ubuntu <br />
!Fedora /Redhat<br />
!Comment<br />
|-<br />
| librsvg2-common<br />
| librsvg2<br />
| Required for building<br />
|-<br />
| python-dev libglib2.0-dev<br />
| glib2-devel<br />
| Required for building<br />
|-<br />
| python-gobject-dev libgirepository1.0-dev<br />
| ?<br />
|<br />
|-<br />
| libcairo2-dev python-cairo-dev<br />
| ?<br />
|<br />
|-<br />
|<br />
| librsvg2-devel<br />
| Required for building<br />
|-<br />
| [https://launchpad.net/intltool intltool]<br />
| intltool<br />
| Required for building ( Internationalization Tool Collection - Utility scripts for internationalizing XML.)<br />
|-<br />
|<br />
| gcc make gettext<br />
| Required for building<br />
|}<br />
<br />
Strongly recommended<br />
<br />
{|{{Prettytable}}<br />
|-<br />
!Debian /Ubuntu <br />
!Fedora /Redhat<br />
!Comment<br />
|-<br />
| 'Not available'<br />
| 'Not available'<br />
| osmgpsmap. Required for the Geography views. Needs patches that are not available in the official version. Needs to be built from source. See [[GEPS_029:_GTK3-GObject_introspection_Conversion#OsmGpsMap_for_Geography| compile and install OsmGpsMap]]<br />
|-<br />
| graphviz<br />
| graphviz graphviz-python<br />
| Required for some reports and views<br />
|-<br />
| python-pyicu<br />
| ?<br />
| Required for correct sorting<br />
|}<br />
<br />
Optional<br />
<br />
{|{{Prettytable}}<br />
|-<br />
!Debian /Ubuntu <br />
!Fedora /Redhat<br />
!Comment<br />
|-<br />
| 'Not available'<br />
| 'Not available'<br />
| gtkspell. Suggested for running (spell check). Needs to be build from source. See [[GEPS_029:_GTK3-GObject_introspection_Conversion#Spell_Check_Install |install spell check]]<br />
|-<br />
| rcs<br />
| rcs<br />
| Suggested for running<br />
|-<br />
| Python Image Library<br />
| ?<br />
| ?<br />
|-<br />
| gir1.2-gexiv2-0.4<br />
| 'Not available'<br />
| Required for the Metadata Viewer gramplet<br />
|-<br />
| ttf-treefont<br />
| ?<br />
| ?<br />
|-<br />
| python-webkit python-gtkmozembed<br />
| WebKitgtk pywebkitgtk<br />
| Required for the HTML view<br />
|-<br />
| python-pygoocanvas gir1.2-goocanvas-2.0-9<br />
| goocanvas pygoocanvas<br />
| Required for [[Graph View]]<br />
|-<br />
| python3-django<br />
| Django<br />
| Required for http://gramps-connect.org [[Gramps-Connect: Introduction|Gramps-Connect]]<br />
|-<br />
| gtk2-engines-pixbuf<br />
| <br />
| Solves issue with 'Unable to locate theme engine in module_path: "pixmap"'<br />
|}<br />
<br />
Under Redhat/Fedora you can install all of the above with:<br />
<br />
<pre><br />
sudo yum install python pygtk2 xdg-utils rcs gnome-python2-gtkspell librsvg2 \<br />
librsvg2-devel intltool gnome-doc-utils gcc automake autoconf autogen \<br />
gettext WebKitgtk pywebkitgtk goocanvas pygoocanvas graphviz graphviz-python \<br />
Django pyexiv2 inkscape ImageMagick<br />
</pre><br />
<br />
Under Debian/Ubuntu you can install all of the above with:<br />
<br />
<pre><br />
sudo apt-get install python python-gobject python-gi python-cairo python-gi-cairo \<br />
gir1.2-pango gir1.2-gtk xdg-utils libgtkspell3-3-0 python-gtkspell \<br />
librsvg2-common python-dev libglib2.0-dev python-gobject-dev libgirepository1.0-dev \<br />
libcairo2-dev python-cairo-dev intltool graphviz python-pyicu \<br />
rcs ttf-freefont python-webkit python-pygoocanvas gir1.2-goocanvas-2.0-9 \<br />
gtk2-engines-pixbuf<br />
</pre><br />
<br />
Local installation without root privileges is possible, instructions are available on the INSTALL file.<br />
<br />
== Build, Install and Run Gramps 4.0 to Gramps 4.1 ==<br />
<br />
python setup.py build<br />
<br />
The way you run Gramps depends on whether you downloaded a release or downloaded from the Git repository.<br />
<br />
==== Running from a tarball release ====<br />
<br />
See [http://gramps.1791082.n4.nabble.com/No-joy-building-Gramps-4-0-1-from-source-tp4661381p4661443.html]<br />
<br />
With a tarball, gramps should be run from the build directory, or from installed version (which can be installed locally).<br />
<br />
python setup.py build<br />
<br />
go to where the scripts are installed:<br />
* For python 2 look in: <code>cd build/scripts-2.7</code><br />
* For python 3 look in: <code>cd build/scripts-3.4</code> ({{man menu|Note the number 3.4 depends on your version of python and in most cases where you see the number 2.7 replace it with your version number in the example commands below}})<br />
<br />
in build GRAMPS_RESOURCES must also be set to actually run it:<br />
<br />
GRAMPS_RESOURCES=/home/benny/gramps/branches/maintenance/gramps{{last_branch}}/build/lib.linux-x86_64-2.7/<br />
PYTHONPATH=$GRAMPS_RESOURCES:$PYTHONPATH ./gramps<br />
<br />
I dislike that GRAMPS_RESOURCES must be set from build, it would be nice if that would not be needed from the build directory, but ok, build is just an in between stage.<br />
<br />
Running from build is only to try out before a real install, and that works, eg install to a test directory (or to a directory you have chosen following [http://www.gramps-project.org/wiki/index.php?title=Linux:Build_from_source#Decide_where_to_install decide where to install]<br />
<br />
python setup.py install --root ~/gramps/test<br />
cd ~/gramps/test/usr/local/bin<br />
<br />
as this is a test dir, PYTHONPATH must be set to point to the locally installed gramps package :<br />
<br />
PYTHONPATH=~/gramps/test/usr/local/lib/python2.7/dist-packages/:$PYTHONPATH ./gramps<br />
<br />
==== Running from a Git repository ==== <br />
<br />
Gramps.py is only for those that check out the code repository. Gramps.py is a fake file to allow developers to run code from the source dir, not what the user should be using.<br />
<br />
If you now run<br />
* <code>python Gramps.py -v</code><br />
or<br />
* <code>python3 Gramps.py -v</code><br />
<br />
Gramps will show the version information summary and if all required packages are found, if not install the missing requirements.<br />
<br />
Then you can start Gramps locally with the command<br />
* <code>python Gramps.py</code><br />
or<br />
* <code>python3 Gramps.py</code><br />
<br />
== Full install walkthrough Gramps 4 Ubuntu derivatives ==<br />
<br />
Following walkthrough was done on a clean install of Kubuntu 13.04 which did have the GTK applications firefox, inkscape and gimp installed. Equivalent steps should be done on other platforms.<br />
<br />
sudo apt-get install git<br />
git clone http://git.code.sf.net/p/gramps/source Gramps<br />
cd Gramps<br />
git checkout -b gramps{{last_branch}} origin/maintenance/gramps{{last_branch}}<br />
sudo apt-get install intltool<br />
python setup.py build<br />
sudo apt-get install python-gobject python-gi python-cairo python-gi-cairo<br />
sudo apt-get install gir1.2-freedesktop gir1.2-pango<br />
sudo apt-get install gir1.2-gtk<br />
sudo apt-get install gir1.2-gexiv2-0.4<br />
<br />
If you now run<br />
python Gramps.py -v<br />
you should see all required packages are found. You can now start Gramps locally with the command<br />
<br />
python Gramps.py <br />
<br />
To install optional components, do the following:<br />
<br />
sudo apt-get install python-pyicu graphviz rcs gir1.2-webkit-3<br />
<br />
This gives all the easy optional functionality in Gramps. The rest is not yet present in Ubuntu 13.04, so if you want them, you need to compile them<br />
<br />
'''spell checking'''<br />
Remove first present version, check that this command does not remove programs you use!<br />
sudo apt-get remove libgtkspell-3-0 python-gtkspellcheck<br />
<br />
Now we obtain the code to build this package<br />
sudo apt-get install mercurial<br />
hg clone http://hg.code.sf.net/p/gtkspell/code gtkspell-code<br />
cd gtkspell-code<br />
sudo apt-get install build-essential<br />
sudo apt-get install libgirepository1.0-dev<br />
sudo apt-get install valac libgtk-3-dev<br />
aclocal ; autoheader; automake ; autoconf<br />
./autogen.sh<br />
make<br />
sudo make install<br />
sudo cp /usr/local/lib/girepository-1.0/GtkSpell-3.0.typelib /usr/lib/girepository-1.0/<br />
sudo cp /usr/local/lib/libgtkspell3-3.* /usr/lib/<br />
<br />
'''osmgpsmap'''<br />
The geography view needs patches which are not included yet in the official version. <br />
sudo apt-get install git<br />
git clone git://github.com/nzjrs/osm-gps-map.git<br />
cd osm-gps-map<br />
sudo apt-get install libsoup2.4-dev gnome-common gtk-doc-tools<br />
./autogen.sh --prefix /usr<br />
make<br />
sudo make install<br />
<br />
'''gexiv2'''<br />
Minimally version 0.5 is needed. Ubuntu 13.10 contains version 0.6.1 in the gir1.2-gexiv2-0.4 package. If you have an older version, remove it and install from source using the following instructions:<br />
<br />
Obtain it from [http://www.yorba.org/download/gexiv2/], I downloaded 0.6.1, and extracted it in directory ''libgexiv2-0.6.1''. To install this<br />
<br />
cd libgexiv2-0.6.1<br />
sudo apt-get install exiv2 libexiv2-dev<br />
./configure --enable-introspection --prefix=/usr<br />
make<br />
sudo make install<br />
<br />
'''run Gramps'''<br />
You can now use gramps from the source directory with <br />
python Gramps.py<br />
<br />
You could install Gramps, but you better wait for a packages distributed from [http://sourceforge.net/projects/gramps/files/] and install those via your package manager<br />
<br />
'''look and feel'''<br />
Normally, Gramps does not look that nicely when not used on Gnome desktop. To remedy this, install a theme switcher. You can edit configuration files if you don't like to install these dependencies, see eg [https://wiki.archlinux.org/index.php/GTK%2B#GTK.2B_3.x]<br />
<br />
sudo apt-get install gnome-tweak-tool<br />
<br />
You can search on gtk 3 themes in your package manager and install one that you like. For example, install clearlooks:<br />
sudo apt-get install clearlooks-phenix-theme<br />
then use the gnome-tweak-tool to switch to that. For KDE you need to go also to Settings->Appearance->GTK and set the GTK 3 theme there to the one you installed.<br />
<br />
==== Full install walk-through Windows ====<br />
The native windows support for Gramps 4.x takes a bit more effort. You can follow the walk-through for<br />
* [[Run Gramps40 for Windows from source using Python 2.7.3]]<br />
* Run Gramps40 for Windows from source using Python 3.4 ('''Not available, but you should be able to follow the instructions for the Python 2.7.3 version and modify accordingly''') <br />
<br />
An alternative on windows is to install [https://www.virtualbox.org/ virtualbox] and then install K/X/Ubuntu as indicated above, which will give you Linux in windows.<br />
<br />
= Gramps 3.4.x =<br />
== Install dependencies for Gramps 3.4.x ==<br />
<br />
==== General requirements ====<br />
<br />
Gramps 3.x requires python 2.6 or greater, pygtk 2.16 or greater and librsvg2<br />
<br />
==== Linux package requirements ====<br />
{|{{Prettytable}}<br />
|-<br />
!Debian /Ubuntu <br />
!Fedora /Redhat<br />
!Comment<br />
|-<br />
|python<br />
|python <br />
|Required (needs version 2.6 or later)<br />
|-<br />
|python-gtk2<br />
|pygtk2<br />
|Required (needs 2.16 or greater)<br />
|-<br />
|[http://docs.python.org/library/bsddb.html BSDDB]<br />
|[http://docs.python.org/library/bsddb.html BSDDB]<br />
|Current backend<br />
|-<br />
|librsvg2-common<br />
|librsvg2<br />
|Required for building<br />
|-<br />
|libglib2.0-dev<br />
|glib2-devel<br />
|Required for building<br />
|-<br />
|<br />
|librsvg2-devel<br />
|Required for building<br />
|-<br />
|intltool<br />
|intltool<br />
|Required for building<br />
|-<br />
|<br />
|gcc make gettext<br />
|Required for building<br />
|-<br />
|<br />
|-<br />
|xdg-utils<br />
|xdg-utils<br />
|Required for Gramps-3.1.x or later<br />
|-<br />
|rcs<br />
|rcs<br />
|Suggested for running<br />
|-<br />
|python-gtkspell<br />
|gnome-python2-gtkspell<br />
|Suggested for running (spell check). eg, via hunspell. Included in the python-gnome2-extras package in older Debian distributions.<br />
|-<br />
| python-webkit<br />
| WebKitgtk pywebkitgtk<br />
| Required for the HTML view<br />
|-<br />
| python-pygoocanvas<br />
| goocanvas pygoocanvas<br />
| Required for [[Graph View]]<br />
|-<br />
| graphviz<br />
| graphviz graphviz-python<br />
| Required for some reports and views<br />
|-<br />
|<br />
| Django<br />
| Required for http://gramps-connect.org [[Gramps-Connect: Introduction|Gramps-Connect]]<br />
|-<br />
| python-pyexiv2<br />
| pyexiv2<br />
| Required for the Metadata Viewer and Edit Exif Metadata gramplets<br />
|-<br />
| libosmgpsmap-dev python-osmgpsmap<br />
| osm-gps-map<br />
| Required for the Geography views<br />
|-<br />
| gtk2-engines-pixbuf<br />
| <br />
| Solves issue with 'Unable to locate theme engine in module_path: "pixmap"'<br />
|}<br />
<br />
Under Redhat/Fedora you can install all of the above with:<br />
<br />
<pre><br />
sudo yum install python pygtk2 xdg-utils rcs gnome-python2-gtkspell librsvg2 \<br />
librsvg2-devel intltool gnome-doc-utils gcc automake autoconf autogen \<br />
gettext WebKitgtk pywebkitgtk goocanvas pygoocanvas graphviz graphviz-python \ <br />
Django pyexiv2 ImageMagick<br />
</pre><br />
<br />
Under Debian/Ubuntu you can install all of the above with:<br />
<br />
<pre><br />
sudo apt-get install python python-gtk2 librsvg2-common libglib2.0-dev \<br />
intltool xdg-utils rcs python-gtkspell \<br />
python-webkit python-pygoocanvas graphviz python-pyexiv2 \<br />
libosmgpsmap-dev python-osmgpsmap gtk2-engines-pixbuf<br />
</pre><br />
<br />
== Build, Install and Run Gramps 3.4.x ==<br />
<br />
Gramps provides a script that can be used to prepare the code for building. This script automatically calls the standard configure script:<br />
<br />
<code><br />
./autogen.sh</code> # as regular user<br />
<br />
This script will report any missing dependencies. Install these (see also INSTALL file). Building from source code typically requires that the development versions of the required libraries be installed. You might consider setting a prefix path with autogen.sh, see the INSTALL file for instructions. Standard install is in /usr/local.<br />
<br />
Once a successful run of autogen.sh has been completed, you can run the typical make procedure.<br />
<br />
<code><br />
make</code> # as regular user<br />
<br />
then <br />
<br />
<code><br />
make install</code> # as root<br />
<br />
Local installation without root privileges is possible, instructions are available on the INSTALL file, most importantly one needs to supply a <code>--prefix=</code> and a <code>--with-mime-dir=</code> argument to <code>autogen.sh</code>.<br />
<br />
Starting Gramps - ??<br />
<br />
= See also =<br />
* [[Gramps_4.2_Wiki_Manual_-_Command_Line#GRAMPSHOME |$GRAMPSHOME]]<br />
* [[Translating_Gramps#.24GRAMPSI18N_.28for_your_locale.29| $GRAMPSI18N (for your locale) ]]<br />
* [[Installation_alternatives]]<br />
* [[Translating_Gramps#Installing_your_translation|Installing your translation (Gramps 3.x and earlier)]] or [[Translation_environment4|Gramps 4.x and later]]<br />
* [[Howto:Change_the_language_of_reports#Run_Gramps_in_a_different_language|Howto:Change the language of reports - Run Gramps in a different language]]<br />
* [[Fedora rpm]]<br />
<br />
[[Category:Documentation]]<br />
[[Category:Developers/Installation]]<br />
[[Category:Developers/Packaging]]</div>Peterhewetthttps://blog.gramps-project.org/wiki/index.php?title=Linux:Build_from_source&diff=60615Linux:Build from source2016-02-06T00:48:39Z<p>Peterhewett: add deb package name for django</p>
<hr />
<div>{{languages}}<br />
{{stub}}<br />
How to build Gramps from source on Linux. Building from source is appropriate for:<br />
* Developers who need to be able to modify the source and have those modifications take effect.<br />
* Packagers who need to be able to construct a package for installation by user.<br />
* Advanced or experienced users who might want to install a version of Gramps that differs from the version that comes with their distribution.<br />
<br />
To Build Gramps, the following considerations are important (though they do not necessarily need to be done in this sequence). They are covered below:<br />
# Decide where to build/install Gramps. If you already have a version of Gramps you need to decide whether you will install in the same place, overwriting the existing version, or install elsewhere.<br />
# Obtain the source. This might be a released source, or a development version. The released version may be a normal release, or an unstable alpha or beta release. The development version may be subject to continual change.<br />
# Install all dependencies.<br />
# Build and install Gramps.<br />
<br />
Installing dependencies and building Gramps are considered separately for [[Linux:Build_from_source#Install_dependencies_for_Gramps_3.4.x|Gramps 3.x]] and Gramps 4.0 - 4.1 and Gramps 4.2+<br />
<br />
== Decide where to install ==<br />
<br />
{{man warn|Note Backup your old Family Trees before removing the old version of Gramps|You should use your old Gramps version to export backup copies to GRAMPS XML before removing the old Gramps version.}}<br />
<br />
If you have an older version of the Gramps source code installed you need to make a decision what you want to do with it before installing a later version. If you wish to keep the old version, make sure that you read the instructions in the INSTALL file regarding the use of the --prefix option to specify where the new version gets installed.<br />
<br />
See [[Installation alternatives]].<br />
<br />
Should you just want to do a straightforward replacement instead, make sure that you remove the older version before you install the new version. '''Do not install over the top of the old version.''' As new versions of Gramps are developed, some functionality is occasionally rewritten in different ways. If you install over the top of an existing installation you run the risk that the old code left behind from the old version may be used instead of the new, sometimes with unintended consequences. <br />
<br />
If you installed from source, the best way of removing the old Gramps 3.x or earlier version is to run <code>make uninstall</code> as root '''from where you installed the old version'''. <br />
<br />
Or use your distribution's package manager to uninstall if your old Gramps version was installed as a package.<br />
<br />
= Gramps 4.2 =<br />
<br />
{{man menu|Gramps 4.2 and beyond only work with Python 3.2 or greater.}}<br />
<br />
Follow the instructions for installing Gramps 4.0 to 4.1 and only use the requirements meant for python 3 or greater eg: If you need to run python type <code>python3</code><br />
<br />
= Gramps 4.0 to 4.1 =<br />
<br />
== Obtain the source ==<br />
<br />
There are two ways to get the source code: download a released version source, or clone the source from Git. <br />
<br />
{{man tip|Now is the time to read the [{{Code Base}}INSTALL INSTALL] and [{{Code Base}}README.md README] files accompanying the code.| They come with the most recent information.}}<br />
<br />
Details on each download method:<br />
<br />
=== Download a release ===<br />
<br />
* The latest stable version of Gramps can be downloaded from the [https://github.com/gramps-project/gramps/releases Gramps Github file Releases area]. Eg: gramps-{{version}}.tar.gz. Extract this file into a directory:<br />
<code><br />
tar xzvf gramps-zzz.tar.gz<br />
<br />
</code> and then go into this directory:<br />
<br />
<code><br />
cd gramps-zzz<br />
</code><br />
<br />
=== Download the source from Git ===<br />
<br />
* If you are interested in testing out the very latest development versions of Gramps, they can be obtained from Git, see [[Brief introduction to Git#Unstable_development|Brief introduction to Git]]. The Git versions of Gramps are potentially very dangerous as they have not been extensively tested - especially the master branch which contains features that may still be partly implemented. Be aware that they may be prone to crashing and cause extensive data loss. Please use with extreme caution - and only ever on a copy of your data!<br />
<br />
You can get the Gramps repository through Git. First, you need Git installed, eg on Debian based linux:<br />
<br />
sudo apt-get install git<br />
<br />
Then, clone the repository:<br />
<br />
git clone https://github.com/gramps-project/gramps.git Gramps<br />
<br />
A branch called ''master'' containing the latest development code will be created for you.<br />
<br />
To checkout a maintenance branch use:<br />
<br />
git checkout -b gramps42 origin/maintenance/gramps42<br />
<br />
{{man note|Note|replace 42 with the latest branch {{last_branch}} if required.}}<br />
<br />
== Install dependencies for Gramps 4.x ==<br />
<br />
For installation and build, see also;<br />
* [[GEPS_029:_GTK3-GObject_introspection_Conversion]] (discusses Ubuntu 12.10 and 12.04, LinuxMint 14 and Debian). This is particularly relevant for building components that are not provided by those distributions, and for GTK 3 themes.<br />
* [[GEPS_031:_Python_3_support]]<br />
* [[GEPS_026:_Replace_'make'_for_Gramps_build]]<br />
<br />
==== General requirements ====<br />
<br />
Gramps 4.0 to Gramp 4.1 requires python 2.7 or python 3.2 or greater.<br />
<br />
Also needed are GTK 3.0 or greater, pygobject 3.3.2 or greater, cairo, pango, pangocairo with introspection bindings (the gi packages), librsvg2 (svg icon view), xdg-utils. Furthermore, bsddb3 is required for Python 3.2 (not python 2.7).<br />
<br />
==== Linux package requirements ====<br />
The full list of requirements is given in the [https://github.com/gramps-project/gramps/blob/master/README.md README] file.<br />
<br />
Required<br />
<br />
{|{{Prettytable}}<br />
|-<br />
!Debian /Ubuntu <br />
!Fedora /Redhat<br />
!Comment<br />
|-<br />
| python<br />
| python <br />
| Required (needs version 2.7 or later or 3.2 or later)<br />
|-<br />
| python-gobject, python-gi<br />
| ?<br />
| Required (needs pygobject 3.3.2 or greater)<br />
|-<br />
| python-cairo python-gi-cairo<br />
| ?<br />
| Required<br />
|-<br />
| gir1.2-pango<br />
| ?<br />
| Required<br />
|-<br />
| gir1.2-gtk<br />
| ?<br />
| Required is GTK 3.6+<br />
|-<br />
| gir1.2-freedesktop<br />
| ?<br />
| Not clear why this is included in the full installation walkthrough<br />
|}<br />
<br />
Not mentioned in the full installation walkthrough<br />
<br />
{|{{Prettytable}}<br />
|-<br />
!Debian /Ubuntu <br />
!Fedora /Redhat<br />
!Comment<br />
|-<br />
| [http://docs.python.org/library/bsddb.html BSDDB]<br />
| [http://docs.python.org/library/bsddb.html BSDDB]<br />
| Current backend, <code>python3-bsddb3</code> for python 3!<br />
|-<br />
| xdg-utils<br />
| xdg-utils<br />
| Required for Gramps-3.1.x or later<br />
|-<br />
| libgtkspell-3-0 python-gtkspell<br />
| ?<br />
| Required spell checking (eg, with hunspell)<br />
|}<br />
<br />
Required for building<br />
<br />
{|{{Prettytable}}<br />
|-<br />
!Debian /Ubuntu <br />
!Fedora /Redhat<br />
!Comment<br />
|-<br />
| librsvg2-common<br />
| librsvg2<br />
| Required for building<br />
|-<br />
| python-dev libglib2.0-dev<br />
| glib2-devel<br />
| Required for building<br />
|-<br />
| python-gobject-dev libgirepository1.0-dev<br />
| ?<br />
|<br />
|-<br />
| libcairo2-dev python-cairo-dev<br />
| ?<br />
|<br />
|-<br />
|<br />
| librsvg2-devel<br />
| Required for building<br />
|-<br />
| [https://launchpad.net/intltool intltool]<br />
| intltool<br />
| Required for building ( Internationalization Tool Collection - Utility scripts for internationalizing XML.)<br />
|-<br />
|<br />
| gcc make gettext<br />
| Required for building<br />
|}<br />
<br />
Strongly recommended<br />
<br />
{|{{Prettytable}}<br />
|-<br />
!Debian /Ubuntu <br />
!Fedora /Redhat<br />
!Comment<br />
|-<br />
| 'Not available'<br />
| 'Not available'<br />
| osmgpsmap. Required for the Geography views. Needs patches that are not available in the official version. Needs to be built from source. See [[GEPS_029:_GTK3-GObject_introspection_Conversion#OsmGpsMap_for_Geography| compile and install OsmGpsMap]]<br />
|-<br />
| graphviz<br />
| graphviz graphviz-python<br />
| Required for some reports and views<br />
|-<br />
| python-pyicu<br />
| ?<br />
| Required for correct sorting<br />
|}<br />
<br />
Optional<br />
<br />
{|{{Prettytable}}<br />
|-<br />
!Debian /Ubuntu <br />
!Fedora /Redhat<br />
!Comment<br />
|-<br />
| 'Not available'<br />
| 'Not available'<br />
| gtkspell. Suggested for running (spell check). Needs to be build from source. See [[GEPS_029:_GTK3-GObject_introspection_Conversion#Spell_Check_Install |install spell check]]<br />
|-<br />
| rcs<br />
| rcs<br />
| Suggested for running<br />
|-<br />
| Python Image Library<br />
| ?<br />
| ?<br />
|-<br />
| gir1.2-gexiv2-0.4<br />
| 'Not available'<br />
| Required for the Metadata Viewer gramplet<br />
|-<br />
| ttf-treefont<br />
| ?<br />
| ?<br />
|-<br />
| python-webkit python-gtkmozembed<br />
| WebKitgtk pywebkitgtk<br />
| Required for the HTML view<br />
|-<br />
| python-pygoocanvas gir1.2-goocanvas-2.0-9<br />
| goocanvas pygoocanvas<br />
| Required for [[Graph View]]<br />
|-<br />
| python3-django<br />
| Django<br />
| Required for http://gramps-connect.org [[Gramps-Connect: Introduction|Gramps-Connect]]<br />
|-<br />
| gtk2-engines-pixbuf<br />
| <br />
| Solves issue with 'Unable to locate theme engine in module_path: "pixmap"'<br />
|}<br />
<br />
Under Redhat/Fedora you can install all of the above with:<br />
<br />
<pre><br />
sudo yum install python pygtk2 xdg-utils rcs gnome-python2-gtkspell librsvg2 \<br />
librsvg2-devel intltool gnome-doc-utils gcc automake autoconf autogen \<br />
gettext WebKitgtk pywebkitgtk goocanvas pygoocanvas graphviz graphviz-python \<br />
Django pyexiv2 inkscape ImageMagick<br />
</pre><br />
<br />
Under Debian/Ubuntu you can install all of the above with:<br />
<br />
<pre><br />
sudo apt-get install python python-gobject python-gi python-cairo python-gi-cairo \<br />
gir1.2-pango gir1.2-gtk xdg-utils libgtkspell3-3-0 python-gtkspell \<br />
librsvg2-common python-dev libglib2.0-dev python-gobject-dev libgirepository1.0-dev \<br />
libcairo2-dev python-cairo-dev intltool graphviz python-pyicu \<br />
rcs ttf-freefont python-webkit python-pygoocanvas gir1.2-goocanvas-2.0-9 \<br />
gtk2-engines-pixbuf<br />
</pre><br />
<br />
Local installation without root privileges is possible, instructions are available on the INSTALL file.<br />
<br />
== Build, Install and Run Gramps 4.0 to Gramps 4.1 ==<br />
<br />
python setup.py build<br />
<br />
The way you run Gramps depends on whether you downloaded a release or downloaded from the Git repository.<br />
<br />
==== Running from a tarball release ====<br />
<br />
See [http://gramps.1791082.n4.nabble.com/No-joy-building-Gramps-4-0-1-from-source-tp4661381p4661443.html]<br />
<br />
With a tarball, gramps should be run from the build directory, or from installed version (which can be installed locally).<br />
<br />
python setup.py build<br />
<br />
go to where the scripts are installed:<br />
* For python 2 look in: <code>cd build/scripts-2.7</code><br />
* For python 3 look in: <code>cd build/scripts-3.4</code> ({{man menu|Note the number 3.4 depends on your version of python and in most cases where you see the number 2.7 replace it with your version number in the example commands below}})<br />
<br />
in build GRAMPS_RESOURCES must also be set to actually run it:<br />
<br />
GRAMPS_RESOURCES=/home/benny/gramps/branches/maintenance/gramps{{last_branch}}/build/lib.linux-x86_64-2.7/<br />
PYTHONPATH=$GRAMPS_RESOURCES:$PYTHONPATH ./gramps<br />
<br />
I dislike that GRAMPS_RESOURCES must be set from build, it would be nice if that would not be needed from the build directory, but ok, build is just an in between stage.<br />
<br />
Running from build is only to try out before a real install, and that works, eg install to a test directory (or to a directory you have chosen following [http://www.gramps-project.org/wiki/index.php?title=Linux:Build_from_source#Decide_where_to_install decide where to install]<br />
<br />
python setup.py install --root ~/gramps/test<br />
cd ~/gramps/test/usr/local/bin<br />
<br />
as this is a test dir, PYTHONPATH must be set to point to the locally installed gramps package :<br />
<br />
PYTHONPATH=~/gramps/test/usr/local/lib/python2.7/dist-packages/:$PYTHONPATH ./gramps<br />
<br />
==== Running from a Git repository ==== <br />
<br />
Gramps.py is only for those that check out the code repository. Gramps.py is a fake file to allow developers to run code from the source dir, not what the user should be using.<br />
<br />
If you now run<br />
* <code>python Gramps.py -v</code><br />
or<br />
* <code>python3 Gramps.py -v</code><br />
<br />
Gramps will show the version information summary and if all required packages are found, if not install the missing requirements.<br />
<br />
Then you can start Gramps locally with the command<br />
* <code>python Gramps.py</code><br />
or<br />
* <code>python3 Gramps.py</code><br />
<br />
== Full install walkthrough Gramps 4 Ubuntu derivatives ==<br />
<br />
Following walkthrough was done on a clean install of Kubuntu 13.04 which did have the GTK applications firefox, inkscape and gimp installed. Equivalent steps should be done on other platforms.<br />
<br />
sudo apt-get install git<br />
git clone http://git.code.sf.net/p/gramps/source Gramps<br />
cd Gramps<br />
git checkout -b gramps{{last_branch}} origin/maintenance/gramps{{last_branch}}<br />
sudo apt-get install intltool<br />
python setup.py build<br />
sudo apt-get install python-gobject python-gi python-cairo python-gi-cairo<br />
sudo apt-get install gir1.2-freedesktop gir1.2-pango<br />
sudo apt-get install gir1.2-gtk<br />
sudo apt-get install gir1.2-gexiv2-0.4<br />
<br />
If you now run<br />
python Gramps.py -v<br />
you should see all required packages are found. You can now start Gramps locally with the command<br />
<br />
python Gramps.py <br />
<br />
To install optional components, do the following:<br />
<br />
sudo apt-get install python-pyicu graphviz rcs gir1.2-webkit-3<br />
<br />
This gives all the easy optional functionality in Gramps. The rest is not yet present in Ubuntu 13.04, so if you want them, you need to compile them<br />
<br />
'''spell checking'''<br />
Remove first present version, check that this command does not remove programs you use!<br />
sudo apt-get remove libgtkspell-3-0 python-gtkspellcheck<br />
<br />
Now we obtain the code to build this package<br />
sudo apt-get install mercurial<br />
hg clone http://hg.code.sf.net/p/gtkspell/code gtkspell-code<br />
cd gtkspell-code<br />
sudo apt-get install build-essential<br />
sudo apt-get install libgirepository1.0-dev<br />
sudo apt-get install valac libgtk-3-dev<br />
aclocal ; autoheader; automake ; autoconf<br />
./autogen.sh<br />
make<br />
sudo make install<br />
sudo cp /usr/local/lib/girepository-1.0/GtkSpell-3.0.typelib /usr/lib/girepository-1.0/<br />
sudo cp /usr/local/lib/libgtkspell3-3.* /usr/lib/<br />
<br />
'''osmgpsmap'''<br />
The geography view needs patches which are not included yet in the official version. <br />
sudo apt-get install git<br />
git clone git://github.com/nzjrs/osm-gps-map.git<br />
cd osm-gps-map<br />
sudo apt-get install libsoup2.4-dev gnome-common gtk-doc-tools<br />
./autogen.sh --prefix /usr<br />
make<br />
sudo make install<br />
<br />
'''gexiv2'''<br />
Minimally version 0.5 is needed. Ubuntu 13.10 contains version 0.6.1 in the gir1.2-gexiv2-0.4 package. If you have an older version, remove it and install from source using the following instructions:<br />
<br />
Obtain it from [http://www.yorba.org/download/gexiv2/], I downloaded 0.6.1, and extracted it in directory ''libgexiv2-0.6.1''. To install this<br />
<br />
cd libgexiv2-0.6.1<br />
sudo apt-get install exiv2 libexiv2-dev<br />
./configure --enable-introspection --prefix=/usr<br />
make<br />
sudo make install<br />
<br />
'''run Gramps'''<br />
You can now use gramps from the source directory with <br />
python Gramps.py<br />
<br />
You could install Gramps, but you better wait for a packages distributed from [http://sourceforge.net/projects/gramps/files/] and install those via your package manager<br />
<br />
'''look and feel'''<br />
Normally, Gramps does not look that nicely when not used on Gnome desktop. To remedy this, install a theme switcher. You can edit configuration files if you don't like to install these dependencies, see eg [https://wiki.archlinux.org/index.php/GTK%2B#GTK.2B_3.x]<br />
<br />
sudo apt-get install gnome-tweak-tool<br />
<br />
You can search on gtk 3 themes in your package manager and install one that you like. For example, install clearlooks:<br />
sudo apt-get install clearlooks-phenix-theme<br />
then use the gnome-tweak-tool to switch to that. For KDE you need to go also to Settings->Appearance->GTK and set the GTK 3 theme there to the one you installed.<br />
<br />
==== Full install walk-through Windows ====<br />
The native windows support for Gramps 4.x takes a bit more effort. You can follow the walk-through for<br />
* [[Run Gramps40 for Windows from source using Python 2.7.3]]<br />
* Run Gramps40 for Windows from source using Python 3.4 ('''Not available, but you should be able to follow the instructions for the Python 2.7.3 version and modify accordingly''') <br />
<br />
An alternative on windows is to install [https://www.virtualbox.org/ virtualbox] and then install K/X/Ubuntu as indicated above, which will give you Linux in windows.<br />
<br />
= Gramps 3.4.x =<br />
== Install dependencies for Gramps 3.4.x ==<br />
<br />
==== General requirements ====<br />
<br />
Gramps 3.x requires python 2.6 or greater, pygtk 2.16 or greater and librsvg2<br />
<br />
==== Linux package requirements ====<br />
{|{{Prettytable}}<br />
|-<br />
!Debian /Ubuntu <br />
!Fedora /Redhat<br />
!Comment<br />
|-<br />
|python<br />
|python <br />
|Required (needs version 2.6 or later)<br />
|-<br />
|python-gtk2<br />
|pygtk2<br />
|Required (needs 2.16 or greater)<br />
|-<br />
|[http://docs.python.org/library/bsddb.html BSDDB]<br />
|[http://docs.python.org/library/bsddb.html BSDDB]<br />
|Current backend<br />
|-<br />
|librsvg2-common<br />
|librsvg2<br />
|Required for building<br />
|-<br />
|libglib2.0-dev<br />
|glib2-devel<br />
|Required for building<br />
|-<br />
|<br />
|librsvg2-devel<br />
|Required for building<br />
|-<br />
|intltool<br />
|intltool<br />
|Required for building<br />
|-<br />
|<br />
|gcc make gettext<br />
|Required for building<br />
|-<br />
|<br />
|-<br />
|xdg-utils<br />
|xdg-utils<br />
|Required for Gramps-3.1.x or later<br />
|-<br />
|rcs<br />
|rcs<br />
|Suggested for running<br />
|-<br />
|python-gtkspell<br />
|gnome-python2-gtkspell<br />
|Suggested for running (spell check). eg, via hunspell. Included in the python-gnome2-extras package in older Debian distributions.<br />
|-<br />
| python-webkit<br />
| WebKitgtk pywebkitgtk<br />
| Required for the HTML view<br />
|-<br />
| python-pygoocanvas<br />
| goocanvas pygoocanvas<br />
| Required for [[Graph View]]<br />
|-<br />
| graphviz<br />
| graphviz graphviz-python<br />
| Required for some reports and views<br />
|-<br />
|<br />
| Django<br />
| Required for http://gramps-connect.org [[Gramps-Connect: Introduction|Gramps-Connect]]<br />
|-<br />
| python-pyexiv2<br />
| pyexiv2<br />
| Required for the Metadata Viewer and Edit Exif Metadata gramplets<br />
|-<br />
| libosmgpsmap-dev python-osmgpsmap<br />
| osm-gps-map<br />
| Required for the Geography views<br />
|-<br />
| gtk2-engines-pixbuf<br />
| <br />
| Solves issue with 'Unable to locate theme engine in module_path: "pixmap"'<br />
|}<br />
<br />
Under Redhat/Fedora you can install all of the above with:<br />
<br />
<pre><br />
sudo yum install python pygtk2 xdg-utils rcs gnome-python2-gtkspell librsvg2 \<br />
librsvg2-devel intltool gnome-doc-utils gcc automake autoconf autogen \<br />
gettext WebKitgtk pywebkitgtk goocanvas pygoocanvas graphviz graphviz-python \ <br />
Django pyexiv2 ImageMagick<br />
</pre><br />
<br />
Under Debian/Ubuntu you can install all of the above with:<br />
<br />
<pre><br />
sudo apt-get install python python-gtk2 librsvg2-common libglib2.0-dev \<br />
intltool xdg-utils rcs python-gtkspell \<br />
python-webkit python-pygoocanvas graphviz python-pyexiv2 \<br />
libosmgpsmap-dev python-osmgpsmap gtk2-engines-pixbuf<br />
</pre><br />
<br />
== Build, Install and Run Gramps 3.4.x ==<br />
<br />
Gramps provides a script that can be used to prepare the code for building. This script automatically calls the standard configure script:<br />
<br />
<code><br />
./autogen.sh</code> # as regular user<br />
<br />
This script will report any missing dependencies. Install these (see also INSTALL file). Building from source code typically requires that the development versions of the required libraries be installed. You might consider setting a prefix path with autogen.sh, see the INSTALL file for instructions. Standard install is in /usr/local.<br />
<br />
Once a successful run of autogen.sh has been completed, you can run the typical make procedure.<br />
<br />
<code><br />
make</code> # as regular user<br />
<br />
then <br />
<br />
<code><br />
make install</code> # as root<br />
<br />
Local installation without root privileges is possible, instructions are available on the INSTALL file, most importantly one needs to supply a <code>--prefix=</code> and a <code>--with-mime-dir=</code> argument to <code>autogen.sh</code>.<br />
<br />
Starting Gramps - ??<br />
<br />
= See also =<br />
* [[Gramps_4.2_Wiki_Manual_-_Command_Line#GRAMPSHOME |$GRAMPSHOME]]<br />
* [[Translating_Gramps#.24GRAMPSI18N_.28for_your_locale.29| $GRAMPSI18N (for your locale) ]]<br />
* [[Installation_alternatives]]<br />
* [[Translating_Gramps#Installing_your_translation|Installing your translation (Gramps 3.x and earlier)]] or [[Translation_environment4|Gramps 4.x and later]]<br />
* [[Howto:Change_the_language_of_reports#Run_Gramps_in_a_different_language|Howto:Change the language of reports - Run Gramps in a different language]]<br />
* [[Fedora rpm]]<br />
<br />
[[Category:Documentation]]<br />
[[Category:Developers/Installation]]<br />
[[Category:Developers/Packaging]]</div>Peterhewetthttps://blog.gramps-project.org/wiki/index.php?title=Talk:Download&diff=60570Talk:Download2016-02-03T19:27:24Z<p>Peterhewett: update list of required packages</p>
<hr />
<div>==Additional packages==<br />
Running a standard install of Gramps on Kubuntu 15.10 gives errors about missing packages. I found it a bit difficult to figure out exactly which packages should be installed to get to a state where Gramps doesn't raise these error messages. So, perhaps it would help other users if this info could be on this page, or if this page could have a link to this info. <br />
<br />
===Gramps 4.2.0 on Kubuntu 15.10===<br />
* language-pack-gnome-en<br />
* gir1.2-goocanvas-2.0<br />
* python3-django<br />
<br />
===Gramps 5.0 on Kubuntu 15.10===<br />
* language-pack-gnome-en<br />
* gir1.2-goocanvas-2.0<br />
* gir1.2-osmgpsmap-1.0<br />
* gir1.2-gexiv2-0.10<br />
* graphviz<br />
* python3-django<br />
<br />
And maybe someone who knows can correct these lists if I have got it wrong. --[[User:Peterhewett|Peterhewett]] ([[User talk:Peterhewett|talk]]) 21:03, 2 February 2016 (MST)</div>Peterhewetthttps://blog.gramps-project.org/wiki/index.php?title=Talk:Download&diff=60567Talk:Download2016-02-03T06:21:33Z<p>Peterhewett: appears gir1.2-goocanvas-2.0 is not needed for 4.2.0</p>
<hr />
<div>==Additional packages==<br />
Running a standard install of Gramps on Kubuntu 15.10 gives errors about missing packages. I found it a bit difficult to figure out exactly which packages should be installed to get to a state where Gramps doesn't raise these error messages. So, perhaps it would help other users if this info could be on this page, or if this page could have a link to this info. <br />
<br />
===Gramps 4.2.0 on Kubuntu 15.10===<br />
* language-pack-gnome-en<br />
* (and a Django package, but I don't know which one)<br />
<br />
===Gramps 5.0 on Kubuntu 15.10===<br />
* language-pack-gnome-en<br />
* gir1.2-goocanvas-2.0<br />
* gir1.2-osmgpsmap-1.0<br />
* gir1.2-gexiv2-0.10<br />
* graphviz<br />
* (and a Django package, but I don't know which one)<br />
<br />
And maybe someone who knows can correct these lists if I have got it wrong. --[[User:Peterhewett|Peterhewett]] ([[User talk:Peterhewett|talk]]) 21:03, 2 February 2016 (MST)</div>Peterhewetthttps://blog.gramps-project.org/wiki/index.php?title=Talk:Download&diff=60566Talk:Download2016-02-03T04:03:40Z<p>Peterhewett: required additional packages</p>
<hr />
<div>==Additional packages==<br />
Running a standard install of Gramps on Kubuntu 15.10 gives errors about missing packages. I found it a bit difficult to figure out exactly which packages should be installed to get to a state where Gramps doesn't raise these error messages. So, perhaps it would help other users if this info could be on this page, or if this page could have a link to this info. <br />
<br />
===Gramps 4.2.0 on Kubuntu 15.10===<br />
* language-pack-gnome-en<br />
* gir1.2-goocanvas-2.0<br />
* (and a Django package, but I don't know which one)<br />
<br />
===Gramps 5.0 on Kubuntu 15.10===<br />
* language-pack-gnome-en<br />
* gir1.2-goocanvas-2.0<br />
* gir1.2-osmgpsmap-1.0<br />
* gir1.2-gexiv2-0.10<br />
* graphviz<br />
* (and a Django package, but I don't know which one)<br />
<br />
And maybe someone who knows can correct these lists if I have got it wrong. --[[User:Peterhewett|Peterhewett]] ([[User talk:Peterhewett|talk]]) 21:03, 2 February 2016 (MST)</div>Peterhewetthttps://blog.gramps-project.org/wiki/index.php?title=Bug_triage&diff=60565Bug triage2016-02-03T00:37:30Z<p>Peterhewett: add wikilink</p>
<hr />
<div>Help the Gramps project with bug triaging.<br />
<br />
The bug/issue tracker for Gramps is located at the following URL: https://www.gramps-project.org/bugs<br />
<br />
==Goals of Bug Triage==<br />
===What===<br />
<br />
The goal of bug triage is to make it easier for developers to do development by organizing the bug list for them. This means the developers are able to spend less time asking bug reporters what the problem is, confirming if it is still an issue in the latest master branch in [[Brief_introduction_to_Git|Git]].<br />
<br />
Bug triage includes the reduction of open tickets, removal of stale/out of date tickets, and grouping of feature requests.<br />
<br />
===How===<br />
<br />
Make sure you're using the latest release of Gramps, using the master branch in [[Brief_introduction_to_Git|Git]] is usually best. From a clean install of Gramps attempt to reproduce the bug that is being reported. If you cannot reproduce the bug, post a comment as such - explaining the steps you took to reproduce the bug. If you encounter a different bug, file a new bug report for that problem if one has not been filed already.<br />
<br />
* Read a bit of the [http://www.mantisbt.org/documentation.php documentation of mantisbt] so you know what is possible.<br />
<br />
* Make sure you have Gramps installed so you can test bugs and problems. Create a family tree and import the [[example.gramps]] file.<br />
It would be beneficial to also run the master branch version of Gramps so as to test bugs that are in the master branch only.<br />
<br />
* At the moment only projects Gramps 3.4, Gramps 4.2 and master are supported, so any bugs not closed or resolved in older versions must be resolved one way or the other:<br />
** resolved in the meantime<br />
** does not apply anymore<br />
** version no longer supported ([http://en.wikipedia.org/wiki/End-of-life_%28product%29 EOL] versions), try with new version<br />
** bug/problem still present, move the bug to the correct project eg it is a feature request<br />
** too little information given, feedback wanted from reporter<br />
** several issues in one bug, close it asking users to submit a ticket per issue (or rename the bug for one issue, and ask to create new ones for the other)<br />
** other issues...<br />
<br />
{{man note|ALWAYS|be polite when responding to a bug ticket.}}<br />
<br />
* For the supported projects, the bugs must be triaged: Duplicate bugs "'''<span style="background:grey">closed</span>'''", set a better bug title so it is more clear for a developer what the bug is about, add extra information. Most important here is to try to duplicate the bug with the [[example.gramps]] file, as that is what the developer will spend a lot of time trying to do. Fixing a bug always starts with reproducing it, and many times the developer does not succeed in that. Making that possible is the aim of triage. Once a developer sees a bug in front of him, fixing it is often fast.<br />
<br />
* Then there is the feature request project. These must be organised somehow. It is best you look at some of those tickets and make a suggestion on how to organize it so that the feature requests remain useful. Also giving better titles is important here, closing duplicates. Don't be afraid to close something saying users must give a better worked out request (but be polite!).<br />
<br />
* Don't leave bugs in "'''<span style="background:pink">new</span>'''" state if they're actually no longer '''new'''. <br />
<br />
* Bugs that are clearly not spam, and have enough info to start an investigation (even though they might turn out as a problem at submitter's end) should be made "'''<span style="background:orange">acknowledged</span>'''". <br />
<br />
* Those that other people are able to reproduce (or reason about their validity) should be "'''<span style="background:yellow">confirmed</span>'''". <br />
<br />
* If the bug is blocked waiting for somebody's input, mark it as "'''<span style="background:#e3b7eb">feedback</span>'''". <br />
<br />
* If somebody is actively working on a bug, this is best expressed as "'''<span style="background:#c2dfff">assigned</span>'''". If you stop working on a bug, please remove it from '''assigned''' state.<br />
<br />
==Status==<br />
<br />
On ''2015-11-26'', for '''4562''' reported issues, <br />
*'''1333''' are '''new''', '''feedback''', '''acknowledged''', '''confirmed''' or '''assigned'''; 29.22% <br>(these can be broken down into two categories the majority of which are '''Feature Request'''s:<br />
** Feature Requests: 849 ( 63.41% )<br />
** Gramps(General issues): 490 ( 36.59% ) )<br />
*'''1523''' have been '''resolved(fixed)'''; 33.38%<br />
*'''1706''' have been '''closed'''; 37.40%<br />
<br />
For many years, the ratio [https://gramps-project.org/bugs/summary_page.php new reports / (fixed and closed) issues], has been increasing at around '''<span style="color:red">+2</span> per day''' ...<br />
<br />
[[File:Bug_triage.png|left|thumb|1000px|Reported issues]]<br />
{{-}}<br />
{{man warn|Note|As of (2015-08-25) the highest created issue number is 8862, sometime in the past 4495 issues disappeared during a mantisdb upgrade, to which a number of existing issues keep referring to.}}<br />
<br />
==MantisBT permissions==<br />
<br />
If you don't have MantisBT permissions (the ability to change bugs' status from Unconfirmed to New, Fixed, or Invalid), then feel free to ask on the Gramps-dev List for someone to set the status for you (eg: "Could someone set bug #{{bug|1}} to invalid please?) Once you do this enough, feel free to ask for MantisBT permissions.<br />
<br />
<br />
[[Category:Developers/Quality Assurance]]<br />
[[Category:Developers/General]]</div>Peterhewetthttps://blog.gramps-project.org/wiki/index.php?title=Testing_Gramps&diff=60564Testing Gramps2016-02-03T00:35:25Z<p>Peterhewett: add wikilink</p>
<hr />
<div>=Test status=<br />
As of Jan 2015 we don't have a record of tests executed, the platforms and environments they were run upon, and what code they covered. The only indirect evidence is available in open bugs, when people care to fill in these details. :-(<br />
<br />
==Possible improvements==<br />
* Unify running all the tests, in- or out- tree<br />
** Try switching the feature tests and non-automated unit tests in test/ from our runner scripts to [https://docs.python.org/library/unittest.html#test-discovery python native unittest discovery mechanism]. <br />
** We have a stale [https://github.com/gramps-project/gramps/blob/master/gramps/test/regrtest.py gramps/test/regrtest.py] runner, notable for logging init. - should we revive that, or maybe integrate into setup.py test runner?<br />
* [https://wiki.python.org/moin/CodeCoverage Coverage analysis]<br />
* [http://docs.python-guide.org/en/latest/scenarios/ci/ Continuous] test status report, coverage, automatic deployment into win/mac/linux VMs (needs server capacity to be hosted online)(I can dream, can't I?){{bug|8294}}<br />
* Automated regression tests for our GUI. The following links look interesting:<br />
** [https://wiki.python.org/moin/PythonTestingToolsTaxonomy#GUI_Testing_Tools Python Wiki:GUI Testing Tools]<br />
** [http://unpythonic.blogspot.co.il/2007/03/unit-testing-pygtk.html Unit Testing PyGTK]<br />
** [http://ldtp.freedesktop.org/wiki/ Cross Platform GUI Test Automation tool]<br />
<br />
=Tests and frameworks used=<br />
== Manual test plan ==<br />
See [http://sourceforge.net/p/gramps/source/ci/master/tree/TestPlan.txt TestPlan.txt] in gramps toplevel. (I believe this is only done at a major release (like Gramps version 4.0.0)).<br />
<br />
== Specialized scripts for testing ==<br />
See more specialized scripts in [http://sourceforge.net/p/gramps/source/ci/master/tree/test/ test/], status unknown.<br />
<br />
Contents of [http://sourceforge.net/p/gramps/source/ci/master/tree/test/ test/] :<br />
* GrampsLogger/<br />
** ErrorReportAssistant_Test.py<br />
** GtkHandler_Test.py<br />
* LosHawlos_bsddbtest.py<br />
* LosHawlos_dbtest.py<br />
* RunAllTests.py<br />
* dates.sh<br />
* det_ancestor_report.sh<br />
* det_descendant_report.sh<br />
* impex.sh<br />
* runtest.sh<br />
* tools.sh<br />
<br />
=== testing of reports ===<br />
==== test/runtest.sh ====<br />
<br />
'''[http://sourceforge.net/p/gramps/source/ci/master/tree/test/runtest.sh test/runtest.sh]''' - Report test for Gramps: Generate every report in every format. Runs all possible reports using the report cli interface, based on the [[example.gramps]] database. This test is not fully self-contained, in that it depends on various environment settings, such as your locale, your preferred name display formats, and your report options. Last, but not the least, the verification of the resulting reports is entirely manual.<br />
<br />
Bugs tagged as [http://www.gramps-project.org/bugs/search.php?tag_string=found-by-runtest.sh found-by-runtest.sh]<br />
<br />
===test/impex.sh===<br />
'''[http://sourceforge.net/p/gramps/source/ci/master/tree/test/impex.sh test/impex.sh]''' - Import/export test for Gramps.<br />
<br />
From the file header:<br />
* Import example XML data and create internal Gramps DB<br />
* Open produced Gramps DB, then<br />
** check data for integrity<br />
** output in all formats<br />
* Check resulting XML for well-formedness and validate it against DTD and RelaxNG schema.<br />
* Import every exported file produced if the format is also supported for import, and run a text summary report.<br />
* Diff each report with the summary of the produced example DB.<br />
<br />
Bugs tagged as [http://www.gramps-project.org/bugs/search.php?tag_string=found-by-impex.sh found-by-impex.sh]<br />
<br />
== Unit testing ==<br />
=== test/RunAllTests.py ===<br />
'''[http://sourceforge.net/p/gramps/source/ci/master/tree/test/RunAllTests.py test/RunAllTests.py]''' - Testing framework for performing a variety of unittests for Gramps. Runs out-of-tree (not in gramps/) testing code, by looking for any test/*_Test.py files and executing the test suites therein. See the current code in test/*_Test.py for example and python standard unittest docs.<br />
<br />
{{man note|Starting with gramps4.x branch|these tests include non-automated unit tests only. The automated unit tests are all under gramps/.}}<br />
<br />
Bugs tagged as [http://www.gramps-project.org/bugs/search.php?tag_string=found-by-RunAllTests.py found-by-RunAllTests.py]<br />
<br />
{{man warn|GtkHandler testing code pops up the Gramps error dialog|but this is actually for testing the error reporting itself. Don't be scared by the dialog, it's expected. Your manual work is required to close the dialogs with the "Cancel" button. The relevant tests still pass (unless there's another bug there)...}}<br />
<br />
=== unit tests in the main tree ===<br />
<br />
See [[Unit Test Quickstart]] for detailed running instructions.<br />
<br />
==== using - python setup.py test ====<br />
python setup.py test<br />
<br />
{| class="wikitable sortable"<br />
! File<br />
! Test<br />
! Status<br />
! Comments<br />
|-<br />
|gramps/cli/test/cli_test.py<br />
|3<br />
|bgcolor="#80ff80"| OK<br />
|<br />
|-<br />
|gramps/cli/test/user_test.py<br />
|8<br />
|bgcolor="#80ff80"| OK<br />
|(6 test require [[Unit_Test_Quickstart#Mocking_external_dependencies_with_unittest.mock| mocking]] to run)<br />
|-<br />
|gramps/gen/test/config_test.py<br />
|1<br />
|bgcolor="#80ff80"| OK<br />
|<br />
|-<br />
|gramps/gen/test/constfunc_test.py<br />
|1<br />
|bgcolor="#80ff80"| OK<br />
|(linux only, skipped elsewhere)<br />
|-<br />
|gramps/gen/test/user_test.py<br />
|1<br />
|bgcolor="#80ff80"| OK<br />
|See #{{bug|7013}} for context<br />
|-<br />
|gramps/gen/datehandler/test/datehandler_test.py<br />
|9<br />
|bgcolor="#80ff80"| OK<br />
|<br />
|-<br />
|gramps/gen/db/test/cursor_test.py<br />
|4<br />
|bgcolor="#80ff80"| OK<br />
|2 skipped<br />
|-<br />
|gramps/gen/db/test/db_test.py<br />
|6<br />
|bgcolor="#80ff80"| OK<br />
|<br />
|-<br />
|gramps/gen/db/test/reference_map_test.py<br />
|5<br />
|bgcolor="#80ff80"| OK<br />
|<br />
|-<br />
|gramps/gen/lib/test/date_test.py<br />
|8<br />
|bgcolor="#80ff80"| OK<br />
|(locale-based, OK for en, fails for some other locales)<br />
|-<br />
|gramps/gen/lib/test/grampstype_test.py<br />
|3<br />
|bgcolor="#80ff80"| OK<br />
|<br />
|-<br />
|gramps/gen/lib/test/merge_test.py<br />
|201<br />
|bgcolor="#ff8080"| FAIL<br />
|2 failed skipped ({{bug|7027}}- Bug shows resolved)<br />
|-<br />
|gramps/gen/merge/test/merge_ref_test.py<br />
|53<br />
|bgcolor="#80ff80"| OK<br />
|<br />
|-<br />
|gramps/gen/utils/test/callback_test.py<br />
|10<br />
|bgcolor="#80ff80"| OK<br />
|<br />
|-<br />
|gramps/gen/utils/test/keyword_test.py<br />
|4<br />
|bgcolor="#80ff80"| OK<br />
|<br />
|-<br />
|gramps/gen/utils/test/place_test.py<br />
|28<br />
|bgcolor="#ff8080"| FAIL<br />
|4 failures (bug #{{bug|7044}} - Bug shows resolved)<br />
|-<br />
|gramps/gui/logger/test/rotate_handler_test.py<br />
|2<br />
|bgcolor="#80ff80"| OK<br />
|<br />
|-<br />
|gramps/gui/test/user_test.py<br />
|1<br />
|bgcolor="#80ff80"| OK<br />
|(requires mocking to run)<br />
|-<br />
|gramps/plugins/export/test/exportvcard_test.py<br />
|28<br />
|bgcolor="#80ff80"| OK<br />
|<br />
|-<br />
|gramps/plugins/importer/test/importvcard_test.py<br />
|66<br />
|bgcolor="#80ff80"| OK<br />
|<br />
|-<br />
|gramps/plugins/importer/test/importxml_test.py<br />
|4<br />
|bgcolor="#80ff80"| OK<br />
|<br />
|-<br />
|gramps/plugins/importer/test/importgeneweb_test.py<br />
|2<br />
|bgcolor="#80ff80"| OK<br />
|<br />
|-<br />
|gramps/test/test/gedread_util_test.py<br />
|<br />
|<br />
|No longer required?<br />
|-<br />
|gramps/test/test/test_util_test.py<br />
|<br />
|<br />
|No longer required?<br />
|-<br />
|gramps/webapp/grampsdb/view/png.py<br />
|<br />
|<br />
|<br />
|-<br />
|}<br />
<br />
{{man note|Note from Nick Hall|Some of the merge tests are slow because they actually run Gramps from the command line to import and export files.<br><br>Extra packages and add-ons are required to run some of the tests. From memory, you will need the CliMerge and ExportRaw add-ons, and the libxml2, libxslt and mocking python packages. Some of these may not be available for python3 yet.}}<br />
<br />
==== semi-interactive ====<br />
<br />
There is also semi-interactive testing via __main__ in some code:<br />
<br />
{| class="wikitable sortable"<br />
! File<br />
! Status<br />
! Comments<br />
|-<br />
|[http://sourceforge.net/p/gramps/source/ci/master/tree/gramps/gen/relationship.py#l1889 gramps/gen/relationship.py]<br />
|bgcolor="#ff8080"| To Do<br />
|Relationship calculator<br />
|-<br />
|gramps/gen/db/bsddbtxn.py<br />
|bgcolor="#ff8080"| To Do<br />
|<br />
|-<br />
|gramps/gen/db/txn.py<br />
|bgcolor="#ff8080"| To Do<br />
|<br />
|-<br />
|gramps/gen/db/undoredo.py<br />
|bgcolor="#ff8080"| To Do<br />
|<br />
|-<br />
|gramps/gen/db/write.py<br />
|bgcolor="#ff8080"| To Do<br />
|<br />
|-<br />
|gramps/gen/db/txn.py<br />
|bgcolor="#ff8080"| To Do<br />
|<br />
|-<br />
|gramps/gen/lib/styledtext.py<br />
|bgcolor="#ff8080"| To Do<br />
|<br />
|-<br />
|gramps/gen/utils/place.py<br />
|bgcolor="#80ff80"| OK<br />
|Done<br />
|-<br />
|gramps/gen/utils/docgen/odstab.py<br />
|bgcolor="#ff8080"| To Do<br />
|<br />
|-<br />
|gramps/gen/utils/docgen/csvtab.py<br />
|bgcolor="#ff8080"| To Do<br />
|<br />
|-<br />
|gramps/gui/ddtargets.py<br />
|bgcolor="#ff8080"| To Do<br />
|Not worth running?<br />
|-<br />
|gramps/gui/widgets/undoablebuffer.py<br />
|bgcolor="#ff8080"| To Do<br />
|Not worth running?<br />
|-<br />
|gramps/gui/dialog.py<br />
|bgcolor="#ff8080"| To Do<br />
|Interactive<br />
|-<br />
|gramps/gui/widgets/validatedmaskedentry.py<br />
|bgcolor="#ff8080"| To Do<br />
|Interactive<br />
|-<br />
|gramps/gui/widgets/progressdialog.py<br />
|bgcolor="#ff8080"| To Do<br />
|Interactive<br />
|-<br />
|gramps/gui/widgets/statusbar.py<br />
|bgcolor="#ff8080"| To Do<br />
|Interactive<br />
|-<br />
|gramps/plugins/lib/libsubstkeyword.py<br />
|bgcolor="#ff8080"| To Do<br />
|<br />
|-<br />
|gramps/plugins/rel/rel_*.py<br />
|bgcolor="#ff8080"| To Do<br />
|Relationship calculator plugins<br />
|-<br />
|gramps/plugins/tool/phpgedviewconnector.py<br />
|bgcolor="#ff8080"| To Do<br />
|<br />
|-<br />
|}<br />
<br />
=See also=<br />
* [[Unit Test Quickstart]]<br />
* [[Test_date_handlers#TO_CHECK]]<br />
* [[Gramps_Performance#The_Test_Results]]<br />
<br />
[[Category:Developers/Reference]]<br />
[[Category:Developers/Quality Assurance]]</div>Peterhewetthttps://blog.gramps-project.org/wiki/index.php?title=Sample_reports&diff=60563Sample reports2016-02-03T00:31:09Z<p>Peterhewett: add wikilink</p>
<hr />
<div>{{Out of date|Work in progress}}<br />
{{languages|Sample reports}}<br />
<br />
Gramps can produce many different types of reports and charts in a variety of output formats.<br />
<br />
The following samples have been created in Gramps 4.2.0 using the [[example.gramps]] family tree included with Gramps and the default settings where ever possible.<br />
<br />
==Graphical Reports==<br />
<br />
* Ancestor Tree - ancestors of a person in a graphical chart.<br />
* Calendar<br />
* Descendant Tree - descendants of a particular person.<br />
* Family Descendant Tree<br />
* Fan Chart - ancestors of a particular person in a semi-circular chart.<br />
* Statistics Chart - statistics of all people in the selected family tree.<br />
* Timeline Chart - plots the lifespan of the selected people in a graph.<br />
<br />
==Graphs==<br />
These GraphViz diagrams are produced from a DOT file created by Gramps.<br />
* Family Lines Graph<br />
* Hourglass Graph<br />
* Relationship Graph<br />
<br />
==Text Reports==<br />
<br />
* Ahnentafel Report - generational report starting at a selected individual.<br />
* Birthday and Anniversary Report<br />
* Complete Individual Report - summary of the information about a particular person.<br />
* Descendent Report<br />
* Detailed Ancestral Report<br />
* Detailed Descendant Report<br />
* End of Line Report<br />
* Family Group Report - tabular format report for a particular family.<br />
* Kinship Report<br />
* Tag Report<br />
* Number of Ancestors<br />
* Place Report<br />
* Records Report<br />
* Summary of the Database<br />
<br />
==Web Pages==<br />
<br />
* Narrated Web Site<br />
* Web Calendar<br />
<br />
==See also==<br />
* [[Gramps 4.2 Wiki Manual - Reports]] - Index and options for each report and chart.<br />
<br />
[[Category:Documentation]]<br />
[[Category:Gramps Examples]]<br />
[[Category:Plugins]]<br />
[[Category:Genealogy]]<br />
[[Category:Developers/General]]<br />
[[Category:Reports]]</div>Peterhewetthttps://blog.gramps-project.org/wiki/index.php?title=Example.gramps&diff=60562Example.gramps2016-02-03T00:26:43Z<p>Peterhewett: create article to explain how to install example.gramps family tree</p>
<hr />
<div><br />
Your installation of Gramps should include an example family tree database. This is used to provide a known stable environment for testing.<br />
<br />
If you think you have a bug in your database, try the same operation with the example family tree. If the problem happens there as well, then it is probably not due to a corruption in your data.<br />
<br />
==Load example.gramps==<br />
Follow these steps to load the example family tree.<br />
<br />
1. Find example.gramps.gz on your system. For example, /usr/share/doc/gramps/example/gramps/<br />
<br />
2. Open example.gramps.gz, and extract example.gramps to a temporary location.<br />
<br />
3. Start Gramps<br />
<br />
4. Create a new family tree. Give it some name, such as example<br />
<br />
5. Open this new family tree. It will be empty.<br />
<br />
6. In Edit > Preferences, set the media path. This could be in a new directory, to keep it separate to your own family tree media. (eg ~/gramps/example/)<br />
<br />
7. Copy the media files from the example directory (that you found in step 1, above) to this media path directory.<br />
<br />
8. In Gramps, use File > Import to import example.gramps.</div>Peterhewetthttps://blog.gramps-project.org/wiki/index.php?title=Howto:_Make_a_relationship_chart&diff=60561Howto: Make a relationship chart2016-02-03T00:12:33Z<p>Peterhewett: add link to example.gramps</p>
<hr />
<div>{{languages|Howto: Make a relationship chart}}<br />
How to make a relationship chart (for either ancestors, descendants, ...) with Gramps 4.x. and the [[Gramps_4.1_Wiki_Manual_-_Reports_-_part_5#Relationship_Graph|Relationship graph report]].[[Image:RelationshipChartDescendants.png|right|thumb|300px|An example chart]]<br />
<br />
== Before you start ==<br />
<br />
The Relationship graph report uses the GraphViz backend, which should already be installed, if not you will need to install [http://graphviz.org graphviz] (on linux, use your package manager). <br />
<br />
Gramps can produce charts, but to view them, you need other programs. We recommend that you install the following:<br />
* [http://graphviz.org Graphviz]: '''required''' for the creation of the relationship charts<br />
* [http://www.inkscape.org/ Inkscape]: for viewing and editing svg charts, export to png<br />
* [http://www.gnu.org/software/gv/ gv], [http://linuxappfinder.com/package/kghostview kghostview]: for viewing ps charts<br />
* ps2pdf: for converting ps to pdf<br />
* [http://www.adobe.com/products/acrobat/readstep2.html adobe reader], [http://linuxappfinder.com/package/kpdf kpdf]: for viewing pdf charts<br />
* [http://www.libreoffice.org/download LibreOffice] or [http://www.openoffice.org/ OpenOffice] or [http://www.calligra-suite.org/ Calligra]: for viewing odt documents<br />
<br />
== Filters: what persons to print ? ==<br />
<br />
=== What are filters?===<br />
In Gramps you can define filters to make a selection of individuals, see [[Example_filters| Examples of 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.<br />
<br />
{{man tip|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.}}<br />
<br />
=== How many people ?===<br />
Your filter can contain as many people as you want. Note however that printing or viewing of large charts can be very problematic. <br />
<br />
== Example 1-A: a descendant chart ==<br />
[[File:RelationshipChartDescendants.png|right|thumb|220px|A descendant chart, click for details]]<br />
Use the [[example.gramps]] that came with your install, or download [https://raw.githubusercontent.com/gramps-project/gramps/maintenance/gramps41/example/gramps/example.gramps example.gramps], save to a file, create a new database in Gramps called example, and import the example.gramps data into it.<br />
<br />
If not the case, set the active person to ''Garner von Zieliński, Lewis Anderson Sr''. <br />
<br />
To make a descendant chart with the relationship report, choose the menu item <br />
{{man menu|Reports -> Graphs -> Relationship Graph...}}<br />
<br />
In the Bottom dialog:<br />
* '''Document Options''' set the '''Output Format''' to .png<br />
<br />
Chose the following in the tabs available:<br />
#'''Paper Options '''-> Size : Custom Size (Set width and height to ''10000'' cm, or some other large value)<br />
#'''Report Options '''-> ''Filter:'' '''Descendants of Garner von Zieliński, Lewis Anderson Sr''' <br />
#'''GraphViz Layout'''-> ''Graph Direction:'' '''Horizontal (<-)'''<br />
#'''GraphViz Options'''-> ''Aspect ratio:'' '''Compress to minimal size'''<br />
<br />
Select '''OK''' to generate the chart.<br />
<br />
The result can be seen to the right. You can use print this on a dedicated printer (If required change the '''GraphViz Options''' DPI of png file.), or if you use the default DPI of 72 you can use this image on a website to share. In the last example below, you can use the tip explained in [[Make flash plugin from a png]], to make the resulting graph easier to navigate.<br />
<br />
In the chart image, males are blue, females are pink and the yellow balloons indicate a family node in which a marriage date is printed (if known). You can select not to see this family node by deselecting in the '''Graph Style''' tab the option ''Show family nodes''.<br />
<br />
== Example 1-B: a chart with ancestors ==<br />
Download and open the example.gramps file as in Example 1-A<br />
<br />
Set ''Warner, Carl Thomas'' to be the active person.<br />
<br />
Repeat the process in Example 1-A, but choose the filter ''Ancestors of Warner, Carl Thomas'' this time. <br />
<br />
[[File:RelationshipChartAncestors small.png|right|thumb|300px|Example Relationship ancestor chart. (For the detailed image, [[Media:RelationshipChartAncestors.png| click here (1.49mb!))]]]]<br />
<br />
You can see the result to the right. <br />
<br />
This is already an extremely large graph.<br />
<br />
It can only be readily viewed in a good image viewer. <br />
<br />
For printing you need to resort to printing on several pages, or you need access to a large plotter.<br />
{{-}}<br />
<br />
== Example 2: A chart with ancestors, descendants and their families ==<br />
{{out of date| example 2 & 3 and section below them still need a bit of an update }}<br />
{{man note|Note:|This example uses filters. See [[Example filters| Examples of filters]] for an introductory example.}}<br />
<!-- Can not find Cristiansen, Frances in example.gramps --><br />
Open the file example.gramps and select Cristiansen, Frances as the active person.<br />
<br />
First we create a helper filter:<br />
Open the filter editor and create a new filter, called '''Frances1'''. The filter should contain the rules<br />
<br />
* ''Ancestors of <person>'' choose Christiansen, Frances and check <tt>inclusive</tt>.<br />
* ''Descendants of <person>'' chose Christiansen, Frances <br />
<br />
Make sure that "At least one rule must be fulfilled" is chosen, so that we get both ancestors and descendants!<br />
<br />
Now we create the filter we will actually use for the report. It will be based on the previous filter: Create a new filter, called '''Frances2'''. This filter should contain the rules:<br />
<br />
* ''People matching the filter'', choose Frances1<br />
* ''Parents of filter'' Frances1<br />
* ''Siblings of filter'' Frances1<br />
* ''Spouses of filter'' Frances1<br />
<br />
Now close the filter editor, and follow the instructions given in Examples 1a and 1b, but this time choosing the filter '''Frances2''' in the '''Report Options''' tab.<br />
<br />
[[Image:RelationshipChartAncestorsAndDescendants_small.png|right|thumb|450px|Fig. A large chart. For the detailed image, [[Media:RelationshipChartAncestorsAndDescendants.png| click here (363kb!)]]]]<br />
<br />
The result is visible to the right (363kb, large file !)<br />
{{-}}<br />
<br />
== Example 3: Generating the graph by using the Graphviz command line tool ==<br />
<br />
{{man tip|Tips|Some tips around GraphViz are [http://bernaerts.dyndns.org/linux/74-ubuntu/287-ubuntu-graphviz-viewer-gnome-thumbnailer available].}}<br />
<br />
In the menu, select {{man menu|Reports -> Graphs -> Relationship Graph...}}.<br />
<br />
In the Bottom dialog:<br />
* '''Document Options''' set the '''Output Format''' to ''Graphviz file'', which defaults to the gv extension. This file is then a dot file which can be processed by Graphviz.<br />
<br />
Eg, to make from the gv file a ps file, Gramps uses:<br />
<br />
dot -Tps:cairo -o"file.ps" "file.gv"<br />
<br />
for svg:<br />
<br />
dot -Tsvg -o"file.svg" "file.gv"<br />
<br />
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-A)<br />
<br />
This file is a text file, so it can be opened in any text-editor.<br />
<br />
=== Manual changes ===<br />
The Graphviz '''.gv''' dot file is a text file with a well documented structure, (See: [http://www.graphviz.org/Documentation.php graphviz.org/Documentation] )<br />
<br />
digraph GRAMPS_graph<br />
{<br />
bgcolor=white;<br />
center="true"; <br />
charset="utf8";<br />
concentrate="false";<br />
dpi="72";<br />
graph [fontsize=14];<br />
....<br />
<br />
then the actual Gramps data are shown:<br />
<br />
I0585 [ shape="box" fillcolor="#e0e0ff" style="solid,filled" label="Kristensen, John Francis\"Chick\"\n(1889-10-10 - 1938-10-23)" ];<br />
<br />
You can optimize the layout by making changes in the file. <br />
*For paper size: look for the "page" (paper size) and "size" (area of paper to use), and change these to '''some large values'''. This is important as otherwise the figure will be wrongly scaled and the picture quality will be poor (eg unreadable text). <br />
*You can also change the font by adding a font family. Look for the lines<br />
node [style=filled fontsize="12"];<br />
:and change that into eg<br />
node [style=filled fontsize="12" fontname="Sans"];<br />
:to use the Sans font. On the command line you will see which ttf font Graphviz finds on your PC (using the verbose flag, see below).<br />
<br />
===Generation of the Image===<br />
Save the modified file under the name ''report.dot'', and run the command <br />
dot -Tpng -oreport.png report.dot<br />
This should use the graphviz "dot" tool to generate the .png file containing the report.<br />
<br />
To see information messages (like font) use the -v flag. You can also output other image formats, eg, for jpeg with verbose output:<br />
dot -Tjpg -oreport.jpg report.dot -v<br />
<br />
...<br />
Activated plugin library: libgvplugin_pango.so.5<br />
Using textlayout: textlayout:cairo<br />
Activated plugin library: libgvplugin_dot_layout.so.5<br />
Using layout: dot:dot_layout<br />
Using render: cairo:cairo<br />
Activated plugin library: libgvplugin_gd.so.5<br />
Using device: jpg:cairo:gd<br />
The plugin configuration file: /usr/lib/graphviz/config4 was successfully loaded.<br />
render : cairo dot fig gd map ps svg vml vrml xdot<br />
layout : circo dot fdp neato nop nop1 nop2 twopi<br />
textlayout : textlayout<br />
device : canon cmap cmapx cmapx_np dia dot fig gd gd2 gif hpgl imap imap_np ismap jpe jpeg jpg mif mp pcl pdf pic plain plain-ext png ps ps2 svg svgz vml vmlz vrml vtx wbmp xdot xlib<br />
loadimage : (lib) gd gd2 gif jpe jpeg jpg png ps<br />
dot: fontname "Times-Roman" resolved to: "Times New Roman, Normal" /usr/share/fonts/truetype/msttcorefonts/Times_New_Roman.ttf<br />
network simplex: 11 nodes 10 edges 0 iter 0.00 sec<br />
mincross: pass 0 iter 0 trying 0 cur_cross 0 best_cross 0<br />
mincross GRAMPS_graph: 0 crossings, 0.00 secs.<br />
network simplex: 23 nodes 37 edges 7 iter 0.00 sec<br />
routesplines: 10 edges, 30 boxes 0.00 sec<br />
Using render: cairo:cairo<br />
Using device: jpg:cairo:gd<br />
...<br />
<br />
== Printing large graphs ==<br />
If you want to print large graphs (especially with photos and other details) in reasonable readable quality, the following steps should work:<br />
# In Document Options choose SVG as output format.<br />
# Setup paper format to fit graph into one sheet (SVG cannot handle more than one sheet), so choose A0 or custom size.<br />
# Use [http://www.inkscape.org/ Inkscape] for opening SVG graph.<br />
# Menu File/Document properties, use "Fit page to selection" function (fix size accordingly to graph size).<br />
# Menu File/Save as, choose PDF format.<br />
<br />
You now have a large poster you could print. Inkscape cannot tile PDF for printing large graphs on many A4/A3 sheets, so you must use another software to do it for you. At home, you can print this on multiple A4/A3 sheets with other programs:<br />
* In Linux, the poster command line utility can split a poster over A4/A3/Letter. <br />
*# Install it via your package manager (or on CLI type for eg Ubuntu: ''sudo apt-get install poster''<br />
*# Read the man page, to eg split an A0 poster which is in postscript format, over 16 A4 do:<br />
poster -iA0 -mA4 -pA0 posterA0.ps > posterA4.ps <br />
* For Linux, Windows and Mac, you can also use the program [http://posterazor.sourceforge.net/ PosterRazor], which has an easy to use interface.<br />
* For Windows, you can use [http://www.noliturbare.com/pdf-tools/pdf-tiler Govert's PDF Tiler] (can maybe run on Linux too using [http://www.mono-project.com/Main_Page Mono], needs .NET 1.1)<br />
<br />
== Troubleshooting ==<br />
*If you encounter bad fonts (missing characters) or wrong fontsizes, see [[Howto:_Make_a_relationship_chart#Example_3:_Generating_the_graph_by_using_the_Graphviz_command_line_tool|Example 3]] on how you can set the font yourself.<br />
*If you have a bad resolution of png, eg unreadable text, this is probably because you have set a paper size which is to small. See [[Howto:_Make_a_relationship_chart#Example_1-A:_a_descendant_chart|Example 1-A]]: set the papersize of number of pages to a high number, but select in '''GraphViz Options''', in ''Aspect ratio'': <tt>Fill the given area</tt>, or use <tt>Compress to minimal size</tt><br />
<br />
{{man warn|Reports and custom IDs|After a GEDCOM import, your database can use some non-standard IDs (ie. 123I or 456U not set on {{man menu|Edit --> Preferences --> ID Formats}}). If generated reports do not properly display data, then try [[Gramps_4.1_Wiki_Manual_-_Tools#Reorder_Gramps_ID|Reorder Gramps IDs tool]] ({{man menu|Tools->Family Tree Processing->Reorder Gramps IDs}}).}}<br />
<br />
== Additional things to try ==<br />
* You can make descendant charts and add them to the media gallery of the person. Like that, the chart is available from the website. <br />
* 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 Chrome, see [[DenominoViso]]<br />
<br />
== Help improve the Graph reports ==<br />
If you examine the dot specifications, you will note that much more can be done with GraphViz output. If you have programming skills you can add some functionality:<br />
* Improved text in the boxes: what text and how to organize it?<br />
* Coloring. See the [[Gramps_4.1_Wiki_Manual_-_Reports_-_part_5#Family_Lines_Graph|Family Lines Graph]]: for a color per family, for specific relations, for the central person, ...<br />
<br />
== See also ==<br />
* [[Gramps_4.1_Wiki_Manual_-_Reports_-_part_5#Relationship_Graph|Relationship Graph - User Manual]].<br />
<br />
[[Category:Tutorials|Make a relationship chart]]</div>Peterhewetthttps://blog.gramps-project.org/wiki/index.php?title=Windows_installer&diff=43859Windows installer2013-01-28T07:49:13Z<p>Peterhewett: /* Additional plugins */ clarify wording</p>
<hr />
<div>{{languages}}<br />
<br />
Because Gramps has been designed and written in multi-platform resources (including Python and GTK), we have created a Windows installer that has been reported to work without any obvious issues. <br />
<br />
We do suggest the following:<br />
<br />
* Work with ''a copy'' of your main database and keep regular backups in the [[GRAMPS_XML|GRAMPS XML]] format.<br />
* Join the [https://lists.sourceforge.net/lists/listinfo/gramps-users Gramps Users mailing list] to share your experiences, especially if you are a developer able to contribute to a Windows port.<br />
* See also [[Gramps and Windows]] for a collection of hints to run Gramps on MS Windows.<br />
* Report any issues you find to help make Gramps better.<br />
<br />
==Installation==<br />
These instructions are specific to the Gramps (minimal) installer, which requires you to independently install Gramps dependencies prior to installing Gramps. Please ignore these instructions if you are using either the Gramps AIO installer or Portable Gramps application.<br />
<br />
(The Gramps AIO ("all-in-one") installer contains all the dependencies Gramps needs and many people find it much easier to install Gramps that way. See [[All In One Gramps Software Bundle for Windows|GrampsAIO]] for more information.)<br />
<br />
When you need to install the dependencies for Gramps there is the easy way and the hard way. You would only use the hard way if you have specific requirements ( such as specific versions ) that are not covered by the easy way.<br />
<br />
The essential dependencies that Gramps requires to run are:<br />
* Python 2.6.x or later (Gramps has not yet been ported to Python 3.x)<br />
* GTK runtime<br />
* GTK python bindings (PyGTK, PyGObject, PyCairo)<br />
<br />
=== Dependencies - The easy way ===<br />
Select the correct version of Python dependent on your operating system.<br />
{{man tip|Tip: |Currently (2011-6-20) the minimal installer only comes in a '''32 bit''' version, if you are running on a 64 bit operating system '''select a 32 bit Python installer'''}}<br />
<br />
<br />
;For Gramps 3.1.x and later<br />
{| {{prettytable}}<br />
!Order<br />
!Package Name<br />
!Download<br />
!Size<br />
!From<br />
!Comment<br />
|-<br />
|<!--Order-->1<br />
|<!--Package Name-->Python 2.6.6<br />
or later<br />
|<!--Download-->[http://www.python.org/ftp/python/2.6.6/python-2.6.6.msi python-2.6.6.msi]<br />
|<!--Size-->11 MB<br />
|<!--From-->[http://www.python.org python.org]<br />
|<!--Comment-->Python 2.6 has performance issues for some people.<br />
|-<br />
|<!--Order-->2<br />
|<!--Package Name-->PyGTK-all-in-one<br />
|<!--Download-->[http://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/2.22/ PyGTK-all-in-one GTK 2.22] <br />
|<!--Size-->Approx 32M<br />
|<!--From-->[http://www.pygtk.org/downloads.html PyGTK]<br />
|<!--Comment--> Select the version that matches your version of python. Note: while pygtk-all-in-one-2.24.x.win32-py2.x has been released it is recommended to still use pygtk-all-in-one-2.22.6.win32-py2.x due to bugs in gtk version 2.24.<br />
|}<br />
<br />
'''3.''' Install Gramps for Windows. You can download the most recent stable version from [https://sourceforge.net/projects/gramps/files/ SourceForge].<br />
<br />
=== Dependencies - The hard way ===<br />
'''1.''' Close any gtk-based applications that are running, such as the GIMP or Pidgin. See ''Common Problems'' below.<br />
<br />
'''2.''' Install the packages in the following order:<br />
<br />
;For Gramps 3.1.x and later<br />
{| {{prettytable}}<br />
!Order<br />
!Package Name<br />
!Download<br />
!Size<br />
!From<br />
!Comment<br />
|-<br />
|<!--Order-->1<br />
|<!--Package Name-->Python 2.6.6<br />
or later<br />
|<!--Download-->[http://www.python.org/ftp/python/2.6.6/python-2.6.6.msi python-2.6.6.msi]<br />
|<!--Size-->11 MB<br />
|<!--From-->[http://www.python.org python.org]<br />
|<!--Comment-->Python 2.6 has performance issues for some people.<br />
|-<br />
|<!--Order-->2<br />
|<!--Package Name-->GTK+ 2.16.6 or later<br />
|<!--Download-->[http://downloads.sourceforge.net/gtk-win/gtk2-runtime-2.16.6-2010-02-24-ash.exe GTK+ 2.16.6] <br />
|<!--Size-->7MB<br />
|<!--From-->[http://gtk-win.sourceforge.net gtk-win]<br />
|<!--Comment-->From Gramps 3.2.0 onwards, Glade is no longer a requirement for Gramps. The windows GTK runtime listed here is a viable alternative to the gtk-dev package. Note: If you receive a "libglib-2.0-0.dll not found" error in step 6, you will need to rerun the GTK installer and select "Compatibility DLLs" when installing.<br />
|- <br />
|<!--Order-->3<br />
|<!--Package Name-->pygtk 2.16.0 <br />
or later<br />
|<!--Download-->[http://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/2.16/pygtk-2.16.0.win32-py2.6.exe pygtk-2.16.0.win32-py2.6.exe]<br />
|<!--Size-->1.9 MB<br />
|<!--From-->[http://ftp.gnome.org/ ftp.gnome.org]<br />
|<!--Comment-->See ''Common Problems'' and ''Note'' below. "Run as admin" on Vista & later.<br />
|-<br />
|<!--Order-->4<br />
|<!--Package Name-->pygobject 2.20.0 <br />
or later<br />
|<!--Download-->[http://ftp.gnome.org/pub/GNOME/binaries/win32/pygobject/2.20/pygobject-2.20.0.win32-py2.6.exe pygobject-2.20.0.win32-py2.6.exe]<br />
|<!--Size-->163 KB<br />
|<!--From-->[http://ftp.gnome.org/ ftp.gnome.org]<br />
|<!--Comment-->"Run as admin" on Vista & later.<br />
|-<br />
|<!--Order-->5<br />
|<!--Package Name-->pycairo 1.4.12<br />
or later<br />
|<!--Download-->[http://ftp.gnome.org/pub/GNOME/binaries/win32/pycairo/1.4/pycairo-1.4.12-2.win32-py2.6.exe pycairo-1.4.12-2.win32-py2.6.exe]<br />
|<!--Size-->86 KB<br />
|<!--From-->[http://ftp.gnome.org/ ftp.gnome.org]<br />
|<!--Comment-->"Run as admin" on Vista & later.<br />
|-<br />
|<!--Order-->6<br />
|<!--Package Name-->Validate Install<br />
|<!--Download-->NA<br />
|<!--Size-->NA<br />
|<!--From-->NA<br />
|<!--Comment--><br />
The following recommendations are for the validation <br />
of the proper installation of the above listed <br />
Gramps software prerequisites. <br />
<br />
After installing the items above on a VISTA 64 bit <br />
Ultimate System; Gramps could not locate any of <br />
the above software except for Python. This caused <br />
the installer to not install Gramps.<br />
<br />
After some time researching the issue I found <br />
the solution to my problem in a post by <br />
"steve geo at [http://old.nabble.com/3.1.1-install-program-problem-td22636394.html old.nabble.com]".<br />
<br />
NOTE:<br />
These steps should validate an installation on XP, <br />
Vista and Windows 7 with the caveat that the command <br />
window on Vista and Windows 7 should be opened using <br />
the "Run as Administrator" (Set your mouse pointer <br />
over the command prompt icon and right-click your <br />
mouse button to display the menu. Click on the <br />
"Run as Administrator" item.)<br />
<br />
1. Open up command window (see note above)<br />
<br />
2. If you installed the gtk-runtime software in <br />
row 2 above (SKIP to ahead to 3.)<br />
Type gtk-demo and press the enter key.<br />
<br />
a) If the gtk demo program does not load <br />
then it is likely you do not have the<br />
gtk bin directory in your path correctly.<br />
(Add your installation directory to your<br />
path environment variable) <br />
<br />
3. Change to the directory where you installed the <br />
Python application. By default it is likely <br />
installed at C:\Python26. Once in this folder type <br />
python and press the enter key<br />
<br />
a) Your command window should show you information <br />
about the version of Python installed on your <br />
computer and your prompt should be different <br />
and will likely look like ">>>"<br />
b) If you do not have a <br />
"drive:\[your python install directory]" you <br />
should run the python installation program. <br />
c) If your prompt does not change. Re-install <br />
python and watch closely for errors or a <br />
different drive and directory for the installation. <br />
<br />
4. At the Python prompt - likely ">>>"<br />
<br />
a) import pygtk<br />
b) import gtk<br />
c) import gobject<br />
The above items should complete without errors.<br />
5. If you are updating from a prevous GTK version, make sure you have "Graphviz" folder path AFTER the "GTK2 runtime 2.16" folder.<br />
It should look like this (in this order) PATH=... C:\Program files\GTK2 Runtime\bin;C:\Program files\Graphviz2.26\bin;C:\Program files\GS\GS8.64\bin. If "Graphviz" is located before "GTK2 Runtime 2.16" in the PATH folder order Gramps will not start.<br />
<br />
6. Reboot your computer. After reboot run Gramps install.<br />
|-<br />
|<!--Order-->Optional<br />
|<!--Package Name-->Graphviz<br />
|<!--Download-->[http://www.graphviz.org/pub/graphviz/stable/windows/graphviz-2.26.msi graphviz-2.26.msi]<br />
|<!--Size-->31 MB<br />
|<!--From-->[http://www.graphviz.org/ graphviz.org]<br />
|<!--Comment-->Needed to be able to generate relationship graphs (single page PDFs only)<br />
|-<br />
|<!--Order-->Optional<br />
|<!--Package Name-->GhostScript<br />
|<!--Download-->[http://mirror.cs.wisc.edu/pub/mirrors/ghost/GPL/gs864/gs864w32.exe gs864w32.exe]<br />
|<!--Size-->11.9 MB<br />
|<!--From-->[http://pages.cs.wisc.edu/~ghost/ pages.cs.wisc.edu/~ghost]<br />
|<!--Comment-->Needed to be able to generate PDFs through Ghostscript (multiple pages PDFs) Need to add manually gs\gs8.64\bin folder to system path!<br />
|}<br />
<br />
'''Note''': For Gramps 3.0.x and earlier use:<br />
* GTK+ 2.10.11 => [http://downloads.sourceforge.net/gladewin32/gtk-dev-2.10.11-win32-1.exe?download gtk-dev-2.10.11-win32-1.exe] (11.9 MB) <br />
* pygtk 2.10.6 => [http://ftp.acc.umu.se/pub/GNOME/binaries/win32/pygtk/2.10/pygtk-2.10.6-1.win32-py2.5.exe pygtk-2.10.6-1.win32-py2.5.exe] (1.8 MB, from [http://www.acc.umu.se www.acc.umu.se])<br />
<br />
'''3.''' Re-boot the computer after installing the above dependencies, prior to installing Gramps.<br />
<br />
'''4.''' Install Gramps for Windows. You can download the most recent stable version from [https://sourceforge.net/projects/gramps/files/ SourceForge].<br />
<br />
==Common problems==<br />
<br />
===Installer complains pygtk is missing===<br />
This is a very common error to see when all dependencies are not installed or installed correctly. Please make sure that each of the packages required have installed correctly, and re-boot the computer prior to running the Gramps installer. We often see users attempting to use other packages to satisfy these requirements that omit something necessary (e.g., glade) which produce this error.<br />
<br />
In rare occasions, the installer will complain that pygtk is not installed even though everything is correct. Canceling and re-running the installer seems to fix this problem, although if it happens repeatedly, the error is the more severe situation discussed above. (Anyone know why? Please tell us on the [https://lists.sourceforge.net/lists/listinfo/gramps-windows gramps-windows email list].)<br />
<br />
===GTK+ installer error===<br />
If you already have GTK+ installed, perhaps because you have installed [http://gimp-win.sourceforge.net/stable.html The GIMP], [http://www.pidgin.im/ Pidgin], or [http://gnucash.org Gnu Cash], the GTK+ installer will not be able to write to some files if one of those applications is running. If you see errors with the GTK+ installer, select Cancel, shut down the other GTK+ applications and run the installer again. (This issue has been reported as [http://sourceforge.net/tracker/index.php?func=detail&aid=1852930&group_id=98754&atid=621933 GTK+ Installer doesn't handle locked files well] to the kind people who make the GTK+ installer for windows.)<br />
<br />
===ImportError: DLL load failed:===<br />
This error is becoming increasingly common on recent GTK+/Windows combinations. Gramps does not have DLL's itself, it is usually caused by one of Gramps dependencies (Most likely Gtk+ runtime, not finding a required dependency). As this issue is more complicated to diagnose we have another page [[ImportError: DLL load failed| ''ImportError: DLL load failed'']] dedicated to discussing the issue.<br />
<br />
===Hang when started===<br />
In some environments Gramps may be unresponsive after displaying its window after being started, particularly after the first time. This can be worked around by running Gramps via a BAT file which first sets GRAMPSHOME to an accessible directory, as discussed on the [[Gramps_and_Windows#Setting_the_configuration_path|''Gramps and Windows'' page]].<br />
<br />
==Additional plugins==<br />
<br />
There are some features of Gramps that need additional programs to work. There are several different kinds of reports, and the following features need extra configuration to work on Windows. <br />
<br />
* The Relationship Graph reports (both graph and code output formats) need an installation of [http://www.graphviz.org Graphviz]. There is a bug in the current stable release, see this [[Howto:_Make_a_relationship_chart#Example_3.2C_Generating_the_graph_by_using_the_Graphviz_command_line_tool |example]].<br />
* The Relationship Graph can not use PDF as output format unless there is an installation of [http://pages.cs.wisc.edu/~ghost/ ghostscript]. After installation, if gswin32.exe or gswin32c.exe is in the path, PDF should appear as one of the formats in the graphical Relationship Graph report.<br />
* '''Spell-checking:'''<br />
*# For spell-checking to work you first need [http://www.abisource.com/projects/enchant/ Enchant library] and python bindings [http://www.rfk.id.au/software/pyenchant/ PyEnchant]. Enchant appears to be a generic spell checking library. You can request dictionaries from it, ask if a word is correctly spelled, get corrections for a misspelled word, etc... PyEnchant is a set of language bindings and some wrapper classes to make the excellent Enchant spellchecker available as a Python module. Both are available for windows as single setup file:<br />
*#* [http://pypi.python.org/packages/any/p/pyenchant/pyenchant-1.5.3.win32.exe pyenchant-1.5.3.win32.exe]<br />
*# Secondly you need [http://www.pygtk.org/pygtkspell/ PyGTKSpell] from [http://www.pygtk.org/about.html gnome-python-extras] which is bindings allowing to run Python programs using the [http://gtkspell.sourceforge.net/ GtkSpell library], that extends GTK+'s GtkTextView widget with support for spell-checking. Depending of yours Python version download and install one of these:<br />
*#* [[Media:PyGTKSpell-2.25.3.win32-py2.6.zip|PyGTKSpell-2.25.3.win32-py2.6.exe]] or [http://nascent-project.org/barts/Spellchecker_for_Gramps_Portable_3.2.5_Development_Test_1.paf.exe pyenchant 1.5.3, PyGTKSpell 2.25.3] for Python 2.6<br />
*# To install additional dictionaries read tutorial on PyEnchant site:<br />
*#* http://www.rfk.id.au/software/pyenchant/tutorial.html#installation-dicts<br />
* GeoView needs WebKit and python-WebKit.<br />
Experimental versions are available [[GeoView#windows_XP.2FVista|for tests with python 2.6 under Windows]].<br />
<br />
==Limitations==<br />
<br />
When this minimal Windows installer was first written, there was no intent to package all the dependencies and the Gramps package into one installer. It is very complex to coordinate dependencies between Gramps and these other projects. It also means a single 30+ MB download every version change. However, later such a package was created and many people find it easier than personally installing all the dependencies; see [[All In One Gramps Software Bundle for Windows| GrampsAIO]] for more information.<br />
<br />
There have been discussions about trying to install compiled distillations (dynamic link libraries) of these core dependencies to avoid having to install the entire Python and GTK environment, but this work never progressed beyond discussion. For more about this and other Windows issues, see the [https://lists.sourceforge.net/lists/listinfo/gramps-windows email list] archive.<br />
<br />
On Windows Vista you will need to save the executable using "save as" and run it as administrator, otherwise the programs will not be able to write to the registry on installation. To do that right click the saved file and choose "run as administrator".<br />
<br />
== See also ==<br />
* [[Gramps and Windows]] describes users experiences using Gramps on Windows.<br />
* [https://lists.sourceforge.net/lists/listinfo/gramps-users Gramps users mailing list]<br />
<br />
[[Category:Documentation]][[Category:Developers/Packaging]]</div>Peterhewetthttps://blog.gramps-project.org/wiki/index.php?title=Template:Community/Intro&diff=28165Template:Community/Intro2011-04-02T22:45:14Z<p>Peterhewett: remove dead external link to frappr</p>
<hr />
<div> <div style="float:left;margin-right:0.9em">[[Image:gramps-logo.png|60px]]</div> Welcome to the [http://gramps-project.org GRAMPS] Community Portal! This space is reserved for the community around [[GRAMPS:About|GRAMPS]], the Free Software project for genealogy.<br />
<br />
<div style="text-align:center; margin-bottom:1em;">[[:Category:Community/General|General information]] | [[News]] | [[:Category:Community/Polls|Polls]] | [[Releases]] | [[Reviews]] | [[GRAMPS:Site support|Support]]</div><br />
<noinclude>{{languages|Template:Community/Intro}}</noinclude></div>Peterhewetthttps://blog.gramps-project.org/wiki/index.php?title=Gramps_3.0_Wiki_Manual_-_Tools&diff=6599Gramps 3.0 Wiki Manual - Tools2008-06-14T05:18:30Z<p>Peterhewett: /* Find Possible Duplicate People... */</p>
<hr />
<div>This chapter describes the various tools available in GRAMPS.<br />
<br />
GRAMPS tools allow you to perform various types of analysis of your genealogical data. Typically, the tools do not produce output in form of printouts or files. Instead, they produce screen output immediately available for the researcher. However, when appropriate, you can save the results of running a tool into a file. Tools present one of the major strengths of GRAMPS compared to the most genealogical software.<br />
<br />
The tools can be accessed through the menu by choosing ''' Tools ->Tool Section ->Particular Tool ''' . Alternatively, you can browse the complete selection of available tools along with their brief descriptions in a '''Tool Selection''' dialog invoked by clicking the {{man button|Tools}} icon on the toolbar.<br />
<br />
{{grampsmanualcopyright}}<br />
<br />
<br />
{{languages}}<br />
<br />
== Analysis and Exploration ==<br />
<br />
This section contains tools which analyze and explore the database, but do not alter it. The following analysis and exploration tools are currently available in GRAMPS:<br />
<br />
=== Compare Individual Events ===<br />
<br />
This tool compares events across the selected group of people. The people for this comparison are chosen with the use of custom filters. The custom filters can be created in the Custom Filter Editor (see ''tools-util-cfe'' ) that can be invoked by clicking the {{man button|Custom Filter Editor}} button. The resulting table produced by this tool can be saved as a spreadsheet.<br />
<br />
=== Interactive Descendant Browser ===<br />
[[Image:interactivedes.png|right|thumb|200px|Fig. z.z Descendant Browser]]<br />
<br />
<br />
First you have to select a person or you start with the current Active Person.<br />
<br />
Click on the menu '''Tools-->Analysis and Exploration-->Interactive Descendant Browser'''.<br />
<br />
This tool builds a tree with the Active Person being the root. Children branch from their parents in the usual manner.<br />
<br />
You can click the {{man button|down}} or {{man button|>}} buttons to expand or collapse the nodes.<br />
<br />
Use this tool for a quick glance of a person's descendants.<br />
<br />
<br />
<br />
{{man tip|1=Tip|2=Double-clicking on tree node will bring up the {{man label|Edit Person}} dialog allowing to view or modify the personal data.}}<br />
<br />
The {{man button|Help}} button will bring you to this page and with the {{man button|Close}} you close the Descendant Browser window.<br />
<br />
== Database Processing ==<br />
<br />
This section contains tools which may modify your database. The tools from this section are used mostly for finding and correcting errors in the data. The following database processing tools are currently available in GRAMPS:<br />
<br />
{{man note|1=Note |2=The modifications will only be performed upon your explicit consent, except for the automatic fixes performed by {{man label|Check and repair Database}} tool.}}<br />
<br />
=== Calculate Estimated Dates ===<br />
[[Image:calcestdates.png|right|thumb|200px|Fig. z.z Calculate Estimated Dates]]<br />
Click '''Tools-->Database Processing-->Calculate Estimated Dates...''' brings up a {{man label|Undo history warning}} window:<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
{{man warn|Undo history|Proceeding with this tool will erase the undo history for this session. In particular, you will not be able to revert the changes made by this tool or any changes made prior to it. If you think you may want to revert running this tool, please stop here and backup your database.}}<br />
<br />
You then choose {{man button|Stop}} or {{man button|Proceed}}.<br />
<br />
You will be presented with the {{man button|Calculate Estimated Dates}} window. This window has three tabs.<br />
<br />
*Options:<br />
<br />
**Filter: in the drop down menu you can select which portion of the database will be processed: you can also select the '''entire database''', '''Descendants''' of the Active Person, '''Descendant families''' of the Active Person, '''Ancestors''' of the Active Person, '''People with common ancestor''' with the Active Person, or any '''custom filter''' (see custom made filters).<br />
<br />
**Filter Person: the Active Person is listed in this field, but click on the {{man button|Select a different person}} will bring up a {{man label|Select a person for the report}} window. This window shows a list of people you can choose from. Use the {{man button|down}} arrow or th {{man button|>}} to expand and collapse the nodes. In the table you will see for which persons no birth or death date is available.<br />
<br />
In the left hand side lower corner there is a {{man label|Show all}} tick box. Clicking on this button will show all people in the database.<br />
<br />
**Source text: in this {{man label|text field}} you can fill in the text that will be used in the source reference. Default value is: ''Calculated Date Estimates''.<br />
<br />
Four tick boxes are available:<br />
<br />
** Remove previously added dates<br />
** Add estimated birth dates<br />
** Add estimated death dates<br />
** Display detailed results: will show details for every date entered.<br />
<br />
<br />
*Config:<br />
<br />
** Maximum age:<br />
** Maximum sibling age difference:<br />
** Minimum years between generations:<br />
** Average years between generations:<br />
<br />
=== Edit Database Owner Information ===<br />
[[Image:dataowner.png|right|thumb|200px|Fig. z.z Owner Info]]<br />
<br />
click '''Tools-->Database Porocessing-->Edit Database Owner information'''. This brings up the {{man label|Database Owner editor}} window, where you can fill in the needed info.<br />
<br />
*Name:<br />
*Adress:<br />
*City:<br />
*State/Province:<br />
*Country:<br />
*ZIP/Postal Code:<br />
*Phone:<br />
*Email:<br />
<br />
=== Extract Information from Names ===<br />
<br />
This tool searches the entire database and attempts to extract titles and nicknames that may be embedded in a person's {{man label|Given name}} field. If any information could be extracted, the candidates for fixing will be presented in the table. You may then decide which to repair as suggested and which not to.<br />
<br />
=== Extract Place Data from a Place Title ===<br />
<br />
This tool attempts to extract city and state/province from a place title.<br />
<br />
=== Find Possible Duplicate People... ===<br />
[[Image:duppeople.png|right|thumb|250px|Fig. z.z Duplicate People]]<br />
This tool searches the entire database, looking for the entries that may represent the same person.<br />
<br />
You can access this tool via '''Tool->Database Processing...->Find Possible Duplicate People...'''.<br />
<br />
Two options are available:<br />
*Match Threshold: choose between High, Medium and Low from the drop down menu.<br />
<br />
*Options: a check box to enable or disable the use of [[Gramps_3.0_Wiki_Manual_-_Tools#Use_of_SoundEx_module_in_GRAMPS|soundex]] codes.<br />
<br />
Only three buttons are present: {{man button|Help}} brings you to this page, a {{man button|Cancel}} to stop processing and an {{man button|OK}} button to start processing the data.<br />
<br />
If you hit the {{man button|OK}} button, the data will be processes in two passes.<br />
<br />
Pass 1: building preliminary lists<br />
Pass 2: calculating potential matches. A progress bar will be shown and depending the speed of the cpu and the amount of people in the database this can take some time.<br />
<br />
Finally a {{man label|Potential Merges}} window is presented. This window shows a list with three columns:<br />
*Rating: this gives you an idea of the resemblance between the two people. The higher the ranking, the higher the chance that the people are duplicates.<br />
*First Person<br />
*Second Person<br />
<br />
If you select a row you can check the details with the {{man button|Compare}} button or you can double-click on the selected row.<br />
<br />
Three buttons are present: {{man button|Help}} brings you to this page, a {{man button|Close}} to close the window and a {{man button|Compare}} button to which brings up a {{man label|Compare People}} window which was explain in detail in the [[Gramps_3.0_Wiki_Manual_-_Entering_and_Editing_Data:_Detailed#Merge_People|Merge People Dialog]]. Here you can select with the radio buttons one of the persons and eventually use the {{man button|Merge and close}} button to merge the data if you find the two persons are duplicates.<br />
<br />
Hitting the {{man button|Cancel}} button brings you back to the list.<br />
<br />
=== Fix Capitalization of Family Names... ===<br />
[[Image:capnames.png|right|thumb|200px|Fig. z.z Fix Capitalization]]<br />
This tool searches the entire database and attempts to fix the capitalization of family names. The aim is to have conventional capitalization: capital first letter and lower case for the rest of the family name. If deviations from this rule are detected, the candidates for fixing will be presented in the table. You may then decide which to repair as suggested and which not to.<br />
<br />
You can use this tool via '''Tools-->Database Processing-->Fix Capitalization of Family Names...'''.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
{{man warn|Undo history|Proceeding with this tool will erase the undo history for this session. In particular, you will not be able to revert the changes made by this tool or any changes made prior to it. If you think you may want to revert running this tool, please stop here and backup your database.}}<br />
<br />
<br />
<br />
<br />
You can choose {{man button|Stop}} or {{man button|Proceed with the tool}}.<br />
<br />
If there where changes to Capitalization of Names you will be presented with the {{man label|Capitalization changes}} window. The window shows a list of the family names that GRAMPS can convert to correct capitalization. In the list you will see a three columns: {{man button|Select}} check box(es), Original Name and Capitalization Change.<br />
<br />
Select the names you want to be changed, then hit the {{man button|Accept changes and close}} button. Or use the {{man button|Cancel}} button to abort changes.<br />
<br />
=== Rename Event Types ===<br />
[[Image:changeventype.png|right|thumb|200px|Fig. z.z Change type]]<br />
This tool allows all the events of a certain name to be renamed to a new name.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
{{man warn|Undo history|Proceeding with this tool will erase the undo history for this session. In particular, you will not be able to revert the changes made by this tool or any changes made prior to it. If you think you may want to revert running this tool, please stop here and backup your database.}}<br />
The {{man label|Change Event Types}} window is presented. This tool will rename all events of one type to a different type.<br />
<br />
*Original event type: fill in the text field or use the drop down menu and select an original event type<br />
*New event type: fill in the text field (you can create a complete new type here) or use the drop down menu and select a new type<br />
<br />
The example shows a renaming of the '''Birth''' event to a '''Baptism''' event. <br />
<br />
<br />
<br />
Finally use the {{man button|Cancel}} or the {{man button|OK}} button.<br />
<br />
{{man warn|1=Renaming events|2=Once completed, this cannot be undone by the regular {{man label|Undo}} function.}}<br />
<br />
=== Reorder GRAMPS ID ===<br />
<br />
This tool reorders will change aal the elements in the database to conform to the scheme specified in the database's prefix id's.<br />
<br />
You can change those settings in the '''Edit-->Preferences...-->ID Formats''' menu.<br />
<br />
You can use this tool via '''Tools-->Database Processing-->Reorder GRAMPS IDs'''.<br />
{{man warn|Undo history|Proceeding with this tool will erase the undo history for this session. In particular, you will not be able to revert the changes made by this tool or any changes made prior to it. If you think you may want to revert running this tool, please stop here and backup your database.}}<br />
<br />
The window will show a progress bar.<br />
<br />
In different steps following IDs' are reordered: Reordering People IDs', Reordering Family IDs', Reordering Event IDs', Reordering Media Object IDs', Reordering Source IDs', Reordering Place IDs', Reordering Repository IDs' and finally Reordering Note IDs'.<br />
<br />
In a next step unused IDs' are searched for and assigned.<br />
<br />
<br />
{{man warn|Custom IDs'|If you customized your IDs', all those setting are replaced by the default setting. So take care before you use this tool!}}<br />
<br />
== Database Repair ==<br />
<br />
=== Check and repair database ===<br />
<br />
This tool checks the database for integrity problems, fixing the problems it can. Specifically, the tool is checking for:<br />
<br />
*Broken family links. These are the cases when a person's record refers to a family while the family's record does not refer to that person, and vice versa.<br />
<br />
*Missing media objects. The missing media object is the object whose file is referenced in the database but does not exist. This can happen when the file is accidentally deleted, renamed, or moved to another location.<br />
<br />
*Empty families. These are the family entries which have no reference to any person as their member.<br />
<br />
*Parent relationship. This checks all families to ensure that father and mother are not mixed up. The check is also made that parents have different gender. If they have common gender then their relationship is renamed to "Partners".<br />
<br />
=== Rebuild Reference Maps ===<br />
<br />
=== Rebuild Secondary Indices ===<br />
<br />
=== Remove Unused Objects... ===<br />
<br />
This Tool will search your database for pieces of information which are not connected to anything else, and then remove them.<br />
<br />
== Debug ==<br />
<br />
=== Python Evaluation window... ===<br />
<br />
=== Reload Plugins ===<br />
<br />
As the name suggests this unloads and reloads all the plugins. In the GRAMPS system all the Reports and Tools are plugins, so this can help flush unwanted settings and load new plugins which you've added to the system since GRAMPS started.<br />
<br />
=== Show uncollected Objects ===<br />
<br />
<br />
== Utilities ==<br />
<br />
This section contains tools allowing you to perform a simple operation on a portion of data. The results can be saved in your database, but they will not modify your existing data. The following utilities are currently available in GRAMPS:<br />
<br />
=== Generate SoundEx codes ===<br />
<br />
==== SoundeEx what is this? ====<br />
This utility generates SoundEx codes for the names of people in the database. Please visit the NARA Soundex Indexing page to learn more about Soundex Indexing System.<br />
<br />
The soundex is a coded surname (last name) index based on the way a surname sounds rather than the way it is spelled. Surnames that sound the same, but are spelled differently, like SMITH and SMYTH, have the same code and are filed together. The soundex coding system was developed so that you can find a surname even though it may have been recorded under various spellings.<br />
<br />
First applied to the 1880 census, Soundex is a phonetic index, not a strictly alphabetical one. Its key feature is that it codes surnames (last names) based on the way a name sounds rather than on how it is spelled. It was to help researchers find a surname quickly even though it may have received different spellings.<br />
<br />
Those doing census lookups must use the same method to encode surnames as the census takers did when they generated the database. <br />
<br />
To search for a particular surname, you must first work out its code.<br />
<br />
*'''Basic Soundex Coding Rule:'''<br />
<br />
Every soundex code consists of a letter and three numbers, such as W-252. The letter is always the first letter of the surname. The numbers are assigned to the remaining letters of the surname according to the soundex guide shown below. Zeroes are added at the end if necessary to produce a four-character code. Additional letters are disregarded. Examples:<br />
Washington is coded W-252 (W, 2 for the S, 5 for the N, 2 for the G, remaining letters disregarded).<br />
Lee is coded L-000 (L, 000 added).<br />
<br />
Number Represents the Letters<br />
<br />
1 B, F, P, V<br />
<br />
2 C, G, J, K, Q, S, X, Z<br />
<br />
3 D, T<br />
<br />
4 L<br />
<br />
5 M, N<br />
<br />
6 R<br />
<br />
Disregard the letters A, E, I, O, U, H, W, and Y.<br />
<br />
*'''Additional Soundex Coding Rules:'''<br />
<br />
** Names With Double Letters: If the surname has any double letters, they should be treated as one letter. For example:<br />
Gutierrez is coded G-362 (G, 3 for the T, 6 for the first R, second R ignored, 2 for the Z).<br />
<br />
** Names with Letters Side-by-Side that have the Same Soundex Code Number: If the surname has different letters side-by-side that have the same number in the soundex coding guide, they should be treated as one letter. Examples:<br />
*** Pfister is coded as P-236 (P, F ignored, 2 for the S, 3 for the T, 6 for the R).<br />
*** Jackson is coded as J-250 (J, 2 for the C, K ignored, S ignored, 5 for the N, 0 added).<br />
*** Tymczak is coded as T-522 (T, 5 for the M, 2 for the C, Z ignored, 2 for the K). Since the vowel "A" separates the Z and K, the K is coded.<br />
<br />
** Names with Prefixes: If a surname has a prefix, such as Van, Con, De, Di, La, or Le, code both with and without the prefix because the surname might be listed under either code. Note, however, that Mc and Mac are not considered prefixes.For example, VanDeusen might be coded two ways:V-532 (V, 5 for N, 3 for D, 2 for S) or D-250 (D, 2 for the S, 5 for the N, 0 added).<br />
<br />
** Consonant Separators: If a vowel (A, E, I, O, U) separates two consonants that have the same soundex code, the consonant to the right of the vowel is coded. Example:Tymczak is coded as T-522 (T, 5 for the M, 2 for the C, Z ignored (see "Side-by-Side" rule above), 2 for the K). Since the vowel "A" separates the Z and K, the K is coded. If "H" or "W" separate two consonants that have the same soundex code, the consonant to the right of the vowel is not coded. Example: Ashcraft is coded A-261 (A, 2 for the S, C ignored, 6 for the R, 1 for the F). It is not coded A-226.<br />
<br />
<br />
==== Use of SoundEx module in GRAMPS ====<br />
[[Image:Soundexcode.png|thumb|right|200px|Fig. x.y SoundEx code generator]]<br />
Clicking via the Toolbar on '''Tools-->Utilities --> Soundex generator...''' you get the {{man label|SoundEx code generator}} window. In the {{man label|Name}} text field you can type in a name or you could use the {{man button|down }} arrow where you can should a name from the drop down list.<br />
<br />
The name you put in can by any name even a name not present in your Family Tree.<br />
<br />
<br />
<br />
<br />
The result is shown automatically: R236<br />
<br />
<br />
<br />
A {{man button|Help}} button is available which brings you to this page. With the {{man button|Close}} button (or hitting <alt+c>) you close this generator window.<br />
<br />
=== Media Manager... ===<br />
[[Image:mediamanagerfinal.png|right|thumb|250px|Fig. z.z Final confirmation window]]<br />
This tool allows batch operations on media objects stored in GRAMPS. An important distinction must be made between a GRAMPS media object and its file.<br />
<br />
The GRAMPS media object is a collection of data about the media object file: its filename and/or path, its description, its ID, notes, source references, etc. These data '''do not include the file itself'''.<br />
<br />
The files containing image, sound, video, etc. exist separately on your hard drive. These files are not managed by GRAMPS and are not included in the GRAMPS database. The GRAMPS database only stores the path and file names.<br />
<br />
This tool allows you to only modify the records within your GRAMPS database. If you want to move or rename the files then you need to do it on your own, outside of GRAMPS. Then you can adjust the paths using this tool so that th media objects store the correct file locations.<br />
<br />
If you click the {{man button|Forward}} button (or hit <Alt+F>) you will get a window with three radio buttons:<br />
* Replace substrings in the path: Selecting this radio button will bring up a {{man label|Replace substring settings}} window where you can type in any string in the {{man label|Replace}} text field and the {{man label|With}} text field. At any time you can click on the {{man button|Cancel}} button or the {{man label|Back}} button. Clicking the {{man button|Forward}} button will bring up the {{man label|Final confirmation}} window.<br />
* Convert paths from relative to absolute<br />
* Convert paths from absolute to relative<br />
<br />
=== Relationship calculator ===<br />
<br />
This utility calculates and displays the relationship of any person to the Active Person.<br />
<br />
=== Verify the Data... ===<br />
[[Image:verifydata.png|right|thumb|250px|Fig. z.z Verify the Data...]]<br />
This utility allows you to verify the database based on the set of criteria specified by you.<br />
<br />
For example, you may want to make sure that nobody in your database had children at the age of 98. Based on common sense, such a record would indicate an error. However, it is not a consistency error in the database. Besides, someone might have a child at the age of 98 (although this rarely happens). The Verify tool will display everything that violates your criteria so that you can check whether the record is erroneous or not. The ultimate decision is yours.<br />
<br />
<br />
Clicking on '''Tools-->Utilities-->Verify the Data...''' you will get a {{man label|Database Verify Tool}} window. The window has four tabs. Those tabs show a list with criteria and a input field where you can alter the criteria value. In the lists below I show some ''workable'' values.<br />
<br />
*'''General''':<br />
** maximum age: 95<br />
** minimum age to marry 16<br />
** maximum age to marry 60<br />
** maximum spouses for a person 4<br />
** maximum number of consecutive years of widowhood before next marriage 30<br />
** maximum age for an unmarried person 99<br />
<br />
There is a check box: ''estimate missing dates''.<br />
<br />
*'''Women''':<br />
** minimum age to bear a child 16<br />
** maximum age to bear a child 51<br />
** maximum number of children 15<br />
<br />
*'''Men'''<br />
** minimum age to father a child 18<br />
** maximum age to father a child 65<br />
** maximum number of children 15<br />
<br />
*'''Families'''<br />
** maximum husband-wife age difference 41<br />
** maximum number of years between children 11<br />
** maximum span of years for all children 32<br />
<br />
<br />
If you are OK with the criteria click the {{man button|Run}} button (or hit <Alt+R> and you will be presented with a {{man label|Database Verification Results}} window.<br />
<br />
Depending on your criteria and your data a list will be shown. Some possibilities of findings are listed below. But there are others.<br />
<br />
* Disconnected individuals : TODO further explain what how<br />
* old/dead father<br />
* marriage after death/ before birth<br />
* large year span for all children<br />
* early/late marriage<br />
* young/unborn mother<br />
* husband and wife with the same surname<br />
* same sex marriage/ female husband<br />
* ...<br />
<br />
To show how handy this {{man label|Utility}} is, here two live examples from real data:<br />
<br />
The warning showed 'female husband': checking the data I found a family with father : Anna Roelants. Luckily in the {{man label|Description}} I read: ''The marriage of Adam Roelants and Cornelia Crabbe''. It was clearly a typo: Anna i.s.o. Adam. Without this '''Tool''' it would be very hard to find.<br />
<br />
The warning showed 'late marriage': checking the data: male person °1738 female person °1756 : marriage X 1804 [French Republican Calender] : Everything seemed to be OK: so they (re)married at the age of 66 and 48 years!<br />
The warning showed up because the '''General criteria''' was set to '''60'''. <br />
<br />
On the bottom of the window four {{man label|check boxes}} are available to make a selection easier. Those are {{man label|Mark All}}, {{man label|Unmark All}}, {{man label|Invert Marks}}, and {{man label|Hide Marked}}. <br />
<br />
Double-clicking on a row will give you a possibility to view and or edit the data.<br />
<br />
With the {{man button|Close}} button (or hit <Alt+C>) you close the {{man label|Results}} window.<br />
With the {{man button|Help}} button (or hitting <Alt+H>) you will get to this page.<br />
<br />
<br />
<br />
<br />
<br />
<br />
{{man tip|Difference between Verify tool and previously described Check tool |The Check tool detects inconsistencies in the database structure. The Verify tool,however, is detecting the records that do not satisfy your particular criteria.}}<br />
<br />
For example, you may want to make sure that nobody in your database had children at the age of 98. Based on common sense, such a record would indicate an error. However, it is not a consistency error in the database. Besides, someone might have a child at the age of 98 (although this rarely happens). The Verify tool will display everything that violates your criteria so that you can check whether the record is erroneous or not. The ultimate decision is yours.<br />
<br />
===Custom Filter Editor===<br />
[[Image:cfe-df.png|right|thumb|150px|Fig.3.x Define filter]]<br />
The Custom Filter Editor builds custom filters that can be used to select people included in reports, exports, and other tools and utilities. This is in fact a very powerful tool in genealogical analysis.<br />
<br />
When you launch it, the {{man label|User defined filters}} dialog appears that lists all the filters (if any) previously defined by you. Click the {{man button|Add...}} button to define a new filter. Once you have designed your filters, you can edit, test, and delete selected filters using the {{man button|Edit...}} , {{man button|Test...}} , and {{man button|Delete}} buttons, respectively. All the filters displayed in the list will be automatically saved along with your database and will be available with subsequent sessions of GRAMPS.<br />
<br />
{{man note|1=Changes on filters |2=The changes made to the filters only take effect when you click the {{man button|Apply and close}} button.}}<br />
<br />
===Scratch Pad===<br />
<br />
This tool provides a temporary note pad to store database records for easy reuse. In short, this is a sort of the copy-and-paste functionality extended from textual objects to other types of records used in GRAMPS.<br />
<br />
{{man tip| Tip |Scratch Pad makes extensive use of drag-and-drop technique.}}<br />
<br />
To invoke Scratch Pad, either choose ''' Tools ->Utilities ->Scratch Pad ''' or click the {{man button|ScratchPad}} button on the toolbar. The following window will appear:<br />
<br />
[[Image:Scratch-pad.png|right|thumb|150px|Fig.3.xx Scratch pad]]<br />
<br />
Scratch Pad supports addresses, attributes (both personal and family), events (both personal and family), names, media objects references, source references, URLs, and of course textual information of notes and comments. To store any type of these records, simply drag the existing record on to the Scratch Pad from the corresponding editor dialog. To reuse the record, drag it from the Scratch Pad on to the corresponding place in the editor, e.g. Address tab, Attribute tab, etc.<br />
<br />
{{man tip| Tip |Some objects are showing the link icon on the left. This indicates that dragging such selection will produce a reference to an existing object, not copy the object itself.}}<br />
<br />
For example, the media object file will not be duplicated. Instead, the reference will be made to an existing media object, which will result in the local gallery entry.<br />
<br />
{{man tip| Tip |Scratch Pad storage is persistent within a single GRAMPS session. Closing the window will not lose the stored records. However, exiting GRAMPS will.}}<br />
<br />
<br />
{{man index|Gramps 3.0 Wiki Manual - Reports|Gramps 3.0 Wiki Manual - Settings}}<br />
<br />
<br />
[[Category:Documentation]]</div>Peterhewetthttps://blog.gramps-project.org/wiki/index.php?title=Mac_OS_X:Build_from_source&diff=4477Mac OS X:Build from source2008-01-03T08:36:57Z<p>Peterhewett: /* Mac OS X / X11 */ add vm as another option</p>
<hr />
<div>[[Category:Developers/Packaging]]<br />
There are three different ways of installing Gramps on Mac OS X. The two linked pages provide step by step instructions.<br />
<br />
=== Native Mac OS X ===<br />
<br />
You can install it as a [[native Mac OS X]] application which means that Gramps windows have the normal appearance of Macintosh Windows. This choice has fewer dependencies on installing other components. However, it has the disadvantage that drag and drop does not work, and there are issues with mouse clicks going missing, which make it much more difficult to enter information like sources which apply to many different people in your family tree. This is also in some ways a less mainstream approach so it may be harder to find help if you get into difficulties.<br />
<br />
=== Mac OS X / X11 ===<br />
<br />
The other choice is to install it as a [[Mac OS X X11]] application which means that the Gramps windows have an X11 appearance. You could download and install [http://www.openoffice.org/ OpenOffice] which is very easy to do and will show you what an X11 application looks like. Installing OpenOffice will not be wasted, because you will need it to be able to open reports from Gramps. <br />
<br />
Another option is to download [http://www.neooffice.org/ NeoOffice], which is a port of OpenOffice using Java so that it looks like a native Mac OS X application.<br />
<br />
Yet another option is to install a virtual server on your Mac (like VMware Fusion), create a virtual machine running Linux, and install Gramps in there. A Gnome based distro like Ubuntu would be a good choice for the Linux system.<br />
<br />
=== Source Install Options ===<br />
<br />
One can always install Gramps from scratch using the source code. This cane be done in one of three ways:<br />
# manually<br />
# using fink<br />
# using [http://www.macports.org/ macports]<br />
<br />
==== Source Code ====<br />
If you have all of the dependent libraries installed already, this should be straightforward. Just download the .tar.gz file, unpack it, and follow the INSTALL instructions. <br />
<br />
If, however, you do not have the dependencies installed, I would recommend installing Gramps through either Fink or Macports.<br />
<br />
==== Fink ====<br />
Installing Gramps as an X11 application is achieved by downloading and installing the packages on which Gramps depends using software called fink. The process is a bit longwinded, but most of the features of Gramps work, and drag and drop and mouse clicks work very well. If you choose this route, you may be able to get some help both from the Gramps community and the fink community. Detailed instructions can be found here: [[Mac OS X X11]].<br />
<br />
==== MacPorts ====<br />
MacPorts is essentially a similar type of program to fink. However, it was created (I believe) specifically for the darwin operating system base, upon which Mac OS X is based. <br />
<br />
See [[Mac_OS_X_X11#Installing_gramps_for_X11_using_MacPorts|detailed instructions ]] on the installation process.</div>Peterhewett