Grappes

Ce plugin, développé par Marcimat, a pour vocation de permettre de réunir des objets SPIP, indépendamment de leurs liens « naturels ». Explications.

Ce merveilleux plugin est également disponible en version 1 pour SPIP 3 et 3.1 : http://contrib.spip.net/Grappes-1-0

Un peu d’histoire

Marcimat a reçu l’étincelle le 20 septembre 2008, on ne sait d’où elle venait et personnellement, je n’ai pas tout compris...

Utilité du plugin

Classiquement, en SPIP, on trouvera dans une rubrique située à la racine :

-  des articles écrits par des auteurs qui y ajoutent parfois des mots-clés
-  des sites syndiqués ou non avec parfois des mots-clés
-  des brèves avec parfois des mots-clés
-  des documents
-  ... ?

Ces objets ont chacun des caractéristiques différentes et l’on sait que la souplesse du système de squelettes permet de les lier de différentes manières, parfois même extrêmement pointue.

La simple liste ci-dessus montre d’ailleurs bien pourquoi les « mots-clés » sont si souvent détournés de leur usage : ils sont un moyen de regrouper librement des éléments présents dans des rubriques différentes. Mais ils ne servent en principe pas à ça... Grappe bien.

Par ailleurs, la structure posée par l’usage de SPIP est faite pour durer : on ne change généralement pas les infos publiées jour après jour. Mais il peut être intéressant de grouper des informations à un moment donné pour les dégrouper ensuite... Grappe est là aussi, par exemple, pour ça.

Par exemple... un exemple

Sur mon site de militance préféré (plus de 1000 articles publiés quand même), j’ai :
-  une rubrique « Espace membres », fermée aux visiteurs
-  une rubrique « ECOLO à Anderlecht », ouverte, dans laquelle on reste centrés sur nous-mêmes
-  une rubrique « Dans la commune », ouverte, dans laquelle on parle de choses qui se passent dans la commune ET des interpellations que nos conseillers adressent au Collège...
-  des auteurs, beaucoup et de tout statut
-  ...

Eh bien, dernièrement, on a mis en place des groupes de travail qui nous ont fait apparaître un besoin nouveau :
-  ces GT ont besoin d’une rubrique ouverte (ECOLO à Anderlecht) ET d’une rubrique fermée (Espace Membres) [1]
-  ces GT concernent des personnes qui toutes sont auteur ou visiteur de notre site
-  ces GT parlent de choses qui se trouvent « Dans la commune » et pourraient vouloir référencer des sites... qui le sont parfois déjà ou qui devraient être classés « Dans la Commune » ou dans « Théma » ou...
-  ces GT vont s’intéresser ponctuellement à des dossiers, pour produire des propositions...

C’est pour tenir compte de tous ces aspects, relier des éléments différents et situés dans des contextes variables qu’on va utiliser Grappes. En outre, on décidera, dans cet exemple, que les Grappes créées n’ont pas à être définitives, contrairement aux contenus réels qui, eux, sont tous à vocation d’éternité ;-)

Installation

Grappes nécessite le plugin « Sélecteur générique ». Il vous faudra donc installer celui-ci avant d’activer grappes.

