Web-Apps mit WordPress: Ein erster Schritt mit dem WP Ultimate CSV Importer Plugin?

Mit der Möglichkeit, über ein Plugin strukturierte Daten in WordPress zu importieren, wird WordPress auf einen Schlag als Basis für Web-Applikationen zugänglicher.

Die Einsatzgebiete von WordPress sind leicht einzugrenzen: Blogs und mit ein bisschen Erweiterung kann WordPress auch als vollständiges Content-Management-System dienen. Umso überraschender war es, als WordPress-Mitgründer Matt Mullenweg im Sommer bekannt gab, dass WordPress vermehrt auch als Grundlage für Web-Apps dienen soll.

Doch es ist nicht mehr nur Matt Mullenweg, der qua Amt dazu verpflichtet ist, WordPress für großartig zu befinden, der darauf hinwirkt, dass WordPress für Web-Applikationen verwendet wird. Auf dem Tutorialportal Tutsplus läuft seit Ende November eine Artikel-Serie, die sich den theoretischen Hintergründen einer Entwicklung von Web-Apps mit WordPress widmet.

Doch wie kann man diese theoretischen Betrachtungen auf ein praktisches Beispiel herunterbrechen? Nehmen wir den Trend im Journalismus mit Daten zu arbeiten. Datenjournalismus beruht, der Name gibt einen Tipp, auf Daten. Daten, die auf meinem Computer liegen und die ich mir in der Regel aus dem Internet heruntergeladen habe. Gespeichert sind sie oft im csv-Format, in einer einfachen Tabelle, statt einem Gerüst nur Kommas. Unspektakulär, aber effizient.

Jetzt: Action! Ich will ein Datenjournalismusprojekt im Internet darstellen. Dazu muss ich die Daten wieder ins Netz hinein befördern und anzapfen. Mit einem Script oder Tool gibt es unter einer bestimmten URL dann eine Karte mit D3.js, ein Diagramm mit Datawrapper oder ein Mittelwert aus der Statistiksoftware R zu sehen.

Unmöglich: Externe Daten in WordPress ausgeben

Jetzt kommt das Absurde: Ich kann zwar verschiedene Projektionen der Erdoberfläche auf deinen Bildschirm befördern, aber keine einfachen Strings wie zum Beispiel Namen und Orte aus einer externen Datei in WordPress ausgeben. Denn dazu fehlt das Werkzeug. Ich gehe davon aus, dass es mit einer anderen Sprache wie Ruby on Rails leichter ginge, aber – da kann man nichts machen – ich kann Rails nicht. Nur bei WordPress fühle ich mich fähig, an entscheidenden Stellschrauben zu drehen, um die Daten im Frontend vernünftig auszugeben.

Zurück zum Problem: Strukturierte Daten in WordPress zu sammeln, ist seit der Erweiterung um Custom Post Types möglich, allerdings nur, wenn man die Daten nacheinander in das Standard-Formular oder in die dafür erstellten Taxonomie-Felder kopiert. Das geht vielleicht für einen Datensatz mit wenigen Einträgen, doch es wird schnell lästig und auch unsinnig – schließlich liegen die Daten bereits vor. Zum Beispiel in einer Excel-Datei, von wo aus du es nur in das csv-Format zu exportieren brauchst.

Kurz: Ich kann keine einfachen Datensätze in WordPress ausgeben, weil es keine Verbindung des zwischen Datensatz und WordPress gibt – Verzeihung, Cliffhanger – gab.

Plugin verbindet csv-Datensatz mit WordPress

Meine Damen und Herren, ich präsentiere – das WP Ultimate CSV Importer Plugin. Es macht genau was es soll: Es importiert csv-Dateien in WordPress. Das WP Ultimate CSV Importer Plugin ist ein Fünf-Sterne-Plugin mit großartiger Dokumentation.

Besonders mächtig – ganz besonders auch im Hinblick auf Content Strategy – wird das Plugin in Kombination mit Custom Post Types und Taxonomien. Angenommen, du willst 50 Kombinationen aus Ort und Name als einen bestimmten Custom Post Type hochladen. Als erstes musst du über deine functions.php oder ein Plugin wie Custom Post Type UI einen neuen Post Type erstellen. Danach könntest du natürlich jedes Mal einen eigenen Post kreieren, aber das dauert lange und ist auch unsinnig, wenn du die Daten schon in einer .csv-Datei vorliegen hast.

Die Struktur der csv-Datei könnte so aussehen:

Ort, Name, post_date
Stuttgart, Elmastudio,

Mit dem Importer-Plugin klickst du einmal auf hochladen und konfigurierst im nächsten Schritt, welche Variable welchen Taxonomien innerhalb von WordPress zugewiesen werden.

