Présentation vidéo
Vidéo disponible en différents formats sur Médias SPIP
Fonctionnement
Ce plugin étend le fonctionnement du plugin « Mots » (inclus dans SPIP) afin de permettre de gérer des arborescences de mots. Il ajoute pour cela certains champs dans les tables spip_groupes_mots
et spip_mots
. Il surcharge également quelques fichiers du plugin « Mots ».
Une nouvelle option est présente dans les groupes de mots, pour autoriser dans ce groupe des mots arborescents (la valeur est non par défaut) :
Notons tout de suite, que si cette option est active, revenir à « non » aplatira tous les mots arborescents présents dans ce groupe de mot ! Attention donc !
L’option active, la création d’un mot dans un tel groupe de mots ajoute un champ de saisie pour définir éventuellement un mot parent :
À chaque profondeur dans la hiérarchie, un losange est ajouté. Dans l’image suivante, le mot clé a un parent sélectionné :
Notons qu’il n’est pas possible de changer le groupe de mots d’un mot clé qui a le champ parent rempli : pour déplacer un mot clé dans un autre groupe de mots, il faudra mettre le champ « Mot parent » sur vide. Voilà ce qu’on obtient si on essaie ici de changer de groupe sans effacer le mot parent sélectionné :
Enfin, déplacer un mot qui contient des mots enfants dans un autre groupe de mots est possible, mais si le groupe destination n’accepte pas de mots arborescents, l’arborescence sera aplatie. C’est ce qu’indique le message de prévention suivant :
En dehors de ces quelques détails, les fonctionnements sont assez identiques concernant les mots clés ou l’ajout de mot clé aux objets éditoriaux.
Prérequis
Ce plugin nécessite SPIP 3.0 minimum.
Il est compatible avec
- le plugin « Mots techniques »,
- le plugin « Motus » (à vérifier).
Contre-indication
Incompatible actuellement avec le plugin « Groupes de mots clés arborescents (gma) » car ils surchargent tous les deux des fichiers du plugin « Mots » (ça va encore), et parfois les mêmes fichiers (là ça ne va plus) !
Technique
Table spip_groupes_mots
:
L’option de mots arborescents sur la table des groupes de mots est définie avec le champ mots_arborescents
qui peut valoir oui
ou non
. Toute autre valeur que oui
, est cependant considérée comme non
!
Table spip_mots
:
Des champs sont ajoutés dans la table des mots clés :
-
id_parent
: contient l’identifiant du mot clé parent, sinon 0. Ce champ sert au calcul des critères{racine}
,{branche_mot}
, et bien évidemment{id_parent}
. -
id_mot_racine
: contient l’identifiant du mot racine (c’est l’équivalent deid_secteur
sur les rubriques). -
profondeur
: contient la profondeur dans la hiérarchie de mots. Les mots racines ont une profondeur 0 (comme le champprofondeur
sur les rubriques donc).
Boucles :
Le plugin permet d’utiliser une boucle HIERARCHIE_MOTS
afin de dresser la liste de l’arborescence d’un mot donné.
Un squelette de test est disponible dans test/motsar.html
du plugin, et exécutable par un webmestre avec http://le_beau_site/?page=test/motsar
. Il liste les groupes de mots acceptant les mots arborescents, et toute l’arborescence.
Voici un simple exemple listant, pour un mot clé donné, l’arborescence de ses mots enfants :
<BOUCLE_mot(MOTS){id_mot}>
<h2>#TITRE</h2>
Enfants de ce mot :
<B_enfants>
<ul>
<BOUCLE_enfants(MOTS){id_parent}{par num titre, titre}>
<li>#TITRE
<BOUCLE_recursif(BOUCLE_enfants) />
</li>
</BOUCLE_enfants>
</ul>
</B_enfants>
</BOUCLE_mot>
Discussions par date d’activité
17 discussions
Bonjour,
Merci pour ce plugin. Toutefois j’ai du le modifier pour qu’il permette d’associer des mots de groupes differents. Je suggere d’offrir cette possibilite dans ce plugin, car il y a plein de cas de figures ou les mots appartiennent a des groupes differents. Je soupsconne d’ailleurs ceux qui souhaitent une compatibilite avec le plugin « groupes arborescents » d’etre dans le meme cas. Par exemple, si nous avons une structure avec des mots cles de pays, de regions, et de villes. Il peut etre tres utile de creer une hierarchie entre ces mots, mais il est probablement aussi plus pratique de conserver ces mots dans des groupes separes.
Pour ce qui est de la mise en oeuvre de mon cote, j’ai du commenter le test dans motsar_formulaire_verifier, et pour ce qui est du formulaire de selection du mot parent, cela se fait avec deux listes deroulantes (au lieu d’une seule dans le systeme actuel). La premiere nous permet de selectionner le groupe du parent (seuls les groupes avec l’arborescence active sont affiches). Une fois un groupe de mot selectionne, je rafraichis en AJAX la seconde liste deroulante, qui presente la liste des mots du groupe selectionne. Si cela interesse l’auteur du plugin, je peux fournir mon code (que l’on peut probablement ameliorer, j’ai juste fait en sorte que ce soit fonctionnel)
Répondre à ce message
Bonjour,
Merci pour ce plugin. Toutefois j’ai du le modifier pour qu’il permette d’associer des mots de groupes differents. Je suggere d’offrir cette possibilite dans ce plugin, car il y a plein de cas de figures ou les mots appartiennent a des groupes differents. Je soupconne d’ailleurs ceux qui souhaitent une compatibilite avec le plugin « groupes arborescents » d’etre dans le meme cas. Par exemple, si nous avons une structure avec des mots cles de pays, de regions, et de villes. Il peut etre tres utile de creer une hierarchie entre ces mots, mais il est probablement aussi plus pratique de conserver ces mots dans des groupes separes.
Pour ce qui est de la mise en oeuvre de mon cote, j’ai du commenter le test dans motsar_formulaire_verifier, et pour ce qui est du formulaire de selection du mot parent, cela se fait avec deux listes deroulantes (au lieu d’une seule dans le systeme actuel). La premiere nous permet de selectionner le groupe du parent (seuls les groupes avec l’arborescence active sont affiches). Une fois un groupe de mot selectionne, je rafraichis en AJAX la seconde liste deroulante, qui presente la liste des mots du groupe selectionne. Si cela interesse l’auteur du plugin, je peux fournir mon code (que l’on peut probablement ameliorer, j’ai juste fait en sorte que ce soit fonctionnel)
Répondre à ce message
Bonjour, merci pour votre travail.
Pensez-vous rendre ce plugin compatible avec Groupes de mots arborscents ?
Cordialement
Répondre à ce message
Bonjour Matthieu,
Merci pour votre réponse.
Je viens de refaire un essai d’installation.
mysql.log ne reçoit aucun message nouveau.
Mais dans maj.log, j’ai le message suivant, le seul de toutes les logs qui signale une erreur :
Dec 14 09:39:48 88.167.109.86 (pid 30267) :Pri :ERREUR : maj 1 fonction motsar_definir_heritages non definie
Cordialement
T. Merger
Répondre à ce message
(complément au commentaire précédent)
Lors d’un nouvel essai de déinstallation-réinstallation, je retrouve les messages d’erreur mentionnés plus haut :
« L’installation du plugin « Mots arborescents » (version : 1.0.2) a échoué
MAJ init .
L’opération a échoué. init 2
Actions réalisées
L’activation du plugin « Mots arborescents » (version : 1.0.2) s’est correctement déroulée
L’installation du plugin « Mots arborescents » (version : 1.0.2) a échoué
Installation du plugin Mots arborescents
MAJ init
L’opération a échoué. init 2
L’opération a échoué. »
Il semble que l’installation échoue mais que l’activation réussit !
Et je subodore que c’est l’installation qui devrait créer les champs supplémentaires...
Cordialement.
Oui, il faudrait voir ce qui crée une erreur à l’installation.
Peut être y a t’il quelques logs dans tmp/log/mysql.log ou sqlite.log qui indiquent que les champs n’ont pas pu être créés ?
En regardant rapidement le code, je ne vois rien de spécial qui semble clocher pourtant.
Répondre à ce message
Bonjour,
D’abord bravo à Matthieu Marcillaud pour tous les outils qu’il nous propose !
J’ai, dès que SPIP l’a rendu possible avec sa version 3, créé des objets documentaires ; ça m’a permis d’intégrer progressivement dans SPIP des développements personnels, donc de devenir plus "standard" sans tomber dans un carcan articles-brèves.
J’ai aussi utilisé "la fabrique" pour créer la dernière salve d’objets documentaires.
Mais ce qui m’amène aujourd’hui, c’est que je teste Mots arborescents 1.0.2 sous SPIP 3.0.17.
plugin préalablement installé : « Saisies pour formulaires » (version : 2.5.19)
PHP Version 5.4.45
MYSQL v.5.5
J’ai eu des bizarreries (notification d’erreurs) lors des premières tentatives d’installation du plugin, mais maintenant il s’installe et s’active.
Mais les champs supplémentaires dans les tables spip_groupes_mots et spip_groupes_mots ne sont pas créés à l’installation du plugin, ce qui crée bien sûr une erreur dès que je vais en mode modification sur les groupes de mot-clés ; ex : "Critère inconnu profondeur"
Cordialement.
Répondre à ce message
Bravo pour la persévérance. Cela fait des années qu’on en parle ! Merci
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |