Forms&Tables 2.0

Gestion et administration de formulaires éditables. Ce plugin permet également la publication de sondages et enquètes, la collecte des réponses dans la base de données et le téléchargement au format csv.

Ce plugin est une adaptation de la version pour SPIP 1.9. Les fonctionnalités sont inchangées, pour plus d’information, merci de consulter la rubrique ad hoc.

Adaptation à SPIP 2.0

ATTENTION :
Pour conserver les formulaires créés sous SPIP 1.9.x, ne désinstallez pas le plugin en cliquant sur le bouton de désinstallation présent dans la page de gestion des plugins, pour information, ce bouton porte l’étiquette suivante : « Supprime les données et désactive le plugin ».

Pour conserver les données :

  • dans le dossier plugin, supprimez le dossier « forms_et_tables_1_9_1 »
  • dans le dossier plugin, ajoutez le dossier du plugin modifié : « forms_et_tables_2 »
  • Activez ce plugin dans la page de gestion des plugins

Plugin en version test

Ce plugin est actuellement mis à disposition en version « test ». Merci de nous faire part de vos remarques suite à votre utilisation, nous apporterons les corrections/adaptations dans les meilleurs délais et dans la mesure du possible.

Quelques remarques concernant cette adaptation

1-champ de type monétaire :
l’unité saisie en administration est exploitée uniquement dans le tableau des réponses. Il serait intéressant de voir si on ne peut pas laisser un choix à la saisie (soit au moment de la construction du formulaire soit au moment de la saisie par l’utilisateur). Il serait ensuite intéressant d’exploiter cette donnée ailleurs (export, suivi des réponses).

To do : faire ces modifications pour utiliser la donnée monétaire.

2- nous avons activé le tableau des résultats (étrangement, il ne l’était pas en SPIP 1.9+ ) :
Par contre, dans ce tableau les tris sur ‘id’ et ‘date’ marchent. Ca ne marche pas sur les autres champs.

To do : généraliser le tri sur les autres champs

3- problème confirmation d’une réponse à un sondage (à voir)
la fonction de confirmation d’une réponse dans un sondage est pour l’instant by passée, la réponse est automatiquement validée sans passage par confirmation = attente. Cette fonction doit probablement servir à traiter des multiples réponses via des robots (à confirmer).

To do : faire marcher cette fonction de confirmation de la réponse sur SPIP2, et enlever le by pass décrit ci-dessus.

4- Environnement de développement
Les développements et test ont été réalisés avec easyphp 3.0 et SPIP 2.0.10, équipé d’une bonne poignée de plugins qui n’ont provoqué aucun conflit. Nous allons le tester sur des versions PHP/MySQL plus récentes. N’hésitez pas à nous faire part de vos remarques en cas de problème.

5- Programmation : premières impressions
Certains comportements d’origine du plugins sont un peu déroutants, nous avons pu apporter quelques correction lors de cette adaptation, il reste encore un peu de travail, notamment concernant les remarques susmentionnées.

Nous apporterons si possible d’autres améliorations, mais n’hésitez pas à mettre « la main à la pâte » !

Avertissements

  • Bien que compatible SPIP 2.0, cette version du plugin n’utilise pas entièrement l’API SQL et n’est donc pas compatible PostgreSQL ou SQLite

Ce projet a été mené par le SEM. Pour en savoir plus

Discussion

