Article consacré aux ressources XML de type ‘formulaire’
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.