Hi,
also die Versionisierung läuft bei mir nach dem Schema Version . Update. Patch und Build lasse ich außen vor, denn soviele Unterteilungen benötige ich nicht.
Ich persönlich bevorzuge es, wenn gewisse Dinge einheitlich sind. Ich meine damit, dass ich auf der einen Seite einen Updatemechanismus hab, der Hash-Codes (Anwendungsupdate) zur Identifizierung verwendet und auf der anderen Seite (Datenupdates) plötzlich eine Versionisierung nach dem Schema "Version.Update". Ich habe schon überlegt dein generelles Vorgehen zu verwenden, jedoch nicht den Hash-Code, sondern die Versionisierung zu verwenden.
Wie funktioniert das Datenupdate? Ich versuch es mal zu erklären. Ich habe einen Bereich auf meinem FTP-Server, zu dem genau ein User Zugriff hat. Dieser User ist in der Anwendung hinterlegt. Wenn ich nun (mal einfach ausgedrückt) den Button "Update" drücke, dann wird eine Verbindung zum FTP hergestellt. Auf dem FTP können verschiedene Updates für verschiedene Kunden bereit liegen. In welchen Ordner die Anwendung auf dem FTP wechseln muss, wird vor Auslieferung konfiguriert. Also es wird eine Verbindung zum FTP hergestellt und mit der Konfiguration in einen bestimmten Ordner auf dem FTP gewechselt. In diesem Ordner befindet sich eine Datei mit Update-Informationen (Welche Updates, wo liegen die Updates, wohin müssen die Updates kopiert werden etc.). Diese Datei wird nun verarbeitet und die Updateinformationen extrahiert. Anhand dieser Informationen werden die Updates nun geladen. Ich habe so ein Vorgehen gewählt, denn selbst wenn es verschiedene Versionen für verschiedene User gibt, so sind manche Updates trotzdem gleich und ich möchte die nicht öfter als einmal auf dem FTP haben, also werden die in einen gewissen Ordner gelegt. In der Date mit den Updateinformationen steht eben dann der Pfad, wo das Update abgeholt werden kann. Puhh..ich weiß es ist etwas umständlich zu erklären . Bei Fragen...einfach fragen.
Nun kann es aber passieren (wir sind alle nur Menschen), dass in dem Datenupdate ein Fehler ist, dann muss dieses Update neu eingespielt werden. Momentan ist mein Update-Mechanismus so aufgebaut, dass nur Updates verarbeitet werden können, bei denen die Versionsnummern der Anwendung und der Datendatei gleich ist. Sollten die Versionsnummer unterschiedlich sein, so kann es u.U. vorkommen, dass das Datenmodell nicht zu den Daten passt und es wird eine Exception ausgelöst. Das möchte ich damit verhinden. Nun kann es aber passieren, dass sich in dem Datenupdate ein Fehler eingeschlichen hat. Um diesen Fehler zu beheben muss ich ein z.B. Update 3_2 (Version 3 Patch 2) nachschieben. Das meinte ich mit Fehler.
Das Vorgehen bei den Datenupdates funktioniert ja soweit, bis auf die Installation eines Patches. Was noch nicht funktioniert ist das Update der Anwendung, wsa ich aber mit deinem Beispiel ganz gut umsetzen könnte.
Ach ja die Underscores waren nur Beispiele. Ich wollte es nur schemenhaft darstellen.
Bei Fragen....einfach fragen .
Grüße
Sascha
PS: Auch ich arbeite an einem sehr großen Projekt und dieser Updatemechanismus darf auf keinen Fall irgendwelche Fehler verursachen.
also die Versionisierung läuft bei mir nach dem Schema Version . Update. Patch und Build lasse ich außen vor, denn soviele Unterteilungen benötige ich nicht.
Ich persönlich bevorzuge es, wenn gewisse Dinge einheitlich sind. Ich meine damit, dass ich auf der einen Seite einen Updatemechanismus hab, der Hash-Codes (Anwendungsupdate) zur Identifizierung verwendet und auf der anderen Seite (Datenupdates) plötzlich eine Versionisierung nach dem Schema "Version.Update". Ich habe schon überlegt dein generelles Vorgehen zu verwenden, jedoch nicht den Hash-Code, sondern die Versionisierung zu verwenden.
Wie funktioniert das Datenupdate? Ich versuch es mal zu erklären. Ich habe einen Bereich auf meinem FTP-Server, zu dem genau ein User Zugriff hat. Dieser User ist in der Anwendung hinterlegt. Wenn ich nun (mal einfach ausgedrückt) den Button "Update" drücke, dann wird eine Verbindung zum FTP hergestellt. Auf dem FTP können verschiedene Updates für verschiedene Kunden bereit liegen. In welchen Ordner die Anwendung auf dem FTP wechseln muss, wird vor Auslieferung konfiguriert. Also es wird eine Verbindung zum FTP hergestellt und mit der Konfiguration in einen bestimmten Ordner auf dem FTP gewechselt. In diesem Ordner befindet sich eine Datei mit Update-Informationen (Welche Updates, wo liegen die Updates, wohin müssen die Updates kopiert werden etc.). Diese Datei wird nun verarbeitet und die Updateinformationen extrahiert. Anhand dieser Informationen werden die Updates nun geladen. Ich habe so ein Vorgehen gewählt, denn selbst wenn es verschiedene Versionen für verschiedene User gibt, so sind manche Updates trotzdem gleich und ich möchte die nicht öfter als einmal auf dem FTP haben, also werden die in einen gewissen Ordner gelegt. In der Date mit den Updateinformationen steht eben dann der Pfad, wo das Update abgeholt werden kann. Puhh..ich weiß es ist etwas umständlich zu erklären . Bei Fragen...einfach fragen.
Nun kann es aber passieren (wir sind alle nur Menschen), dass in dem Datenupdate ein Fehler ist, dann muss dieses Update neu eingespielt werden. Momentan ist mein Update-Mechanismus so aufgebaut, dass nur Updates verarbeitet werden können, bei denen die Versionsnummern der Anwendung und der Datendatei gleich ist. Sollten die Versionsnummer unterschiedlich sein, so kann es u.U. vorkommen, dass das Datenmodell nicht zu den Daten passt und es wird eine Exception ausgelöst. Das möchte ich damit verhinden. Nun kann es aber passieren, dass sich in dem Datenupdate ein Fehler eingeschlichen hat. Um diesen Fehler zu beheben muss ich ein z.B. Update 3_2 (Version 3 Patch 2) nachschieben. Das meinte ich mit Fehler.
Das Vorgehen bei den Datenupdates funktioniert ja soweit, bis auf die Installation eines Patches. Was noch nicht funktioniert ist das Update der Anwendung, wsa ich aber mit deinem Beispiel ganz gut umsetzen könnte.
Ach ja die Underscores waren nur Beispiele. Ich wollte es nur schemenhaft darstellen.
Bei Fragen....einfach fragen .
Grüße
Sascha
PS: Auch ich arbeite an einem sehr großen Projekt und dieser Updatemechanismus darf auf keinen Fall irgendwelche Fehler verursachen.