Plugin Mots Objets

Ce plugin fonctionnel pour SPIP 2.1 permet d’ajouter des mots clé à d’autres objets SPIP que les articles ou les rubriques : auteurs, documents...

Cette fonction est intégrée à la Gestion des Groupes de Mots-clés dans SPIP 3.

Fonctionnement

Après installation du plugin, vous disposez de nouvelles case à cocher sur les pages de gestion des mots-clé, permettant de spécifier à quel type d’objets peuvent être attachés tel ou tel groupe de mot clé :

Ensuite, sur les pages de vues de ces objets (par exemple la page de vue auteurs) vous disposez du bloc de choix des mots clé que vous avez l’habitude de voir sur les pages articles ou rubriques :

Exemple sur la vue “documents” [1] (avec le plugin “Médiathèque”) :

Dans les squelettes

Désormais vous pouvez effectuer dans vos boucles auteurs ou documents [2], les mêmes sélections par mots clé que vous pouviez déjà faire sur les articles et rubriques; ainsi par exemple pour n’afficher que les auteurs auxquels le mot clé N°8 a été attribué :

<BOUCLE_auteur(AUTEURS){id_mot=8}>
<p>#NOM</p>
</BOUCLE_auteur>

Avec les tables auteurs étendues

Le plugin Mots Objets peut être utilisé avec le plugin Contacts et Organisations, et permet d’attribuer des mots clé aux contacts ou organisations, via l’auteur lié.

Évolutions

Ce plugin a été développé en attendant l’arrivée de SPIP 3.0 (toujours en développement) qui intègre une nouvelle gestion des mots. Cette future version dispose d’une table de liaison spip_mots_liens et de formulaires pour appliquer des mots à l’objet (déclaré) que l’on souhaite. Et figurez vous que le formulaire de mots apparait même dans la pop-in de documents qui plus est ! (mieux que ce plugin donc !).

Questions / réponses

Q. J’ai bien installé le plugin “mots objets”, mais je ne peux pas attribuer de mot-clé aux documents ?

R. Avez-vous configuré les groupes de mots ?
Par défaut, les groupes de mots clé ne peuvent pas être attribués aux auteurs et au documents, il faut donc aller sur la page de configuration des mots clé, choisir un groupe de mots clé, puis spécifier par les cases à cocher, que tel groupe de mot peut bien être attribué à tel objet.

Footnotes