Import einer csv-Datei in WordPress mit Hilfe des Plugins  WP Ultimate CSV Importer
Mit dem WP Ultimate CSV Importer Plugin kannst du genau zuweisen, welche Rolle die einzelnen Variablen innerhalb von WordPress spielen sollen.

Neben den Standardvariablen post_content, post_title und post_date kannst du weitere Variablen aus deiner csv-Datei verwenden, um sie als strukturierte Daten im Backend zu verwenden. Wichtig: Jede csv-Datei braucht die Spalte post_date, selbst wenn sie leer ist (WordPress füllt sie dann automatisch aus). Wenn du dann noch eine Themedatei namens single-cptname.php erstellst, kannst du deine Custom-Post-Type-Einträge im Frontend abrufen. Das Ergebnis: Deine 50 Ort-Name-Kombinationen werden zu 50 verschiedenen Posts.

Jetzt möglich: Massenupload von Daten

Bei Tom McFarlins Artikelserie zu WordPress als Grundlage für Web-Apps konnte ich mir nicht vorstellen, wie sich die relativ theoretischen Texte in die Praxis umsetzen lassen. Durch die Möglichkeit, einen einfachen Datensatz direkt in das Backend zu importieren, lichtet sich der Nebel. Denn WordPress hat damit auf einen Schlag neben der MySQL-Datenbank eine weitere Datenebene – auch wenn streng genommen, die eine Datenebene, die csv-Datei, beim Import in die andere, die MySQL-Datenbank, überführt wird. WordPress wird damit als Plattform für Web-Apps auf einen Schlag zugänglicher. Denn Nutzer können nicht nur ein weiteres Datenformat nutzen, sondern plötzlich auch massenhaft Daten auf einen Schlag einlesen – und nicht alles mühsam per Hand erstellen.

Und weil Macher des WP Ultimate CSV Importer Plugin von der Firma Smackcoders wissen, welches Powertool sie da entwickelt haben, verlangen für die Pro-Version 149 Dollar.

Bist du genauso begeistert?

Bist du genauso begeistert vom WP Ultimate CSV Importer Plugin? Glaubst du auch, dass man damit das Einsatzgebiet von WordPress erheblich erweitern kann? Oder bist du eher skeptisch? Ich freue mich über deinen Kommentar!

