Différences entre versions de « Intégration de fichiers d'autorités »

De WIKI-BOKEH
Aller à : navigation, rechercher
Ligne 167 : Ligne 167 :
 
=== Vue d'une notice autorité ===
 
=== Vue d'une notice autorité ===
  
 
+
[[Fichier:Viewnotice authority.png]]
  
  
 
[[Catégorie:Intégration]]
 
[[Catégorie:Intégration]]

Version du 18 décembre 2018 à 15:09

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.

Autorités dans une notices bibliographique[ ]

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>
...

Vue d'une notice autorité[ ]

Viewnotice authority.png