[1les traductions des légendes “Créer un nouveau mot-clé et l’attribuer à cet auteur” et “Créer un nouveau mot-clé et l’attribuer à ce document” ont été obtenues en modifiant légèrement le core (voir forum ci-dessous).

[2la syntaxe simple (AUTEURS){id_mot=8} est fonctionnelle depuis la version 0.2.1 r41268

Discussion

26 discussions

  • Il y avait une erreur de déclaration de jointure dans la version 0.3, corrigé dans la version 0.4 du plugin (Merci Guillaume W.).

    Notez également que la version SPIP 2.3-dev (en développement fulgurant) intègre maintenant nativement la prise en compte des mots sur n’importe quel objet déclaré, et utilise une table spip_mots_liens. La sélection de mots peut également s’y faire dans la pop-in de mots-clés. (Merci Cerdic !)

    Reply to this message

  • Ploufplouf1

    Bonjour,

    Je viens d’installer le plugin dont j’aurai une grande utilité pour l’affichage de mes documents selon le contexte. Malheureusement j’ai un souci pour l’affichage de mes documents : je n’arrive pas à établir une boucle qui me renvoie les résultats. Le critère “titre_mot” fonctionne-t-il sur une boucle DOCUMENTS ? J’ai beau chercher je ne vois pas comment faire cette boucle de tri sur un mot clé.

    Quelqu’un pourrait-il m’aider ?

    Merci d’avance

    Reply to this message

  • 6
    Ferdinand

    Bonjour,
    J’ai un problème sql étrange depuis que je suis passé de “mots partout” à “mots objets”

    Certains auteurs s’affichent et d’autres pas.

    De plus, je viens de faire la MAJ de sécurité 2.1.8 et

    J’obtiens ce message d’erreurs : Erreur SQL 1146

    Erreur SQL 1146
    Table ’revuespip.spip_mots_documents’ doesn’t exist
    SELECT * FROM spip_mots_documents LIMIT 1
    ainsi que sur spip_mots_auteurs

    • Ferdinand

      Et tous les mots-clés liés aux 250 auteurs ont disparu... C’est quand même embêtant si ça se produit à chaque mise à jour...

    • Pierre-Jean

      J’ai remarqué ce comportemet qui se produit lorsque l’on désactive le plug.
      Il y a intérêt à avoir des backups :)

    • Heu vous pouvez en dire un peu plus ?
      Parce que ça n’a pas de raison de voir ces erreurs.

      (pour la transition mots partout / mots objets, il y a peut être des problèmes - je n’utilisais pas mots partout, donc je n’ai pas testé les migrations)

      Pour les erreurs SQL, elles n’ont pas lieu d’être, sauf si vous «désinstallez» (et non désactivez) le plugin, ce qui jusque là est normal il me semble : la désinstallation supprime les tables créées (s’il doit en être autrement pour une raison que j’ignore, dites-le). Mais la réactivation du plugin doit les recréer dans ce cas.

      http://zone.spip.org/trac/spip-zone/browser/_plugins_/mots_objets/base/mots_objets_upgrade.php#L29

      Matthieu.

    • Pierre-Jean

      Je n’ai pas eu de problème SQL de mon côté : la migration à partir de mots_partout c’est superbement passée.

      C’est effectivement la désinstallation qui fait bien son boulot (c’est juste déroutant car généralement les ables des plugins ne sont jamais supprimées). Pour le coup de la désactivation, je ne savais même pas que c’était possible, et je ne vois pas ou c’est d’ailleurs.

      Est-ce que chez toi l’ouverture de l’édition d’un document se fait aussi dans une nouvelle fenêtre et non pas dans une fenêtre ajax ?

      Pierre-Jean

      • pour désactiver un plugin : le décocher et valider le formulaire de plugins
      • pour désinstaller : déplier le bloc plugin et cilquer le bouton de désinstallation.
      • pour la pop-in ... comme je l’ai déjà signalé, c’est un problème de pipeline. Dans la page complète, nous avons tout un tas de pipelines à dispo, c’est parfait. Dans la popin, il n’y a que le contenu d’affiché, soit le formulaire. Se brancher dessus n’est pas très pratique. Déjà que je trouve la popin de document très haute (plus haute que la taille de mon écran), si en plus on ajoute le formulaire de mots, ça risque de ne pas être pratique. Mais de toutes façons, il n’y a pas moyen je crois actuellement de l’y ajouter.
    • @ Mathieu
      Oui effectivement, après d’inquiétants soulevages de capots sur phpmyadmin, essayant de recréeer les bases, j’ai désinstallé et réinstallé le plugin et tout est rentré dans l’ordre. Reste que l’erreur php est bien apparue à un moment. C’est très déstabilisant :-) Je n’arrive plus après coup à savoir quand exactement est apparue cette erreur (mauvaise manip de ma part ? passage d’un plugin à un autre ? changement de serveur après sauvegarde ?) désolé

    Reply to this message

  • 3

    Bonjour
    juste une question au sujet de cet excellent plugin

    j’ai installé le plugin “Mots Objets” associé à la Médiathèque et j’ai donc maintenant la possibilité d’attribuer des mots clés au documents en passant par Médiathèque ->Modifier

    mais dans un article -> Portfolio-> Modifier, la fenêtre qui s’ouvre ne donne pas accès au sélecteur de mots clés

    comment y remédier ?? merci d’avance pour vos réponses

    bien cordialement
    Natacha

    • Hello,
      il faut que le plugin mediatheque soit actif et passer par la page http://tonsite.fr/ecrire/?exec=documents_edit&id_document=XXX avec XXX ton numéro de document. Cette page est accessible depuis ta page de portfolio, mais il faut l’ouvrir dans un nouvel onglet (et pas en popup). Ne pas oublier d’avoir spécifié qu’au moins un groupe de mots pouvait être attribué à des documents.

    • Merci pour la réponse super rapide
      Médiathèque est activé + 3 groupes de mots clés attribués aux documents

      surprenant en effet ça fonctionne en ouvrant dans une nouvelle fenêtre (clic droit) de la page article
      et il n’y a pas moyen d’ajouter le sélecteur de mot clé dans la popup ??
      ça serait plus facile à utiliser
      bonne soirée
      Natacha

    • Pierre-Jean

      Pareil, le pop up ou pop in accueillant le sélecteur mot_objet serait le bienvenu car pour traiter les docs à la chaîne ce n’est pas tout à fait adapté.

      Quoiqu’il en soit bravo pour ces améliorations qui sont maintenant quasi-natives et qui révolutionnent spip !

    Reply to this message

  • 3

    Bonjour,

    pour l’instant le plugin ne permet pas de rajouter des mots clés à des articles syndiqués. Est ce que cette fonctionnalité est prévue ? Merci.

    • Bonne question... il faudrait quoi ? Parce que j’ai généralisé diverses choses...
      Si ça se trouve ça pourrait se faire (presque) tout seul :)

    • Hello,
      En fait, les mots clés pourraient être appliqués aux articles référencés depuis la page Edition > Sites référencés.
      Cordialement,

    • Ah, mais il n’y a qu’une liste d’article, pas de lien vers l’article en interne (le lien s’en va sur l’article distant). Du coup ce n’est pas évident à intégrer dans ce cas.

    Reply to this message

  • 11
    Philippe G.

    Bonjour,
    Dans une boucle j’utilise le plugin Mots Objets avec
    <BOUCLE_contributeurs(AUTEURS){id_mot=91}{pagination 30}>
    </BOUCLE_contributeurs>
    Je me retrouve avec le message suivant :

    1 Erreur(s) dans le squelette
    |Numéro | message | squelette | boucle |  Ligne |
    |1| Critère inconnu =| squelettes/auteurs_services_91.html | _contributeurs|70|

    Essais effectués, c’est bien {id_mot=91} qui n’est pas reconnu.
    Je suis en SPIP 2.1.2, Plugin Mots Objets 0.2.2

    • Allo ? Quelqu’un ?

    • Je persiste (et signe cette fois ;-) ), il y a un problème, voir le résultat du lien :
      http://saintbrieuc-treguier.catholique.fr/+-Foi-et-culture-bretonne,527-+

      Le plugin Mots Objets est ben installé et validé.

      — 
      Philippe G.

    • Je reviens un peu sur ce que j’ai dit :
      -  le plugin fonctionne bien dans une boucle AUTEURS, voir par exemple
      http://saintbrieuc-treguier.catholique.fr/_al-Lae-Kristen_ :-)
      -  mais pas -sauf erreur de ma part - dans une boucle MOTS, exemple ci-dessus,
      <BOUCLE_mots(AUTEURS){id_mot}> n’a pas l’air d’être pris en compte, erreur sur id_mot.

    • Bonjour,
      Un tests sur boucle auteurs avec critère id_mot fonctionne correctement :

      <BOUCLE_a(AUTEURS){id_mot=11}{0,10}>
      <li>#NOM (N°#ID_AUTEUR)[ (#MODELE{titre_mot}{env})]</li>
      </BOUCLE_a>

      donne un résultat de ce type :

    • Humboldt University (Berlin) (N°1734) Germany
    • Beiten Burkhardt (N°1735) Germany
    • Gleiss Lutz (N°1737) Germany
    • Un autre tests sur boucle auteur avec critère id_groupe fonctionne aussi correctement :

      <BOUCLE_a(AUTEURS){id_groupe=2}{0,3}>
      <li>#NOM (N°#ID_AUTEUR)[ (#MODELE{titre_mot}{env})]</li>
      </BOUCLE_a>

      et donne un résultat de ce type :

    • Waselius & Wist (N°1664) Finland
    • Vieira de Almeida (N°1665) Portugal
    • Lenz & Staehelin (Geneva) (N°1669) Switzerland
    • et une dernière boucle sur mots avec critère id_auteur fonctionne aussi :

      <BOUCLE_m(MOTS){id_auteur = 1664}>
      <li>#TITRE</li>
      </BOUCLE_m>

      et donne un résultat de ce type :

    • Finland
    • e-Competitions Partner
    • Local e-Competitions Partner
    • Tout semble bien fonctionner. Avez-vous fait des tests sur des boucles simples avant de réaliser des boucles plus complexes ?

    • Merci de votre réponse :-)

      Je ne pense pas que ma boucle soit complexe ! En fait j’ai juste rajouté cela dans le squelette mot.html (où je passe {id_mot}:

      [(#REM) Auteurs lies au mot-clef ]
      <B_auteurs>
      <:auteurs:>
      <BOUCLE_auteurs(AUTEURS){id_mot}{par nom}{pagination 10}>
              <div style="margin-top: 10px; border-bottom: 1px solid lightgray;">                        
                      [(#LOGO_AUTEUR{right}|image_reduire{40,0})]
                      <a href="#URL_AUTEUR" class="bleu"><b>[(#NOM|swap)]</b></a>
                      <div style="color: gray; margin-left: 20px">
                              [(#BIO|couper{200})]
                      </div>
                      <br style="clear: right" />
              </div>
      </BOUCLE_auteurs>        
      [<p class="pagination">(#PAGINATION)</p>]
      </B_auteurs>

      C’est visible dans http://saintbrieuc-treguier.catholi.... Tout marche (même les événements que j’ai rajouté), mais pas les auteurs ! Je sèche totalement.
      Où ai-je fais une erreur ?

      Merci d’avance,
      Philippe G.

    • J’ai été voir dans PhpMyAdmin... la table spip_mots_auteurs est bien créé, mais il y a un message : “Pus d’un index de type INDEX pour la colonne id_mot” (il y a deux clés : id_mot et id_auteur, bigint(20) tous les deux.
      Je ne connais pas suffisamment MySQL pour juger...

    • J’ai désinstallé le plugin et l’ai réinstallé, sans plus de résultat. Je propose passer en privé, pour ne pas polluer plus longtemps ce forum. Je publierai ici le résultat. J’envoie mon courriel dans la boîte à ton nom.

    • Je confirme avoir le même problème. La jointure entre mots et auteurs ne fonctionne pas.
      Je l’avais déjà signalé.

      La solution m’intéresse beaucoup.

      FDM

    • J’ai trouvé la solution. Il est indispensable d’enlever la table spip_mots_auteurs créée antérieurement par le plugin mots_partout (ou un autre) ou de mettre une clé primaire sur id_mot et id_auteur.

      Bon à savoir

      FDM

    • Ouh là ! Une avancée, merci :-)
      J’ai juste supprimé spip_mots_auteurs mais est-ce suffisant ? Je n’ai pas les mots clés liés à cet auteur sur cette page (il y en a un certain nombre qui devraient apparaître) :
      http://saintbrieuc-treguier.catholique.fr/_al-Lae-Kristen_
      (J’ai vidé le cache, désinstallé et réinstallé le plugin. Est-ce suffisant ?)

    • Rah... bah, j’ai le même problème que vous ! Figurez vous !

    Reply to this message

  • 1

    Salut,

    Tout roule chez moi si ce n’est que la page du mot (?exec=mots_edit&id_mot=) n’affiche pas les auteurs liés (pour les documents, je n’ai pas essayé).

    Dans le pipeline mots_objets_affiche_milieu, je vois if (defined('_DIR_PLUGIN_GRAPPES')){} qui conditionne l’affichage des listes d’objets liés. Du coup, je me demande si ça marche sans les grappes?

    • Oui, en remettant le nez dans le plugin aujourd’hui, je viens de voir que cette fonctionnalité manquait effectivement. Je pense que je vais l’implementer (avec «afficher_objets» et «spip_bonux»).

      Visiblement Toutati les a fait afficher avec le plugin «Grappes», mais comme on a intégré le plugin «afficher_objets» et des bouts de «spip_bonux» dans une future version de SPIP, autant en prendre le chemin. Il y aura moins de choses à modifier du coup au fil des ans :)

    Reply to this message

  • 3

    Ce plugin annonce finalement deux bonnes nouvelles :

    • la possibilité immédiate d’ajouter des mots-clés à d’autres objets (auteurs et documents),
    • l’annonce d’une gestion native de cette fonctionnalité à terme.

    Deux petites remarques :

    • Peut-on raisonnablement parier sur la conservation de la structure des tables (spip_mots_objet) ?
    • Le formulaire d’ajout de mot-clé n’est pas encore totalement « contextualisé » pour les admin. Exemple : « Créer un nouveau mot-clé et le lier à cet article » dans la page ?exec=auteur_infos&id_auteur=x. Ce n’est franchement pas gênant.

    Bravo !

    • En ce qui concerne la localisation pour l’instant les chaines de langue spécifiques aux mots sont encore dans le core, où l’appel aux chaines “icone_creer_mot_cle_auteur” et “icone_creer_mot_cle_documents” n’est pas encore prévu.

      Il est éventuellement possible (mais déconseillé...) si la localisation est absolument nécessaire, de modifier le fichier inc/editer_mots.php et d’ajouter dans le tableau $titres les deux entrées suivantes :

      'auteurs'=>'icone_creer_mot_cle_auteur',
      'documents'=>'icone_creer_mot_cle_document'

      puis d’ajouter les entrées suivantes dans le fichier de langue lang/ecrire_xx.php :

      'icone_creer_mot_cle_auteur' => 'Cr&eacute;er un nouveau mot-cl&eacute; et le lier &agrave; cet auteur.',
      'icone_creer_mot_cle_document' => 'Cr&eacute;er un nouveau mot-cl&eacute; et le lier &agrave; ce document',
    • François Daniel Giezendanner

      Je relève :

      Évolutions

      Ce plugin a été développé en attendant l’évolution de la gestion des mots clé dans le core de SPIP. Ainsi ce plugin n’aura plus d’utilité dès que les mots clé pourront être attribués à n’importe quel objet SPIP, peut être grâce à un fonctionnement calqué sur celui des documents, avec une table spip_mots_liens permettant d’attribuer un mot clé à un couple objet,id_objet.

      Quelqu’un a-t-il de l’information sur «...l’évolution de la gestion des mots clé dans le core de SPIP...»

      Cordialement

      FDG

    Reply to this message

  • 3

    Bonjour,
    Je voudrais pouvoir afficher plus de 50 mots-clés à choisir. Pour l’instant, quand il y en a plus de 50, il faut taper le début du mot clé pour voir apparaitre une liste de propositions et choisir... Mais cela suppose qu’on sait déjà exactement quel mot-clé existe.
    Je voudrais les voir tous apparaitre dans le menu déroulant.

    Je n’arrive pas à trouver la modif à faire.

    J’ai essayé de mettre

    if (!defined('_MAX_MOTS_LISTE')) define('_MAX_MOTS_LISTE', '99');
        if ($n > _MAX_MOTS_LISTE) {
            $jscript = "onfocus=\"$jscript1 $jscript2\"";

    (pour passer de 50 à 99) ligne 372 de ecrire/inc/editer_mots de spip 2.1.2 que j’ai placé dans “squelettes”, mais ça ne donne rien.

    Quelqu’un aurait-il une idée ?
    J’ai besoin de mettre les mots-clés sur les sites et sur les documents.

    Je suis sous SPIP 2.1.2 et Sarka 3.
    Merci
    Pétarel

    • Je me réponds à moi-même...
      Je ne suis pas certaine que la solution soit “propre”, mais elle fonctionne.
      J’ai gardé le fichier, mais au lieu de le mettre dans “squelettes”, je l’ai remis à sa place d’origine, après avoir renommé le fichier initial en “z0editer_mots.php”, histoire de me souvenir du fichier modifié en cas de mise à jour.
      Je vais même ajouter un “z1” pour garder la modification intacte en archive sur le serveur...

      Ce plugin est plus que génial. MERCI !!!!

    • Plus simple, sans modifier les fichiers...

      Tu mets dans ton config/mes_options.php (à créer au besoin) :

      <?php
      define('_MAX_MOTS_LISTE', '99');
      ?>
    • Merci marcimat, c’est trop génial comme manip. Je n’y avais même pas pensé...
      Ça marche parfaitement.
      Pétarel

    Reply to this message

  • 6

    Pas de mot-clef sur les documents...
    Ma config : SPIP 2.1.1, Mots objet 0.2.2, pas d’autre plugin installé
    C’est OK pour les auteurs, les sites et les évènements. Mais pas sur les documents : je ne vois aucun bloc “mot-clef” apparaître qui permette d’affecter un mot-clef aux documents...
    test effectué sur plusieurs sites

    J’ai zappé quelque chose, je suis bigleux ou il y a un bug ?

    • Bonjour, j’avais le même problème.
      Je l’ai résolu provisoirement en installant “médiathèque” et en gérant les mots-clés des documents par médiathèque, ça marche, mais ce n’est pas très pratique.

    • Merci de ta réponse.... qui ne m’éclaire pas vraiment : j’ai activé Médiathèque mais je ne vois toujours pas apparaître la possibilité d’affecter des mot-clefs aux documents en empruntant le “tuyau médiathèque”. Grrrrrrrr..... Je pense pourtant avoir fait “comme il faut”....

    • hors médiatheque il n’y a pas de page dans SPIP permettant de “voir” un document précis (avec une url de type ?exec=xxxxx&id_document=yy) et lui adjoindre un mot-clé. Le plugin médiathèque est donc nécessaire pour avoir une page de ce type.

      Ensuite, il faut préciser quel(s) groupe(s) de mots peut être attribué aux documents. Cela se règle sur la page du groupe de mots en question, en cochant la case correspondante.

      Ce sont les 2 conditions nécessaires pour pouvoir attribuer des mots clé aux documents.

    • ... C’est pourtant ce que j’ai : un groupe de mot-clefs pour lequel j’ai coché : associé aux documents
      et le plugin médiathèque est bien activé...
      La seule “particularité” de ma situation est que tout ceci existe dans le cadre d’une “ferme à SPIP”

    • Il faut que tu ailles dans “médiathèque” pour pouvoir mettre les mots clés. Cela ne se règle pas sur le document directement, mais via “médiathèque” (icône “edition”, cliquer sur l’icone “mediathèque”.

    • Résolu
      Le fautif était en fait le plugin médiathèque : la version installée était la 1.3.5. Une mise à jour via la procédure automatique vers la dernière version rétablit le bon fonctionnement.
      Todo bene ! Merci !

    Reply to this message

Add a comment

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite / PostgreSQL
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparait.

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.

Who are you?
[Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom