Giter Club home page Giter Club logo

iso19139.rndt's Introduction

iso19139.rndt

GeoNetwork Italian RNDT metadata pluggable schema for version 3.10.x.

This plugin requires GeoNetwork version >= 3.10.6.

Configurazione iPA

Il codice iPA deve essere definito nel campo descrizione del Gruppo cui è associato. GeoNetwork riconoscerà una descrizione del gruppo come identificativo iPA se inizia con "iPA:" e termina con “:”. Tra il prefisso iPA: e l'ultimo ":", è consentita la presenza di ulteriori ":".

Saranno dunque possibili i formati seguenti:

  • iPA:{codiceiPA}:
  • iPA:{codiceiPA}:{codiceEnte}:

Es.:

  Gruppo metadati per il Comune di Firenze.

  iPA:c_d612:

Per informazioni di installazione e configurazione fere riferimento alla documentazione a http://bit.ly/geonetwork-rndt

iso19139.rndt's People

Contributors

davidegiacomelli avatar etj avatar taba90 avatar

Watchers

 avatar  avatar

Forkers

taba90

iso19139.rndt's Issues

Fix elementi MetadataStandard

gmd:metadataStandardName e gmd:metadataStandardVersion vanno definiti come:

<gmd:metadataStandardName>
   <gco:CharacterString>Linee Guida RNDT</gco:CharacterString>
</gmd:metadataStandardName>
<gmd:metadataStandardVersion>
   <gco:CharacterString>2.0</gco:CharacterString>
</gmd:metadataStandardVersion>

Questa modifica va impostata

  • su tutti i template
  • nel file schema-ident.xml
  • schematron-rules-rndt.sch
  • csw-full.xsl
  • loc/ita/labels.xml

Lo snippet nel file schema-ident.xml è usato per individuare a quale standard corrisponde un metadato appena importato.
La raccomandazione RC.4 raccomanda un Anchor, quindi
il test dell'autodetect dovrebbe includere anche questo contenuto (da vedere come l'autodetect gestisce gli OR logici):

<gmd:metadataStandardName>
    <gmx:Anchor xlink:href="https://registry.geodati.gov.it/document/lg-rndt">Linee Guida RNDT</gmx:Anchor>
</gmd:metadataStandardName>

Gestione characterset [metadati]

Metadati comuni/informazioni sui metadati:
Se l'elemento "Set dei caratteri dei metadati" viene eliminato, servirebbe un bottone per riaggiungerlo.

Vincoli sui dati: opzione da rimuovere

Nelle limitazioni d'uso, nell'helper c'è una voce "Valori suggeriti" che se selzionata setta il valore "Recommended values". Non ne capisco il senso, andrebbe rimossa.

Gestione keyword opendata

In un metadato senza keyword libere

  • Andare in tab "dataset e serie"
  • Premere il bottone "+ dati aperti"
  • Andare in tab "metadati comuni", dovrebbe apparire:

image

  • Premere "+ parola chiave libera"
  • Si ottiene:

image

La keyword "opendata" dovrebbe essere nascosta dall'elenco parole chiave.

Fix validazione schematron e xsd

  • La validazione xsd fallisce a causa dell'elemento gmx:Anchor nonostante il substitution group sia corretto negli xsd.

  • La validazione schematron deve essere aggiornata con riferimento ai sistemi di riferimento spaziale e temporale

  • fix citation.xsd e dataQuality.xsd (cardinalità)

  • fix extent template servizi da srv:extent a gmd:extent

Coerenza topologica

image.png

  • aggiungere l'elemento obbligatorio "unità di misura" (req 2.7 p69)
  • Il nome della misura dovrebbe avere cardinalità minimo 1 (req 2.2 p69) - deve quindi essere non eliminabile l'ultimo elemento
  • Il nome della misura dovrebbe avere cardinalità max N (racc 2.2 p69) - serve un bottone "+ aggiungi" #52
  • data/ora deve essere un gco:DateTime (racc 2.4 p69) - quindi andrebbe eliminato il selettore di tipo data #53

Accuratezza posizionale card 1

