Ligne 85 : Ligne 85 :
 
== Affichage dans le portail ==
 
== Affichage dans le portail ==
  
Les autorités peuvent être affichées dans le détail d'une notice bibliographique en utilisant l'affichage par [[Paramétrer l'affichage des notices#Remplacer_le_bloc_description_par_un_fichier_XSL|XSLT]].
+
Les notices d'autorité sont affichables comme les notices bibliographiques.
 +
 
 +
La liste des autorités peuvent être affichées dans le détail d'une notice bibliographique en utilisant l'affichage par [[Paramétrer l'affichage des notices#Remplacer_le_bloc_description_par_un_fichier_XSL|XSLT]].
 +
 
 +
Le lien pour aller à la notice autorité est de la forme : <br>
 +
/recherche/viewnotice/authority_id/'''[001 de l'autorité]'''/>/thesaurus_id/'''[code de facette dynamique]'''
  
 
Par exemple, en partant du principe que  
 
Par exemple, en partant du principe que  

Version du 18 décembre 2018 à 12:15

EN COURS DE DÉVELOPPEMENT

Bokeh permet d'importer des fichiers d'autorités au format unimarc suivant la norme http://www.bnf.fr/documents/UnimarcA.pdf

Profil de données

Comme pour les autres types de fichiers vous devez définir un profil de données dédié à l'intégration des fichiers d'autorités.

Cosmo profile authorities.png

Donnez-lui le type de fichier Autorités et le format Unimarc.

Intégration programmée

Ajoutez une nouvelle intégration pour laquelle vous sélectionnez le profil de données créé précédemment.

Cosmo planned authorities.png

Import du fichier

Bokeh importe le fichier reçu lors des traitements automatiques ou manuels.

Les erreurs rencontrées sont écrites dans le journal d'intégration.

Cosmo log authorities.png

Pour chacune des autorités, Bokeh vérifie:

  • la présence d'une valeur dans la zone 001, elle sera utilisée pour créer un exemplaire fictif de l'autorité rattaché à la bibliothèque pour laquelle s'effectue l'intégration
  • la présence d'une vedette
  • l'absence de vedettes répétées

Les autorités ne répondant pas à ces critéres sont rejetées.

Les autorités sont importées en tant que notices de types Autorité, le type de document contient le code de type d'autorité suivant la norme unimarc.

NB : dû à une limitation du SIGB Koha, le type d'autorité n'est pas détecté en position 9 de la zone de label mais suivant la première zone 2XX présente.

  • 200 = personne
  • 210 = collectivité
  • ...

La vedette ainsi que les vedettes rejetées sont indexés fulltext.

Bokeh crée des autorités succintes pour les autorités liées par les zones 4XX ou 5XX et contenant un $3 et un $a si elles ne sont pas encore présentes dans la base de données.

Pour les autorités de type matière nom commun, Bokeh crée une codification matière à partir de la vedette si elle n'est pas encore présente dans la base de données.

Liaison notices bibliographiques / notices d'autorités

Il est possible de lier les notices bibliographiques et les notices d'autorités en se basant sur les définitions de facettes dynamiques.

Définition d'une facette dynamique

Pour être utilisable en tant que lien notice bibliographique / notice d'autorité, une facette dynamique doit définir un champ pour l'identifiant.

Cosmo dynamic facet edit.png

Correspondant à une notice bibliographique telle que :

Inspector unimarc mater field.png

Définition du lien fichier d'autorités / facette dynamique

Vous pouvez établir le lien entre les autorités présentes dans un fichier d'autorités et une zone présente dans les notices bibliographiques dans l'onglet "Indexation" du profil de données d'un fichier d'autorité.

Cosmo dataprofile edit indexation.png

Règles de catalogage

Correspond au contenu du champ 152$a de la norme UnimarcA.

Système d'indexation matière

Correspond au contenu du champ 152$b de la norme UnimarcA

Type d'autorité par défaut

Détermine le type d'autorité des notices autorité succintes que Bokeh crée lorsqu'aucune notice autorité n'existe pour l'identifiant défini dans la facette dynamique

Rattaché au thesaurus

Facette dynamique dans laquelle retrouver l'identifiant (zone 001 de la notice autorité).

La liste présente entre parenthèses le champ identifiant définit dans la facette dynamique.

Affichage dans le portail

Les notices d'autorité sont affichables comme les notices bibliographiques.

La liste des autorités peuvent être affichées dans le détail d'une notice bibliographique en utilisant l'affichage par XSLT.

Le lien pour aller à la notice autorité est de la forme :
/recherche/viewnotice/authority_id/[001 de l'autorité]/>/thesaurus_id/[code de facette dynamique]

Par exemple, en partant du principe que

  • les autorités sont en 609, la vedette en $a et l'identifiant en $9
  • le code de la facette dynamique correspondante est MOTS

Voici un extrait de fichier xsl permettant l'affichage d'une liste de liens vers les notices autorités.

...
<xsl:template name="subfieldSelect">
  <xsl:param name="codes"/>
  <xsl:param name="delimeter"><xsl:text> </xsl:text></xsl:param>
  <xsl:param name="subdivCodes"/>
  <xsl:param name="subdivDelimiter"/>
  <xsl:variable name="str">
    <xsl:for-each select="marc:subfield">
      <xsl:if test="contains($codes, @code)">
        <xsl:if test="contains($subdivCodes, @code)">
          <xsl:value-of select="$subdivDelimiter"/>
        </xsl:if>
        <xsl:value-of select="text()"/><xsl:value-of select="$delimeter"/>
      </xsl:if>
    </xsl:for-each>
  </xsl:variable>
  <xsl:value-of select="substring($str,1,string-length($str)-string-length($delimeter))"/>
</xsl:template>

<xsl:template name="chopPunctuation">
  <xsl:param name="chopString"/>
  <xsl:variable name="length" select="string-length($chopString)"/>
  <xsl:choose>
    <xsl:when test="$length=0"/>
    <xsl:when test="contains('.:,;/ ', substring($chopString,$length,1))">
      <xsl:call-template name="chopPunctuation">
        <xsl:with-param name="chopString" select="substring($chopString,1,$length - 1)"/>
      </xsl:call-template>
    </xsl:when>
    <xsl:when test="not($chopString)"/>
    <xsl:otherwise><xsl:value-of select="$chopString"/></xsl:otherwise>
  </xsl:choose>
  <xsl:text> </xsl:text>
</xsl:template>

<xsl:template name="tag_authority">
   <xsl:if test="marc:datafield[@tag='609']">
     <li>
       <strong>Mots clés : </strong>
       <xsl:for-each select="marc:datafield[@tag='609']">
         <a>
           <xsl:attribute name="href">/recherche/viewnotice/authority_id/<xsl:value-of select="marc:subfield[@code='9']"/>/thesaurus_id/MOTS</xsl:attribute>
           <xsl:call-template name="chopPunctuation">
             <xsl:with-param name="chopString">
               <xsl:call-template name="subfieldSelect">
                 <xsl:with-param name="codes">abcdjpvxyz</xsl:with-param>
                 <xsl:with-param name="subdivCodes">jpxyz</xsl:with-param>
                 <xsl:with-param name="subdivDelimiter">-- </xsl:with-param>
               </xsl:call-template>
             </xsl:with-param>
           </xsl:call-template>
         </a>
         <xsl:if test="not (position()=last())">
           <xsl:text> | </xsl:text>
         </xsl:if>
       </xsl:for-each>
     </li>
   </xsl:if>
</xsl:template>

<xsl:call-template name="tag_authority">
</xsl:call-template>
...

EN COURS DE DÉVELOPPEMENT

Bokeh permet d'importer des fichiers d'autorités au format unimarc suivant la norme http://www.bnf.fr/documents/UnimarcA.pdf

Profil de données[modifier | modifier le wikicode]

Comme pour les autres types de fichiers vous devez définir un profil de données dédié à l'intégration des fichiers d'autorités.

Cosmo profile authorities.png

Donnez-lui le type de fichier Autorités et le format Unimarc.

Intégration programmée[modifier | modifier le wikicode]

Ajoutez une nouvelle intégration pour laquelle vous sélectionnez le profil de données créé précédemment.

Cosmo planned authorities.png

Import du fichier[modifier | modifier le wikicode]

Bokeh importe le fichier reçu lors des traitements automatiques ou manuels.

Les erreurs rencontrées sont écrites dans le journal d'intégration.

Cosmo log authorities.png

Pour chacune des autorités, Bokeh vérifie:

Les autorités ne répondant pas à ces critéres sont rejetées.

Les autorités sont importées en tant que notices de types Autorité, le type de document contient le code de type d'autorité suivant la norme unimarc.

NB : dû à une limitation du SIGB Koha, le type d'autorité n'est pas détecté en position 9 de la zone de label mais suivant la première zone 2XX présente.

La vedette ainsi que les vedettes rejetées sont indexés fulltext.

Bokeh crée des autorités succintes pour les autorités liées par les zones 4XX ou 5XX et contenant un $3 et un $a si elles ne sont pas encore présentes dans la base de données.

Pour les autorités de type matière nom commun, Bokeh crée une codification matière à partir de la vedette si elle n'est pas encore présente dans la base de données.

Liaison notices bibliographiques / notices d'autorités[modifier | modifier le wikicode]

Il est possible de lier les notices bibliographiques et les notices d'autorités en se basant sur les définitions de facettes dynamiques.

Définition d'une facette dynamique[modifier | modifier le wikicode]

Pour être utilisable en tant que lien notice bibliographique / notice d'autorité, une facette dynamique doit définir un champ pour l'identifiant.

Cosmo dynamic facet edit.png

Correspondant à une notice bibliographique telle que :

Inspector unimarc mater field.png

Définition du lien fichier d'autorités / facette dynamique[modifier | modifier le wikicode]

Vous pouvez établir le lien entre les autorités présentes dans un fichier d'autorités et une zone présente dans les notices bibliographiques dans l'onglet "Indexation" du profil de données d'un fichier d'autorité.

Cosmo dataprofile edit indexation.png

Règles de catalogage[modifier | modifier le wikicode]

Correspond au contenu du champ 152$a de la norme UnimarcA.

Système d'indexation matière[modifier | modifier le wikicode]

Correspond au contenu du champ 152$b de la norme UnimarcA

Type d'autorité par défaut[modifier | modifier le wikicode]

Détermine le type d'autorité des notices autorité succintes que Bokeh crée lorsqu'aucune notice autorité n'existe pour l'identifiant défini dans la facette dynamique

Rattaché au thesaurus[modifier | modifier le wikicode]

Facette dynamique dans laquelle retrouver l'identifiant (zone 001 de la notice autorité).

La liste présente entre parenthèses le champ identifiant définit dans la facette dynamique.

Affichage dans le portail[modifier | modifier le wikicode]

Les autorités peuvent être affichées dans le détail d'une notice bibliographique en utilisant l'affichage par XSLT.

Par exemple, en partant du principe que

Voici un extrait de fichier xsl permettant l'affichage d'une liste de liens vers les notices autorités.

...
<xsl:template name="subfieldSelect">
  <xsl:param name="codes"/>
  <xsl:param name="delimeter"><xsl:text> </xsl:text></xsl:param>
  <xsl:param name="subdivCodes"/>
  <xsl:param name="subdivDelimiter"/>
  <xsl:variable name="str">
    <xsl:for-each select="marc:subfield">
      <xsl:if test="contains($codes, @code)">
        <xsl:if test="contains($subdivCodes, @code)">
          <xsl:value-of select="$subdivDelimiter"/>
        </xsl:if>
        <xsl:value-of select="text()"/><xsl:value-of select="$delimeter"/>
      </xsl:if>
    </xsl:for-each>
  </xsl:variable>
  <xsl:value-of select="substring($str,1,string-length($str)-string-length($delimeter))"/>
</xsl:template>

<xsl:template name="chopPunctuation">
  <xsl:param name="chopString"/>
  <xsl:variable name="length" select="string-length($chopString)"/>
  <xsl:choose>
    <xsl:when test="$length=0"/>
    <xsl:when test="contains('.:,;/ ', substring($chopString,$length,1))">
      <xsl:call-template name="chopPunctuation">
        <xsl:with-param name="chopString" select="substring($chopString,1,$length - 1)"/>
      </xsl:call-template>
    </xsl:when>
    <xsl:when test="not($chopString)"/>
    <xsl:otherwise><xsl:value-of select="$chopString"/></xsl:otherwise>
  </xsl:choose>
  <xsl:text> </xsl:text>
</xsl:template>

<xsl:template name="tag_authority">
   <xsl:if test="marc:datafield[@tag='609']">
     <li>
       <strong>Mots clés : </strong>
       <xsl:for-each select="marc:datafield[@tag='609']">
         <a>
           <xsl:attribute name="href">/recherche/viewnotice/authority_id/<xsl:value-of select="marc:subfield[@code='9']"/>/thesaurus_id/MOTS</xsl:attribute>
           <xsl:call-template name="chopPunctuation">
             <xsl:with-param name="chopString">
               <xsl:call-template name="subfieldSelect">
                 <xsl:with-param name="codes">abcdjpvxyz</xsl:with-param>
                 <xsl:with-param name="subdivCodes">jpxyz</xsl:with-param>
                 <xsl:with-param name="subdivDelimiter">-- </xsl:with-param>
               </xsl:call-template>
             </xsl:with-param>
           </xsl:call-template>
         </a>
         <xsl:if test="not (position()=last())">
           <xsl:text> | </xsl:text>
         </xsl:if>
       </xsl:for-each>
     </li>
   </xsl:if>
</xsl:template>

<xsl:call-template name="tag_authority">
</xsl:call-template>
...