= Persistent Validation results (originating from [http://nationaalgeoregister.nl Nationaal Georegister]) = || '''Date''' || 2009/09/03 || || '''Contact(s)''' || [http://wiki.osgeo.org/wiki/User:Heikki Heikki Doeleman] || || '''Last edited''' || [[Timestamp]] || || '''Status''' || Motion passed|| || '''Assigned to release''' || 2.5 || || '''Resources''' || The work may be done in the NGR project || == Overview == This proposal is to run validation (XSD+Schematron) every time a metadata is inserted or changed. The result of validation is persisted in the DB. Persistence is required to show the validation status directly (or maybe query on it later, but this is not implemented at this time). This way we can always show the current "validation status" of metadata, e.g. in the search results page.[[BR]][[BR]] === Proposal Type === * '''Type''': Core Change * '''App''': !GeoNetwork * '''Module''': Search engine === Links === * '''Email discussions''': on geonetwork-devel: [http://n2.nabble.com/Proposals-to-include-NGR-functionality-to-GeoNetwork-trunk-td3365623.html#a3365623 "Proposals to include NGR functionality to GeoNetwork trunk"] * '''IRC discussions''': [http://logs.qgis.org/geonetwork/%23geonetwork.2009-09-01.log September 1st, 2009 on GeoNetwork's IRC channel] === Voting History === * Vote proposed September 14th 2009 * Votes: * Patrizia Monteduro +1 * Simon Pigot +1 * François Prunayre +1 * Emanuele Tajariol +1 * Jeroen Ticheler +1 ---- == Motivations == The motivations for these changes are : '''1.''' More information available in search results == Proposal == Validation status is either "valid", "not valid", or "not determined". This last status is the initial validation status when validation has not yet run. Currently the statuses "valid" and "not valid" are shown in the search results. Showing "not determined" as well is a minor change.[[BR]][[BR]] A validation report is also stored in the DB. It contains any XSD or schematron validation messages, a reference to the schematron file that was used, a timestamp, and if applicable a message saying that the metadata profile could not be determined. In addition to Geonetwork's ability to have different metadata schemas, there is support for multiple (different) sets (files) with Schematron rules within one such a metadata schema. For example, for the Netherlands there are 3 metadata profiles (one for services and two versions for datasets), all on top of ISO19139. The profiles don't have XSDs of their own, but profile rules are described for each in seperate Schematron files. Validation is done against ISO19139 XSD and one of these files (depending on the profile version).[[BR]][[BR]] TODO maybe expand the proposal to allow for Validation Result States in a context; as discussed with François:[[BR]] francois: for persistent validation results, you only store valid / not valid /not determined status ? we could not have multiple validation level support like ISO ( not )valid / INSPIRE ( not )valid status / ... for example ?[[BR]] heikki_: no, a "validation report" as a whole is stored, that combines results from xsd and schemtron validation. To store ISO/INSPIRE/etc. differences in statuses, this would need adapting[[BR]] francois: so changes we made for geocat.ch on multiple validation level could be ok with that.[[BR]] heikki_: I don't know what those changes are[[BR]] francois: let's first vote for your proposal and see later if we could add multiple validation level.[[BR]] heikki_: ok, if you like to have more, separate statuses, that should be easy to do[[BR]][[BR]] An icon indicating the validation status, that links to the validation report if the metadata is not valid, can be included in the search results page an/or in the show metadata page. This indicates something about the quality of the metadata to users, and may encourage metadata providers to produce more valid metadata.[[BR]][[BR]] [[Image(ngr.validationresults.searchresults.png)]] [[BR]][[BR]] === Backwards Compatibility Issues === none == Risks == == Participants == * As above