Aller au contenu

Faq

Ce document tente de répondre à quelques questions qui peuvent apparaître au cours du développement d'une application Ewt.

Lorsque j'upload un fichier dans un champ, le nom de ce fichier apparaît
dans le champ, mais disparaît du champ à la prochaine ouverture du dossier
L'enregistrement du nom de fichier doit se faire à l'aide de metadonnées associées au champ. En l'absence de métadonnée file:name, le nom de fichier n'est pas conservé que durant le temps de vie du cache de session. Il est ensuite perdu pour les ouvertures suivantes du dossier car il ne peut pas être conservé en base de données. Si le nom du fichier, sa taille et/ou son mime-type doivent être conservés, il faut alors rattacher des champs de métadonnée au champ dans lequel est stocké ledit fichier.
Mon dossier contient un champ binaire, mais je ne retrouve pas le
fichier dans le temp lorsque j'ouvre le dossier.

Ewt ne recharge pas systématiquement en local les données binaires liées à un dossier. Pour des raisons de performances, les données binaires ne sont chargées que lorsque cela est nécessaire, c'est-à-dire lorsque le client le demande explicitement.

Par conséquent, lorsque l'on charge un dossier, les données binaires ne sont pas reprises de la base de données. Par contre les éventuelles metadonnées associées à ces données binaires le sont.

Le moteur chargera les données binaires lorsque l'utilisateur cherchera à les récupérer, soit en direct via la servlet /data, soit via un script.

La page HTML n'est pas complète bien que le navigateur ait terminé le
rafraîchissement de la page

Ce problème peut être lié à l'utilisation de caractères dits "surrogate". Ce genre de caractères est utilisé par exemple lorsque l'on insère des emojis dans un texte. Les caractères surrogate sont en réalité constitués de plusieurs caractères.

Le parser SAX de java peut rencontre un problème lorsqu'il traite du xml qui contient de tels caractères. Le parser découpe le xml en morceaux de 1024 bytes. Il se peut qu'une paire de caractère surrogates soit alors séparée entre deux morceaux, ce qui provoque une erreur silentieuse. Une trace de ce style devrait cependant s'afficher dans le log:

org.xml.sax.SAXException: java.io.IOException: Invalid UTF-16 surrogate detected: d83e ?

Il ne s'agit donc pas d'un bug de l'application ou du moteur, mais un bug du parseur utilisé par java. Une solution pourrait être d'utiliser un autre parseur. Le bug disparaît si les caractères surrogates ne se cituent pas exactement à un multuple de 1024. Il suffit donc d'ajouter du contenu à l'arbre XML pour forcer les caractères surrogates à se retrouver à une autre position.

Ewt peut-il faire tourner une application Rap ?
Non. Bien que macroscopiquement les deux plateformes présentent des analogies quant à la technologie utilisée ou la façon de convevoir des applications, elles diffèrent sur la structure des configurations (config, descript, states, etc.), la gestion interne des données, le fonctionnement des endpoints, la syntaxe de scripts, la gestion des permissions, etc.