Pour l'utilisateur que je suis, le plugin est une réelle avancée.
Il est ainsi possible d'ajouter des fonctionnalités à SPIP assez facilement.
Pour autant, il y a un point sur lequel j'aimerais avoir l'avis
des développeurs.
J'ai fait ces derniers jours la migration d'un formulaire développé avec
Forms & Tables vers Formidable.
L'opération s'est très bien passée mais j'ai une régression majeure : mes
administrateurs restreints ne peuvent plus consulter les réponses
aux formulaires.
De manière générale, je constate que c'est le développeur du plugin qui prévoit
que tel plugin est accessible à tel rôle (rédacteur / admin restreint / admin
"global" / webmaster).
Or ce choix devrait à mon sens être laissé à l'appréciation de la personne qui
installe le plugin.
On pourrait imaginer un système où il serait possible de déclarer qui peut
utiliser le plugin.
Je ne parle pas d'un truc hyper sophistiqué où on pourrait
déclarer des droits sur telle fonction du plugin, non.
J'envisage plutôt un truc où on déclare une liste d'identifiants de personnes
qui auraient du coup accès au plugin.
Un peu comme aujourd'hui il est possible d'ajouter des webmestres au site dans
le fichier mes_options.php.
Je ne maîtrise pas suffisamment l'architecture de SPIP ou le développement pour
savoir si je rêve éveillé ou pas.
Vous qui savez, ce genre de fonctionnalités est-elle envisageable ?
Merci par avance et bonne journée à tous(tes)
Manu
Il te suffit dans ton squelette ou ton plugin de surcharger l'une de ces fonctions "dist" (en enlevant le "dist" du nom) et ça prendra ta version à la place de celle du plugin.
Si le développeur du plugin utilise bien dans ses squelettes et son PHP cette API, alors tu peux modifier les comportements assez facilement.
Ceci dit pour ton problème particulier sur Formidable, je ne comprends pas trop vu que d'après le lien ci-dessus, même les rédacteurs peuvent voir un formulaire et voir ses réponses (autoriser_formulaires_bouton et autoriser_formulaires_reponse_voir).
1) Pour le pgin formidable, j'ai compris : il y a un souci pour les admins
restreints qui ne le voient pas dans le menu avec le plugin Bandeau activé. Il
n'y a nul part de lien qui permet l'accès. Si je désactive le plugin bandeeau,
le lien est bien présent.
2) si je comprends bien, il faut que j'écrive une fonction php et que je la
stocke dans mon dossier squelettes pour qu'elle soit prise en compte.
Dans quel fichier dois-je stocker cette fonction ?
3) ce système est ouvert aux gens qui savent développer (ce n'est pas mon cas).
Est-il envisageable d'avoir un système plus orienté "utilisateur" ?
1) Pour le pgin formidable, j'ai compris : il y a un souci pour les admins
restreints qui ne le voient pas dans le menu avec le plugin Bandeau activé. Il
n'y a nul part de lien qui permet l'accès. Si je désactive le plugin bandeeau,
le lien est bien présent.
Ah, c'est un bug alors.
Mauvaise gestion du plugin Bandeau.
Peut-être qu'avec ça, ça marchera mieux :
2) si je comprends bien, il faut que j'écrive une fonction php et que je la
stocke dans mon dossier squelettes pour qu'elle soit prise en compte.
Dans quel fichier dois-je stocker cette fonction ?
Je pense que dans "mes_fonctions.php" ça devrait aller.
3) ce système est ouvert aux gens qui savent développer (ce n'est pas mon cas).
Est-il envisageable d'avoir un système plus orienté "utilisateur" ?
Ya rien de normalisé : dans une fonction "autoriser" on peut y mettre n'importe quoi. La validité de l'autorisation ne repose pas *forcément* sur le statut de l'utilisateur en cours, ni sur son id ou quoi que ce soit d'autre.
Après chaque dev de plugin peut, s'il le souhaite et si ça a un sens, créer une page de configuration propre à son plugin où il mettra des choix comme tu le décris. En modifiant les autoriser() pour utiliser ces valeurs de configs.
Ah, c'est un bug alors.
Mauvaise gestion du plugin Bandeau.
Peut-être qu'avec ça, ça marchera mieux : Connexion · GitLab
Yes, c'est tout bon
Je pense que dans "mes_fonctions.php" ça devrait aller.
Je vais regarder ça de plus près, à l'aide de ton lien.
Ya rien de normalisé : dans une fonction "autoriser" on peut y mettre
n'importe quoi. La validité de l'autorisation ne repose pas *forcément*
sur le statut de l'utilisateur en cours, ni sur son id ou quoi que ce
soit d'autre.
Après chaque dev de plugin peut, s'il le souhaite et si ça a un sens,
créer une page de configuration propre à son plugin où il mettra des
choix comme tu le décris. En modifiant les autoriser() pour utiliser ces
valeurs de configs.
Certes mais justement ce que je propose, c'est qu'une réflexion s'amorce pour
normaliser tout ça. Le but serait de simplifier cette gestion. Un peu comme sur
certains outils de forum où on coche des cases pour donner des droits, dans un
tableau.
en allant plus loin, on pourrait même envisager que les rôles de SPIP repose sur
ce genre de système : chaque webmestre pourrait définir SA notion de rédacteur,
ou SA notion d'admin restreint.