Le plugin « Grappes » se trouve dans la liste des fichiers zip de la zone. Il s’installe comme les autres plugins, à la main ou en mode automatique. Pour l’installation automatique, vous pouvez utiliser la liste de plugins de spip-contrib ou copier l’adresse du ficher zip (https://files.spip.net/spip-zone/gr... et la reporter dans la case « Adresse du plugin (ou de la liste) » sous « Configuration / Gestion des plugins ».

Reporter l’adresse du zip dans la case
Suske 2010 - GPL 3

Après, c’est valider, valider puis activer en sélectionnant Grappes dans la liste puis « Valider » une dernière fois.

Activer le plugin (cocher puis valider en bas de la liste)

Les tables de grappes

Avant d’aller plus loin, intéressons-nous aux deux tables de Grappes, puisqu’elles nous indiquent quelles balises on pourra extraire de nos futures boucles <BOUCLE_ma_grappe(GRAPPES)>, selon le principe « un_champ, #UN_CHAMP » . On pourra aussi en déduire la manière d’afficher les contenus de nos grappes

-  spip_grappes contient :

Nom du champ type utilité balise
id_grappe auto incrémenté ... #ID_GRAPPE
titre texte ... #TITRE
descriptif texte ... #DESCRIPTIF
options tableau (?) contient les différents paramètres d’exploitation de la grappe ...
liaisons tableau, liste contient les types d’objets reliables ...
maj date met en évidence la date des modifications apportées à la structure de la grappe #MAJ

-  spip_grappes_liens contient :

Nom du champ type utilité balise
id_grappe nombre le lien avec la table ci-dessus... ...
objet texte un des types autorisés dans la grappe (et listés dans spip_grappes ...
id_objet nombre couplé au type ci-dessus, permet de retrouver un objet donné (son id, donc) ...

Grâce à la gestion des jointures externes par SPIP, on voit que cette table nous permettra d’afficher simplement les contenus de la grappe dans leurs boucles propres grâce à un simple critère {id_grappe=XX} ou plus simplement {id_grappe} pour peu que cet id soit présent dans le contexte (dans l’URL ou la boucle GRAPPES englobante).

Configuration

Il n’y a pas de configuration spécifique à réaliser. L’objet grappes est désormais disponible, il reste à en créer, comme on le ferait pour des articles, mots clés, etc.

Création d’une grappe

Grappes est accessible via le menu « Édition »...

Menu « Edition / Grappes »
Créer une nouvelle grappe

L’interface vous propose logiquement de créer une nouvelle grappe. Allons-y par l’exemple : pour mon site, j’ai besoin d’une grappe « Groupe mandataires ». Après avoir précisé que ce site implémente à peu près tout ce que SPIP peut proposer, je vous laisse découvrir la démarche de création par l’image.

Définir les contenus de la grappe

Après validation, je me retrouve devant une interface présentant ma grappe et ses zéro objets.

Il reste à en ajouter. Vous tapez quelques lettres dans une des cases et les objets concernés correspondants s’affichent. Pratique.

Cliquer sur la bonne correspondance dans la liste et puis « Valider ».

Zou. Simple. Après quelques minutes, ça donne par exemple ceci :

Afficher les contenus de mes grappes

Reste à gérer l’affichage public. C’est assez simple en fait, vu que vous disposez tout simplement d’un objet SPIP supplémentaire, avec ses boucles et balises, comme les autres :
-  une boucle <BOUCLE_magrappe(GRAPPES)>
-  les balises #TITRE, #DESCRIPTIF, ... pour vos boucles grappes
-  les critères correspondants ( {id_grappe}, {titre}, ... (v. ci-dessus) )
-  dans les boucles d’objets liés à une grappe, vous avez aussi désormais à disposition le critère {id_grappe}.

Un détail qui a toute son importance : la cohabitation avec le plugin « Accès restreint 3.0 » est parfaite. Les éléments restreints sont cachés ou affichés selon les droits du visiteur.

Deux boucles « basiques »

-  Pour lister vos grappes, insérer quelque part dans un squelette :

<BOUCLE_grappes(GRAPPES)>
<h2><a href="#URL_PAGE{grappe,id_grappe=#ID_GRAPPE}">#TITRE</a></h2>
#DESCRIPTIF
</BOUCLE_grappes>

-  Dans le squelette « grappe.html » placer par exemple :

<BOUCLE_grappe(GRAPPES){id_grappe}>
<h2>#TITRE</a></h2>
#DESCRIPTIF
<p>Cette grappe contient:</p>

 <ul>
 <BOUCLE_rub(RUBRIQUES){id_grappe}>
       <li>Rubrique: #TITRE </li>
 </BOUCLE_rub>
 <BOUCLE_art(ARTICLES){id_grappe}>
       <li>Article: #TITRE</li>
 </BOUCLE_art>
 <BOUCLE_mot(MOTS){id_grappe}>
       <li>Mot-Clé: #TITRE</li>
 </BOUCLE_mot>
 <BOUCLE_aut(AUTEURS){id_grappe}>
       <li>Auteur: #NOM</li>
 </BOUCLE_aut>
 <BOUCLE_site(SYNDIC){id_grappe}>
       <li>Site: #NOM_SITE</li>
 </BOUCLE_site>
 </ul>
</BOUCLE_grappe>

Voilà, voilà. Bon amusement !

Notes

[1Ce dédoublement montre qu’il faudra revoir la structure du site : OK, c’est en cours. Dans l’intervalle, je ne veux/peux pas compliquer la gestion d’Accès restreint...

Je reviendrai ici avec des modèles (et des liens) plus percutants mais il faut encore que je les fasse et les rende publics et génériques... :-)

D’autre part, n’hésitez pas à signaler vos utilisations et proposer vos boucles ci-dessous !

Discussion

23 discussions

  • 9

    Bonjour,

    Après quelques temps d’utilisation, je me pose la question :
    ne pourrait-on pas penser a ajouter un identifiant Textuel de grappe comme pour les menus ?

    ceci permettrait :
    -  de simplifier l’affichage dans des squelettes via un identifiant unique plus parlant et pas le id=2 qui actuellement me fait utiliser le titre a cet effet en prefixant suivant la Zone (sommaire - actu, aside - xx)
    -  lors d’un export des grappes de retomber sur une cohérence même si l’id en base est différente
    -  de réserver le Titre de la grappe au titre du groupe généré comme je pense que ça a été prévu au départ.

    Si quelqu’un a une meilleur méthode à me suggérer, un retour d’expérience, ou une idée , je suis preneur.

    • Bon c’est fait ... j’en ai profité pour mettre en place la gestion des rangs avec jquery.ui.sortable, plutot qu’avec les crayons ... pour les articles, documents pour le moment

      donc le shema rajoute un champ #IDENTIFIANT comme pour les menus ou formulaires formidable.

      le rang est géré lors de l’ajout de liaison des objets

      Au final ça remplace aussi très bien le plugin album finalement, et d’autres comme selection_articles ...

      Voila si ça intéresse de tester c’est la Plugin Grappe

    • Bonjour Mist GraphX,

      J’ai installé grappe 1.0 pour spip3.
      Je ne vois pas ou est cette notion de classement.
      Je n’ai pas la possibilité de « déplacer » les différents items d’une grappes.

      Est ce seulement sur la version pour spip 2 ?

      Merci.
      aRT

    • Bonjour @arthegone,

      Oui, c’est normal je n’ai pas publié sur la zone cette évolution, j’ai préféré à l’époque laisser un message et le lien vers mon dépot svn personnel, afin que des gens puisse tester et que le ou les auteurs puisse aussi donner leur avis, que je ne dénature pas leur travail.

      Tout ceci car principalement je ne fait que des sites ou modifications de plugins sur mesure et mes commandes sont spécifiques au besoin du commanditaire et pas toujours en accord avec la charte de la zone ou les souhaits , besoins des auteurs originaux.

      Les modifications sont notées dans le fichiers readme.md.

      En résumé :
      -  Ajoute un champ #IDENTIFIANT, pour insertion dans les squelettes
      -  Ajoute la gestion des RANG
      -  Ajoute le classement avec jquery.ui.sortable

      Le plugin fonctionne sur un site en production, je n’ai pas eut de retour de bug pour le moment.

      Donc tu peut télécharger le zip sur le dépot, et l’installer comme tout plugin.

      Bonne journée

    • Bonjour Mist,

      Désolé du retard mais je n’avais pas été notifié de ta réponse.
      En allant sur ton svn par le web, si je clique sur TELECHARGER j’obtient une erreur :

      svn export failed for « grappes.r428 ».

      Est ce normal ?

      Cordialement.
      aRT

    • Ha oui effectivement je viens de tester.

      Malheureusement je ne suis pas @home en ce moment pour corriger ça.
      Je publierais sur spip-contrib dès que j’ai un accès, désolé je ne peut rien faire de plus :/

      En dépanage, Je te passe en message privé le lien vers mon serveur de plugin, tu l’ajoute a tes dépot SVP et tu poura l’installer normalement depuis l’administration de ton site spip.

      Bonne journée

    • BluePiaf

      Bonjour Mist GraphX,

      Je suis également très intéressé par la fonctionnalité de tri dans Grappes !

      Je suis en train d’upgrader en SPIP 3 un squelette de newsletter modulaire que j’avais développé il y a quelques années en v.2 sur la base de Grappes, et qui permettait la création d’une newsletter « au clic et à la souris ». Plutôt très pratique. Le seul manque était justement cette fonction de tri des articles (et même, de tri des grappes entre elles !).

      J’ai essayé d’aller sur ton dépôt (le lien que tu donnes plus haut), mais impossible de télécharger le zip (j’ai l’erreur « Unable to create a temporary file. Either make the currently used folder writable for WebSVN or change the folder in the configuration. »). Et je ne sais pas identifier l’URL du dépôt SVN pour faire un « svn co »...

      Pourrais-tu m’indiquer comment récupérer ta version de Grappes pour pouvoir la tester ?
      Merci tout plein !

      Nicolas

    • Bonjour,

      çette fonctionalité a été reporté sur la version hébergé par spip-zone :

      http://zone.spip.org/trac/spip-zone/changeset/93676/

      donc en mettant à jour ça devrais fonctionner.

      Effectivement je l’utilise sur un site pour un gabarit de newsletter, ils trouve ça assez pratique ;-)

      Bonne journée

    • BluePiaf

      Ah, ok ! La fonction de tri des articles se fait juste par glisser déposer avec la souris ! J’attendais un truc à base de flèches « monter, descendre » ou que sais-je ! Donc j’ai déjà la bonne version, et ça fonctionne impec. Génial, et merci !

    • identifant n’est pas listé dans les champs de la doc

    Répondre à ce message

  • 2

    Bonjour, Grappe (plugin très intéressant) est-il compatible avec Spip 3 ?

    Merci de votre retour.
    cdt.

    Répondre à ce message

  • Bonjour,
    Quand on est devant le dérouleur des grappes aucune n’apparaît.
    Il faut connaître le nom de celle qu’on veut attacher.
    Ne pourrait-on pas présenter les existantes, comme pour les mots-clés ?
    Merci

    Répondre à ce message

  • Bonjour,

    Quand pensez-vous créer les modèles à insérer dans le champ texte d’un article ?

    Cdt

    FDG

    Répondre à ce message

  • Spipeur débutant

    Pourquoi cet excellent plugin n’est-il pas à compatible avec SPIP 3 ? Pour information, ça doit être un des rares et importants plugins à ne pas avoir été mis à jour.
    Merci.

    PS : Mes connaissances actuelles ne me permettent pas de relever le défi d’une contribution/mise-à-jour de ce plugin, j’anticipe sur d’éventuelles critiques... Je suis simple webmestre et non développeur.

    Répondre à ce message

  • 1

    Pour corriger un bug avec le plugin « afficher_objets » à jour, j’ai modifié, avec la version 0.3 de grappes la fonction inc_lister_objets_dist() qui était présente. Elle s’appelle maintenant inc_grappes_lister_objets_dist() et n’entre plus en conflit.

    Ceux qui utilisaient la fonction lister objets de grappes de la sorte :

    $lister_objets = charger_fonction('lister_objets','inc');
    echo $lister_objets($objet, 'grappe', $id_grappe);

    Doivent maintenant utiliser :

    $grappes_lister_objets = charger_fonction('grappes_lister_objets','inc');
    echo $grappes_lister_objets($objet, 'grappe', $id_grappe);

    Nota :
    La fonction lister_objets() du plugin « afficher_objets » est maintenant présente dans SPIP 2.3 en développement, et permet d’afficher les listes d’éléments en utilisant des squelettes, comme le propose également grappes. Dans l’avenir, il faudra sûrement harmoniser ce plugin grappes avec la fonction de SPIP proposée.

    • nddinechin

      Matthieu, encore merci pour ces modifs.

      J’en profite pour suggérer une todo list pour Grappes - au cas où ça donne des idées à un contributeur ! -, au risque de repasser une couche sur certains points déjà abordés ci-dessous dans les commentaires. A noter que j’utilise le plugin en installation mutualisée pour permette à mes utilisateurs de composer la page d’accueil de leur site ainsi que leur newsletter (il ne s’agit en gros que d’articles, de fait).

      -  ajouter le tri des éléments dans les grappes comme dans le plugin « sélection d’articles » (sorry Suske ! ;-)

      -  rendre compatible avec Autorité pour empêcher la création/modification de grappes aux administrateurs non webmestres (je ne sais pas si ça se fait coté Autorité ou coté Grappes ce genre de choses !)

      -  import/export de la configuration des grappes via yaml.

      -  est-il possible d’ajouter un critère de filtre du genre grappe=x pour les boucles Articles, Rubriques, etc. ?

      -  enfin, il serait pratique de pouvoir grouper les grappes en catégories pour pouvoir afficher des sous-ensembles de grappes indépendants (ex : grappes de composition d’une newsletter, grappes de configuration du portail, etc.)

      Voilu !

    Répondre à ce message

  • 2

    Pour réaliser un carnet d’adresse composé de groupes j’utilise les grappes :

    sauf qu’il ne tient pas compte de l’id car il m’affiche que le contenu de la première grappe.

    je suis sous spip 2.1.1

    merci de votre aide

    • voici ma boucle
      BOUCLE_aut(AUTEURS)id_grappe=2 par nom

    • résolu

      le pb était au niveau des squelettes

    Répondre à ce message

  • 2

    En réfléchissant sur le truc, une idée lancée en l’air, qu’en pensez vous ?
    Imaginons qu’un champ id_position soit rajouté dans spip_grappe_liens, et permette de définir l’ordre d’un élément de la grappe, quel que soit son type.

    Donc on aurait

    <ul>
    <BOUCLE_test(GRAPPES_LIENS){id_grappe}{ par id_position}>
    <li><INCLURE{fond=ligne_element/#OBJET}{env}></li>
    </BOUCLE_test>
    </ul>

    et dans /squelettes, un sous répertoire « ligne_element » avec article.html, rubrique.html, bref les squelettes du type d’éléments dont vous avez besoin pour votre ligne d’éléments avec par exemple dans ligne_element/article.html :

    <BOUCLE_article(ARTICLES){id_article=#ID_OBJET}>
    <h1>[(#TITRE|supprimer_numero)]</h1>
    </BOUCLE_ARTICLE>

    dans ligne_element/rubrique.html

    <BOUCLE_rub(RUBRIQUES){id_rubrique=#ID_OBJET}>
    <h1>[(#TITRE|supprimer_numero)]</h1>
    </BOUCLE_rub>

    et ainsi de suite...

    • Salut,

      En fait, il n’y a un truc que j’arrive pas à saisir : d’où vient ce besoin de mettre un ordre indépendant des types d’objets dans la grappe ? Autrement dit : quel intérêt d’avoir auteur1 puis article99 puis auteur 53 plutôt que auteurs 1 puis 53 et ensuite les articles... (etc.)

      Je suppose que vous avez un cas de figure, si vous voulez bien me l’expliquer :-)

    • « Le cas qui revient le plus souvent chez moi » (TM © ) c’est d’avoir la possibilité de mélanger articles et rubriques,ceux ci n’étant pas forcément enfants de la même rubrique , sans avoir à jongler avec des date ou des num titres, ou encore les fixer en dur dans les squelettes.

    Répondre à ce message

  • 2

    Je comprends pas trop les exemples de boucles. Est ce possible de faire une boucle grappe qui classe tous les articles + les rubriques selon un ordre défini ?

    Du type :

    <BOUCLE_grappe(GRAPPES){id_grappe=1}{par num titre}>
      #TITRE (ici il y aurait les titres de mes rubriques ou articles en fonction de ce que j'ai inséré dans ma grappe)
    </BOUCLE_grappe>
    • Hello,

      J’ai exactement le même besoin que toi...
      D’autre part, il faudrait je pense rajouter un champ dans spip_grappe_lien, genre id_position, afin de pouvoir ordonner les éléments d’une grappe, quels que soient leurs types (article,s rubriques, etc)

      en tout cas merci pour ce plugin, qui permet déjà et permettra de faire encore plus de choses en Spip.

    • Salut,

      Trier des objets différents selon un critère donné, externe ou commun, c’est pas vraiment un problème lié à Grappes... La difficulté est de trier sur un critère commun des objets présents dans des boucles/tables différentes. Je suis pas spécialiste de ça du tout mais il existe des bidouilles pour faire ça, j’en ai vu :-) Ah voilà... C’est facile grâce à Bonux : http://www.erasme.org/SPIP-requete-....

      Grappes est un objet comme les autres, sauf que sa vocation est de lier des objets :-p

      Donc, @filnug : ta boucle ne sortira que le titre de la grappe 1... Pour sortir d’autres objets, il faut insérer d’autres boucles... Mais tu as raison, les exemples de boucles c’est ce qui manque ici : revenez quand vous en aurez (moi je suis plus là dessus pour l’instant :-/). Sinon pour ce qui est de trier des objets divers, v. plus haut.

      @soon7 : Je suis pas très sûr de moi mais j’ai pas l’impression que tu prends la voie facile, si elle existe... Et s’il manque des choses à Grappes, ce serait plutôt des autorisations variables et des fonctions de contenu (genre autoriser des auteurs à créer ou gérer des grappes, limiter des grappes à des types de contenus...) plus que de placement, mais bon je réponds à côté, je sais :-)

    Répondre à ce message

  • 5
    Djinnoll

    Petit souci en 2.1 sur une grappe auteurs-rubriques, le sélecteur trouve bien les rubriques, mais affiche « Nom inconnu » après l’ajout. En revanche, ajoute bien les auteurs

    • je viens de constater le même problème. impossible pour moi de sélectionner une rubrique. j’ai toutjours le « nom inconnu » qui apparaît

    • J’ai passé mon site « grappé » en 2.1 et mis à jour les plugins. Je ne reproduis pas...

      Je suspecte donc votre version du sélecteur générique : la mienne, c’est Version : 0.5 [37313]

    • juste pour info, je viens de changer de navigateur (FF) et ça marche !
      j’ai ensuite testé d’autre navigateur (safari, opera) et c’est ok. Le « coupable » pour l’instant est Flock

    • est ce que le plugin sélecteur générique est dispo en installation auto ?

    • Ils est dispo via le lien « Téléchargements » ici-même (sous le bandeau).

      Le lien direct : http://files.spip.org/spip-zone/sel.... Je ne sais pas s’il est dans les paquets... Plus le temps de vérifier là... S’il n’y est pas merci de mailer à spip-zone@rezo.net :-)

    Répondre à ce message

  • 1

    installé sur une 2.1 mais quand je met le titre de l’article pour l’ajouter rien napparait :( jai bien tout installé pour tant. Meme si je met le bon nom darticle rien à faire..

    • Je ne reproduis pas, donc... Que dire ? Avez-vous vidé le cache ?

      Il importe d’avoir une version récente du sélecteur générique (chez moi, Version : 0.5 [37313] -> je n’ai aucun souci)

    Répondre à ce message

  • Clem87

    Ce plugin est formidable un grand merci.

    Il est juste dommage de ne pas pouvoir faire des groupes de grappe comme il existe des groupes de mots clés. Lorsque l’on crée beaucoup de grappe, on a tendance à plus les retrouver.

    Répondre à ce message

  • 1
    klaus++

    Est-ce que tu as pensé à anonymiser les noms de personnes dans grappe_alimentee-90604.png ?

    • Je ne l’avais pas fait par paresse et parce qu’ils/elles occupent des mandats publics... Mais tu as raison, je vais le faire ! Merci.

    Répondre à ce message

  • Nicolas

    Bonjour !
    Un comportement bizarre de Grappes auquel je me heurte (je ne crois pas l’avoir vu mentionné) : Grappe refuse de prendre en compte les articles « soumis à l’évaluation ». Le plugin « sélecteur générique » les prend bien en compte, mais au moment de faire ajouter, Grappes les ignore. Ça oblige à publier/ ajouter à grappe/ remettre en évaluation les articles si on veut une preview sur un squelette utilisant les Grappes. Pas pratique...

    Y a-t-il un moyen simple de corriger ça ?
    Merci tout plein !

    Répondre à ce message

  • 2

    2 fichiers zip :
    -  un menu pour les grappes : test si le fichier grappe.html existe : si oui : propose un lien vers page=grappe et en sous menu : page=grappe&id_grappe=X : si Matthieu est daccord , je peut commiter
    -  un squelette tous prèt pour squelettes de type Z reprenant l’ensemble des grappes avec les rubriques et les auteurs dans extra , les articles en résumé dans le contenu et les sites dans le contenu. Si le squelette est appelé sans id_grappe : il affiche la liste des grappes et un texte d’introduction. (si un plugin de type Z est activé)
    TODO : gérer l’affichage ou non des grappes

    Concernant le TODO, je me demandais si il ne serait pas intéressant d’avoir des grappes publiques et des grappes privées ? Dans ce cas ajouter un filtre publique=on dans les boucles suffirait à passer en 404 si aucune grappes n’est publiques.

    Qu’est ce que vous en pensez ? Je n’aurais sans doute pas le temps cette semaine, mais pitete le week end prochain (si j’arrive à comprendre coment marche une mise à jour de base SQL)

    Merci

    -  http://shnoulle.net/IMG/zip/zgrappes.zip
    -  http://shnoulle.net/IMG/zip/menusgrappes.zip

    • Je testerai jeudi. D’ici là : famille et militance IRL ;-)

      Merci pour cette super-réactivité !

    • Bon, j’ai tenté les tests... Pas avec trop de réussite mais je n’ai pas encore pris de temps pour vraiment m’intéresser à Z... Et je n’en n’ai pas pour l’instant.... Désolé. Je garde ça dans un todo... (Mais après des exemples de boucles simples ;-) )

    Répondre à ce message

  • 2

    Bonjour,

    j’aurai aimé savoir comment associer un objet document à une grappe ?
    (ou comment faire évoluer le plugin pour le faire ?)

    Merci de votre aide.

    bust

    • Salut bust, là, en l’état, ça passe par des boucles art et rub « classiques ». Comme les docs sont désormais aisément référençables (plugin médiathèque) dans tous les articles, il est assez facile de lier tout document à un article ou une rubrique faisant partie de la grappe.

      Faire évoluer le plugin ? C’est le bizness de marcimat là mais à mon sens, le gain immédiat pour le plugin n’est pas clair.

    • Bonjour Suske,

      je suis tout à fait d’accord avec toi pour l’utilisation du plugin Médiathèque. C’est ce que j’imaginai d’ailleurs faire.

      Par contre, le fait de gérer les documents de façon autonome (avec Médiathèque) et de les lier directement à Grappe, je pense que c’est un vrai plus. Surtout d’un point de vue utilisateur.

      Je vais essayer d’ajouter l’objet document à la liste des grappes en adaptant le plugin. Ensuite (si je peux y arriver, j’enverrai les sources modifiées à Marcimat. Il en fera l’usage qu’il juge utile).

      à bientot donc !

      Bust

    Répondre à ce message

  • 1

    Une question : Pourquoi un descriptif et pas de texte ?

    Les mots clé et les groupe de mots ont un texte avant d’avoir un descriptif. Les breves ont un texte et pas de descriptif, par défait un article à un texte.

    Ne serait il pas plus intéressant d’avoir en priorité un texte ?
    (en plus ca permettrait d’utiliser <intro> et la balise qui va avec.

    • Quand j’ai codé grappes, dans mon esprit, ce n’était pas à proprement parler un objet éditorial, mais simplement un conteneur, dans lequel on mettait ce qu’on voulait.

      Pas de souci si quelqu’un veut ajouter un texte dessus.

    Répondre à ce message

  • 4

    Merci Marcimat pour ce plugin qui me dépanne énormément depuis qu’on me l’a indiqué sur la zone. À l’usage, trois petites requêtes :

    • l’une rejoint celle de Suske, à savoir la possibilité de limiter la création et suppression de nouvelles grappes au seul webmestre.
    • une autre serait l’ajout un petit système de tri à l’intérieur des grappes (comme dans les plugins « a2a » ou « sélection d’article ») pour permette un affichage ordonné des éléments de la grappe sans avoir à changer des numéros de titres à droite et à gauche - ou que sais-je.
    • enfin, je trouve le système du sélecteur générique trop peu ergonomique : outre le fait que quelques navigateurs se fâchent avec lui de temps en temps, le champ trop étroit oblige à de fastidieuses manips d’ascenseurs, sans compter que le chemin+nom des articles est rarement affiché dans son l’intégralité. Là encore, le sélecteur du plugin « a2a » est pour moi un modèle du genre. Serait-il possible de l’adapter au plugin Grappes, en attendant que le plugin Sélecteur générique soit plus « friendly » ?

    En tout cas, merci beaucoup encore pour ces outils géniaux !

    • Je réponds à quelques points (Suske, n’hésite pas à mettre à jour la doc au fur et à mesure des discussions !)

      • hors sujet, mais j’indique qu’on peut faire #URL_GRAPPE plutot que la bidouille avec #URL_PAGE.... c’est tout de même plus sympa.
      • concernant les autorisations, le fichier grappes_autorisations.php contient 3 autorisations surchargeables :
        • autoriser_grappe_creer_dist
        • autoriser_grappe_modifier_dist
        • autoriser_grappe_associer_dist
      • pour le tri, donc, je suppose ordonner les différents éléments mis dans une grappe selon un choix, c’est vraiment complexe en l’état (si c’est permettre de voir les éléments selon différents angles, le critère {tri} et #TRI de Bonux devrait pouvoir le faire, suffirait de l’intégrer, ou encore, créer des listes en utilisant le plugin en dév « afficher_objets »).
      • je suis entièrement d’accord pour le sélecteur générique. À l’époque, j’aurais aimé utiliser ce sélecteur uniquement s’il y avait un grand nombre d’objets dans la liste demandée... mais je n’avais pas trouvé comment coder cela de manière générique. Je viens de regarder a2a là... Son sélecteur est facilement réexploitable je présume. Si tu dis que c’est plus ergonomique, faudra l’intégrer...
      • ah, et je précise que j’ai pas trop le temps de le faire (24h par jour... tout ça quoi...)
    • Oui, je tâcherai de mettre à jour, sans hésiter ;-)

      -  #URL_GRAPPE plutôt que la bidouille avec #URL_PAGE : oui mais... Si cela forme bien des URL du type spip.php ?grappeXYZ , hélas sur mon site ces urls ne me retournent pas le squelette grappe.html... d’où la pratique bidouille via #URL_PAGE . Je précise que ce site n’a pas de rewrite rule activée (je n’ai pas de .htaccess à la racine). En l’état j’ai donc documenté ce que je sais fonctionner... Faut que je trouve le problème (mais 24h, tout ça :-) )
      -  les autorisations ça me dépasse mais je publierai ici volontiers toutes les surcharges qui me parviendront
      -  le tri, ça ne me dépasse pas mais... Je reviendrai ici avec des modèles, je le jure (24h tout ça). Dont un trié avec BONUX.
      -  le sélecteur générique est pas top c’est vrai c’est pas « friendly » mias c’est « usable » (quoiqu’il m’ait amené à un « linux freeze » un jour avec Firefox à 99% CPU et 700Mb occupées en ram : ça swappait hard ce jour là... merci kill et alt-ctrl-esc !)
      -  ah, le temps... Je pourrais faire un article « to-do » où je reporterais les idées pour le jour où quelqu’un... C’est dans les pratiques de contrib de faire ça ?

    • Oui, je tâcherai de mettre à jour, sans hésiter ;-) #URL_GRAPPE plutôt que la bidouille avec #URL_PAGE : oui mais... Si cela forme bien des URL du type spip.php ?grappeXYZ , hélas sur mon site ces urls ne me retournent pas le squelette grappe.html... d’où la pratique bidouille via #URL_PAGE

      Je confirme (comme pour groupe_mots d’ailleurs)
       :
      page grappe.html de test : coucou

      • url_arbo : OK
      • url_html : KO (lien grappe1.html)
      • url_libre : OK (sans doute parce son url complète est dans la table des urls)
      • url_page : KO (spip.php ?grappe1)
      • url_propres : KO (après recalcul), le lien est celui de arbo)
      • url_standard : le lien vers la grappe dans la page article donne l’article et non la grappe.

      J’ai pas testé les autres

    • Ah... il manque peut être quelque chose dans le .htaccess tel que

      RewriteRule ^credits([0-9]+)(\.html)?$	spip.php?page=credits&id_credits=$1 [QSA,L]

      en remplaçant credits par grappe...

    Répondre à ce message

  • 2

    Merci a vous 2 !!

    Plugin très intéressant !
    Si ca vous intéresse , je me sens capable d’envoyer un plugin zgrappes du même style que z-groupe-mots, j’ai un peu de temps demain (22 heures d’occupée quoi ;).

    Je pense que ca peut venir en complément .

    • hop hop hop...

      Doucement Shnoulle : Sachant qu’il n’y a pas de squelettes publics actuellement, ptet que mettre les pages pour Z directement dans le plugin glappes (et pas dans un plugin séparé) serait plus pertinent (contenu/page-grappe.html, ...).

      Ce qui me gène avec ce comportement de Z, c’est que ça fournit des squelettes publics (donc donne un accès aux contenus aux malins) même si le site n’utilise pas de page de vue d’une grappe (c’était le cas du projet pour lequel il avait été codé d’ailleurs). Il faudrait trouver un moyen de dire dans une config :

      • [ ] activer les squelettes publics de grappes fournis par défaut.

      Là, ça serait tip top pour tout le monde. Ça revient peut être à mettre dans les squelettes contenu/page-grappe des [(#CONFIG{grappes}|table_valeur{squelettes_publics}|oui) ... le contenu ... ]

    • directement dans le plugin glappes (et pas dans un plugin séparé)

      Je commence par une doc pour l’inclure facilement dans zpip si tu veut.
      Je prépare un truc et je le poste en zip ici au cas ou. Si c’est OK, je balance sur la zone .

      (Voire créer un menu grappe .)

    Répondre à ce message

  • Merci Suske et Marcimat pour vos réponses ! Je suis une bille en programmation mais avec les pistes que vous donnez là, je vais essayer deux trois trucs... Si jamais par hasard j’arrivais à quelque chose je vous préviens ! ;-)

    Répondre à ce message

  • 2

    Salut,

    vraiment très intéressant d’un point de vue conceptuel ce plugin
    voilà un question et une suggestion :
    -  existe-t-il une pipeline pour déclarer la possibilité d’ajouter d’autres objets aux grappes (typiquement, je pense aux jeux)
    -  pourrait-on envisager de relier des grappes aux grappes (avec un contrôle de récursivité pour éviter d’avoir des boucles infinies) ?

    • Héhé, là, marcimat va devoir se mouiller paske moi, les pipelines, j’emploie ceux des autres ;-)

      Une autre idée qui vient de me passer par la tête : une gestion des droits sur les grappes (genre un Accès restreint portant sur des Grappes plutôt que des rubriques).

    • Non, pas de pipeline, mais des commentaires pour ajouter des contenus dans le formulaire, comme pour l’actuelle page de groupes de mots de SPIP. C’est pas idéal, mais ça marche. Pour les mots, il y a ça dans le formulaire : <!--choix_tables--> et plus loin <!--choix_acces-->. Le plugin Agenda l’utilise de la sorte pour ajouter sa colonne évènement :

      function agenda_editer_contenu_objet($flux){
      	if ($flux['args']['type']=='groupe_mot'){
      		// ajouter l'input sur les evenements
      		$checked = in_array('evenements',$flux['args']['contexte']['tables_liees']);
      		$checked = $checked?" checked='checked'":'';
      		$input = "<div class='choix'><input type='checkbox' class='checkbox' name='tables_liees&#91;&#93;' value='evenements'$checked id='evenements' /><label for='evenements'>"._T('agenda:item_mots_cles_association_evenements')."</label></div>";
      		$flux['data'] = str_replace('<!--choix_tables-->',"$input\n<!--choix_tables-->",$flux['data']);
      	}
      	return $flux;
      }
      
      function agenda_libelle_association_mots($libelles){
      	$libelles['evenements'] = 'agenda:info_evenements';
      	return $libelles;
      }

      Les mêmes commentaires sont présents dans grappe : <!--choix_liaisons--> et plus loin <!--choix_acces-->. Il suffit de reprendre le principe.

    Répondre à ce message

  • 1

    hhmm. ce plugin me fait penser, dans sa logique, au node (noeud) de drupal. Toute comparaison reste très relative, mais je trouve qu’il y a un certain rapprochement vraiment intéressant. merci pour ce plugin !

    Répondre à ce message

  • 1

    waou... impressionant...

    Ca c’est de la nouveauté !

    Il manque plus que des formulaires publics pour lier articles, mots clés, et rubriques, etc... quand le visiteur/rédacteur en à l’autorisation.

    Vraiment impressionné, ça va permetre tellement de choses !

    Merci vraiment !

    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 :

  • 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
  • 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 apparaît.

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.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom