Difference between revisions of "Rule expansions"

From Gramps
Jump to: navigation, search
m (Rule Ammendments)
(FilterRules : Plugin Manager Rulebook Collection)
(37 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 +
{{Third-party plugin}}
 
{{#vardefine:chapter|Addons (Rules)}}
 
{{#vardefine:chapter|Addons (Rules)}}
 
  
 
=Rule Ammendments=
 
=Rule Ammendments=
{{man tip| 1=Changes to Rules are inconspicuous|2=New built-in Rules appear without any fanfare. Plus there a so many of them, grouped in so many subcategories that they may remain concealed.<br />Addons require downloading and installation, so the addon Rules have more visibility than the builtins. Plus they can be searched as a category in the Plugin Manager.}}
+
{{man tip| 1=Changes to Rules are inconspicuous|2=New built-in Rules appear without any fanfare. Plus there are so many of them, grouped in so many subcategories that they may remain concealed.<br />Addons require downloading and installation, so the addon Rules have more visibility than the builtins. Plus they can be searched as a category in the Plugin Manager.}}
 
[[File:Preferences UpdateAddons-Rule-51.png|thumb|right|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Preferences: Check for Updated Addons showing Rules]]
 
[[File:Preferences UpdateAddons-Rule-51.png|thumb|right|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Preferences: Check for Updated Addons showing Rules]]
Rules are the basic building blocks of Filters.
+
Rules are the basic building blocks of custom [[Filter|Filters]]. A wide variety of [[Gramps_{{man version}}_Wiki_Manual_-_Filters#Which_filter_rules_in_which_Category.3F|rules have been built-in for creating custom filters in each category]].
  
With the Release of Gramps version 5.1, the first addon Rules were released as [https://github.com/gramps-project/addons-source/tree/master/FilterRules examples of coding a Filter Rule addon]. [[{{Version manual}}_Addons#Installing_Addons_in_Gramps|Installing similarly to any other addon]], a New Rule appears as a menu item within [[Gramps_{{Version manual}}_Wiki_Manual_-_Filters#Add_Rule_dialog|Add Rule dialog]] while [[Gramps_{{Version manual}}_Wiki_Manual_-_Filters#Define_Filter_dialog|Defining a custom Filter]].  
+
With the release of [[Template:Releases/5.1.0|Gramps version 5.1]], the first addon Rules were [https://github.com/gramps-project/addons-source/tree/master/FilterRules posted as examples of coding a Filter Rule addon]. [[{{Version manual}}_Addons#Installing_Addons_in_Gramps|Installing similarly to any other addon]], a New Rule appears as a menu item within [[Gramps_{{Version manual}}_Wiki_Manual_-_Filters#Add_Rule_dialog|Add Rule dialog]] while [[Gramps_{{Version manual}}_Wiki_Manual_-_Filters#Define_Filter_dialog|Defining a custom Filter]].  
  
 
Filters created with these Rules can tested, cloned or deleted using the [[Gramps_5.1_Wiki_Manual_-_Filters#CategoryName_Filters_dialog|Filter Editor]]. The dialog is invoked from the {{Man menu|Edit}} menu in each Category view.
 
Filters created with these Rules can tested, cloned or deleted using the [[Gramps_5.1_Wiki_Manual_-_Filters#CategoryName_Filters_dialog|Filter Editor]]. The dialog is invoked from the {{Man menu|Edit}} menu in each Category view.
Line 14: Line 14:
 
* Find Families/People having Events with a specific Role  
 
* Find Families/People having Events with a specific Role  
 
:([https://github.com/gramps-project/addons-source/blob/master/FilterRules/hasrolerule.py source] and [https://github.com/gramps-project/addons-source/blob/master/FilterRules/hasrolerule.gpr.py info])
 
:([https://github.com/gramps-project/addons-source/blob/master/FilterRules/hasrolerule.py source] and [https://github.com/gramps-project/addons-source/blob/master/FilterRules/hasrolerule.gpr.py info])
:This example shows how to create a rule which applies to 2 Categories (Families & People) where with an Event having a spefic role
+
:This example shows how to create a rule which applies to 2 Categories (Families & People) where with an Event having a spefic [[Gramps_Glossary#event_role|Event Role]]
  
 
* hassourcefilter.py Fix FilterRules to recognize local po files 29 days ago
 
* hassourcefilter.py Fix FilterRules to recognize local po files 29 days ago
Line 27: Line 27:
  
 
=locating Filter Rule Add-Ons=
 
=locating Filter Rule Add-Ons=
[[File:EnhancedPlugInManager-addon-SearchRule 51win.png|thumb|right|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Search for '''''Rule''''' in the [[Plugin_Manager_Plugin|Enhanced Plugin Manager]]]]The Plugin Manager can be used for more than installing & updating plug-in  modules. It can help you discover the growing capabilities that might not be obvious.
+
[[File:EnhancedPlugInManager-addon-SearchRule 51win.png|thumb|right|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Search for '''''Rule''''' in the Enhanced Plugin Manager]]The [[Plugin_Manager_Plugin|Plugin Manager]] can be used for more than installing and updating plug-in  modules. It can help you discover the growing capabilities that might not be obvious.
  
Open the Plugin Manager from the Help menu and use its Search box to filter the view to only those addons which have a row or filename which include the 'Rule' term.
+
Open the {{Man menu|Plugin Manager}} from the {{Man menu|Help}} menu and use its Search box to filter the view to only those addons which have a row or filename which include the 'Rule' term.
  
 
[[File:EnhancedPlugInManager-addon-Info 51win.png|thumb|right|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Info on 'People related to ''<filter>''' addon Rule]]
 
[[File:EnhancedPlugInManager-addon-Info 51win.png|thumb|right|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Info on 'People related to ''<filter>''' addon Rule]]
Line 39: Line 39:
 
{{-}}
 
{{-}}
 
==Add-on Rules==
 
==Add-on Rules==
 +
Rules are added in sets/groups via the Plugin Manager. All the Rules in a set are added/removed when any Rule in that set is added/removed.
 +
 +
Each set supports Multilingual internationalization services through [https://www.gnu.org/software/gettext/manual/html_node/PO-Files.html .po and .pot] files using gettext.
 +
 +
In the few months that add-on Rules have been a feature, two sets of rules have been collected:
 +
 +
===[https://github.com/gramps-project/addons-source/tree/master/FilterRules FilterRules] : Plugin Manager Rulebook Collection===
 +
General Filter Rule Addons
 +
====People related to &lt;filter&gt;====
 +
<!-- isrelatedwithfiltermatch.py -->
 +
[[File:Rule_Person_Filter_Win.png|thumb|right|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Searching by Rule name]]{{icon|peop}}'''Person &bull; General filters''' [[{{Version manual}}_Addons|add-on]] rule to find [[Gramps_Glossary#person|Person(s)]] matching a specified filter.
 +
 +
Matches people who are related to anybody matched by a person filter.{{-}}[[File:Pythongadget.png|left|150px|link=https://github.com/gramps-project/addons-source/tree/master/FilterRules]]<code>'''isrelatedwithfiltermatch'''</code> provided as [https://github.com/gramps-project/addons-source/tree/master/FilterRules <code>sample '''.gpr.py''' & '''.py''' code</code> for writing add-on filter rules]. Demonstrates piping the output of one custom Filter into another.{{-}}
 +
 +
====People with events with a selected role====
 +
<!-- hasrolerule.py -->
 +
[[File:Rule_PersonEvent_Role_Win.png|thumb|right|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Searching for Person Rules which include the 'role' term.]]
 +
{{icon|peop}}'''Person &bull; Event filters''' [[{{Version manual}}_Addons|add-on]] rule to find [[Gramps_Glossary#person|Person(s)]] having any [[Gramps_Glossary#event|Event]] with a specified [[Gramps_Glossary#event_role|Event Role]].
 
{{-}}
 
{{-}}
  
 +
====Families with Events with a selected role====
 +
<!-- familieswitheventfiltermatch.py -->
 +
[[File:Rule_FamiliesEvent_Role_Win.png|thumb|right|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Searching by Rule name]]
 +
{{icon|fami}}'''Families &bull; Event filters''' [[{{Version manual}}_Addons|add-on]] rule to find [[Gramps_Glossary#family|Families]] having any Family member or shared Family level [[Gramps_Glossary#event|Event]] with a specified [[Gramps_Glossary#event_role|Event Role]].{{-}}[[File:Pythongadget.png|left|150px|link=https://github.com/gramps-project/addons-source/tree/master/FilterRules]]<code>'''hasrolerule'''</code> provided as [https://github.com/gramps-project/addons-source/tree/master/FilterRules <code>sample '''.gpr.py''' & '''.py''' code</code> for writing add-on filter rules]. Demonstrates including category variants of a rule in the same add-on.{{-}}
 +
 +
====Source matching parameters====
 +
<!-- hassourcefilter.py -->[[File:Rule_Sources_Parameters_Win.png|thumb|right|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Searching by Rule name]]
 +
{{icon|sour34}}'''Sources &bull; General filters''' [[{{Version manual}}_Addons|add-on]] rule to find [[Gramps_Glossary#source|Sources]] based on the following parameters: ''Title'', ''Author'', ''Abbreviation'', ''Publication''.
 +
 +
This add-on rule has similar options to the standard Filter Gramplet for the [[Gramps_{{Version manual}}_Wiki_Manual_-_Entering_and_editing_data:_detailed_-_part_2#New_Source_dialog|Source]] [[Gramps_{{Version manual}}_Wiki_Manual_-_Categories#Sources_Category|Category View]]. It can be used to save complex filter parameters.{{-}}[[File:Pythongadget.png|left|150px|link=https://github.com/gramps-project/addons-source/tree/master/FilterRules]]<code>'''hassourcefilter'''</code> provided as sample [[Addons_development#Create_a_Gramps_Plugin_Registration_file|.gpr.py]] & '''.py''' code for [https://github.com/gramps-project/addons-source/tree/master/FilterRules writing add-on filter rules]. Demonstrates text based filtering with RegEx options.{{-}}
 +
 +
====People Separated less than &lt;N&gt; degrees of &lt;Home person&gt;====
 +
<!-- degreesofseparation.py (1)-->
 +
[[File:Rule_DegreesOfSep_HomePerson_Win.png|thumb|right|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Searching for Person Rules which include the 'degrees' term.]]
 +
{{icon|peop}}'''Person &bull; Relationship filters''' [[{{Version manual}}_Addons|add-on]] rule to find [[Gramps_Glossary#person|Person(s)]] having  a relationship to the ''[[Gramps_Glossary#home_person|Home Person]]'' within a specified degree of [[Genealogy_Glossary#consanguinity|Consanguinity]] and [[Genealogy_Glossary#affinity|Affinity]].
 +
 +
The [[Gramps_Glossary#home_person|Home person]] is point of reference for calculating ('''&lt;N&gt;''') Degrees. For '''N''', Minimum value is 1, Maximum is value 32.
 +
 +
* '''Degree 1''': person/spouse + children ( &lt;zero N> ancestors, because the selected person is generation 1 + 1N descendants)
 +
* '''Degree 2''': person plus person’s parents, siblings, niece/nephew, children, grandchildren, etc. (= 1N ancestors + 2N descendants)
 +
* '''Degree 3''': persons grandparents and 3 generations down. (= 2N ancestors + 3N descendants).
 +
 +
The ancestors and descendants generations have an offset of 1 to mimic the built-in filter rule behavior.
 +
 +
[https://gist.github.com/Mattkmmr/4d0369cbee38bdf14395cb2f4505fb8a GitHub Repository files]
 
{{-}}
 
{{-}}
===Matches families with an event with a selected role===
+
 
* Aid
+
====People Separated less than &lt;N&gt; degrees of &lt;person&gt;====
* Bride
+
<!-- degreesofseparation.py (2)-->[[File:Rule_DegreesOfSep_PersonID_Win.png|thumb|right|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Searching Person rules by 'degrees' term; roll-over hint for ID.]]
* Celebrant
+
{{icon|peop}}'''Person &bull; Relationship filters''' [[{{Version manual}}_Addons|add-on]] rule to find [[Gramps_Glossary#person|Person(s)]] having  a relationship to a specified Person within a specified degree of [[Genealogy_Glossary#consanguinity|Consanguinity]] and [[Genealogy_Glossary#affinity|Affinity]].
* Clergy
+
 
* Family
+
[https://github.com/gramps-project/addons-source/pull/283 GitHub Repository files]
* Groom
+
{{stub}}
* Informant
+
====Events of families matching a &lt;family filter&gt;====
* Primary
+
Events of families matching a &lt;family filter&gt;
* Unknown
+
 
* Witness
+
====Families matching &lt;event filter&gt;====
 +
<!-- isfamilyfiltermatchevent.py -->
 +
Matches families that are matched by an event filter
 +
 
 +
====People who are part of families matching &lt;filter&gt;====
 +
<!-- infamilyrule.py -->
 +
 
 +
People who are part of families matching &lt;filter&gt;
  
 
{{-}}
 
{{-}}
  
===Matches people who are related to anybody matched by a person filter===
+
===[https://github.com/gramps-project/addons-source/tree/master/FilterRules2 FilterRules2] : Plugin Manager Rulebook Collection===
 +
Genetic Genealogy Filter Rule Addons
 +
{{stub}}
 +
====Matrilineal progenitrix of &lt;person&gt;====
 +
<!-- matrilinealprogenitrix.py -->
 +
Matches the earliest recorded matrilineal ancestor mother.
 +
 
 +
====Mitochondrial inheritance of &lt;filter&gt;====
 +
<!-- mtinheritanceoffiltermatch.py -->
 +
Matches recorded descendants of a filter result following mitochondrial inheritance patterns.
 +
 
 +
====Mitochondrial inheritance of &lt;person&gt;====
 +
<!-- mtinheritance.py -->
 +
Matches recorded descendants of person following mitochondrial inheritance patterns.
 +
 
 +
====Patrilineal progenitor of &lt;person&gt;====
 +
<!-- patrilinealprogenitor.py -->
 +
Matches the earliest recorded patrilineal ancestor father.
 +
 
 +
====X-chromosomal ancestors of &lt;person&gt;====
 +
<!-- xchromancestors.py -->
 +
Matches ancestors of &lt;person&gt; following a X-chromosomal inheritance pattern.
  
 +
====X-chromosomal descendants of &lt;person&gt;====
 +
<!-- xchromdescendants.py -->
 +
Matches descendants of &lt;person&gt; following a X-chromosomal inheritance pattern.
 +
 +
====Y-chromosomal inheritance of &lt;person filter&gt;====
 +
<!-- yinheritanceoffiltermatch.py -->
 +
Matches recorded descendants of a filter result following Y-chromosomal inheritance patterns.
 +
====Y-chromosomal inheritance of &lt;person&gt;====
 +
<!-- yinheritance.py -->
 +
Matches recorded descendants of person following Y-chromosomal inheritance patterns.
 
{{-}}
 
{{-}}
===Matches people with an event with a selected role===
 
  
{{-}}
+
===Pre-Release Rules===
===Matches sources with values containing the chosen parameters===
+
====Descendants of &lt;person&gt; sharing yDNA with each other====
{{-}}
+
Matches descendants of a &lt;person&gt; sharing yDNA
===People Separated less than &lt;N&gt; degrees of &lt;Home person&gt;===
+
<!--
[[File:Rule_DegreesOfSep_PersonID_Win.png|thumb|right|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Searching by Rule name]]
+
Hide the Active Person rule until the necessary patch is released in 5.1.3
{{-}}
+
 
===People Separated less than &lt;N&gt; degrees of &lt;person&gt;===
+
====The Active Person====
[[File:Rule_DegreesOfSep_HomePerson_Win.png|thumb|right|450px|Fig. {{#var:chapter}}.{{#vardefineecho:figure|{{#expr:{{#var:figure}}+1}}}} Degrees of Separation add-on Rule]]
+
The active Person
  
{{-}}
+
Requires a [https://gramps.discourse.group/t/custom-filters-based-on-currently-selected-person-s/354/17 patch] to be compatible with the Person Grouped View
 +
-->
  
 
=The Evolution of of Rules as Add-Ons=
 
=The Evolution of of Rules as Add-Ons=
Line 118: Line 199:
 
* [https://github.com/gramps-project/addons-source/tree/master/FilterRules Sample addon Filter code]
 
* [https://github.com/gramps-project/addons-source/tree/master/FilterRules Sample addon Filter code]
 
== See also ==
 
== See also ==
 +
* [[Gramps_{{man version}}_Wiki_Manual_-_Filters#Which_filter_rules_in_which_Category.3F|Built-in rules by category]]
 
* [[Brief_introduction_to_Git|Git introduction]]
 
* [[Brief_introduction_to_Git|Git introduction]]
* https://github.com/gramps-project/addons-source - Source code (Git)
+
* [https://github.com/gramps-project/gramps/tree/master/gramps/gen/filters/rules Built-in Rules Source code] (Git)
 +
* [https://github.com/gramps-project/addons-source Add-on Rules Source code] (Git)
 
* [https://developer.gnome.org/gtk3/stable/ch03.html Gtk+ widget gallery] - Gnome development sample code
 
* [https://developer.gnome.org/gtk3/stable/ch03.html Gtk+ widget gallery] - Gnome development sample code
* https://github.com/gramps-project/addons - downloadable .tgz files
+
* [https://github.com/gramps-project/addons downloadable .tgz files] (Git)
 
* [[Addons_development|Addons Development]]
 
* [[Addons_development|Addons Development]]
 
* [[Writing_a_plugin|Writing a Plugin]]
 
* [[Writing_a_plugin|Writing a Plugin]]
Line 130: Line 213:
 
* [Gramps-devel]: [https://sourceforge.net/p/gramps/mailman/message/28524592 Sequencing of filter rules?]
 
* [Gramps-devel]: [https://sourceforge.net/p/gramps/mailman/message/28524592 Sequencing of filter rules?]
 
* [Gramps-devel]: [https://sourceforge.net/p/gramps/mailman/message/7969670/ filter rules]
 
* [Gramps-devel]: [https://sourceforge.net/p/gramps/mailman/message/7969670/ filter rules]
* [Gramps-users]: [https://sourceforge.net/p/gramps/mailman/message/25097338/ Gramplet writing - newbie help needed]
+
* [Gramps-users]: [https://sourceforge.net/p/gramps/mailman/gramps-users/thread/4BD58852.3040705%40o2.co.uk/#msg25097338 Gramplet writing - newbie help needed]
  
 
*based on the [https://sourceforge.net/p/gramps/mailman/gramps-users/ Gramps-users] archived threads:
 
*based on the [https://sourceforge.net/p/gramps/mailman/gramps-users/ Gramps-users] archived threads:
Line 142: Line 225:
 
[[Category:Addons]]
 
[[Category:Addons]]
 
[[Category:Plugins]]
 
[[Category:Plugins]]
[[Category:WikiContributors]][[Category:How do I...]]
+
[[Category:How do I...]]
  
 
<!--
 
<!--
Line 234: Line 317:
 
{{man warn|1=WarningTitle/Heading |2=warning text }}</onlyinclude>
 
{{man warn|1=WarningTitle/Heading |2=warning text }}</onlyinclude>
 
-->
 
-->
{{Languages|Rule expansions}}
 

Revision as of 22:42, 29 October 2020

Gramps-notes.png

Please use carefully on data that is backed up, and help make it better by reporting any comments or problems to the author, or issues to the bug tracker
Unless otherwise stated on this page, you can download this addon by following these instructions.
Please note that some Addons have prerequisites that need to be installed before they can be used.
This Addon/Plugin system is controlled by the Plugin Manager.


Rule Ammendments

Tango-Dialog-information.png
Changes to Rules are inconspicuous

New built-in Rules appear without any fanfare. Plus there are so many of them, grouped in so many subcategories that they may remain concealed.
Addons require downloading and installation, so the addon Rules have more visibility than the builtins. Plus they can be searched as a category in the Plugin Manager.

Fig. Addons (Rules).1 Preferences: Check for Updated Addons showing Rules

Rules are the basic building blocks of custom Filters. A wide variety of rules have been built-in for creating custom filters in each category.

With the release of Gramps version 5.1, the first addon Rules were posted as examples of coding a Filter Rule addon. Installing similarly to any other addon, a New Rule appears as a menu item within Add Rule dialog while Defining a custom Filter.

Filters created with these Rules can tested, cloned or deleted using the Filter Editor. The dialog is invoked from the Edit menu in each Category view.


locating Filter Rule Add-Ons

Fig. Addons (Rules).2 Search for Rule in the Enhanced Plugin Manager

The Plugin Manager can be used for more than installing and updating plug-in modules. It can help you discover the growing capabilities that might not be obvious.

Open the Plugin Manager from the Help menu and use its Search box to filter the view to only those addons which have a row or filename which include the 'Rule' term.

Fig. Addons (Rules).3 Info on 'People related to <filter>' addon Rule

Add-on Rules that have been peer-reviewed will be added to Gramps' Update Manager system. This automates the installation process

When manually installed, each add-on rule's Python source code (.py) file and Gramps Plugin Registration (.gpr.py) file will be located in the \gramps5.2\plugins\FilterRules\ subdirectory of your User Directory

Looking at the Info on any currently installed Rule will verify the file location where add-on rules have been installed.

Add-on Rules

Rules are added in sets/groups via the Plugin Manager. All the Rules in a set are added/removed when any Rule in that set is added/removed.

Each set supports Multilingual internationalization services through .po and .pot files using gettext.

In the few months that add-on Rules have been a feature, two sets of rules have been collected:

FilterRules : Plugin Manager Rulebook Collection

General Filter Rule Addons

People related to <filter>

Fig. Addons (Rules).4 Searching by Rule name

PeoplePerson • General filters add-on rule to find Person(s) matching a specified filter. Matches people who are related to anybody matched by a person filter.

Pythongadget.png

isrelatedwithfiltermatch provided as sample .gpr.py & .py code for writing add-on filter rules. Demonstrates piping the output of one custom Filter into another.

People with events with a selected role

Fig. Addons (Rules).5 Searching for Person Rules which include the 'role' term.

PeoplePerson • Event filters add-on rule to find Person(s) having any Event with a specified Event Role.

Families with Events with a selected role

Fig. Addons (Rules).6 Searching by Rule name

FamilyFamilies • Event filters add-on rule to find Families having any Family member or shared Family level Event with a specified Event Role.

Pythongadget.png

hasrolerule provided as sample .gpr.py & .py code for writing add-on filter rules. Demonstrates including category variants of a rule in the same add-on.

Source matching parameters

Fig. Addons (Rules).7 Searching by Rule name

Sources (v3.4.x)Sources • General filters add-on rule to find Sources based on the following parameters: Title, Author, Abbreviation, Publication.

This add-on rule has similar options to the standard Filter Gramplet for the Source Category View. It can be used to save complex filter parameters.

Pythongadget.png

hassourcefilter provided as sample .gpr.py & .py code for writing add-on filter rules. Demonstrates text based filtering with RegEx options.

People Separated less than <N> degrees of <Home person>

Fig. Addons (Rules).8 Searching for Person Rules which include the 'degrees' term.

PeoplePerson • Relationship filters add-on rule to find Person(s) having a relationship to the Home Person within a specified degree of Consanguinity and Affinity.

The Home person is point of reference for calculating (<N>) Degrees. For N, Minimum value is 1, Maximum is value 32.

  • Degree 1: person/spouse + children ( <zero N> ancestors, because the selected person is generation 1 + 1N descendants)
  • Degree 2: person plus person’s parents, siblings, niece/nephew, children, grandchildren, etc. (= 1N ancestors + 2N descendants)
  • Degree 3: persons grandparents and 3 generations down. (= 2N ancestors + 3N descendants).

The ancestors and descendants generations have an offset of 1 to mimic the built-in filter rule behavior.

GitHub Repository files

People Separated less than <N> degrees of <person>

Fig. Addons (Rules).9 Searching Person rules by 'degrees' term; roll-over hint for ID.

PeoplePerson • Relationship filters add-on rule to find Person(s) having a relationship to a specified Person within a specified degree of Consanguinity and Affinity.

GitHub Repository files

Gramps-notes.png

This article's content is incomplete or a placeholder stub.
Please update or expand this section.


Events of families matching a <family filter>

Events of families matching a <family filter>

Families matching <event filter>

Matches families that are matched by an event filter

People who are part of families matching <filter>

People who are part of families matching <filter>


FilterRules2 : Plugin Manager Rulebook Collection

Genetic Genealogy Filter Rule Addons

Gramps-notes.png

This article's content is incomplete or a placeholder stub.
Please update or expand this section.


Matrilineal progenitrix of <person>

Matches the earliest recorded matrilineal ancestor mother.

Mitochondrial inheritance of <filter>

Matches recorded descendants of a filter result following mitochondrial inheritance patterns.

Mitochondrial inheritance of <person>

Matches recorded descendants of person following mitochondrial inheritance patterns.

Patrilineal progenitor of <person>

Matches the earliest recorded patrilineal ancestor father.

X-chromosomal ancestors of <person>

Matches ancestors of <person> following a X-chromosomal inheritance pattern.

X-chromosomal descendants of <person>

Matches descendants of <person> following a X-chromosomal inheritance pattern.

Y-chromosomal inheritance of <person filter>

Matches recorded descendants of a filter result following Y-chromosomal inheritance patterns.

Y-chromosomal inheritance of <person>

Matches recorded descendants of person following Y-chromosomal inheritance patterns.

Pre-Release Rules

Descendants of <person> sharing yDNA with each other

Matches descendants of a <person> sharing yDNA

The Evolution of of Rules as Add-Ons

Gramps 5.1.1 (Sept. 2019)

  • Fix bug 0011114: resolve crashes in withinarea filter rule:
Avoid bad coordinates in the ref place
Avoid alphabetic characters in filter rules
Could not convert string to float by using withinarea filter rule
Difference between sidebar filter and filter rule
Fix Bug 0011293 Fix internationalization issue where untranslated English GUI items appear in Event filter

Gramps 5.1.0 (Aug. 2019)

  • New feature : Filter Rules can now be expanded through the addons interface.
  • Filter Rule editor, save pane position
  • Fix Bugs 0007950 and 0011430: Name Filter rule now supports multiple attribute: Check all values of an attribute type and not only the first one
  • filters rule have children person filter: Check all families of a person for children and not only the first
  • Person Sidebarfilter:
Fix Person Sidebarfilter when using ‘Event’ and Reg expressions
In personsidebarfilter, search on each part of name Instead of requiring that the entire search string matches a single one of the Person’s names, the function will require that each word in the search string matches any of the Person’s name fields.
  • Fix exception when merging with active sidebar filter

Gramps 5.0.2 (Aug. 2019)

  • Fix bug 0010509: resolves silent fail - relationship path between filter rule when parent is missing
  • Fix crash when using sidebar filter and merging in another view
  • Fix Place Tree view when using enclosed by sidebar filter
  • Fix Relationship Graph; extra people when using filters & subgraphs

Gramps 5.0.1 (Dec. 2018)

  • Fix bug 0010685: resolves crash in IsDuplicatedAncestorOf filter rule on tree loop
  • Fix Person Sidebarfilter when using ‘Event’ and Reg expressions
  • Fix FilterParser for much older 3.x custom_filters.xml files
  • Fix crash when a filter with loop in definition is defined
  • Fix view so column widths are preserved when using filters

Gramps 5.0.0 (Jul. 2018)

  • Fix Custom filter update when created via sidebar.

Developing New Rule Add-Ons

Beginning with version 5.0, Gramps implemented an database API (application programming interface) infrastructure supporting user selectable backends. This new exploration of database support lead developer to extend the add-on (plug-in) framework to support expanding Filter Rules via the Plugin Manager.

The 5.1 release changed the default database backend from BSDDB (Berkeley database) to SQLite. With the broader group of user familiar with optimizing searches, it made sense to open Gramps to the specialized knowledge.

Resources

See also

The Group As name override
unify similar surmanes thread
threads with "Group As name"