Bonjour,
encore un petit "rapport de bug", qui est aussi valide pour GeoNetwork à priori.. le paramêtre 'localId' dans le fichier info.xml n'est pas utilisé lors de l'import d'une donnée, quoi qu'il arrive geosource génère un nouvel Id/serial a partir de SerialFactory : (./src/org/fao/geonet/kernel/mef/Importer.java, ~ligne 260 (id.add))
La doc précise dans la description du format MEF que cet id, si présent sera utilisé au lieu d'en générer un.. (ou alors j'ai mal compris)
Ca peut paraitre pas grand chose, mais quand on veut importer une donnée avec des fichiers attachés, et donc que dans metadata.xml on a une url de type /geonetwork/srv/fr/resources.get?id=XXX&fname=monfichier&access=public, ca pose probleme.. vu que le XXX n'est connu qu'une fois la donnée importée, ca fait un peu serpent qui se mord la queue. Evidemment, on peut contourner ca en 'devinant' le prochain identifiant donné par SerialFactory, mais c'est pas très propre.
Le code pour implémenter ca a l'air trivial au premier abord, mais mon java est trop rouillé, et je ne me suis pas encore penché sur la procédure pour recompiler geosource.. a priori, il faut rendre conditionnel l'appel a id.add(), et lui passer la valeur de localId si elle est présente dans le info.xml, et non déja existante dans la bd. Mais je connais pas encore suffisamment le code pour être catégorique.
--
Cdlt,
Landry Breuil
Administrateur de données du CRAIG