Hilfe:Datenmodell: Unterschied zwischen den Versionen

Aus GaretienWiki
Zur Navigation springen Zur Suche springen
VolkoV (D | B)
Keine Bearbeitungszusammenfassung
VolkoV (D | B)
Zeile 118: Zeile 118:
===Fluss===
===Fluss===
(keine)
(keine)
===Abfragen außerhalb der Datenobjekte===
*Hochadel
*Stadtübersichten

Version vom 6. Januar 2012, 12:15 Uhr

(leicht veraltet und unvollständig)

Geschichte des Datenmodells

In den vergangenen Jahren haben sich die Webpräsenzen von Garetien, Greifenfurt und Perricum mehrfach einem Wechsel des Datenmodells unterzogen. Um das jetzige Modell zu verstehen, sollte man die Entwicklung kennen.

Die ersten Webseiten zu Garetien und Greifenfurt, wie auch einige weitere private Homepages zu einzelnen Lehen entstanden mit dem Beginn des "jeder braucht eine Homepage"-Hype zum Ende des letzten Jahrtausends. Das Datenmodell hier war zumeist eine von einer einzelnen Person gewartete Seite. Diese Person musste sich also sowohl mit der Servertechnik auskennen als auch die hereinkommenden Texte in das Webformat HTML umwandeln. Schon beim Einstellen neuer Texte entstand so schnell ein Flaschenhals, von der Wartung und Überarbeitung alter Text ganz zu schweigen.

Irgendwann um 2005 stellte sich das Problem, dass wir den Überblick über unser gemeinsam erzähltes Briefspiel zu verlieren drohten. Zuerst einmal versuchten wir in Ermangelung der Kenntnis andere Plattformen, zumindest die Briefspieltexte in ein gemeinsames Forum einzustellen - damit war zwar dort der Flaschenhalt entfernt, aber die Wartung war sehr mühsam und es gab keine Versionsverwaltung im Fehlerfall, so dass die Idee einer gemeinsamen Homepage in dieser Form im Sande zu verlaufe drohte.

Im Sommer 2006 folgte dann die Installation einer auf MediaWiki basierenden Plattform nach dem Vorbild der Albernia-Wiki. Hier konnte nun jeder User seine und auch andere Texte selbstständig warten, verlinken und formatieren. Die Wiki-Technik war für unsere gemeinsam entwickelten Region ein Glücksgriff. Eifrig begannen wir alle bisher erzeugten Texte aus Briefspiel, Regionalbeschreibungen usw. einzupflegen.

Wie das so ist, wenn man eine große Menge verknüpfter Daten hat, stellten sich irgendwann Fragen wie "Können wir automatisch eine Liste aller Ortschaften erstellen, die einen Praios-Tempel haben?" oder "In welchen Briefspielgeschichten tauchte der Typ eigentlich auf?". Wichtig war uns, da der Datenbestand immer noch beständig wuchs, dass wir diese Übersichtslisten nicht immer wieder aktualisieren mussten. Mit DynamicPageList lassen sich solche Abfragen erstellen. Wenn jemand einem Dorf einen neuen Praios-Tempel gab, erschien er direkt in der entsprechenden Liste auf der Seite der Praios-Kirche.

Etwa zu diesem Zeitpunkt und basierend auf der Technik entstand auch die dynamische Karte - wir fingen also an, unsichtbare Informationen in Artikeln zu verstecken, die wir eigentlich nur an ganz anderen Stellen brauchten. Aber das Konzept ist richtig: Die Position eines Ortes sollte auch dort gespeichert sein. Wenn wir den Ort einmal umbenennen, ihn vom Markt zur Stadt machen usw., wird die Information auch gleich dynamisch in der Karte angepasst.

Leider schluckte DynamicPageList bei einer großen Menge abfragen viel zu viel Performance, so dass wir uns nach einer Alternative umschauen mussten. Es gibt ein Modul Semantic MediaWiki, mit dem solche semantischen Verknüpfungen und Attribute performanter gespeichert werden. Außerdem ist die Syntax Endanwender-freundlicher, so dass wir uns für den Umstieg entschieden. Dies hatte zur Folge, dass für lange Zeit auf vielen Seiten kaputte alte Abfragen zu sehen waren.

So langsam, nach viel Arbeit, haben wir mit SMW ein verknüpftes Datenmodell geschaffen, dass nicht mehr viel mit der ursprünglichen reinen Textsammlung zu tun hat. Dieses wird im folgenden dargestellt.

Datenobjekte

Person

Familie

Gruppierung

Lehen/Ort

Briefspielindex

Chronik

Fluss

Verknüpfungen

Von Person auf Lehen/Ort

  • Herrscher
  • Aufenthaltsort
  • abgeleitete Kategorien

Von Person auf Familie

  • Herrscher
  • Familienmitglied

Von Person auf Gruppierung

  • Herrscher
  • Mitglied

Von Person auf Chronik

  • Herrscher
  • Tsatag
  • Borontag

Von Gruppierung auf Gruppierung

  • Untergruppierung von

Von Lehen/Ort auf Lehen/Ort

  • Vasallenlehen von
  • abgeleitete Kategorien
  • Windrose

Von Briefspielindex auf Briefspielindex

  • Vorgänger
  • Reihe
  • Nachfolger

Von Briefspielindex auf Person

  • Hauptdarsteller ist
  • Nebendarsteller ist
  • Briefspieltext mit

Von Briefspielindex auf Lehen/Ort

  • Handlungsort ist
  • Ortsnennung ist

Von Briefspielindex auf Familie/Gruppierung

  • Hauptakteure sind
  • Nebenakteure sind
  • Akteursnennung ist

Abfragen

Person

  • Aufenthaltsort und dessen Hegemonen und deren Wappen
  • Beherrschte Lehen/Orte/Familien/Gruppierungen, deren Wappen und Wappentexte
  • Herrscher Zeitleisten mit Vorgänger und Nachfolger
  • Zugehörigkeit zu Familien, deren Wappen und Wappentexte
  • Zugehörigkeit zu Gruppierungen, deren Wappen und Wappentexte
  • TODO: Kinder
  • TODO: Bastarde
  • TODO: Pagen
  • TODO: Knappen

Familie

  • TODO: Familienoberhaupt
  • TODO: Familienmitglieder

Gruppierung

  • TODO: Oberhaupt
  • TODO: Mitglieder

Lehen/Ort

  • Hegemonen und deren Wappen
  • Vasallen und deren Wappen
  • Bedeutende Personen
  • Bedeutende Bauwerke
  • TODO: Flüsse

Briefspielindex

  • Weitere Text der Reihe
  • Vorgänger
  • Nachfolger

Chronik

(keine)

Fluss

(keine)

Abfragen außerhalb der Datenobjekte

  • Hochadel
  • Stadtübersichten