Rodeo entstand im Zusammenhang mit einem Test-Projekt für eine Einrichtung des öffentlichen Rechts. (Kunde möchte unbenannt bleiben) Die Aufgabenstellung war die Erstellung einer echten barrierefreien Internetpräsenz. Dabei wurde ausdrücklich gewünscht, auf die Verwendung von Datenbanken zu verzichten und auf herkömmliche Mittel zurückzugreifen.
Sinn und Zweck hier war sicher die Gewährleistung einer optimalen Ladezeit, was die Aufgabe nicht unbedingt erleichterte. Der Umgang mit sogenannten Flatfiles ist im Gegensatz zu komfortablen Datenbanken, wie MySQL, recht programmieraufwendig. Am Ende jedoch gibt uns das Ergebnis Recht, nicht das Verfahren. Verbindungen zu Flatfiles sind von Hause aus deutlich schneller. Hätte ich nicht gedacht. Bei jeder komfortablen Datenbankverbindung geht tatsächlich augenmeßbare Zeit verloren.
Es wird ja behauptet, die Datenmenge (also ohne Datenbank) sei beschränkt. Äh, nein oder kommt drauf an. Es gibt gewisse Handicaps, aber nicht die der Datenmenge. Es werden statische Seiten erzeugt. Das könnten so viele sein, wie der Server es zulässt. Einschränkungen mag es im Bereich multipler Suchoperationen geben, die Rodeo aber nicht hat. Auch die Userverwaltung ist aufgrund der Progammiervariante quasi uneingeschränkt.
Das CMS ist unabhängig von "anderer" Software. Module, wie mod_rewrite, werden nicht notwendig. Das spart zusätzliche Ressourcen. Für eine Datensicherung sind keine Verrenkungen notwendig. Man nimmt einfach seine Dateien mit nach Hause.
Nach Weiterentwicklung, vor allem dem Hinzufügen von Artikeln/Tags, liegt Rodeo nicht mehr in der Urform vor und kann nun freigegeben werden.
Es geht einzig darum, die Bereitsstellung barrierefreier Inhalte zu gewährleisten. Das System soll zudem einfach in der Bedienung sein. Ein bißchen Ajax gibt es dafür, aber nicht im Überfluss. Es ist eher die Zweckmäßigkeit, als die Schönheit, die Rodeo schnell und übersichtlich macht.
Das habe ich versucht, so gut wie möglich umzusetzen. Man kann die meisten Formularfelder einfach freilassen. Rodeo sieht dann von diversen Fehlermeldungen ab und versucht stattdessen, diese selbst mit Daten zu befüllen. Das gibt Flexibilität und Sicherheit. Beispiele hierfür wären: