WordPress 3.0: Blog-Netzwerke, Custom Post Types und Taxonomien

WordPress 3.0 Backend

In der neusten Version 3.0 bietet WordPress einige wichtige Neuerungen, welche die Einsatzmöglichkeiten der populären Blog-Software wesentlich erweitern.

WordPress 3.0: Blog-Netzwerke Zunächst erlaubt es WordPress nun endlich standardmässig, mit einer einzigen Installation mehrere Blogs zu betreiben (was als Blog-Netzwerk bezeichnet wird). Hierfür wurden die “normale” WordPress-Version und die bisherige Multi-User-Version WordPress MU (auch WordPress µ genannt) fusioniert. Nach der Installation von WordPress 3.0 ist diese Option zwar deaktiviert und es erfordert Anpassungen an den Konfigurationsdateien wp-config.php und .htaccess, um sie zu aktivieren. Der Vorgang ist aber gut dokumentiert und einfach zu bewältigen, wenn man dieser Anleitung folgt. Anschliessend gibt es im Backend einen neuen Navigationsblock mit dem Titel “Blog-Netzwerk”, über welchen der Administrator die verschiedenen Blogs aufsetzen und verwalten kann, während die Autoren der einzelnen Blogs weiterhin nur ihren Blog sehen. Das Feature vereinfacht also primär die Arbeit des Administrators, der mehrere Blogs managen muss, während sich die Arbeit des Autors nicht verändert.

Eine zweite Neuerung sind die Custom Post Types, welche es erlauben, nebst den Standard Post Types (z.B. “Artikel”, “Seite”) auch eigene Post Types zu definieren. Möchte man beispielsweise seinen Blog dazu nutzen, um Hotelbewertungen, DVD-Rezensionen oder ein Literaturverzeichnis zu publizieren, dann kann man die Post Types “Hotel”, “DVD” oder “Buch” definieren. Dadurch stehen dann im Backend individuelle Eingabemasken zur Verfügung, so dass man die gewünschten Attribute in separaten Feldern erfassen kann. Ähnlich wie bei einer einfachen Datenbank kann man so gleichartige Daten strukturiert ablegen. Das Einrichten eines neuen Post Types erfordert etwas Arbeit, ist aber keine Hexerei, wie obiger Screencast zeigt. (Wem die Standard-Lösung nicht gefällt, der hat mit Pods CMS sowie einigen anderen Plugins aber auch Alternativen zur Auswahl.)

WordPress 3.0: Taxonomien In eine ähnliche Richtung gehen die Custom Taxonomies. Taxonomien sind – ganz allgemein gesprochen – Klassifikationssysteme, und zwei solche Taxonomien kennt jeder Blogger: Kategorien und Tags. Taxonomien erlauben es, gleichartige Objekte zu gruppieren und wiederzufinden. Als durchschnittlicher Blogger kommt man mit Kategorien und Tags gut zurecht. Wer hingegen eine Website mit Computer-Testberichten publiziert, der wird froh sein, wenn er beispielsweise den Hersteller, die Bildschirmgrösse, den Prozessor oder die RAM-Grösse als separate Taxonomien zur Verfügung hat und nicht alle diese Ordnungskriterien über den normalen Kategorienbaum abbilden muss. WordPress 3.0 perfektioniert Custom Taxonomies, indem nun auch hierarchische Taxonomien möglich sind. (Details in diesem Artikel.)

WordPress 3.0: Menü-Editor Eine weitere Neuerung ist der Menü-Editor. Sofern das Template dies unterstützt, kann der Blog-Autor hier Navigationsstrukturen aufbauen, wobei als Navigationspunkte Seiten, Artikelkategorien und externe URLs hinzugezogen werden können.

Das neue Default-Theme “Twenty Ten” und das überarbeitete Backend-Design sind hübsch, aber letztlich nur Zugaben. Seine wahre Bedeutung bekommt das jüngste WordPress-Update durch die oben beschriebenen Features, und so ist die Version 3.0 eines der wichtigsten Releases in der Geschichte von WordPress.

DHX Quick Tables: Wie man in 30 Minuten aus einer Excel-Tabelle eine Web-Applikation macht

Web-basierte Datentabelle mit DHX Quick Tables

Eine sortierbare, durchsuchbare und editierbare Datentabelle ins Web zu stellen ist keine Hexerei, kostet aber einige Stunden Arbeit. Mit DHX Quick Tables und etwas Routine schafft man es auch in einer halben Stunde, und das Ergebnis sieht erst noch sehr gepflegt aus.

Der erste Schritt besteht darin, eine MySQL-Datenbank-Tabelle mit den gewünschten Feldern anzulegen. Hierzu nutzt man noch einen Datenbank-Manager wie z.B. phpMyAdmin. Danach lädt man die Datei install.php von DHX Quick Tables auf den Webserver und ruft sie im Web-Browser auf. Die Installation erfordert keinerlei Benutzereingaben, und unmittelbar danach landet man im nachfolgend abgebildeten Assistenten, mit dem man die Datentabelle (engl. Grid) konfiguriert.

Konfigurationsassistent von DHX Quick Tables

Der Prozess könnte einfacher nicht sein: Man wählt einen Datenbank-Server, eine Datenbank, einen Datenbank-Benutzer und eine Datenbank-Tabelle. Danach lässt sich noch bestimmen, welche Felder aus der Tabelle angezeigt werden und ob sie editierbar, sortierbar und durchsuchbar sind. Gleich danach kann man auf seine Datentabelle zugreifen – entweder als Gast (nur lesen) oder als Administrator (lesen und schreiben).

DHX Quick Tables ist eine wirklich elegante Lösung, um einzelne Datentabellen ins Web zu stellen. Grenzen hat das Konzept dort, wo es um relationale Datenbanken geht: Sobald mehrere verknüpfte Datenbanktabellen im Spiel sind, muss DHX Quick Tables passen.

DHX Quick Tables ist gemäss den Bestimmungen der GNU General Public Licence (GPL) verfügbar.

general_data_display: Einfache Datenbanken mit TYPO3 realisieren

Beispieldatenbank mit general_data_display

Vor einiger Zeit habe ich mich in diesem Blog mit Extensions befasst, welche Daten in Form von CSV-Dateien importieren und auf einer TYPO3-Website publizieren können (vgl. CSV-Dateien auf TYPO3-Websites publizieren mit csvdisplay und bit_csvtable). Die Extension general_data_display geht noch einen Schritt weiter: Damit kann man eine eigentliche Datenbank erstellen, d.h. eine Datenstruktur definieren und Daten erfassen – und zwar nicht etwa nur als Backend-Benutzer, sondern auch als Frontend-Benutzer.

Ein Beispiel: Nehmen wir an, Sie sind der Administrator der TYPO3-Website eines Vegetarier-Vereins. Der Verein möchte eine Datenbank mit vegetarischen Lebensmitteln auf seiner Website publizieren, die nach und nach durch die Mitglieder erstellt wird. Als Administrator legen Sie lediglich eine neue Seite an, binden das Plugin von general_data_display ein und vergeben geeignete Zugriffsrechte. Berechtigte Frontend-Benutzer können danach Kategorien und Datenfelder selbst definieren sowie Datensätze anlegen, bearbeiten und löschen. Und alle übrigen Website-Besucher können die Datenbank im Volltext durchsuchen.

Die Komplexität der Datenbanken, die Sie so erstellen können, hat natürlich Grenzen. Die Datensätze können zwar beliebig viele Felder haben, aber nur vom Typ Text (wahlweise ein- oder mehrzeilig) oder Ganzzahl. Eine vordefinierte Auswahl als Dropdown-Menü gibt es nur für die Kategorie. Alle Felder sind Pflichtfelder, ansonsten kann man keine Validierung vorgeben. Und eine relationale Datenbank mit verknüpften Tabellen liegt sowieso ausserhalb der Möglichkeiten dieser Extension.

