Grappes 1.0 & 2.0

Présentation et nouveautés

Cette version 1.0 du plugin Grappes est un portage pour SPIP 3.x. Le plugin permet de grouper des objets de SPIP dans des grappes. Les objets du core (articles, rubriques, auteurs, etc.) sont pris en charge, ainsi que les nouveaux objets ajoutés par des plugins.

Côté technique, le plugin utilise les nouvelles spécifications et APIs de SPIP 3 (api de déclaration d’objet, de gestion de liens).

La version 2.0 présente une rupture de compatibilité pour vos squelettes si vous utilisiez {par rang} pour trier l’affichage de vos grappes.
Cette rupture de compatibilité a été rendue nécessaire pour adapter le plugin à SPIP 3.3.

Installation et configuration

Ce plugin nécessite le plugin Sélecteurs générique en version 0.8.3 minimum.

Attention ! : pensez bien à activer le fichier htaccess.txt de SPIP en le renommant en .htaccess ; sans ça le plugin ne fonctionnera pas (ceci est impératif pour l’auto-complétion des champs de recherche).

Utilisation du plugin

La page qui liste les grappes du site est accessible dans le menu Édition de l’espace privé.

Cette page affiche une la liste des grappes du site et un lien qui permet de créer une nouvelle grappe.

La page de vue permet d’éditer les liens de la grappe, modifier son logo et de supprimer la grappe.

La page d’édition d’une grappe permet de modifier : le titre, le descriptif, les types d’objets que l’on peut lier à la grappe et les droits d’accès.

Boucles et balises

Tables du plugin

La table spip_grappes est la table principale du plugin, c’est elle qui contient les informations relatives aux grappes.

spip_grappes
Nom du champtypeutilitébalise
id_grappe auto incrémenté ... #ID_GRAPPE
id_admin entier auteur de la grappe #ID_ADMIN
titre texte ... #TITRE
descriptif texte ... #DESCRIPTIF
options tableau sérialisé options de la grappe (droits d’accès, etc.) ...
liaisons liste contient les types d’objets qu’on peut lier à la grappe ...
date date date de création de la grappe #DATE
maj date date de la dernière modification apportée à la grappe #MAJ

La table spip_grappes_liens est une table de liaison classique.

spip_grappes_liens
Nom du champtypeutilité
id_grappe entier le lien avec la table spip_grappes
objet texte type de l’objet lié
id_objet entier id de l’objet lié
rang_lien [*] entier rang du lien entre l’objet et la grappe

Le champ rang de la table de liaison n’est pas exploité par le plugin (il reste à penser une bonne interface pour le proposer). Il peut très bien être utilisé par d’autres plugins qui se baseraient sur Grappes.

Quelques exemples de boucles

Pour lister les grappes d’un auteur, on écrira dans un boucle AUTEURS :

