cirr : plugin « rédacteur restreint »

Ce plugin « cirr : rédacteur restreint » permet d’affecter des rubriques aux rédacteurs et modifie les droits afin qu’un rédacteur restreint (ou un administrateur restreint) voit dans l’espace privé uniquement les rubriques qui lui sont affectées (et leur descendance).

Il s’agit d’étendre aux rédacteurs la notion d’administrateurs restreints et de simplifier la vie du rédacteur en lui proposant uniquement les rubriques auxquelles il a été affecté.

Compatibilité

CIRR version 2.8 est compatible avec SPIP 3.0, 3.1, 3.2, 4.0, 4.1, 4.2.
CIRR version 2.8 est compatible avec PHP 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1.

Il nécessite le plugin « ciautoriser : Pipeline pour autoriser » qui surcharge les fonctions d’autorisation. Aussi, ce dernier est incompatible avec les plugins qui surchargent les fonctions d’autorisation.

A noter que le plugin « ciautoriser : Pipeline pour autoriser » est utilisable par plusieurs plugins. Pour en savoir plus : http://article.gmane.org/gmane.comp.web.spip.devel/59132

Il surcharge les fichiers inc/plonger.php et inc/presenter_enfants.php de SPIP, afin que tenir compte du cas où le rédacteur est affecté à une rubrique qui n’est pas un secteur.

Installation

Ce plugin s’installe comme tous les plugins, cf. http://www.spip.net/fr_article3396.html

Il nécessite le plugin « ciautoriser : Pipeline pour autoriser », qui figure à cette adresse : 3646.

Paramétrage

Le plugin ne nécessite pas de paramétrage.

Utilisation

Dans l’espace privé de SPIP, sélectionner un auteur qui a le statut de rédacteur et lui affecter des rubriques de la même manière que pour un administrateur restreint.

Cet auteur voit désormais dans l’espace privé uniquement les rubriques qui lui sont affectées (et leur descendance).

A noter que le plugin cirr désactive volontairement le menu déroulant de l’espace privé. En effet, SPIP ne filtre pas le contenu du menu déroulant avec les fonctions « autoriser », car il met le résultat en cache (commun à tout le monde).

Par ailleurs, le sous menu « Tout le site » sera partiel dans le cas où le rédacteur est affecté à une rubrique qui n’est pas un secteur (pour contourner ce problème, il serait nécessaire de surcharger le fichier exec/article_tous ... dont le contenu est différent entre SPIP 2.0 et SPIP 2.1) .

Version successives du plugin


-  La version du 14/06/2012 apporte la compatibilité avec SPIP 3.

-  La version 1.11 du 03/12/2012 contourne le problème constaté sur les sites qui ont moins de 20 rubriques, avec un administrateur restreint à une seule rubrique (qui est une sous rubrique).

-  La version 2.0.0 du 18/12/2014 apporte davantage de confort sous SPIP 3.

-  La version 2.4.0 du 27/03/2018 apporte la compatibilité avec SPIP 3.2 et la compatibilité (sous SPIP 3.2) avec PHP 7.0 et 7.1.

-  La version du 22/06/2021 apporte la compatibilité avec PHP 7.2, 7.3 et 7.4.

-  La version 2.7 apporte la compatibilité avec PHP 8.0, 8.1 et avec SPIP 4.1.

-  La version 2.8 apporte la compatibilité avec le plugin Plan. Elle nécessite au minimum SPIP version 3. Elle est compatible avec SPIP 4.2.

Discussion

