GEPS 006: Prototype
Contents
Overview
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.
Location Editor
A Location editor allows Locations to be added and edited.
Place View
The Place view has been changed to display a Location column.
The Filter sidebar now contains a new experimental widget to select Places that match a Location.
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.
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.
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:
https://svn.code.sf.net/p/gramps/code/branches/geps/gep-006-locations
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.