MitgliedBei
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
#fornumargsbeliebig 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
- 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. - 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.
- 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.).
- Erweiterung aufwändig: Für jeden neuen Verein müssen drei Stellen gepflegt werden:
MitgliedBeiEinem, die Doku-Tabelle inMitgliedBei/Dokuund 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 |
| Die Kontakt-E-Mail-Adresse | |||
| description | Beschreibung | Text | Beschreibung des Zwecks und der Tätigkeiten |
Vorteile
- Daten werden strukturiert gespeichert: Jeder Verein bekommt eine Seite mit dem
Institution-Template. Name, Kürzel, Logo, Homepage usw. sind als SMW-Properties abfragbar. - Zentrale Datenpflege: Vereinsdaten werden an einer Stelle gepflegt. Vorlage, Portal und Artikelseiten lesen aus derselben Quelle.
- Selbstbedienung: Neue Vereine können per Formular angelegt werden, ohne dass ein Admin die Vorlagen bearbeiten muss.
- 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:InstitutionTemplate:InstitutionForm: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
- SMW-Version im GenWiki 1.39: Welche SMW-Version ist installiert? Unterstützt sie
#showund#askmit Subqueries? - Performance: 56
#show-Aufrufe pro Benutzerseite (bei Maximalnutzung) - ist das performant genug? - GenWiki-Artikellink: Soll ein zusätzliches Property
genwikiPageeingeführt werden, das auf den GenWiki-Artikel verlinkt (z.B.Verein für Computergenealogie e.V.)? Im aktuellen InstitutionContext fehlt dieses Property. - Rückwärtskompatibilität: Bestehende Aufrufe
{{MitgliedBei|CompGen|AMF}}müssen weiterhin funktionieren. Die Kürzel sind der Schlüssel.
Siehe auch
- Vorlage:MitgliedBei - Aktuelle Vorlage
- Vorlage:MitgliedBeiEinem - Hilfsvorlage mit Switch-Block
- Kategorie:Mitgliederübersicht - Kategorien der Vereinsmitglieder
- Portal:Vereine und Interessensgruppen - Vereinsportal
- InstitutionContext auf contexts.bitplan.com