Problem mit Shopware-Migration

Hallo,

sobald ich eine Migration von Kunden (Gambio-Shop) starte, erhalte ich folgende Fehlermeldung:

Beim Importieren der Kunden ist ein Fehler aufgetreten

Code : 1100
Line : 175
File : /var/www/vhosts/KUNDE/htdocs/htdocs/engine/Shopware/Plugins/Community/Backend/SwagMigration/Components/Migration/Import/Resource/Customer.php

Error : Method "Shopware::Api" not found failure
Trace : #0 /var/www/vhosts/KUNDE/htdocs/htdocs/engine/Shopware/Plugins/Community/Backend/SwagMigration/Components/Migration/Import/Resource/Customer.php(175): Enlight_Application->__call('Api', Array) #1 /var/www/vhosts/KUNDE/htdocs/htdocs/engine/Shopware/Plugins/Community/Backend/SwagMigration/Components/Migration/Import/Resource/Customer.php(175): Shopware->Api() #2 /var/www/vhosts/KUNDE/htdocs/htdocs/engine/Shopware/Plugins/Community/Backend/SwagMigration/Controllers/Backend/SwagMigration.php(474): Shopware_Components_Migration_Import_Resource_Customer->run() #3 /var/www/vhosts/KUNDE/htdocs/htdocs/engine/Shopware/Plugins/Community/Backend/SwagMigration/Controllers/Backend/SwagMigration.php(511): Shopware_Controllers_Backend_SwagMigration->runImport('import_customer...') #4 /var/www/vhosts/KUNDE/htdocs/htdocs/engine/Library/Enlight/Controller/Action.php(158): Shopware_Controllers_Backend_SwagMigration->importAction() #5 /var/www/vhosts/KUNDE/htdocs/htdocs/engine/Library/Enlight/Controller/Dispatcher/Default.php(523): Enlight_Controller_Action->dispatch('importAction') #6 /var/www/vhosts/KUNDE/htdocs/htdocs/engine/Library/Enlight/Controller/Front.php(227): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp)) #7 /var/www/vhosts/KUNDE/htdocs/htdocs/engine/Shopware/Kernel.php(148): Enlight_Controller_Front->dispatch() #8 /var/www/vhosts/KUNDE/htdocs/htdocs/vendor/symfony/http-kernel/HttpCache/HttpCache.php(492): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #9 /var/www/vhosts/KUNDE/htdocs/htdocs/engine/Shopware/Components/HttpCache/AppCache.php(255): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) #10 /var/www/vhosts/KUNDE/htdocs/htdocs/vendor/symfony/http-kernel/HttpCache/HttpCache.php(263): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true) #11 /var/www/vhosts/KUNDE/htdocs/htdocs/engine/Shopware/Components/HttpCache/AppCache.php(103): Symfony\Component\HttpKernel\HttpCache\HttpCache->pass(Object(Symfony\Component\HttpFoundation\Request), true) #12 /var/www/vhosts/KUNDE/htdocs/htdocs/shopware.php(101): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request)) #13 {main}

OK

Wei√ü jemand warum das nichtmehr l√§uft? Wo ist denn Shopware::Api hin? (Method ‚ÄúShopware::Api‚ÄĚ not found failure)

Plugin: Shopware Migration / V2.3.1

Viele Gr√ľ√üe
AvL

Hallo,

das Plugin ist aktuell nur bis Shopware 5.0.4 freigegeben. Die alte Shopware-API wurde mit 5.1 aus dem Core entfernt und das Plugin wird aktuell aufwendig umprogrammiert. Aktuell ist also nur eine Migration nach 5.0.4 möglich mit anschließendem Update auf 5.1.3.

Moritz

Das heisst, ich nehme einen 5.0.4; importiere mir die Kunden und soll dann auf 5.1.3 update? Dann kann ich ja auch gleich die Kunden in 5.0.4 importieren und dann die Usertabelle austauschen. Wir brauchen nämlich nur die Kundendaten…

Ich will nicht wissen, was ich uns dann wieder zerschiesse…Wir arbeiten seit letztes Jahr Juni an an dem Shop und nun stehen wir kurz vor einem Launch und nun sowas?

Aber die Passwort-Abfragen beim Login funktionieren dann noch oder? Weil dazu muss das Plugin ja weiterhin aktiviert bleiben.

