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 ».
Après, c’est valider, valider puis activer en sélectionnant Grappes dans la liste puis « Valider » une dernière fois.
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 »...
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.
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 !
Discussions par date d’activité
23 discussions
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
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
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
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 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
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
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
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 :
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 !)
#URL_GRAPPE
plutot que la bidouille avec#URL_PAGE
.... c’est tout de même plus sympa.grappes_autorisations.php
contient 3 autorisations surchargeables :{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 »).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...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 ?
Je confirme (comme pour groupe_mots d’ailleurs)
:
page grappe.html de test : coucou
J’ai pas testé les autres
Ah... il manque peut être quelque chose dans le .htaccess tel que
en remplaçant credits par grappe...
Répondre à ce message
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 :
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 ... ]
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
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 : |