Article consacré aux ressources XML de type ‘formulaire’

Edit me

Description

Le XML de formulaire sert à décrire la mise en page d’une page de l’application. 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 -->
    <!-- module/controller/action spécifique pour les actions génériques -->
    <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>
    <back_path>module/controller/action</getdataset_path>
    
    <!-- Frame javascript spécifique -->
    <frame_js_class_name>FrameClassName</frame_js_class_name>

    <!-- Affichage et activation des tests de cohérence -->
    <coherence_test>true</coherence_test>
    <coherence_test_panel_position>bottom</coherence_test_panel_position>
   
    <!-- Informations supplémentaires à attacher au formulaire sous la forme clé/valeur -->
    <metadata name="foo">bar</metadata>
  </config>
  
  <!-- Rôles autorisés à voir le formulaire -->
  <roles>
      <role>admin</role>
      <role>tech</role>
  </roles>
  
  <!-- Plateformes sur lesquelles le formulaire sera visible. -->
  <destinations>
      <destination>mobile</destination>
      <destination>web</destination>
  </destinations>
  
  
  <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’inclure ce 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

Back 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/back

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

Permet de désactiver les tests de cohérence sur le formulaire en passant la valeur false à la balise.

Par défaut : true

Coherence Test Panel Position

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

Par défaut : bottom

Metadata

Permet l’ajout de méta-données propre au projet sous la forme clé/valeur.

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é.

Destinations

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

Data structure

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

Un modèle peut être défini par:

Un article est dédié aux datasets et dataqueries invoquables : Invokable Datasets et Dataqueries : création et utilisation.

Layout

Voir l’article dédié layout.