Die Passwort-Abfragen funktionieren nur mit Modul (bis der Kunde sich erstmalig neu angemeldet hat). Das Modul l√§uft nur bis 5.0.4. Wenn Du diese Funktion willst, darfst Du als h√∂chste Version nur 5.0.4 einsetzen, bis das Modul f√ľr 5.1.x √ľberarbeitet wurde.

burrito

Das heisst jetzt, wie m√ľssen einen 5.0.4 frisch aufsetzen und alles was wir bisher an Einstellungen gemacht haben usw. enu machen?

Was bitte ist das f√ľr ein Quatsch? (Frage vom Kunden). Warum nimmt man etwas raus was gut funktioniert; was Shopbetreiber zu Shopware bringt und dann liest man das geht nicht mehr ab Version x weil man die API rausgenommen hat und solll bzgl Relaunch warten? Wir haben keine Zeit auf ein Update¬†zu warten; ab dem 01.03 haben wir wichtige gesetzliche Auflagen zuerf√ľllen; ansonsten kann as Gesch√§ft geschlossen werden.

Dann h√§tte ich die Plugins welche die gesetzlichen Auflagen zum erf√ľllen bringen auch in Gambio einbauen k√∂nnen.

Komische Politik. Hallo Shopware: gebau dieses Plugin hat uns zu Shopware gebracht…

Ich frickel mir dann lieber ein eigenes Plugin f√ľr das Login. Danke‚Ķ

 

MFG

AvL

Hallo,

es handelt sich hier um ein Plugin ohne Support, welches kostenlos ist. Die 5.1 ist seit dem 19.10. veröffentlicht. Spätestens seit diesem Zeitpunkt könntest du auch wissen, dass es noch keine kompatible Version gibt.

Ich w√ľsste nicht, warum die Passwort-Funktion nicht funktionieren sollte. Warum probierst du es nicht einfach mal aus? Das hat ja erstmal nichts mit der alten Shopware API zu tun und ist eine komplett andere Funktion des Plugins. Installieren l√§sst es sich ja.

Es wird ja aktuell an einer neuen Version gearbeitet. Da hat sich auch schon einiges auf Github getan, einige Baustellen gibt es aber noch.

Gr√ľ√üe

Moritz

Hallo AvL,

ich kann schon verstehen, dass es Dich √§rgert. Das Modul ist unter anderem auch der Grund, weshalb ich zu Shopware wechsel und nicht zu einem anderen Shopsystem. Aber die Migration ist ein zentraler Punkt. Den sollte man fr√ľhzeitig einplanen und testen und nicht erst nachdem die Arbeit getan wurde. Das soll keine Kritik sein, sondern eine Anregung f√ľr die Zukunft.

Das Thema wird √∂fter diskutiert. Letztlich wird das PlugIn ab 5.1 nicht mehr unterst√ľtzt, weil zentrale Teile, die das Plug-In nutzt ab 5.1 anders gel√∂st werden (ich glaube es war die Passwortverwaltung). Laut Moritz wird aktuell an der Anpassung von dem Plug-In an die 5.1 gearbeitet und innerhalb von Q1 fertig gestellt.

Erkundige Dich doch mal, ob ein Downgrade nach 5.04 möglich ist. Das weiß ich nicht. Du kannst aber auch zum Test eine 5.04 installieren und Dein Template dort hinkopieren und testen.

Egal, wie Du es machst, Du bist immer davon abh√§ngig, dass das Plug-In ein Update erh√§lt. Denn Du brauchst das Plug-In solange, bis Du sagst, dass sich keine ‚Äěalten‚Äú Kunden mehr anmelden werden.

Um nicht auf Dauer von der Update-Politik f√ľr dieses Plug-In abh√§ngig¬† zu sein, haben wir uns dazu entschlossen mit dem Shopwechsel auch einen Bruch durchzuf√ľhren. D.h. wenn der Kunde auf ein nicht vorhandenes Konto zugreifen m√∂chte dann teilen wir ihm mit, dass er aufgrund des Systemwechsels ein neues Konto anlegen muss. Das ist zwar unsch√∂n aber ich denke unsere Sorte Kunden wird hier mitziehen.

burrito

Das werde ich heute auch noch ausprobieren. Auf einer 5.0.4 migrieren und diese dann exprtieren und in die aktuelle importieren…

