MitgliedBei

aus GenWiki, dem genealogischen Lexikon zum Mitmachen.
Zur Navigation springen Zur Suche springen

MitgliedBei - Vorschlag zur Semantifizierung

Ausgangslage

Die Vorlage:MitgliedBei ermöglicht es GenWiki-Benutzern, ihre Vereinsmitgliedschaften auf der Benutzerseite anzuzeigen. Die technische Umsetzung beruht auf zwei Vorlagen:

  • Vorlage:MitgliedBei - Rahmenvorlage, die über #fornumargs beliebig viele Vereinskürzel entgegennimmt
  • Vorlage:MitgliedBeiEinem - Hilfsvorlage mit einem großen #switch-Block, der aktuell 56 Vereinskürzel auf Name, GenWiki-Artikellink und Logo-Datei abbildet

Probleme des Ist-Zustands

  1. Daten sind in Wikitext hart kodiert: Vereinsname, Kürzel, Logo und Artikellink stehen direkt im #switch. Änderungen (z.B. neuer Vereinsname, neues Logo) erfordern Vorlagen-Edits durch Admins.
  2. Keine strukturierten Daten: Die Vereinsinformationen sind nicht abfragbar. Es gibt keine Möglichkeit, z.B. alle Vereine mit Homepage oder alle Vereine einer Region aufzulisten.
  3. Redundanz: Dieselben Informationen (Name, Logo, Link) stehen sowohl in der Vorlage als auch auf dem Portal:Vereine und Interessensgruppen und den jeweiligen Vereinsartikeln (z.B. Verein für Computergenealogie e.V.).
  4. Erweiterung aufwändig: Für jeden neuen Verein müssen drei Stellen gepflegt werden: MitgliedBeiEinem, die Doku-Tabelle in MitgliedBei/Doku und die Kategorie-Seite.

Vorgeschlagene Lösung: InstitutionContext

Im Wiki contexts.bitplan.com existiert bereits ein InstitutionContext mit einem Topic Institution, das folgende Properties definiert:

Property Label Typ Beschreibung
name Name Text Der vollständige Name des Vereins oder der Institution
abbreviation Kürzel Text Das Vereinskürzel (z.B. CompGen, BLF, AMF)
logo Logo URL Die URL oder Dateiname des Logos
homepage Webseite URL Die Homepage-URL der Institution
email E-Mail Email Die Kontakt-E-Mail-Adresse
description Beschreibung Text Beschreibung des Zwecks und der Tätigkeiten

Vorteile

  1. Daten werden strukturiert gespeichert: Jeder Verein bekommt eine Seite mit dem Institution-Template. Name, Kürzel, Logo, Homepage usw. sind als SMW-Properties abfragbar.
  2. Zentrale Datenpflege: Vereinsdaten werden an einer Stelle gepflegt. Vorlage, Portal und Artikelseiten lesen aus derselben Quelle.
  3. Selbstbedienung: Neue Vereine können per Formular angelegt werden, ohne dass ein Admin die Vorlagen bearbeiten muss.
  4. Abfragen möglich: Vereinslisten, Statistiken und Übersichten können per #ask-Query dynamisch erzeugt werden.

Migrationsplan

Schritt 1: InstitutionContext im GenWiki deployen

Den InstitutionContext aus contexts.bitplan.com mit ypgen im GenWiki 1.39 deployen. Das erzeugt:

  • Concept:Institution
  • Template:Institution
  • Form:Institution
  • Die zugehörigen SMW-Properties

Schritt 2: Vereinsdaten migrieren

Für jeden der 56 Vereine aus dem #switch eine Institution-Seite anlegen. Beispiel für CompGen:

{{Institution
|name=Verein für Computergenealogie e.V.
|abbreviation=CompGen
|logo=File:logo_compgen_small.png
|homepage=https://compgen.de
|email=geschaeftsstelle@compgen.de
|description=Größter genealogischer Verein in Deutschland mit rund 4.200 Mitgliedern. Betreibt GenWiki, Genealogy.net und zahlreiche Datenbanken.
}}

Dies kann weitgehend automatisiert werden, da die Daten bereits im #switch und auf dem Portal strukturiert vorliegen.

Schritt 3: Vorlage umstellen

Die Vorlage:MitgliedBeiEinem wird vom #switch auf eine SMW-Query umgestellt. Statt:

| CompGen = [[Verein für Computergenealogie e.V.]]{{!!}} ... [[Image:logo_compgen_small.png|100x100px]]

wird die Vorlage per #show die Daten aus der Institution-Seite lesen:

{{#show: {{#ask: [[Concept:Institution]][[Institution abbreviation::{{{1}}}]] |mainlabel=- |?Institution name |limit=1}} | ?Institution name}}

Die genaue Umsetzung hängt von den SMW-Möglichkeiten im GenWiki 1.39 ab und muss getestet werden.

Schritt 4: Portal dynamisieren

Das Portal:Vereine und Interessensgruppen kann dann ebenfalls per #ask-Query erzeugt werden, statt manuell gepflegt zu werden:

{{#ask: [[Concept:Institution]]
|?Institution name = Name
|?Institution abbreviation = Kürzel
|?Institution logo = Logo
|?Institution homepage = Webseite
|format=table
|sort=Institution name
|limit=200
}}

Schritt 5: Kategorien beibehalten

Die bestehenden Kategorie:Mitglied bei XYZ-Kategorien bleiben erhalten. Die Vorlage MitgliedBei setzt weiterhin die Kategorie basierend auf dem Kürzel - das ändert sich nicht.

Offene Fragen

  1. SMW-Version im GenWiki 1.39: Welche SMW-Version ist installiert? Unterstützt sie #show und #ask mit Subqueries?
  2. Performance: 56 #show-Aufrufe pro Benutzerseite (bei Maximalnutzung) - ist das performant genug?
  3. GenWiki-Artikellink: Soll ein zusätzliches Property genwikiPage eingeführt werden, das auf den GenWiki-Artikel verlinkt (z.B. Verein für Computergenealogie e.V.)? Im aktuellen InstitutionContext fehlt dieses Property.
  4. Rückwärtskompatibilität: Bestehende Aufrufe {{MitgliedBei|CompGen|AMF}} müssen weiterhin funktionieren. Die Kürzel sind der Schlüssel.

Siehe auch