2009-06-19 13 views
2

De temps en temps, je trouve web applications qui ont une sorte d'historique de l'article/versioning où vous pouvez sélectionner une version précédente de l'article/contenu et faire essentiellement un processus de «restauration». Je prévois en avoir un comme ça, mais j'ai quelques choses en tête et j'aimerais avoir vos opinions.Article Version/Historique

1) Un enregistrement automatique doit-il ajouter une nouvelle entrée à la liste de l'historique? Je voudrais mettre en œuvre une fonctionnalité de sauvegarde automatique, donc, je me demande si chaque sauvegarde automatique devrait ajouter une nouvelle entrée dans la liste de l'historique des versions? Ou devrais-je avoir une "liste" séparée (= dernière sauvegarde automatique uniquement) pour les articles enregistrés automatiquement? Je pense que l'échelle a plus de sens. Si le navigateur tombe en panne (ou wtvr), l'utilisateur peut restaurer une sauvegarde automatique. La liste de l'historique concerne les articles qu'il a enregistrés en appuyant sur le bouton "Envoyer". Se mettre d'accord?

2) Combien de versions? Si l'utilisateur continue de modifier l'article (disons qu'il continue d'ajouter de nouveaux paragraphes) et enregistre ensuite l'article, combien de versions différentes de l'article devrait-il y avoir au maximum? Devrais-je laisser l'utilisateur décider (quelle était ma première pensée)? Quelle est généralement une valeur raisonnable? dix? Le versioning est-il une mauvaise chose quand il s'agit de stockage de disque? Si chaque article a 10 versions, c'est 10x plus d'espace pour tout le contenu de l'article ... Imaginez maintenant avoir 1 Mo de contenu d'article, ce serait 10 Mo pour l'ensemble du DB et certains hôtes ont des limites comme la taille d'un DB. Ceci conduit à la question 3:

3) Avez-vous déjà supprimé des versions? Si les versions d'articles sont restées intactes assez longtemps, les supprimerez-vous? Si oui, quelle est la durée que vous définissez? Un utilisateur défini? Une semaine est-elle une valeur par défaut suffisante? Si le temps n'est pas l'indicateur, alors qu'est-ce que c'est? Et si le temps est l'indicateur, alors lancez-vous Crons pour faire les nettoyages ou quoi?

4) Comment déterminer un "changement"? Si l'utilisateur ajoute un point à la fin de l'article et appuie sur le bouton de sauvegarde, vais-je quand même créer une nouvelle entrée d'historique? Comment gérez-vous cela? Est-ce que vous comparez simplement si l'article a changé et si oui, vous créez une nouvelle entrée?

C'est beaucoup de questions que je connais, mais si vous avez des opinions ou des idées, je suis heureux de les entendre. :)

Répondre

2

Si chaque article a 10 versions, il est essentiellement 10x plus d'espace pour tout le contenu de l'article ... Imaginez maintenant que ayant 1 Mo de contenu de l'article, il serait de 10 Mo pour l'ensemble DB et certains hôtes ont des limites en tant que taille de un DB.

Si vous utilisez un système de contrôle de version sur le serveur Web pour gérer les entrées réelles (par exemple rcs, subversion) vous ne serez pas à vous soucier de savoir si les changements sont majeurs ou non, ou combien de garder, et devrait également économiser sur l'espace disque. Ces systèmes sont déjà conçus pour enregistrer uniquement les changements entre les versions. Donc un changement de caractère d'un fichier 10M devrait toujours être d'environ 10M pour les deux versions.

+0

Je construis ma propre application web, pas de subversion, svn, rcs, etc. – Tower

+0

Votre application web peut toujours faire appel aux commandes disponibles dans l'environnement. – frankodwyer

Questions connexes