WordPress als Datenbank benutzen

(Warnung: Ist ein bisschen technisch geworden, der Eintrag.)

Ich mache gerne Listen und habe viele davon: Eine Liste von Liedern, in denen es um Kleidungsstücke geht. Eine Liste von Liedern, die zu bestimmten Schulfächern passen. Eine Liste von Geschichten, in denen es um Skat geht, oder Schach, oder Cricket. Eine Liste von Geschichten um geheimnisvolle Läden, die wieder verschwinden.

Diese Listen sind in verschiedenen Textdateien in verschiedenen Verzeichnissen deponiert, teilweise auch in Wiki-Seiten gespeichert. Vermutlich gibt es auch noch einige auf diversen Zettelchen. Das ist nicht praktisch.
Mein Ausgangswunsch war also der: Diese Listen würde ich gerne in einer Online-Datenbank verwalten.

Da ich die Möglichkeiten des Austausches im Web schätze, sollte diese Datenbank die Möglichkeit des Kommentierens und vor allem des Bastelns und Exportierens haben. Am liebsten gleich WordPress. Um bei dem Beispiel der erwähnten Kurzgeschichten-Sammlung zu bleiben: Jede Kurzgeschichte wird in einem Blogeintrag erfasst. Der Titel des Blogeintrags enthält den Autor und den Titel der Geschichte, die Kategorien oder Schlagwörter geben an, unter welchem Aspekt ich die Geschichte erfasse: Verschwindende Läden, Geschichten mit Regen drin, Rashomon-Episoden. Der Text des Blogeintrags wären Notizen zur Fundstelle oder zum Inhalt der Geschichte, bei gemeinfreien Geschichten auch die Geschichte selber. Die Kommentare wären für Rückmeldung durch Leser.

Allerdings wäre mir die Eingabe im normalen WordPress-Backend zu umständlich. Es müsste eine Möglichkeit geben, die Daten relativ rasch über eine Maske zu erfassen. Beim Suchen stieß ich auf einen Blogeintrag zum Thema wordpress as database. Dort wurde von einer Seite berichtet, die etwas ähnliches machte: Die australische Seite Promise Watch sammelt Wahlversprechen, um danach zu beurteilen, welche davon eingehalten wurden und welche nicht. Das Besondere: Über eine Eingabemaske (anschauen!) können Besucher der Seite letzendlich einen Blogeintrag gleich selber schreiben. Sie geben über Textfeld oder Dropdown-Menü in die entsprechenden Felder ein: Name, Postcode, Email; den Politiker, der das Versprechen gegeben hat, seine Partei, das Thema, Zeitpunkt und Details; eine Quelle zum Fundort des Versprechens.
Aus diesen Angaben wird ein Blogeintrag generiert und als unveröffentlichter Eintrag in WordPress gespeichert. Ein Redakteur schaut sich diese Beiträge an und schaltet sie nach dieser Überprüfung frei.

Zwei Dinge:

Zum einen arbeitet diese Seite mit benutzerdefinierten Feldern. Regulär und intern gehört zu einem WordPress-Eintrag nur: Titel, Inhalt, Kategorie, Schlagwörter, Angaben zum Autor, Veröffentlichungsstatus, Datum. Es ist aber problemlos möglich, weitere benutzerdefinierte Felder anzulegen. Die tauchen im WordPress-Backend dann unterhalb der üblichen Eingabefelder auf. Man könnte eines anlegen für: “Lieblingslied zur Zeit”, “Frühstück des Tages” oder eben auch “Name des Politikers” und “Gegebenes Versprechen”, würde das jeweils eingeben, und könnte diese Daten dann im WordPress-Template auswerten, zum Beispiel in der Sidebar oder unterhalb des eigentlichen Blogeintrags als Anhang.
Soweit wollte ich nicht gleich gehen, eine schlampige Liste würde mir erst einmal reichen.

Zum anderen verlangte diese Methode einige php-Bastelei. Wie so vieles, gehört php nicht zu meinen Stärken. Also suchte ich nach einem Plugin, das mir die Arbeit abnehmen würde. Mein ursprüngliches Ziel war zu diesem Zeitpunkt etwas in den Hintergrund geraten. Jetzt sah ich vor allem eine Möglichkeit, Besucher einer Seite selbst Texte verfassen zu lassen. Das könnte man früher oder später zum Beispiel bei einer Seite wie Jochen Lüders’ Blog zu englischen Schullektüren nutzen. Ich rechne zwar nicht ernsthaft damit, dass wirklich viele Englischlehrer ihr träges Fleisch in Bewegung setzen würden, wenn sie so ohne jede Anmeldung einen Beitrag leisten könnten. Aber es würde das Mitmachen sehr erleichtern, wenn der Besucher eine Eingabemaske fände mit: Titel, Kurzbeschreibung, Schlagwörtern, Dropdown-Kategorie, und das dann einfach abschicken würde.
Letztlich ist das nichts anderes als ein Kontaktformular, nur dass die Daten nicht per Email an jemanden geschickt werden, sondern gleich an WordPress, wo sie in der Moderationsschleife warten, bis ein Administrator sie freigibt.

Und wie schön: Es gibt ein geeignetes Plugin. TDO Mini Forms macht genau das, was ich möchte.

Das Plugin legt einen Benutzer ohne Veröffentlichungsrechte an. Alles, was über ein frei zu gestaltendes Formular, das zweckmäßig auf einer WordPress-Seite liegt, abgeschickt wird, landet als WordPress-Blogeintrag in der Warteschlange.
Das Formular kann enthalten: Angaben zum Absender, Titel und Inhalt des zukünftigen Blogeintrags, Captcha über ein Bild oder eine Frage, Schlagwörter, Kategorien (als Dropdown oder, falls Mehrfachauswahl gewünscht, zum Ankreuzen). Zur Wahl stehen weiterhin ein Kästchen, das man anklicken muss (neben dem stehen könnte: habe Spielanleitung gelesen), ein Datei-Upload und weitere Kleinigkeiten. Und schließlich kann man auch benutzerdefinierte Felder eingeben – und zwar genau die oben erwähnten. Damit lässt sich eine Seite wie Promise Watch rasch erstellen.

Zurück zum Ausgangsthema: Meine Kurzgeschichten-Datenbank kann ich so ein bisschen schneller anlegen, nämlich vom Formular aus, ohne dass ich je ins WordPress-Backend müsste. Zugegeben, für große Datenmengen ist das immer noch keine Lösung. Dazu müsste ich erst aus, sagen wir, meiner langen Excel-Tabelle mit Kurzgeschichten eine Datei im RSS-Format erstellen, und über einen Feed-Aggregator den Feed-Inhalt in WordPress-Einträge umwandeln. Ist prinzipiell auch kein Problem, und vielleicht schaue ich mich mal nach einer Lösung um.

Tatsächliche Datenbankfunktionen erfüllt dieses System natürlich nicht. Dazu müsste es zumindest die Möglichkeit geben, alle Angaben mittels Ankreuzfelder und Dropdown-Menü aus einer gegebenen Liste auszuwählen, und nicht nur die Kategorien. Aber das vermisse ich nicht.
Warum überhaupt WordPress? Weil ich gerne damit bastle und weiß, wie ich Templates anlege (so dass auch die Benutzeroberfläche nicht mehr nach Blog sondern nach Datenbank ausschieht) und wie ich Daten ex- und importiere, und weil es so viele Plugins dafür gibt.Alternativ ist noch ein Wiki möglich. Aber ein Wiki ist mir strukturell dann wieder zu weit von einer Datenbank entfernt.

Zum Basteln habe ich mir ein Blog angelegt, in dem ich in Zukunft meine Notizen zu Geschichten sammle. Die Blogsoftware ist nicht WordPress, sondern das eng verwandte WordPress MU, die Multi-User-Variante, die auch von wordpress.com für die dort beheimateten Blogs eingesetzt wird.

Zum Anschauen das noch sehr kahle Blog http://www.herr-rau.de/blogs/geschichten, das ich in den nächsten Tagen ein bisschen mit Geschichten füllen möchte. Mit der Übersetzung der Blogoberfläche ins Deutsche und der Design-Anpassung habe ich mir noch keine Mühe gegeben.

Hier die Maske zum Eingeben: http://www.herr-rau.de/blogs/geschichten/geschichteneingabe/. Noch kann jeder einen Eintrag machen, ob angemeldet oder nicht. Es darf auch jeder gerne mal herumspielen und einen Probetext schicken, ich lösche dann einfach die Beiträge aus der Warteschleife, die offensichtlich nur als Test gedacht waren. — Falls die Spambots auf die Seite stoßen, werde ich eventuell zusätzlich Akismet einschalten oder ein besseres Captcha.

