- français
- English
EPFL Library Link - Notes de développement
TO DO
Par ordre d'importance:
- fusion du projet avec la barre d'outils LibX de la bibliothèque
- intégration plus "user friendly" dans Amazon
- réfléchir à une compatibilité avec Safari ou Google Chrome qui accepte désormais en natif certains scripts Greasemonkey
- option rechercher dans le catalogue ebooks depuis NEBIS (répéter la recherche)
- améliorer le service dans Electre.com
- unification du lien vers la version électronique (cf SVM)
- traduire la doc en anglais
- traduire l'application en français + paramétrage
- lien depuis Infoscience
- signer l'application
- commencer à implémenter les nouvelles idées
Principe général
Le plug-in se compose d'une série de scripts pour Greasemonkey, qui sont compilés en un plug-in indépendant en utilisant ce code mis à disposition par Gina Trapani. L'avantage d'une telle distribution sous forme de plug-in par rapport aux simples scripts Greasemonkey est avant tout la gestion des mises à jour: lorsqu'un changement doit être effectué, une nouvelle version du plug-in est publiée et la mise à jour se fait automatiquement chez les utilisateurs.
Structure des scripts
Il y a un script par service (amazon, blackwell, etc.) et un fichier qui comporte le code commun (epflshared.js). Un script différent est responsable pour l'affichage des e-books sur NEBIS.
Voir le paragraphe "Source" ci-dessous pour le code des scripts Greasemonkey.
Le compileur ne supporte malheureusement pas l'instruction @require de Greasemonkey, ce qui fait que le code commun (epflshared.js) doit être copié dans chaque script avant la compilation. Un petit script shell a été rédigé pour cette opération (voir la marche à suivre ci-dessous).
Compilation
Le script de compilation est écrit dans le langage Ruby. Il est donc nécessaire de disposer d'un environnement qui supporte ce langage. Le mac d'Alain (bibmac4) dispose de cet environnement et a par conséquent été utilisé à cet effet jusqu'à présent.
Voir la marche à suivre pour les étapes à effectuer lors de chaque mise à jour.
Publication
Les fichiers obtenus sont placés sur le serveur library pour publication. Le plug-in n'utilise pas la plate-forme de publication de Mozilla car au moment de sa création, il était impossible d'obtenir que le plug-in soit sorti de la "sandbox" sans obtenir un minimum de "votes" de la communauté, difficilement réalisable au vu de l'intérêt très restreint du plug-in (uniquement utile à l'EPFL).
Marche à suivre pour la mise à jour (installation EPFL)
- Modifier un ou plusieurs fichiers .user.js en fonction des besoins
- Les placer sur bibmac4, répertoire /_input/epfllibrarylink/user_scripts
- Au même endroit, placer le fichier epflshared.js et le script require_replace.sh, et l'appliquer à tous les scripts: for file in epfl_* ; do ./require_replace.sh $file ; done
- Retirer de ce répertoire epflshared.js, require_replace.sh et les scripts originaux
- Compiler l'extension: ./compile.sh epfllibrarylink [version_no]
- Modifier le fichier update.rdf en ajoutant la nouvelle version
- Mettre à jour le changelog (fichier changelog.xml)
- Uploader le nouveau .xpi, update.rdf et changelog.xml mis à jour sur le serveur FTP library.epfl.ch
Un backup du répertoire sur bibmac4 au 28 août 2012 est disponible au téléchargement ici.
Notes
- Attention, classement non décimal des numéros de version!! La version 0.6 est considérée comme plus ancienne que la version 0.52...
- On ne peut pas utiliser le site des extensions Mozilla car on ne peut pas sortir le plugin du bac à sable (n'intéresse pas assez de monde). Si le plugin reste dans le bac à sable, c'est compliqué car les utilisateurs doivent s'inscrire pour l'installer. On doit donc distribuer directement le plugin.
- Il faut fournir un fichier update.rdf pour cela - Documentation update.rdf
- Pour générer la clef cryptée, utiliser McCoy
- GUID: {9afcac93-6caf-497b-9c7c-e0ca5f634351}
- Contrôler dans install.rdf que la version minimale de Firefox est bien 3.0 - Documentation install.rdf
Source
- Scripts Greasemonkey sur lesquels est basée l'extension (ils fonctionnent également tel quel, en les installant sur Greasemonkey, par contre ils ne sont pas mis à jour automatiquement)
Ressources
- Compileur utilisé depuis avril 2011: Greasemonkey Multi-script compiler de Gina Trapani
- Ancien Greasemonkey compiler (conflit avec Greasemonkey, n'est plus mis à jour)
- GUID maker
- Script pour remplacer tous les @require par le fichier lié en dur (emplâtre sur une jambe de bois, mais ça marche): require_replace.sh
- Ce plugin est basé sur l'extension Kearney Library amazon.com
- Les icônes sur ces pages web: Cats by McDo Design et Tulliana2 by Umut Pulat
- A terme, essayer d'intégrer le mécanisme d'édition spécifique par bibliothèque de LibX
- Il existe un produit commercial qui permet de développer une toolbar adaptée à une bibliothèque: Conduit. Exemple à la KCEbib
Documentation
Changelog