Jump to: navigation, search

GEPS 011: Tagging

3,792 bytes added, 18:37, 7 November 2020
Add link to wiki section on tags
{{GEPS-Finished}}{{man menu|'''This proposal has now been [[Category:GEPSGramps_{{man version}}_Wiki_Manual_-_Filters#Tagging|implemented]], and is in GRAMPS 3.3.'''}}
This page is for ===Screenshots=== The following screenshots illustrate the discussion of functionality now available in trunk. [[Image:Screenshot1.png|left|thumb|350px|Fig. 1.1 Tag actions from Edit menu]][[Image:Screenshot2.png|right|thumb|350px|Fig. 1.2 Tag actions from Toolbar button]][[Image:Screenshot3.png|left|thumb|350px|Fig. 1.3 Attach a new tag to a proposed enhancement of GRAMPS by adding tagsmultiple selection]][[Image:Screenshot4.png|right|thumb|350px|Fig. 1.4 Tag selection in the Person Editor]][[Image:Screenshot5.png|left|thumb|350px|Fig. 1.5 Filter on a tag from the Filter Sidebar]][[Image:Screenshot6.png|right|thumb|350px|Fig. 1.6 Tag Organizer]][[Image:Screenshot7.png|left|thumb|350px|Fig. 1.7 Tags column and colored rows]] <br clear="all"/>
== Analogy with mails ==
* '''Notes''': For example "notes in progess", or "notes in german",
* '''Media''': For example "Picture belonging to Uncle Alfred".
Tags have been added to People, Families, Notes and Media.
== Operations with tags ==
can be tagged. The content would be a comma-separated list of the tags
of the objects.
== Prototype ==
'''Update''': The tagging functionality has now been implemented in trunk and the prototype is no longer available. It was intended to demonstrate the functionality of an interface and to investigate some design ideas.
It has the following functionality:
* Edit->Tag menu allows the user to add a tag to a selection of people.
* A toolbar button also allows user to add a tag to a selection of people.
* A Tag selection has been added to the person sidebar filter.
* A Tags column has been added to the person views.
It has the following limitations:
* The prototype allows tagging of people only.
* Row highlighting has not been implemented.
The prototype stores tags as custom attributes with no value. Tags can be added and removed from people by using the standard functionality of the person editor.
== Proposed design ==
=== Data structure === Tags should be stored in a new field on the primary objects. This field should contain a list of strings. The API will need methods to get and set this list field. Storing tags as attributes, as in the prototype, has the following problems: * Only People, Families, Events and Media have attributes, so not all object types can be tagged.* Using attributes for two purposes may be confusing for users.* Attributes will appear on reports and web pages - we don't want Tags to appear on these.* Custom attributes with no value will be regarded as tags.* The performance of the tags column may be slow using attributes.* The size of the attribute type list will grow when tags are used. There also needs to be a new database lookup table to store the tags together with their colors. Because the tags are dependent on the database, this needs to be within the database rather than in an xml or ini file. The tags and their definitions need to be included in the Gramps XML schema. === Interface === The functionality should be the same as that demonstrated by the prototype with the following additions: * A tag maintenance dialog to organize tag names and colors. This could be similar to the "Organize Bookmarks" dialog.* Storing tags in a new field will require new functionality to be added to the editors. === Tag Priority === * When an object has more than one tag, the color of the row in the view will be determined by tag priority.* Tag priority will be defined by the order of the tags in the Tag Organizer. The higher the tag is in the list the higher its priority. === Questions === * Should the new tags replace existing marker functionality? Answer: Yes, markers have been removed in trunk.* A tag will be lost if an object is tagged when its editor is open and then "OK" is clicked in the editor. Do we need to think about this?  ==To be completeddo==*{{bug|5806}} Proposed expansion of tagging for Gramps 3.5 (Assigned:[ Nick Hall] to allow ''tagging to multiple Persons, Sources etc'') [[Category:GEPS|T]]

Navigation menu