Version 9 (modified by 14 years ago) ( diff ) | ,
---|
Sub-templates
Date | 2011/05/25 |
Contact(s) | Francois, Simon |
Last edited | |
Status | draft |
Assigned to release | 2.7.0 |
Resources | Available |
Ticket | #XYZ |
Overview
This proposal aims to provide the capability to handle sub-templates. Sub-templates are XML fragment of metadata records.
Example for a point of contact in ISO19139:
<?xml version="1.0" encoding="UTF-8"?> <gmd:pointOfContact xmlns:gts="http://www.isotc211.org/2005/gts" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml"> <gmd:CI_ResponsibleParty> <gmd:individualName> <gco:CharacterString>NAME</gco:CharacterString> </gmd:individualName> <gmd:organisationName> <gco:CharacterString>Name of the responsible organization</gco:CharacterString> </gmd:organisationName> <gmd:positionName> <gco:CharacterString>Function performed by the responsible party</gco:CharacterString> </gmd:positionName> <gmd:role> <gmd:CI_RoleCode codeList="./resources/codeList.xml#CI_RoleCode" codeListValue="pointOfContact"/> </gmd:role> </gmd:CI_ResponsibleParty> </gmd:pointOfContact>
Sub-templates are designed to be inserted into metadata records using 2 mode:
- one time link with copy/paste action
- permanent link with XLink.
The copy/pase mode allows user to add a fragment which could be modified. This is useful because it provides default values or editing instructions which could be helpful to fill in the appropriate values (eg. a default quality report). It allows also to add a fragment with real value and change them.
The XLink mode create a dynamic link between the metadata record and the fragment. Editor can't edit such a fragment from the editor. The sub-template manager should be used.
Proposal Type
- Type: Metadata
- App: GeoNetwork
- Module: Admin, Editor
Links
- Documents:
- Email discussions:
- Other wiki discussions:
Voting History
- Vote proposed by on , result was
Proposal
Sub-templates are:
- XML document
- stored in the Metadata table with
- value 's' for the template column (reminder: 'y' is for template, 'n' is for metadata)
- root element is stored in the root column. It allows us to know the type of sub-templates (and where it could be inserted in an existing record)
- schema is defined like metadata or template documents
- indexed using Lucene identified by field _isTemplate='s'
- imported through the metadata record import administration page ?
- similar to metadata document for privileges management
In the user interface, sub-templates are accessible through:
- a sub-templates manager in the administration
- a popup selection mechanism in the metadata editor (like CRS, Thesaurus)
Types of sub-templates:
- contact
- ... extent ?
Manage sub-templates
A service is added to return the list of available sub-templates available.
- getTypes method: return the list of available sub-templates available
Sub-templates actions:
- insert : Use the metadata insert form to create a sub-template
- update/delete : Use the sub-template manager
- search : Use any search services with _isTemplate='s'
- privileges : Define privileges for the sub-template.
Sub-template could be edited in simple,advanced and XML mode.
Using sub-templates in the editor
TODO : basically using similar popup like CRS or Thesaurus
- full text search
- select one or more elements
- add (as XLink or using simple copy)
- could this be generic ?
- add selector according to the types available in the catalogue (using the _root info) ?
Questions:
- Sub template for simple element ? eg. gmd:abstract
- Model
- Root element :
- how-to manage same types ? eg. gmd:pointOfContact, gmd:contact, gmd:citedResponsibleParty, gmd:distributorContact elements are all gmd:CI_ResponsibleParty. Root element is not enough to be able to decide where a sub-template could be inserted. For the contact gmd:CI_ResponsibleParty would be a better type identifier.
- qualifiedName in the root column : maybe namespace is better ?
- Root element :
- Search
- Index
- do we need more than full text indexing ?
- BriefFormat : defined in metadata-iso19139 using a subtemplate XSL mode
- for extent, how to define a title ? using description which is not mandatory ?
- Index
- Editor
- When adding a contact as sub-template, editor want to set his role (which could be different according to the record) ? How to set this as a parameter to the sub-template ?
- Manage
- should we use metadata import page to import sub template ? or a custom one ?
- how to autodetect schema for templates ? - maybe we need a specific import page to set schema value. or if user set subtemplate for the type, then schema is mandatory ?
- deleting a subtemplate and lost XLinks - how to manage ?
- privileges:
- using a not public subtemplate in a public record. All sub template must be public (to be accessible by XLink resolver at least) ?
Future feature:
- Capability to extract subtemplate from existing record (cf. ReusableObjectStrategy in geocat.ch)?
- Multilingual subtemplate?
Backwards Compatibility Issues
None.
New libraries added
None.
Participants
- Francois Prunayre
- Simon Pigot
Attachments (3)
- sub-template-using-xlinks-disabled.png (19.5 KB ) - added by 14 years ago.
-
sub-template-manager.png
(63.1 KB
) - added by 14 years ago.
Draft screenshot
- sub-template-selector.png (64.5 KB ) - added by 14 years ago.
Download all attachments as: .zip