Zwei Methoden zum Erstellen einer Datenbank für ein .NET-basiertes CMS

Bei der Nutzung des Fixed Data Models ist ein wenig mehr Vorbereitung erforderlich, da Sie sicherstellen müssen, dass alle für Ihr CMS erforderlichen Content-Entities vorhanden sind. Danach ist das Erstellen der logischen Datenbank jedoch kein Problem mehr. Abbildung A zeigt ein Beispiel eines Fixed Data Models für ein CMS.

Abbildung A: Fixed Data Model
(Abbildung vergrößern)

Die grundlegende Tabelle des Fixed Data Models ist die Content-Tabelle. Sie enthält sämtliche Content-Entities für Ihr CMS. Für unserer Artikel-Site lauten diese Entities (zum Erstellen einer Zeitung) Headline, Source, Byline, Teaser, Body und TagLine.

Da das System einen rollenbasierten Workflow unterstützen soll, verfolgt die Content-Tabelle alle Accounts, die den Content Flow verwalten. Zum Workflow des Content gehören die folgenden Vorgänge: Verfassen, Bearbeiten, Genehmigen und Veröffentlichen.

Es empfiehlt sich auch die Nutzung einer Versionskontrolle. Ich habe hierfür eine simple Lösung gewählt und einfach eine komplette Fassung jeder Version des in der Datenbank enthaltenen Inhalts archiviert. Sie können natürlich auch nur die Deltas speichern (d.h. nur die Änderungen zwischen den Versionen).

Dieses Datenbank-Design bietet eine hohe Flexibilität für die gespeicherten Daten zu den einzelnen Accounts. Es werden nur die erforderlichen Daten für einen Account in der Tabelle Account gespeichert. Dann werden jegliche zusätzlichen Informationen zum Account als der Account-ID zugeordnete Eigenschaften gespeichert. Auf diese Weise können Sie nahezu jede gewünschte Information über einen Benutzer zu der Datenbank hinzufügen. Wenn beispielsweise eine private Telefonnummer zu einem Account hinzugefügt werden soll, wird der zugeordneten Account-ID in der Tabelle AccountProperty die Eigenschaft Privatnummer mit dem Wert 800-555-1234 (oder wie immer die Telefonnummer lautet) hinzugefügt.

Mit diesem Design kann jeder Account mehrere Rollen übernehmen. Zum Beispiel kann ein Account für einen Verfasser und für einen Editor genutzt werden. Diese Rollen können verwendet werden, wenn zu dem simplen CMS ein Workflow hinzukommt. Es ist allerdings sinnvoller, den Workflow statt auf Accounts auf Rollen aufzubauen, da sich die Rollen eines Accounts im Lauf der Zeit ändern können.

Ein weiteres praktisches Feature dieses Datenbank-Designs ist die Notes-Option. Da es durchaus möglich ist, dass sich der Verfasser und der Editor auf verschiedenen Kontinenten befinden, könnte sich die Kommunikation als schwierig erweisen. (Unterschiedliche Zeitzonen können ein enormes Chaos verursachen, glauben Sie mir!). Mithilfe der Notes-Funktion ist eine problemlose Kommunikation zwischen den verschiedenen Rollen des Workflow möglich. Die Content-Notes werden der jeweiligen Content-ID zugewiesen und sind von der Version des Content unabhängig.

Dieses Design ermöglicht Ihnen die Anzeige desselben Contents in mehr als einem Bereich (Zone) Ihrer Website. Sie können dieses Feature auch deaktivieren, wenn Ihre Site nur wenige Content-Bereiche umfasst. Derselbe Content kann auch in verschiedenen Bereichen für eine unterschiedlich lange Zeitdauer angezeigt werden. Beispielsweise könnten Sie einen Bereich mit aktuellen Nachrichten haben, in dem alle Artikel nur einen Tag lang erscheinen. Statt den Artikel jedoch bereits nach einem Tag ins Archiv zu verschieben, könnten Sie ihn erst noch für eine gewisse Zeit in einem anderen Bereich bereitstellen.

Page: 1 2 3 4

ZDNet.de Redaktion

Recent Posts

Quantennetzwerk für sichere Kommunikation

Eine Glasfaser-Teststrecke am Karlsruher Institut für Technologie (KIT) soll Entwicklung von Quantennetzwerktechnologien fördern.

2 Tagen ago

Top-Malware im Januar: Infostealer Formbook kehrt zurück

Formbook ist für 16,5 Prozent der Malware-Infektion in Deutschland verantwortlich. Zudem registriert Check Point eine…

4 Tagen ago

Apple droht Ärger mit dem Bundeskartellamt

Die Wettbewerbshüter nehmen Apples App Tracking Transparency Framework ins Visier. Sie werfen Apple vor, damit…

5 Tagen ago

Phishing-Betrug zum Valentinstag nimmt zu

Im Januar werden über 18.000 neue Websites zum Thema Liebe und Valentinstag registriert. Auch die…

5 Tagen ago

Sicherheitslücke in AWS erlaubt Angriffe auf Amazon-Cloud-Instanzen

Angreifer schleusen schädliche Amazon Machine Images ein und tarnen diese als offizielle AWS-Images. Sie erhalten…

6 Tagen ago

Google stopft schwerwiegende Sicherheitslöcher in Chrome 133

Chrome für Windows, macOS und Linux sind angreifbar. Für eine der vier Schwachstelle zahlt Google…

6 Tagen ago