Wie man am einfachsten von v2.1 Plus auf die v2.2 Plus wechselt

  • Vorweg, für alle, die eine Plusversion v2.1 erworben haben, hier der Gutschein zum bestellen der v2.2 Plus für 47,00 Euro:

    migv21Plus22

    Der Gutschein ist nur bei http://www.seo-template.de einlösbar.

    1. Das allerwichtigste ist eine komplette Datensicherung
    2. Datenbank sichern mit mysqlDumper (http://www.mysqldumper.de/)

    Was wird alles benötigt?
    Da in Version 2.2 die Sprachen 1 = english / 2 = deutsch wieder eingeführt wurden, ist ein kleiner Umweg bei der Datenmigration notwendig. Da diverse WAWI-Anbieter nach wie vor auf die Kombination en/de setzen, sind wir diesen kleinen Schritt zurück gegangen, so wie in alten xtc Zeiten :)
    Das hat insgesamt keine Auswirkungen, aber für die Migration sollte man eine Zwischendatenbank verwenden, damit man nicht am offenen Herzen operieren muss.
    Die meißten Provider bieten ja mehrere Datenbanken an, so dass es in der Regel kein Problem sein sollte. Für alle, die es lieber lokal erst einmal testen und migrieren wollen, die sollten es mit XAMPP oder MAMP lokal testen. Hier hat man ja alle Freiheiten.

    Wir benötigen also ingesamt 3 Datenbanken.

    Nachdem die Sicherung durch ist und 1 leere Datenbank für eine Neuinstallation zur Verfügung steht, kann man beginnen, die v2.2 einmal frisch zu installieren.

    Warum nicht einfach über die alte Version drüber bügeln?
    Es gibt in v2.2 massive Änderungen an der Grundstruktur, sicherheitstechnische Verbesserungen, SMARTY 3 und diverse Entschlackungen im Grundpaket. Damit also keine alten Leichen imm Keller liegen, sollte man auf jeden Fall eine komplette Neuinstallation machen. Da sich auch diverse Verbesserungen in der Datenbank ergeben haben und diverse Konfigurationseinstellungen neu geordnet wurden, wäre es zu aufwendig, diese alle einzeln zu machen. Die Einstellungen neu setzen, geht in der Regel deutlich schneller. Durch neue Zahlungsmodule / Versandmodule ist es sowie sinnvoller, die neu zu installieren, die alten hätten auch deinstalliert und neu installiert werden müssen. Weiterhin sollten die PDF-WAWI Einstellung einmal neu gesetzt werden.

    Installation v2.2:

    Vergewissern Sie sich, die aktuelle Version herunter geladen zu haben. Wer ganz am Anfang schon bestellt hat, bitte das QF1 und das QF1.1 mit laden und dann zu installieren. Das QF1.1 (Stand 27.07.2012, behebt eine kleinen IE Bug, Basispakete wurden auch aktualisiert)

    Wie immer, Basispaket entzippen und den kompletten Ordner auf den FTP hoch laden, das kann auch in einem Unterverzeichnis geschehen. Domain aufrufen und die automatische Installationsroutine sollte erscheinen.
    Wenn schon beim Aufruf der Domain (+eventuell Unterverzeichnis) ein Fehler wie "Error 500" auftritt, am besten erst einmal die .htaccess umbenennen. Es gibt leider sehr viele unterschiedliche Konfigurationen bei den Providern, so dass eine Allheillösung nicht in Sicht ist. Wer aber schon die 2.1 laufen hat, sollte mit dem Thema vertraut sein.
    Die v2.2 wurde schon bei der Installation in Feinheiten überarbeitet. So kann man nun schon bei der Installation die UST-ID angeben und die Firmendaten werden jetzt auch korrekt in die E-Mail Vorlagen übernommen. Die E-Mail Vorlagen wurden alle sorgfältig überarbeitet und getestet. Wer in seiner alten Version schon Anpassungen gemacht hat, sollte die dann danach prüfen.

    Nach erfolgreicher Installation hat man nun die Basis für den nächsten Schritt.

    Konfiguration der v2.2:

    Wie bereits erwähnt, sollten alle Zahlungsmodule und Versandmodule einmal neu eingerichtet werden. Hierfür einfach die Module wieder installieren und so wie im alten Shop einstellen.

    Folgendes kann mit dem Update-Assistenten übernommen
    werden (Details weiter unten):
    - Kategorien / Produkte
    - Optionen, Sonderangebote, Hersteller, Cross-Selling
    - Kunden, Kundengruppen, Bestellungen, Bestellstatus
    - Warenkörbe, Gutscheine und Content Seiten

    Hier muss man sich also keine Mühe machen.

    Wer bereits in der v2.1 das Template nur minimal angepasst hat, kann die neue Templatevorlage v2.2 Grid einfach wieder an das Layout anpassen. Sofern es nur den Header betrifft und die Fraben, kann das meisste direkt in der css/stylesheet.css geändert werden.
    Durch den Einsatz von SMARTY 3 ergeben sich leider ein paar Änderungen an den HTML/PHP Dateien. Wer also schon ein komplett eigenes Template entwickelt hat, kann sich hier belesen: http://handbuch.commerce-seo.de/index.php?sid=…id=1&artlang=de
    Ein wichtiger Hinweis noch zu den Pfaden in den CSS Dateien. Da die CSS jetzt im Ordner /cache abgelegt werden, müssen die Pfade jetzt immer absolut zum Template sein, also nicht mehr ../img/.. sondern templates/cseov22-grid/img/head.jpg (als Beispiel). Noch ein Hinweis an dieser Stelle. Für die PDF-Generierung wird jetzt eine logo.jpg Datei benötigt, nicht mehr wie vorher eine logo.png! Sie sollten also Ihr Logo im Format logo.gif, für Mails, logo.jpg für PDF und logo.png, für die Einbinung im Layout (im fluid ist logo.png als Shop-Fronten Logo Standard).

    Für Entwickler gibt es im Admin eine neue Einstellmöglichkeit, dmit nicht immer der Cache geleert werden muss:

    Admin > Konfiguration > Cache-Option
    Hier kann man angeben, ob der cache in regelmäßigen Abständen gellert werden soll. Diese Option sollte nur so lange eingeschaltet werden, wie man am Template arbeitet. Im Live Betrieb sollte die Funktion dann aus sein.

    Ein paar generelle Änderungen zur v2.1 wollen wir aber auch hier noch mal verdeutlichen. Die Einbindung der Javascript/CSS Dateien erfolgte bis v2.1 über SourceMerger. Die Dateien waren also vorher im Ordner /includes/javascript zu finden, inkl. der entsprechenden Unterstrukturen.
    Mit den Dateien cseo_css.php und cseo_java.php konnte man bestimmen, welche Scripte und CSS geladen werden sollten.

    In v2.2 wurde einiges an der Grundstruktur geändert, somit ist man nun deutlich flexibler. Die Komprimierung wird nicht mehr über SourceMerger gemacht, sondern über eine neue Komprimierungsklasse. Somit entfallen wieder einmal externe Abhängikeiten :)

    Die CSS Dateien, befinden sich in der v2.2 ALLE im Template Ordner css und die Javascript-CSS Dteien im Ordner css/jscss. Das ermöglicht uns, auch schon mit neuen Templates die Javascripte optisch anzupassen und die Sucherei fällt weg, wo ist denn das CSS für die und die Klasse.

    Die Javascripte sind jetzt auf der obersten Ebene eingebunden, im Ordner /javascript/js und /javascript/img für die benötigten Bilder.
    Die Javascripteinbindung erfolgt nun über /cseo_javascript.php und /cseo_js_base.php wobei in der cseo_js_base.php nur das jQuery eingebunden wird. Die Trennung ist notwendig, da jQuery immer als Erstes geldaden werden muss, wegen IE Kompatibiliät.
    Hier kann man auch neue Scripte einbinden.

    Die CSS Dateien werden über die Datei /cseo_css.php und /cseo_css_ie.php eingebunden. Die cseo_css_ie.php wird nur für IE7/8 heran gezogen. In Erster Linie diehnt die Datei für die optimale Darstellung der fluid-Templates im IE 7/8. Es wird im Template CSS Ordner die Datei ie.css gesucht. Ist diese nicht vorhanden, wird die normale stylesheet.css verwendet. Die Grid Templates benötigen keine ie.css, somit entfällt der Mehraufwand.
    Auch hier kann man eigene CSS Dteien einbinden.

    Wenn der Shop sowiet eingerichtet ist und das Template angepasst ist, kann man nun zur Datenübernahme schreiten.

    Entpacken Sie als Erstes das angefügt ZIP und kopieren Sie den kompletten Ordner cseov22_import in Ihren neuen v2.2 Shop.
    Der Update Assistant wird einfach über ihrshopv22/cseov22_import aufgerufen (ihrshopv22 = Domain oder localhost).

    Vorbereitung für den Assistenten:

    Hier kommt jetzt die 3. Datenbank ins Spiel. Sie haben bereits eine Sicherung Ihrer Original DB mit Hilfe von MySQLDumper gemacht. Spielen Sie diese Sicherung nun in Ihre Zwischendatenbank ein (nicht die Datenbank für die v2.2).
    Folgende SQL Befehle helfen Ihnen, die Sprach-ID von 1 auf 2 zu stellen. Diese SQL nur in der ZwischenDB einspielen, NICHT im Original oder in der v2.2 DB.
    Also noch mal ganz deutlich:

    DB 1 ist Orginal v2.1 Shop DB
    Zwichen DB ist nur für die Migration Ihrer OriginalDB nach v2.2
    v2.2 DB = die neue Shopdatenbank

    SQL für die Umstellung der Sprach-ID 1 auf 2:

    Führen Sie die SQL Befehle mit Hilfe von mysqldumper oder phpmyadmin Schritt für Shritt aus!

    Was der Assistent nicht übernehmen kann:

    • Produkt Parameter
    • Blog
    • Filter
    • Boxen
    • Tags

    Diese Tabellen sollten zum Schluss per Hand über phpMyAdmin übernommen werden. Die Tabellen von der ZwischenDB mittels phpMyAdmin exportieren (ohne Struktur, also NUR Daten, und den Haken setzen bei "Spaltennamen bei jedem INSERT Schlüsselwort verwenden")

    Der Assistent ist sehr einfach aufgebaut und klar beschrieben. Ich denke, hier kann man nicht viel verkehrt machen. Eine Einzelmigration der Daten ist ohne Pobleme möglich, dann die entsprechenden Haken abwählen, was nicht übernommen werden soll. Man kann so beispielsweise zuerst die Produkte / Kategorien übernehmen und später dann die Kunden / Bestellungen.

    Bei DATENBANKINFORMATIONEN DES QUELLSHOPS tragen Sie die Daten zur alten (Zwischen) Datenbank ein. Als Login wird die E-Mail und Passwort vom neuen Shop (v2.2) verlangt. Nach dem Klick auf den Button "Import Starten" werden die Daten übernommen. ACHTUNG, es kommt erst mal keine weitere Meldung, sofern alle Zugangsdaten korrekt sind. Mann kann nur erkennen, ob was geschieht, dass im Browser die Eieruhr läuft. DIESEN VORGANG NICHT UNTERBRECHEN!

    Bei größeren Shops kann es ein wenig dauern, bis die Daten übernommen sind (hier kann es notwendig sein, die max_execution_time hoch zu stellen!). Wenn die Daten übernommen sind, kommt ein Hinweis, den Import zu starten. Diesen dann bestätigen. Eventuelle Fehlermeldungen (bei vorhandenen Spalten) können ignoriert werden. Der Import läuft trotzdem sauber durch.

    Danach kann man den Shop aufrufen. Wenn Sie erst mal nur die Produkte übernehmen, können Sie den Import-Assistenten erneut starten, für die Übernahme der restlichen Daten, dann die bereits übernommen Daten abhaken.
    Beim Kundenimport werden die neu angelegten Kundendaten überschrieben und Sie müssen sich dann mit dem "alten" Login anmelden.

    Nach erfolgreicher Übernahme sollte der Ordner cseov22_import unbedingt gelöscht werden.

    Zum Abschluss den Ordner /images/product_images/original_images vom alten Shop in den neuen einspielen und das Image-Processing neu durch laufen lassen. Die anderen bilder Ordner können dann ebenfalls übernommen werden.

    Ein letzter Hinweis zum Update-Assitent. Der Assitent basiert auf dem Gambio GX Migrations-Assistenten. Ein Weiterverkauf oder sonstige Weitergabe ist untersagt. Wir stellen Euch das Tool für eine einfache Übernahme bereit, weil es gut funktioniert.

    Nun viel Erfolg bei der Umstellung.

    Wer sich das alles nicht zutraut, sollte lieber die Finger davon lassen und uns oder jemand damit beauftragen, der sich die Migration zutraut.

  • Pass auf !So mal Ganz schnell gesehen scheint dies nur zu laufen wen nur einer Sprache drin ist mit Id 1 was alt Deutsch ist dan in neu id 2 werdet , wo English vorher ID 2 hat soll es 1 werden
    Dan kan man doch kein Update machen von ID 1 AUf 2 ohne so etwas ?

    Zitat

    UPDATE categories_description SET language_id = 999 WHERE categories_description.language_id = 2;

    UPDATE categories_description SET language_id = 2 WHERE categories_description.language_id = 1;

    UPDATE categories_description SET language_id = 1 WHERE categories_description.language_id = 999;


    Also nicht dieser oder???

    SQL für die Umstellung der Sprach-ID 1 auf 2:

    Führen Sie die SQL Befehle mit Hilfe von mysqldumper oder phpmyadmin Schritt für Shritt aus!

    2 Mal editiert, zuletzt von jotest (27. Juli 2012 um 19:43)

  • OJA ganz WICHTIG wen man WAWI mit Connector hat den Sprach ID in den Connector und oder Settings naturlich Rechtzeitig anpassen.

  • Vergessen sind ganz oben auch oder?

    Zitat

    UPDATE products_content SET languages_id = 999 WHERE products_content.languages_id = 2;
    UPDATE products_content SET languages_id = 2 WHERE products_content.languages_id = 1;
    UPDATE products_content SET languages_id = 1 WHERE products_content.languages_id = 999;

    UPDATE reviews_description SET languages_id = 999 WHERE reviews_description.languages_id = 2;
    UPDATE reviews_description SET languages_id = 2 WHERE reviews_description.languages_id = 1;
    UPDATE reviews_description SET languages_id = 1 WHERE reviews_description.languages_id = 999;

  • Hier habe ich den wen auch English Aktiv ist oder war nochmal den ID umsetzung BACKUP VORHER

  • Fehler

    SQL-Befehl:

    UPDATE products_parameters_description SET language_id =999 WHERE products_parameters_description SET language_id =2;

    MySQL meldet: Dokumentation
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET language_id = 2' at line 1

  • Hallo Denillo

    Also die ist dan da
    Dan ist/war vorher auch English mit den ID 2 Aktiv oder?


    Lese aber bite den Beiträge wie wen es vorher auch English Aktiv war zu machen, meine beiträge hier.

    Wen English vorher nicht Aktive welche Sprache war dan ID2 ??
    Und wen eigentlich gar kein extra Sprache dan muss Du wirklich alles sauber checken in den Datenbank was es alles so gibt, weil wen dies durcheinder gerät ...

  • Also Englisch war Aktiv

    Ok dan ist es Lesen von auch meiner Beiträge hier wegen die ID's

    Steht auch dass script etwas nach oben hier von mir sehe Antwort von Admin auf meiner beitrag.

    Aktiv vorher heist die Datenbank vorher in ordnung machen wegen den ID's , und dan auch be v22 vor den import dieser settings naturlich richtig setzen.

  • Also es scheint, dass bei mir vieles anders ist. Z.b. Habe ich Sprach Id´s 1-3 und alle sind deutsch. Die Fehler lassen sich sehr mühsam beseitigen.

    Da ich eh wenig Produkte habe, würde ich auch nur mit einer Manuelle übernahme der Bestellungen und Kundendaten zufrieden sein.

    Ist dies via Import und Export der entsprechenden Tabellen ohne Probleme möglich?

  • Was welches version / shopsystem war es vorher?

    Weil so etwas ist ziemlich ungewohn. ( mehrfach deinstall / install Sprachen kan es vielleicht verursacht haben ..)

    Problem übername Bestellungen wird sein die Produkte ofcourse.
    Und es gibt bei Kundendaten naturlich auch langid

    IN den Neue INstall ( also vor import) stimmen dort den LangID's ?

    Fehler beseitigen in den Zwischendatenbank, sollte aber gehen wen Du weist welches den wirklich benutzte ID en(s) von den Shop war ( Also welches Aktiv in benutzung war.)

    Dan die nr's etwas mit spielen also den id 2 wen nicht benutzt/aktiv mal umsetzen nach 22 mit sql, dan ist die 2 frei, man kan auch mit phpadmin sortieren auf felder und dan dort die nicht benutzte mal loeschen, ist sowieso einer Zwischendatenbank. ( so dass vor export/import nur den richtige noch drin sind) Welches so alles mit Sprachid's sein seh auch sql script von mir, glaube ist wen keiner extra module ziemlich Komplett.

    Also unter/mit welches Langid den Produkten / Kunden wirklich angelegt waren, weil es könnte so sein dass es andere id's gibt aber die nicht wirklich benutzt worden sind?

    Dan wen so mal raus suchen und dieser als ansatz nehmen.

    Wen wirklich alle Drei (1-3) unter Deutsch benutzt worden sind dan ist es mal suchen und sehen was ja oder nein imported werden soll.
    Aber wen Bestellungen importiert werden sollen, dan muss es also auch alles von Produkten importiert werden, weil die sind ja gekauft worden ;)

    2 Mal editiert, zuletzt von jotest (26. August 2012 um 09:54)

  • Also wen saubere Neuinstall v22, und man im jedenfall nicht den 2 Configure Tabellen etwas von altes importiert / oder nur dieser teilen davon wo man 100% sicher ist dass die auch so in den v22 laufen.

    Kan man weiter ziemlich viel importieren, und mit den Zwischen/ backup/ spare Datenbank zum Migration selbe mall etwas experimentieren/bereinigen ( weil wen immer nach etwas einer Backup da ist kan man wen nicht gut einfach dies zuru"ck setzen), aber wen es schon live ist naturlich schwerer.