Beschreibung der Datenbankstruktur
Diese Seite beschreibt die Datenbankstruktur des OpenRat CMS.
Dem Tabellennamen kann ein Präfix vorangestellt werden. Voreingestellt ist "or_<Tabellenname>".
Ein Datum wird stets als Unix-Timestamp, also als Ganzzahl dargestellt, welche die Anzahl der Sekunden seit dem 01.01.1970 darstellt.
Indexe sind in dieser Aufstellung nicht enthalten, wohl aber in den bereitgestellten SQL-Skripten vorhanden.
project
Jedes in OpenRat angelegte Projekt ist in dieser Tabelle aufgeführt.
Name der Spalte | Beschreibung | Typ | Länge | NULL erlaubt | |
---|---|---|---|---|---|
id | Eindeutige Id und Primärschlüssel der Tabelle | Zahl | 11 bit | nein | |
name | Logischer Name des Projektes | Zeichenkette | 128 byte | nein | |
target_dir | Lokales Zielverzeichnis für das Veröffentlichen | Zeichenkette | 256 byte | nein | |
ftp_url | URL vom FTP-Server, auf den veröffentlicht werden soll | Zeichenkette | 256 byte | nein | |
ftp_passive | 1, wenn im "passive"-Mode übertragen werden soll | Zeichenkette | 1 byte | nein | |
cmdafterpublish | Systembefehl, der nach dem Veröffentlichen ausgeführt wird | Zeichenkette | 256 byte | nein | |
content_negotiation | 1, wenn der Webserver Content Negotiation beherscht | Zeichenkette | 1 byte | nein | |
cut_index | Beim Verlinken auf Indexdateien den Dateinamen weglassen | Zeichenkette | 1 byte | nein | |
user
Jeder Benutzer steht in dieser Tabelle
Name der Spalte | Beschreibung | Typ | Länge | NULL erlaubt | |
---|---|---|---|---|---|
id | Eindeutige Id und Primärschlüssel der Tabelle | ||||
name | Benutzername | Zeichenkette | 128 byte | nein | |
password | Verschlüsseltes Kennwort des Benutzers | Zeichenkette | 50 byte | nein | |
ldap_dn | "distinghished name" des Benutzers in einem LDAP-Verzeichnisdienst | Zeichenkette | 255 byte | nein | |
fullname | Voller Name | Zeichenkette | 128 byte | nein | |
tel | Telefonnummer | Zeichenkette | 128 byte | nein | |
E-Mail-Adresse | Zeichenkette | 255 byte | nein | ||
descr | Beschreibung | Zeichenkette | 255 byte | nein | |
style | Stil für die Benutzeroberfläche | Zeichenkette | 64 byte | nein | |
is_admin | 1=Benutzer ist Administrator | Zahl | 1 Bit | nein | |
group
Jede Benutzergruppe ist in dieser Tabelle aufgeführt.
Name der Spalte | Beschreibung | Typ | Länge | NULL erlaubt | |
---|---|---|---|---|---|
id | Eindeutige Id und Primärschlüssel der Tabelle | Zahl | 11 Bit | nein | |
name | Name der Gruppe | Zeichenkette | 100 byte | nein | |
object
Jedes Objekt (Seite, Datei, Link, Ordner) ist in dieser Tabelle vorhanden.
Name der Spalte | Beschreibung | Typ | Länge | NULL erlaubt | |
---|---|---|---|---|---|
id | Eindeutige Id und Primärschlüssel der Tabelle | Zahl | 11 Bit | nein | |
parentid | Id des übergeordneten Ordners. NULL, wenn Root | Zahl | 11 Bit | ja | |
projectid | Id des Projektes | Zahl | 11 Bit | nein | |
filename | Dateiname des Objektes (ohne Erweiterung) | Zeichenkette | 255 Byte | nein | |
orderid | Dient zur Sortierung von Objekten in einem Ordner | Zahl | 11 Bit | nein | |
create_date | Unix-Timestamp an dem dieses Objekt angelegt wurde | Zahl | 11 Bit | nein | |
create_userid | Id des Benutzers, der dieses Objekt angelegt hat | Zahl | 11 Bit | ja (wenn Benutzer gelöscht wird) | |
lastchange_date | Unix-Timestamp der letzten Änderung | Zahl | 11 Bit | nein | |
lastchange_userid | Id des Benutzers, der die letzte Änderung durchgeführt hat | Zahl | 11 Bit | ja (wenn Benutzer gelöscht wird) | |
is_folder | Es handelt sich um einen Ordner (1=ja) | Zahl | 1 Bit | nein | |
is_file | Es handelt sich um eine Datei (1=ja) | Zahl | 1 Bit | nein | |
is_page | Es handelt sich um eine Seite (1=ja) | Zahl | 1 Bit | nein | |
is_link | Es handelt sich um eine Verknüpfung (1=ja) | Zahl | 1 Bit | nein | |
template
Name der Spalte | Beschreibung | Typ | Länge | NULL erlaubt | |
---|---|---|---|---|---|
id | Eindeutige Id und Primärschlüssel der Tabelle | Zahl | 11 Bit | nein | |
projectid | Id des Projektes, in der diese Vorlage gültig ist | Zahl | 11 Bit | nein | |
name | Name der Vorlage | Zeichenkette | 50 Bytes | nein | |
language
Darstellung einer Sprache für ein Projekt. Jedes Projekt hat mindestens 1 Sprache, in der die Inhalte veröffentlicht werden.
Name der Spalte | Beschreibung | Typ | Länge | NULL erlaubt | |
---|---|---|---|---|---|
id | Eindeutige Id und Primärschlüssel der Tabelle | Zahl | 11 Bit | nein | |
projectid | Projekt-Id | Zahl | 11 Bit | nein | |
isocode | ISO-Code der Sprache | Zeichenkette | 10 Bytes | nein | |
name | Name der Sprache | 50 Bytes | nein | ||
is_default | Kennzeichen, ob Standard-Sprache (1=ja) | Zahl | 1 Bit | nein | |
page
Name der Spalte | Beschreibung | Typ | Länge | NULL erlaubt | |
---|---|---|---|---|---|
id | Seiten-Id und Primärschlüssel der Tabelle | Zahl | 11 Bit | nein | |
objectid | Objekt-Id der Seite | Zahl | 11 Bit | nein | |
templateid | Id der Vorlage, auf der diese Seite basiert | Zahl | 11 Bit | nein | |
projectmodel
Name der Spalte | Beschreibung | Typ | Länge | NULL erlaubt | |
---|---|---|---|---|---|
id | Eindeutige Id und Primärschlüssel der Tabelle | Zahl | 11 Bit | nein | |
projectid | Id des Projektes | Zahl | 11 Bit | nein | |
name | Name des Projektmodells (z.B. "HTML") | Zeichenkette | 50 Bytes | nein | |
extension | Erweiterung des Dateinamens der Seiten | Zeichenkette | 10 Bytes | ja | |
is_default | Kennzeichen, ob dies die Standard-Projektmodell ist (1=ja) | Zahl | 1 Bit | nein | |
element
Name der Spalte | Beschreibung | Typ | Länge | NULL erlaubt | |
---|---|---|---|---|---|
id | Eindeutige Id und Primärschlüssel der Tabelle | Zahl | 11 Bit | nein | |
templateid | Vorlagen-Id zu der dieses Element gehört | Zahl | 11 Bit | nein | |
name | Name | Zeichenkette | 50 Bytes | nein | |
descr | Beschreibung für den Redakteur | Zeichenkette | 255 Bytes | nein | |
type | Typ des Elementes | Zeichenkette | 20 Bytes | nein | |
subtype | Untertyp | Zeichenkette | 20 Bytes | nein | |
with_icon | In der Voransicht editierbar | Zahl | 11 Bit | nein | |
dateformat | Datumformat (für die PHP-Methode "date()") | Zeichenkette | 100 Bytes | ja | |
wiki | Erweiterte Textauszeichnungen erlaubt (1=ja) | Zahl | 1 Bit | ja | |
html | HTML-Code bei der Eingabe erlaubt (1=ja) | Zahl | 1 Bit | ja | |
all_languages | Inhalt ist in allen Sprachengleich (1=ja) | Zahl | 1 Bit | ja | |
writable | Inhalt ist beschreibbar (1=ja) | Zahl | 1 Bit | nein | |
decimals | Anzahl Nachkommastellen | Zahl | 11 Bit | ja | |
dec_point | Darstellung eines Dezimalpunktes | Zeichenkette | 5 Bytes | ja | |
thousand_sep | 1000er Trennungszeichen | Zeichenkette | 1 Byte | ja | |
code | Dynamischer PHP-Code | Zeichenkette | groß | ja | |
default_text | Vorbelegter Inhalt des Elementes | Zeichenkette | groß | ja | |
folderobjectid | Objekt-Id des Ordners, aus dem Verweise ausgewählt werden können | Zahl | 11 Bit | ja | |
default_objectid | Objekt-Id des vorbelegten Ziel-Objektes | Zahl | 11 Bit | ja | |
file
Name der Spalte | Beschreibung | Typ | Länge | NULL erlaubt | |
---|---|---|---|---|---|
id | Eindeutige Id und Primärschlüssel der Tabelle | Zahl | 11 Bit | nein | |
objectid | Objekt-Id der Datei | Zahl | 11 Bit | nein | |
extension | Datei-Erweiterung | Zeichenkette | 10 Bytes | nein | |
size | Größe der Datei (in Byte) | Zahl | 11 Bit | nein | |
value | Binärer Inhalt der Datei | BLOB oder Text | sehr groß | nein | |
folder
Name der Spalte | Beschreibung | Typ | Länge | NULL erlaubt | |
---|---|---|---|---|---|
id | Eindeutige Id und Primärschlüssel der Tabelle | Zahl | 11 Bit | nein | |
objectid | Objekt-Id des Ordners | Zahl | 11 Bit | nein | |
link
Eine Verknüpfung verweist entweder auf eine andere Objekt-Id oder eine URL.
Name der Spalte | Beschreibung | Typ | Länge | NULL erlaubt | |
---|---|---|---|---|---|
id | Eindeutige Id und Primärschlüssel der Tabelle | Zahl | 11 Bit | nein | |
objectid | Objekt-Id der Verknüpfung | Zahl | 11 Bit | nein | |
link_objectid | Objekt-Id des Objektes, zu welchem verwiesen wird | Zahl | 11 Bit | ja (wenn eine URL verwendet wird) | |
url | URL, auf die verwiesen wird | Zeichenkette | 255 Byte | ja (wenn auf eine Objekt-Id verwiesen wird) | |
name
Enthält den Namen und die Beschreibung eines Objekts.
Diese Informationen sind nicht in der Tabelle "object" vorhanden, da diese sprachabhängig sind.
Name der Spalte | Beschreibung | Typ | Länge | NULL erlaubt | |
---|---|---|---|---|---|
id | Eindeutige Id und Primärschlüssel der Tabelle | Zahl | 11 Bit | nein | |
objectid | Objekt-Id, zu der dieser Eintrag gehört | Zahl | 11 Bit | nein | |
name | Logischer Name | 255 Bytes | nein | ||
descr | Beschreibung | Zeichenkette | 255 Bytes | nein | |
languageid | Sprache, zu der dieser Eintrag gehört | Zahl | 11 Bit | nein | |
templatemodel
Pro Projektmodell und pro Vorlage gibt es ein Vorlagenmodell.
Name der Spalte | Beschreibung | Typ | Länge | NULL erlaubt | |
---|---|---|---|---|---|
id | Eindeutige Id und Primärschlüssel der Tabelle | Zahl | 11 Bit | nein | |
templateid | Vorlagen-Id | Zahl | 11 Bit | nein | |
projectmodelid | Id des Projektmodells | Zahl | 11 Bit | nein | |
extension | Erweiterung der Vorlage (für Seiten-Dateinamen) | Zeichenkette | 10 Bytes | ja | |
text | Inhalt der Vorlage | Zeichenkette | sehr groß | nein | |
usergroup
Darstellung der n:m-Beziehung zwischen Benutzern und Gruppen.
Name der Spalte | Beschreibung | Typ | Länge | NULL erlaubt | |
---|---|---|---|---|---|
id | Eindeutige Id und Primärschlüssel der Tabelle | Zahl | 11 Bit | nein | |
userid | Benutzer-Id | Zahl | 11 Bit | nein | |
groupid | Gruppen-Id | Zahl | 11 Bit | nein | |
value
In dieser Tabelle werden die eigentlichen Inhalte gespeichert.
Name der Spalte | Beschreibung | Typ | Länge | NULL erlaubt | |
---|---|---|---|---|---|
id | Eindeutige Id und Primärschlüssel der Tabelle | Zahl | 11 Bit | nein | |
pageid | Seiten-Id, zu der dieser Inhalt gehört | Zahl | 11 Bit | nein | |
languageid | Sprachen-Id, zu der dieser Inhalte gehört | Zahl | 11 Bit | nein | |
elementid | Element-Id | Zahl | 11 Bit | nein | |
linkobjectid | Inhalt: Objekt-Id, auf die eine Verknüpfung zeigt | Zahl | 11 Bit | ja (wenn Inhalt kein Link ist) | |
text | Inhalt: Text. Die hoffentlich wichtigste Spalte :) | Zeichenkette | sehr groß | ja (wenn Inhalt kein Text ist) | |
number | Inhalt: Eine Zahl | Zahl | 11 Bit | ja (wenn Inhalt keine Zahl ist) | |
date | Inhalt: Ein Datum als Unix-Timestamp | Zahl | 11 Bit | ja (wenn Inhalt kein Datum ist) | |
active | Kennzeichen, dass Inhalt der aktuellste ist (1=ja) | Zahl | 1 Bit | nein | |
publish | Kennzeichen, dass Inhalt zur Veröffentlichung freigegeben ist | Zahl | 1 Bit | nein | |
lastchange_date | Zeitpunkt der letzten Änderung | Zahl | 11 Bit | nein | |
lastchange_userid | Id des Benutzers, der diesen Inhalt eingegeben hat | Zahl | 11 Bit | nein | |
acl
Ablegen der Berechtigungen.
Die Berechtigungen wurden aus Performancegründen nicht als Bitmaske abgelegt. Bei der gewählten Darstellung kann über SELECT-Befehle direkt auf Berechtigungsbits zugegriffen werden.
Name der Spalte | Beschreibung | Typ | Länge | NULL erlaubt | |
---|---|---|---|---|---|
id | Eindeutige Id und Primärschlüssel der Tabelle | Zahl | 11 Bit | nein | |
userid | Benutzer-Id | Zahl | 11 Bit | ja (wenn die Berechtigung für eine Gruppe ist) | |
groupid | Gruppen-Id | Zahl | 11 Bit | ja (wenn ein Benutzer berechtigt ist) | |
objectid | Objekt-Id des zu berechtigenden Objektes | Zahl | 11 Bit | nein | |
languageid | Id der Sprache, für die diese Berechtigung gültig ist | Zahl | 11 Bit | ja (wenn Berechtigung für alle Sprachen gilt) | |
is_write | Recht für: Inhalt ändern | Zahl | 1 Bit | nein | |
is_prop | Recht für: Eigenschaften ändern | Zahl | 1 Bit | nein | |
iscreatefolder | Recht zum Anlegen weiterer Unterordner (bei Ordnern) (1=ja) | Zahl | 1 Bit | nein | |
iscreatefile | Recht zum Anlegen neuer Dateien (bei Ordnern) (1=ja) | Zahl | 1 Bit | nein | |
iscreatelink | Recht zum Anlegen neuer Verknüpfungen (bei Ordnern) (1=ja) | Zahl | 1 Bit | nein | |
iscreatepage | Recht zum Anlegen weiterer Seiten (bei Ordnern) (1=ja) | Zahl | 1 Bit | nein | |
is_delete | Recht zum Entfernen des Objektes (1=ja) | Zahl | 1 Bit | nein | |
is_release | Recht zum Freigeben von Inhalten (1=ja) | Zahl | 1 Bit | nein | |
is_publish | Recht zum Veröffentlichen (1=ja) | Zahl | 1 Bit | nein | |
is_grant | Recht für das Vergeben von Rechten (1=ja) | Zahl | 1 Bit | nein | |
is_transmit | Recht wird an Unterobjekte vererbt (1=ja) | Zahl | 1 Bit | nein | |