Ich halte Euch up2date…

@burrito schrieb:

Hallo AvL,

ich kann schon verstehen, dass es Dich √§rgert. Das Modul ist unter anderem auch der Grund, weshalb ich zu Shopware wechsel und nicht zu einem anderen Shopsystem. Aber die Migration ist ein zentraler Punkt. Den sollte man fr√ľhzeitig einplanen und testen und nicht erst nachdem die Arbeit getan wurde. Das soll keine Kritik sein, sondern eine Anregung f√ľr die Zukunft.

Hi,

die Migration beinhaltet bei uns leider noch andere Dinge; die ich per CLI-Scripte aufgesetzt hatte. Die Migration lief immer einwandfrei. Klar, nat√ľrlich nur bis zum Zeitpunkt des Uodates. Das Problem was ich aber sehe ist, wenn ich nicht Update, dass evtl. eklatante Sicherl√∂chter irgendwo kl√§ffen. Oder ich auf bestimmte Fixes angewiesen bin, damit der Shop seinen Dienst anst√§ndig¬†verrichtet. Ich h√§tte politisch anders gehandelt. ‚ÄúWir nehmen, das Plugin weiter mit bis wir auch das Update auf die neuste Grundlage k√∂nnen laufen lassen‚ÄĚ. Klar ist das Plugin kostenlos; was auch wirklich SUPER ist; aber > Dieses Plugin ist essientiell f√ľr die Entscheidung von einem uralten GAMBIO auf Shopware umzusteigen. Ich habe letzte Woche einen Shop eines Konkurrenten meines Kunden gesehen (Magento); die auch auf einmal keine Migration mehr durchf√ľhren konnten und das gleiche Problem haben wie Du beschreibst. Ich rede von ca. 44.000 Kundenaccounts von denen¬†ca. 40% den Shop mindestens 1 x Monat aufsuchen. Mein Kunde will diesen Kunden sowas nicht zu muten.

Deshalb gehe ich heute Abend wie folgt vor:

  1. Migration mit einem 5.0.4
  2. Kunden exportieren
  3. In die aktuelle Version importieren

Das Login denke ich, wird mit Sicherheit noch funktionieren. Ansonsten geht der Shop nicht am 01.03 online bis eine L√∂sung gefunden wurde. In den Sauren Apfel beissen heisst f√ľr uns: Ich muss mein Plugin welches die gesetzlichen Anforderung zum erf√ľllen¬†bringt in diese Software-Ruine einbauen. (Schufa/Altersidentit√§tscheck) Und ich m√∂chte ungerne weiter an diese Kr√ľke arbeiten. Ich denke, die meisten hier kennen den Code von GAMBIO, XT usw. und Wissen was das bedeutet¬† Grin

In diesem Sinne…Sorry, war heute Nachmittag sehr aufgeregt wg. dem Thema…

Viele Gr√ľ√üe
AvL

@AvL schrieb:

  1. Migration mit einem 5.0.4
  2. Kunden exportieren
  3. In die aktuelle Version importieren

Hallo AvL,

der von Dir beschriebene Weg wird nicht gehen!

Du brauchst das Plug-In, damit sich die Kunden anmelden können.

Das Problem liegt darin, dass die Kundenpassw√∂rter in Gambio, XTC etc. in MD5-codiert in der DB liegen. MD5 gilt schon l√§nger als veraltet. Shopware hat schon vor einiger Zeit die Passwort-Verschl√ľsselung umgestellt. Mit Plug-In l√§uft die Anmeldung eines Bestandskunden wie folgt ab:

  1. Kunde meldet sich mit seinem Passwort an.
  2. Das Plug-In pr√ľft, das Passwort gegen den alten MD5 Wert und speichert das Passwort (wenn richtig ) in der neuen Verschl√ľsselung ab.
  3. Ab diesem Moment kann sich der Kunde immer auch ohne Plug-In anmelden, da das Passwort neu verschl√ľsselt wurde.

Da eine Passwort-Verschl√ľsselung nur in eine Richtung geht, kann man die alten Passw√∂rter nicht entschl√ľsseln und neu verschl√ľsseln. Du musst also immer warten, bis der Kunde freiwillig sein Passwort eingibt, damit Du es neu abspeichern kannst.

