Skip to content

Basket for custom selection proposal

François Prunayre edited this page Dec 6, 2016 · 11 revisions

Currently GeoNetwork only support simple & single selection by session. In order to improve that mechanism, this proposal add customizable basket feature.

Multiple selections

Instead of having only one selection in session tagged "metadata" and used by all selection pages (eg. selection in main search, selection in editor board, in batch process) which can currently be mixed, improve that to be able to have multiple session selection at a time.

Each selection page, can provide an optional unique bucket name and as such do not mix selection from other pages.

API change:

  • A new operation is added in order to delete all selection in a session DELETE /api/selections

Session selection are cleared when session ends.

Add to map selection

Based on the multiple selection support, a new capability is added to the selection menu in order to select one or more records in the search result pages and then add those records to the map in one click.

On add selection to map click, the list of WMS layers from all selected records are retrieved and then sent to the map.

Persistent selection

Currently selection is cleared when user clear selection or when session ends.

This feature allows to persist a selection for a user under a defined name. This is useful to remember a set of records that user use regularly.

By default, the following persistent selections are added:

  • WatchingRecords selection

  • MyFrequentlyUsedRecords selection

A new table is added selections

  • type
  • label (optional - multilingual)
  • metadataId
  • userId

How to share a selection ?

API:

  • GET /api/selections/persistent: Return the list of persistent selection
  • GET /api/selections/persistent/selectionId: Return the list of records for current user
  • GET /api/selections/persistent/selectionId/userId: Return the list of records for requested user
  • PUT /api/selections/persistent/selectionId/userId: Add records to requested user selection
  • DELETE /api/selections/persistent/selectionId/userId: Delete records from requested user selection

Watching selection

This selection is a daily task which warn user by email about records he want to be notified about.

Task runs once a day. Task execution is defined at compile time with:

TODO

When connected, user can add one or more records to his/her watch list.

  • Add selection to watch list in the search results

  • Add current record to watch list in the record page

From the user page, each user can manage his/her watch list.

  • View list of records

  • Remove all / one or more records

== This should be part of the API apps ? ==

The notification email contains:

  • List to modified records since last execution

  • Link to the search page with all modified records

The mail makes use of http://schema.org/ViewAction in order to provide quick links in messaging systems.

MyFrequentlyUsedRecords selection

This selection allows user to register a list of preferred records. This list is accessible from the home page and provides quick access to a set of records.

When connected, user can add one or more records to his/her watch list.

  • Add selection to watch list in the search results

  • Add current record to watch list in the record page

From the user page, each user can manage his/her watch list.

Clone this wiki locally