Mathieu Coudert a écrit :
Bonjour Landry,
2009/7/28 Landry Breuil <breuil@anonymised.com <mailto:breuil@anonymised.com>>
Landry Breuil a écrit :
> Bonjour,
>
> en regardant et comparant les docs de geosource et de geonetwork,
j'ai
> l'impression que dans geosource on ne peut pas donner de droits
'fins'
> sur une donnée : ie, je voudrais permettre au groupe 'Tous' de
> visualiser la fiche de métadonnée, mais uniquement permettre au
groupe
> 'xxx' de télécharger la donnée associée. C'est une fonctionalité
qui a
> l'air présente dans geonetwork (cf
>
http://geonetwork-opensource.org/documentation/tutorial/publisher/privileges).
> La fonctionalité 'notification' pourrait être très intéressante
aussi..
Effectivement ces fonctionnalités ont été désactivées dans Géosource par soucis de conformité à la v1 de GéoSource je pense.
Après avoir regardé le code, on dirait que par défaut, toutes les
actions (notification/téléchargement/regarder dans un visualisateur)
sont autorisées par défaut, et il n'est pas prévu de les modifier via
l'interface. Pour ceux qui sont intéressés, ca se passe dans
xsl/metadata-admin.xsl, et les droits par donnée sont stockés dans la
table 'operationallowed'. Je pense éventuellement bidouiller un peu ca,
déja pour voir si c'est simplement faisable, et c'est aussi une
fonctionalité dont j'ai besoin.
En vous inspirant du code de Geonetwork vous pouvez aisement réactiver cette fonctionnalité et l'adapter selon votre besoin.
Ca a été relativement simple.. je joins le diff pour metadata-admin.xsl qui ré-active toutes les boites a cocher. J'ai vérifié, ca met bien à jour la base de données derrière dans la table operationsallowed. Au passage, j'ai nettoyé/précisé quelques commentaires.
> De plus, comment faire pour uploader une donnée 'privée' ? par
défaut,
> j'ai l'impression qu'on ne peut qu'attacher des données publiques
a une
> fiche de métadonnées (&access=public est rajouté a la fin de
l'url après
> un upload). Ou alors, passer via un import avec la donnée dans le
> sous-repertoire private/...
Pareil, j'ai bridouillé (un peu, je débute en XSLT)
xsl/metadata-edit.xsl pour avoir une boite de sélection pour choisir si
le document uploadé doit être privé ou public.. je suis pas super
content de mon patch, et vu que dans geonetwork a priori les boites
d'upload/download vont changer, je sais pas si mon bricolage est utile
sur le long terme.
Toute contribution sera la bienvenue. Il n'est pour le moment pas prévu de faire évoluer les "boîtes" d'upload dans Géosource donc après validation avec le BRGM nous pourrons intégrer vos modifications si elles paraissent utiles pour la communauté.
Pareil, je joins le diff pour metadata-edit.xsl, mais je n'en suis pas très satisfait : il permet d'ajouter une boite de sélection donnée privée/publique au popup d'upload, qui modifie la valeur du champ access en fonction du choix, mais :
- je n'ai pas réussi a faire la meme chose avec un radiobouton, qui serait plus "logique"
- je n'ai pas réussi a "préselectionner" la valeur courante si le fichier a déja été envoyé. Ie, j'ai déja envoyé le fichier en tant que fichier privé, je veux changer ce 'flag', j'ouvre la popup.. et la valeur est par défaut public, et non la valeur précédemment choisie. j'ai essayé d'ajouter <xsl:param name="access"/> au template uploadForm, mais ca n'a pas l'air de passer la valeur courante, comme c'est le cas pour id..
Question subsidiaire, quel est l'endroit le plus approprié pour ce genre de diffs/discussions concernant particulièrement geosource ? cette mailing-list, la mailing-list geonetwork-devel, un ticket sur le trac geonetwork, un bug sur sourceforge ?
--
Cdlt,
Landry Breuil
Administrateur de données du CRAIG
(attachments)
metadata-admin.xsl.diff (2.74 KB)
metadata-edit.xsl.diff (2.16 KB)