310 discussions

  • 3
    Renée Picard

    J’ai placé le .htacces dans ecrire, j’ai eu une erreur 500 par la suite en voulant référencer un site.
    C’est du SPIP 2.1.8
    j’ai enlevé le .htacces et j’ai retrouvé l’usage de ajouter un site.
    Que faire ?

    • Le tout est réglé en faisant passé le site en SPIP 2.1.10

    • Sous Spip 2.1.10 et plugin Forms&tables 2.0 / 0.400 [46207].
      Tous les pb décrits persistent (roue qui tourne, etc.) : impossible de modifier des champs ou de créer de nouveaux champs dans des formulaires existants ; impossible de créer de nouveaux formulaires.

    • Après suppression du répertoire forms_et_tables_2 dans le répertoire plugins puis nouveau téléchargement de la version 0.400 [46207], ça fonctionne parfaitement sous Spip 2.1.10.
      Merci à tous.

    Répondre à ce message

  • Renée Picard

    Comment faire pour modifier la feuille de style ?

    Merci

    Répondre à ce message

  • Re-bonjour
    Est-il possible de créer un formulaire de ce type :

    # Un formulaire principal demandant les coordonnées (nom, tél, fax, mail, contact...)
    # Un sous-formulaire demandant d’encoder des articles (num article, produit, quantité...)

    Comment le mettre en place ?

    Répondre à ce message

  • Bonjour, j’ai un soucis avec le formatage du champ numéro de téléphone. Il ne me prend pas les valeurs entrées (ex. +32 2 524 25 63)

    J’ai trouvé le fichier forms_types_champs.xml.

    Ce champs doit-il être modifié ? Pouvez-vous m’expliquer comment vous traitez cette regexp ?

    Merci

    Répondre à ce message

  • 2

    J’ai eu moi aussi les mêmes problèmes de formulaires impossibles à modifier, page 404, roue qui tourne etc.
    Il semble qu’ils aient apparu après la mise à jour de SPIP en 2.1.8 mais je n’en suis pas sûr.

    J’ai fait la mise à jour du plugin vers 0.400 et la toute dernière mise à jour de SPIP (2.1.10), et tout est rentré dans l’ordre.

    Yvon

    • Laregie

      Bonjour,
      J’ai suivi tes conseils.
      Je suis en version 0.400 du plug-ins depuis un ceratin temps.
      Spip 2.1.8 avait fait apparaître la roue qui tourne, mais les modifications étaient effectuées, même si elles n’étaient pas apparentes sur le coup dans la colonne de droite.
      Avec 2.1.9, les modifications ne modification de champ ne sont plus effectuées.
      J’ai donc fait la mise à jour 2.1.10 qui ne résout toujours pas ce problème.
      Si quelqu’un avait une solution ?

    • Laregie

      Enfin trouvé.
      Il faut installer le plug-ins Saisies pour formulaires en version 1.9.6 par exemple.

    Répondre à ce message

  • 1

    J’ai installé la 2.1.9 et le plugin-in ne marche plus, (grosse alerte rouge sur l’admin). J’ai testé les astuces décrites en dessous et rien ....
    Prevoyez-vous de sortir une nouvelle version du plug compatible avec les dernières versions de spip ?
    Merci

    • Laregie

      J’ai aussi des problèmes sur SPIP 2.1.9
      Il est possible d’ajouter un champ, mais impossible de le modifier.

    Répondre à ce message

  • Bonjour,
    un bug du plugin F&T a été découvert qui ouvre une faille de sécurité très grave sur les formulaire permettant l’upload de fichier.

    Si vous utilisez ce plugin, il est vital de prendre les mesures suivantes :

    1/ protéger le répertoire IMG/protege/ de votre SPIP, en y ajoutant un fichier nommé ’.htaccess’
    et contenant simplement la ligne suivante :
    deny from all

    2/ déployer les mises à jours pour les versions du plugin pour SPIP 1.9.x et SPIP 2.x
    Les versions corrigées sont numérotées
    forms_et_tables_1_9_1 : 0.305
    forms_et_tables_2_0 : 0.400

    Toute version de l’un ou l’autre de ces plugins avec un numéro antérieur présente le trou de sécurité.
    Vous pouvez télécharger les zip de mise à jour depuis
    http://files.spip.org/spip-zone/forms_et_tables_1_9_1.zip
    et
    http://files.spip.org/spip-zone/forms_et_tables_2_0.zip

    Même si l’upload de fichier n’est pas utilisé sur votre site, il est conseillé de mettre à jour au plus vite le plugin,
    afin de ne pas laisser persister ce trou de sécurité.

    Mes remerciements à Gaël Prudhomme pour le signalement de la faille.
    N’hésitez pas à faire suivre cette information.

    Cédric


    Pour parer au plus pressé le temps de faire proprement vos mises à jour, vous pouvez aussi ajouter le code suivant
    dans l’écran de sécurité si il est déployé sur votre site/serveur :

    if (count($_FILES)){
            foreach($_FILES as $k=>$v){
                    if (preg_match(',^fichier_\d+$,',$k)
                      AND preg_match(',[.]php,i',$v['name']))
                    unset($_FILES[$k]);
            }
    }

    (cf http://www.spip.net/fr_article4200.html)

    Répondre à ce message

  • 6

    Bonjour,

    encore merci pour cette mise à jour 0.306 .
    cependant en essayant de trier les données ( / ?exec=donnees_tous&id_form=18&tri=ligne_1) et ce quelque soit le form (ici form=18)
    j’ai le message d’erreur suivant concernant la boucle _donnees à la ligne 12

    Erreur SQL 1052
    Column ’id_donnee’ in field list is ambiguous SELECT forms_donnees.id_auteur, forms_donnees.id_form, forms_donnees.id_donnee, id_donnee, forms_donnees.statut, forms_donnees.rang, forms_donnees.date, forms_donnees.ip FROM XXX.spip_forms_donnees AS forms_donnees INNER JOIN uol2.spip_forms_donnees_champs AS L1 ON ( L1.id_donnee = forms_donnees.id_donnee ) WHERE ((forms_donnees.statut IN (’prepa’,’prop’,’propose’,’publie’,’refuse’))) AND (forms_donnees.id_form = 18) AND (L1.champ = ’ligne_1’) AND (forms_donnees.confirmation = « valide ») GROUP BY id_donnee ORDER BY L1.valeur
    SELECT forms_donnees.id_auteur, forms_donnees.id_form, forms_donnees.id_donnee, id_donnee, forms_donnees.statut, forms_donnees.rang, forms_donnees.date, forms_donnees.ip FROM spip_forms_donnees AS forms_donnees INNER JOIN spip_forms_donnees_champs AS L1 ON ( L1.id_donnee = forms_donnees.id_donnee ) WHERE ((forms_donnees.statut IN (’prepa’,’prop’,’propose’,’publie’,’refuse’))) AND (forms_donnees.id_form = 18) AND (L1.champ = ’ligne_1’) AND (forms_donnees.confirmation = « valide ») GROUP BY id_donnee ORDER BY L1.valeur

    la boucle donnees en question est dans /forms_et_tables_2_0/fonds/donnees_tous.html

    avez vous une idée du bogue ?

    Merci de m’avoir lu

    • Euh suis je seul à avoir ce pb ?

    • non j’ai le même soucis,
      as tu réussi à le résoudre ?

    • NON le problème reste entier !
      je suis étonné par l’absence de réponse de la communauté . La version du plugin pour SPIP 1.9.2 était absolument géniale. En version 2.1.6 je ne peux pas mettre plus avant le plugin sur un site gros site collaboratif...
      Il reste probablement quelques lignes de codes à faire pour le mettre à niveau par rapport à la version précédente pour 1.9.2

      A suivre ...

    • thiongane

      j’ai utiliser la solution suivante et ca fonctionne :
      http://core.spip.org/attachments/417/patch_crit_fusion.diff

    • Urg-Serv

      Super ! un grand merci à thiongane

      pour les spipiens pressés :

      Modification du fichier /ecrire/public/composer.php, rajouter les lignes suivantes à la suite de la ligne 584

      // patch
      
      585 	for ($i = 0; $i < sizeof($select); $i++) {
      586 		if ($select[$i] == $c) {
      587 			$select[$i] = "$cle.$c AS $c";
      588 			break;
      589 		}
      590 	}
      591 	for ($i = 0; $i < sizeof($groupby); $i++) {
      592 		if ($groupby[$i] == $c) {
      593 			$groupby[$i] = "$cle.$c";
      594 			break;
      595 		}
      596 	}
      
      //end patch

      lien communiqué par thiongane

    • autre petit problème en SPIP 2.1.8 [16966] :

      la balise <table XX> ne semble pas fonctionner ?

    Répondre à ce message

  • Bonjour,

    Dans les propriètés et les champs d’un formulaire il y a une zone de texte « Encapsuler le champ dans le code html ». Je suppose que cela facilite la mise en page des éléments du formulaire. Comment cela fonctionne-t-il, avez-vous un exemple ?

    Merci

    Répondre à ce message

  • hey
    un client vient de s’apercevoir que lorsque l’on mettait un champs à choix multiples obligatoire, ce champs meme rempli met comme message « ce champs est obligatoire »
    c’est assez contraignant
    spip 2.1.2

    quelqu’un pourrait m’aider à comprendre ?

    merci beaucoup

    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