Cela fait maintenant un mois que le module Associated Nodes a été crontribué sur drupal.org ; l'occasion de dresser un premier bilan :
Mais à quoi donc sert ce module ?
Drupal est un CMS dont les éléments de contenu sont désignés sous le nom générique de "noeuds". Le module permet de faire des rapprochements entre les noeuds en se basant sur différents critères comme la taxonomie ou les champs CCK (en réalité, n'importe quel critère puisqu'il est possible d'écrire des plugins pour Associated Nodes qui définissent leurs propres critères d'association)
Le premier site Internet à avoir utilisé Associated Nodes est celui de la librairie Lekti (http://www.lekti-ecriture.com/librairie). Ici, les noeuds sont des livres qui comportent divers champs CCK (auteur, éditeur, collection...) et qui sont organisés selon une taxonomie importante (Genre littéraire, Type de public...). Le but est de retrouver, pour un livre donné, des livres ayant des points communs avec ce dernier, les différents critères d'association étant pondérés selon leur importance.
Techniquement, le module Associated Nodes a necessité une reflexion importante sur son optimisation. En effet, le nombre de couples de noeuds que l'on veut comparer étant proportionnel au carré du nombre de noeuds, l'explosion combinatoire se révèle rédhibitoire dans des approches trop basiques. Le modèle actuel qui partage le calcul entre le module principal et les différents plugins permet une recherche des noeuds associés dans un temps raisonnable ; de plus, un système de mise en cache évite les recalculs inutiles pour les noeuds consultés plusieurs fois.
En conclusion, les points forts d'Associated Nodes par rapport aux autres modules de mise en relation de noeuds sont :
Si ce module vous intéresse, rendez-vous sur http://drupal.org/project/associated_nodes
Une documentation en anglais est désormais disponible.