05.23.06

Séance du 23 mai 2006

Posted in Séance at 7:08 pm by atuscher

La deuxième séance a eu lieu ce matin en compagnie de Stéphane Tondini, Nastaran Fatemi, Patrick Mast et moi-même dans les locaux de la HEIG-VD.

Nous avons principalement discuté de l'état d'avancement de nos recherches et tests sur la technologie XForms. Il était important de savoir si nous partions dans la bonne voie et si nous allions dans le sens de ce que M. Tondini désirait.

Pour ma part, la plupart des points présents dans la spécification étaient cohérents.

  • Nous avons décidé de partir du principe que le fichier XML représentant l'instance manipulée par le formulaire XForms était déjà créé et validé par un schéma XML. Cet état de fait évite ainsi de devoir faire des vérifications supplémentaires et permet ainsi de s'axer principalement sur la partie du travail consistant à implémenter l'éditeur.
  • Il a également été décidé de pouvoir spécifier un schéma XML externe afin d'utiliser les types déclarés. L'utilisateur aurait alors la possibilité de restreindre un composant à un de ces types (ex.: chaîne de caractères comprise entre 1 et 10 caractères).
  • Mozilla mettrait à disposition une API permettant de valider un chemin XPath. Ceci serait alors utilisé pour garantir qu'un chemin entré par l'utilisateur correspond effectivement à la désignation d'une balise comprise dans le fichier XML contenant l'instance manipulée par le formulaire.

Le document contenant la première version des spécifications a de ce fait été mis à jour en tenant compte des points précédents.

05.22.06

Spécifications du projet

Posted in Uncategorized at 10:24 pm by atuscher

Voici la première version des spécifications tel que je peux mes les imaginer à ce stade de l'apprentissage de la norme XForms. Celles-ci auront certainement des modifications au fur et à mesure et en particulier lorsque j'aurai découvert les différentes possibilités de Javascript.

Les spécifications se trouvent sur ce lien.

Balise “repeat”

Posted in XForms at 9:14 pm by atuscher

Cette balise permet d'effectuer simplement un traitement automatique et répétitif sur un ensemble de noeuds issus d'un modèle XML (présent dans le même fichier ou dans un fichier XML externe).
Cette balise évite donc beaucoup de boulot lors de la conception du formulaire et elle est surtout utile pour les cas où l'on ne sait pas à l'avance combien de noeuds sont présents et donc combien de composants afficher!

L'exemple RepeatExample illustre ce cas de figure en récupérant les informations contenues dans le fichier XML todo.xml. Il est alors possible de valider les modifications, ce qui aura pour effet de modifier le contenu du fichier XML externe représentant le modèle.

Modèle XForms

Posted in XForms at 9:00 pm by atuscher

Le modèle dans un fichier XForms contient toutes les informations sur les instances XML à manipuler avec le formulaire (que ce soit une instance écrite en dur dans le fichier ou alors l'importation d'un fichier externe XML). Le modèle permet également d'appliquer des contraintes (en utilisant la balise "bind") sur les composants comme par exemple le remplissage obligatoire, l'affichage de certaines partie du formulaire que sous certaines conditions, possibilité d'associer un composant à un type issu de XML Schema, etc.

Le fichier BindExample illustre quelques-unes des possibilités citées ci-dessus.

05.20.06

Problème bouton radio

Posted in Problème, XForms at 12:00 pm by atuscher

La balise "select1" permet d'afficher différents types de composants qui imposent que l'utilisateur ne puisse sélectionner qu'une seule option dans le composant tel que des boutons radio ou une liste déroulante.

La différenciation s'effectue au niveau de l'attribut "appearance" qui peut prendre une valeur différente selon l'aspect visuel que l'on souhaite pour le composant :

  • "full" : bouton radio
  • "minimal" : liste déroulante
  • "compact" : zone de sélection

J'ai cependant remarqué que l'affichage ne respècte pas forcément ce qui a été spécifié par le contenu de l'attribut. Je présume donc que le browser internet joue un rôle et interprète comme il le souhaite le composant désiré.

J'ai typiquement effectué mes tests sous Firefox et celui-ci ne semble pas faire la distinction entre les différentes apparences. En effet, dans tous les cas la balise "select1" est affichée sous la forme d'une liste déroulante… De ce fait, je n'arrive pas à afficher des boutons radios à l'écran!

Il faudra que j'effectue d'autres tests sur d'autres browser pour savoir si le problème vient bien de là!

Composants XForms

Posted in XForms at 11:35 am by atuscher

J'ai réalisé un exemple (fichier Composants-XForms) d'un fichier comprenant tous les différents types de composants que j'ai pu trouver afin d'avoir une idée concrète des composants que le futur éditeur devra mettre à disposition. A ma connaissance, XForms n'introduit pas des composants originaux mais fournit toutes les possibilités qu'un formulaire HTML classique pourrait offrir!

Voici la liste des composants :

  • Bouton "classique"
  • Bouton "submit"
  • Bouton "reset"
  • Label (généralement inclus pour la plupart des composants XForms)
  • Zone de saisie "classique"
  • Zone de saisie "password"
  • Zone de texte
  • Liste déroulante
  • Liste de sélection (un ou plusieurs éléments)
  • Boîte à cocher
  • Bouton radio
  • Composant "range" (représenté comme un curseur qui permet de choisir une valeur comprise entre deux bornes définies)

05.09.06

Résumé du projet

Posted in Uncategorized at 10:20 pm by atuscher

Voici le résumé présentant le projet de diplôme et le travail demandé :

Ce projet est proposé dans le cadre du produit ProFIL de la société ARCACIEL. ProFIL est une solution logicielle globale de gestion et de suivi qualitatif de dossiers. Elle s'adresse aux institutions ou cabinets souhaitant gérer leurs dossiers efficacement, de manière simplifiée et à un faible coût.Ce projet consiste en l'étude des normes XForms (www.w3c.org) et Javascript ECMA-357 (http://www.ecma-international.org) afin d'implémenter un éditeur de formulaires en Javascript.
Un formulaire étant affiché via un navigateur Web pourra être édité. Ceci se fera par l'intermédiaire d'un bouton d'édition. En mode édition, le formulaire est ré-affiché dans un « layout » prédéfini. Un layout est une façon de placer les contrôles dans le formulaire (par exemple sous la forme d'une grille dans laquelle les contrôles sont alignés à gauche ou centrés). De plus, une barre d'outils permettra de modifier les propriétés d'un contrôle, d'ajouter ou de supprimer un contrôle. Les contrôles pourront être déplacés via glisser-déposer en fonction du layout.
Deux servlets devront être implémentées. La première permettra de stocker le formulaire (édité ou modifié) sous la forme d'un simple fichier XML. La seconde permettra de stocker les données du formulaire sous la forme d'un simple fichier XML.
Technologies
• XForms, ECMA Javascript.
• XML, XPath, XSLT, XHTML.
• Java (Servlet, JAXP, JAXB).
• Mozilla Firefox avec le plugin XForms et IE avec le plugin XFroms player.
Cahier des charges
• Etudier les normes XForms et Javascript ECMA-357 (surtout E4X).
• Etudier les éléments nécessaires à la création de formulaires.
• Concevoir et implémenter les modèles de layout.
• Concevoir et implémenter un formulaire contenant tous les contrôles possibles (pour test).
• Concevoir et implémenter la barre d'outils ainsi que les cas de tests.
• Concevoir et implémenter l'éditeur ainsi que les cas de tests.
• Concevoir et implémenter deux servlets afin de stocker les formulaires et leurs données (facultatif).
• Livrer le projet avec une documentation complète.