Form

Edit me

Form

Description

Le XML de questionnaire sert à décrire la mise en page d’un questionnaire. Cela correspond à la notion de page dans Voozanoo3, à l’exception que dans Voozanoo4 il est possible d’afficher des variables qui proviennent de plusieurs tables.

Structure

<form>
  <config>
    <!-- Configuration spécifique pour le formulaire -->
    <display_path>module/controller/action</display_path>
    <save_path>module/controller/action</save_path>
    <delete_path>module/controller/action</delete_path>
    <getdataset_path>module/controller/action</getdataset_path>
    <frame_js_class_name>FrameClassName</frame_js_class_name>
    <coherence_test_panel_position>bottom</coherence_test_panel_position>
    <roles>
        <role>admin</role>
        <role>tech</role>
    </roles>
    <destinations>
        <destination>mobile</destination>
        <destination>web</destination>
    </destinations>
    <metadata name="foo">bar</metadata>
  </config>

  <data_structure>
    <!-- Contient la définition de tous les dataset sous la forme de dataquery -->
    <dataquery/>
    <dataquery/>
  </data_structure>

  <layout>
    <!-- Contient la mise en page du questionnaire. Les dataset sont utilisés dans le layout -->
  </layout>
</form>

La partie données (data_structure) est séparée de la partie mise en page (layout).

Config

Ce noeud permet de configurer le formulaire de manière spécifique. Il n’est pas obligatoire d’avoir ne noeud dans le Xml de formulaire, des valeurs par défaut sont définies.

Display Path

Permet d’indiquer quel Uri (Module/Controller/Action) sera utilisée pour récupérer la configuration servant à afficher le formulaire.

Par défaut : form/frame/get

Save Path

Permet d’indiquer quel Uri (Module/Controller/Action) sera utilisée pour sauvegarder les données formulaire.

Par défaut : form/frame/save

Delete Path

Permet d’indiquer quel Uri (Module/Controller/Action) sera utilisée pour supprimer des rows d’un dataset

Par défaut : form/frame/delete

Getdataset Path

Permet d’indiquer quel Uri (Module/Controller/Action) sera utilisée pour récupérer une nouvelle version d’un dataset

Par défaut : form/frame/getdataset

Frame JS Class Name

Permet d’indiquer le nom de la classe Javascript à instancier pour représenter la Frame.

Par défaut : FrameForm

Cette classe doit être définie comme un “Module YUI3” sans quoi une erreur JS sera levée car la classe sera introuvable (Cf. YuiConf)

Coherence Test Panel Position

Permet d’indiquer la position du panel de tests de cohérence (topleft|right)

Par défaut : bottom

Roles

Indique quels sont les rôles qui ont accès à cette ressource. Est utilisé pour déterminer quelle page d’accueil afficher en fonction de l’utilisateur connecté.

Destination

Indique s’il faut afficher la page d’accueil sur un navigateur web et/ou un smartphone (ou tablette).

Metadata

Permet l’ajout de méta-données propre au projet.

Data structure

Ce noeud contient les models (structure + données).

Un model peut être défini par:

  • dataquery
  • dataset / invokable_dataset

Layout

Voir la sesion layout