= Configurable thesaurus concept selection = || '''Date''' || 2011-10-26 || || '''Contact(s)''' || Francois Prunayre || || '''Status''' || Being discussed, in progress, initial implementation in progress || || '''Assigned to release''' || 2.9.x || || '''Resources''' || Available || || '''Ticket #''' || #XYZ || || '''Github dev branch ''' || https://github.com/fxprunayre/core-geonetwork/commits/feature/registers-transformations || == Overview == This proposal aims to improve keyword selection and extend the use of concept to define other element than keyword (eg. use a concept to add a keyword or an extent). For this, it provides ways to configure: * which thesaurus is available for which fields * which transformation is available (eg. add keywords using gco:CharacterString or XLink). A new customized widget will be created in order to provide multiple ways of adding concepts: === Proposal Type === * '''Type''': GUI Change, Schema Change * '''App''': !GeoNetwork * '''Module''': Schema === Links === * '''Documents''': === Voting History === * Vote not yet proposed. == Motivations == == Proposal == === Adding transformations === XSL transformations mapped raw format for keyword to a XML snippet of the target schema. They are defined per schema plugins in a convert/thesaurus-transformation.xsl. {{{ }}} This transformation file define as many template as required: {{{ ... }}} Naming convention for template: to-{schemaIdentifier}-{outputDescription}. The raw format is the following and remains unchanged with previous !GeoNetwork release: {{{ false 0 Agricultural and aquaculture facilities eng external.theme.inspire-theme GEMET - INSPIRE themes, version 1.0 2008-06-01 theme http://localhost:8080/geonetwork/srv/en/thesaurus.download?ref=external.theme.inspire-theme http://rdfdata.eionet.europa.eu/inspirethemes/themes/22 Agricultural and aquaculture facilities }}} === Using the transformation === A transformation parameter is added to the xml.keyword.get service in order to choose the mapping to use. For example, to create a gmd:descriptiveKeyword section in ISO19139, 3 transformations are defined: * ISO19139 with CharacterString: http://localhost:8080/geonetwork/srv/eng/xml.keyword.get?thesaurus=external.theme.inspire-theme&id=http://rdfdata.eionet.europa.eu/inspirethemes/themes/22,http://rdfdata.eionet.europa.eu/inspirethemes/themes/30&multiple=true&transformation=to-iso19139-keyword * ISO19139 with Anchor: http://localhost:8080/geonetwork/srv/eng/xml.keyword.get?thesaurus=external.theme.inspire-theme&id=http://rdfdata.eionet.europa.eu/inspirethemes/themes/22,http://rdfdata.eionet.europa.eu/inspirethemes/themes/30&multiple=true&transformation=to-iso19139-keyword-with-anchor * ISO19139 with XLink: http://localhost:8080/geonetwork/srv/eng/xml.keyword.get?thesaurus=external.theme.inspire-theme&id=http://rdfdata.eionet.europa.eu/inspirethemes/themes/22,http://rdfdata.eionet.europa.eu/inspirethemes/themes/30&multiple=true&transformation=to-iso19139-keyword-as-xlink * ISO19139 extent element : http://localhost:8080/geonetwork/srv/eng/xml.keyword.get?thesaurus=external.place.regions&id=http://geonetwork-opensource.org/regions%232&multiple=true&transformation=to-iso19139-extent === Define which transformations to use according to the element type === Transformations are available according to element type: {{{ }}} A new service is added to retrieve the list of transformation: * schema.register.get?schema={schemaIdentifier}&element={elementName} === Editor widget for adding elements === Widget configuration: * renderTo : null if popup mode, identifier of the DOM element for inline mode * elementType : element type to edit (eg. gmd:descriptiveKeywords) * transformations : array of transformations (use to override the server configuration) * thesaurus : array of thesaurus (use to override the server configuration) * defaultThesaurus : thesaurus identifier to select by default (null by default) * keywords : Store of select keyword (uri, value, thesaurus, xmin, ymin, xmax, ymax) * lang : search language (default is GUI language) * allowSearch : display search filter or not (default is true) * searchOnLoad : trigger search on load {{{
}}} === Backwards Compatibility Issues === More improvements required: * multilingual metadata === Backwards Compatibility Issues === === New libraries added === None. == Risks == Everything involves some element of risk.... == Participants == * Francois Prunayre * Others?