Datenbankschema
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
|
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
|
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.
|
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
Recent Blog Posts
- Finally Multibyte - Phenotype 3.0
- Phenotype 2.9 explained
- Integration of PHPIDS (PHP-Intrusion Detection System)
- New Release: Phenotype 2.8 Ready for Download
- Restart: New Phenotype Website Live
- Phenotype worth: 2 Million $
- New Feature: Automatic Image Version Creation
- Additional smartURL variable: smartPATH