Datenbankschema

FIXME Language Alert: Unfortunately this page is still in german, please help by translating it.

Bei der Programmierung von Phenotypeanwendungen darf und soll lesend auf die Phenotype-Datenbank zugegriffen werden. Die DB-Zugriffe sind aus Performancegründen nicht gekapselt.

Die Zugriffe sollen sich aber auf die Tabellen page, content_data und user beschränken. Die relevanten Felder der genannten Tabellen werden auf den folgenden Seiten beschrieben.

Die Tabelle page

In der Tabelle page sind alle Strukturinformationen der Seiten einer Phenotype-Website gespeichert, d.h. auch der gesamte Navigationsbaum. Die Inhalte selbst, also die Bausteine, sind in der Tabelle sequence_data gespeichert.

pag_id
Eindeutige fortlaufende ID der Seite
pag_id
Zusätzliche Eindeutige Zufalls-ID der Seite
pag_id_mimikry
Id der per Navigations-Mimikry zugeordnete Seite
ver_id
ID der aktuellen Version
ver_nr
Nr der aktuellen Version
grp_id
ID der Seitengruppe
pag_bez
Bezeichnung der Seite
pag_titel
1. Titel der Seite
pag_alttitel
2. Titel der Seite
pag_quickfinder
Quickfinderbegriff der Seite
pag_fullsearch
Volltext der Seite
pag_searchtext
Suchbegriffe der Seite
pag_status
On-/Offline-Status
pag_id_top

ID der übergeordneten Seite, 0 für keine übergeordnete Seite

pag_pos

Position der Seite innerhalb der Seiten auf gleicher Ebene

pag_url

Direktzugriffs-URL, falls Rewrite Rules aktiviert sind

usr_id
ID des Users, der die Seite zuletzt bearbeitet hat
pag_date
Datum der letzten Änderung
usr_id_creator
ID des Users, der die Seite angelegt hat
pag_creationdate
Datum der Anlage
Auf alle anderen Felder sollte nicht direkt zugegriffen werden. Es ist davon auszugehen, dass diese sich in zukünftigen Phenotypeversionen ändern. Die hier genannten Felder werden voraussichtlich gleich bleiben.

Schreibend sollte grundsätzlich nicht direkt auf die Phenotype-Datenbank zugegriffen werden.

Ein Beispiel für den Zugriff auf die page-Tabelle finden Sie <a href=“index.php?id=137”>hier</a>.

Die Tabelle content_data

Die Tabelle content_data enthält alle Datensätze aller Contentarten. Nachfolgende Tabelle listet die wesentlichen Felder der Tabelle auf:

dat_id
Eindeutige fortlaufende ID des Content-Datensatzes
dat_uid
Zusätzliche eindeutige Zufalls-ID des Content-Datensatzes
dat_status
On-/Offline-Status
dat_bez
Bezeichnung des Datensatzes
con_id
Content-Art
usr_id
ID des Users, der den Datensatz zuletzt bearbeitet hat
dat_date
Datum der letzten Änderung
usr_id_creator
ID des Users, der den Datensatz angelegt hat
dat_creationdate
Datum der Anlage
dat_pos
Frei definierte Position
dat_key1
Alphanumerischer Wert des 1. Indexfeldes
dat_ikey1
Numerischer Wert des 1. Indexfeldes
dat_key2, dat_ikey2 ...
Insgesamt sind 5 Indexe möglich
dat_fullsearch
Volltext des Datensatzes
Auf alle anderen Felder sollte nicht direkt zugegriffen werden. Es ist davon auszugehen, dass diese sich in zukünftigen Phenotypeversionen ändern. Die hier genannten Felder werden voraussichtlich gleich bleiben.

Schreibend sollte grundsätzlich nicht direkt auf die Phenotype-Datenbank zugegriffen werden.

Ein Beispiel für den Zugriff auf die content_data-Tabelle finden Sie <a href=“index.php?id=138”>hier</a>.

Die Tabelle user

In der Tabelle user sind alle Benutzer, die sich am Backend anmelden dürfen, gespeichert. Möchten Sie einen User zum SuperUser machen, so dass er auf den Konfigurationsmodus zugreifen kann, müssen Sie für den entsprechenden User das Feld usr_su auf den Wert 1 setzen.

Nachfolgend die Übersicht über alle relevanten Felder der Tabelle:

usr_id
Eindeutige fortlaufende ID des Benutzers
usr_login
Benutzerkennung
usr_pass
gecryptedes Passwort
usr_vorname
Vorname des Benutzers
usr_nachname
Nachname des Benutzers
usr_email
Emailadresse des Benutzers
usr_lastlogin
Zeitpunkt der letzten erfolgreichen Anmeldung
usr_su
Superuserflag, regelt den Zugriff auf den Konfigurationsmodus
usr_status
Status des Users. 0, wenn gelöscht und daher keine Anmeldung mehr möglich.
Die Tabelle user enthält bei einer Neuinstallation immer bereits einige Benutzer. Melden Sie sich mit dem User starter und dem Kennwort deleteme an, legen Sie dann neue User an löschen Sie umgehend den Starter-User und, falls Sie keinen Support von Sellinger-Design möchten, auch gleich deren Standarduser.

Bereits gelöscht sind die User System(1), Importer(2) und WWW(3). Diese Benutzer haben keine Rechte und werden als Dummyuser genutzt, wenn z.B. Datensätze per Skript angelegt werden sollen.

Alle anderen Tabellen

Für den lesenden Zugriff sollten Sie nur auf die drei beschriebenen Tabellen page, content_data, user zurückgreifen. Manchmal ist es aber auch notwendig die Funktion der anderen Tabellen zu kennen, z.B. beim Abgleich zwischen einem Entwicklungssystem und einer Liveumgebung.

Nachfolgend werden alle Tabellen thematisch geordnet.

a) Inhaltlicher Abgleich

Layouts und Seitengruppen:

layout, layout_block, layout_include, layout_pagegroup, pagegroup

Seiten, Seitenversionen und Seiteninhalte (Bausteine):

page

pageversion

pageversion_autoactivate

sequence_data

Content-Datensätze:

content_data

Mediaobjekte:

media

mediagroup

b) Abgleich von Weiterentwicklungen der Webapplikation

Bausteine:

component

component_componentgroup

component_template

componentgroup

Aktionen:

action

Includes:

include

include_template

Contentobjekte:

content

content_template

Extras:

extra

extra_template

c) Livetabellen, die i.d.R. nicht abgeglichen werden müssen

Statistik:

page_statistics

content_statistics

Benutzer und Rollen:

role

user

Aufgaben:

ticket

ticketaction

ticketmarkup

ticketrequest

ticketsubject

user_ticketsubject

You think Phenotype Wiki/Documentation could be better?
We too. Please contribute: Edit this page

Bookmark and Share