L'accuratezza posizionale ha cardinalità 1, per cui l'elemento deve essere

  • presente nel template,
  • non rimovibile e
  • riaggiugibile solo se non presente

image.png

Display issue when resizing text areas

Doing a quick test today on the medatata editor page I found this issue while resizing text areas:

2020_10_08_17_24_58_RNDT_Test.png

We should fix the schema plugin I think, by setting a max-width to resizable text areas.

Informazioni sulla qualità fixes

  • "Visualizzazione a livello sbagliato Conformità specifiche"
  • "Visualizzazione a livello sbagliato genealogia"
  • "Livello di qualità controllare che visuallizazzione sia rndt"
  • "Conformità specifiche invece di aggiungere bottone che fa autofill con le diverse informazioni"

Risorsa online: refact pannello

Va completamente modificato il pannello, dato che molti campi adesso sono obbligatori

Selettore tipo data

Da specifiche, tutte le date (tranne una (rivedere quale) hanno formato AAAA-MM-GG, per cui il selettore
image non andrebbe visualizzato e dovrebbe essere visualizzato il solo campo data.

Potrebbe bastare documentare la cosa.

Gestione Id file precedente

Se si preme il bottone di cancellazione di "Id file precedente", si attiva l'animazione di sparizione dell'ellemento, ma a fine sparizione l'elemeneto è ancora lì. Nel'XML non viene eliminato.
Dato che è un elemento [0..1], si dovrebbe poter eliminare e riaggiungere (tramite bottone) a piacimento.

Revisione schermata di editing : fixes low priority

  • campo lingua -> dropdwon con le solo lingue permesse req C.5

  • responsabile dei metadati -> Dovrebbe essere selezionabile dalla directory

  • nome del responsabile: manca il campo

  • responsabile dei dati -> Dovrebbe avere la stessa form del respopnsabile dei metadati

  • identificazione/data -> La dropdown di scelta tipo data non deve esserci: abbiamo solo data o data e orario, che è la prima scelta della dropdown

  • limitazioni d'uso -> Se rimosso, e non esistono sibling, dovrebbe essere rimosso tutto il blocco "vincoli della risorsa"

  • Dataset/series livello gerarchico -> mettere nella dropdown solo dataset e serie.
    Si forniranno almeno un template per datase/serie e un template per servizi, quindi la scelta del livello base si effettuerà al'inizio, alla scelta del template.

  • formato di presentazione -> controllare che la lista visualizzata sia quella RNDT

  • otherDetails -> Dovrebbe essere textarea, non textfield

  • tipo rappr spaziale -> controllare che la lista visualizzata sia quella RNDT

  • dataset/series -> lingua livello sbagliato più controllare dropdown

  • tema -> Aggiungere a livello primario "Categoria tematica"

  • unità di misura -> non eliminabile sempre fissa a metro; snippet con solo value

  • Sistema di unità di misura -> ????

  • Coerenza topologica -> localizzare valori in dropdown

  • Sistema di riferimento spaziale e temporale ->aggiungere label giusta

  • abilitare nilReason per versione

  • formato di distribuzione Si potrebbe usare una dropdown con i valori di https://inspire.ec.europa.eu/media-types/
    Racc R1.9 p77

  • frequenza -> controllare che la lista visualizzata sia quella RNDT

  • DCP -> Ha card [1..n], per cui deve essere possibile aggiungerne/rimoverle

  • standardName version + hierachyLevel e hierarcyLevelName (servizi) non editabili

  • temporalElement dovrebbe essere possibili editare anche gli attributi indeterminate position

Fix editing keywords da thesaurus

Nel template presente non si possono aggiungere keyword libere o da altri thesauri a parte il Gemet INSPIRE per i dataset e l’INSPIRE Service Taxonomy per i servizi. I metadati importati che presentano parole chiave provenienti da altri thesauri non vengono risolte correttamente a livello di interfaccia sebbene i relativi thesauri siano stati caricati nel sistema.

Vincoli: refact

Vincoli (info da iso19115)

  • resourceConstraints [0..n]
    • MD_LegalConstraints
      • accessConstraints [0..n] codelist
      • useConstraints [0..n] codelist
      • otherConstraints [C..n] text, condizionale, solo se accessConstraints o useConstraints hanno valore "otherRestrictions"

Vincoli di accesso

Possono essere individuati grazie all'href nell'otherConstraints, tipo (simil-xpath, da controllare):

resourceConstraints[accessConstraints/@codeList="otherRestrictions"][starts-with(otherConstraints/gmx:Anchor/@xlink:href, "http://inspire.ec.europa.eu/metadata-codelist/LimitationsOnPublicAccess")]

"OtherConstraints deve essere un elemento della codelist indicata nella URL. La lista ha 9 elementi. Si potrebbe renderizzare con label "Vincoli di accesso" e una dropdown per la scelta.

Se l'elemento esiste, mostrare la dropdown con i valori plausibili, con il valore selezionato.
Dato che l'lemento è [1..n], , mostrare sempre il bottone ""+ aggiungi vincoli di accesso"""

Vincoli di fruibilità

Possibile xpath di individuazione:

resourceConstraints[*/@codeList="otherRestrictions"][not(starts-with(otherConstraints/gmx:Anchor/@xlink:href, "http://inspire.ec.europa.eu/metadata-codelist/LimitationsOnPublicAccess"))]

"OtherConstraints in questo caso o è un testo (gco:CharacterString) oppure un gmd:Anchor a

  • "Nessuna condizione applicabile", oppure
  • "Condizioni sconosciute""

Dato che l'elemento è [1..n], mostrare sempre il bottone ""+ aggiungi vincoli di fruibilità"" che si espande nella scelta

  • "Nessuna condizione applicabile",
  • "Condizioni sconosciute"
  • "Testo libero",
    e creare l'elemento a seconda della scelta:
  • per le prime 2 condizione una dropdown con i 2 valori prefissati
  • per la testa una textbox

Se l'elemento esiste, mostrare la dropdown o textbox come sopra.

Improvement: potremmo avere nella dropdown di creazione anche un ""licenza"", e in quel caso si aggiungerebbe una dropdown con le licenze (vedi racc rc.14).
Questo caso si potrebbe filtrare nella GUI tramite l'Anchor alla licenza

Altro sui vincoli

Non permettiamo la creazione di vincoli che non siano otherRestrictions.
Se esistono nel metadato corrente, potremmo scegliere di:

  • ignorarli, dato che le specifiche RNDT non li contemplano
  • mostrarli in sola lettura
    Se si vogliono rimuovere si andrà nella vista "full"

Vincoli di fruibilità: valore scelto non salvato

Il bottone di aggiunta dei vincoli di fruibilità presenta le prime due scelte dal thesaurus useandaccess; se però si sceglie una delle due voci viene creata una casella a dropdown senza alcuna preselezione, mentre ci si aspetta che la scelta effettuata venga già selezionata.

Sistema di riferimento spaziale

image.png

Se l'elemento non esiste, deve essere possibile aggiungerlo, in 3 modalità diverse (implementato):

  • codice EPSG:

    • Visualizzazione:

    • se esistente, è selezionabile tramite il controllo dell'esistenza dell'elemento:

      <gmd:codeSpace>
         <gco:CharacterString>http://www.epsg-registry.org/</gco:CharacterString>
       </gmd:codeSpace>
      
  • codelist fornita da RNDT:

    • Visualizzazione:

      • label "Codice RNDT"
      • campo di input: dropdown da codelist, che popolerà href e text di un'Anchor
    • se esistente, si può controllare l'esistenza dell'elemento Anchor:

      <gmd:RS_Identifier>
         <gmd:code>
            <gmx:Anchor xlink:href="http://www.opengis.net/def/crs/EPSG/0/6704">RDN2008-6704</gmx:Anchor>
         </gmd:code>
      </gmd:RS_Identifier>
      
  • altro formato: in questo caso si specificheranno manualmente code e codespace.

    • Visualizzazione:
      • label "Codice identificativo esterno"
      • campo di input:
        • code
        • codespace
    • se esistente, si può controllare che non sia uno dei due casi precedenti.

Documentation for RNDT tests

A document is needed to address tests procedures and relavant concepts involved in the new RNDT plugin.
This is useful to also involve third parties (like CSI) and not only ODN and better focus testing activities in the rigth direction.

Creazione Thesaurus del "Registro dei dati di interesse generale per il RNDT"

L'implementazione attuale tramite codelist salva soltanto la URI e non la label:

            <gmd:MD_Keywords>
               <gmd:keyword>
                  <gco:CharacterString>http://registry.geodati.gov.it/rndt-all1/rndt-all1-15</gco:CharacterString>
               </gmd:keyword>
               <gmd:keyword>
                  <gco:CharacterString>http://registry.geodati.gov.it/rndt-all1/rndt-all1-9</gco:CharacterString>
               </gmd:keyword>
               <gmd:thesaurusName>
                  <gmd:CI_Citation>
                     <gmd:title>
                        <gco:CharacterString>Registro dei dati di interesse generale per il RNDT</gco:CharacterString>

Serve gestire i gmx:Anchor tramite keyword picker.

  • Creazione Thesaurus
  • modifica editor per usare il thesaurus

Coerenza topologica: data/ora

data/ora deve essere un gco:DateTime (racc 2.4 p69) - quindi andrebbe eliminato il selettore di tipo data

image.png

Minor improvement.

Review schermata di editing: fix services

  • Sezione metadati -> informazioni su metadati
  • Informazioni di indentificazione Identificazione dei servizi
  • Service type -> usare solo valori da codelists
  • tipo di aggancio -> controllare lista
  • Risorsa accoppiata -> fix +
  • Operazioni contenute -> rinomina a operazioni
  • Nome operazione -> usare helper
  • Risorsa online mancante
  • Conformità specifiche spostare sotto
  • Livello gerarchico e nome del livello gerarchico -> forzare in update fixed info

Keyword - dataset prioritari, etc

In RNDT2.0 sono contemplate una serie di keyword opzionali basate su thesarus INSPIRE.
Vogliamo facilitare la lettura e l'inserimento di tali keyword. quindi la gestione di tali thesauri deve essere trasparente.
Prendiamo il caso di "parole chiavi per dataset prioritari".

  • Nel caso in cui non esista ancora alcuna parola chiave con thesaurus "dataset proprietari":
    image

  • Una volta creata almeno una parola chiave:
    image

Quindi le modifiche necessarie sono:

  • Label di struttura di primo livello: "Data set prioritari"
  • "+ aggiungi parola chiave": aggiungi dataset prioritario: viene aggiunto al metadato tutto un blocco descriptiveKeywords, con relative indicazioni del thesaurus
  • "+" a blocco già esistente: aggiunge parola chiave all'interno del descriptiveKeywords
  • "-" : rimuove parola chiave di dataset prioritario.
    Alla rimozione dell'ultima keyword, viene eliminato tutto il blocco descriptiveKeywords che contiene il thesaurus, e riapparirà il bottone "Aggiungi parola chiave per dataset prioritario"
  • le info interne del thesaurus (titolo, data pubblicazione, etc) non vengono visualizzati, dato che abbiamo già la label di paragrafo che indica che stiamo trattando keyword per dataset prioritari

Tab "Metadati Comuni"

  • impedire inserimento/visualizzazione/editing descriptiveKeyword delle keyword gestite nei tab serie/dataset e servizi
  • (2.3.6) gestire keyword libere (senza thesaurus)
  • gestire keyword con tesauri non gestiti dagli altri tab.

Tab serie/dataset

In ordine:

  • (3.2.4.1) gestire keyword INSPIRE themes
  • (3.2.4.2) gestire keyword dataset prioritari
  • (3.2.4.3) gestire keyword applicazioni territoriali
  • (3.2.4.4) gestire keyword opendata come semplice checkbox
  • (3.2.4.5) gestire keyword per dati interesse generale

Tab servizi

  • (4.1.2.1) gestire keyword INSPIRE service types

Gestione charcterSet [dati]

Dataset e serie / Identificazione dei dati
Se l'elemento "Set dei caratteri dei metadati" viene eliminato, servirebbe un bottone per riaggiungerlo.

Vedi anche #60

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.