J'ai une "application" de configuration/préférences système que je conçois dans le cadre d'une application plus grande basée sur un navigateur. Notre application globale a des "applications" (comme une application de développement, une application de gestion des utilisateurs, une application de catalogue, etc.) dont celle-ci.
Cette application de configuration système est (en arrière-plan) un objet de configuration géant divisé en plusieurs enfants logiques, chacun étant représenté par un menu de gauche (exemple: 'configuration générale', 'configuration de la base de données', etc.). Fondamentalement, chaque menu latéral contient une forme raisonnablement complexe (grilles, onglets, etc.) .
Il peut y avoir plusieurs de ces configurations, et l'utilisateur peut choisir lequel modifier en utilisant un menu déroulant en haut de la page (nommé "configurer").
Ma question est, quelle est la façon la plus logique/raisonnable/attendue de gérer l'enregistrement et la validation de cette application? Étant donné que l'API "save" est (derrière les scènes) universelles à l'ensemble du contenu de l'application?
Options que j'ai envisagées:
(1) enregistrer l'objet entier. Si l'utilisateur navigue dans les menus latéraux, lorsqu'ils quittent, leurs modifications sont conservées. Si les modifications ne sont pas valides, l'utilisateur est informé par avertissement, lorsqu'il appuie sur enregistrer, il est informé qu'il y a des erreurs de validation dans les onglets qui ne sont pas actuellement ouverts.
(2) enregistrer chaque "sous-objet" du menu latéral. Si l'utilisateur navigue dans les menus latéraux, il est informé que ses modifications seront effacées (s'il a effectué des modifications).
Nous validons normalement les champs lorsque l'utilisateur s'efface d'un champ, mais il peut également y avoir une validation côté serveur plus complexe.
* Remarque: ces menus latéraux sont utilisés dans d'autres applications de notre application, tout comme la barre "d'action" (où se trouve la sauvegarde, marquée en bleu ). Dans certaines applications, ils doivent clairement enregistrer avant de quitter le sous-menu.
Voici l'application:
télécharger la source bmml - Wireframes créés avec Balsamiq Mockups
Voici quelques recommandations liées à l'enregistrement et à la validation qui aideront les utilisateurs dans un scénario complexe comme celui-ci.
Pour faire les choses ci-dessus, vous aurez besoin d'un mécanisme pour enregistrer l'état des objets de configuration incomplets/incorrects. (Cela va quelque peu à l'encontre du paradigme du navigateur Web, qui est sans état.)