<BOUCLE_b(GRAPPES){id_admin=#ID_AUTEUR}>
#ID_GRAPPE - #TITRE
<BOUCLE_b>

Pour lister les article présent dans une grappe, on écrira dans une boucle GRAPPES :

<BOUCLE_b(ARTICLES){id_grappe}>
#ID_ARTICLE - #TITRE
<BOUCLE_b>

Et pour trier les articles selon leur rang dans la grappe avec {par rang_lien} [*] :

<BOUCLE_b(ARTICLES){id_grappe}{par rang_lien}>
#ID_ARTICLE - #TITRE
<BOUCLE_b>

Notes

[*rang en version 1 du plugin

Discussion

18 discussions

  • 1

    Bonjour,

    J’ai trouvé une incompatibilité avec la future 3.3 : https://git.spip.net/spip-contrib-extensions/grappes/issues/1

    • Hop, la V2 du plugin est fonctionnelle avec SPIP 3.3.

      Attention, il faut remplacer dans ses tris de grappes rang par rang_lien

    Répondre à ce message

  • 1

    Avec Spip 3.2, la fonction grappes_inserer_javascript dans les pipelines (qui utilise la fonction ’selecteurgenerique_verifier_js’) renvoie plusieurs balises <script></script> et <link stylesheet></link stylesheet> vides, dans les pages publiques et dans les pages privées.

    Cela n’empêche pas le plugin de fonctionner normalement. Mais la console du navigateur râle de trouver ces balises vides.

    Du coup, la fonction grappes_inserer_javascript est-elle encore nécessaire ?

    Et aussi par conséquent, à noter que la fonction selecteurgenerique_verifier_js du plugin selecteur générique semble chercher les js de jquery.ui là où ils ne sont pas (d’où les balises vides).

    Répondre à ce message

  • 2

    Bonjour,

    Sous Spip 3.2.1, quelqu’un peut me confirmer que le plugin GRAPPES fonctionne « normalement » ? De mon côté, plus rien ne s’affiche sur les squelettes dans l’espace public mais tout reste fonctionnel dans l’espace privé.

    Merci par avance.

    Répondre à ce message

  • 2

    Bonjour,

    Je peux reproduire le souci suivant (SPIP 3.2.1 + Grappes 1.1.6 + Rang 0.7.15) :


    • site vierge avec 8 articles dans 2 rubriques
    • activation du plugin Grappes et création d’une grappe
    • ajout des articles à la grappe
    • réorganisation des articles par drag/drop dans la grappe
    • vider le cache
    • tout est OK dans l’organisation des articles dans la grappe
    • activation du plugin Rang sans aucune configuration
    • vider le cache
    • tout est OK dans l’organisation des articles de la grappe
    • configuration de Rang : cocher Articles
    • vider le cache
    • l’organisation des articles dans la grappe n’est plus correct
    • il semble suivre l’ordre du rang des articles

    Suis dispo pour d’autres tests ;-)

    françois

    • Surement une piste :
      dans prive/objets/liste/grappes-articles_lies.html ligne 9 :
      remplacer :

      <BOUCLE_liste(ARTICLES spip_grappes_liens){par rang}...

      par

      <BOUCLE_liste(ARTICLES spip_grappes_liens){par grappes_liens.rang}...

      À valider...

    • Salut, hésite pas à commiter la modification si tu as un compte sur la zone, sinon fais moi signe et je m’en occuperai ;)

    Répondre à ce message

  • 2

    Bonjour,

    En PHP > 5.6, les cases à cocher de « Quels objets peut on lier à la grappe ? » ne s’affichent plus quand on crée une grappe.

    Testé avec les dernières versions 3.0 / 3.1 / 3.2 et 3.3 dev.
    Et pour être précis PHP 5.6.32 et PHP 7.1.12.

    françois

    Répondre à ce message

  • Bonjour,

    Pas bien important, mais je ne vois pas la possibilité d’ajouter un auteur à une grappe ou de retirer celui qui y est ajouté par défaut.
    Je parle bien du créateur/auteur de la grappe, pas des auteurs qui pourraient être ajoutés au contenu de la grappe ;-)

    Bonne soirée,
    françois

    Répondre à ce message

  • 1

    Bonjour,

    Je voulais faire une boucle basée sur identifiant textuel :

    <BOUCLE_Articles(ARTICLES){identifiant=accueil}{par rang}{0,3} >
    </BOUCLE_Articles>

    Comme ça ne marchait pas, j’ai fait via une boucle englobante :

    <BOUCLE_b(GRAPPES){identifiant=accueil}>
    	<BOUCLE_Articles(ARTICLES){id_grappe}{par rang}{0,3} >
    	</BOUCLE_Articles>
    </BOUCLE_b>

    Ça me semble un bug.

    • Salut,

      Avec une jointure, ça devrait fonctionner :

      <BOUCLE_Articles(ARTICLES grappes){grappes.identifiant=accueil}{par rang}{0,3} >
      </BOUCLE_Articles>

    Répondre à ce message

  • 1

    Bonjour,

    je suis sur une page ARTICLE.HTML et je souhaiterai faire afficher sous forme de liste l’ensemble des grappes qui font référence à l’article en cours sur ma page ARTICLE.HTML.

    Quelqu’un aurait-il une idée de la boucle a mettre en oeuvre ?

    Merci,
    aRT

    • Je me réponds à moi même.

      Dans une boucle article j’insère ceci :

      <ul>
      <BOUCLE_scenario(GRAPPES){par titre}>
      <BOUCLE_artDansGrappes(ARTICLES){id_grappe}{id_article=#ID_ARTICLE}>
      <li><a href="#">#_scenario:TITRE</a></li>
      </BOUCLE_artDansGrappes>
      </BOUCLE_scenario>
      </ul>

    Répondre à ce message

  • Si ça peut être utile à quelqu’un : création d’une grappe via PHP :

    <?php
    	include_spip('action/editer_objet');
    	$objet = 'grappe';
    	$id_objet = objet_inserer($objet, 'new');
    	$set = array (
    		'identifiant' => 'test',
    		'titre' => 'Titre test',
    		'descriptif' => "Le descriptif\n\nSur plusieurs lignes",
    		'liaisons' => array('0' => 'articles'),
    		'acces' => array('0minirezo')
    	);
    	objet_modifier($objet, $id_objet, $set);
    
    ?>

    Répondre à ce message

  • 1

    Bonjour à tous, il est indiqué par Mister GraphX dans un message de janvier 2015 à la page suivante que la notion de TRI est implémenté et disponible.

    source : http://contrib.spip.net/Grappes,3278#forum478686

    En dehors du fait que je parviens pas à telecharger cette revision SVN, a priori cette fonctionnalité de tri ne semble pas reporté sur la version zippée disponible ?

    Ou est ce que je me trompe ?

    Cordialement,
    aRT

    • j’ai répondu a ton message sur l’autre post

      Non tu ne te trompe pas, et non ce n’est pas reporté, j’attendais une réponse éventuelle manifestant un intérêt quelconque pour cet ajout : soit de la part d’un utilisateur, soit de la part d’un des auteurs.

      j’ai donc juste fourni le lien vers un websvn qui permet de télécharger le zip de cette archive... si tu rencontre des problèmes pour le télécharger merci de me le signaler ...

    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