GEPS 006: Prototype

From Gramps
Jump to: navigation, search


The purpose of the prototype is to investigate a hierarchical location structure within Gramps.

The code is not production quality and probably contains bugs, but it should be sufficient to evaluate the new user interface and database design.

The current design is not suitable for inclusion into Gramps. I have started work on a new prototype.

Two new experimental widgets have been created:

  • A text-based location selector
  • A method for hierarchical data entry

Data Structure

A new table of Locations has been created. This holds physical Locations in a hierarchical format.

A Location contains the following fields:

  • Name
  • Type
  • Parent
  • Latitude
  • Longitude

It is intended that the Location Type will contain some additional options to provide more accurate descriptions.

A Place now references a Location rather than holding physical location details directly.

The Location table could be pre-loaded with data from an external source to act as a gazeteer.

User Interface

Location View

A new Location view provides the usual functionality.

Geps006 location view.png

Location Editor

A Location editor allows Locations to be added and edited.

Geps006 location editor.png

Place View

The Place view has been changed to display a Location column.

Geps006 place view.png

The Filter sidebar now contains a new experimental widget to select Places that match a Location.

Geps006 selector.png

After the first three characters of a Location have been entered, matching Locations are displayed in a popup. As the user types into the entry widget the list is updated.

Place Editor

The Place editor has been changed to allow a new experimental method of adding and editing a Location.

Geps006 place editor.png

A list of combo entry boxes display a hierarchical representation of a Location. As each level is selected then the next level is made active.

Geps006 place editor 2.png

At each level, a list of available entries is presented. The user can select an existing entry or create a new one.

Using the Prototype

A subversion branch has been created:

The prototype will upgrade an existing database. No import or export plugins work with the new data structure.

CAUTION: The prototype will change the format of your database. This is not recoverable. Only use with test data.

A new table of Locations will be populated from the data in the Place table of your database.

You will need to delete the .ini files for your place views.

rm .gramps/gramps40/Place*.ini

Not Yet Implemented

The following functionality has not yet been implemented in the prototype:

  • Import/Export
  • Merging Locations when a tree is re-parented
  • Map Services
  • Drag & Drop
  • Navigation
  • Bookmarks

Technical Issues

  • Performance of filters.

Feature Requests

  • 6213: Place Hierarchy
  • 2196: Some changes to the Places viewer would be helpful
  • 4231: Add Municipality to places data
  • 4230: Places tree view gives confusing place names
  • 2311: Implement a place database ...
  • 6230: Keep secondary place title somewhere after merging two place objects