Haftpflicht Blogger
Virtual Server von Host Europe

Serendipity 1.5.1 – Grundtabellen (Teil 2)

| 31. Dezember 2009 | Ein Kommentar

Ich möchte in diesem Blogbeitrag einen kurzen Blick auf die Datenbankeinträge des Serendipity Programms direkt nach der Initialinstallation werfen und mich dabei auf diejenigen Tabellen konzentrieren, die nach der Installation Einträge aufweisen.

Serendipity Basistabellen
Tabellen (Eintragsanzahl):
–  serendipity_authors (1)
–  serendipity_groups (3)
–  serendipity_groupconfig (96)
–  serendipity_config (82)
–  serendipity_permalinks (1)
–  serendipity_plugins (12)


serendipity_authors

Primary Key: authorid

Diese Tabelle ist eine der zentralen Tabellen, da jedem Bild, Artikel, … u.s.w. ein Autor zugeordnet sein wird.

Bei der Grundinstallation wird über den Primärschlüssel „authorid“ eine  1:n Relationship zu der Tabelle „serendipity_authorgroups“ angelegt.

Ich habe im obigen Tabellenschema weitere Abhängigkeiten zu Tabellen gezeichnet, die jedoch einer Erklärung bedürfen. Die Tabellen

  • „serendipity_plugins“ und
  • „serendipity_config“

weisen zwar das Feld „authorid“ auf, dieses Feld ist aber mit „0“ belegt, wofür es in der Tabelle „serendipity_authors“ keinen Eintrag gibt.  Der Wert „0“ als Defaultfeldinhalt soll wahrscheinlich eine Kennzeichnung derjenigen Einstellungen vornehmen, die systemseitig belegt wurden.

Auch besteht von „serendipity_authors“ eine Verbindung zur Tabelle „serendipity_permalinks“ (s.a. folgende Tabellenbemerkung). Das Feld „permalink“ enthält hierbei einen generierten Inhalt (hier: authors/1-John-Doe).


serendipity_permalinks
Primary Key: nicht definiert

In der Tabelle werden Permalinks für Einträge, Kategorien, etc. hinterlegt.

Der Aufbau des Feldes permalink (hier: authors/1-John-Doe) kann unter
Administration>Konfiguration>Permalinks
festgelegt werden.  Die Tabelle scheint mir eine Tabelle mit redundanten, generierten Inhalten zu sein für spätere Lookupzwecke und damit zur Performancesteigerung. Generische Tabellen sind nicht unproblematisch, was sich für mich auch gleich wieder bestätigt (siehe Abschnitt „Vorsicht“).

Vorsicht:
Ich habe bei der Erstinstallation die vorgegebenen Defaultwerte wie Benutzername „John Doe“ incl. Initialpasswort so stehen lassen, um die individuellen Blogeinstellungen später vorzunehmen.
Sicherlich ist einer der ersten Schritte dann nach der Erstinstallation, den Benutzernamen des Administrators von „John Doe“ auf den realen Namen umzusetzen und für diesen Administrator das Passwort zu ändern.

Dies kann man wahlweise über die Menüpunkte
–  Administration>Benutzerverwaltung oder
–  Eigene Einstellungen
recht leicht tun.

ABER, diese Namensveränderung wird nicht an die von „serendipity_authors“ abhängige Tabelle „serendipity_permalink“ weitergereicht, so dass als Permalink immer noch „John Doe“ verwendet wird.

Workaround:

–  manuell in der Datenbanktabelle „serendipity_permalink“
den Namen ändern
–  nicht den Anwender „John Doe“ verändern,
sondern diesen löschen und einen neuen
Benutzer mit Administratorrechten anlegen
–  die Permalink-Definition ändern.

serendipity_authorgroups
Primary Key: groupid, authorid

Die Tabelle „…_authorgroups“ ist eine klassische n:m Zwischentabelle, die die Gruppentabelle (groups) mit der Autorentabelle (…_authors) verbindet.

Ein Benutzer kann verschiedene Rollen besitzen, d.h. mehreren Benutzergruppen angehören.

serendipity_groups
Primary Key: id

Stammdatentabelle der verschiedenen Benutzergruppen

serendipity_plugins
Primary Key: name

serendipity_plugins TabelleSchon in der Grundinstallation wurden manche Programmteile als Plugins (Module) installiert. Diesen Einträgen wurde die „author_id = 0“ zugeordnet.  Für „author_id = 0“ gibt es keinen Eintrag in der Tabelle „serendipity_authors“. Ich habe dennoch im Datenbankschema am Anfang eine Relationship zur Autorentabelle eingezeichnet, da bei späteren Plugininstallationen hier der Benutzer eingetragen wird, der das Plugin installiert hat.
serendipity_config
Primary Key: nicht definiert

serendipity_config TabelleDie Tabelle enthält u.a. die generellen Grundeinstellungen für den Blog. Wie anderenorts auch wurden die Grundeinträge mit „authorid = 0“ gekennzeichnet. Dies ist generell der Defaultwert für dieses Feld.

Siehe auch Blogbeitrag:
Serendipity 1.5.1 – Grundtabellen

Stichworte:

Kategorie: Serendipity

Kommentare (1)

Trackback-URL | Kommentarfeed

  1. Ein gutes Jahr endet mit einem Beitrag über Serendipity. Erst jetzt habe ich Manfred Roos Blog Perfect Knowhow entdeckt. In der Kategorie Serendipity hat er einige interessante Artikel veröffentlicht. Eine Artikelserie beschäftigt sich mit den Tabellen …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.