Le cadre de découverte ouvert de Primo : sélection de la technologie et de la conception adéquates

Miri Botzer, responsable de produit, Découverte et diffusion, Ex Libris

Dans notre dernier article, nous avons expliqué comment le cadre de découverte ouvert de Primo permet de manipuler la quasi totalité des éléments d’une application avec le minimum d’effort tout en garantissant la cohérence et la stabilité des mises à niveau du produit.

Ceci dit, examinons les considérations et critères qui nous ont guidé dans notre choix de la technologie qui se cache derrière le cadre de découverte ouvert de Primo et sa signification pour les développeurs.

Nous nous sommes d’abord intéressés à plusieurs éléments de base :

  • Une séparation nette entre le produit et le code de personnalisation
  • Un code de personnalisation qui utilise le modèle de données du produit
  • Une technologie largement utilisée avec une assistance à long terme prévue
  • Une prise en charge par de nombreux cadres d’interface utilisateur
  • Un fonctionnement possible dans tous les navigateurs et avec plusieurs tailles d’écran

JavaScript permet de réaliser facilement les personnalisations côté client en manipulant le DOM (Document Object Model). Toutefois, comme le DOM n’est pas configurable et peut changer souvent, JavaScript seul ne répondait pas aux critères ci-dessus. En fonction de ces considérations et orientations, nous en sommes arrivés à la conclusion qu’AngularJS était la technologie la mieux adaptée au cadre de découverte ouvert de Primo.

Nous avons créé des identifiants d’éléments (que nous appelons « prm-after »), qui sont en fait des espaces réservés permettant aux développeurs de la bibliothèque d’ajouter ou d’ignorer les composants actuels du client sans que celui-ci n’est à se soucier que ses personnalisations soient affectées par les mises à niveau.

Nous avons aussi conçu l’environnement de développement de Primo qui permet aux bibliothèques d’effectuer des personnalisations dans un bac à sable virtuel, tout en utilisant des outils identiques à ceux des développeurs de Primo. À l’aide d’un proxy, les développeurs internes de la bibliothèque peuvent exécuter leurs personnalisations dans l’environnement qu’il désire, testant ainsi leurs améliorations sans exposer leurs utilisateurs ou collaborateurs avant d’être prêts.

Une conception personnalisée pour une collaboration efficace

Grâce au package de développement Primo et à la conception du client Primo, les clients peuvent suivre les personnalisations d’éléments spécifiques dans le cadre de découverte ouvert. Ils peuvent ensuite décider de partager l’ensemble des personnalisations ou uniquement certaines fonctions.

Ce mécanisme de partage souple rend plus efficace la collaboration en matière de développement entre les bibliothèques, de même qu’il permet des itérations de développement plus rapides.

Les administrateurs de consortium, responsables de la supervision centralisée de plusieurs bibliothèques, peuvent utiliser le package de développement de Primo pour créer une version commune de Primo, tout en permettant à chaque bibliothèque de faire ses propres changements et personnalisations.

L’approche en matière de conception du cadre de découverte ouvert de Primo

Lors de notre prochain article, nous examinerons quelques exemples intéressants de la manière dont certains membres de la communauté Primo ont déjà tiré parti du cadre de découverte ouvert de Primo pour créer de nouvelles fonctions, déjà partagées via GitHub.

Cliquez ici pour télécharger « Driving Innovation through Collaboration », notre document complet sur le cadre de découverte ouvert de Primo (en anglais).