Je dois quand même avouer que forms & tables est une petite merveille (sauf concernant la doc ;)).
Dans un cadre associatif, je viens d'avoir besoin à ce que plusieurs personnes puissent compléter et modifier le contenu d'une table particulière. Comme j'utilise accès restreint, il suffit de placer l'article avec <form1> et <table1> au bon endroit.
Dans le même temps, j'ai besoin que les rédacteurs en questions puissent récupérer la table au format Excel. Génial, forms a table le permet.... dans l'espace privé. Et je ne tiens pas à tous les transformer en admins.
J'ai donc rajouter un lien sur l'article qui contient le formulaire pointant vers spip.php?action=forms_telecharger&arg=1&delim=TAB&var_mode=download
Quand moi, admin, je suis clique dessus , je télécharge bien le fichier Excel. Mais un simp;e rédacteur ne peut pas. Une grosse solution à la va vite, je supprime dans action/forms_telecharger.php (lignes 25/28) et dans inc/forms_export.php (lignes 80/81) les deux conditions qui vérifient les droits d'administrer une table et, ô miracle, ça marche. N'importe qui, en cliquant sur le lien précédent, peut télécharger la table au format Excel.
Mais cette solution est TRES TRES TRES MAUVAISES. Outre le fait que je modifie un fichier du plugin (j'aime pas ca), cela introduit une grosse faille de sécurité. N'importe qui peut maintenant télécharger n'importe quelle table au format Excel.
Ce n'est donc pas une bonne solution mais cela me donné l'idée d'une suggestion :
Pourrais-t-on, pour un formulaire ou une table, pouvoir spécifier si la table en question peut être télécharger dans l'espace publique, éventuellement avec un mot de passe que l'on spécifie.
Une URL du type spip.php?action=forms_telecharger&arg=1&delim=TAB&var_mode=download (sans mot de passe) ou spip.php?action=forms_telecharger&arg=1&delim=TAB&var_mode=download&mdp=1234567890 (avec mot de passe) permettrait alors de télécharger les données de la table au format Excel, action/forms_telecharger.php et inc/forms_export.php vérifiant si l'export public est autorisée et, le cas échéant, le mot de passe. Si l'export doit être limité qu'à certains utilisateurs, on pense à utiliser un mot de passe très compliqué et on met le lien sur une page en accès restreint.
Autre intérêt : supposons que certaines applications ait besoin du contenu de cette base. On peut utiliser un SPIP avec forms & table pour gérer le contenu de la base, et l'application peut récupérer en temps réel le contenu de la base de données par HTTP.
Il est pas beau le monde ?
Enfin, dernière petite suggestion, une option permettant de supprimer, dans l'espace public, un enregistrement. En effet, on peut déjà spécifiant qu'un enregistrement est modifiable dans l'espace public. Mais il est impossible de le supprimer. Or, quand le formulaire se situe dans une zone restreinte utilisée comme intranet, on peut avoir que les personnes puissent modifier les données, mais également les supprimer.
Voili voilou.
Joseph