Difference between revisions of "GEPS 041: New Selector"

From Gramps
Jump to: navigation, search
(See also)
m (Add some new bug report references)
Line 258: Line 258:
  
 
=== Others ===
 
=== Others ===
 +
*{{bug|9738}}: Select person dialog opens always expanded
 
*{{bug|9700}}: Select Place search & Source/Citation hierarchy should NOT automatically open
 
*{{bug|9700}}: Select Place search & Source/Citation hierarchy should NOT automatically open
 
*{{bug|9315}}: <s>[Regression]: filter set by default on selector is ignored on load (_init_)</s>  
 
*{{bug|9315}}: <s>[Regression]: filter set by default on selector is ignored on load (_init_)</s>  
Line 264: Line 265:
 
*{{bug|7536}}: <s>Events model does not have 8 columns</s>
 
*{{bug|7536}}: <s>Events model does not have 8 columns</s>
 
*{{bug|7514}}: <s>Searching on Listviews is VEEERYYY slow and typing echo is scrambled</s>
 
*{{bug|7514}}: <s>Searching on Listviews is VEEERYYY slow and typing echo is scrambled</s>
 +
*{{bug|7004}}: Only Event and Family Editors are checking if data_has_changed on save()
 
*{{bug|5032}}: <s>Report selection logic</s>
 
*{{bug|5032}}: <s>Report selection logic</s>
 
*{{bug|3653}}: <s>Manage Family Trees Window shows as 'last modified' the time stamp of generating the tree</s>
 
*{{bug|3653}}: <s>Manage Family Trees Window shows as 'last modified' the time stamp of generating the tree</s>

Revision as of 07:55, 14 December 2016

What should be part of the Selector?

What is the need?

  1. Select one record (object) via the Graphical User Interface
  2. Display main data, for letting the user make the selection
  3. Usability and consistency
  4. Search and filter features

Screenshots

Person selector

Family selector


Usage, goal and Usability

  1. Selection
  2. Edition

Additional features and related concepts

  1. Reports
  2. Filtering for selecting a group of records (objects)
  3. Navigation, history and active objects
  4. Runtime and performance
  5. Selection expected by the user, marked and tagged objects

Filter vs. Search

There are two ways to find data in Gramps: Search and Filter.

  • The Search will only match what is visible.
  • Filters are not limited to what you see on the screen, but looks at the actual data.

See some filters for more details.

Search Bar

The current design of the Search bar lets us find visible data on active column. The Search Bar is often available on selectors.

Set of filter rules

For now, some selectors, on reports and on Family Editor, provide a fast filter, by default.

The Search bar is disabled and an additional Show all button is available at the bottom of the dialog.

These windows are trying to provide a quick and common selection of people.

e.g., filtered by gender on Family Editor, or bookmarked people on reports.

Mother selector via fast filtering and 'Show all' button at the bottom


Interactive Search

For limiting a gtk issue on Search field, gramps42 has it own interactive search widget.

Just write the first letters of the word on the dialog, and the cursor will try to find this word.

Like the Find shortcut box, available with CTRL+F or CMND+F.

Limits on current selectors

  1. Time for search
  2. Performance
  3. Few fast filter rules, by default
  4. Consistency, mixup of features and widgets
Gramps-notes.png
Note, there was a Gtk SearchEntry bug (latency and collapsed seizure) limiting a good search match: max_length(3).

Fixed since gramps 4.2.0, see bug report 1450.

Proposals

Optional proposals.

Search and filter on new selector

Displayed columns

Current Selectors:

Selector Columns and search keys Interactive Search key
Person Name, ID, Gender, Birth Date, Birth Place, Death Date, Death Place, Spouse, Last Change Name
Family ID, Father, Mother, Last Change ID
Event Type, Main Participants, Date, Place, Description, ID, Last Change Type
Place Name, ID, Type, Title, Last Change Name
Source Title, Author, ID, Last Change Title
Citation Source: Title or Citation: Volume/Page, ID, Last Change Source: Title
Repository Title, ID, Last Change Title
Media Title, ID, Type, Last Change Title
Note Preview, ID, Type, Tags, Last Change Preview

