Je supporte une application web au travail pour notre centre d'appels depuis environ 2 ans maintenant. L'application est écrite dans ASP.NET 3.5 avec la base de données SQL Server 2005. Il m'a été demandé d'étendre la section Détail de l'appel pour permettre aux agents de modifier la note d'appel en cours avec la possibilité de revenir à la version précédente. Maintenant, tout est cool mais maintenant le manager veut pouvoir cliquer sur une note particulière et voir toutes les modifications avec les changements surlignés en jaune (et si quelque chose a été supprimé, il veut VOIR le texte supprimé barré). En fait, ce dont j'ai besoin est très similaire à la façon dont Stackoverflow gère les modifications sur leurs questions. J'ai réfléchi à la façon d'y parvenir et après avoir fait de la recherche et de Google, bien sûr, je ne sais toujours pas quelle route prendre. Je suis assez nouveau pour le développement .NET. Des idées sur la meilleure technique pour mettre en évidence les changements dans l'interface utilisateur? J'ai peur de devoir stocker une copie de la note entière chaque fois qu'ils font un changement parce que le gestionnaire veut être capable de revoir facilement les notes et revenir à n'importe quelle version (pas seulement la plus récente) avant d'envoyer le rapport d'appel mensuel à nos clients VIP. Depuis que ce département OFTEN change d'avis sur les choses, je veux m'assurer que la nouvelle fonctionnalité est évolutive et facile à maintenir. Toutes les idées seraient grandement appréciées. Je cherche vraiment quelqu'un pour me diriger dans la bonne direction; peut-être il ya quelques outils là-bas qui peuvent être utiles, mots-clés recommandés dans Google recherche, etcComment mettre en évidence les différences entre deux versions d'un texte dans l'application Web .NET?
Répondre
Ce sera difficile à faire.
- Vous aurez besoin d'un contrôle "éditeur de texte" qui peut non seulement éditer le texte, mais qui peut également vous indiquer les modifications apportées.
- Vous devez ensuite stocker non seulement la chaîne de texte finale, mais également la liste des modifications
- Vous devrez ensuite pouvoir afficher le texte plus les modifications, en utilisant des ratures, et des couleurs différentes pour les insertions vs
- Vous aurez besoin de faire cela non seulement pour les changements d'un seul utilisateur, mais vous aurez besoin de stocker les changements de chaque utilisateur dans la base de données, et devrez être capable d'afficher tous les changements, tous immediatement.
Votre manager doit être vraiment qu'il en a vraiment besoin.
Je pense que vous devriez voir http://en.wikipedia.org/wiki/Revision_control
Quelques outils pour faire la diff pour vous peut être trouvé à Any decent text diff/merge engine for .NET?.
Cela impliquerait de stocker chaque version comme vous le dites. Cela devrait vous permettre de l'implémenter de la même façon que SO. Je me rappelle avoir lu ou entendu Jeff le mentionner, mais je n'ai pas réussi à le trouver, probablement dans l'un des podcasts SO.
Le plus simple serait de stocker le texte pour chaque révision, puis lorsque l'utilisateur veut voir le diff utiliser un outil de diff pour générer le texte en surbrillance.
Voici un code diff Javascript: http://ejohn.org/projects/javascript-diff-algorithm/
Si tous les ordinateurs ont installé Word, vous pourrez peut-être utiliser un contrôle Word pour y parvenir. TortoiseSVN a des scripts dans son répertoire de programme qui peut prendre deux documents de mot et produire un document avec des changements mis en évidence. Pour voir ce créer c: \ aaa.doc et bbb.doc, puis installez TortoiseSVN et exécutez:
wscript.exe "C:\program files\tortoisesvn\Diff-Scripts\diff-doc.js" c:\aaa.doc c:\bbb.doc //E:javascript
- 1. Comment mettre en évidence les changements/différences dans un paragraphe de texte de l'autre?
- 2. Python difflib: mettre en évidence les différences en ligne?
- 3. C# /. NET comment mettre en évidence certaines lignes dans DataGridView
- 4. Comment mettre en évidence le texte en PDF WinForms C#
- 5. Différences entre deux requêtes analytiques
- 6. Comment mettre en évidence les modifications CVS dans Emacs?
- 7. Comment puis-je afficher les différences entre deux DLL?
- 8. Comment compter les différences entre deux fichiers sous Linux?
- 9. Mettre en évidence les membres hérités
- 10. Différences WCF entre .NET 3.0 et .NET 3.5
- 11. recherche du texte dans un autre texte et le mettre en évidence en utilisant javascript
- 12. Recherche de différences entre les versions d'un fichier de classe Java
- 13. Comment utiliser Jquery Datepicker pour mettre en évidence avec befereshowday deux types de dates spéciales?
- 14. Comment obtenir les différences entre deux dates dans Oracle qui étaient dans la même colonne?
- 15. Comment mettre en évidence superbes dans l'objectif C
- 16. Différences entre Java et C# et .NET
- 17. Comment puis-je mettre en évidence un sous-ensemble du texte dans une zone de saisie?
- 18. Comment mettre en évidence et sélectionner du texte dans une TextBox à partir de ViewModel
- 19. Différences entre .NET 3.0 et 3.5?
- 20. Différences entre les modes Visual Studio (Général, Web Dev, C#)?
- 21. Différences majeures entre J2EE et C# /. Net lors du développement de services Web
- 22. Xcode/Cocoa: Quelles sont les différences entre les versions de débogage et de version?
- 23. Comment déterminer les différences dans deux listes de données
- 24. Comment mettre en évidence le Html.ValidationMessage sur un message AJAX?
- 25. Différence entre les versions IE6
- 26. différences entre deux instantanés de base de données SQL Server
- 27. Qwidget, comment mettre en évidence le widget sous le curseur
- 28. différences entre StringBuilder en Java et C#
- 29. Comment mettre en évidence une zone de texte après avoir utilisé extjs Ext.MessageBox.alert
- 30. Différences entre les services Web Exchange 2003 et les services Web Exchange 2007
Regardez dans la version de contrôle, essayez googler et voir ce que vous obtenez.Si c'est sur un système Linux, vous pouvez simplement faire un patch des deux révisions. (Regardez comment Patch fonctionne, cela pourrait aider aussi) – Malfist
Merci pour le conseil. BTW, c'est sur une machine Windows, IIS7. –