21 discussions

  • 1

    Bonjour
    J’utilise Cirr pour associer des auteurs à certaines rubriques, mais les auteurs ont besoin d’utiliser l’ensemble de la médiathèque.

    Je ne trouve pas ce que je dois changer pour garder à la fois la notion de rédacteur restreint pour rubriques et articles, et l’accès à l’ensemble des documents.
    J’ai beaucoup cherché du côté des autorisations, en surchargeant medias_autoriser.php, mais il semble que ce ne soit pas la bonne approche.

    Merci

    • En fait, ce n’est pas le fonctionnement de Cirr qui me pose problème, puisque le souci existe aussi dans le cas d’un admin restreint... je vais donc chercher ailleurs, mes excuses pour le message inutile.

    Répondre à ce message

  • 9

    Bonjour,
    Je viens de passer à la version SPIP 3.2 (PHP 7.2). Mes plugins ont été mis à jour.
    Il me reste une erreur récurrente (existant déjà avec la précédente mise à jour). Je tombe toujours sur ce message dans l’espace Privé :

    Warning : Parameter 1 to cirr_pre_boucle() expected to be a reference, value given in /ecrire/inc/utils.php on line 199

    Un rafraîchissement de la page permet en général d’effacer ce message (mais ce n’est pas une solution satisfaisante).
    Merci par avance pour vos pistes.
    gv

    • Est-ce que la version de CIRR utilisée est la dernière, c’est-à-dire celle du 27/03/2018 (cirr_180327.zip) ?

    • Version CIRR 2.2.0.
      J’avais mis à jour les plugins, dont Cirr depuis ’Gestion des plugins’ avant de mettre à jour Spip

    • Il convient d’installer la dernière version de CIRR, c’est-à-dire la version 2.4.0 du 27/03/2018 (fichier cirr_180327.zip qui est joint à la présente page).

    • Merci pour votre réponse qui m’a permis de faire disparaître le fâcheux message.
      Par contre, un nouveau message apparaît dans la rubrique « Auteurs » :

      Warning : Use of undefined constant oui - assumed ’oui’ (this will throw an Error in a future version of PHP) in /homepages/38/d454565238/htdocs/Lyceechrestien/plugins/cirr/cirr_fonctions.php on line 55

      Et je me retrouve avec deux comptes « Webmestre » qui sont de quasi clones !

    • La nouvelle version 2.4.1 de CIRR du 08/01/2020 (fichier cirr_200108.zip qui est joint à la présente page) devrait éviter ce warning sous PHP 7.2.

    • En effet, le warning a disparu !
      Mille mercis !!

    • Le warning a disparu, par contre je ne peux plus ajouter de documents/images, car la fenêtre d’ajout de document/image a disparu !
      Je viens d’ajouter CISF, ce qui m’a permis, après création de l’article, d’ajouter le document que je voulais ajouter. Mais ce n’est pas la solution a long terme.

    • Je ne constate pas ce problème.

      Une piste consiste à :
      -  Vérifier que le site utilise les dernières versions de ciautoriser (v 1.5.0) et cirr (v 2.4.1)
      -  Désactiver tous les plugins, sauf ciautoriser et cirr
      -  Vider le cache de SPIP
      -  Tester avec un rédacteur restreint

      Ensuite :
      -  Si cela fonctionne, réactiver un autre plugin que l’on a désactivé
      -  Tester avec un rédacteur restreint
      -  Etc.

    • En mode rédacteur restreint, en fait tout fonctionne. Donc le problème est ailleurs !

      Le problème semble venir de la mise à jour de SPIP et de CIRR, qui a entraîné la création d’un deuxième compte administrateur (qui est la copie du premier...).

      J’ai donc créé un nouveau compte administrateur (impossible par contre de supprimer le doublon...).

      Merci pour ces pistes !

    Répondre à ce message

  • Bonjour,
    Je viens de passer à la version SPIP 3.2 (PHP 7.2). Mes plugins ont été mis à jour.
    Il me reste une erreur récurrente (existant déjà avec la précédente mise à jour). Je tombe toujours sur ce message dans l’espace Privé :

    Warning : Parameter 1 to cirr_pre_boucle() expected to be a reference, value given in /ecrire/inc/utils.php on line 199

    Un rafraîchissement de la page permet en général d’effacer ce message (mais ce n’est pas une solution satisfaisante).
    Merci par avance pour vos pistes.
    gv

    Répondre à ce message

  • 3

    Bonjour et merci pour ce plugin
    Cependant quand un auteur est « restreint » il peut avoir acces dans le menu du haut à des info qui ne le concerne pas.
    par exemple « infolettre », « formulaire », « statistique »
    Est-il possible d’y remedier
    Par avance merci
    Bruno

    • Le menu du haut ... du site public ou bien de l’espace privé ?

    • Bonjour,
      avez-vous trouvé une solution pour configurer finement le menu du haut (bando_navigation) de l’espace privé ? J’essaye également de limiter l’accès d’informations non nécessaires aux rédacteurs...
      Merci d’avance !

    • Cette question concerne SPIP.

    Répondre à ce message

  • 5

    Bonjour,

    Ce plugin marche t-il en SPIP 3.2 ?
    Pas chez moi en tous cas, lors de la sélection sur « rédacteurs », le listing des rubriques n’apparaît pas...

    Une solution ?

    Merci beaucoup

    • La compatibilité est mentionnée dans la présente page.
      CIRR est compatible avec SPIP 3.0.

    • J’arrive à affecter des rubriques à un rédacteur avec CIRR sous SPIP 3.2.
      J’arrive également à affecter des rubriques à un rédacteur avec CIRR et CIAG « Groupes d’auteurs » sous SPIP 3.2.

    • Merci de ta réponse.

      Je vais vérifier de mon côté alors...

    • Après test, il semble que le plugin GIS 4.44.2 empêche d’afficher la liste des rubriques dans la création d’un rédacteur.

      Je vais essayer de trouver une solution..si quelqu’un sait le pourquoi, n’hésitez pas

      Merci

    • Les problèmes relatifs au plugin GIS sont à poster dans la page du plugin GIS.

    Répondre à ce message

  • 2
    cacher quelques rubriques du menu

    Bonjour

    le plugin est très intéressant et il répond très bien à mes besoins. seulement je veux cacher quelques rubriques du menu. je tiens a vous informer que j’ai donné à mon rédacteur le statut d’administrateur pour qu’il puisse insérer des auteurs.

    merci

    • ajout des auteurs

      bonjour
      comment permettre l’ajout des nouveaux auteurs pour les administrateurs restreint ??

      merci

    • Une des évolutions de SPIP 3.0 est qu’un administrateur restreint peut créer un auteur. En revanche, il ne peut pas restreindre le rédacteur à certaines rubriques (avec le plugin « Rédacteur restreint »). Aussi, le fonctionnement de SPIP 2.1 a été rétabli (un administrateur restreint ne peut pas créer un auteur), sauf si dans le fichier config/mes_options.php on ajoute la ligne suivante :
      define('_CIAUTORISER_ADMIN_RESTREINT_CREE_AUTEUR','oui');

    Répondre à ce message

  • 1

    Sous SPIP 3.0, sur un site qui a plus de 32 000 rubriques, la page des auteurs dans l’espace privé génère un dépassement de mémoire lorsque le plugin CIRR est activé (ce dernier indique pour chaque auteur s’il est restreint ou non). Ce dépassement de mémoire est constaté avec une limite de mémoire de 64 Mo (il disparaît si on passe à 128 Mo).

    • 32 000 rubriques dans un site, c’est beaucoup trop.

      Des investigations que j’avais menées, sur des sites à forte volumétrie de rubrique, montrent que jusqu’à 1 850 rubriques, dans un site, les temps de traitement sont confortables. Aussi, on est très loin de ce chiffre.

      Concernant la liste des auteurs :
      -  SPIP 2.1 affiche la liste des auteurs en précisant s’ils sont restreints.
      -  SPIP 3.0 n’indique pas s’ils sont restreints ou non.

      Aussi, dans le cas de SPIP 3.0, le plugin CIRR utilise la fonction liste_rubriques_auteur de SPIP 3.0 pour afficher ou non la mention « restreint ». Cette fonction de SPIP renvoie la liste des rubriques liées à cet auteur et mémorise le résultat dans un tableau statique indexé par id_auteur. Avec un nombre beaucoup trop élevé de rubriques (32 000), ce tableau peut effectivement consommer beaucoup de mémoire. SPIP 3.0 n’est clairement pas en cause, c’est le nombre beaucoup trop élevé de rubriques du site (32 000) qui est en cause.

      Pour le cas de la liste des auteurs, dans la prochaine version de CIRR, j’ai remplacé l’utilisation de la fonction liste_rubriques_auteur de SPIP 3 par une fonction spécifique. Toutefois, d’autres problèmes risquent d’apparaître sur ce site.

      Mettre 32 000 rubriques dans un site est à déconseiller fortement.

    Répondre à ce message

  • 4

    Le plugin n’est pas taggué version 3.1.
    Dois-je m’inquiéter ?

    • SPIP 3.1 n’offre pas une compatibilité ascendante totale. Aussi un plugin, réalisé pour SPIP 3.0, peut ne pas fonctionner sous SPIP 3.1.

    • Je comprends bien.
      En attendant, je vais tester mon site à blanc (sans cirr rédacteur restreint) avec la 3.1.

      J’espère que le développement de ce plugin continue car j’en ai vraiment besoin pour notre site.

      Nous sommes en plein changement (hébergeur, fonctionnement, migration spip !) et j’aurais besoin (je suis très exigeant ^^) d’avoir une échéance (même très large) de développement pour la 3.1 si c’est le cas.

      Au cas où cela ne serait pas prévu, j’envisagerais de me passer du plugin, et ça change le dev, spoursa.

    • Je n’ai pas prévu de tester CIRR sous SPIP 3.1. La version cible est SPIP 3.0.

    • Pour info, plus de 40 sites utilisent déjà CIRR sous SPIP 3.1.

    Répondre à ce message

  • 1

    Bonjour,
    J’ai installé et activé le plugin cirr, mais malheureusement sa ne fonctionne pas car je n’ai plus la main pour sélectionner la rubrique liée au rédacteur concerné.

    • Sur SPIP 3.0.24, je ne constate pas ce problème.
      Est-ce que le plugin « ciautoriser : Pipeline pour autoriser » a été installé ?

    Répondre à ce message

  • 3
    Julien

    Bonjour,

    Le menu rapide en haut à gauche « tout le site » ne se déroule plus a l’activation du plugin en administrateur non restreint spis 3.0.19... J’ai pas compris comment y remédier.

    Julien.

    • Bonjour,
      Le plugin CIRR désactive volontairement le menu déroulant de l’espace privé « tout le site ». En effet, pour des raisons de performances, SPIP mémorise le contenu de ce menu dans le fichier dans tmp/menu-rubriques-cache.txt. Aussi, un rédacteur restreint pourrait ainsi voir toute l’arborescence du site.

    • Julien

      OK. Donc on peut rien y faire ?

    • Ça m’intéresse aussi de pouvoir réafficher « Tout le site ». Sur le site où j’utilise CIRR, la structure n’est pas secrète.

      Bien entendu, ce serait encore mieux si le contenu s’affichait en fonction des droits de chacun mais je ne sais pas si c’est faisable via un plugin.

    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.

modération a priori

Attention, votre message n’apparaîtra qu’après avoir été relu et approuvé.

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