Glossary 2 ?
Depuis 2005, OSInet publie et maintient un module Drupal de gestion de glossaires, https://drupal.org/project/g2, originellement créé pour Drupal 4.6. Pour sa dix-huitième année, nous publions aujourd'hui sa première version beta pour Drupal 10 et Drupal 9, disponible sur https://www.drupal.org/project/g2/releases/8.x-1.0-beta1
Découvrez toutes ses évolutions no-code, son UX améliorée, et surtout son filtre de tagging automatique rendu possible par l'agorithme Aho-Corasick.
Des questions ? Ouvrez une issue sur drupal.org, ou contactez-nous ici-même.
Nouveautés
- Nouveau: marquage automatique des entrées de glossaire reconnues dans tous les contenus. Sans faux positifs grâce à une "stop list".
- No-code: les données sur le profil utilisateur sont dorénavant un bloc Views.
- No-code: les flux "WOTD" (le mot du jour) est dorénavant une page Views.
- No-code: toutes les fonctions thémables des versions antérieures ont été remplacées par des champs configurables et des "view displays" spécifiques aux diverses représentations présentes dans le module
- No-code: Les cinq blocs de fonctionnalités traditionnels du module sont disponibles:
- Alphabar: une barre d'initiales de toutes les entrées présentes dans le glossaire
- LatestN: les n entrées les plus récemment mises à jour dans le glossaire
- Random: un mot au hasard dans le glossaire, et toujours différent du mot du jour ou du précédent affiché
- TopN: les n entrées les plus vues dans le glossaire, y compris par les utilisateurs anonymes ou derrière un. CDN
- WOTD: "Word of the day" le mot du jour, choisi par l'administrateur site ou en rotation automatique
- UX: meilleure ergonomie des écrans de configuration
- UX: simplification des permissions
- UX: le back office permet dorénavant de régénérer l'Alphabar automatiquement à la demande
- UX: le formulaire de saisie des entrées de glossaire est dorénavant un formulaire Drupal standard sans comportement spécifiques
- UX: l'aide en ligne a été étendue et est proposée sur de multiples pages, dont les "view displays"
- UX: le rendu de l'Alphabar a été SMACSS-ifié et n'utilise plus d'espaces non significatifs
- UX: La page d'accueil du glossaire est configurable, pour être remplacée par une route au choix, y compris une vue; et la version de base est simplifiée
- UX: La page des homonymes est configurable, pour être remplacée par une route au choix, y compris une vue; et la version de base est déjà une vue
- Standardisation: le serveur de glossaire XML-RPC expose dorénavant les entrées avec une structure Drupal standard
- Standardisation: la table spécifique
g2_node
est remplacée par des champs Drupal core
- Qualité: Le module est désinstallable et réinstallable sans laisser de configuration en base
- Qualité: tous les blocs sont maintenant alimentés par des services indépendants du thème
- Qualité: le suivi des références aux termes de glossaire est dorénavant un service séparé.
- Qualité: 65 cas de tests de types Unit, Kernel, Functional et FunctionalJavascript
- L'intégration CTools Context 3 est supprimée
- Qualité: Le module est compatible PHP 8.1/8.2
- Qualité: Le client Ruby de démonstration est compatible Ruby 2.6
L'auriez-vous imaginé ? le patch de la version D6 à la version D10 représente 15000 lignes de PHP, soit l'équivalent de Drupal 4.0 core au grand complet.
Pour les curieux
L'algorithme Aho-Corasick introduit dans cette version permet de matcher un grand nombre d'entrées à l'intérieur d'un texte du fait d'une complexité linéaire par rapport au nombre d'entrées, à la différence des algorithmes naïfs ou à base d'expressions régulières, à complexité quadratique.
C'est ce qu'il fallait pour un glossaire destiné à contenir un grand nombre d'entrées.