2009-07-09 13 views
1

Je veux être en mesure de synchroniser plusieurs fichiers texte sur le PC d'un utilisateur en temps réel à partir de mon application web. Fondamentalement, je veux quelques fichiers de données sur le PC local pour refléter l'état des données d'un utilisateur dans mon application web, donc si l'application web ou la connexion internet de l'utilisateur est perdue, il peut utiliser ces fichiers de données/javascript stocké avec ces fichiers qui fonctionneraient en mode déconnecté sur ces fichiers de données.)Comment une application Web peut-elle synchroniser un dossier de fichiers texte sur le PC du client?

Je sais que Google Gears a beaucoup d'outils intéressants pour travailler avec l'état hors ligne, mais je préfère une application encore plus simple en html/javascript qui ne serait pas aussi dépendante de google gears. Je préfère utiliser google gears pour créer ces fichiers et les synchroniser avec la version de données de l'application Web tout au long de la journée.

Mise à jour sur les réponses: PersistJS est une bonne suggestion que je vais examiner, mais j'espérais que les gens me dirigeraient vers de très bonnes ressources de tutoriels Google Gears.

Répondre

9

Vous pouvez enregistrer les données sur le navigateur en utilisant PersistJS, qui utilise le meilleur mécanisme de stockage persistant côté client, il peut trouver, soutenir:

  • flash
  • Google Gears
  • HTML 5 spécifications de stockage
  • extensions spécifiques au navigateur
  • les cookies

Lorsque votre application se reconnecte, vous pouvez effectuer une resynchronisation. Créer et lire des fichiers texte est quelque chose que le navigateur va généralement bloquer votre site web.

-1

Vous pouvez utiliser l'objet système de fichiers FSO via javascript, mais il dépend de Microsoft car il s'agit d'un contrôle ActiveX, il nécessiterait également des autorisations dans le navigateur, ou peut-être une HTA (application HTML).

http://www.webreference.com/js/column71/

Son véritable sécurité enjeu La façon la plupart des pistes sont fermées inhrentley.

+0

Pourquoi voter en baisse? Ceci est une réponse valide à la question. – Gavin

-2

Le modèle Web a été conçu de manière à ne pas autoriser l'accès en amont du serveur au client. Maintenant, les choses changent lentement peut-être pourriez-vous faire cela avec Websocket?

0

Risquer d'indiquer l'évidence; Si vous voulez stocker l'état de l'utilisateur localement, les cookies ne sont-ils pas la norme? peut-être plus d'un cookie sera nécessaire, mais cela semble être le plus simple des moyens.

0

Vous aurez besoin de faire un contrôle ActiveX et un plugin FireFox pour obtenir ces autorisations. Je suis d'accord avec orip essayer d'utiliser PersistJS

0

Vous pouvez demander à l'utilisateur de télécharger un client subversion qui est prédéfini pour interfacer avec votre serveur subversion uniquement. Ensuite, écrivez votre application web pour interfacer avec le service subversion de votre côté seulement.

L'octroi d'accès au système de fichiers d'un utilisateur présente de nombreux problèmes de sécurité. Vous devrez donc verrouiller tous les points d'exploitation possibles. Vous devez vous assurer que l'utilisateur ne peut pas accéder au serveur subversion, sauf via le client que vous lui demandez d'installer.Vous devez vous assurer que la connexion entre le serveur d'applications et le serveur subversion est extrêmement sécurisée afin que le chemin de transmission ne puisse pas être compromis et que la logique malveillante qui peut être chargée sur le serveur d'applications ne puisse pas accéder au serveur subversion. Je dirais pour crypter le chemin de transmission entre ces deux serveurs et mettre le serveur subversion derrière le pare-feu séparant votre réseau DMZ. Je suggère également d'utiliser un mécanisme de challenge/réponse entre le serveur d'application et le serveur subversion pour empêcher que le code malveillant apparaisse comme une décision légitime prise sur le serveur d'application. Assurez-vous également que les flux de données ne forment le serveur d'applications que de manière unidirectionnelle, car si une logique malveillante est plantée sur votre serveur d'applications, toutes les données provenant du serveur subversion sont compromises sans même accéder à ce serveur.