1

Nous développons une application Web qui utilise enregistrer automatiquement comme un modèle de sauvegarde. Avec cette fonctionnalité est venu certains problèmes d'interface utilisateur assez inattendus. Pour améliorer la compréhension du concept par l'utilisateur, nous voulions rendre l'enregistrement automatique instantané, et non périodique, avec un retour visuel à chaque fois que le document est sauvegardé.Utilisez le stockage local comme proxy d'enregistrement automatique - bon ou mauvais?

Nous avons envisagé d'utiliser le stockage local comme un cache de données temporaire, puis de définir un intervalle plus lent qui synchronise toutes les données utilisateur avec le serveur Web en arrière-plan. Cela peut avoir de mauvais effets secondaires en cas de scénarios de conflit de révision possibles.

Quelqu'un at-il eu une expérience avec des motifs de sauvegarde automatique et/ou l'utilisation du stockage local en tant que proxy de données et peuvent partager des informations précieuses

Répondre

0

je suppose par instant que vous voulez dire après chaque action utilisateur de modifier (ou keypress ou autre) ? cela dépend des données que vous avez ici. si vous avez seulement des documents texte je ne vois aucune raison de ne pas interagir directement avec le serveur mais je voudrais ajouter un peu de temps de sommeil comme par exemple:

si l'utilisateur modifie quelque chose défini un commutateur pour éditer = true, si la dernière validation est plus longue que 10 secondes, valider l'état actuel (le document peut avoir changé à ce moment, utiliser l'état actuel) mettre le dernier changement de validation à l'heure actuelle. Je pense qu'un tampon local est très compliqué et apporte probablement plus de douleur que son utilité. Cependant, si vous décidez de la manière courante de le faire est de remplir le tampon à une fréquence plus élevée (mais en utilisant la méthode décrite ci-dessus), et laissez-le transmettre au serveur à une fréquence plus basse (également en utilisant les méthodes ci-dessus).). un horodatage/incrementid est passé du premier au second au troisième tampon etc. lors de la restauration du contenu de tous les tampons ou du stockage server est récupéré et la dernière version (avec l'incrément id du premier tampon) est utilisée.

+0

Bu pourquoi ajouter une heure de sommeil? Si nous utilisons le stockage local, la sauvegarde peut être instantanée. La fréquence du tampon local peut être sur chaque action de l'utilisateur et la fréquence du serveur sur chaque, par exemple, 10 secondes. – David

+0

peut-il? dépend de vos données et de votre application. Si la procédure de sauvegarde ne prend pas plus de quelques ms c'est probablement ok. une certaine littérature sur ces conceptions subjectives interaction en temps réel a une tolérance de 50 ms de latence au total ... incorrect à mon point de vue. mais d'après les livres d'enseignement, vous êtes d'accord si l'action d'édition et l'action de sauvegarde restent inférieures à 50 ms. mais imaginez que Photoshop retiendrait automatiquement vos fichiers de projet à chaque modification ... ce n'est pas comme si tout ce qui est local est instand et vous avez des ressources infinies. C'est pourquoi il y a de meilleurs ordinateurs que d'autres et ram et cpu et des trucs est un facteur –

+0

J'aurais probablement dû mentionner que les données ne sont que du texte, et surtout de petites notes. – David