Trotzdem: general_data_display ist eine sehr interessante Neuveröffentlichung. Bereits in der Version 1.0.1 bietet sie eine sinnvolle Ausstattung, welche für viele Bedürfnisse ausreicht. Und man darf gespannt sein, was zukünftige Versionen bringen (unter anderem hoffentlich auch ein Manual, welches derzeit noch fehlt).

Tellico: Universeller Datensammler

Der Entwickler Robby Stephenson bezeichnet seine Software Tellico als Collection Manager. Möglicherweise haben Sie diesen Gattungsbegriff noch nie gehört, und doch finde ich ihn sehr treffend. Tellico verwaltet strukturierte Daten von gleichartigen Objekten, beispielsweise von Büchern, CDs, Videos, Briefmarken, Münzen oder Weinen.

Bereits an der Vielfalt dieser Beispiele zeigt sich, wie flexibel Tellico ist – und eigentlich kann man mit Tellico jede Art von Daten verwalten, denn die Datenstruktur ist frei definierbar. In einem gewissen Sinn ist Tellico also eine einfache Datenbank-Software. Allerdings lassen sich keine relationalen Datenbanken erstellen, und die Daten werden in XML-Dateien gespeichert – nur schon deshalb ist Tellico nicht mit FileMaker oder Microsoft Access zu vergleichen.

Zwei Punkte möchte ich noch hervorheben: Zum einen bietet Tellico vielfältige Import- und Export-Möglichkeiten, welche garantieren, dass man nicht Jahre seines Lebens in eine Datensammlung investiert, die am Schluss auf Gedeih und Verderb an eine ganz bestimmte Software gebunden ist. Zum anderen gefällt mir die Möglichkeit, Datenbanken im Internet (z.B. Amazon, Internet Movie Database, Library of Congress) direkt aus Tellico heraus zu durchsuchen und die gefundenen Datensätze zu übernehmen, wobei man auch eigene Datenquellen definieren kann.

Insgesamt ist Tellico eine runde Sache: flexibel, leicht verständlich und für sehr viel mehr Anwendungen geeignet, als man am Anfang vielleicht denken würde. Als KDE-Applikation läuft sie primär unter Linux, unter Ubuntu ist sie direkt über “Anwendungen hinzufügen/entfernen…” installierbar. Lizenziert wird Tellico unter der GNU General Public Licence (GPL).

Andere Open-Source-Programme mit ähnlichem Konzept, aber teilweise spezifischeren Anwendungsgebieten (in alphabetischer Reihenfolge):

SQL Buddy: Alternative zu phpMyAdmin

image

Wenn es darum geht, eine MySQL-Datenbank über ein Web-Interface zu verwalten, dann ist phpMyAdmin der unangefochtene Standard. Für weniger geübte Anwender ist phpMyAdmin allerdings oft zu mächtig, etwas unübersichtlich und auch rein optisch nicht besonders attraktiv.

Genau hier kann SQL Buddy punkten: Das Interface ist schlicht, aufgeräumt und mit den Finessen moderner Web-Applikationen ausgestattet (Stichwort: AJAX). Die Installation ist denkbar einfach: Die PHP-Skripts (nur 450 KByte) werden per FTP auf den Webserver geladen, und schon kann man SQL Buddy benutzen (wobei man als Login einen bereits bestehenden MySQL-User nimmt).

image

Bei der Namenswahl hatte der Entwickler allerdings kein so glückliches Händchen: SQL Buddy ist nämlich auch der Name einer Desktop-Applikation für Windows, die ein Administrations-Interface für Microsoft SQL Server bereitstellt. Diese Software scheint allerdings schon länger nicht mehr weiterentwickelt zu werden, so dass sich die Verwirrung in Grenzen halten dürfte.

Update vom 26.08.2008: Inzwischen gibt es mit sqlbuddyadmin auch eine Extension, welche SQL Buddy in das TYPO3-Backend integriert.

Schwere Sicherheitslücke in MySQL Dumper

image