6 Kommentare zu “Web-Apps mit WordPress: Ein erster Schritt mit dem WP Ultimate CSV Importer Plugin?

  1. Ich bin da sehr skeptisch. Ja, WordPress ist toll. Ich entwickele damit auch jedes Webprojekt, jedes 5. ist vielleicht sogar mal ein Blog.

    Aber was hilft dieses Plugin dem Laien? Er kann diese Daten zwar ins System bringen, aber für die Auswertung benötigt er dann doch wieder ein Front End für die Statistiken, Listen oder was auch immer man da grade reingeladen hat.

    Entweder ist er selber ein Entwickler, oder er hat jemanden der das macht. In beiden Fällen wird man dann diese 149$ in Frage stellen.

    Wer einmal mit wp_insert_post() gearbeitet hat, wird das ganz schnell sehen. Erst in meinem letzten großen Projekt habe ich das genaue Anwendungsbeispiel dieses Artikels umsetzen müssen. Eine veraltete Fremd entwickelte Jobbörse und einen Eventkalender in native WordPress Post Types überführen. – Die Datensätze von MySQL in CSV exportiert, und dann mit einer simplen while Schleife in PHP und fgetcsv() Zeile für Zeile inkl. custom fields in native WordPress Posts eingefügt. Im Grunde das, was das Plugin macht, nur in ca. 20 Zeilen Code geschrieben.

    Das ist für jeden, der schon mal einen WP Loop gebaut hat und ein paar template tags gesetzt hat, sowie den Aufbau einer CSV Datei verstanden hat (was beim Plugin ja auch notwendig ist) in sehr kurzer Zeit umsetzbar, hat einen großen Lerneffekt.. und ich denke mit der entsprechenden Nerd-Attitüde macht es vielleicht sogar wesentlich mehr Spaß.

    Und das ist erst der Anfang. Auf der Basis dieses Prinzips der Post-Erstellung, kann man schon in Windeseile eine kleine sauber im Backend pflegbare E-Commerce Bestellbestätigungsliste mit Veröffentlicht/Entwurf (Bestellung Verschickt/in Bearbeitung) auf die Beine stellen, die angestoßen wird durch das „OK“ vom Paymentprovider wie z.B. PayPal.

    Mein Fazit dazu: Ich sehe das Problem, das weniger technisch versierte Menschen mit externen großen Datensätzen dieser Art haben. Aber zu dem Preis sehe ich in dem Plugin nicht die Lösung.

    Bei Interesse würde ich mich anbieten den beschriebenen CSV Import in einem Gast Artikel zu beschreiben.

  2. Hallo Sven,

    vielen Dank für deinen Kommentar.

    Du hast recht, eingelesene Daten müssen auch wieder ausgegeben werden. Aber das muss ja nicht immer nur als Statistik oder Web-Applikation sein. Zum Beispiel denke: Ein Unternehmen will eine lange Liste mit Kontakten (Name, Abteilung, Telefonnummer) anlegen.

    Ich denke schon, dass dieses Plugin auch gut von Laien bedient werden kann, denn es macht es sehr viel einfacher, große Mengen an bereits vorhandenen Daten in WordPress einzupflegen. Grundsätzlich ist ja WordPress so konzipiert, dass man WordPress installiert und dann in einem weiteren Schritt die Inhalte sequentiell einpflegt. Mit dem Plugin – oder natürlich deiner Version – kann diese Reihenfolge umgekehrt werden oder zumindest die Inhalte simultan eingelesen werden. Ich denke, dass in bestimmten Fällen sehr, sehr viel Arbeit abnehmen kann. Und gerade deshalb, weil es über ein einfach zu verstehendes Interface abläuft, können das auch Laien machen.

    Zum Preis: Die 150 Dollar sind ja nur für die Pro-Version, bei der es anscheinend ein schickes Dashboard gibt. Die Grundfunktion hat man auch mit der kostenlosen Version.

    Ich persönlich wäre sehr an deiner Version des csv-Imports interessiert (egal, ob hier oder wo anders), denn ich glaube, ich habe die notwendige Nerd-Attitüde, damit ich damit Spaß habe ;)

    Vielen Dank für deinen Input,
    Katharina

  3. Auch ich nutze gern die Möglichkeit große Mengen von posts per csv-Import zu realisieren. Allerdings bevorzuge ich (grundsätzlich) schlankere Plugins, die ich selbst besser verstehe – für diesen Fall z.B.
    http://wordpress.org/plugins/really-simple-csv-importer/
    Das Mapping der Felder realisiere ich dann schon beim Generieren der csv-Datei, das lässt sich ja offline spielend mit Excel machen.

    Tatsächlich kann man mit WP, custom post typs und custom fields sehr schöne Web-Apps jenseits von Blogs und CMS realisieren.
    Ein Beispiel: Zur Zeit entwickle ich ein GIS-Portal: Die Karten Daten hole ich von OpenStreetMap, mit der JS-Bibliothek Leaflet implementiere ich sie in WordPress und generiere dazu die selbst gestylten Karten-Tiles bei CloudMade, die einzelnen Geo-Punkte importiere ich dann wie beschrieben per CSV-Import als custom post type und lege sie per Leaflet auf die Karte.
    WordPress ist ein geniales Werkzeug um so etwas alles zusammen zu führen und den Redakteuren des Kunden am Ende auch noch ein übersichtliches und einfach zu bedienendes Backend zu übergeben, mit dem sie künftig fast ohne Anleitung die Datenpunkte aktualisieren oder neue einpflegen können.

  4. Hallo Nepf,

    vielen Dank für deinen Tipp. Really Simple CSV Importer scheint tatsächlich eine gute Alternative zu sein.

    Dein Beispiel mit dem GIS-Portal finde ich sehr interessant! Genau so etwas hatte ich auch im Hinterkopf. Falls du dazu einen Blogpost oder einen Link zur Seite, würde mich das sehr interessieren!

    Viele Grüße
    Katharina

  5. Content-Management-System also CMS ist WordPress wie auch Drupal wie auch Joomla, jedes System womit Content verwaltet wird ist ein CMS im Kern. Lediglich zwischen Groß und Klein wird dabei höchstens noch unterschieden… ;-)

  6. Also, ich habe – trotz der Tatsache, dass ich in erster Linie Grafiker und Schreiber bin – bestimmt die nötige Nerd-Attitüde, um immer mal wieder 20 Zeilen PHP zu schreiben, die immer wieder Probleme lösen. Aber manchmal muss es schnell gehen und da kommen solch Plugins gut zupass. Und da ein Kunde eine schön gepflegte Excel-Tourtabelle hatte, habe ich die mit dem hier gefundenen Plugin in der Basisversion sauber und schnell geschafft. Nur mit den Umlauten hatte es Probleme, bis ich die CSV-Datei vor dem Import in UTF8 ohne BOM umgewandelt hatte. Die Free-Version kann, soweit ich sah, Tabellendaten lediglich nicht Kategorien zuordnen. In jedem Fall: Danke für den Tipp, Katharina!

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *