Dies sind nur ein paar Gedanken und Notizen, damit ich mir das nicht jedesmal neu überlegen muß ;). (patta)
Die Haupttabelle, in der Sachen, die noch oberhalb der einzelnen Schemata zur Verfügung stehen (müssen), abgelegt sind (Wir sollten dran denken, dass es auch mindestens eine übergeordnete Seite, das Impressum, gibt).
id Die normale id der Tabelle. Es wird wohl nicht mehr als einen Eintrag geben. Trotzdem.title naja, so nen Obertitel halt.version Ich denke, eine Versionskontrolle mit einer update-Möglichkeit ist sicherlich sinnvoll, denn wir werden sicherlich auch im endgültigen Betrieb mal was ändern müssen. Und da kann man dann die notwendigen ALTER TABLEs draus erschließenavailable_schemes Alle bisher installierten bzw. erzeugten Schemata, die man als Hauptadmin im Adminbereich erstellen/bearbeiten kann. Komma-separierte Liste, zum Beispiel “gloesingen,dinschede,oeventrop,ssg”. Die Namen hier sind gleichzeitig die Namen der Schemata.default_scheme Das Schema, was herangezogen wird, wenn kein anderes angegeben wird. Einer der Einträge aus available_schemes.global_modules Hier bin ich mir noch nicht so sicher, was das ist. Mir klebt hier das Impressum im Hinterkopf.available_modules Die Module, die installiert sind. Es ist ja wichtig, dass beim Erzeugen eines neuen Schemas die Tabellen der einzelnen Module mit erzeugt werden.default_module Das Modul, was als Default-Content-Generator eingestellt wird, wenn ein neues Schema erstellt wird. Möglich ist da auch ne Auswahl. Insgesamt ist das eher weniger wichtig...available_themes Installierte Themes (Hintergedanke an Tamboukorps, Blasmusik).default_theme Default-Theme, was direkt nach dem Erzeugen benutzt wird. Ebenfalls nicht so wichtig.admin_dir Das Admin-Directory (brauchen wir das oder machen wir das per mod_rewirte?)wwwaddress Die www-Adresse. manuell eingegeben, da mir das, was in $_SERVER steht igrendwie nie das gibt, was ich will (vielleicht bin ich auch zu blöde).Haupttabelle für jedes Schema, was angelegt wird. Enthält Dinge wie Name etc., aber auch aktivierte Module und sowas.
id Typ:varchar, trotzdem Schlüssel, denn die Bezeichnung muß ja eh eindeutig sein.title Titel des Schemas, der auf den Webseiten als Oberüberschrift auftaucht. Beispiel: Schützenkompanie Glösingenwwwaddress Mmmh, irgendwie müssen wir ja mit gloesingen.de und dinschede.de klarkommen.directory Das “Verzeichnis”1), unter dem man das Schema erreicht. Sowas wie aktuell schuetzen.oeventrop.de/ssg/available_modules Liste aller verfügbaren Module, ob benutzt oder nicht. Repräsentiert alle Module, die im Verzeichnis modules sindinstalled_modules Liste aller Module, die wirklich benutzt werden.default_module Standardmodul, was geladen wird, wenn kein anderes angefordert wurde.
Folgendes SQL-Statement erzeugt die von mir benutzte Tabelle cmsmain:
CREATE TABLE cmsmain ( id integer NOT NULL, version character varying(10) NOT NULL, available_schemes text, default_scheme character varying(128), global_modules text, available_modules text, default_module character varying(128), available_themes text, default_theme character varying(128), wwwaddress text, admin_dir character varying(128), title text ); ALTER TABLE ONLY cmsmain ADD CONSTRAINT cmsmain_pkey PRIMARY KEY (id);
Das sieht so aus, als würde nur eine Zeile in der Tabelle existieren. Ich finde das sollten wir aufdröseln, sowas kann man gut per Datatab erschlagen. Damit hätte man auch den DB-Zugriff gekapselt. Oli
mod_rewrite, denke ich