Ich überlege wie ich es am besten anstelle einen Shop mit ca. 10.000Artikel, wovon täglich etwa 5-10% EOL Status oder andere EK erhalten zu aktualisieren.
Genauer gesagt, ich erhalte eine Liste eines Disti mit ca. 30.000Artikel und ebenso die EOL Liste in der etwa 5-10% dieser Artikel sind.
Ein Datenaustausch manuell oder über die Import- Funktion des Shop scheidet vermutlich wegen timeout Problemen am Server aus. Meine Idee war ODBC Zugriff auf den Server aber das ist beim Provider nicht möglich.
SOAP oder XML, PHP wird die Entwicklung vermutlich Monate dauern und entsprechend teuer sein.
Meine Idee war jetzt folgende ich hole die txt- Daten mit FM ab führe den ganzen Datenabgleich lokal durch, und aktualisiere die entsprechenden OXID Tabellen mit
ODBC via FM auch lokal. Das ganze wäre weitgehend zu automatisieren.
Anschließend mit phpmyadmin DROP DB und die aktualisierte DB wieder importieren.
TMP- Verzeichnis leeren und dann?
Könnte das so funktionieren, habe ich was übersehen oder besser wie macht Ihr den Datenabgleich?
Ich habe mir das Modul Importer mal angesehen, ist sicherlich eine gute Möglichkeit. Ich frage mich nur ob es einfacher ist ?
Ich wollte auch eigentlich wissen, ob mein oben beschriebenes Vorgehen, also die vorab lokal aktualiserte Datenbank einfach zu ersetzen, so möglich ist oder aus irgend welchen Gründen, die ich noch übersehen habe, nicht durchzuführen sein wird.
Wie sieht es z.B. mit Bildern aus, in meiner txt Datei ist ja nur eine Bild URL enthalten.
die Shopdatenbank permanent downloaden, dann lokal aktualisieren, dann drop der ganzen Datenbank und hochladen der Aktualisierten kann doch eigentlich nicht funktionieren. In Deiner lokalen Bearbeitungszeit ändert sich doch die im Shop laufende Datenbank wg. Kundenaktionen wie Registrieren, Bestellungen, was ja auch Warenbestände ändert etc.
Mit dem D3 Importer konfigurierst Du Dir einmal ein passendes Profil und führst dann zunächst den Artikelimport oder das Update für Artikeldaten durch, im zweiten Schritt führst Du den Bildimport durch. Diese Bilder können schon auf Deinem Server liegen oder aus einer CSV oder TXT Datei kann auch eine URL zum Einlesen benutzt werden.
Timeouts wird es nicht geben, da Du in den Grundeinstellungen die ‘Datenzeilen per Durchlauf’ angibst.
Sind in Deinen TXT Dateien, denn auch die Warengruppe bzw. Kategorien enthalten, denen die Artikel in Deinem Shop zugeordnet werden sollen?
dass sich während der Bearbeitungszeit laufend Daten, durch Neuanmeldungen usw. ändern damit hast Du schon recht. Ich denke aber man kann den Shop durchaus mal eine Std. zwischen 2 -3 Uhr
offline nehmen. In dieser Zeit mache ich einen Dump der DB importiere diese bei mir in z.B. MAMP
hole mir die vom Disti täglich eintreffenden Preisänderungen, EOL Files und gleiche diese ab, dass ich natürlich erst noch die Zuordnungen der Felder und Tabellen von OXID und der mit txt Dateien
aktualisierten FM DB ausfindig machen muss ist mir schon klar, dass dies nicht in ein paar Std. zu erledigen sein wird damit rechne ich auch. Aber ich mache es ja nur einmal zumindest solange sich die Tabellen- Struktur nicht ändert. Die Zuordung der Felder von FM zu OXID (mysql) bleibt ja erhalten. FM importiert mir lokal die txt -Datei in die FM DB, gleicht diese ab, entfernt die EOL-Datensätze und schreibt ein komplettes Duplikat via ODBC in die mysql Tabellen.
Alles was ich somit manuell machen müßte ist: Den Shop offline stellen den sql dump - vor dem Abgleich und das anschliessende Wiederaufspielen nach dem Abgleich.
Das tmp-verzeichnis leeren, Shop online stellen.
Evtl. ließe sich sogar hier noch einiges automatisieren.
Das dabei zunächst Bestellungen aussen vor bleiben, stört mich erst mal nicht.
Aber mit dem Importer sehe ich die Schwierigkeit, dass von den Artikel in der txt Datei ja nicht alle übernommen werden sollen, da nicht alle Artikel des Disti auch im Shop erscheinen sollen, ausserdem müssen die txt- Files vor dem Import sowieso noch angepasst werden (Preise, Bestellnr. ect.) dazu muss ich diese sowieso erst in eine FM DB einlesen und müßte diese dann wieder als txt ausgeben und erst dann mit dem Importer in den OXID stellen.
Hoffe ich habe es einigermaßen verständlich rübergebracht.
Das klingt alles sehr kompliziert und fehleranfällig, weil vieles manuell gemacht werden muss.
Wann soll der Shop denn immer offline sein und das Update stattfinden?
Das kann ja nur nachts von 12 bis 6 Uhr morgens stattfinden.
Abgesehen davon, fallen sicher auch einige Programmierstunden an. Ist es da nicht sinnvoller in ein WAWi mit Schnittstelle zu investieren? Da kann das syncen dann jederzeit stattfinden und due hast hoffentlich auch bequeme Importfunktionen für deine unterschiedlichen Dateien.
zum besseren Verständnis es gibt bereits eine WaWi auf Basis einer FM DB.
Das Ziel wäre also diese auch für den Shop zu verwenden, da hier alle Artikel verwaltet werden. Ich kann damit z.B. automatisch Preislisten (txt) vom Distributor einlesen, aktualiseren und mit den vorhandenen Artikeln der FM DB abgleichen.
Von FM aus kann ich auch sql- queries über ODBC absetzen.
Leider funktioniert dies nicht mit den meisten Providern, da diese in der Regel keinen ODBC Zugriff gestatten. Deshalb eben die Idee mit dem kompletten Austausch der OXID DB.
Sicherlich wäre eine SOAP oder eine XML/PHP Kombination die elegantere Lösung,
nur beides müsse ich mir erst mal aneignen, da bin ich leider nicht so fit, aber selbst dann erscheint es mir zu wenig flexiblel, bzw. der Aufwand für Änderungen
seien es andere Distributoren, eine neue Shop- Version ect. scheint mir relativ hoch. Mit FM erledige ich dies an ein zwei Tagen.
Trotzdem danke für Deinen Beitrag, es ist nur so dass die FM DB in den letzten Jahren laufend für meine Anforderungen optimiert wurde. Das kann kein anderes WaWi leisten fürchte ich.
Vermutlich werde ich es einfach mal testen müssen.
[QUOTE=ccs_bk;73614]
Leider funktioniert dies nicht mit den meisten Providern, da diese in der Regel keinen ODBC Zugriff gestatten. Deshalb eben die Idee mit dem kompletten Austausch der OXID DB.
[/QUOTE]
Für 19,90 Euro im Monat gibt es bei Profihost ODBC fähigen Webspace.