= Editing metadata related resources =
|| '''Date''' || 2013-01-02 ||
|| '''Contact(s)''' || Francois Prunayre, Florent Gravin ||
|| '''Status''' || CFV ||
|| '''Assigned to release''' || 2.9.0 ||
|| '''Resources''' || Available (funding Ifremer, PIGMA) ||
|| '''Ticket #''' || #1255 ||
|| '''Github dev branch ''' || https://github.com/fxprunayre/core-geonetwork/tree/improvement/metadata-relation ||
== Overview ==
This proposal aims to improve the way a resource is linked to a metadata in editing mode. Indeed, !GeoNetwork provides multiples ways of adding link to external or internal resources in different places of the editor. We could list:
* in the editor using the binocular to search for a record to link (eg. parentIdentifier, sources, feature catalog, operatesOn, aggregates)
* file upload for thumbnails or online resources
* custom UI for service/dataset link
This proposal provides a main component to view, add or remove the related resources.
The following related resources are managed:
* A thumbnail (linked using a URL or a file to upload)
* A parent metadata record (UUID to the metadata)
* A service metadata record
* A dataset metadata record
* A source dataset
* An online resource
* A feature catalog
* A sibling (See http://trac.osgeo.org/geonetwork/wiki/MetadataSiblings)
This component is only available for ISO19139 records (or ISO19139 profiles) but when related resources are metadata records, those records could be in any of the catalog supported standards (eg. ISO19110 for feature catalog, dublin core).
The relation manager provides a list of related resources and links to remove them.
[[Image(geonetwork-relation-manager.png)]]
New relation could be added using the top right menu:
[[Image(geonetwork-relation-manager-actions.png)]]
=== Proposal Type ===
* '''Type''': GUI Change
* '''App''': !GeoNetwork
* '''Module''': Widgets
=== Links ===
* '''Documents''':
* http://trac.osgeo.org/geonetwork/wiki/MetadataSiblings
* http://trac.osgeo.org/geonetwork/wiki/MetadataRelation
=== Voting History ===
* Vote proposed 08/04/2013
* +1 Emanuele, Francois, Simon
* 0
* -1
== Motivations ==
Make relation management easier.
== Proposal ==
This related resource panel rely on:
* the relation service (to retrieve current relation for a record)
* XSL processing to add or remove a relation
=== Add a thumbnail ===
Two types of thumbnails could be linked to a metadata record:
* an image linked using its URL (the image needs to be published online)
[[Image(geonetwork-add-thumbnails-by-url.png)]]
* an image uploaded in the record data directory. During upload a small thumbnail could be created if requested.
[[Image(geonetwork-add-thumbnails.png)]]
The relation panel allows to quickly remove a thumbnail.
When the image is uploaded, the XML snippet corresponding to the image is the following:
{{{
http://localhost:8080/geonetwork/srv/eng/resources.get?uuid=7e512c38-f916-43ba-8367-85f17dcadca1&fname=thumbnail.jpg
large_thumbnail
jpg
}}}
When linking using a URL, the following XML snippet is inserted
{{{
http://organization.org/images/thumbnail.jpg
}}}
In both cases, the information could be improved or updated using the editor from the advanced view > identification section.
=== Add an online source ===
The relation manager allows to add an online resource element defining the following information:
* URL or a file to upload
* name
* description
* protocol
[[Image(geonetwork-add-simple-online-resource.png)]]
=== Link metadata records ===
=== Add a parent metadata record ===
In order to add a link to a parent metadata record, search for the target record and select the parent metadata to link to the current in editing.
[[Image(geonetwork-add-parents.png)]]
Once added, the following XML fragment is inserted in the metadata record:
{{{
SDN:PRODUCT:1850:Time Series Tributyltin (TBT) in Sediment
}}}
In the editor, the relation could be updated in the metadata section:
[[Image(geonetwork-edit-parents.png)]]
When a record has children records, the update children wizard could be executed (See http://geonetwork-opensource.org/manuals/trunk/eng/users/quickstartguide/new_metadata/index.html#parent-child-relation).
=== Add a sibling ===
ISO Metadata records can be related to another record with different type of relations. The elements in the ISO standard providing those links is the aggregationInfo element. Sibling relationships types can be specified using the initiative type and association type fields. See http://trac.osgeo.org/geonetwork/wiki/MetadataSiblings for more details.
In order to add a sibling link:
* choose a type of association
* choose a type of initiative
* and search for the records to link
[[Image(geonetwork-add-siblings.png)]]
Multiple sibling could be linked to the record in one time defining for each element the association type and initiative type to use:
[[Image(geonetwork-add-multiple-siblings.png)]]
The type of sibling is displayed in the relation manager which allows to quickly remove the relation if needed:
[[Image(geonetwork-add-siblings-ref.png)]]
Once added, the following XML is inserted in the metadata record:
{{{
urn:marine.csiro.au:project:1532
crossReference
project
}}}
=== Add a source dataset ===
In the data quality section, the source dataset could be linked to a record.
Once added, the following XML fragment is inserted in the metadata record:
{{{
}}}
In the editor, the relation could be updated in the data quality section:
[[Image(geonetwork-edit-sources.png)]]
=== Add a feature catalog ===
The feature catalog is used to describe the data model of a dataset using the ISO19110 standards.
In the content information section, the feature catalog could be linked to a record. The relation panel filter ISO19110 record in order to quickly link a feature catalog.
Once added, the following XML fragment is inserted in the metadata record:
{{{
}}}
In the editor, the relation could be updated in the content information section:
[[Image(geonetwork-edit-fcats.png)]]
=== Add a service/dataset ===
See http://geonetwork-opensource.org/manuals/trunk/eng/users/quickstartguide/new_metadata/index.html#metadata-on-dataset-metadata-on-service-relation
== Relation manager widget advanced configuration ==
The relation manager provides some advanced configuration for developpers:
* per schema configuration in order to define which type of relations to handle
{{{
// Define a custom configuration for the iso19139.xyz profile.
resourcesTypesCfg: {
'iso19139.xyz': ['thumbnail', 'fcats', 'sibling'], // only support 3 types of relation
},
}}}
=== Backwards Compatibility Issues ===
None.
=== New libraries added ===
None.
== Risks ==
Everything involves some element of risk....
== Participants ==
* Francois Prunayre
* Florent Gravin (Camptocamp)
* Ifremer
* PIGMA
Installation de coffres-forts, dépannage et entretient de coffre-fort et armoire forte :
[http://www.infosafe.fr/Coffre/CoffresMT/Coffre-fort-ABC.htm coffre-fort homologué]
[http://www.coffre-fort-pro.com coffre-fort]
[http://www.infosafe.fr/Armoirefortedin/Armoirefortedin.htm armoire forte anti-feu]
[http://www.infosafe.fr coffre-fort ignifuge]