XML - Import aus ZIP
am 27.02.2016 - 09:25 Uhr in
Ihr Lieben,
ich hab mal wieder eine kleine Frage und hoffe auf Eure Hilfe:
Auf einem Server wird mir eine XML - Datei zur Verfügung gestellt, die im Grunde als Inhaltsverzeichnis für diverse (!) Inhalte nach folgendem Muster dient:
<item>
<titel>Beispieltitel</titel>
<veroeffentlichung>20100114</veroeffentlichung>
<subtitel>Beispielsubtitel</subtitel>
<link>http://www.link-zum-inhalt.tld/dateiname.zip</link>
<modified>2016-01-25T22:46:20Z</modified>
</item>
Von den (s) gibt es tausende. Das Problem ist, dass der eigentliche Inhalt, den ich importieren und in Inhalte konvertieren will, in den ZIP - Dateien liegt, auf die verlinkt wird. Die eigentlichen Inhalte sind wiederum XML-Dateien, die entsprechend gemapped werden sollen. Zusätzlich wird das Inhaltsverzeichnis täglich aktualisiert. Die hiervon betroffenen Inhalte lassen sich über das -Tag herausfinden.
Nun das Ziel der Reise: Ich würde gerne in einem oder mehreren Rutschen den bisherigen Gesamtinhalt importieren (also den wirklichen Inhalt). Im Anschluss daran soll jeden Tag geschaut werden, ob es Veränderungen oder neue Inhalte gibt, die dann ebenfalls importiert werden sollen.
Habt Ihr eine Idee, wie sich das realisieren lässt?
Meine Idee war bisher folgende:
Ich erstelle zwei "Feeds". Der erste fragt das Inhaltsverzeichnis ab und lädt die Zip-Dateien runter, entpackt diese in einem speziellen Verzeichnis. Der zweite Feed scannt dieses Verzeichnis nach neuen bzw. geänderten Inhalten und importiert diese nach dem entsprechenden Schema.
Doch wie genau kann ich das umsetzen? Oder gibt es noch "einfachere" Wege?
Vielen lieben Dank für Eure Hilfe :)
Beste Grüße
Paul
- Anmelden oder Registrieren um Kommentare zu schreiben
ich persönlich würde anders vorgehen.
am 28.02.2016 - 06:39 Uhr
Du erstellst außerhalb von drupal und der website ein script, das den Abgleich macht, und nur die relevanten, also noch nicht eingelesenen Inhaltsdateien in ausgepackter Version in ein definiertes Verzeichnis legt, wo sie von einem feeds-prozess abgeholt werden.
Beides wird zeitversetzt mit cron ausgelöst.
Grüße
Ronald