News & Ankündigungen
Update 2023-01
Neue Module zur zum Bestelldaten-Export und Shopauktionen sind in Arbeit.
Updatesicherheit
Ein Wort zur „Updatesicherheit“
Das Gambio Shopsystem ist mächtig und umfasst viele Funktionen und Möglichkeiten. Aber manchmal reichen auch diese nicht aus oder sie sind so designt, wie man sie gerade nicht brauchen kann oder aber man benötigt eine etwas andere Variante dessen, was im Shop eingebaut und umgesetzt ist.
Dann kann das Shopsystem in der Regel verändert werden.
Aber mit Veränderungen am System geht unmittelbar eine gewisse Unsicherheit einher.
Was passiert beim nächsten Update? Kann ich noch Aktualisierungen und Updates vom Shop einspielen und funktioniert der Shop weiterhin – und auch die vorhandene Änderung?
Ein Verlangen kommt dann schnell auf: die UPDATESICHERHEIT – die Veränderung des Systems, aber „update-sicher“, sodass bei Aktualisierungen nichts passiert und alles anschließend wie vorher funktioniert.
Eins vorn weg: Die UPDATESICHERHEIT im engsten Sinn ist ein Phantom, jeder hofft, dass es sie gibt, aber gesehen hat sie leider noch niemand, denn trotz der guten Ansätze und Vorsätze seitens Gambio hat die „Updatesicherheit“ so Ihre Grenzen.
Aber fangen wir vorn an: was IST „Updatesicherheit„?
Die Basis zur Updatesicherheit eines Systems entsteht, wenn der Urheber des Systems – hier also Gambio – vorausschauend programmiert und die Routinen und Funktionen des Systems so konzipiert, dass man diese sozusagen von außen modifizieren, ergänzen oder überlagern kann. So kann man bei diesem speziellen Design Konstrukte schaffen, die es erlauben, die originalen Inhalte zu verändern. Hierbei gibt es eine – von Gambio – vorgegebene Grundform eines Prozesses und seiner Schritte; diese wird von Gambio mit dem Shop geliefert und erfüllt die von Gambio vorgesehene Aufgabe. Durch die bereits erwähnte spezielle Programmierung kann man aber diese Prozesse und die Schritte um definierbar machen: Man kann sich von dritter Seite davor setzen, dahinter, mitten rein oder man kann sie ergänzen, verändern und modifizieren. Diese Veränderungsmöglichkeiten finden außerhalb des originalen von Gambio gelieferten Programmcodes statt und werden über die eingebaute Überladungsmechanik im Moment der Programmausführung hinzugezogen: ergänzend oder ersetzend. Die Originaldatei von Gambio bleibt hierbei unberührt und unverändert und dennoch erreicht man mit diesem Konstrukt eine Modifikation der Prozesse.
Voraussetzung hierfür ist die erwähnte spezielle Programmierung und Gambio entwickelt mit jeder neuen Version neue Bereiche, die diesem speziellen Design folgen. Die Umschreibung ehemals starrer Programme in so modifizierbare Konstrukte nennt man dann „Refactoring“ – also die Neugestaltung alter starrer Programmierungen in die neue Form, mit der Möglichkeit diese zur Laufzeit zu verändern oder zu ergänzen. Ebenso implementiert Gambio auch ganz neue Bereiche, die direkt diesem Design entsprechen und von Anfang an Modifikationsmöglichkeiten ohne Veränderungen des Original-Codes ermöglichen.
Diese Mechaniken haben den Grundsatz, dass die jeweiligen Original-Dateien unverändert bleiben. Wenn Gambio dann ein Update herausgibt, dann sind hier nur die Originalversionen der jeweiligen Dateien betroffen. Gambio ändert KEINE Überladungen, sondern kümmert sich nur um die jeweiligen Originaldateien.
So bleiben die Modifikationen grundsätzlich erhalten, während die Originaldateien von Gambio gepflegt und ggf. im Rahmen von Updates ausgetauscht werden.
Nun kommt aber das große ABER:
Das ganze funktioniert nur solange wie von Gambio keine elementaren oder strukturellen Veränderungen geliefert werden und die gemachten Modifikationen auch nach einem Update immer noch zum Rest des (aktualisierten) Shops passen. Sobald Gambio aber notwendigerweise grundlegende Prozesse neu designt, ersetzt oder auch „Refactoring“ durchführt, ist das Risiko wieder da, dass die im Shop vorhandenen Modifikationen nicht mehr passen. Dann hat die „Updatesicherheit“ ein schnelles Ende.
Und dennoch ist die separate Unterbringung von Modifikationen durch „update-sichere“ Programmierung ein entscheidender Vorteil, denn die Modifikationen stehen nach einem Update unverändert zur Verfügung und sind leicht lokalisierbar – und können gezielt überarbeitet werden, damit sie dann wieder zum (neuen) Shop passen.
„Update-sicher“ programmierte Änderungen dezimieren also gravierend das Risiko von Verlusten bei Shopaktualisierungen, da sie separat und außerhalb der Originaldateien eingebaut sind und häufig auch nach Updates des Shops noch funktionieren. Aber bei strukturellen Änderungen besteht auch hier das Risiko, dass sie nachgearbeitet und wieder kompatibel gemacht werden müssen zu dem Shop, der nach dem Shop-Update vorliegt.
Noch ein Tipp: Lassen Sie Modifikationen an Ihrem Shopsystem grundsätzlich und im eigenen Interesse „update-sicher“ vornehmen, auch wenn es ebenso hierbei ein gewisses Risiko von späteren Anpassungen bei strukturellen Änderungen gibt. Einbauten in Original-Dateien sollten nur dort erfolgen, wo seitens Gambio (noch) keine update-sichere Modifikation möglich ist. Es gibt nichts Teureres, als die Pflege von Modifikationen in Original-Dateien, denn jedes Shop-Update richtet hier fast automatisch erheblichen Schaden an, weil die in den Originalen eingebauten Veränderungen verloren gehen. Der Shop hat enorme Möglichkeiten für den update-sicheren Einbau und diese sollten genutzt werden. Wenn wider besseres Wissen und trotz dieser Möglichkeiten etwas in Original-Dateien eingebaut wird, obwohl es andere Möglichkeiten gibt, dann muss man unterstellen, dass hierdurch Folgeaufträge generiert werden sollen: denn nach jedem Update muss der unvermeidbare Schaden korrigiert und die Lösung neu eingebaut werden.
XYCONS-Module und die „Updatesicherheit“
Unsere Module sind „update-sicher“ entwickelt und nutzen alle Möglichkeiten, die Gambio im Shopsystem hierfür bietet. Das heißt, dass der gesamte veränderte oder zusätzliche Programm- und HTML-Code in separaten Dateien unter Nutzung der Überladetechnik abgelegt ist.
Das Konzept verfolgt den Ansatz, dass ein Shop-Update gegenüber den Modulen keinen Schaden anrichten kann und vor allem, dass das Modul erhalten bleibt, weil die durchgeführten Änderungen nicht in den Originaldateien des Shops eingearbeitet, sondern separat gehalten sind. Dennoch müssen aber auch bei einem Update ggf. die Inhalte der Moduldateien angepasst werden, damit die eigentlich aus den Originaldateien stammenden Anteile zur jeweiligen Shopversion aktuell gehalten werden, denn diese könnten durch das Update selbst verändert worden sein.
Ein Servicepack oder Masterupdate aktualisiert lediglich die Original-Dateien des Shops und diese Änderungen müssen dann ggf. auch in die „Parallelwelt“ des Einbaus eingepflegt werden. Aber das Modul selbst geht nicht automatisch verloren und müsste in die durch das Shop-Update veränderten Dateien neu eingebaut werden.
Xycons-Module folgen seit den Shop-Versionen 3.8.x.x aufwärts den Vorgaben nach Gambios Konzept „GXModules“.