New Selectors:

Selector Columns Interactive Search key Search keys with regex support
Person Name, ID, Gender, Birth Date, Birth Place, Death Date, Death Place, Spouse, Last Change Name Name, ID, Gender, Birth Date, Birth Place, Death Date, Death Place, Spouse
Family ID, Father, Mother, Last Change ID ID, Father, Mother
Event Type, Main Participants, Date, Place, Description, ID, Last Change Type Type, Main Participants, Date, Place, Description, ID
Place Name, ID, Type, Title, Last Change Name Name, ID, Type, Title
Source Title, Author, ID, Last Change Title Title, Author, ID
Citation Source: Title or Citation: Volume/Page, ID, Last Change Source: Title Source: Title or Citation: Volume/Page, ID
Repository Title, ID, Last Change Title Title, ID
Media Title, ID, Type, Last Change Title Title, ID, Type
Note Preview, ID, Type, Tags, Last Change Preview Preview, ID, Type, Tags

Fast filter by default

Ability to have a fast filter with the last active objects and bookmarked objects.

Some experimentations have been made on feature request 5024.

Current selector ecosystem already provides this ability.

See Person selector on reports and Father/Mother selector on Family Editor.

Gramps-notes.png
On gramps 4.2.2, there was a bug 9315 on the Show all/Search load.

Clever search for each selector

See selector and query on gramps-connect.

Search query and filter on gramps_connect

Ability to also use one search field matching on multiple columns (names, ID, dates, etc ...)

Search on gramps_connect

See also search on filter rules editor

Interface for handling and selecting custom filters on selectors

See mockups and new features since gtk+ 3.20.

Additional proposals

  1. Replace the Show all check box at the bottom by a Switcher at the top of the dialog.

GtkSwitcher

History

  • Provide dynamic groups of objects based on the date of the last edition.
    • via API
time = object.get_change_time()
last = today
group1 = from today to 1 week back
group2 = from today to 2 weeks back
group3 = from today to 1 month back
group4 = from today to 6 months back
group5 = more than 6 months back
    • via Filter
sfilter.add_rule(rules.event.ChangedSince(["Today date", ""]))

where "Today date" uses ISO-date format.

  • Displayed items can be sorted by change time

See also

Feature requests

  • 9837: More than 10 items in 'Latest Change' Gramplet list
  • 9814: Expanded Place tree when selecting existing place
  • 9276: Need ability to search alternate place names when selecting place
  • 8762: Last Used places in the Select Place window
  • 8743: Search for place needs more options
  • 7342: Show "Main Participants" with events
  • 6558: Optimize the use of citations
  • 6332: Move home person to bookmark menu
  • 5142: Keep selected the last selected source
  • 5037: [Reports] More names listed in the person/family selector box
  • 5024: By default, to display [Last Recent Used] and [bookmarked] objects on selectors
  • 3655: "last modified" timestamp changes everytime a tree is accessed

Others

  • 9738: Select person dialog opens always expanded
  • 9700: Select Place search & Source/Citation hierarchy should NOT automatically open
  • 9315: [Regression]: filter set by default on selector is ignored on load (_init_)
  • 9314: Two selectors on Places report can generate a confusion
  • 9028: Find is broken when used in the Family selector
  • 7536: Events model does not have 8 columns
  • 7514: Searching on Listviews is VEEERYYY slow and typing echo is scrambled
  • 7004: Only Event and Family Editors are checking if data_has_changed on save()
  • 5032: Report selection logic
  • 3653: Manage Family Trees Window shows as 'last modified' the time stamp of generating the tree
  • 1450: Incremental Gtk Search is broken on View