Bonjour,
J’ai mis longtemps avant de me décider à faire ce post pour une raison toute simple : la manipulation que je vais décrire est valable pour l’installation telle qu’elle est faite chez nous. Et en gros, comme sur ce coup là on a été, pour une fois (et à tort) les premiers, l’installation n’est pas toute propre…
Bref, je vais essayer de faire au mieux, si les chemins et noms de fichiers ne concordent pas avec vos installations respectives, il sera toujours possible d’en rediscuter dans les commentaires….
Sur notre installation, nous avons un dossier qui s’appelle ARCHIMED_INSTANCE. Dans ce dossier, plein de sous-dossiers, dans ces sous-dossiers, plein de fichiers xml et xsl. Vous l’aurez compris, dans ARCHIMED_INSTANCE, on trouve tous les fichiers de description des pages portails ainsi que la configuration des encarts.
Nous, ce qui nous intéresse, c’est le fichier de configuration de l’encart des notices détaillées, qui s’appelle « bookline_NoticesDetaillees.xsl »
Et qui se trouve à cet endroit : ARCHIMED_INSTANCE\MASC\INCIPIO\Managers\PortalManager\Encarts\bookline
Et là, je pense qu’il y a peu de chance pour qu’il se trouve au même endroit chez vous ! Ceci dit, une petite recherche du fichier bookline_NoticesDetaillees.xsl sur votre serveur devrait régler ce problème !
Avant de modifier ce fichier, il est bien évident qu’il est indispensable de le sauvegarder. Je dis parce que j’ai eu dans le temps une collègue qui se reconnaîtra et qui avait tendance à oublier cette simple précaution !
Et dans ce fichier xsl, à l’endroit où commence l’affichage de la notice détaillée, il suffit de créer son COinS… Qu’est-ce qu’un COinS ? 😉
C’est à mon avis, la façon la plus simple de rendre un portail (Incipio dans notre cas) zotero-compatible sans débourser un seul euro…. c’est aussi quelque chose qui est très bien expliqué sur cette page
L’idée à partir de notre code présent dans ce fichier xsl est donc de générer du code html qui ressemble à ceci :
<span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.btitle=The+Wind+in+the+Willows&rft.au=Grahame,+Kenneth"></span>
Ce qui se traduit dans notre fichier xsl par
<xsl:if test="DETAIL/NOTICE/TYPEDOC='am'">
<xsl:element name="span">
<xsl:attribute name="class">Z3988</xsl:attribute>
<xsl:attribute name="title">
ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.btitle=
<xsl:value-of select="DETAIL/NOTICE/UNIMARC/NOTICE/ZONE[@number='200']/SUBZONE[@number='a']" />
<xsl:value-of select="DETAIL/NOTICE/UNIMARC/NOTICE/ZONE[@number='200']/SUBZONE[@number='d']" />
<xsl:value-of select="DETAIL/NOTICE/UNIMARC/NOTICE/ZONE[@number='200']/SUBZONE[@number='e']" />
&rft.isbn=
<xsl:value-of select="DETAIL/NOTICE/UNIMARC/NOTICE/ZONE[@number='010']/SUBZONE[@number='a']" />
&rft.au=
<xsl:value-of select="DETAIL/NOTICE/UNIMARC/NOTICE/ZONE[@number='200']/SUBZONE[@number='f']" />
</xsl:attribute>
</xsl:element>
</xsl:if>
Bon évidemment, quelques précisions sont nécessaires :
- la ligne
<xsl:if test="DETAIL/NOTICE/TYPEDOC='am'">
nous permet de générer le COinS que pour les monographies, choix que j’ai fait puisque dans notre catalogue, ce sont les seules notices qui ont un intérêt à se retrouver dans Zotero. - les lignes qui ressemblent à
<xsl:value-of select="DETAIL/NOTICE/UNIMARC/NOTICE/ZONE[@number='200']/SUBZONE[@number='a']" />
nous permettent de récupérer le $a du champs 200 de notre notice. Parce qu’il faut savoir que sur Incipio, les notices sont accessibles au format XML. C’est donc le chemin XML correspondant qui est utilisé pour récupérer la valeur du champ.
Comment retrouver ce chemin XML chez vous ? quand vous êtes sur une notice détaillée de votre portail, il suffit d’ajouter au bout de l’adresse &output=XML et vous aurez alors la notice au format XML.
On dit « un COinS », « des COinS » (mais il n’est pas interdit de tout mettre en majuscules). Si tu enlèves le S final, l’acronyme n’a plus grand sens : Context Object in Span.
Sinon, c’est une très bonne idée d’indiquer comment intégrer facilement des COinS. Vu la méthode utilisée, ça me semble assez facilement transposable.
(une autre remarque technique : dans ton fichier XSL, je suppose que les perluètes sont en réalité remplacées par leur entité HTML & ?)
entité HTML &, évidemment.
Bonjour Lully,
merci pour cette précision sur les COinS, sur ce coup là il y a un gros manque de rigueur de ma part ! Allez, hop, correction.. 😉
Concernant les perluètes remplacées par amp; je vais attendre lundi pour vérifier et répondre : il me semble que oui. Je me demande si ce n’est pas wordpress qui a fait automatiquement la conversion….
apparemment, vu la galère pour mettre un amp en commentaire, je pense que c’est bien wordpress qui fait des siennes 😉
J’ai rien compris mais ça ressemble à une bonne nouvelle. Quand est-ce que ça va marcher ?
@geraldine : work in progress. J’ai fait les COINS selon la recette d’eso62. Reste à rafraîchir ce foutu cache.
[…] Zotero se sert également de ces COinS pour récupérer les métadonnées et les ajouter à votre base locale (cf. d’ailleurs un récent billet de Davidolib sur le sujet). […]
[…] Quant au contenu pédagogique, formons les à l’utilisation des flux RSS que nous proposons. Pour les étudiants en Master, formons les à l’utilisation de Zotero puisque notre catalogue est compatible. […]
Merci pour l’explication. Je dois faire partie du 1/4 qui a lu le billet jusqu’à la fin. Mais ça me parle puisque nous avons aussi un vieux portail BKL. Les notices st bien envoyées en xml. Reste à patouiller dans les fichiers xsl ce que nous n’avons jamais fait. Le prestataire ne nous ayant pas encouragés à y mettre la main. Je refile le tuyau aux « quiches » qui sont assurément moins quiches qu’elles ne le disent. http://documentationelup.wordpress.com/
Grand merci pour ce billet qui nous avons exploré pour adapter cette solution sur notre incipio à Orléans.
Par contre j’ai un souci pour récupérer des données fiables dans notre notice xml (cherchées dans la notice &output=XML), je m’aperçois que chez nous l’unimarc ne sort pas dans ce format d’affichage.
Du coup je ne peux récupérer les infos que dans la branche DETAIL/NOTICE/COLDISPLAY/ENTRY et les données n’y sont pas fiables.
Avant de me tourner vers notre prestataire, avez-vous modifié quelque chose pour que l’unimarc sorte dans le format XML (DETAIL/NOTICE/UNIMARC/) ?
@Hélène : Non, je n’ai pas eu à modifier quoi que ce soit pour afficher l’unimarc en xml. Si les données n’apparaissent pas en unimarc c’est qu’elles n’y sont pas. C’est donc ce qui apparait dans COLDISPLAY qui alimente le contenu affiché. Pourquoi les données ne sont ellex pas fiables ?
La différence vient peut-être des différences entre SIGB. On va demander à @eso62 ce qu’il en pense
En fait dans le coldisplay, les données ne sont pas normalisée comme dans l’unimarc (puisqu’il s’agit de l’affichage à l’écran de notre catalogue).
Exemple sur le titre : dans le coldisplay il se présente comme suit : « titre [Texte imprimé] / auteurs » = à l’import il importe tout ça dans le champ titre…
@Hélène : il me semble que votre incipio a été installé avant le notre, ça vient peut-être de là. C’est quoi derrière comme sigb ? il y a un serveur Z39.50 ?
Une autre explication peut venir du choix des champs affichés pour les notices (à vérifier)
@Anne : c’est un peu normal que le prestataire n’encourage pas à modifier les fichiers par nous-même, pour deux raisons : les fichiers ne sont pas simples à appréhender et il préfére sûrement facturer une presta pour le faire lui-même ! Dans tous les cas, la règle à ne pas oublier est : sauvegardes !! On attend le retour d’expérience des quiches 😉
Nous avons Horizon comme sigb et la connexion entre les 2 se fait bien en Z39.50, j’ai posé la question à notre prestataire pour savoir la raison de l’absence de l’unimarc dans notre XML.