Skip to content

Des scripts WinIBW dans Colodus (en quelque sorte)

28/04/2014

Problème

Colodus (est-ce encore une « nouvelle » interface, un an après son lancement ? le temps passe si vite sur le web) permet de créer des exemplaires sans se préoccuper de la notice bibliographique.

Conçue d’abord et avant tout pour le Sudoc-PS, elle permet aussi d’ouvrir à des collègues moins initiés (au sens d’initiation aux mystères de Mithra) aux joies du catalogage Marc en VO, la possibilité d’être tout de même mis à contribution.

C’est plus zoli, c’est full-web, c’est tout en JavaScript (d’ailleurs l’URL est tellement immuable au cours de la navigation que c’en est perturbant — et même dommage quand on veut se pencher ensemble sur une même notice : le web induit des habitudes chez les internautes, comme celle de pouvoir bénéficier de liens profonds — tant pis).

Colodus_formulaire_recherche

Mais, truc un peu pénible : on ne peut pas gérer des modèles d’exemplaires comme on le fait dans WinIBW avec les fameux scripts (en fait si : chaque login peut disposer d’un modèle par type de ressource).

(après réflexion, je renonce à disserter sur l’utilité des scripts WinIBW. Leurs utilisateurs sont déjà convaincus, les autres ne sont jsute pas utilisateurs. Et puis le fait que ça existe dans WinIBW prouve déjà que c’est un service utile, non ?)

Colodus_formulaire_exemplaire

Solution (ou proposition de solution)

J’avais déjà proposé la chose pour les champs bibliographiques locaux. Juste parce que c’était techniquement plus simple, et que je n’arrivais  rien sur les données d’exemplaires (champs 9XX essentiellement) tels qu’ils sont affichés dans Colodus.

Et puis finalement j’ai fureté sur Internet et trouvé des bouts de solution pour mes blocages techniques.

Bref, ça donne quoi ?

D’abord, je reste sur le même principe : créer des bookmarklets dans le navigateur, qui, en cliquant dessus, vont générer l’ensemble des champs et sous-champs souhaités (pré-remplis ou non).

On reste dans l’environnement et les usages du web : gestion de favoris, avec nombre infini possible — et même possibilité d’attribuer un raccourci clavier à chaque bookmarklet

Pour avoir le code de sa bookmarklet : installation de GreaseMonkey et du script qui va avec. Je ne présente plus GreaseMonkey, vous trouverez sur Internet de quoi vous convaincre de l’intérêt de l’installer sur Firefox.

Le script fait désormais apparaître un petit bouton vert cliquable en bas à droite de l’écran.

Colodus_bouton_vert

Une fois GreaseMonkey et le script installés :

  1. aller dans Colodus
  2. ouvrir une notice (n’importe laquelle)
  3. créer un nouvel exemplaire
  4. remplir tous les champs qu’on voudrait voir apparaître par défaut (y compris ceux laissés vides : code-barres, numéro d’inventaire, etc.)
  5. cliquer sur le bouton vert en bas de l’écran
    Ce bouton récupère l’ensemble des champs et leurs valeurs, et les concatène pour proposer le code (en pop-up) qui sera à mettre en favori
    div_nouveau_modele
  6. créer manuellement un nouveau favori :
    1. Glisser-déposer le bouton gris ci-dessus dans votre barre de favoris
      (rangez-le où vous voulez, par exemple dans un répertoire « Colodus » créé pour ça)
    2. Clic droit sur le favori créé > Propriétés
    3. Modifier le titre pour qu’il soit clair pour vous
  7. annuler la création de l’exemplaire en cours

La fois suivante, quand vous voudrez créer un exemplaire avec alimentation automatique de ces valeurs par défaut :

  1. ouvrir la notice bib à exemplariser
  2. cliquer sur « créer un exemplaire »
  3. cliquer sur son « favori »
  4. tous les champs sont générés

Et comme c’est peut-être plus simple à voir qu’à lire, voici une petite vidéo :

(j’ai un peu foiré les 3 dernières secondes – j’avais droit à 5 minutes pile – , mais je suis sûr que vous saurez comprendre sans les quelques instants qui manquent)

Techniquement ?

Quand on clique sur le bouton, il appelle une fonction JavaScript stockée dans un fichier en ligne.

C’est plus simple, et surtout ça me permet de faire évoluer la fonction (ajout de nouveaux champs, etc.) sans avoir à faire mettre à jour tous les navigateurs qui ont déjà installé le script GreaseMonkey.

La fonction récupère le contenu de la page (du moins les valeurs qui l’intéressent, c’est-à-dire celles du formulaire de création d’exemplaire), les concatène selon la bonne syntaxe et ponctuation, pour que la chaîne de caractères produite corresponde à une bookmarklet opérationnelle. Donc la fonction JavaScript a pour seul rôle de générer du code JavaScript…

Quand on clique sur la bookmarklet, le code JavaScript qui est dedans va créer (si besoin) et alimenter les champs qu’il contient.

Champs actuellement récupéréssi renseignés dans le modèle

  • 316$a
  • 317$a
  • 915$a, $b
  • 917$a
  • 930$a, $c, $d
  • 991$a, $b, $c, $2
%d blogueurs aiment cette page :