[koha-Infos] export notice COins Zotero book contribution

Dominique Rouger dominique.rouger at univ-st-etienne.fr
Lun 11 Avr 12:44:19 CEST 2011


Bonjour,

Petite contribution :

Mon niveau (basique) en perl ne "m'autorise" pas a vous proposer 
directement un patch,
je vais donc vous proposer des modifications d'une manière on ne peu 
plus archaïque ....

Le 08/04/2011 18:52, LAURENT Henri-Damien a écrit :
> Le 07/04/2011 12:18, Dominique Rouger a écrit :
>> rft.date=impr.+1987&
>> rtf.place=Paris&
>> rtf.tpages=1+vol.+(494+p.-[32]+p.+de+pl.)21+cm
>>
>> Zotero ne recupère
>> ni le lieu, ni les pages ?
> Là, je pencherai pour le mauvais support de COinS de zotero... On
> pourrait/devrait envoyer un patch à ce sujet.
>
> exemple :
> http://www.amazon.com/Learning-Teaching-Technology-Principles-Practices/dp/041534610X
> ne donnera pas plus d'informations de nombre de pages... Alors que les
> informations sont là.

Il y a en réalité 2 problèmes :
1) un petite faute de frappe dans Biblio.pm : rtf vs rft
         # place
         $place = join(" - ", $record->subfield('210', 'a'));
#        $place = "&rtf.place=$place" if ($place);
         $place = "&*rft*.place=$place" if ($place);
et
#     $tpages = "&rtf.tpages=$tpages" if ($tpages);
      $tpages = "&*rft*.tpages=$tpages" if ($tpages);

cela résout la question de la récupération du lieu
hélas, pas des pages  !

2) et en effet Zotero doit avoir un bugg de ce coté-ci,
car même fabriqué avec un générateur Coins
http://generator.ocoins.info/
les pages ne sont pas récupérés  ...

>> Par ailleurs dans le format on peut regretter
>> - que le titre ne contienne pas le sous titre, numéro de partie et titre
>> de partie
>> (mais c'est je crois assez facilement remédiable)
> Certes... Mais il faut le faire... Et certainement concaténer les
> informations dans le titre pour ne pas risquer de les manquer. Ou voir
> avec le support de COinS

je vous propose
         # title
         my $btitle = join(' ; ', $record->subfield('200', 'a'));
         $btitle .= " : " . join(' : ', $record->subfield('200', 'e')) 
if ($record->subfield('200', 'e'));

*# ajout no de partie et titre de partie
         $btitle .= ". " . join('. ', $record->subfield('200', 'h')) if 
($record->subfield('200', 'h'));
         if ($record->subfield('200', 'i')) {
                 if ($record->subfield('200', 'h')) {
                         $btitle .= ", " . join(', ', 
$record->subfield('200', 'i')) ;
                 }else{
                         $btitle .= ". " . join(', ', 
$record->subfield('200', 'i')) ;
                 }*
*}*


Nb :et sans doute
        $title =
           ( $mtx eq 'dc' )
           ? "&rft.title=" . $record->subfield( '200', 'a' )
           : "&rft.title=" . *$btitle* . "&rft.btitle=" . $btitle;



>> - que la collection (serie) ne soit pas mise
> Certes... a voir si c'est dans la norme.
oui c'est dans la norme,
je vous propose :

         # ajout collection
         if ( $record->field('225') ) {
                 $serie = "(" . $record->subfield('225', 'a') ;
                 $serie .= ". " . $record->subfield('225', 'i') if 
($record->subfield('225', 'i'));
                 $serie .= " ; " . $record->subfield('225', 'v') if 
($record->subfield('225', 'v'));
                 $serie .= ", issn " . $record->subfield('225', 'x') if 
($record->subfield('225', 'x'));
                 $serie .= ")" ;
         $serie = "&rft.series=$serie" ;
         }


mais cela ne traite pas correctement les muti-collections (ne prend que 
la première) ...

J'avais aussi remarqué qu'il manquait l'édition
je vous propose

         # ajout edition
         $edition = $record->subfield('205', 'a');
         $edition = "&rft.edition=$edition" if ($edition);


NB : c'est 2 nouvelles variables entrainent bien sur :
     my $edition   = '';
     my $serie     = '';
en déclarations initiales
et
  my $coins_value =
"ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3A$mtx$genre$title&rft.isbn=$isbn&rft.issn=$issn&rft.aulast=$aulast&rft.aufirst=$aufirst$oauthors*$edition$serie*&rft.pub=$publisher&rft.date=$pubyear$place$tpages";
au final


>> - le doublement de certain auteur
>> 200$f et 700$a par exemple
> Effectivement.
ici je pense qu'il suffit de ne pas mettre le bloc
         # others authors
#       if ( $record->field('200') ) {
#           for my $au ( $record->field('200')->subfield('f') ) {
#               $oauthors .= "&rft.au=$au";
#           }
#           for my $au ( $record->field('200')->subfield('g') ) {
#                $oauthors .= "&rft.au=$au";
#            }
#
#        }


au final avec ces changements on obtient une notice zotero un peu plus 
complète


Cordialement
Dominique Rouger

-- 
Dominique Rouger

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Service Commun de Documentation
de l'Université Jean Monnet
Section Sciences

21, Rue Dr Paul Michelon
42023 Saint Etienne Cedex 2

tél 04 77 48 15 93
mél Dominique.Rouger at univ-st-etienne.fr

http://scd.univ-st-etienne.fr
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: </pipermail/infos/attachments/20110411/2f383162/attachment.htm>
-------------- section suivante --------------
Une pièce jointe autre que texte a été nettoyée...
Nom: moz-screenshot-53.png
Type: image/png
Taille: 4382 octets
Desc: non disponible
URL: </pipermail/infos/attachments/20110411/2f383162/attachment.png>


More information about the Infos mailing list