https://blog.gramps-project.org/wiki/api.php?action=feedcontributions&user=Romjerome&feedformat=atomGramps - User contributions [en]2024-03-29T14:53:44ZUser contributionsMediaWiki 1.31.3https://blog.gramps-project.org/wiki/index.php?title=GEPS_041:_New_Selector&diff=90722GEPS 041: New Selector2022-02-20T11:58:31Z<p>Romjerome: /* Clever search for each selector */</p>
<hr />
<div>What should be part of the [https://en.wikipedia.org/wiki/List_box Selector]?<br />
<br />
==What is the need?==<br />
<br />
# Select one record (object) via the '''G'''raphical '''U'''ser '''I'''nterface<br />
# Display main data, for letting the user make the selection<br />
# Usability and consistency<br />
# Search and filter features<br />
<br />
===Screenshots===<br />
<br />
[[File:Select-person_42.png|Person selector]]<br />
<br />
[[File:Select-family_42.png|Family selector]]<br />
<br />
{{-}}<br />
<br />
==Usage, goal and Usability==<br />
<br />
# Selection<br />
# Edition<br />
<br />
===Additional features and related concepts===<br />
<br />
# Reports<br />
# Filtering for selecting a group of records (objects)<br />
# Navigation, history and active objects<br />
# Runtime and performance<br />
# Selection expected by the user, marked and tagged objects<br />
# refining a selection<br />
<br />
====[[Gramps_4.2_Wiki_Manual_-_Filters#Filter_vs._Search|Filter vs. Search]]====<br />
<br />
There are two ways to find data in Gramps: ''Search'' and ''Filter''.<br />
<br />
* The '''Search''' will only match what is '''visible'''.<br />
* '''Filters''' are not limited to what you see on the screen, but looks at the actual data.<br />
See some [[Example_filters|filters]] for more details.<br />
<br />
====Search Bar====<br />
<br />
The current design of the ''Search bar'' lets us find '''visible data''' on '''active column'''.<br />
The ''Search Bar'' is often available on selectors.<br />
<br />
====Set of filter rules====<br />
<br />
For now, some selectors, on reports and on Family Editor, provide a ''fast filter'', '''by default'''.<br />
<br />
The ''Search bar'' is disabled and an additional ''Show all'' button is available at the bottom <br />
of the dialog. <br />
<br />
These windows are trying to provide a '''quick''' and '''common selection''' of people.<br />
<br />
e.g., filtered ''by gender'' on Family Editor, or ''bookmarked people'' on reports.<br />
<br />
[[File:Select-mother.png|Mother selector via fast filtering and 'Show all' button at the bottom]]<br />
<br />
{{-}}<br />
<br />
====Interactive Search====<br />
<br />
For limiting a gtk issue on ''Search'' field, gramps42 has it '''own interactive search widget'''.<br />
<br />
Just write the first letters of the word on the dialog, and the cursor will try to find this word.<br />
<br />
Like the ''[[Gramps_4.2_Wiki_Manual_-_Keybindings#All_List_Views_bindings|Find]]'' shortcut box, available with {{Man key press|CTRL|F}} or {{Man key press|CMND|F}}.<br />
<br />
===Limits on current selectors===<br />
<br />
# Time for search<br />
# Performance<br />
# Few fast filter rules, by default<br />
# Consistency, mixup of features and widgets<br />
# Hierarchically grouping records (e.g., Person, Place) in the Selector cripples sorting capabilities. Sub-sorting within grouping by "Last Changed" is of little value compared for the entire list. Add option to use Flat lists?<br />
<br />
{{man note|Note, there was a [[#Interactive_Search|Gtk SearchEntry bug (latency and collapsed seizure)]] limiting a good search match: max_length(3).|Fixed since gramps 4.2.0, see bug report {{bug|1450}}.}}<br />
<br />
==Proposals==<br />
<br />
'''Optional''' proposals.<br />
<br />
[[File:GEP41_new_selector.png|675px|Search and filter on new selector]]<br />
<br />
===Displayed columns===<br />
<br />
<br />
'''Current Selectors''':<br />
{|class="wikitable"<br />
! | Selector<br />
! Columns and search keys<br />
! Interactive Search key<br />
|-<br />
|Person<br />
|Name, ID, Gender, Birth Date, Birth Place, Death Date, Death Place, Spouse, Last Change<br />
|Name<br />
|-<br />
|Family<br />
|ID, Father, Mother, Last Change<br />
|ID<br />
|-<br />
|Event<br />
|Type, Main Participants, Date, Place, Description, ID, Last Change<br />
|Type<br />
|-<br />
|Place<br />
|Name, ID, Type, Title, Last Change<br />
|Name<br />
|-<br />
|Source<br />
|Title, Author, ID, Last Change<br />
|Title<br />
|-<br />
|Citation<br />
|Source: Title or Citation: Volume/Page, ID, Last Change<br />
|Source: Title<br />
|-<br />
|Repository<br />
|Title, ID, Last Change<br />
|Title<br />
|-<br />
|Media<br />
|Title, ID, Type, Last Change<br />
|Title<br />
|-<br />
|Note<br />
|Preview, ID, Type, Tags, Last Change<br />
|Preview<br />
|-<br />
|}<br />
<br />
'''New Selectors''':<br />
{|class="wikitable"<br />
! | Selector<br />
! Columns<br />
! Interactive Search key<br />
! Search keys with regex support<br />
|-<br />
|Person<br />
|Name, ID, Gender, Birth Date, Birth Place, Death Date, Death Place, Spouse, Last Change<br />
|Name<br />
|Name, ID, Gender, Birth Date, Birth Place, Death Date, Death Place, Spouse<br />
|-<br />
|Family<br />
|ID, Father, Mother, Last Change<br />
|ID<br />
|ID, Father, Mother<br />
|-<br />
|Event<br />
|Type, Main Participants, Date, Place, Description, ID, Last Change<br />
|Type<br />
|Type, Main Participants, Date, Place, Description, ID<br />
|-<br />
|Place<br />
|Name, ID, Type, Title, Last Change<br />
|Name<br />
|Name, ID, Type, Title<br />
|-<br />
|Source<br />
|Title, Author, ID, Last Change<br />
|Title<br />
|Title, Author, ID<br />
|-<br />
|Citation<br />
|Source: Title or Citation: Volume/Page, ID, Last Change<br />
|Source: Title<br />
|Source: Title or Citation: Volume/Page, ID<br />
|-<br />
|Repository<br />
|Title, ID, Last Change<br />
|Title<br />
|Title, ID<br />
|-<br />
|Media<br />
|Title, ID, Type, Last Change<br />
|Title<br />
|Title, ID, Type<br />
|-<br />
|Note<br />
|Preview, ID, Type, Tags, Last Change<br />
|Preview<br />
|Preview, ID, Type, Tags<br />
|-<br />
|}<br />
<br />
===Fast filter by default===<br />
<br />
Ability to have a fast filter with the last active objects and bookmarked objects.<br />
<br />
Some experimentations have been made on feature request {{bug|5024}}.<br />
<br />
Current selector ecosystem already provides this ability.<br />
<br />
See [[#Screenshots|Person selector]] on reports and [[#Set_of_filter_rules|Father/Mother selector]] on Family Editor.<br />
<br />
{{man note|''On gramps '''4.2.2''', there was a bug {{bug|9315}} on the '''Show all'''/'''Search''' load''.}}<br />
<br />
===Clever search for each selector===<br />
<br />
See selector and query on [https://github.com/gramps-project/gramps_connect gramps-connect].<br />
<br />
[[File:Gramps_connect_query.png|Search query and filter on gramps_connect]]<br />
<br />
Ability to also use one search field matching on multiple columns (''names'', ''ID'', ''dates'', etc.)<br />
<br />
[[File:Gramps_connect_search.png|675px|Search on gramps_connect]]<br />
<br />
See also [https://cloud.githubusercontent.com/assets/310024/13737225/d8c0a7d4-e978-11e5-9e9f-58a6c4c162a5.png search on filter rules editor]<br />
<br />
===Interface for handling and selecting custom filters on selectors===<br />
<br />
* [[UI_style|User Interface Style]]<br />
* [https://raw.githubusercontent.com/gnome-design-team/gnome-mockups/master/nautilus/nautilus-next/search-filters-wires.png Mockups] and [https://csorianognome.wordpress.com/2016/02/08/nautilus-3-20-and-looking-forward/ new features] since gtk+ 3.20.<br />
<br />
===Additional proposals===<br />
<br />
# Replace the ''Show all'' check box at the bottom by a ''Switcher'' at the top of the dialog.<br />
<br />
[[File:GEP41_fast_filter.png|GtkSwitcher]]<br />
<br />
===History===<br />
<br />
* Provide dynamic groups of objects based on the date of the last edition.<br />
<br />
** via API<br />
<br />
time = object.get_change_time()<br />
<br />
last = today<br />
group1 = from today to 1 week back<br />
group2 = from today to 2 weeks back<br />
group3 = from today to 1 month back<br />
group4 = from today to 6 months back<br />
group5 = more than 6 months back<br />
<br />
** via Filter<br />
<br />
sfilter.add_rule(rules.event.ChangedSince(["''Today date''", ""]))<br />
where "''Today date''" uses ISO-date format.<br />
<br />
* Displayed items can be sorted by change time<br />
<br />
==See also==<br />
<br />
* [https://github.com/gramps-project/gramps/tree/master/gramps/gui/selectors gramps/gui/selectors]<br />
<br />
* [[Database_Query_API]]<br />
<br />
=== Feature requests ===<br />
*{{bug|9837}}: More than 10 items in 'Latest Change' Gramplet list<br />
*{{bug|9814}}: Expanded Place tree when selecting existing place<br />
*{{bug|9276}}: <s>Need ability to search alternate place names when selecting place</s><br />
*{{bug|8762}}: Last Used places in the Select Place window<br />
*{{bug|8743}}: Search for place needs more options <br />
*{{bug|7342}}: <s>Show "Main Participants" with events</s><br />
*{{bug|6558}}: Optimize the use of citations<br />
*{{bug|6332}}: Move home person to bookmark menu<br />
*{{bug|5142}}: Keep selected the last selected source <br />
*{{bug|5037}}: [Reports] More names listed in the person/family selector box <br />
*{{bug|5024}}: By default, to display [Last Recent Used] and [bookmarked] objects on selectors<br />
*{{bug|3655}}: "last modified" timestamp changes everytime a tree is accessed<br />
*{{bug|12026}}: Add Existing Person is missing Find feature<br />
*[https://gramps.discourse.group/t/quickselect-combo-boxes/202 Discourse Topic]: [https://gramps.discourse.group/c/ideas/9 Ideas]; QuickSelect combo-boxes<br />
<br />
=== Others ===<br />
*{{bug|9880}}: <s>Time loading for person selector in census forms</s><br />
*{{bug|9738}}: <s>Select person dialog opens always expanded</s><br />
*{{bug|9700}}: <s>Select Place search & Source/Citation hierarchy should NOT automatically open</s><br />
*{{bug|9315}}: <s>[Regression]: filter set by default on selector is ignored on load (_init_)</s> <br />
*{{bug|9314}}: <s>Two selectors on Places report can generate a confusion</s> <br />
*{{bug|9028}}: <s>Find is broken when used in the Family selector</s> <br />
*{{bug|7536}}: <s>Events model does not have 8 columns</s><br />
*{{bug|7514}}: <s>Searching on Listviews is VEEERYYY slow and typing echo is scrambled</s><br />
*{{bug|7004}}: <s>Only Event and Family Editors are checking if data_has_changed on save()</s><br />
*{{bug|5032}}: <s>Report selection logic</s><br />
*{{bug|3653}}: <s>Manage Family Trees Window shows as 'last modified' the time stamp of generating the tree</s><br />
*{{bug|1450}}: <s>Incremental Gtk Search is broken on View</s><br />
<br />
==Test==<br />
<br />
Some experimentations are available on a forked branch.<br />
<br />
{{man warn|New Branch|Based on gramps master branch, a new major branch with many changes.<br />
<br />
For tests, need to focus on ''Selector'' features}}<br />
<br />
[https://github.com/romjerome/gramps_cryptic_rebase/archive/refs/heads/Selectors.zip Download a copy], unzip the archive and run:<br />
$ cd gramps_cryptic_rebase-Selectors<br />
$ python3 Gramps.py -d "gui.selector"<br />
create a '''new family tree''', and import a '''copy of your data'''.<br />
<br />
{{man note|Resource path|You may have to play with resource path.}}<br />
<br />
$ ResourcePath.ERROR: Unable to determine resource path<br />
$ export GRAMPS_RESOURCES=/usr/local/lib/python3.6/dist-packages/gramps-5.2.0-py3.6.egg/share<br />
<br />
===Warnings===<br />
<br />
Tested some years ago with remaining indirect and unfixed issues (title, model, editors) because the focus was on possible modifications on Selectors. Should take it as a draft.<br />
<br />
==Performances==<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Test Code <br />
!People (1)<br />
!Families (2)<br />
!Events (3)<br />
!Places (4)<br />
!Sources (5)<br />
!Citations (6)<br />
!Repositories (7)<br />
!Media (8)<br />
!Notes (9)<br />
|-<br />
|id0<br />
|17565 individuals - 3918 surnames<br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|-<br />
|id1 <br />
|4009 individuals - 1031 surnames<br />
|1633<br />
|9426<br />
|1043<br />
|1376<br />
|2870<br />
|38<br />
|1542<br />
|924<br />
|-<br />
|id2 <br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|-<br />
|id3 <br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|-<br />
|id4 <br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|-<br />
|<!-- Test Code --><br />
|<!-- People --><br />
|<!-- Families --><br />
|<!-- Events --><br />
|<!-- Places --><br />
|<!-- Sources --><br />
|<!-- Citations --><br />
|<!-- Repositories --><br />
|<!-- Media --><br />
|<!-- Notes --><br />
|}<br />
<br />
=== Configurations ===<br />
<br />
{| {{prettytable}}<br />
|- <br />
!Hardware Code<br />
!Gramps version<br />
!Processor<br />
!Clock<br />
!RAM<br />
!Storage<!--Type eg: HDD or SSD--><br />
!OS<br />
!User<br />
|-<br />
|H01 || 4.2.3 || AMD FX-4100 quad || 3.6 GHz || 8 GB || SSD || .. || Chris<br />
|-<br />
|H02 || 4.2.5 || AMD FX-4100 quad || 3.6 GHz || 8 GB || SSD || .. || Chris<br />
|-<br />
|H03 || GEP041 || AMD FX-4100 quad || 3.6 GHz || 8 GB || SSD || .. || Chris<br />
|-<br />
|H04 || 4.2.5 || Intel Pentium 4 HT || 2.8 GHz || 512 MB || HDD || Ubuntu 14.04 based|| [[User:Romjerome]]<br />
|-<br />
|H05 || GEP041 || Intel Pentium 4 HT || 2.8 GHz || 512 MB || HDD || Ubuntu 14.04 based|| [[User:Romjerome]]<br />
|-<br />
|H06 || 5.0.0-alpha (5099b42) || Intel Pentium 4 HT || 2.8 GHz || 512 MB || HDD || Ubuntu 14.04 based|| [[User:Romjerome]]<br />
|-<br />
|H07 || 4.2.3 || .. || .. GHz || .GB || SSD || .. || ..<br />
|-<br />
|H08 || 4.2.5 || .. || .. GHz || .GB || SSD || .. || ..<br />
|}<br />
<br />
=== Tests table legend ===<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Test Code !! Test Description<br />
|- <br />
|T01 || Time to '''open''' the Person Selector, no '''search''' yet<br />
|- <br />
|T01_a || Time to find the person from {{man label|Association}} tab on {{man label|Person Editor}}<br />
|- <br />
|T01_b || Time to find the person from Selector on {{man label|Reports}}, '''pre-selection'''<br />
|- <br />
|T01_c || Time to find one parent from {{man label|Family Editor}}, '''pre-selection'''<br />
|- <br />
|T01_d || Time to find one child from {{man label|Family Editor}}, '''pre-selection'''<br />
|-<br />
|T01_e || Time to '''open''' the active person from {{man label|Form}} addon, no need '''search''' time<br />
|-<br />
|T01_f || Time to find the non-active person from {{man label|Form}} addon<br />
|-<br />
|T02 || Time to find the {{man label|Family}} from Selector<br />
|-<br />
|T03 || Time to find the {{man label|Event}} from Selector<br />
|-<br />
|T04 || Time to find the {{man label|Place}} from Selector<br />
|-<br />
|T05 || Time to find the {{man label|Source}} from Selector<br />
|-<br />
|T06 || Time to find the {{man label|Citation}} from Selector<br />
|-<br />
|T07 || Time to find the {{man label|Repository}} from Selector<br />
|-<br />
|T08 || Time to find the {{man label|Media}} from Selector <br />
|-<br />
|T09 || Time to find the {{man label|Note}} from Selector <br />
|}<br />
<br />
=== Performance results ===<br />
<br />
You can add print statements, like:<br />
import time<br />
one = time.clock()<br />
two = time.clock()<br />
print(two-one)<br />
then run gramps via console<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Config !! data !! T01 (no search, build model)!! T01_a (raw find and search)!! T01_b (filter by user data)!! T01_c (filter by sex)!! T01_d (filter, skip list)!! T01_e (no search, has_focus)!! T01_f (alternative focus)!! comments<br />
|-<br />
|H01||id0||bgcolor="#a0ffa0"|2.5s||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor="#a0ffa0"|2.5s||bgcolor=""|-||expands only surname of person selected<br />
|-<br />
|H02||id0||bgcolor="#ffa0a0"|18s||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor="#ffa0a0"|18s||bgcolor=""|-||expands all surnames<br />
|-<br />
|H03||id0||bgcolor="#e0ffe0"|5s||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor="#e0ffe0"|5s||bgcolor=""|-||expands all surnames<br />
|-<br />
|H04||id1||bgcolor="#e0ffe0"|4s<t<12s||bgcolor="#e0ffe0"|7s<t<15s||bgcolor="#a0ffa0"|>3s||bgcolor="#a0ffa0"|<3s||bgcolor="#e0ffe0"|6s||bgcolor="#a0ffa0"|4s||bgcolor="#e0ffe0"|7s||Sometimes, BaseSelector.__init__can take 2/3 of time<br />
|-<br />
|H05||id1||bgcolor="#a0ffa0"|4s||bgcolor="#a0ffa0"|~5s||bgcolor="#a0ffa0"|~3s||bgcolor="#a0ffa0"|~3s||bgcolor="#e0ffe0"|~5s||bgcolor="#a0ffa0"|4s||bgcolor="#e0ffe0"|~6s||if filter does right, then few seconds for matching, else ~+3 seconds for finding<br />
|-<br />
|H06||id1||bgcolor="#a0ffa0"|4s||bgcolor="#a0ffa0"|~7s||bgcolor="#a0ffa0"|~4s||bgcolor="#a0ffa0"|~3s||bgcolor="#e0ffe0"|~6s||bgcolor="#a0ffa0"|5s||bgcolor="#e0ffe0"|~7s||Do not have problem. Need ~+3 seconds for finding. Time close to GEP041 (~+1s).<br />
|}<br />
<br />
Tests could be on BaseSelector as some objects do not have own _init_().<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Config !! data !! T02 !! T03 !! T04 !! T05 !! T06 !! T07 !! T08 !! T09 !! comments<br />
|-<br />
|H04||id1||bgcolor="#a0ffa0"|<1s||bgcolor="a0ffa0"|<1s||bgcolor="#a0ffa0"|<1s||bgcolor="#a0ffa0"|1s||bgcolor="a0ffa0"|<1s||bgcolor="a0ffa0"|<1s||bgcolor="a0ffa0"|<1s||bgcolor="a0ffa0"|<1s||''very fast'': +/- 3 seconds for matching, searching, finding.<br />
|-<br />
|H05||id1||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<4s||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<3s ||bgcolor="#a0ffa0"|<3s||''fast'': filter rules provide a user selection (last edited, last used, bookmarked, related, active), else, +/- 3 seconds for matching, searching, finding.<br />
|}<br />
<br />
===More===<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Config !! data !! T01 (no search)!! T01_a (raw find and search)!! T01_b (filter by user data)!! T01_c (filter by gender)!! T01_d (filter)!! T01_e (no search, has_focus)!! T01_f (alternative focus)!! comments<br />
|-<br />
|H07||id2||bgcolor="#ffa0a0"|1m||bgcolor="#a0ffa0"|1s||bgcolor="#e0ffe0"|10s||bgcolor="#ffa0a0"|1m||bgcolor="#a0ffa0"|1s||bgcolor="#e0ffe0"|10s||bgcolor="#ffa0a0"|1m ||comments<br />
|-<br />
|H08||id2||bgcolor="#ffa0a0"|1m||bgcolor="#a0ffa0"|1s||bgcolor="#e0ffe0"|10s||bgcolor="#ffa0a0"|1m||bgcolor="#a0ffa0"|1s||bgcolor="#e0ffe0"|10s||bgcolor="#ffa0a0"|1m ||comments<br />
|}<br />
<br />
Tests could be on BaseSelector as some objects do not have own _init_().<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Config !! data !! T02 !! T03 !! T04 !! T05 !! T06 !! T07 !! T08 !! T09 !! comments<br />
|-<br />
|H07||id2||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||bgcolor="#e0ffe0"|-||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||bgcolor="#e0ffe0"|-||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||comments <br />
|-<br />
|H06||id2||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||bgcolor="#e0ffe0"|-||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||bgcolor="#e0ffe0"|-||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||comments <br />
|}<br />
<br />
<br />
[[Category:GEPS|S]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=GEPS_041:_New_Selector&diff=90721GEPS 041: New Selector2022-02-20T11:52:48Z<p>Romjerome: /* Test */</p>
<hr />
<div>What should be part of the [https://en.wikipedia.org/wiki/List_box Selector]?<br />
<br />
==What is the need?==<br />
<br />
# Select one record (object) via the '''G'''raphical '''U'''ser '''I'''nterface<br />
# Display main data, for letting the user make the selection<br />
# Usability and consistency<br />
# Search and filter features<br />
<br />
===Screenshots===<br />
<br />
[[File:Select-person_42.png|Person selector]]<br />
<br />
[[File:Select-family_42.png|Family selector]]<br />
<br />
{{-}}<br />
<br />
==Usage, goal and Usability==<br />
<br />
# Selection<br />
# Edition<br />
<br />
===Additional features and related concepts===<br />
<br />
# Reports<br />
# Filtering for selecting a group of records (objects)<br />
# Navigation, history and active objects<br />
# Runtime and performance<br />
# Selection expected by the user, marked and tagged objects<br />
# refining a selection<br />
<br />
====[[Gramps_4.2_Wiki_Manual_-_Filters#Filter_vs._Search|Filter vs. Search]]====<br />
<br />
There are two ways to find data in Gramps: ''Search'' and ''Filter''.<br />
<br />
* The '''Search''' will only match what is '''visible'''.<br />
* '''Filters''' are not limited to what you see on the screen, but looks at the actual data.<br />
See some [[Example_filters|filters]] for more details.<br />
<br />
====Search Bar====<br />
<br />
The current design of the ''Search bar'' lets us find '''visible data''' on '''active column'''.<br />
The ''Search Bar'' is often available on selectors.<br />
<br />
====Set of filter rules====<br />
<br />
For now, some selectors, on reports and on Family Editor, provide a ''fast filter'', '''by default'''.<br />
<br />
The ''Search bar'' is disabled and an additional ''Show all'' button is available at the bottom <br />
of the dialog. <br />
<br />
These windows are trying to provide a '''quick''' and '''common selection''' of people.<br />
<br />
e.g., filtered ''by gender'' on Family Editor, or ''bookmarked people'' on reports.<br />
<br />
[[File:Select-mother.png|Mother selector via fast filtering and 'Show all' button at the bottom]]<br />
<br />
{{-}}<br />
<br />
====Interactive Search====<br />
<br />
For limiting a gtk issue on ''Search'' field, gramps42 has it '''own interactive search widget'''.<br />
<br />
Just write the first letters of the word on the dialog, and the cursor will try to find this word.<br />
<br />
Like the ''[[Gramps_4.2_Wiki_Manual_-_Keybindings#All_List_Views_bindings|Find]]'' shortcut box, available with {{Man key press|CTRL|F}} or {{Man key press|CMND|F}}.<br />
<br />
===Limits on current selectors===<br />
<br />
# Time for search<br />
# Performance<br />
# Few fast filter rules, by default<br />
# Consistency, mixup of features and widgets<br />
# Hierarchically grouping records (e.g., Person, Place) in the Selector cripples sorting capabilities. Sub-sorting within grouping by "Last Changed" is of little value compared for the entire list. Add option to use Flat lists?<br />
<br />
{{man note|Note, there was a [[#Interactive_Search|Gtk SearchEntry bug (latency and collapsed seizure)]] limiting a good search match: max_length(3).|Fixed since gramps 4.2.0, see bug report {{bug|1450}}.}}<br />
<br />
==Proposals==<br />
<br />
'''Optional''' proposals.<br />
<br />
[[File:GEP41_new_selector.png|675px|Search and filter on new selector]]<br />
<br />
===Displayed columns===<br />
<br />
<br />
'''Current Selectors''':<br />
{|class="wikitable"<br />
! | Selector<br />
! Columns and search keys<br />
! Interactive Search key<br />
|-<br />
|Person<br />
|Name, ID, Gender, Birth Date, Birth Place, Death Date, Death Place, Spouse, Last Change<br />
|Name<br />
|-<br />
|Family<br />
|ID, Father, Mother, Last Change<br />
|ID<br />
|-<br />
|Event<br />
|Type, Main Participants, Date, Place, Description, ID, Last Change<br />
|Type<br />
|-<br />
|Place<br />
|Name, ID, Type, Title, Last Change<br />
|Name<br />
|-<br />
|Source<br />
|Title, Author, ID, Last Change<br />
|Title<br />
|-<br />
|Citation<br />
|Source: Title or Citation: Volume/Page, ID, Last Change<br />
|Source: Title<br />
|-<br />
|Repository<br />
|Title, ID, Last Change<br />
|Title<br />
|-<br />
|Media<br />
|Title, ID, Type, Last Change<br />
|Title<br />
|-<br />
|Note<br />
|Preview, ID, Type, Tags, Last Change<br />
|Preview<br />
|-<br />
|}<br />
<br />
'''New Selectors''':<br />
{|class="wikitable"<br />
! | Selector<br />
! Columns<br />
! Interactive Search key<br />
! Search keys with regex support<br />
|-<br />
|Person<br />
|Name, ID, Gender, Birth Date, Birth Place, Death Date, Death Place, Spouse, Last Change<br />
|Name<br />
|Name, ID, Gender, Birth Date, Birth Place, Death Date, Death Place, Spouse<br />
|-<br />
|Family<br />
|ID, Father, Mother, Last Change<br />
|ID<br />
|ID, Father, Mother<br />
|-<br />
|Event<br />
|Type, Main Participants, Date, Place, Description, ID, Last Change<br />
|Type<br />
|Type, Main Participants, Date, Place, Description, ID<br />
|-<br />
|Place<br />
|Name, ID, Type, Title, Last Change<br />
|Name<br />
|Name, ID, Type, Title<br />
|-<br />
|Source<br />
|Title, Author, ID, Last Change<br />
|Title<br />
|Title, Author, ID<br />
|-<br />
|Citation<br />
|Source: Title or Citation: Volume/Page, ID, Last Change<br />
|Source: Title<br />
|Source: Title or Citation: Volume/Page, ID<br />
|-<br />
|Repository<br />
|Title, ID, Last Change<br />
|Title<br />
|Title, ID<br />
|-<br />
|Media<br />
|Title, ID, Type, Last Change<br />
|Title<br />
|Title, ID, Type<br />
|-<br />
|Note<br />
|Preview, ID, Type, Tags, Last Change<br />
|Preview<br />
|Preview, ID, Type, Tags<br />
|-<br />
|}<br />
<br />
===Fast filter by default===<br />
<br />
Ability to have a fast filter with the last active objects and bookmarked objects.<br />
<br />
Some experimentations have been made on feature request {{bug|5024}}.<br />
<br />
Current selector ecosystem already provides this ability.<br />
<br />
See [[#Screenshots|Person selector]] on reports and [[#Set_of_filter_rules|Father/Mother selector]] on Family Editor.<br />
<br />
{{man note|''On gramps '''4.2.2''', there was a bug {{bug|9315}} on the '''Show all'''/'''Search''' load''.}}<br />
<br />
===Clever search for each selector===<br />
<br />
See selector and query on [https://github.com/gramps-project/gramps_connect gramps-connect].<br />
<br />
[[File:Gramps_connect_query.png|Search query and filter on gramps_connect]]<br />
<br />
Ability to also use one search field matching on multiple columns (''names'', ''ID'', ''dates'', etc ...)<br />
<br />
[[File:Gramps_connect_search.png|675px|Search on gramps_connect]]<br />
<br />
See also [https://cloud.githubusercontent.com/assets/310024/13737225/d8c0a7d4-e978-11e5-9e9f-58a6c4c162a5.png search on filter rules editor]<br />
<br />
===Interface for handling and selecting custom filters on selectors===<br />
<br />
* [[UI_style|User Interface Style]]<br />
* [https://raw.githubusercontent.com/gnome-design-team/gnome-mockups/master/nautilus/nautilus-next/search-filters-wires.png Mockups] and [https://csorianognome.wordpress.com/2016/02/08/nautilus-3-20-and-looking-forward/ new features] since gtk+ 3.20.<br />
<br />
===Additional proposals===<br />
<br />
# Replace the ''Show all'' check box at the bottom by a ''Switcher'' at the top of the dialog.<br />
<br />
[[File:GEP41_fast_filter.png|GtkSwitcher]]<br />
<br />
===History===<br />
<br />
* Provide dynamic groups of objects based on the date of the last edition.<br />
<br />
** via API<br />
<br />
time = object.get_change_time()<br />
<br />
last = today<br />
group1 = from today to 1 week back<br />
group2 = from today to 2 weeks back<br />
group3 = from today to 1 month back<br />
group4 = from today to 6 months back<br />
group5 = more than 6 months back<br />
<br />
** via Filter<br />
<br />
sfilter.add_rule(rules.event.ChangedSince(["''Today date''", ""]))<br />
where "''Today date''" uses ISO-date format.<br />
<br />
* Displayed items can be sorted by change time<br />
<br />
==See also==<br />
<br />
* [https://github.com/gramps-project/gramps/tree/master/gramps/gui/selectors gramps/gui/selectors]<br />
<br />
* [[Database_Query_API]]<br />
<br />
=== Feature requests ===<br />
*{{bug|9837}}: More than 10 items in 'Latest Change' Gramplet list<br />
*{{bug|9814}}: Expanded Place tree when selecting existing place<br />
*{{bug|9276}}: <s>Need ability to search alternate place names when selecting place</s><br />
*{{bug|8762}}: Last Used places in the Select Place window<br />
*{{bug|8743}}: Search for place needs more options <br />
*{{bug|7342}}: <s>Show "Main Participants" with events</s><br />
*{{bug|6558}}: Optimize the use of citations<br />
*{{bug|6332}}: Move home person to bookmark menu<br />
*{{bug|5142}}: Keep selected the last selected source <br />
*{{bug|5037}}: [Reports] More names listed in the person/family selector box <br />
*{{bug|5024}}: By default, to display [Last Recent Used] and [bookmarked] objects on selectors<br />
*{{bug|3655}}: "last modified" timestamp changes everytime a tree is accessed<br />
*{{bug|12026}}: Add Existing Person is missing Find feature<br />
*[https://gramps.discourse.group/t/quickselect-combo-boxes/202 Discourse Topic]: [https://gramps.discourse.group/c/ideas/9 Ideas]; QuickSelect combo-boxes<br />
<br />
=== Others ===<br />
*{{bug|9880}}: <s>Time loading for person selector in census forms</s><br />
*{{bug|9738}}: <s>Select person dialog opens always expanded</s><br />
*{{bug|9700}}: <s>Select Place search & Source/Citation hierarchy should NOT automatically open</s><br />
*{{bug|9315}}: <s>[Regression]: filter set by default on selector is ignored on load (_init_)</s> <br />
*{{bug|9314}}: <s>Two selectors on Places report can generate a confusion</s> <br />
*{{bug|9028}}: <s>Find is broken when used in the Family selector</s> <br />
*{{bug|7536}}: <s>Events model does not have 8 columns</s><br />
*{{bug|7514}}: <s>Searching on Listviews is VEEERYYY slow and typing echo is scrambled</s><br />
*{{bug|7004}}: <s>Only Event and Family Editors are checking if data_has_changed on save()</s><br />
*{{bug|5032}}: <s>Report selection logic</s><br />
*{{bug|3653}}: <s>Manage Family Trees Window shows as 'last modified' the time stamp of generating the tree</s><br />
*{{bug|1450}}: <s>Incremental Gtk Search is broken on View</s><br />
<br />
==Test==<br />
<br />
Some experimentations are available on a forked branch.<br />
<br />
{{man warn|New Branch|Based on gramps master branch, a new major branch with many changes.<br />
<br />
For tests, need to focus on ''Selector'' features}}<br />
<br />
[https://github.com/romjerome/gramps_cryptic_rebase/archive/refs/heads/Selectors.zip Download a copy], unzip the archive and run:<br />
$ cd gramps_cryptic_rebase-Selectors<br />
$ python3 Gramps.py -d "gui.selector"<br />
create a '''new family tree''', and import a '''copy of your data'''.<br />
<br />
{{man note|Resource path|You may have to play with resource path.}}<br />
<br />
$ ResourcePath.ERROR: Unable to determine resource path<br />
$ export GRAMPS_RESOURCES=/usr/local/lib/python3.6/dist-packages/gramps-5.2.0-py3.6.egg/share<br />
<br />
===Warnings===<br />
<br />
Tested some years ago with remaining indirect and unfixed issues (title, model, editors) because the focus was on possible modifications on Selectors. Should take it as a draft.<br />
<br />
==Performances==<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Test Code <br />
!People (1)<br />
!Families (2)<br />
!Events (3)<br />
!Places (4)<br />
!Sources (5)<br />
!Citations (6)<br />
!Repositories (7)<br />
!Media (8)<br />
!Notes (9)<br />
|-<br />
|id0<br />
|17565 individuals - 3918 surnames<br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|-<br />
|id1 <br />
|4009 individuals - 1031 surnames<br />
|1633<br />
|9426<br />
|1043<br />
|1376<br />
|2870<br />
|38<br />
|1542<br />
|924<br />
|-<br />
|id2 <br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|-<br />
|id3 <br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|-<br />
|id4 <br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|-<br />
|<!-- Test Code --><br />
|<!-- People --><br />
|<!-- Families --><br />
|<!-- Events --><br />
|<!-- Places --><br />
|<!-- Sources --><br />
|<!-- Citations --><br />
|<!-- Repositories --><br />
|<!-- Media --><br />
|<!-- Notes --><br />
|}<br />
<br />
=== Configurations ===<br />
<br />
{| {{prettytable}}<br />
|- <br />
!Hardware Code<br />
!Gramps version<br />
!Processor<br />
!Clock<br />
!RAM<br />
!Storage<!--Type eg: HDD or SSD--><br />
!OS<br />
!User<br />
|-<br />
|H01 || 4.2.3 || AMD FX-4100 quad || 3.6 GHz || 8 GB || SSD || .. || Chris<br />
|-<br />
|H02 || 4.2.5 || AMD FX-4100 quad || 3.6 GHz || 8 GB || SSD || .. || Chris<br />
|-<br />
|H03 || GEP041 || AMD FX-4100 quad || 3.6 GHz || 8 GB || SSD || .. || Chris<br />
|-<br />
|H04 || 4.2.5 || Intel Pentium 4 HT || 2.8 GHz || 512 MB || HDD || Ubuntu 14.04 based|| [[User:Romjerome]]<br />
|-<br />
|H05 || GEP041 || Intel Pentium 4 HT || 2.8 GHz || 512 MB || HDD || Ubuntu 14.04 based|| [[User:Romjerome]]<br />
|-<br />
|H06 || 5.0.0-alpha (5099b42) || Intel Pentium 4 HT || 2.8 GHz || 512 MB || HDD || Ubuntu 14.04 based|| [[User:Romjerome]]<br />
|-<br />
|H07 || 4.2.3 || .. || .. GHz || .GB || SSD || .. || ..<br />
|-<br />
|H08 || 4.2.5 || .. || .. GHz || .GB || SSD || .. || ..<br />
|}<br />
<br />
=== Tests table legend ===<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Test Code !! Test Description<br />
|- <br />
|T01 || Time to '''open''' the Person Selector, no '''search''' yet<br />
|- <br />
|T01_a || Time to find the person from {{man label|Association}} tab on {{man label|Person Editor}}<br />
|- <br />
|T01_b || Time to find the person from Selector on {{man label|Reports}}, '''pre-selection'''<br />
|- <br />
|T01_c || Time to find one parent from {{man label|Family Editor}}, '''pre-selection'''<br />
|- <br />
|T01_d || Time to find one child from {{man label|Family Editor}}, '''pre-selection'''<br />
|-<br />
|T01_e || Time to '''open''' the active person from {{man label|Form}} addon, no need '''search''' time<br />
|-<br />
|T01_f || Time to find the non-active person from {{man label|Form}} addon<br />
|-<br />
|T02 || Time to find the {{man label|Family}} from Selector<br />
|-<br />
|T03 || Time to find the {{man label|Event}} from Selector<br />
|-<br />
|T04 || Time to find the {{man label|Place}} from Selector<br />
|-<br />
|T05 || Time to find the {{man label|Source}} from Selector<br />
|-<br />
|T06 || Time to find the {{man label|Citation}} from Selector<br />
|-<br />
|T07 || Time to find the {{man label|Repository}} from Selector<br />
|-<br />
|T08 || Time to find the {{man label|Media}} from Selector <br />
|-<br />
|T09 || Time to find the {{man label|Note}} from Selector <br />
|}<br />
<br />
=== Performance results ===<br />
<br />
You can add print statements, like:<br />
import time<br />
one = time.clock()<br />
two = time.clock()<br />
print(two-one)<br />
then run gramps via console<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Config !! data !! T01 (no search, build model)!! T01_a (raw find and search)!! T01_b (filter by user data)!! T01_c (filter by sex)!! T01_d (filter, skip list)!! T01_e (no search, has_focus)!! T01_f (alternative focus)!! comments<br />
|-<br />
|H01||id0||bgcolor="#a0ffa0"|2.5s||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor="#a0ffa0"|2.5s||bgcolor=""|-||expands only surname of person selected<br />
|-<br />
|H02||id0||bgcolor="#ffa0a0"|18s||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor="#ffa0a0"|18s||bgcolor=""|-||expands all surnames<br />
|-<br />
|H03||id0||bgcolor="#e0ffe0"|5s||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor="#e0ffe0"|5s||bgcolor=""|-||expands all surnames<br />
|-<br />
|H04||id1||bgcolor="#e0ffe0"|4s<t<12s||bgcolor="#e0ffe0"|7s<t<15s||bgcolor="#a0ffa0"|>3s||bgcolor="#a0ffa0"|<3s||bgcolor="#e0ffe0"|6s||bgcolor="#a0ffa0"|4s||bgcolor="#e0ffe0"|7s||Sometimes, BaseSelector.__init__can take 2/3 of time<br />
|-<br />
|H05||id1||bgcolor="#a0ffa0"|4s||bgcolor="#a0ffa0"|~5s||bgcolor="#a0ffa0"|~3s||bgcolor="#a0ffa0"|~3s||bgcolor="#e0ffe0"|~5s||bgcolor="#a0ffa0"|4s||bgcolor="#e0ffe0"|~6s||if filter does right, then few seconds for matching, else ~+3 seconds for finding<br />
|-<br />
|H06||id1||bgcolor="#a0ffa0"|4s||bgcolor="#a0ffa0"|~7s||bgcolor="#a0ffa0"|~4s||bgcolor="#a0ffa0"|~3s||bgcolor="#e0ffe0"|~6s||bgcolor="#a0ffa0"|5s||bgcolor="#e0ffe0"|~7s||Do not have problem. Need ~+3 seconds for finding. Time close to GEP041 (~+1s).<br />
|}<br />
<br />
Tests could be on BaseSelector as some objects do not have own _init_().<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Config !! data !! T02 !! T03 !! T04 !! T05 !! T06 !! T07 !! T08 !! T09 !! comments<br />
|-<br />
|H04||id1||bgcolor="#a0ffa0"|<1s||bgcolor="a0ffa0"|<1s||bgcolor="#a0ffa0"|<1s||bgcolor="#a0ffa0"|1s||bgcolor="a0ffa0"|<1s||bgcolor="a0ffa0"|<1s||bgcolor="a0ffa0"|<1s||bgcolor="a0ffa0"|<1s||''very fast'': +/- 3 seconds for matching, searching, finding.<br />
|-<br />
|H05||id1||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<4s||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<3s ||bgcolor="#a0ffa0"|<3s||''fast'': filter rules provide a user selection (last edited, last used, bookmarked, related, active), else, +/- 3 seconds for matching, searching, finding.<br />
|}<br />
<br />
===More===<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Config !! data !! T01 (no search)!! T01_a (raw find and search)!! T01_b (filter by user data)!! T01_c (filter by gender)!! T01_d (filter)!! T01_e (no search, has_focus)!! T01_f (alternative focus)!! comments<br />
|-<br />
|H07||id2||bgcolor="#ffa0a0"|1m||bgcolor="#a0ffa0"|1s||bgcolor="#e0ffe0"|10s||bgcolor="#ffa0a0"|1m||bgcolor="#a0ffa0"|1s||bgcolor="#e0ffe0"|10s||bgcolor="#ffa0a0"|1m ||comments<br />
|-<br />
|H08||id2||bgcolor="#ffa0a0"|1m||bgcolor="#a0ffa0"|1s||bgcolor="#e0ffe0"|10s||bgcolor="#ffa0a0"|1m||bgcolor="#a0ffa0"|1s||bgcolor="#e0ffe0"|10s||bgcolor="#ffa0a0"|1m ||comments<br />
|}<br />
<br />
Tests could be on BaseSelector as some objects do not have own _init_().<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Config !! data !! T02 !! T03 !! T04 !! T05 !! T06 !! T07 !! T08 !! T09 !! comments<br />
|-<br />
|H07||id2||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||bgcolor="#e0ffe0"|-||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||bgcolor="#e0ffe0"|-||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||comments <br />
|-<br />
|H06||id2||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||bgcolor="#e0ffe0"|-||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||bgcolor="#e0ffe0"|-||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||comments <br />
|}<br />
<br />
<br />
[[Category:GEPS|S]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=GEPS_041:_New_Selector&diff=90720GEPS 041: New Selector2022-02-20T11:50:12Z<p>Romjerome: /* Warnings */</p>
<hr />
<div>What should be part of the [https://en.wikipedia.org/wiki/List_box Selector]?<br />
<br />
==What is the need?==<br />
<br />
# Select one record (object) via the '''G'''raphical '''U'''ser '''I'''nterface<br />
# Display main data, for letting the user make the selection<br />
# Usability and consistency<br />
# Search and filter features<br />
<br />
===Screenshots===<br />
<br />
[[File:Select-person_42.png|Person selector]]<br />
<br />
[[File:Select-family_42.png|Family selector]]<br />
<br />
{{-}}<br />
<br />
==Usage, goal and Usability==<br />
<br />
# Selection<br />
# Edition<br />
<br />
===Additional features and related concepts===<br />
<br />
# Reports<br />
# Filtering for selecting a group of records (objects)<br />
# Navigation, history and active objects<br />
# Runtime and performance<br />
# Selection expected by the user, marked and tagged objects<br />
# refining a selection<br />
<br />
====[[Gramps_4.2_Wiki_Manual_-_Filters#Filter_vs._Search|Filter vs. Search]]====<br />
<br />
There are two ways to find data in Gramps: ''Search'' and ''Filter''.<br />
<br />
* The '''Search''' will only match what is '''visible'''.<br />
* '''Filters''' are not limited to what you see on the screen, but looks at the actual data.<br />
See some [[Example_filters|filters]] for more details.<br />
<br />
====Search Bar====<br />
<br />
The current design of the ''Search bar'' lets us find '''visible data''' on '''active column'''.<br />
The ''Search Bar'' is often available on selectors.<br />
<br />
====Set of filter rules====<br />
<br />
For now, some selectors, on reports and on Family Editor, provide a ''fast filter'', '''by default'''.<br />
<br />
The ''Search bar'' is disabled and an additional ''Show all'' button is available at the bottom <br />
of the dialog. <br />
<br />
These windows are trying to provide a '''quick''' and '''common selection''' of people.<br />
<br />
e.g., filtered ''by gender'' on Family Editor, or ''bookmarked people'' on reports.<br />
<br />
[[File:Select-mother.png|Mother selector via fast filtering and 'Show all' button at the bottom]]<br />
<br />
{{-}}<br />
<br />
====Interactive Search====<br />
<br />
For limiting a gtk issue on ''Search'' field, gramps42 has it '''own interactive search widget'''.<br />
<br />
Just write the first letters of the word on the dialog, and the cursor will try to find this word.<br />
<br />
Like the ''[[Gramps_4.2_Wiki_Manual_-_Keybindings#All_List_Views_bindings|Find]]'' shortcut box, available with {{Man key press|CTRL|F}} or {{Man key press|CMND|F}}.<br />
<br />
===Limits on current selectors===<br />
<br />
# Time for search<br />
# Performance<br />
# Few fast filter rules, by default<br />
# Consistency, mixup of features and widgets<br />
# Hierarchically grouping records (e.g., Person, Place) in the Selector cripples sorting capabilities. Sub-sorting within grouping by "Last Changed" is of little value compared for the entire list. Add option to use Flat lists?<br />
<br />
{{man note|Note, there was a [[#Interactive_Search|Gtk SearchEntry bug (latency and collapsed seizure)]] limiting a good search match: max_length(3).|Fixed since gramps 4.2.0, see bug report {{bug|1450}}.}}<br />
<br />
==Proposals==<br />
<br />
'''Optional''' proposals.<br />
<br />
[[File:GEP41_new_selector.png|675px|Search and filter on new selector]]<br />
<br />
===Displayed columns===<br />
<br />
<br />
'''Current Selectors''':<br />
{|class="wikitable"<br />
! | Selector<br />
! Columns and search keys<br />
! Interactive Search key<br />
|-<br />
|Person<br />
|Name, ID, Gender, Birth Date, Birth Place, Death Date, Death Place, Spouse, Last Change<br />
|Name<br />
|-<br />
|Family<br />
|ID, Father, Mother, Last Change<br />
|ID<br />
|-<br />
|Event<br />
|Type, Main Participants, Date, Place, Description, ID, Last Change<br />
|Type<br />
|-<br />
|Place<br />
|Name, ID, Type, Title, Last Change<br />
|Name<br />
|-<br />
|Source<br />
|Title, Author, ID, Last Change<br />
|Title<br />
|-<br />
|Citation<br />
|Source: Title or Citation: Volume/Page, ID, Last Change<br />
|Source: Title<br />
|-<br />
|Repository<br />
|Title, ID, Last Change<br />
|Title<br />
|-<br />
|Media<br />
|Title, ID, Type, Last Change<br />
|Title<br />
|-<br />
|Note<br />
|Preview, ID, Type, Tags, Last Change<br />
|Preview<br />
|-<br />
|}<br />
<br />
'''New Selectors''':<br />
{|class="wikitable"<br />
! | Selector<br />
! Columns<br />
! Interactive Search key<br />
! Search keys with regex support<br />
|-<br />
|Person<br />
|Name, ID, Gender, Birth Date, Birth Place, Death Date, Death Place, Spouse, Last Change<br />
|Name<br />
|Name, ID, Gender, Birth Date, Birth Place, Death Date, Death Place, Spouse<br />
|-<br />
|Family<br />
|ID, Father, Mother, Last Change<br />
|ID<br />
|ID, Father, Mother<br />
|-<br />
|Event<br />
|Type, Main Participants, Date, Place, Description, ID, Last Change<br />
|Type<br />
|Type, Main Participants, Date, Place, Description, ID<br />
|-<br />
|Place<br />
|Name, ID, Type, Title, Last Change<br />
|Name<br />
|Name, ID, Type, Title<br />
|-<br />
|Source<br />
|Title, Author, ID, Last Change<br />
|Title<br />
|Title, Author, ID<br />
|-<br />
|Citation<br />
|Source: Title or Citation: Volume/Page, ID, Last Change<br />
|Source: Title<br />
|Source: Title or Citation: Volume/Page, ID<br />
|-<br />
|Repository<br />
|Title, ID, Last Change<br />
|Title<br />
|Title, ID<br />
|-<br />
|Media<br />
|Title, ID, Type, Last Change<br />
|Title<br />
|Title, ID, Type<br />
|-<br />
|Note<br />
|Preview, ID, Type, Tags, Last Change<br />
|Preview<br />
|Preview, ID, Type, Tags<br />
|-<br />
|}<br />
<br />
===Fast filter by default===<br />
<br />
Ability to have a fast filter with the last active objects and bookmarked objects.<br />
<br />
Some experimentations have been made on feature request {{bug|5024}}.<br />
<br />
Current selector ecosystem already provides this ability.<br />
<br />
See [[#Screenshots|Person selector]] on reports and [[#Set_of_filter_rules|Father/Mother selector]] on Family Editor.<br />
<br />
{{man note|''On gramps '''4.2.2''', there was a bug {{bug|9315}} on the '''Show all'''/'''Search''' load''.}}<br />
<br />
===Clever search for each selector===<br />
<br />
See selector and query on [https://github.com/gramps-project/gramps_connect gramps-connect].<br />
<br />
[[File:Gramps_connect_query.png|Search query and filter on gramps_connect]]<br />
<br />
Ability to also use one search field matching on multiple columns (''names'', ''ID'', ''dates'', etc ...)<br />
<br />
[[File:Gramps_connect_search.png|675px|Search on gramps_connect]]<br />
<br />
See also [https://cloud.githubusercontent.com/assets/310024/13737225/d8c0a7d4-e978-11e5-9e9f-58a6c4c162a5.png search on filter rules editor]<br />
<br />
===Interface for handling and selecting custom filters on selectors===<br />
<br />
* [[UI_style|User Interface Style]]<br />
* [https://raw.githubusercontent.com/gnome-design-team/gnome-mockups/master/nautilus/nautilus-next/search-filters-wires.png Mockups] and [https://csorianognome.wordpress.com/2016/02/08/nautilus-3-20-and-looking-forward/ new features] since gtk+ 3.20.<br />
<br />
===Additional proposals===<br />
<br />
# Replace the ''Show all'' check box at the bottom by a ''Switcher'' at the top of the dialog.<br />
<br />
[[File:GEP41_fast_filter.png|GtkSwitcher]]<br />
<br />
===History===<br />
<br />
* Provide dynamic groups of objects based on the date of the last edition.<br />
<br />
** via API<br />
<br />
time = object.get_change_time()<br />
<br />
last = today<br />
group1 = from today to 1 week back<br />
group2 = from today to 2 weeks back<br />
group3 = from today to 1 month back<br />
group4 = from today to 6 months back<br />
group5 = more than 6 months back<br />
<br />
** via Filter<br />
<br />
sfilter.add_rule(rules.event.ChangedSince(["''Today date''", ""]))<br />
where "''Today date''" uses ISO-date format.<br />
<br />
* Displayed items can be sorted by change time<br />
<br />
==See also==<br />
<br />
* [https://github.com/gramps-project/gramps/tree/master/gramps/gui/selectors gramps/gui/selectors]<br />
<br />
* [[Database_Query_API]]<br />
<br />
=== Feature requests ===<br />
*{{bug|9837}}: More than 10 items in 'Latest Change' Gramplet list<br />
*{{bug|9814}}: Expanded Place tree when selecting existing place<br />
*{{bug|9276}}: <s>Need ability to search alternate place names when selecting place</s><br />
*{{bug|8762}}: Last Used places in the Select Place window<br />
*{{bug|8743}}: Search for place needs more options <br />
*{{bug|7342}}: <s>Show "Main Participants" with events</s><br />
*{{bug|6558}}: Optimize the use of citations<br />
*{{bug|6332}}: Move home person to bookmark menu<br />
*{{bug|5142}}: Keep selected the last selected source <br />
*{{bug|5037}}: [Reports] More names listed in the person/family selector box <br />
*{{bug|5024}}: By default, to display [Last Recent Used] and [bookmarked] objects on selectors<br />
*{{bug|3655}}: "last modified" timestamp changes everytime a tree is accessed<br />
*{{bug|12026}}: Add Existing Person is missing Find feature<br />
*[https://gramps.discourse.group/t/quickselect-combo-boxes/202 Discourse Topic]: [https://gramps.discourse.group/c/ideas/9 Ideas]; QuickSelect combo-boxes<br />
<br />
=== Others ===<br />
*{{bug|9880}}: <s>Time loading for person selector in census forms</s><br />
*{{bug|9738}}: <s>Select person dialog opens always expanded</s><br />
*{{bug|9700}}: <s>Select Place search & Source/Citation hierarchy should NOT automatically open</s><br />
*{{bug|9315}}: <s>[Regression]: filter set by default on selector is ignored on load (_init_)</s> <br />
*{{bug|9314}}: <s>Two selectors on Places report can generate a confusion</s> <br />
*{{bug|9028}}: <s>Find is broken when used in the Family selector</s> <br />
*{{bug|7536}}: <s>Events model does not have 8 columns</s><br />
*{{bug|7514}}: <s>Searching on Listviews is VEEERYYY slow and typing echo is scrambled</s><br />
*{{bug|7004}}: <s>Only Event and Family Editors are checking if data_has_changed on save()</s><br />
*{{bug|5032}}: <s>Report selection logic</s><br />
*{{bug|3653}}: <s>Manage Family Trees Window shows as 'last modified' the time stamp of generating the tree</s><br />
*{{bug|1450}}: <s>Incremental Gtk Search is broken on View</s><br />
<br />
==Test==<br />
<br />
Some experimentations are available on a forked branch.<br />
<br />
{{man warn|New Branch|Based on gramps master branch, a new major branch with many changes.<br />
<br />
For tests, need to focus on ''Selector'' features}}<br />
<br />
[https://github.com/romjerome/gramps_cryptic_rebase/archive/refs/heads/Selectors.zip Download a copy], unzip the archive and run:<br />
$ cd gramps_cryptic_rebase-Selectors<br />
$ python3 Gramps.py -d "gui.selector"<br />
create a '''new family tree''', and import a '''copy of your data'''.<br />
<br />
{{man note|Resource path|You may have to play with resource path.}}<br />
<br />
$ export GRAMPS_RESOURCES=/usr/local/lib/python3.6/dist-packages/gramps-5.2.0-py3.6.egg/share<br />
<br />
===Warnings===<br />
<br />
Tested some years ago with remaining indirect and unfixed issues (title, model, editors) because the focus was on possible modifications on Selectors. Should take it as a draft.<br />
<br />
==Performances==<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Test Code <br />
!People (1)<br />
!Families (2)<br />
!Events (3)<br />
!Places (4)<br />
!Sources (5)<br />
!Citations (6)<br />
!Repositories (7)<br />
!Media (8)<br />
!Notes (9)<br />
|-<br />
|id0<br />
|17565 individuals - 3918 surnames<br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|-<br />
|id1 <br />
|4009 individuals - 1031 surnames<br />
|1633<br />
|9426<br />
|1043<br />
|1376<br />
|2870<br />
|38<br />
|1542<br />
|924<br />
|-<br />
|id2 <br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|-<br />
|id3 <br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|-<br />
|id4 <br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|-<br />
|<!-- Test Code --><br />
|<!-- People --><br />
|<!-- Families --><br />
|<!-- Events --><br />
|<!-- Places --><br />
|<!-- Sources --><br />
|<!-- Citations --><br />
|<!-- Repositories --><br />
|<!-- Media --><br />
|<!-- Notes --><br />
|}<br />
<br />
=== Configurations ===<br />
<br />
{| {{prettytable}}<br />
|- <br />
!Hardware Code<br />
!Gramps version<br />
!Processor<br />
!Clock<br />
!RAM<br />
!Storage<!--Type eg: HDD or SSD--><br />
!OS<br />
!User<br />
|-<br />
|H01 || 4.2.3 || AMD FX-4100 quad || 3.6 GHz || 8 GB || SSD || .. || Chris<br />
|-<br />
|H02 || 4.2.5 || AMD FX-4100 quad || 3.6 GHz || 8 GB || SSD || .. || Chris<br />
|-<br />
|H03 || GEP041 || AMD FX-4100 quad || 3.6 GHz || 8 GB || SSD || .. || Chris<br />
|-<br />
|H04 || 4.2.5 || Intel Pentium 4 HT || 2.8 GHz || 512 MB || HDD || Ubuntu 14.04 based|| [[User:Romjerome]]<br />
|-<br />
|H05 || GEP041 || Intel Pentium 4 HT || 2.8 GHz || 512 MB || HDD || Ubuntu 14.04 based|| [[User:Romjerome]]<br />
|-<br />
|H06 || 5.0.0-alpha (5099b42) || Intel Pentium 4 HT || 2.8 GHz || 512 MB || HDD || Ubuntu 14.04 based|| [[User:Romjerome]]<br />
|-<br />
|H07 || 4.2.3 || .. || .. GHz || .GB || SSD || .. || ..<br />
|-<br />
|H08 || 4.2.5 || .. || .. GHz || .GB || SSD || .. || ..<br />
|}<br />
<br />
=== Tests table legend ===<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Test Code !! Test Description<br />
|- <br />
|T01 || Time to '''open''' the Person Selector, no '''search''' yet<br />
|- <br />
|T01_a || Time to find the person from {{man label|Association}} tab on {{man label|Person Editor}}<br />
|- <br />
|T01_b || Time to find the person from Selector on {{man label|Reports}}, '''pre-selection'''<br />
|- <br />
|T01_c || Time to find one parent from {{man label|Family Editor}}, '''pre-selection'''<br />
|- <br />
|T01_d || Time to find one child from {{man label|Family Editor}}, '''pre-selection'''<br />
|-<br />
|T01_e || Time to '''open''' the active person from {{man label|Form}} addon, no need '''search''' time<br />
|-<br />
|T01_f || Time to find the non-active person from {{man label|Form}} addon<br />
|-<br />
|T02 || Time to find the {{man label|Family}} from Selector<br />
|-<br />
|T03 || Time to find the {{man label|Event}} from Selector<br />
|-<br />
|T04 || Time to find the {{man label|Place}} from Selector<br />
|-<br />
|T05 || Time to find the {{man label|Source}} from Selector<br />
|-<br />
|T06 || Time to find the {{man label|Citation}} from Selector<br />
|-<br />
|T07 || Time to find the {{man label|Repository}} from Selector<br />
|-<br />
|T08 || Time to find the {{man label|Media}} from Selector <br />
|-<br />
|T09 || Time to find the {{man label|Note}} from Selector <br />
|}<br />
<br />
=== Performance results ===<br />
<br />
You can add print statements, like:<br />
import time<br />
one = time.clock()<br />
two = time.clock()<br />
print(two-one)<br />
then run gramps via console<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Config !! data !! T01 (no search, build model)!! T01_a (raw find and search)!! T01_b (filter by user data)!! T01_c (filter by sex)!! T01_d (filter, skip list)!! T01_e (no search, has_focus)!! T01_f (alternative focus)!! comments<br />
|-<br />
|H01||id0||bgcolor="#a0ffa0"|2.5s||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor="#a0ffa0"|2.5s||bgcolor=""|-||expands only surname of person selected<br />
|-<br />
|H02||id0||bgcolor="#ffa0a0"|18s||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor="#ffa0a0"|18s||bgcolor=""|-||expands all surnames<br />
|-<br />
|H03||id0||bgcolor="#e0ffe0"|5s||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor="#e0ffe0"|5s||bgcolor=""|-||expands all surnames<br />
|-<br />
|H04||id1||bgcolor="#e0ffe0"|4s<t<12s||bgcolor="#e0ffe0"|7s<t<15s||bgcolor="#a0ffa0"|>3s||bgcolor="#a0ffa0"|<3s||bgcolor="#e0ffe0"|6s||bgcolor="#a0ffa0"|4s||bgcolor="#e0ffe0"|7s||Sometimes, BaseSelector.__init__can take 2/3 of time<br />
|-<br />
|H05||id1||bgcolor="#a0ffa0"|4s||bgcolor="#a0ffa0"|~5s||bgcolor="#a0ffa0"|~3s||bgcolor="#a0ffa0"|~3s||bgcolor="#e0ffe0"|~5s||bgcolor="#a0ffa0"|4s||bgcolor="#e0ffe0"|~6s||if filter does right, then few seconds for matching, else ~+3 seconds for finding<br />
|-<br />
|H06||id1||bgcolor="#a0ffa0"|4s||bgcolor="#a0ffa0"|~7s||bgcolor="#a0ffa0"|~4s||bgcolor="#a0ffa0"|~3s||bgcolor="#e0ffe0"|~6s||bgcolor="#a0ffa0"|5s||bgcolor="#e0ffe0"|~7s||Do not have problem. Need ~+3 seconds for finding. Time close to GEP041 (~+1s).<br />
|}<br />
<br />
Tests could be on BaseSelector as some objects do not have own _init_().<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Config !! data !! T02 !! T03 !! T04 !! T05 !! T06 !! T07 !! T08 !! T09 !! comments<br />
|-<br />
|H04||id1||bgcolor="#a0ffa0"|<1s||bgcolor="a0ffa0"|<1s||bgcolor="#a0ffa0"|<1s||bgcolor="#a0ffa0"|1s||bgcolor="a0ffa0"|<1s||bgcolor="a0ffa0"|<1s||bgcolor="a0ffa0"|<1s||bgcolor="a0ffa0"|<1s||''very fast'': +/- 3 seconds for matching, searching, finding.<br />
|-<br />
|H05||id1||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<4s||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<3s ||bgcolor="#a0ffa0"|<3s||''fast'': filter rules provide a user selection (last edited, last used, bookmarked, related, active), else, +/- 3 seconds for matching, searching, finding.<br />
|}<br />
<br />
===More===<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Config !! data !! T01 (no search)!! T01_a (raw find and search)!! T01_b (filter by user data)!! T01_c (filter by gender)!! T01_d (filter)!! T01_e (no search, has_focus)!! T01_f (alternative focus)!! comments<br />
|-<br />
|H07||id2||bgcolor="#ffa0a0"|1m||bgcolor="#a0ffa0"|1s||bgcolor="#e0ffe0"|10s||bgcolor="#ffa0a0"|1m||bgcolor="#a0ffa0"|1s||bgcolor="#e0ffe0"|10s||bgcolor="#ffa0a0"|1m ||comments<br />
|-<br />
|H08||id2||bgcolor="#ffa0a0"|1m||bgcolor="#a0ffa0"|1s||bgcolor="#e0ffe0"|10s||bgcolor="#ffa0a0"|1m||bgcolor="#a0ffa0"|1s||bgcolor="#e0ffe0"|10s||bgcolor="#ffa0a0"|1m ||comments<br />
|}<br />
<br />
Tests could be on BaseSelector as some objects do not have own _init_().<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Config !! data !! T02 !! T03 !! T04 !! T05 !! T06 !! T07 !! T08 !! T09 !! comments<br />
|-<br />
|H07||id2||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||bgcolor="#e0ffe0"|-||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||bgcolor="#e0ffe0"|-||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||comments <br />
|-<br />
|H06||id2||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||bgcolor="#e0ffe0"|-||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||bgcolor="#e0ffe0"|-||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||comments <br />
|}<br />
<br />
<br />
[[Category:GEPS|S]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=GEPS_041:_New_Selector&diff=90719GEPS 041: New Selector2022-02-20T11:48:22Z<p>Romjerome: /* Test */</p>
<hr />
<div>What should be part of the [https://en.wikipedia.org/wiki/List_box Selector]?<br />
<br />
==What is the need?==<br />
<br />
# Select one record (object) via the '''G'''raphical '''U'''ser '''I'''nterface<br />
# Display main data, for letting the user make the selection<br />
# Usability and consistency<br />
# Search and filter features<br />
<br />
===Screenshots===<br />
<br />
[[File:Select-person_42.png|Person selector]]<br />
<br />
[[File:Select-family_42.png|Family selector]]<br />
<br />
{{-}}<br />
<br />
==Usage, goal and Usability==<br />
<br />
# Selection<br />
# Edition<br />
<br />
===Additional features and related concepts===<br />
<br />
# Reports<br />
# Filtering for selecting a group of records (objects)<br />
# Navigation, history and active objects<br />
# Runtime and performance<br />
# Selection expected by the user, marked and tagged objects<br />
# refining a selection<br />
<br />
====[[Gramps_4.2_Wiki_Manual_-_Filters#Filter_vs._Search|Filter vs. Search]]====<br />
<br />
There are two ways to find data in Gramps: ''Search'' and ''Filter''.<br />
<br />
* The '''Search''' will only match what is '''visible'''.<br />
* '''Filters''' are not limited to what you see on the screen, but looks at the actual data.<br />
See some [[Example_filters|filters]] for more details.<br />
<br />
====Search Bar====<br />
<br />
The current design of the ''Search bar'' lets us find '''visible data''' on '''active column'''.<br />
The ''Search Bar'' is often available on selectors.<br />
<br />
====Set of filter rules====<br />
<br />
For now, some selectors, on reports and on Family Editor, provide a ''fast filter'', '''by default'''.<br />
<br />
The ''Search bar'' is disabled and an additional ''Show all'' button is available at the bottom <br />
of the dialog. <br />
<br />
These windows are trying to provide a '''quick''' and '''common selection''' of people.<br />
<br />
e.g., filtered ''by gender'' on Family Editor, or ''bookmarked people'' on reports.<br />
<br />
[[File:Select-mother.png|Mother selector via fast filtering and 'Show all' button at the bottom]]<br />
<br />
{{-}}<br />
<br />
====Interactive Search====<br />
<br />
For limiting a gtk issue on ''Search'' field, gramps42 has it '''own interactive search widget'''.<br />
<br />
Just write the first letters of the word on the dialog, and the cursor will try to find this word.<br />
<br />
Like the ''[[Gramps_4.2_Wiki_Manual_-_Keybindings#All_List_Views_bindings|Find]]'' shortcut box, available with {{Man key press|CTRL|F}} or {{Man key press|CMND|F}}.<br />
<br />
===Limits on current selectors===<br />
<br />
# Time for search<br />
# Performance<br />
# Few fast filter rules, by default<br />
# Consistency, mixup of features and widgets<br />
# Hierarchically grouping records (e.g., Person, Place) in the Selector cripples sorting capabilities. Sub-sorting within grouping by "Last Changed" is of little value compared for the entire list. Add option to use Flat lists?<br />
<br />
{{man note|Note, there was a [[#Interactive_Search|Gtk SearchEntry bug (latency and collapsed seizure)]] limiting a good search match: max_length(3).|Fixed since gramps 4.2.0, see bug report {{bug|1450}}.}}<br />
<br />
==Proposals==<br />
<br />
'''Optional''' proposals.<br />
<br />
[[File:GEP41_new_selector.png|675px|Search and filter on new selector]]<br />
<br />
===Displayed columns===<br />
<br />
<br />
'''Current Selectors''':<br />
{|class="wikitable"<br />
! | Selector<br />
! Columns and search keys<br />
! Interactive Search key<br />
|-<br />
|Person<br />
|Name, ID, Gender, Birth Date, Birth Place, Death Date, Death Place, Spouse, Last Change<br />
|Name<br />
|-<br />
|Family<br />
|ID, Father, Mother, Last Change<br />
|ID<br />
|-<br />
|Event<br />
|Type, Main Participants, Date, Place, Description, ID, Last Change<br />
|Type<br />
|-<br />
|Place<br />
|Name, ID, Type, Title, Last Change<br />
|Name<br />
|-<br />
|Source<br />
|Title, Author, ID, Last Change<br />
|Title<br />
|-<br />
|Citation<br />
|Source: Title or Citation: Volume/Page, ID, Last Change<br />
|Source: Title<br />
|-<br />
|Repository<br />
|Title, ID, Last Change<br />
|Title<br />
|-<br />
|Media<br />
|Title, ID, Type, Last Change<br />
|Title<br />
|-<br />
|Note<br />
|Preview, ID, Type, Tags, Last Change<br />
|Preview<br />
|-<br />
|}<br />
<br />
'''New Selectors''':<br />
{|class="wikitable"<br />
! | Selector<br />
! Columns<br />
! Interactive Search key<br />
! Search keys with regex support<br />
|-<br />
|Person<br />
|Name, ID, Gender, Birth Date, Birth Place, Death Date, Death Place, Spouse, Last Change<br />
|Name<br />
|Name, ID, Gender, Birth Date, Birth Place, Death Date, Death Place, Spouse<br />
|-<br />
|Family<br />
|ID, Father, Mother, Last Change<br />
|ID<br />
|ID, Father, Mother<br />
|-<br />
|Event<br />
|Type, Main Participants, Date, Place, Description, ID, Last Change<br />
|Type<br />
|Type, Main Participants, Date, Place, Description, ID<br />
|-<br />
|Place<br />
|Name, ID, Type, Title, Last Change<br />
|Name<br />
|Name, ID, Type, Title<br />
|-<br />
|Source<br />
|Title, Author, ID, Last Change<br />
|Title<br />
|Title, Author, ID<br />
|-<br />
|Citation<br />
|Source: Title or Citation: Volume/Page, ID, Last Change<br />
|Source: Title<br />
|Source: Title or Citation: Volume/Page, ID<br />
|-<br />
|Repository<br />
|Title, ID, Last Change<br />
|Title<br />
|Title, ID<br />
|-<br />
|Media<br />
|Title, ID, Type, Last Change<br />
|Title<br />
|Title, ID, Type<br />
|-<br />
|Note<br />
|Preview, ID, Type, Tags, Last Change<br />
|Preview<br />
|Preview, ID, Type, Tags<br />
|-<br />
|}<br />
<br />
===Fast filter by default===<br />
<br />
Ability to have a fast filter with the last active objects and bookmarked objects.<br />
<br />
Some experimentations have been made on feature request {{bug|5024}}.<br />
<br />
Current selector ecosystem already provides this ability.<br />
<br />
See [[#Screenshots|Person selector]] on reports and [[#Set_of_filter_rules|Father/Mother selector]] on Family Editor.<br />
<br />
{{man note|''On gramps '''4.2.2''', there was a bug {{bug|9315}} on the '''Show all'''/'''Search''' load''.}}<br />
<br />
===Clever search for each selector===<br />
<br />
See selector and query on [https://github.com/gramps-project/gramps_connect gramps-connect].<br />
<br />
[[File:Gramps_connect_query.png|Search query and filter on gramps_connect]]<br />
<br />
Ability to also use one search field matching on multiple columns (''names'', ''ID'', ''dates'', etc ...)<br />
<br />
[[File:Gramps_connect_search.png|675px|Search on gramps_connect]]<br />
<br />
See also [https://cloud.githubusercontent.com/assets/310024/13737225/d8c0a7d4-e978-11e5-9e9f-58a6c4c162a5.png search on filter rules editor]<br />
<br />
===Interface for handling and selecting custom filters on selectors===<br />
<br />
* [[UI_style|User Interface Style]]<br />
* [https://raw.githubusercontent.com/gnome-design-team/gnome-mockups/master/nautilus/nautilus-next/search-filters-wires.png Mockups] and [https://csorianognome.wordpress.com/2016/02/08/nautilus-3-20-and-looking-forward/ new features] since gtk+ 3.20.<br />
<br />
===Additional proposals===<br />
<br />
# Replace the ''Show all'' check box at the bottom by a ''Switcher'' at the top of the dialog.<br />
<br />
[[File:GEP41_fast_filter.png|GtkSwitcher]]<br />
<br />
===History===<br />
<br />
* Provide dynamic groups of objects based on the date of the last edition.<br />
<br />
** via API<br />
<br />
time = object.get_change_time()<br />
<br />
last = today<br />
group1 = from today to 1 week back<br />
group2 = from today to 2 weeks back<br />
group3 = from today to 1 month back<br />
group4 = from today to 6 months back<br />
group5 = more than 6 months back<br />
<br />
** via Filter<br />
<br />
sfilter.add_rule(rules.event.ChangedSince(["''Today date''", ""]))<br />
where "''Today date''" uses ISO-date format.<br />
<br />
* Displayed items can be sorted by change time<br />
<br />
==See also==<br />
<br />
* [https://github.com/gramps-project/gramps/tree/master/gramps/gui/selectors gramps/gui/selectors]<br />
<br />
* [[Database_Query_API]]<br />
<br />
=== Feature requests ===<br />
*{{bug|9837}}: More than 10 items in 'Latest Change' Gramplet list<br />
*{{bug|9814}}: Expanded Place tree when selecting existing place<br />
*{{bug|9276}}: <s>Need ability to search alternate place names when selecting place</s><br />
*{{bug|8762}}: Last Used places in the Select Place window<br />
*{{bug|8743}}: Search for place needs more options <br />
*{{bug|7342}}: <s>Show "Main Participants" with events</s><br />
*{{bug|6558}}: Optimize the use of citations<br />
*{{bug|6332}}: Move home person to bookmark menu<br />
*{{bug|5142}}: Keep selected the last selected source <br />
*{{bug|5037}}: [Reports] More names listed in the person/family selector box <br />
*{{bug|5024}}: By default, to display [Last Recent Used] and [bookmarked] objects on selectors<br />
*{{bug|3655}}: "last modified" timestamp changes everytime a tree is accessed<br />
*{{bug|12026}}: Add Existing Person is missing Find feature<br />
*[https://gramps.discourse.group/t/quickselect-combo-boxes/202 Discourse Topic]: [https://gramps.discourse.group/c/ideas/9 Ideas]; QuickSelect combo-boxes<br />
<br />
=== Others ===<br />
*{{bug|9880}}: <s>Time loading for person selector in census forms</s><br />
*{{bug|9738}}: <s>Select person dialog opens always expanded</s><br />
*{{bug|9700}}: <s>Select Place search & Source/Citation hierarchy should NOT automatically open</s><br />
*{{bug|9315}}: <s>[Regression]: filter set by default on selector is ignored on load (_init_)</s> <br />
*{{bug|9314}}: <s>Two selectors on Places report can generate a confusion</s> <br />
*{{bug|9028}}: <s>Find is broken when used in the Family selector</s> <br />
*{{bug|7536}}: <s>Events model does not have 8 columns</s><br />
*{{bug|7514}}: <s>Searching on Listviews is VEEERYYY slow and typing echo is scrambled</s><br />
*{{bug|7004}}: <s>Only Event and Family Editors are checking if data_has_changed on save()</s><br />
*{{bug|5032}}: <s>Report selection logic</s><br />
*{{bug|3653}}: <s>Manage Family Trees Window shows as 'last modified' the time stamp of generating the tree</s><br />
*{{bug|1450}}: <s>Incremental Gtk Search is broken on View</s><br />
<br />
==Test==<br />
<br />
Some experimentations are available on a forked branch.<br />
<br />
{{man warn|New Branch|Based on gramps master branch, a new major branch with many changes.<br />
<br />
For tests, need to focus on ''Selector'' features}}<br />
<br />
[https://github.com/romjerome/gramps_cryptic_rebase/archive/refs/heads/Selectors.zip Download a copy], unzip the archive and run:<br />
$ cd gramps_cryptic_rebase-Selectors<br />
$ python3 Gramps.py -d "gui.selector"<br />
create a '''new family tree''', and import a '''copy of your data'''.<br />
<br />
{{man note|Resource path|You may have to play with resource path.}}<br />
<br />
$ export GRAMPS_RESOURCES=/usr/local/lib/python3.6/dist-packages/gramps-5.2.0-py3.6.egg/share<br />
<br />
===Warnings===<br />
<br />
Tested some years ago with remaining issue (title, model, editors) because the focus was on possible modification on Selectors. Should take it as a draft.<br />
<br />
==Performances==<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Test Code <br />
!People (1)<br />
!Families (2)<br />
!Events (3)<br />
!Places (4)<br />
!Sources (5)<br />
!Citations (6)<br />
!Repositories (7)<br />
!Media (8)<br />
!Notes (9)<br />
|-<br />
|id0<br />
|17565 individuals - 3918 surnames<br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|-<br />
|id1 <br />
|4009 individuals - 1031 surnames<br />
|1633<br />
|9426<br />
|1043<br />
|1376<br />
|2870<br />
|38<br />
|1542<br />
|924<br />
|-<br />
|id2 <br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|-<br />
|id3 <br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|-<br />
|id4 <br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|-<br />
|<!-- Test Code --><br />
|<!-- People --><br />
|<!-- Families --><br />
|<!-- Events --><br />
|<!-- Places --><br />
|<!-- Sources --><br />
|<!-- Citations --><br />
|<!-- Repositories --><br />
|<!-- Media --><br />
|<!-- Notes --><br />
|}<br />
<br />
=== Configurations ===<br />
<br />
{| {{prettytable}}<br />
|- <br />
!Hardware Code<br />
!Gramps version<br />
!Processor<br />
!Clock<br />
!RAM<br />
!Storage<!--Type eg: HDD or SSD--><br />
!OS<br />
!User<br />
|-<br />
|H01 || 4.2.3 || AMD FX-4100 quad || 3.6 GHz || 8 GB || SSD || .. || Chris<br />
|-<br />
|H02 || 4.2.5 || AMD FX-4100 quad || 3.6 GHz || 8 GB || SSD || .. || Chris<br />
|-<br />
|H03 || GEP041 || AMD FX-4100 quad || 3.6 GHz || 8 GB || SSD || .. || Chris<br />
|-<br />
|H04 || 4.2.5 || Intel Pentium 4 HT || 2.8 GHz || 512 MB || HDD || Ubuntu 14.04 based|| [[User:Romjerome]]<br />
|-<br />
|H05 || GEP041 || Intel Pentium 4 HT || 2.8 GHz || 512 MB || HDD || Ubuntu 14.04 based|| [[User:Romjerome]]<br />
|-<br />
|H06 || 5.0.0-alpha (5099b42) || Intel Pentium 4 HT || 2.8 GHz || 512 MB || HDD || Ubuntu 14.04 based|| [[User:Romjerome]]<br />
|-<br />
|H07 || 4.2.3 || .. || .. GHz || .GB || SSD || .. || ..<br />
|-<br />
|H08 || 4.2.5 || .. || .. GHz || .GB || SSD || .. || ..<br />
|}<br />
<br />
=== Tests table legend ===<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Test Code !! Test Description<br />
|- <br />
|T01 || Time to '''open''' the Person Selector, no '''search''' yet<br />
|- <br />
|T01_a || Time to find the person from {{man label|Association}} tab on {{man label|Person Editor}}<br />
|- <br />
|T01_b || Time to find the person from Selector on {{man label|Reports}}, '''pre-selection'''<br />
|- <br />
|T01_c || Time to find one parent from {{man label|Family Editor}}, '''pre-selection'''<br />
|- <br />
|T01_d || Time to find one child from {{man label|Family Editor}}, '''pre-selection'''<br />
|-<br />
|T01_e || Time to '''open''' the active person from {{man label|Form}} addon, no need '''search''' time<br />
|-<br />
|T01_f || Time to find the non-active person from {{man label|Form}} addon<br />
|-<br />
|T02 || Time to find the {{man label|Family}} from Selector<br />
|-<br />
|T03 || Time to find the {{man label|Event}} from Selector<br />
|-<br />
|T04 || Time to find the {{man label|Place}} from Selector<br />
|-<br />
|T05 || Time to find the {{man label|Source}} from Selector<br />
|-<br />
|T06 || Time to find the {{man label|Citation}} from Selector<br />
|-<br />
|T07 || Time to find the {{man label|Repository}} from Selector<br />
|-<br />
|T08 || Time to find the {{man label|Media}} from Selector <br />
|-<br />
|T09 || Time to find the {{man label|Note}} from Selector <br />
|}<br />
<br />
=== Performance results ===<br />
<br />
You can add print statements, like:<br />
import time<br />
one = time.clock()<br />
two = time.clock()<br />
print(two-one)<br />
then run gramps via console<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Config !! data !! T01 (no search, build model)!! T01_a (raw find and search)!! T01_b (filter by user data)!! T01_c (filter by sex)!! T01_d (filter, skip list)!! T01_e (no search, has_focus)!! T01_f (alternative focus)!! comments<br />
|-<br />
|H01||id0||bgcolor="#a0ffa0"|2.5s||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor="#a0ffa0"|2.5s||bgcolor=""|-||expands only surname of person selected<br />
|-<br />
|H02||id0||bgcolor="#ffa0a0"|18s||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor="#ffa0a0"|18s||bgcolor=""|-||expands all surnames<br />
|-<br />
|H03||id0||bgcolor="#e0ffe0"|5s||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor="#e0ffe0"|5s||bgcolor=""|-||expands all surnames<br />
|-<br />
|H04||id1||bgcolor="#e0ffe0"|4s<t<12s||bgcolor="#e0ffe0"|7s<t<15s||bgcolor="#a0ffa0"|>3s||bgcolor="#a0ffa0"|<3s||bgcolor="#e0ffe0"|6s||bgcolor="#a0ffa0"|4s||bgcolor="#e0ffe0"|7s||Sometimes, BaseSelector.__init__can take 2/3 of time<br />
|-<br />
|H05||id1||bgcolor="#a0ffa0"|4s||bgcolor="#a0ffa0"|~5s||bgcolor="#a0ffa0"|~3s||bgcolor="#a0ffa0"|~3s||bgcolor="#e0ffe0"|~5s||bgcolor="#a0ffa0"|4s||bgcolor="#e0ffe0"|~6s||if filter does right, then few seconds for matching, else ~+3 seconds for finding<br />
|-<br />
|H06||id1||bgcolor="#a0ffa0"|4s||bgcolor="#a0ffa0"|~7s||bgcolor="#a0ffa0"|~4s||bgcolor="#a0ffa0"|~3s||bgcolor="#e0ffe0"|~6s||bgcolor="#a0ffa0"|5s||bgcolor="#e0ffe0"|~7s||Do not have problem. Need ~+3 seconds for finding. Time close to GEP041 (~+1s).<br />
|}<br />
<br />
Tests could be on BaseSelector as some objects do not have own _init_().<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Config !! data !! T02 !! T03 !! T04 !! T05 !! T06 !! T07 !! T08 !! T09 !! comments<br />
|-<br />
|H04||id1||bgcolor="#a0ffa0"|<1s||bgcolor="a0ffa0"|<1s||bgcolor="#a0ffa0"|<1s||bgcolor="#a0ffa0"|1s||bgcolor="a0ffa0"|<1s||bgcolor="a0ffa0"|<1s||bgcolor="a0ffa0"|<1s||bgcolor="a0ffa0"|<1s||''very fast'': +/- 3 seconds for matching, searching, finding.<br />
|-<br />
|H05||id1||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<4s||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<3s ||bgcolor="#a0ffa0"|<3s||''fast'': filter rules provide a user selection (last edited, last used, bookmarked, related, active), else, +/- 3 seconds for matching, searching, finding.<br />
|}<br />
<br />
===More===<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Config !! data !! T01 (no search)!! T01_a (raw find and search)!! T01_b (filter by user data)!! T01_c (filter by gender)!! T01_d (filter)!! T01_e (no search, has_focus)!! T01_f (alternative focus)!! comments<br />
|-<br />
|H07||id2||bgcolor="#ffa0a0"|1m||bgcolor="#a0ffa0"|1s||bgcolor="#e0ffe0"|10s||bgcolor="#ffa0a0"|1m||bgcolor="#a0ffa0"|1s||bgcolor="#e0ffe0"|10s||bgcolor="#ffa0a0"|1m ||comments<br />
|-<br />
|H08||id2||bgcolor="#ffa0a0"|1m||bgcolor="#a0ffa0"|1s||bgcolor="#e0ffe0"|10s||bgcolor="#ffa0a0"|1m||bgcolor="#a0ffa0"|1s||bgcolor="#e0ffe0"|10s||bgcolor="#ffa0a0"|1m ||comments<br />
|}<br />
<br />
Tests could be on BaseSelector as some objects do not have own _init_().<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Config !! data !! T02 !! T03 !! T04 !! T05 !! T06 !! T07 !! T08 !! T09 !! comments<br />
|-<br />
|H07||id2||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||bgcolor="#e0ffe0"|-||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||bgcolor="#e0ffe0"|-||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||comments <br />
|-<br />
|H06||id2||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||bgcolor="#e0ffe0"|-||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||bgcolor="#e0ffe0"|-||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||comments <br />
|}<br />
<br />
<br />
[[Category:GEPS|S]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=GEPS_041:_New_Selector&diff=90717GEPS 041: New Selector2022-02-20T11:06:09Z<p>Romjerome: /* Test */</p>
<hr />
<div>What should be part of the [https://en.wikipedia.org/wiki/List_box Selector]?<br />
<br />
==What is the need?==<br />
<br />
# Select one record (object) via the '''G'''raphical '''U'''ser '''I'''nterface<br />
# Display main data, for letting the user make the selection<br />
# Usability and consistency<br />
# Search and filter features<br />
<br />
===Screenshots===<br />
<br />
[[File:Select-person_42.png|Person selector]]<br />
<br />
[[File:Select-family_42.png|Family selector]]<br />
<br />
{{-}}<br />
<br />
==Usage, goal and Usability==<br />
<br />
# Selection<br />
# Edition<br />
<br />
===Additional features and related concepts===<br />
<br />
# Reports<br />
# Filtering for selecting a group of records (objects)<br />
# Navigation, history and active objects<br />
# Runtime and performance<br />
# Selection expected by the user, marked and tagged objects<br />
# refining a selection<br />
<br />
====[[Gramps_4.2_Wiki_Manual_-_Filters#Filter_vs._Search|Filter vs. Search]]====<br />
<br />
There are two ways to find data in Gramps: ''Search'' and ''Filter''.<br />
<br />
* The '''Search''' will only match what is '''visible'''.<br />
* '''Filters''' are not limited to what you see on the screen, but looks at the actual data.<br />
See some [[Example_filters|filters]] for more details.<br />
<br />
====Search Bar====<br />
<br />
The current design of the ''Search bar'' lets us find '''visible data''' on '''active column'''.<br />
The ''Search Bar'' is often available on selectors.<br />
<br />
====Set of filter rules====<br />
<br />
For now, some selectors, on reports and on Family Editor, provide a ''fast filter'', '''by default'''.<br />
<br />
The ''Search bar'' is disabled and an additional ''Show all'' button is available at the bottom <br />
of the dialog. <br />
<br />
These windows are trying to provide a '''quick''' and '''common selection''' of people.<br />
<br />
e.g., filtered ''by gender'' on Family Editor, or ''bookmarked people'' on reports.<br />
<br />
[[File:Select-mother.png|Mother selector via fast filtering and 'Show all' button at the bottom]]<br />
<br />
{{-}}<br />
<br />
====Interactive Search====<br />
<br />
For limiting a gtk issue on ''Search'' field, gramps42 has it '''own interactive search widget'''.<br />
<br />
Just write the first letters of the word on the dialog, and the cursor will try to find this word.<br />
<br />
Like the ''[[Gramps_4.2_Wiki_Manual_-_Keybindings#All_List_Views_bindings|Find]]'' shortcut box, available with {{Man key press|CTRL|F}} or {{Man key press|CMND|F}}.<br />
<br />
===Limits on current selectors===<br />
<br />
# Time for search<br />
# Performance<br />
# Few fast filter rules, by default<br />
# Consistency, mixup of features and widgets<br />
# Hierarchically grouping records (e.g., Person, Place) in the Selector cripples sorting capabilities. Sub-sorting within grouping by "Last Changed" is of little value compared for the entire list. Add option to use Flat lists?<br />
<br />
{{man note|Note, there was a [[#Interactive_Search|Gtk SearchEntry bug (latency and collapsed seizure)]] limiting a good search match: max_length(3).|Fixed since gramps 4.2.0, see bug report {{bug|1450}}.}}<br />
<br />
==Proposals==<br />
<br />
'''Optional''' proposals.<br />
<br />
[[File:GEP41_new_selector.png|675px|Search and filter on new selector]]<br />
<br />
===Displayed columns===<br />
<br />
<br />
'''Current Selectors''':<br />
{|class="wikitable"<br />
! | Selector<br />
! Columns and search keys<br />
! Interactive Search key<br />
|-<br />
|Person<br />
|Name, ID, Gender, Birth Date, Birth Place, Death Date, Death Place, Spouse, Last Change<br />
|Name<br />
|-<br />
|Family<br />
|ID, Father, Mother, Last Change<br />
|ID<br />
|-<br />
|Event<br />
|Type, Main Participants, Date, Place, Description, ID, Last Change<br />
|Type<br />
|-<br />
|Place<br />
|Name, ID, Type, Title, Last Change<br />
|Name<br />
|-<br />
|Source<br />
|Title, Author, ID, Last Change<br />
|Title<br />
|-<br />
|Citation<br />
|Source: Title or Citation: Volume/Page, ID, Last Change<br />
|Source: Title<br />
|-<br />
|Repository<br />
|Title, ID, Last Change<br />
|Title<br />
|-<br />
|Media<br />
|Title, ID, Type, Last Change<br />
|Title<br />
|-<br />
|Note<br />
|Preview, ID, Type, Tags, Last Change<br />
|Preview<br />
|-<br />
|}<br />
<br />
'''New Selectors''':<br />
{|class="wikitable"<br />
! | Selector<br />
! Columns<br />
! Interactive Search key<br />
! Search keys with regex support<br />
|-<br />
|Person<br />
|Name, ID, Gender, Birth Date, Birth Place, Death Date, Death Place, Spouse, Last Change<br />
|Name<br />
|Name, ID, Gender, Birth Date, Birth Place, Death Date, Death Place, Spouse<br />
|-<br />
|Family<br />
|ID, Father, Mother, Last Change<br />
|ID<br />
|ID, Father, Mother<br />
|-<br />
|Event<br />
|Type, Main Participants, Date, Place, Description, ID, Last Change<br />
|Type<br />
|Type, Main Participants, Date, Place, Description, ID<br />
|-<br />
|Place<br />
|Name, ID, Type, Title, Last Change<br />
|Name<br />
|Name, ID, Type, Title<br />
|-<br />
|Source<br />
|Title, Author, ID, Last Change<br />
|Title<br />
|Title, Author, ID<br />
|-<br />
|Citation<br />
|Source: Title or Citation: Volume/Page, ID, Last Change<br />
|Source: Title<br />
|Source: Title or Citation: Volume/Page, ID<br />
|-<br />
|Repository<br />
|Title, ID, Last Change<br />
|Title<br />
|Title, ID<br />
|-<br />
|Media<br />
|Title, ID, Type, Last Change<br />
|Title<br />
|Title, ID, Type<br />
|-<br />
|Note<br />
|Preview, ID, Type, Tags, Last Change<br />
|Preview<br />
|Preview, ID, Type, Tags<br />
|-<br />
|}<br />
<br />
===Fast filter by default===<br />
<br />
Ability to have a fast filter with the last active objects and bookmarked objects.<br />
<br />
Some experimentations have been made on feature request {{bug|5024}}.<br />
<br />
Current selector ecosystem already provides this ability.<br />
<br />
See [[#Screenshots|Person selector]] on reports and [[#Set_of_filter_rules|Father/Mother selector]] on Family Editor.<br />
<br />
{{man note|''On gramps '''4.2.2''', there was a bug {{bug|9315}} on the '''Show all'''/'''Search''' load''.}}<br />
<br />
===Clever search for each selector===<br />
<br />
See selector and query on [https://github.com/gramps-project/gramps_connect gramps-connect].<br />
<br />
[[File:Gramps_connect_query.png|Search query and filter on gramps_connect]]<br />
<br />
Ability to also use one search field matching on multiple columns (''names'', ''ID'', ''dates'', etc ...)<br />
<br />
[[File:Gramps_connect_search.png|675px|Search on gramps_connect]]<br />
<br />
See also [https://cloud.githubusercontent.com/assets/310024/13737225/d8c0a7d4-e978-11e5-9e9f-58a6c4c162a5.png search on filter rules editor]<br />
<br />
===Interface for handling and selecting custom filters on selectors===<br />
<br />
* [[UI_style|User Interface Style]]<br />
* [https://raw.githubusercontent.com/gnome-design-team/gnome-mockups/master/nautilus/nautilus-next/search-filters-wires.png Mockups] and [https://csorianognome.wordpress.com/2016/02/08/nautilus-3-20-and-looking-forward/ new features] since gtk+ 3.20.<br />
<br />
===Additional proposals===<br />
<br />
# Replace the ''Show all'' check box at the bottom by a ''Switcher'' at the top of the dialog.<br />
<br />
[[File:GEP41_fast_filter.png|GtkSwitcher]]<br />
<br />
===History===<br />
<br />
* Provide dynamic groups of objects based on the date of the last edition.<br />
<br />
** via API<br />
<br />
time = object.get_change_time()<br />
<br />
last = today<br />
group1 = from today to 1 week back<br />
group2 = from today to 2 weeks back<br />
group3 = from today to 1 month back<br />
group4 = from today to 6 months back<br />
group5 = more than 6 months back<br />
<br />
** via Filter<br />
<br />
sfilter.add_rule(rules.event.ChangedSince(["''Today date''", ""]))<br />
where "''Today date''" uses ISO-date format.<br />
<br />
* Displayed items can be sorted by change time<br />
<br />
==See also==<br />
<br />
* [https://github.com/gramps-project/gramps/tree/master/gramps/gui/selectors gramps/gui/selectors]<br />
<br />
* [[Database_Query_API]]<br />
<br />
=== Feature requests ===<br />
*{{bug|9837}}: More than 10 items in 'Latest Change' Gramplet list<br />
*{{bug|9814}}: Expanded Place tree when selecting existing place<br />
*{{bug|9276}}: <s>Need ability to search alternate place names when selecting place</s><br />
*{{bug|8762}}: Last Used places in the Select Place window<br />
*{{bug|8743}}: Search for place needs more options <br />
*{{bug|7342}}: <s>Show "Main Participants" with events</s><br />
*{{bug|6558}}: Optimize the use of citations<br />
*{{bug|6332}}: Move home person to bookmark menu<br />
*{{bug|5142}}: Keep selected the last selected source <br />
*{{bug|5037}}: [Reports] More names listed in the person/family selector box <br />
*{{bug|5024}}: By default, to display [Last Recent Used] and [bookmarked] objects on selectors<br />
*{{bug|3655}}: "last modified" timestamp changes everytime a tree is accessed<br />
*{{bug|12026}}: Add Existing Person is missing Find feature<br />
*[https://gramps.discourse.group/t/quickselect-combo-boxes/202 Discourse Topic]: [https://gramps.discourse.group/c/ideas/9 Ideas]; QuickSelect combo-boxes<br />
<br />
=== Others ===<br />
*{{bug|9880}}: <s>Time loading for person selector in census forms</s><br />
*{{bug|9738}}: <s>Select person dialog opens always expanded</s><br />
*{{bug|9700}}: <s>Select Place search & Source/Citation hierarchy should NOT automatically open</s><br />
*{{bug|9315}}: <s>[Regression]: filter set by default on selector is ignored on load (_init_)</s> <br />
*{{bug|9314}}: <s>Two selectors on Places report can generate a confusion</s> <br />
*{{bug|9028}}: <s>Find is broken when used in the Family selector</s> <br />
*{{bug|7536}}: <s>Events model does not have 8 columns</s><br />
*{{bug|7514}}: <s>Searching on Listviews is VEEERYYY slow and typing echo is scrambled</s><br />
*{{bug|7004}}: <s>Only Event and Family Editors are checking if data_has_changed on save()</s><br />
*{{bug|5032}}: <s>Report selection logic</s><br />
*{{bug|3653}}: <s>Manage Family Trees Window shows as 'last modified' the time stamp of generating the tree</s><br />
*{{bug|1450}}: <s>Incremental Gtk Search is broken on View</s><br />
<br />
==Test==<br />
<br />
Some experimentations are available on a forked branch.<br />
<br />
{{man warn|New Branch|Based on gramps master branch, a new major branch with many changes.<br />
<br />
For tests, need to focus on ''Selector'' features}}<br />
<br />
[https://github.com/romjerome/gramps_cryptic_rebase/archive/refs/heads/Selectors.zip Download a copy], unzip the archive and run:<br />
$ cd gramps_cryptic_rebase-Selectors<br />
$ python3 Gramps.py -d "gui.selector"<br />
create a '''new family tree''', and import a '''copy of your data'''.<br />
<br />
{{man note|Resource path|You may have to play with resource path.}}<br />
<br />
$ export GRAMPS_RESOURCES=/usr/local/lib/python3.6/dist-packages/gramps-5.2.0-py3.6.egg/share<br />
<br />
==Performances==<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Test Code <br />
!People (1)<br />
!Families (2)<br />
!Events (3)<br />
!Places (4)<br />
!Sources (5)<br />
!Citations (6)<br />
!Repositories (7)<br />
!Media (8)<br />
!Notes (9)<br />
|-<br />
|id0<br />
|17565 individuals - 3918 surnames<br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|-<br />
|id1 <br />
|4009 individuals - 1031 surnames<br />
|1633<br />
|9426<br />
|1043<br />
|1376<br />
|2870<br />
|38<br />
|1542<br />
|924<br />
|-<br />
|id2 <br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|-<br />
|id3 <br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|-<br />
|id4 <br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|-<br />
|<!-- Test Code --><br />
|<!-- People --><br />
|<!-- Families --><br />
|<!-- Events --><br />
|<!-- Places --><br />
|<!-- Sources --><br />
|<!-- Citations --><br />
|<!-- Repositories --><br />
|<!-- Media --><br />
|<!-- Notes --><br />
|}<br />
<br />
=== Configurations ===<br />
<br />
{| {{prettytable}}<br />
|- <br />
!Hardware Code<br />
!Gramps version<br />
!Processor<br />
!Clock<br />
!RAM<br />
!Storage<!--Type eg: HDD or SSD--><br />
!OS<br />
!User<br />
|-<br />
|H01 || 4.2.3 || AMD FX-4100 quad || 3.6 GHz || 8 GB || SSD || .. || Chris<br />
|-<br />
|H02 || 4.2.5 || AMD FX-4100 quad || 3.6 GHz || 8 GB || SSD || .. || Chris<br />
|-<br />
|H03 || GEP041 || AMD FX-4100 quad || 3.6 GHz || 8 GB || SSD || .. || Chris<br />
|-<br />
|H04 || 4.2.5 || Intel Pentium 4 HT || 2.8 GHz || 512 MB || HDD || Ubuntu 14.04 based|| [[User:Romjerome]]<br />
|-<br />
|H05 || GEP041 || Intel Pentium 4 HT || 2.8 GHz || 512 MB || HDD || Ubuntu 14.04 based|| [[User:Romjerome]]<br />
|-<br />
|H06 || 5.0.0-alpha (5099b42) || Intel Pentium 4 HT || 2.8 GHz || 512 MB || HDD || Ubuntu 14.04 based|| [[User:Romjerome]]<br />
|-<br />
|H07 || 4.2.3 || .. || .. GHz || .GB || SSD || .. || ..<br />
|-<br />
|H08 || 4.2.5 || .. || .. GHz || .GB || SSD || .. || ..<br />
|}<br />
<br />
=== Tests table legend ===<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Test Code !! Test Description<br />
|- <br />
|T01 || Time to '''open''' the Person Selector, no '''search''' yet<br />
|- <br />
|T01_a || Time to find the person from {{man label|Association}} tab on {{man label|Person Editor}}<br />
|- <br />
|T01_b || Time to find the person from Selector on {{man label|Reports}}, '''pre-selection'''<br />
|- <br />
|T01_c || Time to find one parent from {{man label|Family Editor}}, '''pre-selection'''<br />
|- <br />
|T01_d || Time to find one child from {{man label|Family Editor}}, '''pre-selection'''<br />
|-<br />
|T01_e || Time to '''open''' the active person from {{man label|Form}} addon, no need '''search''' time<br />
|-<br />
|T01_f || Time to find the non-active person from {{man label|Form}} addon<br />
|-<br />
|T02 || Time to find the {{man label|Family}} from Selector<br />
|-<br />
|T03 || Time to find the {{man label|Event}} from Selector<br />
|-<br />
|T04 || Time to find the {{man label|Place}} from Selector<br />
|-<br />
|T05 || Time to find the {{man label|Source}} from Selector<br />
|-<br />
|T06 || Time to find the {{man label|Citation}} from Selector<br />
|-<br />
|T07 || Time to find the {{man label|Repository}} from Selector<br />
|-<br />
|T08 || Time to find the {{man label|Media}} from Selector <br />
|-<br />
|T09 || Time to find the {{man label|Note}} from Selector <br />
|}<br />
<br />
=== Performance results ===<br />
<br />
You can add print statements, like:<br />
import time<br />
one = time.clock()<br />
two = time.clock()<br />
print(two-one)<br />
then run gramps via console<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Config !! data !! T01 (no search, build model)!! T01_a (raw find and search)!! T01_b (filter by user data)!! T01_c (filter by sex)!! T01_d (filter, skip list)!! T01_e (no search, has_focus)!! T01_f (alternative focus)!! comments<br />
|-<br />
|H01||id0||bgcolor="#a0ffa0"|2.5s||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor="#a0ffa0"|2.5s||bgcolor=""|-||expands only surname of person selected<br />
|-<br />
|H02||id0||bgcolor="#ffa0a0"|18s||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor="#ffa0a0"|18s||bgcolor=""|-||expands all surnames<br />
|-<br />
|H03||id0||bgcolor="#e0ffe0"|5s||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor="#e0ffe0"|5s||bgcolor=""|-||expands all surnames<br />
|-<br />
|H04||id1||bgcolor="#e0ffe0"|4s<t<12s||bgcolor="#e0ffe0"|7s<t<15s||bgcolor="#a0ffa0"|>3s||bgcolor="#a0ffa0"|<3s||bgcolor="#e0ffe0"|6s||bgcolor="#a0ffa0"|4s||bgcolor="#e0ffe0"|7s||Sometimes, BaseSelector.__init__can take 2/3 of time<br />
|-<br />
|H05||id1||bgcolor="#a0ffa0"|4s||bgcolor="#a0ffa0"|~5s||bgcolor="#a0ffa0"|~3s||bgcolor="#a0ffa0"|~3s||bgcolor="#e0ffe0"|~5s||bgcolor="#a0ffa0"|4s||bgcolor="#e0ffe0"|~6s||if filter does right, then few seconds for matching, else ~+3 seconds for finding<br />
|-<br />
|H06||id1||bgcolor="#a0ffa0"|4s||bgcolor="#a0ffa0"|~7s||bgcolor="#a0ffa0"|~4s||bgcolor="#a0ffa0"|~3s||bgcolor="#e0ffe0"|~6s||bgcolor="#a0ffa0"|5s||bgcolor="#e0ffe0"|~7s||Do not have problem. Need ~+3 seconds for finding. Time close to GEP041 (~+1s).<br />
|}<br />
<br />
Tests could be on BaseSelector as some objects do not have own _init_().<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Config !! data !! T02 !! T03 !! T04 !! T05 !! T06 !! T07 !! T08 !! T09 !! comments<br />
|-<br />
|H04||id1||bgcolor="#a0ffa0"|<1s||bgcolor="a0ffa0"|<1s||bgcolor="#a0ffa0"|<1s||bgcolor="#a0ffa0"|1s||bgcolor="a0ffa0"|<1s||bgcolor="a0ffa0"|<1s||bgcolor="a0ffa0"|<1s||bgcolor="a0ffa0"|<1s||''very fast'': +/- 3 seconds for matching, searching, finding.<br />
|-<br />
|H05||id1||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<4s||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<3s ||bgcolor="#a0ffa0"|<3s||''fast'': filter rules provide a user selection (last edited, last used, bookmarked, related, active), else, +/- 3 seconds for matching, searching, finding.<br />
|}<br />
<br />
===More===<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Config !! data !! T01 (no search)!! T01_a (raw find and search)!! T01_b (filter by user data)!! T01_c (filter by gender)!! T01_d (filter)!! T01_e (no search, has_focus)!! T01_f (alternative focus)!! comments<br />
|-<br />
|H07||id2||bgcolor="#ffa0a0"|1m||bgcolor="#a0ffa0"|1s||bgcolor="#e0ffe0"|10s||bgcolor="#ffa0a0"|1m||bgcolor="#a0ffa0"|1s||bgcolor="#e0ffe0"|10s||bgcolor="#ffa0a0"|1m ||comments<br />
|-<br />
|H08||id2||bgcolor="#ffa0a0"|1m||bgcolor="#a0ffa0"|1s||bgcolor="#e0ffe0"|10s||bgcolor="#ffa0a0"|1m||bgcolor="#a0ffa0"|1s||bgcolor="#e0ffe0"|10s||bgcolor="#ffa0a0"|1m ||comments<br />
|}<br />
<br />
Tests could be on BaseSelector as some objects do not have own _init_().<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Config !! data !! T02 !! T03 !! T04 !! T05 !! T06 !! T07 !! T08 !! T09 !! comments<br />
|-<br />
|H07||id2||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||bgcolor="#e0ffe0"|-||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||bgcolor="#e0ffe0"|-||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||comments <br />
|-<br />
|H06||id2||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||bgcolor="#e0ffe0"|-||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||bgcolor="#e0ffe0"|-||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||comments <br />
|}<br />
<br />
<br />
[[Category:GEPS|S]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=GEPS_041:_New_Selector&diff=90716GEPS 041: New Selector2022-02-20T11:05:12Z<p>Romjerome: /* Test */</p>
<hr />
<div>What should be part of the [https://en.wikipedia.org/wiki/List_box Selector]?<br />
<br />
==What is the need?==<br />
<br />
# Select one record (object) via the '''G'''raphical '''U'''ser '''I'''nterface<br />
# Display main data, for letting the user make the selection<br />
# Usability and consistency<br />
# Search and filter features<br />
<br />
===Screenshots===<br />
<br />
[[File:Select-person_42.png|Person selector]]<br />
<br />
[[File:Select-family_42.png|Family selector]]<br />
<br />
{{-}}<br />
<br />
==Usage, goal and Usability==<br />
<br />
# Selection<br />
# Edition<br />
<br />
===Additional features and related concepts===<br />
<br />
# Reports<br />
# Filtering for selecting a group of records (objects)<br />
# Navigation, history and active objects<br />
# Runtime and performance<br />
# Selection expected by the user, marked and tagged objects<br />
# refining a selection<br />
<br />
====[[Gramps_4.2_Wiki_Manual_-_Filters#Filter_vs._Search|Filter vs. Search]]====<br />
<br />
There are two ways to find data in Gramps: ''Search'' and ''Filter''.<br />
<br />
* The '''Search''' will only match what is '''visible'''.<br />
* '''Filters''' are not limited to what you see on the screen, but looks at the actual data.<br />
See some [[Example_filters|filters]] for more details.<br />
<br />
====Search Bar====<br />
<br />
The current design of the ''Search bar'' lets us find '''visible data''' on '''active column'''.<br />
The ''Search Bar'' is often available on selectors.<br />
<br />
====Set of filter rules====<br />
<br />
For now, some selectors, on reports and on Family Editor, provide a ''fast filter'', '''by default'''.<br />
<br />
The ''Search bar'' is disabled and an additional ''Show all'' button is available at the bottom <br />
of the dialog. <br />
<br />
These windows are trying to provide a '''quick''' and '''common selection''' of people.<br />
<br />
e.g., filtered ''by gender'' on Family Editor, or ''bookmarked people'' on reports.<br />
<br />
[[File:Select-mother.png|Mother selector via fast filtering and 'Show all' button at the bottom]]<br />
<br />
{{-}}<br />
<br />
====Interactive Search====<br />
<br />
For limiting a gtk issue on ''Search'' field, gramps42 has it '''own interactive search widget'''.<br />
<br />
Just write the first letters of the word on the dialog, and the cursor will try to find this word.<br />
<br />
Like the ''[[Gramps_4.2_Wiki_Manual_-_Keybindings#All_List_Views_bindings|Find]]'' shortcut box, available with {{Man key press|CTRL|F}} or {{Man key press|CMND|F}}.<br />
<br />
===Limits on current selectors===<br />
<br />
# Time for search<br />
# Performance<br />
# Few fast filter rules, by default<br />
# Consistency, mixup of features and widgets<br />
# Hierarchically grouping records (e.g., Person, Place) in the Selector cripples sorting capabilities. Sub-sorting within grouping by "Last Changed" is of little value compared for the entire list. Add option to use Flat lists?<br />
<br />
{{man note|Note, there was a [[#Interactive_Search|Gtk SearchEntry bug (latency and collapsed seizure)]] limiting a good search match: max_length(3).|Fixed since gramps 4.2.0, see bug report {{bug|1450}}.}}<br />
<br />
==Proposals==<br />
<br />
'''Optional''' proposals.<br />
<br />
[[File:GEP41_new_selector.png|675px|Search and filter on new selector]]<br />
<br />
===Displayed columns===<br />
<br />
<br />
'''Current Selectors''':<br />
{|class="wikitable"<br />
! | Selector<br />
! Columns and search keys<br />
! Interactive Search key<br />
|-<br />
|Person<br />
|Name, ID, Gender, Birth Date, Birth Place, Death Date, Death Place, Spouse, Last Change<br />
|Name<br />
|-<br />
|Family<br />
|ID, Father, Mother, Last Change<br />
|ID<br />
|-<br />
|Event<br />
|Type, Main Participants, Date, Place, Description, ID, Last Change<br />
|Type<br />
|-<br />
|Place<br />
|Name, ID, Type, Title, Last Change<br />
|Name<br />
|-<br />
|Source<br />
|Title, Author, ID, Last Change<br />
|Title<br />
|-<br />
|Citation<br />
|Source: Title or Citation: Volume/Page, ID, Last Change<br />
|Source: Title<br />
|-<br />
|Repository<br />
|Title, ID, Last Change<br />
|Title<br />
|-<br />
|Media<br />
|Title, ID, Type, Last Change<br />
|Title<br />
|-<br />
|Note<br />
|Preview, ID, Type, Tags, Last Change<br />
|Preview<br />
|-<br />
|}<br />
<br />
'''New Selectors''':<br />
{|class="wikitable"<br />
! | Selector<br />
! Columns<br />
! Interactive Search key<br />
! Search keys with regex support<br />
|-<br />
|Person<br />
|Name, ID, Gender, Birth Date, Birth Place, Death Date, Death Place, Spouse, Last Change<br />
|Name<br />
|Name, ID, Gender, Birth Date, Birth Place, Death Date, Death Place, Spouse<br />
|-<br />
|Family<br />
|ID, Father, Mother, Last Change<br />
|ID<br />
|ID, Father, Mother<br />
|-<br />
|Event<br />
|Type, Main Participants, Date, Place, Description, ID, Last Change<br />
|Type<br />
|Type, Main Participants, Date, Place, Description, ID<br />
|-<br />
|Place<br />
|Name, ID, Type, Title, Last Change<br />
|Name<br />
|Name, ID, Type, Title<br />
|-<br />
|Source<br />
|Title, Author, ID, Last Change<br />
|Title<br />
|Title, Author, ID<br />
|-<br />
|Citation<br />
|Source: Title or Citation: Volume/Page, ID, Last Change<br />
|Source: Title<br />
|Source: Title or Citation: Volume/Page, ID<br />
|-<br />
|Repository<br />
|Title, ID, Last Change<br />
|Title<br />
|Title, ID<br />
|-<br />
|Media<br />
|Title, ID, Type, Last Change<br />
|Title<br />
|Title, ID, Type<br />
|-<br />
|Note<br />
|Preview, ID, Type, Tags, Last Change<br />
|Preview<br />
|Preview, ID, Type, Tags<br />
|-<br />
|}<br />
<br />
===Fast filter by default===<br />
<br />
Ability to have a fast filter with the last active objects and bookmarked objects.<br />
<br />
Some experimentations have been made on feature request {{bug|5024}}.<br />
<br />
Current selector ecosystem already provides this ability.<br />
<br />
See [[#Screenshots|Person selector]] on reports and [[#Set_of_filter_rules|Father/Mother selector]] on Family Editor.<br />
<br />
{{man note|''On gramps '''4.2.2''', there was a bug {{bug|9315}} on the '''Show all'''/'''Search''' load''.}}<br />
<br />
===Clever search for each selector===<br />
<br />
See selector and query on [https://github.com/gramps-project/gramps_connect gramps-connect].<br />
<br />
[[File:Gramps_connect_query.png|Search query and filter on gramps_connect]]<br />
<br />
Ability to also use one search field matching on multiple columns (''names'', ''ID'', ''dates'', etc ...)<br />
<br />
[[File:Gramps_connect_search.png|675px|Search on gramps_connect]]<br />
<br />
See also [https://cloud.githubusercontent.com/assets/310024/13737225/d8c0a7d4-e978-11e5-9e9f-58a6c4c162a5.png search on filter rules editor]<br />
<br />
===Interface for handling and selecting custom filters on selectors===<br />
<br />
* [[UI_style|User Interface Style]]<br />
* [https://raw.githubusercontent.com/gnome-design-team/gnome-mockups/master/nautilus/nautilus-next/search-filters-wires.png Mockups] and [https://csorianognome.wordpress.com/2016/02/08/nautilus-3-20-and-looking-forward/ new features] since gtk+ 3.20.<br />
<br />
===Additional proposals===<br />
<br />
# Replace the ''Show all'' check box at the bottom by a ''Switcher'' at the top of the dialog.<br />
<br />
[[File:GEP41_fast_filter.png|GtkSwitcher]]<br />
<br />
===History===<br />
<br />
* Provide dynamic groups of objects based on the date of the last edition.<br />
<br />
** via API<br />
<br />
time = object.get_change_time()<br />
<br />
last = today<br />
group1 = from today to 1 week back<br />
group2 = from today to 2 weeks back<br />
group3 = from today to 1 month back<br />
group4 = from today to 6 months back<br />
group5 = more than 6 months back<br />
<br />
** via Filter<br />
<br />
sfilter.add_rule(rules.event.ChangedSince(["''Today date''", ""]))<br />
where "''Today date''" uses ISO-date format.<br />
<br />
* Displayed items can be sorted by change time<br />
<br />
==See also==<br />
<br />
* [https://github.com/gramps-project/gramps/tree/master/gramps/gui/selectors gramps/gui/selectors]<br />
<br />
* [[Database_Query_API]]<br />
<br />
=== Feature requests ===<br />
*{{bug|9837}}: More than 10 items in 'Latest Change' Gramplet list<br />
*{{bug|9814}}: Expanded Place tree when selecting existing place<br />
*{{bug|9276}}: <s>Need ability to search alternate place names when selecting place</s><br />
*{{bug|8762}}: Last Used places in the Select Place window<br />
*{{bug|8743}}: Search for place needs more options <br />
*{{bug|7342}}: <s>Show "Main Participants" with events</s><br />
*{{bug|6558}}: Optimize the use of citations<br />
*{{bug|6332}}: Move home person to bookmark menu<br />
*{{bug|5142}}: Keep selected the last selected source <br />
*{{bug|5037}}: [Reports] More names listed in the person/family selector box <br />
*{{bug|5024}}: By default, to display [Last Recent Used] and [bookmarked] objects on selectors<br />
*{{bug|3655}}: "last modified" timestamp changes everytime a tree is accessed<br />
*{{bug|12026}}: Add Existing Person is missing Find feature<br />
*[https://gramps.discourse.group/t/quickselect-combo-boxes/202 Discourse Topic]: [https://gramps.discourse.group/c/ideas/9 Ideas]; QuickSelect combo-boxes<br />
<br />
=== Others ===<br />
*{{bug|9880}}: <s>Time loading for person selector in census forms</s><br />
*{{bug|9738}}: <s>Select person dialog opens always expanded</s><br />
*{{bug|9700}}: <s>Select Place search & Source/Citation hierarchy should NOT automatically open</s><br />
*{{bug|9315}}: <s>[Regression]: filter set by default on selector is ignored on load (_init_)</s> <br />
*{{bug|9314}}: <s>Two selectors on Places report can generate a confusion</s> <br />
*{{bug|9028}}: <s>Find is broken when used in the Family selector</s> <br />
*{{bug|7536}}: <s>Events model does not have 8 columns</s><br />
*{{bug|7514}}: <s>Searching on Listviews is VEEERYYY slow and typing echo is scrambled</s><br />
*{{bug|7004}}: <s>Only Event and Family Editors are checking if data_has_changed on save()</s><br />
*{{bug|5032}}: <s>Report selection logic</s><br />
*{{bug|3653}}: <s>Manage Family Trees Window shows as 'last modified' the time stamp of generating the tree</s><br />
*{{bug|1450}}: <s>Incremental Gtk Search is broken on View</s><br />
<br />
==Test==<br />
<br />
Some experimentations are available on a forked branch.<br />
<br />
{{man warn|New Branch|Based on gramps master branch, a new major branch with many changes.<br />
<br />
For tests, need to focus on ''Selector'' features}}<br />
<br />
[https://github.com/romjerome/gramps_cryptic_rebase/archive/refs/heads/Selectors.zip Download a copy], unzip the archive and run:<br />
$ cd gramps_cryptic_rebase-gep-041-new-selector<br />
$ python3 Gramps.py -d "gui.selector"<br />
create a '''new family tree''', and import a '''copy of your data'''.<br />
<br />
{{man note|Resource path|You may have to play with resource path.}}<br />
<br />
$ export GRAMPS_RESOURCES=/usr/local/lib/python3.6/dist-packages/gramps-5.2.0-py3.6.egg/share<br />
<br />
==Performances==<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Test Code <br />
!People (1)<br />
!Families (2)<br />
!Events (3)<br />
!Places (4)<br />
!Sources (5)<br />
!Citations (6)<br />
!Repositories (7)<br />
!Media (8)<br />
!Notes (9)<br />
|-<br />
|id0<br />
|17565 individuals - 3918 surnames<br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|-<br />
|id1 <br />
|4009 individuals - 1031 surnames<br />
|1633<br />
|9426<br />
|1043<br />
|1376<br />
|2870<br />
|38<br />
|1542<br />
|924<br />
|-<br />
|id2 <br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|-<br />
|id3 <br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|-<br />
|id4 <br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|-<br />
|<!-- Test Code --><br />
|<!-- People --><br />
|<!-- Families --><br />
|<!-- Events --><br />
|<!-- Places --><br />
|<!-- Sources --><br />
|<!-- Citations --><br />
|<!-- Repositories --><br />
|<!-- Media --><br />
|<!-- Notes --><br />
|}<br />
<br />
=== Configurations ===<br />
<br />
{| {{prettytable}}<br />
|- <br />
!Hardware Code<br />
!Gramps version<br />
!Processor<br />
!Clock<br />
!RAM<br />
!Storage<!--Type eg: HDD or SSD--><br />
!OS<br />
!User<br />
|-<br />
|H01 || 4.2.3 || AMD FX-4100 quad || 3.6 GHz || 8 GB || SSD || .. || Chris<br />
|-<br />
|H02 || 4.2.5 || AMD FX-4100 quad || 3.6 GHz || 8 GB || SSD || .. || Chris<br />
|-<br />
|H03 || GEP041 || AMD FX-4100 quad || 3.6 GHz || 8 GB || SSD || .. || Chris<br />
|-<br />
|H04 || 4.2.5 || Intel Pentium 4 HT || 2.8 GHz || 512 MB || HDD || Ubuntu 14.04 based|| [[User:Romjerome]]<br />
|-<br />
|H05 || GEP041 || Intel Pentium 4 HT || 2.8 GHz || 512 MB || HDD || Ubuntu 14.04 based|| [[User:Romjerome]]<br />
|-<br />
|H06 || 5.0.0-alpha (5099b42) || Intel Pentium 4 HT || 2.8 GHz || 512 MB || HDD || Ubuntu 14.04 based|| [[User:Romjerome]]<br />
|-<br />
|H07 || 4.2.3 || .. || .. GHz || .GB || SSD || .. || ..<br />
|-<br />
|H08 || 4.2.5 || .. || .. GHz || .GB || SSD || .. || ..<br />
|}<br />
<br />
=== Tests table legend ===<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Test Code !! Test Description<br />
|- <br />
|T01 || Time to '''open''' the Person Selector, no '''search''' yet<br />
|- <br />
|T01_a || Time to find the person from {{man label|Association}} tab on {{man label|Person Editor}}<br />
|- <br />
|T01_b || Time to find the person from Selector on {{man label|Reports}}, '''pre-selection'''<br />
|- <br />
|T01_c || Time to find one parent from {{man label|Family Editor}}, '''pre-selection'''<br />
|- <br />
|T01_d || Time to find one child from {{man label|Family Editor}}, '''pre-selection'''<br />
|-<br />
|T01_e || Time to '''open''' the active person from {{man label|Form}} addon, no need '''search''' time<br />
|-<br />
|T01_f || Time to find the non-active person from {{man label|Form}} addon<br />
|-<br />
|T02 || Time to find the {{man label|Family}} from Selector<br />
|-<br />
|T03 || Time to find the {{man label|Event}} from Selector<br />
|-<br />
|T04 || Time to find the {{man label|Place}} from Selector<br />
|-<br />
|T05 || Time to find the {{man label|Source}} from Selector<br />
|-<br />
|T06 || Time to find the {{man label|Citation}} from Selector<br />
|-<br />
|T07 || Time to find the {{man label|Repository}} from Selector<br />
|-<br />
|T08 || Time to find the {{man label|Media}} from Selector <br />
|-<br />
|T09 || Time to find the {{man label|Note}} from Selector <br />
|}<br />
<br />
=== Performance results ===<br />
<br />
You can add print statements, like:<br />
import time<br />
one = time.clock()<br />
two = time.clock()<br />
print(two-one)<br />
then run gramps via console<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Config !! data !! T01 (no search, build model)!! T01_a (raw find and search)!! T01_b (filter by user data)!! T01_c (filter by sex)!! T01_d (filter, skip list)!! T01_e (no search, has_focus)!! T01_f (alternative focus)!! comments<br />
|-<br />
|H01||id0||bgcolor="#a0ffa0"|2.5s||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor="#a0ffa0"|2.5s||bgcolor=""|-||expands only surname of person selected<br />
|-<br />
|H02||id0||bgcolor="#ffa0a0"|18s||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor="#ffa0a0"|18s||bgcolor=""|-||expands all surnames<br />
|-<br />
|H03||id0||bgcolor="#e0ffe0"|5s||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor="#e0ffe0"|5s||bgcolor=""|-||expands all surnames<br />
|-<br />
|H04||id1||bgcolor="#e0ffe0"|4s<t<12s||bgcolor="#e0ffe0"|7s<t<15s||bgcolor="#a0ffa0"|>3s||bgcolor="#a0ffa0"|<3s||bgcolor="#e0ffe0"|6s||bgcolor="#a0ffa0"|4s||bgcolor="#e0ffe0"|7s||Sometimes, BaseSelector.__init__can take 2/3 of time<br />
|-<br />
|H05||id1||bgcolor="#a0ffa0"|4s||bgcolor="#a0ffa0"|~5s||bgcolor="#a0ffa0"|~3s||bgcolor="#a0ffa0"|~3s||bgcolor="#e0ffe0"|~5s||bgcolor="#a0ffa0"|4s||bgcolor="#e0ffe0"|~6s||if filter does right, then few seconds for matching, else ~+3 seconds for finding<br />
|-<br />
|H06||id1||bgcolor="#a0ffa0"|4s||bgcolor="#a0ffa0"|~7s||bgcolor="#a0ffa0"|~4s||bgcolor="#a0ffa0"|~3s||bgcolor="#e0ffe0"|~6s||bgcolor="#a0ffa0"|5s||bgcolor="#e0ffe0"|~7s||Do not have problem. Need ~+3 seconds for finding. Time close to GEP041 (~+1s).<br />
|}<br />
<br />
Tests could be on BaseSelector as some objects do not have own _init_().<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Config !! data !! T02 !! T03 !! T04 !! T05 !! T06 !! T07 !! T08 !! T09 !! comments<br />
|-<br />
|H04||id1||bgcolor="#a0ffa0"|<1s||bgcolor="a0ffa0"|<1s||bgcolor="#a0ffa0"|<1s||bgcolor="#a0ffa0"|1s||bgcolor="a0ffa0"|<1s||bgcolor="a0ffa0"|<1s||bgcolor="a0ffa0"|<1s||bgcolor="a0ffa0"|<1s||''very fast'': +/- 3 seconds for matching, searching, finding.<br />
|-<br />
|H05||id1||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<4s||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<3s ||bgcolor="#a0ffa0"|<3s||''fast'': filter rules provide a user selection (last edited, last used, bookmarked, related, active), else, +/- 3 seconds for matching, searching, finding.<br />
|}<br />
<br />
===More===<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Config !! data !! T01 (no search)!! T01_a (raw find and search)!! T01_b (filter by user data)!! T01_c (filter by gender)!! T01_d (filter)!! T01_e (no search, has_focus)!! T01_f (alternative focus)!! comments<br />
|-<br />
|H07||id2||bgcolor="#ffa0a0"|1m||bgcolor="#a0ffa0"|1s||bgcolor="#e0ffe0"|10s||bgcolor="#ffa0a0"|1m||bgcolor="#a0ffa0"|1s||bgcolor="#e0ffe0"|10s||bgcolor="#ffa0a0"|1m ||comments<br />
|-<br />
|H08||id2||bgcolor="#ffa0a0"|1m||bgcolor="#a0ffa0"|1s||bgcolor="#e0ffe0"|10s||bgcolor="#ffa0a0"|1m||bgcolor="#a0ffa0"|1s||bgcolor="#e0ffe0"|10s||bgcolor="#ffa0a0"|1m ||comments<br />
|}<br />
<br />
Tests could be on BaseSelector as some objects do not have own _init_().<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Config !! data !! T02 !! T03 !! T04 !! T05 !! T06 !! T07 !! T08 !! T09 !! comments<br />
|-<br />
|H07||id2||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||bgcolor="#e0ffe0"|-||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||bgcolor="#e0ffe0"|-||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||comments <br />
|-<br />
|H06||id2||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||bgcolor="#e0ffe0"|-||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||bgcolor="#e0ffe0"|-||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||comments <br />
|}<br />
<br />
<br />
[[Category:GEPS|S]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=GEPS_041:_New_Selector&diff=90710GEPS 041: New Selector2022-02-19T11:42:14Z<p>Romjerome: /* Test */</p>
<hr />
<div>What should be part of the [https://en.wikipedia.org/wiki/List_box Selector]?<br />
<br />
==What is the need?==<br />
<br />
# Select one record (object) via the '''G'''raphical '''U'''ser '''I'''nterface<br />
# Display main data, for letting the user make the selection<br />
# Usability and consistency<br />
# Search and filter features<br />
<br />
===Screenshots===<br />
<br />
[[File:Select-person_42.png|Person selector]]<br />
<br />
[[File:Select-family_42.png|Family selector]]<br />
<br />
{{-}}<br />
<br />
==Usage, goal and Usability==<br />
<br />
# Selection<br />
# Edition<br />
<br />
===Additional features and related concepts===<br />
<br />
# Reports<br />
# Filtering for selecting a group of records (objects)<br />
# Navigation, history and active objects<br />
# Runtime and performance<br />
# Selection expected by the user, marked and tagged objects<br />
# refining a selection<br />
<br />
====[[Gramps_4.2_Wiki_Manual_-_Filters#Filter_vs._Search|Filter vs. Search]]====<br />
<br />
There are two ways to find data in Gramps: ''Search'' and ''Filter''.<br />
<br />
* The '''Search''' will only match what is '''visible'''.<br />
* '''Filters''' are not limited to what you see on the screen, but looks at the actual data.<br />
See some [[Example_filters|filters]] for more details.<br />
<br />
====Search Bar====<br />
<br />
The current design of the ''Search bar'' lets us find '''visible data''' on '''active column'''.<br />
The ''Search Bar'' is often available on selectors.<br />
<br />
====Set of filter rules====<br />
<br />
For now, some selectors, on reports and on Family Editor, provide a ''fast filter'', '''by default'''.<br />
<br />
The ''Search bar'' is disabled and an additional ''Show all'' button is available at the bottom <br />
of the dialog. <br />
<br />
These windows are trying to provide a '''quick''' and '''common selection''' of people.<br />
<br />
e.g., filtered ''by gender'' on Family Editor, or ''bookmarked people'' on reports.<br />
<br />
[[File:Select-mother.png|Mother selector via fast filtering and 'Show all' button at the bottom]]<br />
<br />
{{-}}<br />
<br />
====Interactive Search====<br />
<br />
For limiting a gtk issue on ''Search'' field, gramps42 has it '''own interactive search widget'''.<br />
<br />
Just write the first letters of the word on the dialog, and the cursor will try to find this word.<br />
<br />
Like the ''[[Gramps_4.2_Wiki_Manual_-_Keybindings#All_List_Views_bindings|Find]]'' shortcut box, available with {{Man key press|CTRL|F}} or {{Man key press|CMND|F}}.<br />
<br />
===Limits on current selectors===<br />
<br />
# Time for search<br />
# Performance<br />
# Few fast filter rules, by default<br />
# Consistency, mixup of features and widgets<br />
# Hierarchically grouping records (e.g., Person, Place) in the Selector cripples sorting capabilities. Sub-sorting within grouping by "Last Changed" is of little value compared for the entire list. Add option to use Flat lists?<br />
<br />
{{man note|Note, there was a [[#Interactive_Search|Gtk SearchEntry bug (latency and collapsed seizure)]] limiting a good search match: max_length(3).|Fixed since gramps 4.2.0, see bug report {{bug|1450}}.}}<br />
<br />
==Proposals==<br />
<br />
'''Optional''' proposals.<br />
<br />
[[File:GEP41_new_selector.png|675px|Search and filter on new selector]]<br />
<br />
===Displayed columns===<br />
<br />
<br />
'''Current Selectors''':<br />
{|class="wikitable"<br />
! | Selector<br />
! Columns and search keys<br />
! Interactive Search key<br />
|-<br />
|Person<br />
|Name, ID, Gender, Birth Date, Birth Place, Death Date, Death Place, Spouse, Last Change<br />
|Name<br />
|-<br />
|Family<br />
|ID, Father, Mother, Last Change<br />
|ID<br />
|-<br />
|Event<br />
|Type, Main Participants, Date, Place, Description, ID, Last Change<br />
|Type<br />
|-<br />
|Place<br />
|Name, ID, Type, Title, Last Change<br />
|Name<br />
|-<br />
|Source<br />
|Title, Author, ID, Last Change<br />
|Title<br />
|-<br />
|Citation<br />
|Source: Title or Citation: Volume/Page, ID, Last Change<br />
|Source: Title<br />
|-<br />
|Repository<br />
|Title, ID, Last Change<br />
|Title<br />
|-<br />
|Media<br />
|Title, ID, Type, Last Change<br />
|Title<br />
|-<br />
|Note<br />
|Preview, ID, Type, Tags, Last Change<br />
|Preview<br />
|-<br />
|}<br />
<br />
'''New Selectors''':<br />
{|class="wikitable"<br />
! | Selector<br />
! Columns<br />
! Interactive Search key<br />
! Search keys with regex support<br />
|-<br />
|Person<br />
|Name, ID, Gender, Birth Date, Birth Place, Death Date, Death Place, Spouse, Last Change<br />
|Name<br />
|Name, ID, Gender, Birth Date, Birth Place, Death Date, Death Place, Spouse<br />
|-<br />
|Family<br />
|ID, Father, Mother, Last Change<br />
|ID<br />
|ID, Father, Mother<br />
|-<br />
|Event<br />
|Type, Main Participants, Date, Place, Description, ID, Last Change<br />
|Type<br />
|Type, Main Participants, Date, Place, Description, ID<br />
|-<br />
|Place<br />
|Name, ID, Type, Title, Last Change<br />
|Name<br />
|Name, ID, Type, Title<br />
|-<br />
|Source<br />
|Title, Author, ID, Last Change<br />
|Title<br />
|Title, Author, ID<br />
|-<br />
|Citation<br />
|Source: Title or Citation: Volume/Page, ID, Last Change<br />
|Source: Title<br />
|Source: Title or Citation: Volume/Page, ID<br />
|-<br />
|Repository<br />
|Title, ID, Last Change<br />
|Title<br />
|Title, ID<br />
|-<br />
|Media<br />
|Title, ID, Type, Last Change<br />
|Title<br />
|Title, ID, Type<br />
|-<br />
|Note<br />
|Preview, ID, Type, Tags, Last Change<br />
|Preview<br />
|Preview, ID, Type, Tags<br />
|-<br />
|}<br />
<br />
===Fast filter by default===<br />
<br />
Ability to have a fast filter with the last active objects and bookmarked objects.<br />
<br />
Some experimentations have been made on feature request {{bug|5024}}.<br />
<br />
Current selector ecosystem already provides this ability.<br />
<br />
See [[#Screenshots|Person selector]] on reports and [[#Set_of_filter_rules|Father/Mother selector]] on Family Editor.<br />
<br />
{{man note|''On gramps '''4.2.2''', there was a bug {{bug|9315}} on the '''Show all'''/'''Search''' load''.}}<br />
<br />
===Clever search for each selector===<br />
<br />
See selector and query on [https://github.com/gramps-project/gramps_connect gramps-connect].<br />
<br />
[[File:Gramps_connect_query.png|Search query and filter on gramps_connect]]<br />
<br />
Ability to also use one search field matching on multiple columns (''names'', ''ID'', ''dates'', etc ...)<br />
<br />
[[File:Gramps_connect_search.png|675px|Search on gramps_connect]]<br />
<br />
See also [https://cloud.githubusercontent.com/assets/310024/13737225/d8c0a7d4-e978-11e5-9e9f-58a6c4c162a5.png search on filter rules editor]<br />
<br />
===Interface for handling and selecting custom filters on selectors===<br />
<br />
* [[UI_style|User Interface Style]]<br />
* [https://raw.githubusercontent.com/gnome-design-team/gnome-mockups/master/nautilus/nautilus-next/search-filters-wires.png Mockups] and [https://csorianognome.wordpress.com/2016/02/08/nautilus-3-20-and-looking-forward/ new features] since gtk+ 3.20.<br />
<br />
===Additional proposals===<br />
<br />
# Replace the ''Show all'' check box at the bottom by a ''Switcher'' at the top of the dialog.<br />
<br />
[[File:GEP41_fast_filter.png|GtkSwitcher]]<br />
<br />
===History===<br />
<br />
* Provide dynamic groups of objects based on the date of the last edition.<br />
<br />
** via API<br />
<br />
time = object.get_change_time()<br />
<br />
last = today<br />
group1 = from today to 1 week back<br />
group2 = from today to 2 weeks back<br />
group3 = from today to 1 month back<br />
group4 = from today to 6 months back<br />
group5 = more than 6 months back<br />
<br />
** via Filter<br />
<br />
sfilter.add_rule(rules.event.ChangedSince(["''Today date''", ""]))<br />
where "''Today date''" uses ISO-date format.<br />
<br />
* Displayed items can be sorted by change time<br />
<br />
==See also==<br />
<br />
* [https://github.com/gramps-project/gramps/tree/master/gramps/gui/selectors gramps/gui/selectors]<br />
<br />
* [[Database_Query_API]]<br />
<br />
=== Feature requests ===<br />
*{{bug|9837}}: More than 10 items in 'Latest Change' Gramplet list<br />
*{{bug|9814}}: Expanded Place tree when selecting existing place<br />
*{{bug|9276}}: <s>Need ability to search alternate place names when selecting place</s><br />
*{{bug|8762}}: Last Used places in the Select Place window<br />
*{{bug|8743}}: Search for place needs more options <br />
*{{bug|7342}}: <s>Show "Main Participants" with events</s><br />
*{{bug|6558}}: Optimize the use of citations<br />
*{{bug|6332}}: Move home person to bookmark menu<br />
*{{bug|5142}}: Keep selected the last selected source <br />
*{{bug|5037}}: [Reports] More names listed in the person/family selector box <br />
*{{bug|5024}}: By default, to display [Last Recent Used] and [bookmarked] objects on selectors<br />
*{{bug|3655}}: "last modified" timestamp changes everytime a tree is accessed<br />
*{{bug|12026}}: Add Existing Person is missing Find feature<br />
*[https://gramps.discourse.group/t/quickselect-combo-boxes/202 Discourse Topic]: [https://gramps.discourse.group/c/ideas/9 Ideas]; QuickSelect combo-boxes<br />
<br />
=== Others ===<br />
*{{bug|9880}}: <s>Time loading for person selector in census forms</s><br />
*{{bug|9738}}: <s>Select person dialog opens always expanded</s><br />
*{{bug|9700}}: <s>Select Place search & Source/Citation hierarchy should NOT automatically open</s><br />
*{{bug|9315}}: <s>[Regression]: filter set by default on selector is ignored on load (_init_)</s> <br />
*{{bug|9314}}: <s>Two selectors on Places report can generate a confusion</s> <br />
*{{bug|9028}}: <s>Find is broken when used in the Family selector</s> <br />
*{{bug|7536}}: <s>Events model does not have 8 columns</s><br />
*{{bug|7514}}: <s>Searching on Listviews is VEEERYYY slow and typing echo is scrambled</s><br />
*{{bug|7004}}: <s>Only Event and Family Editors are checking if data_has_changed on save()</s><br />
*{{bug|5032}}: <s>Report selection logic</s><br />
*{{bug|3653}}: <s>Manage Family Trees Window shows as 'last modified' the time stamp of generating the tree</s><br />
*{{bug|1450}}: <s>Incremental Gtk Search is broken on View</s><br />
<br />
==Test==<br />
<br />
Some experimentations are available on a forked branch.<br />
<br />
{{man warn|New Branch|Based on gramps master branch, a new major branch with many changes.<br />
<br />
For tests, need to focus on ''Selector'' features}}<br />
<br />
[https://github.com/romjerome/gramps_cryptic_rebase/archive/refs/heads/Selectors.zip Download a copy], unzip the archive and run:<br />
$ cd gramps_cryptic_rebase-gep-041-new-selector<br />
$ python3 Gramps.py -d "gui.selector"<br />
create a '''new family tree''', and import a '''copy of your data'''.<br />
<br />
==Performances==<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Test Code <br />
!People (1)<br />
!Families (2)<br />
!Events (3)<br />
!Places (4)<br />
!Sources (5)<br />
!Citations (6)<br />
!Repositories (7)<br />
!Media (8)<br />
!Notes (9)<br />
|-<br />
|id0<br />
|17565 individuals - 3918 surnames<br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|-<br />
|id1 <br />
|4009 individuals - 1031 surnames<br />
|1633<br />
|9426<br />
|1043<br />
|1376<br />
|2870<br />
|38<br />
|1542<br />
|924<br />
|-<br />
|id2 <br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|-<br />
|id3 <br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|-<br />
|id4 <br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|<!-- --><br />
|-<br />
|<!-- Test Code --><br />
|<!-- People --><br />
|<!-- Families --><br />
|<!-- Events --><br />
|<!-- Places --><br />
|<!-- Sources --><br />
|<!-- Citations --><br />
|<!-- Repositories --><br />
|<!-- Media --><br />
|<!-- Notes --><br />
|}<br />
<br />
=== Configurations ===<br />
<br />
{| {{prettytable}}<br />
|- <br />
!Hardware Code<br />
!Gramps version<br />
!Processor<br />
!Clock<br />
!RAM<br />
!Storage<!--Type eg: HDD or SSD--><br />
!OS<br />
!User<br />
|-<br />
|H01 || 4.2.3 || AMD FX-4100 quad || 3.6 GHz || 8 GB || SSD || .. || Chris<br />
|-<br />
|H02 || 4.2.5 || AMD FX-4100 quad || 3.6 GHz || 8 GB || SSD || .. || Chris<br />
|-<br />
|H03 || GEP041 || AMD FX-4100 quad || 3.6 GHz || 8 GB || SSD || .. || Chris<br />
|-<br />
|H04 || 4.2.5 || Intel Pentium 4 HT || 2.8 GHz || 512 MB || HDD || Ubuntu 14.04 based|| [[User:Romjerome]]<br />
|-<br />
|H05 || GEP041 || Intel Pentium 4 HT || 2.8 GHz || 512 MB || HDD || Ubuntu 14.04 based|| [[User:Romjerome]]<br />
|-<br />
|H06 || 5.0.0-alpha (5099b42) || Intel Pentium 4 HT || 2.8 GHz || 512 MB || HDD || Ubuntu 14.04 based|| [[User:Romjerome]]<br />
|-<br />
|H07 || 4.2.3 || .. || .. GHz || .GB || SSD || .. || ..<br />
|-<br />
|H08 || 4.2.5 || .. || .. GHz || .GB || SSD || .. || ..<br />
|}<br />
<br />
=== Tests table legend ===<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Test Code !! Test Description<br />
|- <br />
|T01 || Time to '''open''' the Person Selector, no '''search''' yet<br />
|- <br />
|T01_a || Time to find the person from {{man label|Association}} tab on {{man label|Person Editor}}<br />
|- <br />
|T01_b || Time to find the person from Selector on {{man label|Reports}}, '''pre-selection'''<br />
|- <br />
|T01_c || Time to find one parent from {{man label|Family Editor}}, '''pre-selection'''<br />
|- <br />
|T01_d || Time to find one child from {{man label|Family Editor}}, '''pre-selection'''<br />
|-<br />
|T01_e || Time to '''open''' the active person from {{man label|Form}} addon, no need '''search''' time<br />
|-<br />
|T01_f || Time to find the non-active person from {{man label|Form}} addon<br />
|-<br />
|T02 || Time to find the {{man label|Family}} from Selector<br />
|-<br />
|T03 || Time to find the {{man label|Event}} from Selector<br />
|-<br />
|T04 || Time to find the {{man label|Place}} from Selector<br />
|-<br />
|T05 || Time to find the {{man label|Source}} from Selector<br />
|-<br />
|T06 || Time to find the {{man label|Citation}} from Selector<br />
|-<br />
|T07 || Time to find the {{man label|Repository}} from Selector<br />
|-<br />
|T08 || Time to find the {{man label|Media}} from Selector <br />
|-<br />
|T09 || Time to find the {{man label|Note}} from Selector <br />
|}<br />
<br />
=== Performance results ===<br />
<br />
You can add print statements, like:<br />
import time<br />
one = time.clock()<br />
two = time.clock()<br />
print(two-one)<br />
then run gramps via console<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Config !! data !! T01 (no search, build model)!! T01_a (raw find and search)!! T01_b (filter by user data)!! T01_c (filter by sex)!! T01_d (filter, skip list)!! T01_e (no search, has_focus)!! T01_f (alternative focus)!! comments<br />
|-<br />
|H01||id0||bgcolor="#a0ffa0"|2.5s||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor="#a0ffa0"|2.5s||bgcolor=""|-||expands only surname of person selected<br />
|-<br />
|H02||id0||bgcolor="#ffa0a0"|18s||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor="#ffa0a0"|18s||bgcolor=""|-||expands all surnames<br />
|-<br />
|H03||id0||bgcolor="#e0ffe0"|5s||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor=""|-||bgcolor="#e0ffe0"|5s||bgcolor=""|-||expands all surnames<br />
|-<br />
|H04||id1||bgcolor="#e0ffe0"|4s<t<12s||bgcolor="#e0ffe0"|7s<t<15s||bgcolor="#a0ffa0"|>3s||bgcolor="#a0ffa0"|<3s||bgcolor="#e0ffe0"|6s||bgcolor="#a0ffa0"|4s||bgcolor="#e0ffe0"|7s||Sometimes, BaseSelector.__init__can take 2/3 of time<br />
|-<br />
|H05||id1||bgcolor="#a0ffa0"|4s||bgcolor="#a0ffa0"|~5s||bgcolor="#a0ffa0"|~3s||bgcolor="#a0ffa0"|~3s||bgcolor="#e0ffe0"|~5s||bgcolor="#a0ffa0"|4s||bgcolor="#e0ffe0"|~6s||if filter does right, then few seconds for matching, else ~+3 seconds for finding<br />
|-<br />
|H06||id1||bgcolor="#a0ffa0"|4s||bgcolor="#a0ffa0"|~7s||bgcolor="#a0ffa0"|~4s||bgcolor="#a0ffa0"|~3s||bgcolor="#e0ffe0"|~6s||bgcolor="#a0ffa0"|5s||bgcolor="#e0ffe0"|~7s||Do not have problem. Need ~+3 seconds for finding. Time close to GEP041 (~+1s).<br />
|}<br />
<br />
Tests could be on BaseSelector as some objects do not have own _init_().<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Config !! data !! T02 !! T03 !! T04 !! T05 !! T06 !! T07 !! T08 !! T09 !! comments<br />
|-<br />
|H04||id1||bgcolor="#a0ffa0"|<1s||bgcolor="a0ffa0"|<1s||bgcolor="#a0ffa0"|<1s||bgcolor="#a0ffa0"|1s||bgcolor="a0ffa0"|<1s||bgcolor="a0ffa0"|<1s||bgcolor="a0ffa0"|<1s||bgcolor="a0ffa0"|<1s||''very fast'': +/- 3 seconds for matching, searching, finding.<br />
|-<br />
|H05||id1||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<4s||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<3s||bgcolor="#a0ffa0"|<3s ||bgcolor="#a0ffa0"|<3s||''fast'': filter rules provide a user selection (last edited, last used, bookmarked, related, active), else, +/- 3 seconds for matching, searching, finding.<br />
|}<br />
<br />
===More===<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Config !! data !! T01 (no search)!! T01_a (raw find and search)!! T01_b (filter by user data)!! T01_c (filter by gender)!! T01_d (filter)!! T01_e (no search, has_focus)!! T01_f (alternative focus)!! comments<br />
|-<br />
|H07||id2||bgcolor="#ffa0a0"|1m||bgcolor="#a0ffa0"|1s||bgcolor="#e0ffe0"|10s||bgcolor="#ffa0a0"|1m||bgcolor="#a0ffa0"|1s||bgcolor="#e0ffe0"|10s||bgcolor="#ffa0a0"|1m ||comments<br />
|-<br />
|H08||id2||bgcolor="#ffa0a0"|1m||bgcolor="#a0ffa0"|1s||bgcolor="#e0ffe0"|10s||bgcolor="#ffa0a0"|1m||bgcolor="#a0ffa0"|1s||bgcolor="#e0ffe0"|10s||bgcolor="#ffa0a0"|1m ||comments<br />
|}<br />
<br />
Tests could be on BaseSelector as some objects do not have own _init_().<br />
<br />
{| {{prettytable}}<br />
|-<br />
!Config !! data !! T02 !! T03 !! T04 !! T05 !! T06 !! T07 !! T08 !! T09 !! comments<br />
|-<br />
|H07||id2||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||bgcolor="#e0ffe0"|-||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||bgcolor="#e0ffe0"|-||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||comments <br />
|-<br />
|H06||id2||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||bgcolor="#e0ffe0"|-||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||bgcolor="#e0ffe0"|-||bgcolor="#ffa0a0"|-||bgcolor="#a0ffa0"|-||comments <br />
|}<br />
<br />
<br />
[[Category:GEPS|S]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Gramps_Data_Model&diff=90709Gramps Data Model2022-02-19T08:39:23Z<p>Romjerome: /* See also */</p>
<hr />
<div>{{man note|Gramps data model (v4.1)}}<br />
<br />
Gramps uses the pickle module to serialise object hierarchies and store them in the database.<br />
<br />
Details of the pickle module can be found here:<br />
* https://docs.python.org/3/library/pickle.html<br />
<br />
Below is a diagram of the Gramps data model (v4.1). As of October 2020, this model is reported to be valid for the v5.1 of Gramps. However, there is a minor `PlaceName` objects change in 4.2 to contain a string, language code and date range. <br />
<br />
The [[GEPS_045:_Place_Model_Enhancements|Places Model Enhancements]] planned for v5.2 are expected to have deeper changes. [[GEPS_045:_Place_Model_Enhancements#Documentation|One target for that Gramps Proposal]] includes this documentation. <br />
<br />
Primary objects are coloured blue. Secondary objects are coloured black. The dotted lines enclose object hierarchies that are stored in the database tables.<br />
<br />
<br />
[[File:GrampsDataModel.svg|1024px]]<br />
<br />
== See also ==<br />
* [[Using database API|Programmer's Introduction to the Gramps database API]]<br />
** [https://gramps-project.org/wiki/images/2/2e/API.svg UML (svg) diagram for Gramps 4.1.x API]<br />
*** Created using the following command: <code>pyreverse -A -S $HOME/gramps/tree/master/gramps/gen/lib/*.py -o jpeg</code><br />
* [https://sourceforge.net/p/gramps/mailman/message/32882646/ Gramps data model] - discussion<br />
* [[GEPS_013:_Gramps_Webapp#Model_overview|GEPS_013: Gramps Django Webapp:Model overview]]<br />
* {{bug|10851}} : Gramps Data Model - Polish Version - Gramps 5.0.0<br />
* More graphs available, see [https://gramps.discourse.group/t/core-classes-in-gramps-gen-lib/2241 posts on discourse].<br />
<br />
[[Category:Developers/General]]<br />
[[Category:Developers/Reference]]<br />
[[Category:GEPS]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=File_talk:API.svg&diff=90696File talk:API.svg2022-02-16T19:42:46Z<p>Romjerome: </p>
<hr />
<div>Feel free to remove or provide a better version.<br />
Nicer graphs available, see [https://gramps.discourse.group/t/core-classes-in-gramps-gen-lib/2241 posts on discourse].</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=File_talk:API.svg&diff=90695File talk:API.svg2022-02-16T19:42:03Z<p>Romjerome: Created page with "Feel free to remove or provide a better version Nicer graphs available, see [https://gramps.discourse.group/t/core-classes-in-gramps-gen-lib/2241 posts on discourse]."</p>
<hr />
<div>Feel free to remove or provide a better version<br />
Nicer graphs available, see [https://gramps.discourse.group/t/core-classes-in-gramps-gen-lib/2241 posts on discourse].</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Gramps_Data_Model&diff=90694Gramps Data Model2022-02-16T19:36:18Z<p>Romjerome: /* See also */</p>
<hr />
<div>{{man note|Gramps data model (v4.1)}}<br />
<br />
Gramps uses the pickle module to serialise object hierarchies and store them in the database.<br />
<br />
Details of the pickle module can be found here:<br />
* https://docs.python.org/3/library/pickle.html<br />
<br />
Below is a diagram of the Gramps data model (v4.1). As of October 2020, this model is reported to be valid for the v5.1 of Gramps. However, there is a minor `PlaceName` objects change in 4.2 to contain a string, language code and date range. <br />
<br />
The [[GEPS_045:_Place_Model_Enhancements|Places Model Enhancements]] planned for v5.2 are expected to have deeper changes. [[GEPS_045:_Place_Model_Enhancements#Documentation|One target for that Gramps Proposal]] includes this documentation. <br />
<br />
Primary objects are coloured blue. Secondary objects are coloured black. The dotted lines enclose object hierarchies that are stored in the database tables.<br />
<br />
<br />
[[File:GrampsDataModel.svg|1024px]]<br />
<br />
== See also ==<br />
* [[Using database API|Programmer's Introduction to the Gramps database API]]<br />
** [https://gramps-project.org/wiki/images/2/2e/API.svg UML (svg) diagram for Gramps 4.1.x API]<br />
*** Created using the following command: <code>pyreverse -A -S /home/blabla/gramps/tree/master/gramps/gen/lib/*.py -o jpeg</code><br />
* [https://sourceforge.net/p/gramps/mailman/message/32882646/ Gramps data model] - discussion<br />
* [[GEPS_013:_Gramps_Webapp#Model_overview|GEPS_013: Gramps Django Webapp:Model overview]]<br />
* {{bug|10851}} : Gramps Data Model - Polish Version - Gramps 5.0.0<br />
<br />
[[Category:Developers/General]]<br />
[[Category:Developers/Reference]]<br />
[[Category:GEPS]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90252Addon:CheckPlaceTitles2022-02-02T13:38:13Z<p>Romjerome: /* The pass */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the top label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|600px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (city, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list some place objects.<br />
<br />
{{-}}<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either select all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|center|200px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
{{-}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place title<br />
*'''copy''' - copy old place title to a new note. <br />
*'''tag''' - assign a tag and mark place<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also an {{man button|Help}} button to see this page.<br />
<br />
{{-}}<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|450px|Autotitle enabled. You filled the place name with auto-title support (see Display item into Preferences dialog) but the tool detects a possible issue.]]<br />
[[File:Checkpt_columns_fr.png|350px|checked by default.]] <br />
<br />
[[File:Checkpt_legacy_fr.png|450px|Duplicate textual value on legacy field. You disable auto-title support and see that an hard-coded place title exists. It remains from old database model or after some importations. This field might be empty as gramps does well the job.]]<br />
<br />
[[File:Checkpt_free_title_fr.png|450px|Lazy textual place value on seizure or after an import. You have inconsistencies on place filling, the free form does not let you properly display an efficient place title, and gramps displayer does a better job.]]<br />
[[File:Checkpt_DB_remain_fr.png|350px|What is the best place value? With or without auto-title and hierarchy support?]]<br />
<br />
{{-}}<br />
<br />
The tool will list possible issues, but let you select/unselect lines and use one of the options available.<br />
<br />
==Go further==<br />
<br />
If you need advanced features, you should look at [[Addon:PlaceCleanupGramplet|Place Cleanup gramplet]].<br />
<br />
==See Also==<br />
<br />
* [[Addon:PlaceCleanupGramplet|Place Cleanup gramplet]]<br />
* [[GEPS_045:_Place_Model_Enhancements|GEPS 045: Place Model Enhancements]]<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90251Addon:CheckPlaceTitles2022-02-02T13:35:49Z<p>Romjerome: /* Options */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the top label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|600px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (city, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
{{-}}<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either select all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|center|200px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
{{-}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place title<br />
*'''copy''' - copy old place title to a new note. <br />
*'''tag''' - assign a tag and mark place<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also an {{man button|Help}} button to see this page.<br />
<br />
{{-}}<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|450px|Autotitle enabled. You filled the place name with auto-title support (see Display item into Preferences dialog) but the tool detects a possible issue.]]<br />
[[File:Checkpt_columns_fr.png|350px|checked by default.]] <br />
<br />
[[File:Checkpt_legacy_fr.png|450px|Duplicate textual value on legacy field. You disable auto-title support and see that an hard-coded place title exists. It remains from old database model or after some importations. This field might be empty as gramps does well the job.]]<br />
<br />
[[File:Checkpt_free_title_fr.png|450px|Lazy textual place value on seizure or after an import. You have inconsistencies on place filling, the free form does not let you properly display an efficient place title, and gramps displayer does a better job.]]<br />
[[File:Checkpt_DB_remain_fr.png|350px|What is the best place value? With or without auto-title and hierarchy support?]]<br />
<br />
{{-}}<br />
<br />
The tool will list possible issues, but let you select/unselect lines and use one of the options available.<br />
<br />
==Go further==<br />
<br />
If you need advanced features, you should look at [[Addon:PlaceCleanupGramplet|Place Cleanup gramplet]].<br />
<br />
==See Also==<br />
<br />
* [[Addon:PlaceCleanupGramplet|Place Cleanup gramplet]]<br />
* [[GEPS_045:_Place_Model_Enhancements|GEPS 045: Place Model Enhancements]]<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90250Addon:CheckPlaceTitles2022-02-02T13:35:23Z<p>Romjerome: /* Why radio-buttons are checked? */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the top label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|600px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (city, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
{{-}}<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either select all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|center|200px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
{{-}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also an {{man button|Help}} button to see this page.<br />
<br />
{{-}}<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|450px|Autotitle enabled. You filled the place name with auto-title support (see Display item into Preferences dialog) but the tool detects a possible issue.]]<br />
[[File:Checkpt_columns_fr.png|350px|checked by default.]] <br />
<br />
[[File:Checkpt_legacy_fr.png|450px|Duplicate textual value on legacy field. You disable auto-title support and see that an hard-coded place title exists. It remains from old database model or after some importations. This field might be empty as gramps does well the job.]]<br />
<br />
[[File:Checkpt_free_title_fr.png|450px|Lazy textual place value on seizure or after an import. You have inconsistencies on place filling, the free form does not let you properly display an efficient place title, and gramps displayer does a better job.]]<br />
[[File:Checkpt_DB_remain_fr.png|350px|What is the best place value? With or without auto-title and hierarchy support?]]<br />
<br />
{{-}}<br />
<br />
The tool will list possible issues, but let you select/unselect lines and use one of the options available.<br />
<br />
==Go further==<br />
<br />
If you need advanced features, you should look at [[Addon:PlaceCleanupGramplet|Place Cleanup gramplet]].<br />
<br />
==See Also==<br />
<br />
* [[Addon:PlaceCleanupGramplet|Place Cleanup gramplet]]<br />
* [[GEPS_045:_Place_Model_Enhancements|GEPS 045: Place Model Enhancements]]<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90249Addon:CheckPlaceTitles2022-02-02T13:33:52Z<p>Romjerome: /* The pass */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the top label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|600px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (city, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
{{-}}<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either check all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|center|200px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
{{-}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also an {{man button|Help}} button to see this page.<br />
<br />
{{-}}<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|450px|Autotitle enabled. You filled the place name with auto-title support (see Display item into Preferences dialog) but the tool detects a possible issue.]]<br />
[[File:Checkpt_columns_fr.png|350px|checked by default.]] <br />
<br />
[[File:Checkpt_legacy_fr.png|450px|Duplicate textual value on legacy field. You disable auto-title support and see that an hard-coded place title exists. It remains from old database model or after some importations. This field might be empty as gramps does well the job.]]<br />
<br />
[[File:Checkpt_free_title_fr.png|450px|Lazy textual place value on seizure or after an import. You have inconsistencies on place filling, the free form does not let you properly display an efficient place title, and gramps displayer does a better job.]]<br />
[[File:Checkpt_DB_remain_fr.png|350px|What is the best place value? With or without auto-title and hierarchy support?]]<br />
<br />
{{-}}<br />
<br />
The tool will list possible issues, but let you select/unselect lines and use one of the options available.<br />
<br />
==Go further==<br />
<br />
If you need advanced features, you should look at [[Addon:PlaceCleanupGramplet|Place Cleanup gramplet]].<br />
<br />
==See Also==<br />
<br />
* [[Addon:PlaceCleanupGramplet|Place Cleanup gramplet]]<br />
* [[GEPS_045:_Place_Model_Enhancements|GEPS 045: Place Model Enhancements]]<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=GEPS_045:_Place_Model_Enhancements&diff=90248GEPS 045: Place Model Enhancements2022-02-02T13:32:00Z<p>Romjerome: /* Addons */</p>
<hr />
<div>Rethinking Gramps Place data model<br />
<br />
One of the items on the Gramps [[5.2 Roadmap]] is to look into better GEDCOM support for places. We could continue to force fit GEDCOM import data to Gramps, or look into expanding Gramps data model to make for a better fit.<br />
== Place Enhancements ==<br />
=== Place.Type: ===<br />
Gramps only supports a single place type.<br />
Gov (http://gov.genealogy.net/search/index) and GEDCOM L group support multiple types, each with a subordinate date range, GEDCOM L group support a citation for each type as well<br />
==== Recommendation ====<br />
Make place types a list. Each element should have a subordinate date range and will have a citation list. (done)<br />
<br />
We should also provide a routine similar to the current place displayer to return a place type for a particular date. (done, gen.utils.location.__get_type)<br />
<br />
=== Place Types: ===<br />
Changes to place types, do not actually modify the data model, but dealing with them better will certainly impact a lot of code.<br />
<br />
GeoNames currently doesn’t do much to provide place types. It currently uses PCLx, for Country, PPLx for 'Populated Place', and ADM1-ADMn for different level of administrative place. These do not map well to Gramps PlaceTypes. The Place Cleanup Gramplet tries to do it anyway, but allows user modification.<br />
<br />
Gov currently has over 260 place types in several broad categories. The categories are Administrative, Civil, Religious (church), Judicial, populated place, transportation, and a few miscellaneous others. They are still adding more. The GetGov Gramplet currently stores the returned German place type as a Custom Gramps place type, which is of course not translatable. For example, Deutsches Reich, or USA gets a PlaceType of 'Staat', rather than country. While the system has a lot of types it is very German centric, many types have only German names in their definition documents although some of the more commonly used types have at least English translations and some have several other translations.<br />
==== Recommendation ====<br />
One of;<br />
#) Adopt the Gov type system. We would have to do a lot of translation work on many types, or indicate that the type is local to certain countries (so could use the local words). Our GUI would probably have to use at least a two level hierarchy in the PlaceType selector, possibly three levels, to help users find appropriate types for manually entered places or filtering.<br />
#: One of the levels (top level?) would be the category type.<br />
#: An additional level might be the country specific types.<br />
#) Provide a conversion of the Gov type to the closest Gramps PlaceType, possibly adding a few more Gramps PlaceTypes. If we did that, I think it would be reasonable to store the original Gov type in a place fact.<br />
#) Keep our standard Place Types, allow GOV types to be added as custom types as needed.<br />
#: Add a concept of Place type groups, which make it possible for multiple types to be identified as Country (for example). The Groups are G_COUNTRY, G_REGION, G_PLACE, G_UNPOP, G_BUILDING.<br />
#: The GUI type selector is enhanced to support additional levels corresponding to the groups (only when needed).<br />
#: The Edit/Preferences/Place Types (new panel) is added to allow editing of the place type names, addition and removal of place types, and assignment to groups. It is also possible to add and remove groups.<br />
<br />
<br />
The third option is accepted for development. (done)<br />
<br />
=== Place.Name: ===<br />
Gramps supports multiple names, each with a language and date range.<br />
<br />
GEDCOM supports two additional parts of a name; neither of which seem to be used much and are not currently supported by Gramps.<br />
<br />
FONE (Place phonetic variation) and its subordinate TYPE. This seems to be used for far eastern places for example if hiragana was used to provide a reading of a name written in kanji, then the <PHONETIC_TYPE> value would indicate kana. The TYPE is defined as [<user defined> | hangul | kana]<br />
<br />
ROMN (PLACE_ROMANIZED_VARIATION:= {Size=1:120}) and its subordinate TYPE. The romanized variation of the place name is written in the same form prescribed for the place name used in the superior <PLACE_NAME> context. The method used to romanize the name is indicated by the line_value of the subordinate <ROMANIZED_TYPE>, for example if romaji was used to provide a reading of a place name written in kanji, then the <ROMANIZED_TYPE> subordinate to the ROMN tag would indicate ‘romaji’. The TYPE is defined as [<user defined> | pinyin | romaji | wadegiles]<br />
<br />
GEDCOM L group adds in _NAMC (place name addition) for each name. Their documentation currently says "Addition to PLACE_NAME, can be appended to PLACE_NAME in non-delimited reports to make the label unique". This is for suffixes like "am Main" in "Frankfurt am Main". <br />
<br />
GEDCOM L group adds in ABBR with a subordinate TYPE. ABBREVIATION_OF_NAME Abbreviation for the place name, whereby the type of abbreviation can be further explained with the optional TYPE. <br />
<br />
GEDCOM L group adds in a citation list for each name.<br />
<br />
The GeoNames data and Place Cleanup Gramplet currently store place name abbreviations as an alternate name with the 'abbr' language code.<br />
<br />
The GeoNames data and Place Cleanup Gramplet currently store colloquial place names ('Big Apple' for New York City USA) as an alternate name with no language code.<br />
==== Recommendation ====<br />
#) Our primary name and alternate names become part of a more general place name list. Each has a date, language, and a citation list associated with it.<br />
#) Add an abbreviation list to each place name. Each abbreviation has a type and value. In Reports and graphs, when abbreviations were specified to be used, the language/date specific name abbreviation would be used instead by the place displayer.<br />
#) For place name abbreviations, the place display format editor allows selection of the abbreviation by type of first available in the list for a particular name. If no abbreviation is present, use a place displayer routine uses the full name.<br />
<br />
Done<br />
<br />
=== Postal Code: ===<br />
Gramps currently offers a single field 'Code' to store postal codes. It may have also been used for other purposes in the past.<br />
<br />
GeoNames, GOV, GEDCOM L all support multiple postal codes. GEDCOM L adds in a subordinate DATE range and citation for each code.<br />
<br />
The Place Cleanup Gramplet currently stores multiple postal codes in the code field separated by commas.<br />
==== Recommendation ====<br />
One of the following:<br />
#) Make the postal code(s) part of a more general place attribute list. Each code (attribute) would have a citation list associated with it. Since an attribute doesn't have a date, the date would be appended as text to the attribute value (Ex: "12345; Date: JAN 12 2019"). (Done)<br />
<br />
=== MAIDENHEAD_LOCATOR ===<br />
GEDCOM L has added this to the Place import/export.<br />
<br />
The Maidenhead Locator divides the world into small areas (micro-fields) marked by 8 letters and numbers. It was originally conceived for use in ham radio, but it is also used as a geographic locator in some other applications. https://en.wikipedia.org/wiki/Maidenhead_Locator_System<br />
==== Recommendation ====<br />
Store the Maidenhead locator in the place attribute list. Date and Citation parts would not be used. (Done)<br />
<br />
=== ADMINISTRATIVE_IDENTIFIER ===<br />
GEDCOM L has added this to the Place import/export.<br />
<br />
The official or public identifier for a location object, such as community code, ISO 3166 for countries and states. GEDCOM L allows multiple of these, each with date range and an additional TYPE and citation.<br />
==== Recommendation ====<br />
Store the ADMINISTRATIVE IDENTIFIER in the place attribute list. Each would have a citation list associated with it. Since an attribute doesn't have a subtype, the TYPE_OF_ADMINISTRATIVE_IDENTIFIER would be appended as text to the attribute value (Ex: "BlahBlah; Type: whatever"). (Done)<br />
<br />
=== DEMOGRAPHIC DATA ===<br />
GEDCOM L has added this to the Place import/export.<br />
Demographics about people to the place object, such as number of households, number of people, occupations, and so on. GEDCOM L allows multiple of these, each with date range and an additional TYPE and citation.<br />
==== Recommendation ====<br />
Store the DEMOGRAPICAL_DATA in the place attribute list. Each would have a citation list associated with it. Since an attribute doesn't have a subtype or date, the TYPE_OF_DEMOGRAPICAL_DATA and/or date would be appended as text to the attribute value (Ex: "43210; Type: Population; Date: 2017"). (Done)<br />
<br />
=== EVENT_DETAIL ===<br />
GEDCOM L has added this to the Place import/export.<br />
<br />
GEDCOM L has added an event reference to the place. <br />
==== Recommendation ====<br />
Add an Event reference list to the Place. The list could contain one of the following:<br />
#) EventRef; The Event ref role would be set to 'Place' (Done)<br />
#) Direct pointer to Event object. (Rejected)<br />
<br />
== Enclosed by ==<br />
The following items would be part of the Gramps place reference, which currently only includes a date and the reference to another place.<br />
=== HIERARCHICAL_RELATIONSHIP ===<br />
GEDCOM L has added this to the Place import/export.<br />
<br />
Values are [POLI | RELI | GEOG | CULT] to differentiate political (administrative), ecclesiastical, geographical or cultural attributions. GEDCOM L includes this to provide some indication of the type of enclosure. For example a Church might be enclosed by a city and enclosed by a parish, with different relationships.<br />
=== Citation ===<br />
GEDCOM L adds a citation to the Enclosed by<br />
==== Recommendation ====<br />
* The Place Type Enclosure (PlaceRef) is extended with a PlaceHierType. It can be one of ADMIN, RELI, GEOG, CULT or JUDI (or other custom types). The PlaceRef also has an added citation list.<br />
<br />
== Place Attributes ==<br />
To deal with several new facts associated with places, a Place Attributes list is added. Each place attribute includes the standard type, value, notes and citations.<br />
<br />
Facts that also include a date or subtype are encoded as text in the Attribute.value. Several new attribute types are added to support places AIDN (Administrative Identifier), DMGD (Demographic data), MAIDEN (Maidenhead Locator), and POSTAL (Postal code).<br />
<br />
The Attribute Type selector in the GUI has a second level menu called place with these types in it.<br />
<br />
== Citations ==<br />
GEDCOM L has added citations to most of its additional data.<br />
<br />
The Place object has citation lists attached to Places, Place Attributes, Place Names, Place Types, and Place Enclosed by.<br />
<br />
== ToDo ==<br />
=== Top priority ===<br />
If we do these first and carefully, we should be able to run Gramps with new trees.<br />
<br />
gen.lib.place<br />
* &#x2714; update object, get_schema, serialize/unserialize etc.<br />
* &#x2714; Add add_eventref, get/set/merge_eventreflist<br />
* &#x2714; Add add/get/set/merge place attributes<br />
* &#x2714; get/set/merge_place_types (get/set effects only the top of the list of types). New add_place_type, Supports sortin the most modern place type (based on date) with admin hierarchy at top of list (makes views.placemodel a bit faster to pick type to view and allows for get_place_type to return top value for compatibility).<br />
* <s>Remove get/set title</s><br />
* &#x2714; Get/set_name – Place.name removed, one unified list of names, so these methods only effect the top of a list of names. Also remove get/set alternative names, and added add_name (which can sort the most recent name to top of list).<br />
* &#x2714; Add get/set/merge_abbreviation<br />
* &#x2714; Remove get/set_code and Place.code (on import/upgrade this is moved to Place Attribute)<br />
* <s>Remove get/set/merge_alternative_locations</s><br />
* &#x2714; fix up other methods as needed.<br />
* &#x2714; add citationrefs to place names, types, placerefs<br />
<s>gen.lib.placefact – new. Similar to gen.lib.attribute but with date.</s><br />
<br />
<s>gen.lib.placefacttype – new. Similar to lib.eventtype, but for place facts.</s><br />
<br />
&#x2714; gen.lib.placetype – update for place groups and support three classifications of types; standard Gramps types, numbered custom types (supports GOV types), and full custom types. Also update place type combo menu to allow much larger type list in two level menu.<br />
<br />
&#x2714; gui.views.placemodel – update for changed serialization. Remove 'Code' also change plugins.lib.libplaceview for missing column.<br />
<br />
&#x2714; gen.lib.placeabbrev, gen.lib.placeabbrevtype, gen.lib.placehiertype<br />
<br />
=== 2nd priority ===<br />
==== Editors ====<br />
I'm assuming that the place editor is not significantly changed in style from the current one.<br />
* &#x2714; Add place type editor icon to place type. Place Type combo remains but only affects top of list.<br />
* &#x2714; Remove 'Code' from Place editor<br />
* &#x2714; Add place Types tab gui.editors.displaytabs.placetypeembeddedlist and placetypemodel<br />
* <s>Remove Title edit capability</s><br />
* &#x2714; Update Place Names tab for unified list of names, abbreviations<br />
* &#x2714; Add Place Attributes tab gui.editors.displaytabs.placeatttrembeddedlist<br />
* &#x2714; Add place Events tab - gui.editors.displaytabs.placeeventembeddedlist<br />
* &#x2714; Duplicate place editor work for gui.editors.editplaceref<br />
* &#x2714; New Place type editor gui.editors.editplacetype. Combo for type and Add date and a citationref tab<br />
* &#x2714; gui.editors.editevent – fix DeleteEventQuery to scan for places containing events<br />
* &#x2714; Update Place Names Editor for unified list of names.<br />
* &#x2714; Add abbreviations and citations tabs to place name editor gui.editors.displaytabs.placeabbrevembedlist and placeabbrevmodel<br />
* &#x2714; New Place Abbreviations Editor gui.editors.editplaceabbrev<br />
* &#x2714; Add citations tab to gui.editors.editplaceref<br />
<br />
==== Views ====<br />
* &#x2714; Add Place Attributes and Events Gramplets to Place views plugins.lib.libplaceview<br />
* &#x2714; Modify Events Gramplet plugins.gramplets.events to deal with place events (remove age column).<br />
* &#x2714; update Attributes Gramplet plugins.gramplets.attributes for places<br />
* &#x2714; plugins.lib.maps.placeselection update to use place groups instead of types<br />
* &#x2714; plugins.lib.maps.geography update for place changes<br />
* &#x2714; plugins.view.eventview fix DeleteEventQuery to support place events<br />
* &#x2714; plugins.view.geoplaces modify marker color to use much larger place types<br />
* &#x2714; plugins.view.placetreeview fix add place to add heierarchy type<br />
<br />
==== Import/export/upgrade ====<br />
* &#x2714; Update dtd<br />
* &#x2714; Update XML export<br />
* &#x2714; Update XML import<br />
* &#x2714; Modify bsddb update routines plugins.db.bsddb.upgrade<br />
* &#x2714; Create dbapi update routine plugins.db.pbapi.upgrade, and hooks into db loaders<br />
DB upgrade or XML import should:<br />
* &#x2714; Move Code field into place attribute<br />
* &#x2714; add new citations lists<br />
* &#x2714; change place type to type list with date and citations<br />
* &#x2714; change place name and place alternative names to place name list with new abbreviations<br />
* &#x2714; change PlaceRef to add citations and hierarchy<br />
* &#x2714; add placetype custom information to metadata<br />
<br />
==== Merge ====<br />
* &#x2714; Fix gen.merge.mergeeventquery to check for place events<br />
* &#x2714; Remove Code from gui.merge.mergeplace and its glade file<br />
<br />
==== Place Displayer ====<br />
* &#x2714; Update place displayer gen.display.place to support rules for place types, groups, and abbreviations etc.<br />
* &#x2714; Update gen.utils.location to support date for multiple place types, hierarchy, and to return abbreviations<br />
* &#x2714; rewrite gui.editors.editplaceformat and its glade file<br />
<br />
These now support:<br />
* multiple place formats (like before)<br />
* each format supports a heirarchy type and language, and allows display order reversal<br />
* each format can have multiple rules, which can be added, removed and reordered (order is executed top to bottom)<br />
* each rule can apply to all places, or just one place (useful for country specific rules)<br />
* each rule can apply to a place Group, Type, or the street/number<br />
* For Group rules, you can select the Group from the standard and custom groups<br />
* for Type rules, you can select the Type from the standard and custom types<br />
* for the Group or Type rules, you can choose to display All, largest, or smallest of matching types, or hide them.<br />
* for the Group or Type rules, you can choose to show an abbreviation from the abbreviation types, or the first available abbreviation type, or None (which shows the associated name, instead of the abbreviation).<br />
* for street/number rules you can choose to display street/number, number/street, or Hidden<br />
* The Place Formats are stored in the db NOT in a system wide file, so only applies to the current tree. This is due to potential references to specific places or customized types or groups which may not be present in other trees.<br />
<br />
==== Edit/Preferences/Place Types ====<br />
* &#x2714; Updated gui.configure with new Place Types panel<br />
<br />
This now supports:<br />
* Shows the place type list on left side, along with used indication, and a comment<br />
* Shows place groups for selected Place Type on right side<br />
* An Entry at top right allows the Place Type name to be changed<br />
* The Groups are shown as check boxes, which can be changed<br />
* There is a search box at bottom of dialog<br />
* You can add new types via the Add button at bottom<br />
* You can remove types that are not used and are not standard<br />
* You can hide types (from type selection combobox menus) with the Hide button.<br />
* You can add new Groups via a right-click over one of the current Group checkbox items<br />
* You can remove Groups via a right-click over one of the current Group checkbox items<br />
* The customized place type/group information is stored in the current db and so applies to only a specific tree.<br />
* The customized place type/group information is stored in the XML for backup.<br />
<br />
=== 3rd priority ===<br />
==== Import/Export ====<br />
* &#x2714; Update Gedcom import/export from GEPS 043 work to support place model https://github.com/gramps-project/gramps/pull/469<br />
* &#x2714; Update importer for place changes; csv<br />
* &#x2714; Update importer for place changes; geneweb<br />
* &#x2714; Update importer for place changes; progen<br />
* (N/A) Update importer for place changes;vcard<br />
* &#x2714; Update exporter for place changes; csv<br />
* (N/A) Update exporter for place changes;ftree<br />
* (N/A) Update exporter for place changes;geneweb<br />
* (N/A) Update exporter for place changes;vcalendar<br />
* (N/A) Update exporter for place changes;vcard<br />
<br />
==== Reports ====<br />
* &#x2714; Plugins.webreport.narrativeweb, etc. Add Place Formats option, Update to use place groups, show place attributes.<br />
* &#x2714; Plugins.graph.gvfamilylines – update to use place Displayer/Formats.<br />
* &#x2714; Plugins.graph.gvrelgraph – Uses_place displayer, update to use place Displayer/Formats.<br />
* &#x2714; Plugins.libllibstubkeyword – updated to support place groups for Country, State (largest REGION), County (smallest Region), City (largest Place). Also fixed up postal to find in place attributes. Title now uses standard Place Displayer with preferred format, Place sub-codes 1-5 can use the first five Place displayer Formats.<br />
* &#x2714; Plugins.drawreport.statisticschart – Uses_place displayer, update to use place Displayer/Formats.<br />
* &#x2714; Plugins.textreport.ancestorreport – Uses_place displayer, update to use place Displayer/Formats.<br />
* &#x2714; Plugins.textreport.placereport – added more names and types to the report, fixed to avoid problems with Place Events.<br />
* Plugins.mapservices.eniroswedenmap uses some specific place types…<br />
<br />
==== Tools ====<br />
* Generate Testcases may want to add some additional place items<br />
* Check & Repair; check_events needs to look at places for references.<br />
==== Filters ====<br />
* &#x2714; gen.proxy.filter - support place attributes and event refs for sanitizing notes<br />
* &#x2714; gen.proxy.private - support place names, types and their citation lists as well as the new eventrefs and attributes.<br />
* &#x2714; gen.proxy.referencedbyselection - support place names, types and their citation lists as well as the new eventrefs and attributes.<br />
* &#x2714; gen.proxy.proxybase - added new get_placehier_types, get_placeabbr_types, get_place_attribute_types methods. <br />
* &#x2714; gen.filters.rules.place.has_data - remove "code" place type scan should look at whole list<br />
* &#x2714; New filter rules for place attributes, place events (gen.filters.rules.place._hasattribute, _hasevent)<br />
* &#x2714; gui.filters.sidebar._placessidebarfilter - Place Sidebar filter; remove code<br />
<br />
==== Addons ====<br />
* [[Addon:CheckPlaceTitles|CheckPlaceTitles]] – don't need this anymore?<br />
* &#x2714; D3Charts/DescendantIndentedTree - has get_title for a place<br />
* DataEntryGramplet – has set_title for a place<br />
* &#x2714; DescendantBookReport – has get_title for a place<br />
* &#x2714; DetailedDescendantBookReport– has get_title for a place<br />
* &#x2714; DescendantsLines\substkw – stop override for PlaceFormat from Plugins.libllibstubkeyword, so just use the plugins.lib version.<br />
* &#x2714; DynamicWeb – uses place.get_title place get_main_location, get_alternate_locations, get_code (done, works, but may want to enhance with more display of place multiple types, attributes, events...).<br />
* &#x2714; ExtractCity – uses set_code<br />
* &#x2714; GetGov – modify to store data in correct parts of place, adapt to updated Place Types with hierarchy and date. <br />
* &#x2714; GraphView – add support for place selectable formats<br />
* &#x2714; ImportMerge – make sure algorithm doesn't break on Event/Place/Event loop<br />
* &#x2714; lxml - update to support new schema<br />
* &#x2714; PlaceCleanup – Need to store data in correct parts of place, change Code handling, change abbreviation handling, store attributess, multiple place types etc.<br />
* &#x2714; [[Addon:Place_completion_tool|PlaceCompletion]] – don't support this anymore?<br />
* &#x2714; Sqlite.ExportSql – update for new place data (Not compatible with previous sql files)<br />
* &#x2714; Sqlite.ImportSql – update for new place data (Not compatible with previous sql files)<br />
<br />
==== Documentation ====<br />
* Update [[Gramps_Data_Model|Data model diagram]]<br />
* Update wiki (entering data, place name editor, …)<br />
<br />
==== Test code ====<br />
* Db tests<br />
* &#x2714; Import/export/report tests<br />
* Filter tests<br />
<br />
== Comments ==<br />
== See also ==<br />
*[[GEPS 006: Better Place handling]]<br />
*[[GEPS 043: Improving GEDCOM support for Places]]<br />
*[[GEPS 045: Place Model Enhancements - Place Changes Screenshots]]<br />
<br />
[[Category:GEPS|P]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=GEPS_045:_Place_Model_Enhancements&diff=90247GEPS 045: Place Model Enhancements2022-02-02T13:30:20Z<p>Romjerome: /* Addons */</p>
<hr />
<div>Rethinking Gramps Place data model<br />
<br />
One of the items on the Gramps [[5.2 Roadmap]] is to look into better GEDCOM support for places. We could continue to force fit GEDCOM import data to Gramps, or look into expanding Gramps data model to make for a better fit.<br />
== Place Enhancements ==<br />
=== Place.Type: ===<br />
Gramps only supports a single place type.<br />
Gov (http://gov.genealogy.net/search/index) and GEDCOM L group support multiple types, each with a subordinate date range, GEDCOM L group support a citation for each type as well<br />
==== Recommendation ====<br />
Make place types a list. Each element should have a subordinate date range and will have a citation list. (done)<br />
<br />
We should also provide a routine similar to the current place displayer to return a place type for a particular date. (done, gen.utils.location.__get_type)<br />
<br />
=== Place Types: ===<br />
Changes to place types, do not actually modify the data model, but dealing with them better will certainly impact a lot of code.<br />
<br />
GeoNames currently doesn’t do much to provide place types. It currently uses PCLx, for Country, PPLx for 'Populated Place', and ADM1-ADMn for different level of administrative place. These do not map well to Gramps PlaceTypes. The Place Cleanup Gramplet tries to do it anyway, but allows user modification.<br />
<br />
Gov currently has over 260 place types in several broad categories. The categories are Administrative, Civil, Religious (church), Judicial, populated place, transportation, and a few miscellaneous others. They are still adding more. The GetGov Gramplet currently stores the returned German place type as a Custom Gramps place type, which is of course not translatable. For example, Deutsches Reich, or USA gets a PlaceType of 'Staat', rather than country. While the system has a lot of types it is very German centric, many types have only German names in their definition documents although some of the more commonly used types have at least English translations and some have several other translations.<br />
==== Recommendation ====<br />
One of;<br />
#) Adopt the Gov type system. We would have to do a lot of translation work on many types, or indicate that the type is local to certain countries (so could use the local words). Our GUI would probably have to use at least a two level hierarchy in the PlaceType selector, possibly three levels, to help users find appropriate types for manually entered places or filtering.<br />
#: One of the levels (top level?) would be the category type.<br />
#: An additional level might be the country specific types.<br />
#) Provide a conversion of the Gov type to the closest Gramps PlaceType, possibly adding a few more Gramps PlaceTypes. If we did that, I think it would be reasonable to store the original Gov type in a place fact.<br />
#) Keep our standard Place Types, allow GOV types to be added as custom types as needed.<br />
#: Add a concept of Place type groups, which make it possible for multiple types to be identified as Country (for example). The Groups are G_COUNTRY, G_REGION, G_PLACE, G_UNPOP, G_BUILDING.<br />
#: The GUI type selector is enhanced to support additional levels corresponding to the groups (only when needed).<br />
#: The Edit/Preferences/Place Types (new panel) is added to allow editing of the place type names, addition and removal of place types, and assignment to groups. It is also possible to add and remove groups.<br />
<br />
<br />
The third option is accepted for development. (done)<br />
<br />
=== Place.Name: ===<br />
Gramps supports multiple names, each with a language and date range.<br />
<br />
GEDCOM supports two additional parts of a name; neither of which seem to be used much and are not currently supported by Gramps.<br />
<br />
FONE (Place phonetic variation) and its subordinate TYPE. This seems to be used for far eastern places for example if hiragana was used to provide a reading of a name written in kanji, then the <PHONETIC_TYPE> value would indicate kana. The TYPE is defined as [<user defined> | hangul | kana]<br />
<br />
ROMN (PLACE_ROMANIZED_VARIATION:= {Size=1:120}) and its subordinate TYPE. The romanized variation of the place name is written in the same form prescribed for the place name used in the superior <PLACE_NAME> context. The method used to romanize the name is indicated by the line_value of the subordinate <ROMANIZED_TYPE>, for example if romaji was used to provide a reading of a place name written in kanji, then the <ROMANIZED_TYPE> subordinate to the ROMN tag would indicate ‘romaji’. The TYPE is defined as [<user defined> | pinyin | romaji | wadegiles]<br />
<br />
GEDCOM L group adds in _NAMC (place name addition) for each name. Their documentation currently says "Addition to PLACE_NAME, can be appended to PLACE_NAME in non-delimited reports to make the label unique". This is for suffixes like "am Main" in "Frankfurt am Main". <br />
<br />
GEDCOM L group adds in ABBR with a subordinate TYPE. ABBREVIATION_OF_NAME Abbreviation for the place name, whereby the type of abbreviation can be further explained with the optional TYPE. <br />
<br />
GEDCOM L group adds in a citation list for each name.<br />
<br />
The GeoNames data and Place Cleanup Gramplet currently store place name abbreviations as an alternate name with the 'abbr' language code.<br />
<br />
The GeoNames data and Place Cleanup Gramplet currently store colloquial place names ('Big Apple' for New York City USA) as an alternate name with no language code.<br />
==== Recommendation ====<br />
#) Our primary name and alternate names become part of a more general place name list. Each has a date, language, and a citation list associated with it.<br />
#) Add an abbreviation list to each place name. Each abbreviation has a type and value. In Reports and graphs, when abbreviations were specified to be used, the language/date specific name abbreviation would be used instead by the place displayer.<br />
#) For place name abbreviations, the place display format editor allows selection of the abbreviation by type of first available in the list for a particular name. If no abbreviation is present, use a place displayer routine uses the full name.<br />
<br />
Done<br />
<br />
=== Postal Code: ===<br />
Gramps currently offers a single field 'Code' to store postal codes. It may have also been used for other purposes in the past.<br />
<br />
GeoNames, GOV, GEDCOM L all support multiple postal codes. GEDCOM L adds in a subordinate DATE range and citation for each code.<br />
<br />
The Place Cleanup Gramplet currently stores multiple postal codes in the code field separated by commas.<br />
==== Recommendation ====<br />
One of the following:<br />
#) Make the postal code(s) part of a more general place attribute list. Each code (attribute) would have a citation list associated with it. Since an attribute doesn't have a date, the date would be appended as text to the attribute value (Ex: "12345; Date: JAN 12 2019"). (Done)<br />
<br />
=== MAIDENHEAD_LOCATOR ===<br />
GEDCOM L has added this to the Place import/export.<br />
<br />
The Maidenhead Locator divides the world into small areas (micro-fields) marked by 8 letters and numbers. It was originally conceived for use in ham radio, but it is also used as a geographic locator in some other applications. https://en.wikipedia.org/wiki/Maidenhead_Locator_System<br />
==== Recommendation ====<br />
Store the Maidenhead locator in the place attribute list. Date and Citation parts would not be used. (Done)<br />
<br />
=== ADMINISTRATIVE_IDENTIFIER ===<br />
GEDCOM L has added this to the Place import/export.<br />
<br />
The official or public identifier for a location object, such as community code, ISO 3166 for countries and states. GEDCOM L allows multiple of these, each with date range and an additional TYPE and citation.<br />
==== Recommendation ====<br />
Store the ADMINISTRATIVE IDENTIFIER in the place attribute list. Each would have a citation list associated with it. Since an attribute doesn't have a subtype, the TYPE_OF_ADMINISTRATIVE_IDENTIFIER would be appended as text to the attribute value (Ex: "BlahBlah; Type: whatever"). (Done)<br />
<br />
=== DEMOGRAPHIC DATA ===<br />
GEDCOM L has added this to the Place import/export.<br />
Demographics about people to the place object, such as number of households, number of people, occupations, and so on. GEDCOM L allows multiple of these, each with date range and an additional TYPE and citation.<br />
==== Recommendation ====<br />
Store the DEMOGRAPICAL_DATA in the place attribute list. Each would have a citation list associated with it. Since an attribute doesn't have a subtype or date, the TYPE_OF_DEMOGRAPICAL_DATA and/or date would be appended as text to the attribute value (Ex: "43210; Type: Population; Date: 2017"). (Done)<br />
<br />
=== EVENT_DETAIL ===<br />
GEDCOM L has added this to the Place import/export.<br />
<br />
GEDCOM L has added an event reference to the place. <br />
==== Recommendation ====<br />
Add an Event reference list to the Place. The list could contain one of the following:<br />
#) EventRef; The Event ref role would be set to 'Place' (Done)<br />
#) Direct pointer to Event object. (Rejected)<br />
<br />
== Enclosed by ==<br />
The following items would be part of the Gramps place reference, which currently only includes a date and the reference to another place.<br />
=== HIERARCHICAL_RELATIONSHIP ===<br />
GEDCOM L has added this to the Place import/export.<br />
<br />
Values are [POLI | RELI | GEOG | CULT] to differentiate political (administrative), ecclesiastical, geographical or cultural attributions. GEDCOM L includes this to provide some indication of the type of enclosure. For example a Church might be enclosed by a city and enclosed by a parish, with different relationships.<br />
=== Citation ===<br />
GEDCOM L adds a citation to the Enclosed by<br />
==== Recommendation ====<br />
* The Place Type Enclosure (PlaceRef) is extended with a PlaceHierType. It can be one of ADMIN, RELI, GEOG, CULT or JUDI (or other custom types). The PlaceRef also has an added citation list.<br />
<br />
== Place Attributes ==<br />
To deal with several new facts associated with places, a Place Attributes list is added. Each place attribute includes the standard type, value, notes and citations.<br />
<br />
Facts that also include a date or subtype are encoded as text in the Attribute.value. Several new attribute types are added to support places AIDN (Administrative Identifier), DMGD (Demographic data), MAIDEN (Maidenhead Locator), and POSTAL (Postal code).<br />
<br />
The Attribute Type selector in the GUI has a second level menu called place with these types in it.<br />
<br />
== Citations ==<br />
GEDCOM L has added citations to most of its additional data.<br />
<br />
The Place object has citation lists attached to Places, Place Attributes, Place Names, Place Types, and Place Enclosed by.<br />
<br />
== ToDo ==<br />
=== Top priority ===<br />
If we do these first and carefully, we should be able to run Gramps with new trees.<br />
<br />
gen.lib.place<br />
* &#x2714; update object, get_schema, serialize/unserialize etc.<br />
* &#x2714; Add add_eventref, get/set/merge_eventreflist<br />
* &#x2714; Add add/get/set/merge place attributes<br />
* &#x2714; get/set/merge_place_types (get/set effects only the top of the list of types). New add_place_type, Supports sortin the most modern place type (based on date) with admin hierarchy at top of list (makes views.placemodel a bit faster to pick type to view and allows for get_place_type to return top value for compatibility).<br />
* <s>Remove get/set title</s><br />
* &#x2714; Get/set_name – Place.name removed, one unified list of names, so these methods only effect the top of a list of names. Also remove get/set alternative names, and added add_name (which can sort the most recent name to top of list).<br />
* &#x2714; Add get/set/merge_abbreviation<br />
* &#x2714; Remove get/set_code and Place.code (on import/upgrade this is moved to Place Attribute)<br />
* <s>Remove get/set/merge_alternative_locations</s><br />
* &#x2714; fix up other methods as needed.<br />
* &#x2714; add citationrefs to place names, types, placerefs<br />
<s>gen.lib.placefact – new. Similar to gen.lib.attribute but with date.</s><br />
<br />
<s>gen.lib.placefacttype – new. Similar to lib.eventtype, but for place facts.</s><br />
<br />
&#x2714; gen.lib.placetype – update for place groups and support three classifications of types; standard Gramps types, numbered custom types (supports GOV types), and full custom types. Also update place type combo menu to allow much larger type list in two level menu.<br />
<br />
&#x2714; gui.views.placemodel – update for changed serialization. Remove 'Code' also change plugins.lib.libplaceview for missing column.<br />
<br />
&#x2714; gen.lib.placeabbrev, gen.lib.placeabbrevtype, gen.lib.placehiertype<br />
<br />
=== 2nd priority ===<br />
==== Editors ====<br />
I'm assuming that the place editor is not significantly changed in style from the current one.<br />
* &#x2714; Add place type editor icon to place type. Place Type combo remains but only affects top of list.<br />
* &#x2714; Remove 'Code' from Place editor<br />
* &#x2714; Add place Types tab gui.editors.displaytabs.placetypeembeddedlist and placetypemodel<br />
* <s>Remove Title edit capability</s><br />
* &#x2714; Update Place Names tab for unified list of names, abbreviations<br />
* &#x2714; Add Place Attributes tab gui.editors.displaytabs.placeatttrembeddedlist<br />
* &#x2714; Add place Events tab - gui.editors.displaytabs.placeeventembeddedlist<br />
* &#x2714; Duplicate place editor work for gui.editors.editplaceref<br />
* &#x2714; New Place type editor gui.editors.editplacetype. Combo for type and Add date and a citationref tab<br />
* &#x2714; gui.editors.editevent – fix DeleteEventQuery to scan for places containing events<br />
* &#x2714; Update Place Names Editor for unified list of names.<br />
* &#x2714; Add abbreviations and citations tabs to place name editor gui.editors.displaytabs.placeabbrevembedlist and placeabbrevmodel<br />
* &#x2714; New Place Abbreviations Editor gui.editors.editplaceabbrev<br />
* &#x2714; Add citations tab to gui.editors.editplaceref<br />
<br />
==== Views ====<br />
* &#x2714; Add Place Attributes and Events Gramplets to Place views plugins.lib.libplaceview<br />
* &#x2714; Modify Events Gramplet plugins.gramplets.events to deal with place events (remove age column).<br />
* &#x2714; update Attributes Gramplet plugins.gramplets.attributes for places<br />
* &#x2714; plugins.lib.maps.placeselection update to use place groups instead of types<br />
* &#x2714; plugins.lib.maps.geography update for place changes<br />
* &#x2714; plugins.view.eventview fix DeleteEventQuery to support place events<br />
* &#x2714; plugins.view.geoplaces modify marker color to use much larger place types<br />
* &#x2714; plugins.view.placetreeview fix add place to add heierarchy type<br />
<br />
==== Import/export/upgrade ====<br />
* &#x2714; Update dtd<br />
* &#x2714; Update XML export<br />
* &#x2714; Update XML import<br />
* &#x2714; Modify bsddb update routines plugins.db.bsddb.upgrade<br />
* &#x2714; Create dbapi update routine plugins.db.pbapi.upgrade, and hooks into db loaders<br />
DB upgrade or XML import should:<br />
* &#x2714; Move Code field into place attribute<br />
* &#x2714; add new citations lists<br />
* &#x2714; change place type to type list with date and citations<br />
* &#x2714; change place name and place alternative names to place name list with new abbreviations<br />
* &#x2714; change PlaceRef to add citations and hierarchy<br />
* &#x2714; add placetype custom information to metadata<br />
<br />
==== Merge ====<br />
* &#x2714; Fix gen.merge.mergeeventquery to check for place events<br />
* &#x2714; Remove Code from gui.merge.mergeplace and its glade file<br />
<br />
==== Place Displayer ====<br />
* &#x2714; Update place displayer gen.display.place to support rules for place types, groups, and abbreviations etc.<br />
* &#x2714; Update gen.utils.location to support date for multiple place types, hierarchy, and to return abbreviations<br />
* &#x2714; rewrite gui.editors.editplaceformat and its glade file<br />
<br />
These now support:<br />
* multiple place formats (like before)<br />
* each format supports a heirarchy type and language, and allows display order reversal<br />
* each format can have multiple rules, which can be added, removed and reordered (order is executed top to bottom)<br />
* each rule can apply to all places, or just one place (useful for country specific rules)<br />
* each rule can apply to a place Group, Type, or the street/number<br />
* For Group rules, you can select the Group from the standard and custom groups<br />
* for Type rules, you can select the Type from the standard and custom types<br />
* for the Group or Type rules, you can choose to display All, largest, or smallest of matching types, or hide them.<br />
* for the Group or Type rules, you can choose to show an abbreviation from the abbreviation types, or the first available abbreviation type, or None (which shows the associated name, instead of the abbreviation).<br />
* for street/number rules you can choose to display street/number, number/street, or Hidden<br />
* The Place Formats are stored in the db NOT in a system wide file, so only applies to the current tree. This is due to potential references to specific places or customized types or groups which may not be present in other trees.<br />
<br />
==== Edit/Preferences/Place Types ====<br />
* &#x2714; Updated gui.configure with new Place Types panel<br />
<br />
This now supports:<br />
* Shows the place type list on left side, along with used indication, and a comment<br />
* Shows place groups for selected Place Type on right side<br />
* An Entry at top right allows the Place Type name to be changed<br />
* The Groups are shown as check boxes, which can be changed<br />
* There is a search box at bottom of dialog<br />
* You can add new types via the Add button at bottom<br />
* You can remove types that are not used and are not standard<br />
* You can hide types (from type selection combobox menus) with the Hide button.<br />
* You can add new Groups via a right-click over one of the current Group checkbox items<br />
* You can remove Groups via a right-click over one of the current Group checkbox items<br />
* The customized place type/group information is stored in the current db and so applies to only a specific tree.<br />
* The customized place type/group information is stored in the XML for backup.<br />
<br />
=== 3rd priority ===<br />
==== Import/Export ====<br />
* &#x2714; Update Gedcom import/export from GEPS 043 work to support place model https://github.com/gramps-project/gramps/pull/469<br />
* &#x2714; Update importer for place changes; csv<br />
* &#x2714; Update importer for place changes; geneweb<br />
* &#x2714; Update importer for place changes; progen<br />
* (N/A) Update importer for place changes;vcard<br />
* &#x2714; Update exporter for place changes; csv<br />
* (N/A) Update exporter for place changes;ftree<br />
* (N/A) Update exporter for place changes;geneweb<br />
* (N/A) Update exporter for place changes;vcalendar<br />
* (N/A) Update exporter for place changes;vcard<br />
<br />
==== Reports ====<br />
* &#x2714; Plugins.webreport.narrativeweb, etc. Add Place Formats option, Update to use place groups, show place attributes.<br />
* &#x2714; Plugins.graph.gvfamilylines – update to use place Displayer/Formats.<br />
* &#x2714; Plugins.graph.gvrelgraph – Uses_place displayer, update to use place Displayer/Formats.<br />
* &#x2714; Plugins.libllibstubkeyword – updated to support place groups for Country, State (largest REGION), County (smallest Region), City (largest Place). Also fixed up postal to find in place attributes. Title now uses standard Place Displayer with preferred format, Place sub-codes 1-5 can use the first five Place displayer Formats.<br />
* &#x2714; Plugins.drawreport.statisticschart – Uses_place displayer, update to use place Displayer/Formats.<br />
* &#x2714; Plugins.textreport.ancestorreport – Uses_place displayer, update to use place Displayer/Formats.<br />
* &#x2714; Plugins.textreport.placereport – added more names and types to the report, fixed to avoid problems with Place Events.<br />
* Plugins.mapservices.eniroswedenmap uses some specific place types…<br />
<br />
==== Tools ====<br />
* Generate Testcases may want to add some additional place items<br />
* Check & Repair; check_events needs to look at places for references.<br />
==== Filters ====<br />
* &#x2714; gen.proxy.filter - support place attributes and event refs for sanitizing notes<br />
* &#x2714; gen.proxy.private - support place names, types and their citation lists as well as the new eventrefs and attributes.<br />
* &#x2714; gen.proxy.referencedbyselection - support place names, types and their citation lists as well as the new eventrefs and attributes.<br />
* &#x2714; gen.proxy.proxybase - added new get_placehier_types, get_placeabbr_types, get_place_attribute_types methods. <br />
* &#x2714; gen.filters.rules.place.has_data - remove "code" place type scan should look at whole list<br />
* &#x2714; New filter rules for place attributes, place events (gen.filters.rules.place._hasattribute, _hasevent)<br />
* &#x2714; gui.filters.sidebar._placessidebarfilter - Place Sidebar filter; remove code<br />
<br />
==== Addons ====<br />
* [[Addon:CheckPlaceTitles|CheckPlaceTitles]] – don't need this anymore?<br />
* &#x2714; D3Charts/DescendantIndentedTree - has get_title for a place<br />
* DataEntryGramplet – has set_title for a place<br />
* &#x2714; DescendantBookReport – has get_title for a place<br />
* &#x2714; DetailedDescendantBookReport– has get_title for a place<br />
* &#x2714; DescendantsLines\substkw – stop override for PlaceFormat from Plugins.libllibstubkeyword, so just use the plugins.lib version.<br />
* &#x2714; DynamicWeb – uses place.get_title place get_main_location, get_alternate_locations, get_code (done, works, but may want to enhance with more display of place multiple types, attributes, events...).<br />
* &#x2714; ExtractCity – uses set_code<br />
* &#x2714; GetGov – modify to store data in correct parts of place, adapt to updated Place Types with hierarchy and date. <br />
* &#x2714; GraphView – add support for place selectable formats<br />
* &#x2714; ImportMerge – make sure algorithm doesn't break on Event/Place/Event loop<br />
* &#x2714; lxml - update to support new schema<br />
* &#x2714; PlaceCleanup – Need to store data in correct parts of place, change Code handling, change abbreviation handling, store attributess, multiple place types etc.<br />
* &#x2714; PlaceCompletion – don't support this anymore?<br />
* &#x2714; Sqlite.ExportSql – update for new place data (Not compatible with previous sql files)<br />
* &#x2714; Sqlite.ImportSql – update for new place data (Not compatible with previous sql files)<br />
<br />
==== Documentation ====<br />
* Update [[Gramps_Data_Model|Data model diagram]]<br />
* Update wiki (entering data, place name editor, …)<br />
<br />
==== Test code ====<br />
* Db tests<br />
* &#x2714; Import/export/report tests<br />
* Filter tests<br />
<br />
== Comments ==<br />
== See also ==<br />
*[[GEPS 006: Better Place handling]]<br />
*[[GEPS 043: Improving GEDCOM support for Places]]<br />
*[[GEPS 045: Place Model Enhancements - Place Changes Screenshots]]<br />
<br />
[[Category:GEPS|P]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90246Addon:CheckPlaceTitles2022-02-02T13:29:45Z<p>Romjerome: </p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the top label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|600px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (town, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
{{-}}<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either check all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|center|200px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
{{-}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also an {{man button|Help}} button to see this page.<br />
<br />
{{-}}<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|450px|Autotitle enabled. You filled the place name with auto-title support (see Display item into Preferences dialog) but the tool detects a possible issue.]]<br />
[[File:Checkpt_columns_fr.png|350px|checked by default.]] <br />
<br />
[[File:Checkpt_legacy_fr.png|450px|Duplicate textual value on legacy field. You disable auto-title support and see that an hard-coded place title exists. It remains from old database model or after some importations. This field might be empty as gramps does well the job.]]<br />
<br />
[[File:Checkpt_free_title_fr.png|450px|Lazy textual place value on seizure or after an import. You have inconsistencies on place filling, the free form does not let you properly display an efficient place title, and gramps displayer does a better job.]]<br />
[[File:Checkpt_DB_remain_fr.png|350px|What is the best place value? With or without auto-title and hierarchy support?]]<br />
<br />
{{-}}<br />
<br />
The tool will list possible issues, but let you select/unselect lines and use one of the options available.<br />
<br />
==Go further==<br />
<br />
If you need advanced features, you should look at [[Addon:PlaceCleanupGramplet|Place Cleanup gramplet]].<br />
<br />
==See Also==<br />
<br />
* [[Addon:PlaceCleanupGramplet|Place Cleanup gramplet]]<br />
* [[GEPS_045:_Place_Model_Enhancements|GEPS 045: Place Model Enhancements]]<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90237Addon:CheckPlaceTitles2022-01-31T15:50:03Z<p>Romjerome: </p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the top label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|600px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (town, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
{{-}}<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either check all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|center|200px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
{{-}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also an {{man button|Help}} button to see this page.<br />
<br />
{{-}}<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|450px|Autotitle enabled. You filled the place name with auto-title support (see Display item into Preferences dialog) but the tool detects a possible issue.]]<br />
[[File:Checkpt_columns_fr.png|350px|checked by default.]] <br />
<br />
[[File:Checkpt_legacy_fr.png|450px|Duplicate textual value on legacy field. You disable auto-title support and see that an hard-coded place title exists. It remains from old database model or after some importations. This field might be empty as gramps does well the job.]]<br />
<br />
[[File:Checkpt_free_title_fr.png|450px|Lazy textual place value on seizure or after an import. You have inconsistencies on place filling, the free form does not let you properly display an efficient place title, and gramps displayer does a better job.]]<br />
[[File:Checkpt_DB_remain_fr.png|350px|What is the best place value? With or without auto-title and hierarchy support?]]<br />
<br />
{{-}}<br />
<br />
The tool will list possible issues, but let you select/unselect lines and use one of the options available.<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90236Addon:CheckPlaceTitles2022-01-31T15:46:36Z<p>Romjerome: /* In french */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|600px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (town, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
{{-}}<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either check all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|center|200px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
{{-}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also an {{man button|Help}} button to see this page.<br />
<br />
{{-}}<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|450px|Autotitle enabled. You filled the place name with auto-title support (see Display item into Preferences dialog) but the tool detects a possible issue.]]<br />
[[File:Checkpt_columns_fr.png|350px|checked by default.]] <br />
<br />
[[File:Checkpt_legacy_fr.png|450px|Duplicate textual value on legacy field. You disable auto-title support and see that an hard-coded place title exists. It remains from old database model or after some importations. This field might be empty as gramps does well the job.]]<br />
<br />
[[File:Checkpt_free_title_fr.png|450px|Lazy textual place value on seizure or after an import. You have inconsistencies on place filling, the free form does not let you properly display an efficient place title, and gramps displayer does a better job.]]<br />
[[File:Checkpt_DB_remain_fr.png|350px|What is the best place value? With or without auto-title and hierarchy support?]]<br />
<br />
{{-}}<br />
<br />
The tool will list possible issues, but let you select/unselect lines and use one of the options available.<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90235Addon:CheckPlaceTitles2022-01-31T15:42:34Z<p>Romjerome: /* Options */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|600px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (town, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
{{-}}<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either check all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|center|200px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
{{-}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also an {{man button|Help}} button to see this page.<br />
<br />
{{-}}<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|450px|Autotitle enabled. You filled the place name with auto-title support (see Display item into Preferences dialog) but the tool detects a possible issue.]]<br />
[[File:Checkpt_columns_fr.png|350px|checked by default.]] <br />
<br />
[[File:Checkpt_legacy_fr.png|450px|Duplicate textual value on legacy field. You disable auto-title support and see that an hard-coded place title exists. It remains from old database model or after some importations. This field might be empty as gramps does well the job.]]<br />
<br />
[[File:Checkpt_free_title_fr.png|450px|Lazy textual place value on seizure or after an import. You have inconsistencies on place filling, the free form does not let you properly display an efficient place title, and gramps displayer does a better job.]]<br />
[[File:Checkpt_DB_remain_fr.png|350px|What is the best place value? With or without auto-title and hierarchy support?]]<br />
<br />
{{-}}<br />
<br />
The tool will list the problem, but let you select the line and use one of the options available.<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90234Addon:CheckPlaceTitles2022-01-31T15:37:40Z<p>Romjerome: /* In french */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|600px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (town, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
{{-}}<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either check all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|center|200px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
{{-}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also a {{man button|Help}} button to see this page.<br />
<br />
{{-}}<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|450px|Autotitle enabled. You filled the place name with auto-title support (see Display item into Preferences dialog) but the tool detects a possible issue.]]<br />
[[File:Checkpt_columns_fr.png|350px|checked by default.]] <br />
<br />
[[File:Checkpt_legacy_fr.png|450px|Duplicate textual value on legacy field. You disable auto-title support and see that an hard-coded place title exists. It remains from old database model or after some importations. This field might be empty as gramps does well the job.]]<br />
<br />
[[File:Checkpt_free_title_fr.png|450px|Lazy textual place value on seizure or after an import. You have inconsistencies on place filling, the free form does not let you properly display an efficient place title, and gramps displayer does a better job.]]<br />
[[File:Checkpt_DB_remain_fr.png|350px|What is the best place value? With or without auto-title and hierarchy support?]]<br />
<br />
{{-}}<br />
<br />
The tool will list the problem, but let you select the line and use one of the options available.<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90233Addon:CheckPlaceTitles2022-01-31T15:35:56Z<p>Romjerome: /* In french */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|600px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (town, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
{{-}}<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either check all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|center|200px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
{{-}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also a {{man button|Help}} button to see this page.<br />
<br />
{{-}}<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|thumb|left|450px|Autotitle enabled. You filled the place name with auto-title support (see Display item into Preferences dialog) but the tool detects a possible issue.]]<br />
[[File:Checkpt_columns_fr.png|thumb|right|350px|checked by default.]] <br />
<br />
[[File:Checkpt_legacy_fr.png|thumb|left|450px|Duplicate textual value on legacy field. You disable auto-title support and see that an hard-coded place title exists. It remains from old database model or after some importations. This field might be empty as gramps does well the job.]]<br />
<br />
[[File:Checkpt_free_title_fr.png|thumb|left|450px|Lazy textual place value on seizure or after an import. You have inconsistencies on place filling, the free form does not let you properly display an efficient place title, and gramps displayer does a better job.]]<br />
[[File:Checkpt_DB_remain_fr.png|thumb|right|350px|What is the best place value? With or without auto-title and hierarchy support?]]<br />
<br />
{{-}}<br />
<br />
The tool will list the problem, but let you select the line and use one of the options available.<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90232Addon:CheckPlaceTitles2022-01-31T15:35:33Z<p>Romjerome: /* In french */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|600px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (town, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
{{-}}<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either check all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|center|200px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
{{-}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also a {{man button|Help}} button to see this page.<br />
<br />
{{-}}<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|thumb|left|500px|Autotitle enabled. You filled the place name with auto-title support (see Display item into Preferences dialog) but the tool detects a possible issue.]]<br />
[[File:Checkpt_columns_fr.png|thumb|right|350px|checked by default.]] <br />
<br />
[[File:Checkpt_legacy_fr.png|thumb|left|500px|Duplicate textual value on legacy field. You disable auto-title support and see that an hard-coded place title exists. It remains from old database model or after some importations. This field might be empty as gramps does well the job.]]<br />
<br />
[[File:Checkpt_free_title_fr.png|thumb|left|500px|Lazy textual place value on seizure or after an import. You have inconsistencies on place filling, the free form does not let you properly display an efficient place title, and gramps displayer does a better job.]]<br />
[[File:Checkpt_DB_remain_fr.png|thumb|right|350px|What is the best place value? With or without auto-title and hierarchy support?]]<br />
<br />
{{-}}<br />
<br />
The tool will list the problem, but let you select the line and use one of the options available.<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90231Addon:CheckPlaceTitles2022-01-31T15:35:13Z<p>Romjerome: /* In french */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|600px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (town, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
{{-}}<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either check all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|center|200px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
{{-}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also a {{man button|Help}} button to see this page.<br />
<br />
{{-}}<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|thumb|left|350px|Autotitle enabled. You filled the place name with auto-title support (see Display item into Preferences dialog) but the tool detects a possible issue.]]<br />
[[File:Checkpt_columns_fr.png|thumb|right|350px|checked by default.]] <br />
<br />
[[File:Checkpt_legacy_fr.png|thumb|left|350px|Duplicate textual value on legacy field. You disable auto-title support and see that an hard-coded place title exists. It remains from old database model or after some importations. This field might be empty as gramps does well the job.]]<br />
<br />
[[File:Checkpt_free_title_fr.png|thumb|left|350px|Lazy textual place value on seizure or after an import. You have inconsistencies on place filling, the free form does not let you properly display an efficient place title, and gramps displayer does a better job.]]<br />
[[File:Checkpt_DB_remain_fr.png|thumb|right|350px|What is the best place value? With or without auto-title and hierarchy support?]]<br />
<br />
{{-}}<br />
<br />
The tool will list the problem, but let you select the line and use one of the options available.<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90230Addon:CheckPlaceTitles2022-01-31T15:33:44Z<p>Romjerome: /* In french */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|600px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (town, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
{{-}}<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either check all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|center|200px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
{{-}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also a {{man button|Help}} button to see this page.<br />
<br />
{{-}}<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|thumb|left|350px|Autotitle enabled. You filled the place name with auto-title support (see Display item into Preferences dialog) but the tool detects a possible issue.]]<br />
[[File:Checkpt_columns_fr.png|thumb|right|350px|checked by default.]] <br />
<br />
[[File:Checkpt_legacy_fr.png|thumb|left|350px|Duplicate textual value on legacy field. You disable auto-title support and see that an hard-coded place title exists.]]<br />
<br />
It remains from old database model or after some importations<br />
<br />
This field might be empty as gramps does well the job.<br />
<br />
[[File:Checkpt_free_title_fr.png|thumb|left|350px|Lazy textual place value on seizure or after an import.]]<br />
[[File:Checkpt_DB_remain_fr.png|thumb|right|350px|What is the best place value? With or without auto-title and hierarchy support?]]<br />
* You have inconsistencies on place filling, the free form does not let you properly display an efficient place title, and gramps displayer does a better job. <br />
<br />
The tool will list the problem, but let you select the line and use one of the options available.<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90229Addon:CheckPlaceTitles2022-01-31T15:32:54Z<p>Romjerome: /* In french */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|600px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (town, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
{{-}}<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either check all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|center|200px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
{{-}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also a {{man button|Help}} button to see this page.<br />
<br />
{{-}}<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|thumb|left|350px|Autotitle enabled.]]<br />
[[File:Checkpt_columns_fr.png|thumb|right|350px|checked by default.]]<br />
* You filled the place name with auto-title support (see Display item into Preferences dialog) but the tool detects a possible issue.<br />
<br />
[[File:Checkpt_legacy_fr.png|thumb|left|350px|Duplicate textual value on legacy field.]]<br />
* You disable auto-title support and see that an hard-coded place title exists.<br />
<br />
It remains from old database model or after some importations<br />
<br />
This field might be empty as gramps does well the job.<br />
<br />
[[File:Checkpt_free_title_fr.png|thumb|left|350px|Lazy textual place value on seizure or after an import.]]<br />
[[File:Checkpt_DB_remain_fr.png|thumb|right|350px|What is the best place value? With or without auto-title and hierarchy support?]]<br />
* You have inconsistencies on place filling, the free form does not let you properly display an efficient place title, and gramps displayer does a better job. <br />
<br />
The tool will list the problem, but let you select the line and use one of the options available.<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90228Addon:CheckPlaceTitles2022-01-31T15:31:37Z<p>Romjerome: /* In french */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|600px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (town, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
{{-}}<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either check all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|center|200px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
{{-}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also a {{man button|Help}} button to see this page.<br />
<br />
{{-}}<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|thumb|left|350px|Autotitle enabled.]]<br />
[[File:Checkpt_columns_fr.png|thumb|right|350px|checked by default.]]<br />
* You filled the place name with auto-title support (see Display item into Preferences dialog)<br />
but the tool detects a possible issue.<br />
<br />
[[File:Checkpt_legacy_fr.png|thumb|left|350px|Duplicate textual value on legacy field.]]<br />
* You disable auto-title support and see that an hard-coded place title exists.<br />
<br />
It remains from old database model or after some importations<br />
<br />
This field might be empty as gramps does well the job.<br />
<br />
[[File:Checkpt_free_title_fr.png|thumb|left|350px|Lazy textual place value on seizure or after an import.]]<br />
[[File:Checkpt_DB_remain_fr.png|thumb|right|350px|What is the best place value? With or without auto-title and hierarchy support?]]<br />
* You have inconsistencies on place filling, the free form does not let you properly display an efficient place title, and gramps displayer does a better job. <br />
<br />
The tool will list the problem, but let you select the line and use one of the options available.<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90227Addon:CheckPlaceTitles2022-01-31T15:29:49Z<p>Romjerome: /* In french */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|600px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (town, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
{{-}}<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either check all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|center|200px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
{{-}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also a {{man button|Help}} button to see this page.<br />
<br />
{{-}}<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|thumb|left|300px|Autotitle enabled.]]<br />
[[File:Checkpt_columns_fr.png|thumb|right|300px|checked by default.]]<br />
* You filled the place name with auto-title support (see Display item into Preferences dialog)<br />
but the tool detects a possible issue.<br />
<br />
[[File:Checkpt_legacy_fr.png|thumb|left|300px|Duplicate textual value on legacy field.]]<br />
* You disable auto-title support and see that an hard-coded place title exists.<br />
<br />
It remains from old database model or after some importations<br />
<br />
This field might be empty as gramps does well the job.<br />
<br />
[[File:Checkpt_free_title_fr.png|thumb|left|300px|Lazy textual place value on seizure or after an import.]]<br />
[[File:Checkpt_DB_remain_fr.png|thumb|right|300px|What is the best place value? With ou without auto-title and hierarchy support?]]<br />
* You have inconsistencies on place filling, the free form does not let you properly display an efficient place title, and gramps displayer does a better job. <br />
<br />
The tool will list the problem, but let you select the line and use one of the options available.<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90226Addon:CheckPlaceTitles2022-01-31T15:29:27Z<p>Romjerome: /* In french */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|600px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (town, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
{{-}}<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either check all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|center|200px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
{{-}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also a {{man button|Help}} button to see this page.<br />
<br />
{{-}}<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|thumb|left|300px|Autotitle enabled.]]<br />
[[File:Checkpt_columns_fr.png|thumb|right|300px|checked by default.]]<br />
* You filled the place name with auto-title support (see Display item into Preferences dialog)<br />
but the tool detects a possible issue.<br />
<br />
[[File:Checkpt_legacy_fr.png|thumb|left|300px|Duplicate textual value on legacy field.]]<br />
* You disable auto-title support and see that an hard-coded place title exists.<br />
It remains from old database model or after some importations<br />
<br />
This field might be empty as gramps does well the job.<br />
<br />
[[File:Checkpt_free_title_fr.png|thumb|left|300px|Lazy textual place value on seizure or after an import.]]<br />
[[File:Checkpt_DB_remain_fr.png|thumb|right|300px|What is the best place value? With ou without auto-title and hierarchy support?]]<br />
* You have inconsistencies on place filling, the free form does not let you properly display an efficient place title, and gramps displayer does a better job. <br />
<br />
The tool will list the problem, but let you select the line and use one of the options available.<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90225Addon:CheckPlaceTitles2022-01-31T15:28:54Z<p>Romjerome: /* In french */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|600px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (town, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
{{-}}<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either check all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|center|200px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
{{-}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also a {{man button|Help}} button to see this page.<br />
<br />
{{-}}<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|thumb|left|250px|Autotitle enabled.]]<br />
[[File:Checkpt_columns_fr.png|thumb|right|250px|checked by default.]]<br />
* You filled the place name with auto-title support (see Display item into Preferences dialog)<br />
but the tool detects a possible issue.<br />
<br />
[[File:Checkpt_legacy_fr.png|thumb|left|250px|Duplicate textual value on legacy field.]]<br />
* You disable auto-title support and see that an hard-coded place title exists.<br />
It remains from old database model or after some importations<br />
<br />
This field might be empty as gramps does well the job.<br />
<br />
[[File:Checkpt_free_title_fr.png|thumb|left|250px|Lazy textual place value on seizure or after an import.]]<br />
[[File:Checkpt_DB_remain_fr.png|thumb|right|250px|What is the best place value? With ou without auto-title and hierarchy support?]]<br />
* You have inconsistencies on place filling, the free form does not let you properly display an efficient place title, and gramps displayer does a better job. <br />
<br />
The tool will list the problem, but let you select the line and use one of the options available.<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90224Addon:CheckPlaceTitles2022-01-31T15:28:15Z<p>Romjerome: /* Why radio-buttons are checked? */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|600px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (town, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
{{-}}<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either check all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|center|200px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
{{-}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also a {{man button|Help}} button to see this page.<br />
<br />
{{-}}<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|thumb|left|150px|Autotitle enabled.]]<br />
[[File:Checkpt_columns_fr.png|thumb|right|150px|checked by default.]]<br />
* You filled the place name with auto-title support (see Display item into Preferences dialog)<br />
but the tool detects a possible issue.<br />
<br />
[[File:Checkpt_legacy_fr.png|thumb|left|150px|Duplicate textual value on legacy field.]]<br />
* You disable auto-title support and see that an hard-coded place title exists.<br />
It remains from old database model or after some importations<br />
<br />
This field might be empty as gramps does well the job.<br />
<br />
[[File:Checkpt_free_title_fr.png|thumb|left|150px|Lazy textual place value on seizure or after an import.]]<br />
[[File:Checkpt_DB_remain_fr.png|thumb|right|150px|What is the best place value? With ou without auto-title and hierarchy support?]]<br />
* You have inconsistencies on place filling, the free form does not let you properly display an efficient place title, and gramps displayer does a better job. <br />
<br />
The tool will list the problem, but let you select the line and use one of the options available.<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90223Addon:CheckPlaceTitles2022-01-31T15:27:50Z<p>Romjerome: /* Why radio-buttons are checked? */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|600px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (town, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
{{-}}<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either check all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|center|200px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
{{-}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also a {{man button|Help}} button to see this page.<br />
<br />
{{-}}<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|thumb|left|150px|Autotitle enabled.]]<br />
[[File:Checkpt_columns_fr.png|thumb|right|150px|checked by default.]]<br />
* You filled the place name with auto-title support (see Display item into Preferences dialog)<br />
but the tool detects a possible issue.<br />
<br />
[[File:Checkpt_legacy_fr.png|thumb|left|150px|Duplicate textual value on legacy field.]]<br />
* You disable auto-title support and see that an hard-coded place title exists.<br />
It remains from old database model or after some importations<br />
<br />
This field might be empty as gramps does well the job.<br />
<br />
[[File:Checkpt_free_title_fr.png|thumb|left|150px|Lazy textual place value on seizure or after an import.]]<br />
[[File:Checkpt_DB_remain_fr.png|thumb|right|150px|What is the best place value? With ou without auto-title and hierarchy support?]]<br />
* You have inconsistencies on place filling, the free form does not let you properly display an efficient place title, and gramps displayer does a better job. <br />
<br />
The tool will list the problem, but let you select the line and use one of the options available.<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90222Addon:CheckPlaceTitles2022-01-31T15:27:19Z<p>Romjerome: /* Why radio-buttons are checked? */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|600px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (town, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
{{-}}<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either check all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|left|200px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
{{-}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also a {{man button|Help}} button to see this page.<br />
<br />
{{-}}<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|thumb|left|150px|Autotitle enabled.]]<br />
[[File:Checkpt_columns_fr.png|thumb|right|150px|checked by default.]]<br />
* You filled the place name with auto-title support (see Display item into Preferences dialog)<br />
but the tool detects a possible issue.<br />
<br />
[[File:Checkpt_legacy_fr.png|thumb|left|150px|Duplicate textual value on legacy field.]]<br />
* You disable auto-title support and see that an hard-coded place title exists.<br />
It remains from old database model or after some importations<br />
<br />
This field might be empty as gramps does well the job.<br />
<br />
[[File:Checkpt_free_title_fr.png|thumb|left|150px|Lazy textual place value on seizure or after an import.]]<br />
[[File:Checkpt_DB_remain_fr.png|thumb|right|150px|What is the best place value? With ou without auto-title and hierarchy support?]]<br />
* You have inconsistencies on place filling, the free form does not let you properly display an efficient place title, and gramps displayer does a better job. <br />
<br />
The tool will list the problem, but let you select the line and use one of the options available.<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90221Addon:CheckPlaceTitles2022-01-31T15:27:03Z<p>Romjerome: /* Why radio-buttons are checked? */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|600px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (town, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
{{-}}<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either check all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|left|200px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also a {{man button|Help}} button to see this page.<br />
<br />
{{-}}<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|thumb|left|150px|Autotitle enabled.]]<br />
[[File:Checkpt_columns_fr.png|thumb|right|150px|checked by default.]]<br />
* You filled the place name with auto-title support (see Display item into Preferences dialog)<br />
but the tool detects a possible issue.<br />
<br />
[[File:Checkpt_legacy_fr.png|thumb|left|150px|Duplicate textual value on legacy field.]]<br />
* You disable auto-title support and see that an hard-coded place title exists.<br />
It remains from old database model or after some importations<br />
<br />
This field might be empty as gramps does well the job.<br />
<br />
[[File:Checkpt_free_title_fr.png|thumb|left|150px|Lazy textual place value on seizure or after an import.]]<br />
[[File:Checkpt_DB_remain_fr.png|thumb|right|150px|What is the best place value? With ou without auto-title and hierarchy support?]]<br />
* You have inconsistencies on place filling, the free form does not let you properly display an efficient place title, and gramps displayer does a better job. <br />
<br />
The tool will list the problem, but let you select the line and use one of the options available.<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90220Addon:CheckPlaceTitles2022-01-31T15:26:16Z<p>Romjerome: /* The pass */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|600px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (town, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
{{-}}<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either check all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also a {{man button|Help}} button to see this page.<br />
<br />
{{-}}<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|thumb|left|150px|Autotitle enabled.]]<br />
[[File:Checkpt_columns_fr.png|thumb|right|150px|checked by default.]]<br />
* You filled the place name with auto-title support (see Display item into Preferences dialog)<br />
but the tool detects a possible issue.<br />
<br />
[[File:Checkpt_legacy_fr.png|thumb|left|150px|Duplicate textual value on legacy field.]]<br />
* You disable auto-title support and see that an hard-coded place title exists.<br />
It remains from old database model or after some importations<br />
<br />
This field might be empty as gramps does well the job.<br />
<br />
[[File:Checkpt_free_title_fr.png|thumb|left|150px|Lazy textual place value on seizure or after an import.]]<br />
[[File:Checkpt_DB_remain_fr.png|thumb|right|150px|What is the best place value? With ou without auto-title and hierarchy support?]]<br />
* You have inconsistencies on place filling, the free form does not let you properly display an efficient place title, and gramps displayer does a better job. <br />
<br />
The tool will list the problem, but let you select the line and use one of the options available.<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90219Addon:CheckPlaceTitles2022-01-31T15:25:49Z<p>Romjerome: /* The pass */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|600px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (town, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|left|200px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
{{-}}<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either check all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also a {{man button|Help}} button to see this page.<br />
<br />
{{-}}<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|thumb|left|150px|Autotitle enabled.]]<br />
[[File:Checkpt_columns_fr.png|thumb|right|150px|checked by default.]]<br />
* You filled the place name with auto-title support (see Display item into Preferences dialog)<br />
but the tool detects a possible issue.<br />
<br />
[[File:Checkpt_legacy_fr.png|thumb|left|150px|Duplicate textual value on legacy field.]]<br />
* You disable auto-title support and see that an hard-coded place title exists.<br />
It remains from old database model or after some importations<br />
<br />
This field might be empty as gramps does well the job.<br />
<br />
[[File:Checkpt_free_title_fr.png|thumb|left|150px|Lazy textual place value on seizure or after an import.]]<br />
[[File:Checkpt_DB_remain_fr.png|thumb|right|150px|What is the best place value? With ou without auto-title and hierarchy support?]]<br />
* You have inconsistencies on place filling, the free form does not let you properly display an efficient place title, and gramps displayer does a better job. <br />
<br />
The tool will list the problem, but let you select the line and use one of the options available.<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90218Addon:CheckPlaceTitles2022-01-31T12:51:03Z<p>Romjerome: /* Options */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|600px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (town, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|left|200px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
{{-}}<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either check all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also a {{man button|Help}} button to see this page.<br />
<br />
{{-}}<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|thumb|left|150px|Autotitle enabled.]]<br />
[[File:Checkpt_columns_fr.png|thumb|right|150px|checked by default.]]<br />
* You filled the place name with auto-title support (see Display item into Preferences dialog)<br />
but the tool detects a possible issue.<br />
<br />
[[File:Checkpt_legacy_fr.png|thumb|left|150px|Duplicate textual value on legacy field.]]<br />
* You disable auto-title support and see that an hard-coded place title exists.<br />
It remains from old database model or after some importations<br />
<br />
This field might be empty as gramps does well the job.<br />
<br />
[[File:Checkpt_free_title_fr.png|thumb|left|150px|Lazy textual place value on seizure or after an import.]]<br />
[[File:Checkpt_DB_remain_fr.png|thumb|right|150px|What is the best place value? With ou without auto-title and hierarchy support?]]<br />
* You have inconsistencies on place filling, the free form does not let you properly display an efficient place title, and gramps displayer does a better job. <br />
<br />
The tool will list the problem, but let you select the line and use one of the options available.<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90217Addon:CheckPlaceTitles2022-01-31T12:50:40Z<p>Romjerome: /* Examples */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|600px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (town, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|left|200px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
{{-}}<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either check all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also a {{man button|Help}} button to see this page.<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|left|100px|Nothing really wrong (free textual) form, but could be improved.]]<br />
<br />
{{-}}<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|thumb|left|150px|Autotitle enabled.]]<br />
[[File:Checkpt_columns_fr.png|thumb|right|150px|checked by default.]]<br />
* You filled the place name with auto-title support (see Display item into Preferences dialog)<br />
but the tool detects a possible issue.<br />
<br />
[[File:Checkpt_legacy_fr.png|thumb|left|150px|Duplicate textual value on legacy field.]]<br />
* You disable auto-title support and see that an hard-coded place title exists.<br />
It remains from old database model or after some importations<br />
<br />
This field might be empty as gramps does well the job.<br />
<br />
[[File:Checkpt_free_title_fr.png|thumb|left|150px|Lazy textual place value on seizure or after an import.]]<br />
[[File:Checkpt_DB_remain_fr.png|thumb|right|150px|What is the best place value? With ou without auto-title and hierarchy support?]]<br />
* You have inconsistencies on place filling, the free form does not let you properly display an efficient place title, and gramps displayer does a better job. <br />
<br />
The tool will list the problem, but let you select the line and use one of the options available.<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90216Addon:CheckPlaceTitles2022-01-31T12:50:08Z<p>Romjerome: /* In french */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|600px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (town, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|left|200px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
{{-}}<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either check all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also a {{man button|Help}} button to see this page.<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|left|100px|Nothing really wrong (free textual) form, but could be improved.]]<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|thumb|left|150px|Autotitle enabled.]]<br />
[[File:Checkpt_columns_fr.png|thumb|right|150px|checked by default.]]<br />
* You filled the place name with auto-title support (see Display item into Preferences dialog)<br />
but the tool detects a possible issue.<br />
<br />
[[File:Checkpt_legacy_fr.png|thumb|left|150px|Duplicate textual value on legacy field.]]<br />
* You disable auto-title support and see that an hard-coded place title exists.<br />
It remains from old database model or after some importations<br />
<br />
This field might be empty as gramps does well the job.<br />
<br />
[[File:Checkpt_free_title_fr.png|thumb|left|150px|Lazy textual place value on seizure or after an import.]]<br />
[[File:Checkpt_DB_remain_fr.png|thumb|right|150px|What is the best place value? With ou without auto-title and hierarchy support?]]<br />
* You have inconsistencies on place filling, the free form does not let you properly display an efficient place title, and gramps displayer does a better job. <br />
<br />
The tool will list the problem, but let you select the line and use one of the options available.<br />
<br />
{{-}}<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90215Addon:CheckPlaceTitles2022-01-31T12:49:47Z<p>Romjerome: /* In french */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|600px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (town, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|left|200px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
{{-}}<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either check all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also a {{man button|Help}} button to see this page.<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|thumb|left|150px|Autotitle enabled.]]<br />
[[File:Checkpt_columns_fr.png|thumb|right|150px|checked by default.]]<br />
* You filled the place name with auto-title support (see Display item into Preferences dialog)<br />
but the tool detects a possible issue.<br />
<br />
[[File:Checkpt_legacy_fr.png|thumb|left|150px|Duplicate textual value on legacy field.]]<br />
* You disable auto-title support and see that an hard-coded place title exists.<br />
It remains from old database model or after some importations<br />
<br />
This field might be empty as gramps does well the job.<br />
<br />
[[File:Checkpt_free_title_fr.png|thumb|left|150px|Lazy textual place value on seizure or after an import.]]<br />
[[File:Checkpt_DB_remain_fr.png|thumb|right|150px|What is the best place value? With ou without auto-title and hierarchy support?]]<br />
* You have inconsistencies on place filling, the free form does not let you properly display an efficient place title, and gramps displayer does a better job. <br />
<br />
The tool will list the problem, but let you select the line and use one of the options available.<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|left|100px|Nothing really wrong (free textual) form, but could be improved.]]<br />
<br />
{{-}}<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90214Addon:CheckPlaceTitles2022-01-31T12:48:02Z<p>Romjerome: /* The tool */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|600px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (town, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|left|200px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
{{-}}<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either check all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also a {{man button|Help}} button to see this page.<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|thumb|left|150px|Autotitle enabled.]]<br />
[[File:Checkpt_columns_fr.png|thumb|right|150px|checked by default.]]<br />
* You filled the place name with auto-title support (see Display item into Preferences dialog)<br />
but the tool detects a possible issue.<br />
<br />
[[File:Checkpt_legacy_fr.png|thumb|left|150px|Duplicate textual value on legacy field.]]<br />
* You disable auto-title support and see that an hard-coded place title exists.<br />
It remains from old database model or after some importations<br />
<br />
This field might be empty as gramps does well the job.<br />
<br />
[[File:Checkpt_free_title_fr.png|thumb|left|150px|Lazy textual place value on seizure or after an import.]]<br />
[[File:Checkpt_DB_remain_fr.png|thumb|right|150px|What is the best place value? With ou without auto-title and hierarchy support?]]<br />
* You have inconsistencies on place filling, the free form does not let you properly display an efficient place title, and gramps displayer does a better job. <br />
<br />
The tool will list the problem, but let you select the line and use one of the options available.<br />
<br />
<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90213Addon:CheckPlaceTitles2022-01-31T12:47:25Z<p>Romjerome: /* The pass */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|600px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (town, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|left|200px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
<br />
{{-}}<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either check all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also a {{man button|Help}} button to see this page.<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|thumb|left|150px|Autotitle enabled.]]<br />
[[File:Checkpt_columns_fr.png|thumb|right|150px|checked by default.]]<br />
* You filled the place name with auto-title support (see Display item into Preferences dialog)<br />
but the tool detects a possible issue.<br />
<br />
[[File:Checkpt_legacy_fr.png|thumb|left|150px|Duplicate textual value on legacy field.]]<br />
* You disable auto-title support and see that an hard-coded place title exists.<br />
It remains from old database model or after some importations<br />
<br />
This field might be empty as gramps does well the job.<br />
<br />
[[File:Checkpt_free_title_fr.png|thumb|left|150px|Lazy textual place value on seizure or after an import.]]<br />
[[File:Checkpt_DB_remain_fr.png|thumb|right|150px|What is the best place value? With ou without auto-title and hierarchy support?]]<br />
* You have inconsistencies on place filling, the free form does not let you properly display an efficient place title, and gramps displayer does a better job. <br />
<br />
The tool will list the problem, but let you select the line and use one of the options available.<br />
<br />
<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90212Addon:CheckPlaceTitles2022-01-31T12:46:45Z<p>Romjerome: /* The tool */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|600px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (town, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|left|200px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
<br />
{{-}}<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either check all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also a {{man button|Help}} button to see this page.<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|thumb|left|150px|Autotitle enabled.]]<br />
[[File:Checkpt_columns_fr.png|thumb|right|150px|checked by default.]]<br />
* You filled the place name with auto-title support (see Display item into Preferences dialog)<br />
but the tool detects a possible issue.<br />
<br />
[[File:Checkpt_legacy_fr.png|thumb|left|150px|Duplicate textual value on legacy field.]]<br />
* You disable auto-title support and see that an hard-coded place title exists.<br />
It remains from old database model or after some importations<br />
<br />
This field might be empty as gramps does well the job.<br />
<br />
[[File:Checkpt_free_title_fr.png|thumb|left|150px|Lazy textual place value on seizure or after an import.]]<br />
[[File:Checkpt_DB_remain_fr.png|thumb|right|150px|What is the best place value? With ou without auto-title and hierarchy support?]]<br />
* You have inconsistencies on place filling, the free form does not let you properly display an efficient place title, and gramps displayer does a better job. <br />
<br />
The tool will list the problem, but let you select the line and use one of the options available.<br />
<br />
<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90211Addon:CheckPlaceTitles2022-01-31T12:46:30Z<p>Romjerome: /* The tool */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|600px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (town, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|right|200px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
<br />
{{-}}<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either check all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also a {{man button|Help}} button to see this page.<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|thumb|left|150px|Autotitle enabled.]]<br />
[[File:Checkpt_columns_fr.png|thumb|right|150px|checked by default.]]<br />
* You filled the place name with auto-title support (see Display item into Preferences dialog)<br />
but the tool detects a possible issue.<br />
<br />
[[File:Checkpt_legacy_fr.png|thumb|left|150px|Duplicate textual value on legacy field.]]<br />
* You disable auto-title support and see that an hard-coded place title exists.<br />
It remains from old database model or after some importations<br />
<br />
This field might be empty as gramps does well the job.<br />
<br />
[[File:Checkpt_free_title_fr.png|thumb|left|150px|Lazy textual place value on seizure or after an import.]]<br />
[[File:Checkpt_DB_remain_fr.png|thumb|right|150px|What is the best place value? With ou without auto-title and hierarchy support?]]<br />
* You have inconsistencies on place filling, the free form does not let you properly display an efficient place title, and gramps displayer does a better job. <br />
<br />
The tool will list the problem, but let you select the line and use one of the options available.<br />
<br />
<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90210Addon:CheckPlaceTitles2022-01-31T12:45:55Z<p>Romjerome: /* The tool */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|600px|Inconsistency with titles and place name handling.]]<br />
<br />
{{-}}<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (town, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|right|300px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either check all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also a {{man button|Help}} button to see this page.<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|thumb|left|150px|Autotitle enabled.]]<br />
[[File:Checkpt_columns_fr.png|thumb|right|150px|checked by default.]]<br />
* You filled the place name with auto-title support (see Display item into Preferences dialog)<br />
but the tool detects a possible issue.<br />
<br />
[[File:Checkpt_legacy_fr.png|thumb|left|150px|Duplicate textual value on legacy field.]]<br />
* You disable auto-title support and see that an hard-coded place title exists.<br />
It remains from old database model or after some importations<br />
<br />
This field might be empty as gramps does well the job.<br />
<br />
[[File:Checkpt_free_title_fr.png|thumb|left|150px|Lazy textual place value on seizure or after an import.]]<br />
[[File:Checkpt_DB_remain_fr.png|thumb|right|150px|What is the best place value? With ou without auto-title and hierarchy support?]]<br />
* You have inconsistencies on place filling, the free form does not let you properly display an efficient place title, and gramps displayer does a better job. <br />
<br />
The tool will list the problem, but let you select the line and use one of the options available.<br />
<br />
<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90209Addon:CheckPlaceTitles2022-01-31T12:43:05Z<p>Romjerome: /* In french */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|300px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (town, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|right|300px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either check all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also a {{man button|Help}} button to see this page.<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|thumb|left|150px|Autotitle enabled.]]<br />
[[File:Checkpt_columns_fr.png|thumb|right|150px|checked by default.]]<br />
* You filled the place name with auto-title support (see Display item into Preferences dialog)<br />
but the tool detects a possible issue.<br />
<br />
[[File:Checkpt_legacy_fr.png|thumb|left|150px|Duplicate textual value on legacy field.]]<br />
* You disable auto-title support and see that an hard-coded place title exists.<br />
It remains from old database model or after some importations<br />
<br />
This field might be empty as gramps does well the job.<br />
<br />
[[File:Checkpt_free_title_fr.png|thumb|left|150px|Lazy textual place value on seizure or after an import.]]<br />
[[File:Checkpt_DB_remain_fr.png|thumb|right|150px|What is the best place value? With ou without auto-title and hierarchy support?]]<br />
* You have inconsistencies on place filling, the free form does not let you properly display an efficient place title, and gramps displayer does a better job. <br />
<br />
The tool will list the problem, but let you select the line and use one of the options available.<br />
<br />
<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90208Addon:CheckPlaceTitles2022-01-31T12:42:14Z<p>Romjerome: /* In french */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|300px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (town, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|right|300px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either check all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also a {{man button|Help}} button to see this page.<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|thumb|left|150px|Autotitle enabled.]]<br />
[[File:Checkpt_columns_fr.png|thumb|right|150px|checked by default.]]<br />
* You filled the place name with auto-title support (see Display item into Preferences dialog)<br />
but the tool detects a possible issue.<br />
<br />
[[File:Checkpt_legacy_fr.png|thumb|left|150px|Duplicate textual value on legacy field.]]<br />
* You disable auto-title support and see that an hard-coded place title exists.<br />
It remains from old database model or after some importations<br />
<br />
This field might be empty as gramps does well the job.<br />
<br />
[[File:Checkpt_free_title_fr.png|thumb|left|150px|Lazy textual place value on seizure or after an import.]]<br />
[[File:Checkpt_DB_remain_fr.png|thumb|right|150px|What is the best place value? With ou without auto-title and hierarchy support?]]<br />
* You have inconsistencies on place filling, the free form does let you properly display an efficient place title, but gramps displayer does a better job. <br />
<br />
The tool will list the problem, but let you select the line and use one of the options available.<br />
<br />
<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90207Addon:CheckPlaceTitles2022-01-31T12:41:39Z<p>Romjerome: /* In french */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|300px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (town, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|right|300px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either check all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also a {{man button|Help}} button to see this page.<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|thumb|left|150px|Autotitle enabled.]]<br />
[[File:Checkpt_columns_fr.png|thumb|right|150px|checked by default.]]<br />
* You filled the place name with auto-title support (see Display item into Preferences dialog)<br />
but the tool detects a possible issue.<br />
<br />
[[File:Checkpt_legacy_fr.png|thumb|left|150px|Duplicate textual value on legacy field.]]<br />
* You disable auto-title support and see that an hard-coded place title exists.<br />
It remains from old database model or some importations<br />
<br />
This field might be empty as gramps does well the job.<br />
<br />
[[File:Checkpt_free_title_fr.png|thumb|left|150px|Lazy textual place value on seizure or after an import.]]<br />
[[File:Checkpt_DB_remain_fr.png|thumb|right|150px|What is the best place value? With ou without auto-title and hierarchy support?]]<br />
* You have inconsistencies on place filling, the free form does let you properly display an efficient place title, but gramps displayer does a better job. <br />
<br />
The tool will list the problem, but let you select the line and use one of the options available.<br />
<br />
<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjeromehttps://blog.gramps-project.org/wiki/index.php?title=Addon:CheckPlaceTitles&diff=90206Addon:CheckPlaceTitles2022-01-31T12:41:23Z<p>Romjerome: /* In french */</p>
<hr />
<div>{{Third-party plugin}}<br />
<br />
The {{man label|CheckPlaceTitles}} tool brings up a way for checking current place titles.<br />
<br />
A place object needs a name. Title is the legacy content and the label on Place Editor.<br />
<br />
We can let gramps managing the title according our preferences and data : a dynamic and smart display.<br />
<br />
* Data migration : the legacy place title can generate confusions and empty place title should be the default design with auto-title enabled.<br />
<br />
==The tool==<br />
<br />
[[File:Checkpt_columns_fr.png|thumb|right|300px|Inconsistency with titles and place name handling.]]<br />
<br />
===The pass===<br />
<br />
One pass will check all place objects whatever type (town, region, country, street, etc.) and will retrieve the current place title, which is related to our preferences set : the displayer.<br />
So, we have :<br />
<br />
* one legacy place title, inherited from previous database and place formatting.<br />
* a dynamic place title, handled by gramps according to our policy, historical data, design, choices and preferences : the auto-title features.<br />
<br />
Once a legacy title does not match current auto-title or is not empty, this can generate some frustrations<br />
and confusions. So, this one pass tool will list entries not matching.<br />
<br />
<br />
[[File:Checkpt_differences_fr.png|thumb|right|300px|895 entries under 929 may be improved because of inconsistency or duplicated information.]]<br />
<br />
===Columns===<br />
<br />
Two columns :<br />
<br />
* the hardcoded and legacy place title, also visible on Place Editor without auto-title support (see Preferences on Display item)<br />
* the displayed title <br />
<br />
===Why radio-buttons are checked?===<br />
<br />
Two status : enable/disable auto-title on Places.<br />
<br />
One check : <br />
<pre>hard-coded legacy place title =/= place display</pre><br />
<br />
According to your preferences, the default selection will either check all entries with differences<br />
or only few (''place title == place display''). <br />
<br />
Keep in my mind that the primary goal of the tool was to check place titles for a complete data migration (legacy title to the smart one). <br />
Any minor difference between the legacy place title and the automatic displayed one will be detected.<br />
<br />
If you had set postal code or an old name for a province, state, building, etc. and now you have more consistency on place names by using place hierarchy, then the pass will list the data.<br />
<br />
{{man note|''Seizure and importations''|Consistency with free plain text field as single place title, was a challenge. We inherited minor differences by setting textual place values without hierarchy and format features. The tool can also help us to point out some of these minor differences.}}<br />
<br />
==Options==<br />
You have three options, available at the bottom : <br />
<br />
*'''clean''' - remove legacy content for place titles<br />
*'''copy''' - copy old place titles to a new note. <br />
*'''tag''' - assign a tag and mark places<br />
<br />
When the {{man button|Apply}} button is clicked, then changes or additions will be made on your selected place objects.<br />
<br />
There is also a {{man button|Help}} button to see this page.<br />
<br />
==Examples==<br />
<br />
{{stub}}<br />
<br />
===In french===<br />
<br />
[[File:Checkpt_autotitle_fr.png|thumb|left|150px|Autotitle enabled.]]<br />
[[File:Checkpt_columns_fr.png|thumb|right|150px|checked by default.]]<br />
* You filled the place name with auto-title support (see Display item into Preferences dialog)<br />
but the tool detect a possible issue.<br />
<br />
[[File:Checkpt_legacy_fr.png|thumb|left|150px|Duplicate textual value on legacy field.]]<br />
* You disable auto-title support and see that an hard-coded place title exists.<br />
It remains from old database model or some importations<br />
<br />
This field might be empty as gramps does well the job.<br />
<br />
[[File:Checkpt_free_title_fr.png|thumb|left|150px|Lazy textual place value on seizure or after an import.]]<br />
[[File:Checkpt_DB_remain_fr.png|thumb|right|150px|What is the best place value? With ou without auto-title and hierarchy support?]]<br />
* You have inconsistencies on place filling, the free form does let you properly display an efficient place title, but gramps displayer does a better job. <br />
<br />
The tool will list the problem, but let you select the line and use one of the options available.<br />
<br />
<br />
<br />
<br />
[[Category:Plugins]]<br />
[[Category:Tools]]</div>Romjerome