[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [sdx-users] Toujours le même problème pour les pièces jointes
From: |
Malo Pichot |
Subject: |
Re: [sdx-users] Toujours le même problème pour les pièces jointes |
Date: |
Mon, 22 Dec 2003 12:39:27 +0100 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6b) Gecko/20031205 Thunderbird/0.4 |
Bonjour,
J'aimerais que les ID des mes fichiers attachés soient automatiquement générés, donc
j'utilise l'attribut "generateId". Mais le problème, c'est que mon image n'est
pas indexée et que je n'ai pas de message d'erreur. J'ai toutefois remarqué quelque
détails :
- quand j'attribue un id "manuellement" (sans l'attribut "generateId"), mon
problème est résolu. Mais j'aimerais quand-même générer les ID automatiquement, donc cela ne me
satisfait pas.
On avance dans la compréhension du problème. Tout tient dans
l'utilisation du "generate-id" pour le document maître. L'indexation des
documents attachés dans un tel cas n'avait, vraisemblablement, jamais
été testée. Autrement dit, ça ne fonctionne pas parce que rien dans le
code n'avait prévu ce cas de figure, pourtant intéressant.
Nous en avons discuté ici et l'idée est intéressante. On va donc
modifier le code dans ce sens. Cela ne semble pas très problèmatique.
Voilà la logique : on utilise le "generate-id" sur le <sdx:document>
maître. Dans le <sdx:attDocument> on crée un identifiant unique dans le
document grâce au paramètre "attid". Lors de l'indexation, si SDX
rencontre le "attid" et pas de "id" pour un document attaché, il reprend
l'identifiant du document maître, que cet identifiant ait été créé par
le biais d'un "generate-id" ou non.
Dans ce cas, on peut avoir cette syntaxe :
<sdx:document generate-id="true"...>
...
<sdx:attDocument attid="{identifiant unique dans le document}"... />
...
</sdx:document>
SDX se charge de l'identifiant unique dans la base de documents. A
charge pour le développeur d'application de créer un identifiant unique
dans le document. En fin de course, l'identifiant du document attaché
(qui doit de toute manière être unique dans la base de documents) sera
le résultat de la concaténation de l'identifiant du document maître et
de l'identifiant du document attaché dans le document maître.
- En ce qui concerne l'indexation des documents XML eux-même, j'arrive à utiliser
l'attribut "generateId". Seulement, quand j'indexe deux fois de suite, plutôt
que de mettre la base à jour, les documents sont dupliqués (ce qui paraît normal,
puisqu'un nouvel identifiant est généré), ce qui ne me satisfait pas vraiment...
C'est le comportement normal du "generate-id".
- quand je regarde dans mon entrepôt de type FS, les fichiers stockés ont tous des noms
du type "docXXXXX.xml", même les images. Comment faire pour conserver leur nom,
comme c'est fait dans sdxtest?
C'est le comportement normal pour un FS depuis la version 2.2.
Une dernière chose pour avoir un peu plus d'infos sur le fonctionnement
de SDX/Tomcat, on peut modifier le niveau de "log" de Tomcat/SDX (par
défaut, réglé sur 'ERRO'), en modifiant le fichier "logkit.xconf" dans
le répertoire "WEB-INF".
Il faut régler les éléments <category> sur "DEBUG" au lieu de "ERROR".
Ca génére un énorme paquet d'informations, mais cela peut rendre pas mal
de service dans un cas que l'on a du mal à comprendre.
A bientôt,
--
Malo