Wozu kann man das ganze noch nutzen? Zum Beispiel dazu, wenn man möchte, das Schüler oder Schulleitung einen Blogeintrag schreiben, man ihnen aber den Umgang mit dem WordPress-Backend aber nicht zutraut.
Oder wenn man möchte, dass Schüler Daten in geordneter Form eintragen, ähnlich wie bei der Datenbank-Aktivität in Moodle (die auch keine echte Datenbank darstellt). Vor vielen Jahre habe ich zum gleichen Zweck ein AOL-Gästebuch meiner damaligen Homepage missbraucht. Da wollte ich von einer 7. Klasse Inhaltsangaben haben, jeweils mit Autor, Titel, Originaltitel und Zusammenfassung, und zwar so, dass ich diese Daten dann ziemlich automatisch formatieren konnte. Am Schluss hatte ich dann eine lange Gästebuch-HTML-Seite, die statt der üblichen Angaben (Name, Email, Webseite, Text) meine gewünschten Informationen hatte. Und die ließen sich in Word leicht in eine mehrspaltige Tabelle umwandeln.

(Noch schöner als meine Geschichtensammlung wäre ein Wiki wie dieses wunderbare Tropen-Lexikon. Aber das wäre doch ein größeres Projekt, für das es keine Mitstreiter gibt. Für ein großes Projekt ist ein Wiki dann wieder besser.)

5 Gedanken zu “WordPress als Datenbank benutzen

  1. Vielen Dank für diesen tollen Beitrag.
    In der tat überlege ich hin und her, ob ich meinen Schülern das WordPress-Backend zumuten soll. Dank des Hinweises auf das Plugin eröffnet sich da eine neue Alternative.
    Ich denke, da lassen sich auch noch andere spannende Dinge mit realisieren.
    Anyway… worth to think about ist!
    Viele Grüße by blog.initiatived21.de

  2. Interessante Möglichkeit. Technisch einfach umzusetzen und kein neues technisches ‘System’, sondern mit WordPress machbar…
    Danke für den Hinweis :-)

  3. Fabian Herbel on 4.2.2009 at 13:53 sagte:

    Vielen Dank für den inspirierenden Beitrag. Mich treibt seit geraumer Zeit ein vergleichbares Problem um, für dessen Lösung ich leider, leider auch hier keine Ansätze finden konnte. Da die Baustelle aber ähnlich ist, erlaube ich mir, es hier trotzdem zur Diskussion zu stellen:
    Mir fehlt in WP die Möglichkeit, mehrere Kategorien gleichzeitig zu filtern (wie z.B. in delicious). Über eine manuelle URL-Eingabe ist dies sehr wohl möglich, natürlich hätte ich jedoch lieber eine eine Page mit den oben bereits genannten Ankreuzfeldern.
    Einen Schritt der Lösung näher gekommen bin ich mit dem Plugin “Advanced Search“, welches im Grunde genau dies ermöglicht. Es folgt das große “ABER”: Es muss zwangsläufig ein Suchbegriff eingegeben werden.
    Vielleicht habe ich mit diesem Plugin aber einen nützlichen Tipp für das hiesige Projekt gegeben; für Ansaätze wie ich mein Problem lösen kann, bin ich (Achtung: php-Laie!) sehr dankbar.

  4. Eine Lösung dafür suche ich auch – und dabei müsste es so einfach sein, denn händisch geht es ja, man braucht nur eine Schnittstelle.
    Mein Wunsch geht in Richtung des Plugins Simple Tags; dort kann man sich alle Beiträge zu einem Schlagwort zeigen lassen, dann ein zweites, verwandtes Schlagwort dazu wählen, um die Ergebnisse noch weiter einzuschränken. Theoretisch kann man auch ein drittes und viertes dazu nehmen, aber durch einen Fehler im Code wird aus der und-Verknüpfung der Schlagwörter dann eine oder-Verknüpfung. Ich kann leider auch kein php.

    (Probeweise sieht man das bei mir links unten an der Sidebar, wenn man sich auf einer Tag-Archiv-Seite befindet.)

  5. Fabian Herbel on 4.2.2009 at 23:09 sagte:

    Ich bin nun über dieses Script gestolpert und das sieht schon recht gut aus…

Hinterlasse eine Antwort

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

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Manchmal sollte man anderen das letzte Wort lassen, selbst wenn sie eine andere Meinung haben als man selber.

Post Navigation