Wenn Du die Kundendaten brauchst, kannst Du also bis zum 01.03. nur versuchen Dein 5.1.x-Layout in einen 5.0.4-Shop zu kopieren und bis das Plug-In fertig ist (Q1 geht ja nicht mehr so lange) den Shop auf 5.0.4 laufen zu lassen.

 burrito

@burrito schrieb:

@AvL schrieb:

  1. Migration mit einem 5.0.4
  2. Kunden exportieren
  3. In die aktuelle Version importieren

Hallo AvL,

der von Dir beschriebene Weg wird nicht gehen!

Du brauchst das Plug-In, damit sich die Kunden anmelden können.

Das Problem liegt darin, dass die Kundenpassw√∂rter in Gambio, XTC etc. in MD5-codiert in der DB liegen. MD5 gilt schon l√§nger als veraltet. Shopware hat schon vor einiger Zeit die Passwort-Verschl√ľsselung umgestellt. Mit Plug-In l√§uft die Anmeldung eines Bestandskunden wie folgt ab:

  1. Kunde meldet sich mit seinem Passwort an.
  2. Das Plug-In pr√ľft, das Passwort gegen den alten MD5 Wert und speichert das Passwort (wenn richtig ) in der neuen Verschl√ľsselung ab.
  3. Ab diesem Moment kann sich der Kunde immer auch ohne Plug-In anmelden, da das Passwort neu verschl√ľsselt wurde.

Da eine Passwort-Verschl√ľsselung nur in eine Richtung geht, kann man die alten Passw√∂rter nicht entschl√ľsseln und neu verschl√ľsseln. Du musst also immer warten, bis der Kunde freiwillig sein Passwort eingibt, damit Du es neu abspeichern kannst.

Wenn Du die Kundendaten brauchst, kannst Du also bis zum 01.03. nur versuchen Dein 5.1.x-Layout in einen 5.0.4-Shop zu kopieren und bis das Plug-In fertig ist (Q1 geht ja nicht mehr so lange) den Shop auf 5.0.4 laufen zu lassen.

 burrito

HI buritto,

grade einen Test gemacht und es hat funktioniert. Das Plugin habe ich nat√ľrlich installiert und aktiviert. Ich habe jetzt einfach einen komplett neuen Kundenaccount in Shopware angelegt. Danach habe ich meinen MD5-Hash der Gambio Datenbank entnommen und in s_user gegen den bcrypt-Hash ausgetauscht und in der Spalte ‚Äúencoder‚ÄĚ dann auf MD5 gesetzt. Danach konnte ich mich in den Shop mit meinem alten Passwort¬†aus der GAMBIO-Installation anmelden.

Das heisst jetzt f√ľr mich eher: Ich schreibe schnell ein CLI-Script und importiere mir die Kunden selbst aus der GAMBIO Installation nach Shopware. Die Kundenaccounts sind ja nicht wirklich kompliziert in der Abbildung (Datenbank) / Ich bin da guter Hoffnung, dass es klappen wird.

Ich gebe Euch Feedback…

Viele Gr√ľ√üe
Andreas

Hallo AvL,

das klingt interessant. Ich bin gespannt auf Deine Ergebnisse

burrito

Leider noch nicht dazu gekommen; heute Abend erst. Ich glaube, wenn das klappt und ich die ZEIT habe, mache ich ein Plugin daraus (GambioCustomerMigration) oder einfach nur ein CLI-Script welches ich kostenlos auf GITHUB hochlade  Wearing-Sunglasses Eine Abfrage des Passwortes MD5 ist ja nun auch kein Hexenwerk und man kann sich ja in den Login-Prozess mittels HOOK oder EVENT einklinken (Muss dann allerdings ein Plugin sein) 

Hallo Buritto, Hi All

ich habe es nun doch anders gemacht, falls Du diese Information benötigst oder an die Anderen:

  1. Parallel auf eine Subdomain eine Installation von Shopware 5.0.4 installiert.
  2. Eine Kopie der Produktionsdatenbank (Gambio) mit eigenen Benutzer angelegt
  3. Auf der Installation SW 5.0.4 das MigrationPlugin aktiviert
  4. Ausschlie√ülich die Kundendaten mit dem MigrationsPlugin migriert. Hat sehr lange gedauert bei so vielen Kunden, ca. 3 Stunden; gef√ľhlte 10 Stunden :wink:
  5. Als n√§chstes muss man in der Tabelle " s_user_attributes" noch die Spalte " sofort_ideal_bank" hinzuf√ľgen.
  6. Alle Tabellen s_user* aus der Installation SW 5.0.4 exportiert
  7. Die Datenbank der Installation SW 5.1.1 zusätzlich zu den mehrfach täglichen laufenden Backups lokale gesichert
  8. In der Datenbank der Installation SW 5.1.1 die Tabellen s_user* gelöscht
  9. Die s_user* Tabellen aus der Installation SW 5.0.4 in die Datenbank Installation SW 5.1.1 importiert
  10. Mit Testaccounts aus der Gambio-Installation konnte ich mich nun erfolgreich in der Installation SW 5.1.1 einloggen. Auch mit sehr alten Testaccounts.

( s_user* = Alle Tabelle welche mit dem Namen s_user beginnen)

Fazit: Wo ein Wille ist, ist auch ein Weg. Sobald man sich mit einem alten Gambio-Account eingeloggt hat, wird das Passwort in bycrpt umgewandelt. Heisst, das MigrationTool arbeitet in der Installation SW 5.1.1 zumindest f√ľr das Login¬† Thumb-Up

Auftraggeber hellauf begeistert, ich begeistert, Kunden bestimmt auch begeistert.

Dann habe ich heute noch ein Erfolgserlebnis von der Schufa; positives Feedback zu meinen Integrationstest¬†erhalten. Hier ging es um das Produkt Identit√§tscheck bzgl. neuer gesetzlicher Rahmenbedingungen (Voraussichtliche Verabschiedung evtl. am Montag und am 01.03 dann in Kraft) f√ľr Shopbetreiber welche das Jugendschutzgesetz einhalten m√ľssen. Wenn ich Gl√ľck habe bekomme ich morgen das Live-Zertifikat (kann in der Regel bis zu 5-7 Tagen dauern) und kann beruhigt schlafen¬† ¬†Angewandte Techniken: SIGML2, SIGXML, PHP, CURL usw. Das heisst, die Schufa w√ľnscht √ľber dessen XML-Schnittstelle nur signierte und verschl√ľsselte XML-Dateien.

Well done! L√§uft heute f√ľr mich

Viele Gr√ľ√üe
AvL

1 Like

Hallo AvL,

das klingt ja super. Herzlichen Gl√ľckwunsch zur gegl√ľckten Migration!

Verstehe ich dich richtig, dass Du unter 5.1.1 das Migrationstool auch installiert hast, oder wer setzt die Passwörter von MD5 nach bycrpt um?

Herzliche Gr√ľ√üe

burrito

Hi Buritto,

ja genau. Das Migrationstool muss bei der SW 5.1.1 installiert und aktiviert sein. Dieses sorgt dann nach einem Login daf√ľr, dass auf bycrpt umgestellt wird.

Viele Gr√ľ√üe
Andreas

1 Like

Dann besteht die Versions-Inkompatibilität des Migrationstools nur darin, dass es nicht mehr importieren kann, aber die Kundenpasswörter funktionieren noch?

Ich dachte @Moritz Naczenski hat mal geschrieben, dass es die Passwort-Umsetzung in den aktuellen Versionen nicht kann. Komisch, da muss ich den alten Thread nochmal raussuchen.

Aber gut, wenn Du es getestet hast und der Weg funktioniert!

Vielen Dank daf√ľr!

burrito

Genau, die Migration selbst funktioniert nicht mehr; da ja die API fehlt. Login funktioniert einwandfrei :wink:

Übrigens wurde heute eine neue Version veröffentlich die nun auch mit 5.1 arbeitet. Habe es grade mit einer frischen 5.1.3 ausprobiert. Läuft bestens…

Viele Gr√ľ√üe

PS: An die Admins: Das Thema kann als gelöst geschlossen werden. Finde den Button nicht :wink:

1 Like

Der Import mag klappen, ja. Jedoch habe ich Probleme bei dem Import von Produktbewertungen aus Magento 1.7 

Alle Bewertungen werden als¬†5/5 Sternen √ľbernommen, obwohl die Originalbewertungen auch schlechtere Werte haben