[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [sdx-users] Ne pas passer par plusieurs bases de documents
From: |
Florence Clavaud |
Subject: |
Re: [sdx-users] Ne pas passer par plusieurs bases de documents |
Date: |
Sat, 04 Mar 2006 19:02:24 +0100 |
User-agent: |
Mozilla Thunderbird 1.0 (Windows/20041206) |
Bonjour
AVRIL Simon a écrit :
Bonjour,
Je suis en train de me pencher sur les possibilités de l’outil SDX mais
un point me semble obscur. J’ai vu quelques mails sur le même sujet mais
jamais très détaillés.
Je dispose d’un SGBD classique que je dois convertir en fichier XML/EAD
afin de permettre à un utilisateur de visualiser les informations
contenues dans celui-ci à travers le web.
>
Le problème est que dans ce SGBD, un attribut de chaque table concerne
les droits de lecture/écriture des autres (groupe ou tout le monde, à la
manière Unix).
Je souhaiterais empêcher la visualisation de certaines parties du
fichier XML publiés en fonction des droits utilisateurs de SDX.
>
Je sais que je peux créer plusieurs bases de documents mais ce procédé
me parait gourmand en performances (en effet, à chaque modification de
mon SGBD, je devrais parcourir l’intégralité de mes fichiers XML/EAD
pour les actualiser).
N’y aurait-il pas une autre façon de faire pour ne travailler qu’avec un
seul document à publier ?
Dans la doc. de SDX il y a notamment la page suivante sur la gestion des
droits des utilisateurs :
http://www.nongnu.org/sdx/docs/html/doc-sdx2/fr/reference/actions/droits.html
Vous pouvez donc définir, en tant qu'administrateur, des groupes
d'utilisateurs pour votre application SDX.
Ensuite, pour revenir à votre besoin précis : tous les documents XML
virtuels générés par SDX à partir d'une URL ou d'une requête
contiennent, dans sdx:document/sdx:user, l'information indiquant que
l'utilisateur connecté est anonyme (on a dans sdx:user un attribut
anonymous de valeur true) ou appartient à un groupe (dans ce cas dans
sdx:user, on a un élément sdx:group avec un attribut id qui donne
l'identifiant du groupe).
Ce qui permet, par exemple, d'imaginer et d'écrire des instructions XSLT
produisant des versions HTML différentes du même document XML selon le
type d'utilisateur connecté.
Pour ce qui est de documents XML/EAD : beaucoup d'éléments définis dans
la DTD EAD peuvent être marqués par un attribut audience de valeur
internal, justement pour spécifier que leur consultation est d'accès
restreint ;-). Il est donc possible de produire un seul instrument de
recherche XML/EAD complet avec des sections "publiques", d'autres
"confidentielles" ; et la valeur de l'attribut audience dans un
élément peut donc être testée par une instruction XSLT pour produire ou
pas du code HTML en sortie.
Entre autres tests possibles.
Voilà ce que cela m'inspire, peut-être que d'autres complèteront.
A bientôt
Florence Clavaud
Voila,
En vous remerciant
Simon