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.
Betroffen sind Windows und Windows Server. Microsoft patcht aber auch Schwachstellen in Excel, Word und…
Es lässt sich um bis zu 50 Prozent dehnen. Allerdings besitzt es eine deutliche geringere…
Allerdings nimmt auch die Resilienz gegenüber Cyberattacken zu. Das BSI hat außerdem die Cybersicherheit anstehender…
Es ist das größte Wachstum in einem Jahr seit 2021. Unter anderem lässt das Interesse…
Magento zählt zu den führenden Shopsystemen in der Welt. Es punktet mit hoher Flexibilität und…
SteelFox gelangt über angebliche Cracks für kostenpflichtige Anwendungen auf die Rechner seiner Opfer. Betroffen sind…