Skip to content

Proposal Edit A Set Of Records

François Prunayre edited this page Nov 23, 2015 · 18 revisions
Date 2015-08-27 Contacts Arnaud De Groof, François Prunayre, Vincent Bombaerts
Status On going Release 3.1
Resources Available Ticket #
Source code https://github.com/fxprunayre/core-geonetwork/tree/improvement/edit-a-set-of-record
Funding Metawal

Overview

Batch editor provides the capability to update a set of records at once.

Proposal

Editing a set of records

Selecting records to edit

Editor, Reviewers and Administrator can edit a set of records using the batch editing menu.

Accessing the batch editor

First, the user select a set of records to update by running searches and selecting the records to be edited.

Step 1

User can restrict to his records only, can use facets for filtering or can run full text search. Select records by clicking the checkbox or use the selection menu to select all, all in page or clear selection. Click the view selection only to display the current selection only.

Search is restricted to:

  • editable records for current user and
  • template and metadata (ie. no directory entry).

The set of records could also be a predefined search (See https://github.com/geonetwork/core-geonetwork/wiki/Proposal-Save-Your-Search - this is not part of this proposal).

Step 1

Editing records

After selection, user can define the changes to be applied to the set of records.

Step 2

The fields that can be updated for ISO19139 records are:

  • Identification
  • title: Update existing title.
  • keyword: Insert a new keyword in the first descriptiveKeyword block.
  • topic category: Insert a new topic category.
  • geographic extent: Insert a new geographic extent.
  • resource language: Insert a new resource language.
  • parent identifier: Insert, or replace if existing, the parent identifier.
  • Constraints
  • access constraints: Insert a new access constraint.
  • lineage: Replace current lineage or insert a new one.
  • Contact
  • resource contact: Add a new one.
  • distributor: Add a new one.
  • metadata contact: Add a new one.
  • Metadata
  • metadata language: Replace current metadata language or insert a new one.

Some fields are available in all schemas, some don't. How to highlight what will be supported ?

2 types of fields are distinguish and supported:

  • simple text field eg. gco:CharacterString in ISO19139
  • complex XML field ie. XML fragment is inserted, eg. pointOfContact in ISO19139

Complex field are only supported when a directory is available (eg. contact).

ISO19139 and ISO19115-3 multilingual metadata are not supported using the form (may be using the advanced mode).

Updates are made using the following rule:

  • If the field is mandatory, then the value replace the current one in the metadata record
  • If the field allows multiple element, then the new value is added in the metadata record

The configuration is define per standard. It defines for each field:

  • XPath of the element to be updated
  • Field identifier
  • Section (to group a set of field). eg. identification

TODO

  • Where ? in config-editor.xml ?
  • Add an advanced mode where user can define manually XPath and value
  • Load and save configuration for the advanced mode ?
  • Add a search and replace feature ?
  • Add a drop field feature ?

Applying changes

When changes defined, user can apply them to the selection.

Step 3

A report is displayed listing the number of records updated, with errors.

Configuration

TODO

Also covered in that proposal

  • Selection service is migrated to Spring MVC
  • Selection service provide the list of currently selected records (and not only the number). It allows to have display current selection

Proposal Type

  • Type: UX
  • Module: Editing

Voting History

  • Vote Proposed: ...

Participants

  • Vincent Bombaerts
  • Arnaud De Groof
  • Francois Prunayre
Clone this wiki locally