MySQL Dumper, das es sowohl als Stand-alone Tool als auch als TYPO3 Extension gibt, hat offenbar eine gravierende Sicherheitslücke. Diese Lücke erlaubt es einem Angreifer, Lese- und Schreibrecht für die Datenbank zu erlangen und sie komplett herunterzuladen, sofern er den Pfad der MySQL-Dumper-Installation errät. Bei der TYPO3-Extension ist dieser Pfad vorgegeben und somit allgemein bekannt, aber auch wer das Stand-alone Tool unter www.domain.com/mysqldumper installiert hat lebt gefährlich. Brisant ist, dass MySQL Dumper selbst eindringlich empfiehlt, die Installation mit einem Passwort zu schützen, dass aber der vom Tool selbst angelegt Passwortschutz unterlaufen werden kann – der Anwender wiegt sich deshalb in falscher Sicherheit.

Die Sicherheitslücke wurde in einem Bulletin des TYPO3 Security Teams publiziert. Diesem ist auch zu entnehmen, dass die Autoren von MySQL Dumper während 3 Wochen nicht auf entsprechende Warnungen reagiert haben. Auch heute liest man auf www.mysqldumper.de nichts von diesem gravierenden Sicherheitsproblem. Unter den gegebenen Umständen muss ich meine einstige Empfehlung für dieses Tool rückgängig machen. Wenn Sie trotzdem nicht auf MySQL Dumper verzichten wollen, dann ergreifen Sie zumindest die folgenden Sicherheitsmassnahmen:

  • Installieren Sie MySQL Dumper in einem Verzeichnis, dessen Pfad niemand erraten kann.
  • Legen Sie den Passwortschutz für dieses Verzeichnis manuell an (d.h. nicht mit MySQL Dumper).
  • Verzichten Sie auf die TYPO3 Extension, nutzen Sie nur das Stand-alone Tool.

NeoOffice: OpenOffice.org für den Mac

neooffice.jpg

Das freie Office-Paket OpenOffice.org läuft zwar auch auf dem Mac, allerdings nur unter dem X Window System X11. Dies bedeutet erstens, dass man zuerst X11 installieren muss, und zweitens, dass OpenOffice.org nicht die vertraute Aqua-Oberfläche von Mac OS X besitzt. Anders gesagt: Es funktioniert zwar, macht aber nicht richtig Freude.

Wer ein Open Source Office-Paket braucht, das sich wirklich mac-like anfühlt und auch mac-like installiert werden kann, greift deshalb zu NeoOffice. Dieses ist funktionial identisch mit OpenOffice.org, verpackt es aber in eine Aqua-Oberfläche. Das soeben freigegebene NeoOffice 2.1 basiert auf OpenOffice.org 2.1 und ist damit eine ausgereifte Office-Lösung, die in den Bereichen Textverarbeitung (NeoOffice Writer), Tabellenkalkulation (NeoOffice Calc) und Präsentations-Software (NeoOffice Impress) den Vergleich mit Microsoft Office nicht zu scheuen braucht. Zum Paket gehören ferner das Zeichnungsprogramm NeoOffice Draw und die Datenbank NeoOffice Base.

Auch wenn das die Website www.neooffice.org nicht unbedingt wiederspiegelt: NeoOffice entspricht optisch dem, was ein Mac-Anwender erwartet. Ausserdem läuft es sehr flüssig und ist – nach meinem subjektiven Empfinden – eher schneller als Microsoft Office. Gewöhnungsbedürftig ist allenfalls, dass das System alle Komponenten als ein einziges Programm behandelt – schnell mit Befehl-Tabulator von der Textverarbeitung in die Tabellenkalkulation wechseln funktioniert deshalb nicht. Das ändert aber nichts daran, dass NeoOffice umbedingt empfehlenswert ist und auf jeden Mac gehört.

Firebird 2.0 kurz vor Veröffentlichung

Die SQL-Datenbank Firebird – ein aus Borlands Interbase hervorgegangenes Open-Source-Projekt – soll demnächst in der Version 2.0 gelaunched werden. Das Testing des Release Candidate 5 ist abgeschlossen, und heute beginnt in Prag die Firebird Conference 2006, wo die neue Version voraussichtlich offiziell vorgestellt wird.

Mehr zum Thema: