= Define parent/child, service/dataset and feature catalogue/dataset relation between metadata records = || '''Date''' || 2009/12/03 || || '''Contact(s)''' || Francois, Mathieu || || '''Last edited''' || [[Timestamp]] || || '''Status''' || Draft || || '''Assigned to release''' || 2.5 || || '''Resources''' || GĂ©oSource [BRGM], geocat.ch [swisstopo] || || '''Ticket''' || #176 || == Overview == Metadata records could be related together based on ISO elements. Examples: * parent identifier * operates on element for service metadata This proposal define a user interface to set 3 types of relation: 1. dataset metadata / service metadata (including a link to the data based on WMS layer name) 2. parent / child relation 3. feature catalogue / dataset metadata === View mode === In view mode, related metadata records are displayed on the top right corner. The panel display: * parent/child relation using a tree representation (parent/current record/children) * related services (if current record is a dataset) * related datasets (if current record is a service) * related feature catalogues (if current record is a dataset) [[Image(relation-view-mode.png)]] The panel allows navigation from one record to the other. Only metadata records visible to current user are displayed (ie. a metadata could be linked to another one but not displayed because not published for current user). === Editing user interface === Same panel with editing functionalities is displayed. [[Image(relation-edit-mode.png)]] ==== Link to a parent ==== The parent identifier field is modified to display a metadata selection panel to search for a parent record and set the parent identifier using the selected record UUID. [[Image(relation-link-parent.png)]] ==== Link a dataset to a service ==== Linking a dataset to a service or a service to a dataset is made using the following panel: [[Image(relation-link-service.png)]] Editor could define a layer name using the combo box (which try to retrieve layers from the WMS GetCapabilities document) or typing the layer name in the text field. This information is required to display the layer using the map viewer. A proxy need to be set in order to face the cross domain XHR issue (in config-gui.xml). Relation is stored in : {{{ }}} and (according to ISO CSW profil) {{{ }}} Only relation between records in the same catalogue are handle. Use of XLink attributes are not supported to create relation between datasets and services. ==== Link to a feature catalogue ==== Feature catalogues are records stored in ISO 19110 standard. Relation between the 2 records is stored in the relation table of the database. === Proposal Type === * '''Type''': Editor * '''App''': !GeoNetwork * '''Module''': Editor === Links === * '''Email discussions''': * http://n2.nabble.com/Editing-srv-operatesOn-in-editor-td4420203.html#a4420203 * http://n2.nabble.com/parent-and-child-relationships-tp2020406p2020406.html * http://n2.nabble.com/Parent-and-child-metadata-in-Geonetwork-td2020427.html#a2020427 * '''IRC discussions''': === Voting History === * Vote proposed 2010/01/24 by Francois * +1 Simon * +1 Jeroen * +1 Patrizia * +1 Francois * Comments & enhancements : * The following enhancements has been discussed on the mailing list: * iso19110 record relation using MD_Metadata/contentInfo/MD_FeatureCatalogueDescription/featureCatalogueCitation/CI_Citation. * aggregationInfo (identificationInfo/MD_DataIdentification/aggregationInfo/MD_AggregateInformation ) to represent all relationships * Maybe we should open a ticket for that and search for funding. ---- == Motivations == * INSPIRE requirements * Easy editing * Metadata navigation between related records == Minor fix & improvements == * Added an XSL template to get metadata title from UUID (useful to display title instead of UUIDs) * Fixed indexing of operatesOn, parentUUID relations * Fixed add missing namespace to XML fragments in embedded mode * Improved get parameter to take care of UUID or ID if not present (String id = Utils.getIdentifierFromParameters(params, context);). Used in metadata.show, relation.* == Risks == == Participants == * Mathieu, Francois