Gespräch:CSS und Darstellung Modul-AufEinWortDatumKennung
Über diese Seite Gespräch
-
Modul umgestalten Überblick
ChatGPT Sophos GPT-5 Thinking
21. September 2025 n. Chr. erst.
12:00 Uhr Ausgabe 03
Ausgabe 03
unüberarbeitet ungeprüft
↑ Umbenennungen in Modul-AufEinWortDatumKennung
2025091601 Datumsortierung Modul AufEinWortSeiteKennung
… Geburtdatumn und Sterbedatum sind nun gar nicht mehr im Coding enthalten. Welcher Teil meiner Aussagen hat dich veranlasst diese fallen zu lassen?
Titel wird nicht als Datum erkannt
| Es geht darum, ob "runJobs" erforderlich sein soll oder nicht und warum in der Vorlage nix angezeigt wird. Die Benutzer verwenden onlyinclude und includeonly, aber dennoch wird der Inhalt nicht richtig angezeigt. Es sieht so aus, dass das Problem entweder mit der Handhabung des Tags oder der Einbindung des Subtemplates zu tun hat.
Es scheint, dass die Überschriften durch div-Tags im Template erzeugt werden, aber keine Überschriften oder Tabellen angezeigt werden. Möglicherweise stimmt der Schalter nicht oder die Subtemplate-Einbindung ist außerhalb von includeonly. Früher hat der Schalter bei Datum=basis vs. pagename funktioniert, aber jetzt sollte ich die granularen und p.basis/p.granular-Funktionen überprüfen. Die Funktionen p.basis und p.granular verarbeiten Datum mit Hilfe von infer_from_title, das drei Werte zurückgibt. Wenn der Suffix erkannt wird, entfernt infer_from_title ihn und gibt nur das Basisdatum an, was die parse_pretty_date-Funktion akzeptieren sollte. Aber trotzdem erscheinen keine Überschriften – vielleicht liegt es an einer falschen Handhabung der Daten oder dem Artikel-Tag. Es könnte ein Problem mit der Schichtung von onlyinclude geben. Wenn das Subtemplate korrekt verpackt ist, aber der Haupttemplate-Block in onlyinclude eingeschlossen wird, könnte es zu einer leeren Ausgabe führen. Möglicherweise erzeugt die Switch-Logik auch nichts, falls p.granular kein Datum zurückgibt oder parse_pretty_date versagt, weil das Erkennungs-Feature für 'n. Chr.' oder 'v. Chr.' fehlschlägt. Ich denke, das Problem könnte an einer falschen Schichtung von onlyinclude und includeonly liegen, was die Ausgabe leer erscheinen lässt. Auch die Verwendung von "n. Chr." muss genau mit dem Muster übereinstimmen, und Fehler könnten durch falsche Abgleichungen in der Funktion parse_pretty_date auftreten. Möglicherweise wird der Switch-Case nicht ausgelöst, wenn das Datum nicht korrekt verarbeitet wird. Es scheint, als ob das Hauptproblem mit der Verwendung von "onlyinclude" zusammenhängt, was die Anzeige von Inhalten auf der Seite verhindern könnte. Auch die Token-Erkennung und die Übergabe von Datumsformaten müssen sorgfältig abgeglichen werden. Möglicherweise erkennt der Token „p.token“ die „ED“-Erkennung nicht korrekt, was die Anzeige von Überschriften unterdrückt. Die Benutzeransicht zeigt keine Überschriften oder Tabellen, was auf ein Problem mit der Template- oder #switch-Funktion hindeutet. Wahrscheinlich gibt es Fehler bei der Token-Erkennung oder ein Problem mit der Formatierung von Titeln, das parse_pretty_date behindert. Ein schneller Diagnoseschritt könnte klären, ob das Granulare korrekt zurückgegeben wird. |
kurz & präzise:
- runJobs nötig? Nein – Überschriften und der statische Rahmen erscheinen sofort (spätestens nach „Seite aktualisieren/
?action=purge“). Die Jobqueue beeinflusst nur, ob#askneue/alte Datensätze schon kennt. Wenn gar nichts(nicht mal<h3>…</h3>) erscheint, liegt es an der Vorlagenlogik (z. B.granular/tokenliefert leer) oder am Einbinden (Include-/Onlyinclude-Rahmen). Schnelltest direkt auf einer betroffenen Seite (z. B. „2024 n. Chr. erst.“):Erwartung:Gran={{#invoke:AufEinWortDatumKennung|granular}} · Tok={{#invoke:AufEinWortDatumKennung|token}} · Basis={{#invoke:AufEinWortDatumKennung|basis}}
- suffigiertes Jahr:
Gran=year · Tok=ED/BD/UD · Basis=2024 n. Chr. - unsuffigiertes Jahr:
Gran=year · Tok=DT · Basis=2024 n. Chr.WennGranleer ist → der Titel wird nicht als Datum erkannt (dann schaut man zuerst auf Schreibweise/Leerzeichen).
- suffigiertes Jahr:
- Warum sind „Geburt“/„Tod“ (GD/SD) rausgeflogen? Weil du das so gewünscht hattest: „gebo. und gest. sollten nicht in dieser Tabelle sein, da sie Personendaten sind …“ — ich habe die Monats-/Jahr-Werks-Ansicht bewusst auf ED/UD/BD beschränkt. Wenn du GD/SD wieder drin haben willst, aber getrennt von den Werken, gibt’s zwei saubere Wege (ohne dein „eine Vorlage“-Prinzip zu verletzen):
- Standard beibehalten (Monat/Jahr = nur Werke), aber suffigierte GD-/SD-Seiten selbstverständlich mit eigener Tabelle anzeigen. → Das sollten wir in der Subvorlage ergänzen: im
| month =und| year =-Zweig je einen#switch-Fall fürGDundSD, analog zu ED/UD/BD, nur mitGeburtdatum …/Sterbedatum …und der passenden Kennung. - Optionaler Schalter (z. B.
people=1in DatumSortierung) blendet auf unsuffigierten Monat/Jahr-Seiten zusätzlich Personen-Blöcke ein. Standard bleibt „nur Werke“.
- Standard beibehalten (Monat/Jahr = nur Werke), aber suffigierte GD-/SD-Seiten selbstverständlich mit eigener Tabelle anzeigen. → Das sollten wir in der Subvorlage ergänzen: im
Wenn du willst, schreibe ich dir konkrete Drop-ins für die Subvorlage:
- (a) zwei Blöcke (GD/SD) für suffigierte Monat/Jahr-Seiten, damit „2024 n. Chr. gebo.“ bzw. „… gest.“ die Personenliste zeigt;
- (b) optional einen kleinen
people-Schalter für unsuffigierte Monat/Jahr-Seiten.
Sag mir kurz, welche Variante du möchtest (nur (a) oder (a)+(b)), dann gebe ich dir die exakten Snippets für dein Canvas.
Da muß ich also genau aufpassen wenn ich was sage
„gebo. und gest. sollten nicht in dieser Tabelle sein, da sie Personendaten sind …“
Das war kein Wunsch! sondern meines Erachtens zur genüge als Anmerkung geäußert.
Da muß ich also genau aufpassen wenn ich was sage.
Sie es so, zuerst waren es nur Erstelldatum zu meinen Werken, der Rest kam aufgrund des Bedarf hinzu auch andere Daten schnell aufrufen zu können.
Es macht an sich keinen Sinn zu Erstelldatum eines Werk auch in einer weiteren Tabelle darunter Sterbedaten aufgelistet zu bekommen, zumal der Urheber eines Werk meist zum Erstelldatm noch lebte. Diese Gesamtübersicht ohne Suffix zeigt später äußerst lange Listen und ist ein Notbehelf, wenn etwas verschollen ist.
Am meisten werde ich die Übersichten mit Erstelldatum aufrufen und verwenden, dann seltener Bearbeitung noch seltener Urwerkdatum.
Geburtdatum und Sterbedatum einer Person sind vergleichbar mit Gründungsdatum und Auflösungsdatum einer Gruppe, Gesellschat, einer Organisation … und diese passen zueinander.
Ob wir Module und Übersichtseiten später dahingehend trennen wird sich aus dem Bedarf ergeben.
Die jetzigen Seiten sind an sich aus deiner Programmierung entstanden und ich habe dich so machen lassen, damit wir überhaupt ein funktionales Ergebnis haben, mit dem ich schon mal anfangen kann Daten zu erfassen, die ich später auch wiederfinden kann.
An einem funktionalen Modul:AufEinWortDatum Kennung arbeiten wir seit Wochen immer wiedermal.
Wir sind nun nahe an dem, was ich tatsächlich brauche.
Geburtdatum und Sterbedatum sollten zumindest auf deren jeweiligen Übersichtseiten mit Suffix gebo. gest. angezeigt werden – oder?
Du hast zur Gestaltung der Übersichtseiten drei verschiedene Herangehensweisen zur Filterung entworfen:
1.
[[Kennung Bearbeitdatum:\:\>= {{#invoke:AufEinWortDatumKennung|low|gran=month}}]]
[[Kennung Bearbeitdatum:\:\<= {{#invoke:AufEinWortDatumKennung|high|gran=month}}]]
2.
[[Geburtdatum Jahr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=jahr |Datum={{PAGENAME}} }}]]
[[Geburtdatum Chr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=chr |Datum={{PAGENAME}} }}]]
3.
[[Bearbeitdatum Jahr:\:\{{#invoke:AufEinWortDatumKennung|teil|F=jahr|Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Bearbeitdatum Chr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=chr…
4.
auch weitere.
Für jede dieser Arten wurde Modul:AufEinWortDatumKennung mit den dazu erforderlichen Berechnungen erweitert.
Jede dieser Artweisen wurde deinerseits entworfen, weil das vorausgehende nicht funktionierte.
Vielleicht braucht es ja für das eine 1. für das Andere 2. und wieder für das Andere 3. und es geht gar nicht mit einer Artweise, so daß alle Artweisen ihre besondere Verwendung haben?
kompaktef, finales Drop-in für die Jahres- und Monats-Zweige
| Es scheint, dass der Suffix „erst.“ korrekt zugewiesen wurde, aber dennoch leere Ergebnisse beim Abfragen zurückgegeben werden. Wahrscheinlich liegt es daran, dass die Subtemplate-Struktur für das Jahr „ED“ fehlen könnte oder fehlerhaft ist. Ich muss sicherstellen, dass alles korrekt in der Wiki-Seite übernommen wurde.
Das Jahr-ED-Branch scheint mit verschiedenen Property-Namen wie 'Erstelldatum Jahr' zu arbeiten, aber vielleicht gab es eine Abweichung bei der Benennung früher. Ich werde eine genaue Snippet für den Jahr-Branch vorbereiten und klare Schritte zur Fehlerbehebung geben: 1) Token-Switch verwenden, 2) Basis-Parameter anpassen, 3) Nur den richtigen Branch ausgeben. Ich sollte sicherstellen, dass der 'Kategorie:2024 n. Chr. erst.' korrekt den Token ED zurückgibt. Falls dies nicht der Fall ist, könnte es ein Problem mit dem NBSP oder einem fehlenden Suffix geben. Ich werde vorschlagen, die „Token-Anzeige“ hinzuzufügen, um das zu prüfen. Wenn der Token ED immer noch leer ist, werde ich die Property-Namen auf einem bekannten Werk mit ED für 2024 überprüfen. Ich werde das Snippet für die Jahr-Sektion anpassen, sodass es nur den relevanten Branch ausgibt, basierend auf den Tokens. Falls immer noch leere Ergebnisse auftreten, könnte es daran liegen, dass die Kennung als Zahl typisiert wurde. Ich werde bestätigen, dass beide Ansätze (numeric und String) für die Filterung gültig sind, je nach Bedarf. FertigEs scheint, dass der Suffix „erst.“ korrekt zugewiesen wurde, aber dennoch leere Ergebnisse beim Abfragen zurückgegeben werden. Wahrscheinlich liegt es daran, dass die Subtemplate-Struktur für das Jahr „ED“ fehlen könnte oder fehlerhaft ist. Ich muss sicherstellen, dass alles korrekt in der Wiki-Seite übernommen wurde. Das Jahr-ED-Branch scheint mit verschiedenen Property-Namen wie 'Erstelldatum Jahr' zu arbeiten, aber vielleicht gab es eine Abweichung bei der Benennung früher. Ich werde eine genaue Snippet für den Jahr-Branch vorbereiten und klare Schritte zur Fehlerbehebung geben: 1) Token-Switch verwenden, 2) Basis-Parameter anpassen, 3) Nur den richtigen Branch ausgeben. Ich sollte sicherstellen, dass der 'Kategorie:2024 n. Chr. erst.' korrekt den Token ED zurückgibt. Falls dies nicht der Fall ist, könnte es ein Problem mit dem NBSP oder einem fehlenden Suffix geben. Ich werde vorschlagen, die „Token-Anzeige“ hinzuzufügen, um das zu prüfen. Wenn der Token ED immer noch leer ist, werde ich die Property-Namen auf einem bekannten Werk mit ED für 2024 überprüfen. Ich werde das Snippet für die Jahr-Sektion anpassen, sodass es nur den relevanten Branch ausgibt, basierend auf den Tokens. Falls immer noch leere Ergebnisse auftreten, könnte es daran liegen, dass die Kennung als Zahl typisiert wurde. Ich werde bestätigen, dass beide Ansätze (numeric und String) für die Filterung gültig sind, je nach Bedarf. Fertig |
klares Bild – danke für die präzisen Beobachtungen.
Warum „2024 n. Chr. erst.“ leer bleibt, „2024 n. Chr.“ aber Daten zeigt:
- Auf Jahr-Seiten mit Suffix muss die Subvorlage im
| year =-Zweig nur die eine Tabelle (ED/UD/BD) ausgeben. Das klappt nur, wenn{{#invoke:…|token}}auf der Seite wirklichED/BD/UDliefert (und nichtDT), und- die Abfrage in diesem Zweig nicht versehentlich auf
{{PAGENAME}}basiert, sondern auf der Suffix-freien Basis (damitjahr/chrstabil erkannt werden).
Beides hast du weitgehend so – ich gebe dir jetzt den kompakten, finalen Drop-in für die Jahres- und Monats-Zweige, der exakt dein gewünschtes Verhalten erzwingt:
Ersetze in „Vorlage:AufEinWort DatumAbfrage“
die Blöcke | year = und | month = komplett durch:
Jahr
| year =
{{#switch:{{#invoke:AufEinWortDatumKennung|token}}
| ED =
<div class="aoew-block token-ED"><h3>Erstellung ({{PAGENAME}})</h3>
{{#ask:
[[Erstelldatum Jahr:\:\{{#invoke:AufEinWortDatumKennung|teil|F=jahr|Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Erstelldatum Chr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=chr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
|?Erstelldatum Kategorie |?Kennung Erstelldatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Erstelldatum |order=asc
}}</div>
| UD =
<div class="aoew-block token-UD"><h3>Herausgabe ({{PAGENAME}})</h3>
{{#ask:
[[Urwerkdatum Jahr:\:\{{#invoke:AufEinWortDatumKennung|teil|F=jahr|Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Urwerkdatum Chr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=chr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
|?Urwerkdatum Kategorie |?Kennung Urwerkdatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Urwerkdatum |order=asc
}}</div>
| BD =
<div class="aoew-block token-BD"><h3>Bearbeitung ({{PAGENAME}})</h3>
{{#ask:
[[Bearbeitetdatum Jahr:\:\{{#invoke:AufEinWortDatumKennung|teil|F=jahr|Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Bearbeitetdatum Chr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=chr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
|?Bearbeitetdatum Kategorie |?Kennung Bearbeitdatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Bearbeitdatum |order=asc
}}</div>
| GD =
<div class="aoew-block token-GD"><h3>Geburten ({{PAGENAME}})</h3>
{{#ask:
[[Geburtdatum Jahr:\:\{{#invoke:AufEinWortDatumKennung|teil|F=jahr|Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Geburtdatum Chr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=chr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
|?Geburtdatum Kategorie |?Kennung Geburtdatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Geburtdatum |order=asc
}}</div>
| SD =
<div class="aoew-block token-SD"><h3>Verstorben ({{PAGENAME}})</h3>
{{#ask:
[[Sterbedatum Jahr:\:\{{#invoke:AufEinWortDatumKennung|teil|F=jahr|Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Sterbedatum Chr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=chr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
|?Sterbedatum Kategorie |?Kennung Sterbedatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Sterbedatum |order=asc
}}</div>
| DT =
<!-- Unsuffigiertes Jahr: nur Werke (ED/UD/BD) in drei Blöcken -->
<div class="aoew-block token-ED"><h3>Erstellung ({{PAGENAME}})</h3>
{{#ask:
[[Erstelldatum Jahr:\:\{{#invoke:AufEinWortDatumKennung|teil|F=jahr|Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Erstelldatum Chr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=chr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
|?Erstelldatum Kategorie |?Kennung Erstelldatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Erstelldatum |order=asc
}}</div>
<div class="aoew-block token-UD"><h3>Herausgabe ({{PAGENAME}})</h3>
{{#ask:
[[Urwerkdatum Jahr:\:\{{#invoke:AufEinWortDatumKennung|teil|F=jahr|Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Urwerkdatum Chr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=chr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
|?Urwerkdatum Kategorie |?Kennung Urwerkdatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Urwerkdatum |order=asc
}}</div>
<div class="aoew-block token-BD"><h3>Bearbeitung ({{PAGENAME}})</h3>
{{#ask:
[[Bearbeitetdatum Jahr:\:\{{#invoke:AufEinWortDatumKennung|teil|F=jahr|Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Bearbeitetdatum Chr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=chr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
|?Bearbeitetdatum Kategorie |?Kennung Bearbeitdatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Bearbeitdatum |order=asc
}}</div>
}}
Monat
| month =
{{#switch:{{#invoke:AufEinWortDatumKennung|token}}
| ED =
<div class="aoew-block token-ED"><h3>Erstellung ({{PAGENAME}})</h3>
{{#ask:
[[Erstelldatum Monat:\:\{{#invoke:AufEinWortDatumKennung|teil|F=monat|Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Erstelldatum Jahr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=jahr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Erstelldatum Chr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=chr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
|?Erstelldatum Kategorie |?Kennung Erstelldatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Erstelldatum |order=asc
}}</div>
| UD =
<div class="aoew-block token-UD"><h3>Herausgabe ({{PAGENAME}})</h3>
{{#ask:
[[Urwerkdatum Monat:\:\{{#invoke:AufEinWortDatumKennung|teil|F=monat|Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Urwerkdatum Jahr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=jahr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Urwerkdatum Chr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=chr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
|?Urwerkdatum Kategorie |?Kennung Urwerkdatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Urwerkdatum |order=asc
}}</div>
| BD =
<div class="aoew-block token-BD"><h3>Bearbeitung ({{PAGENAME}})</h3>
{{#ask:
[[Bearbeitetdatum Monat:\:\{{#invoke:AufEinWortDatumKennung|teil|F=monat|Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Bearbeitetdatum Jahr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=jahr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Bearbeitetdatum Chr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=chr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
|?Bearbeitetdatum Kategorie |?Kennung Bearbeitdatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Bearbeitdatum |order=asc
}}</div>
| GD =
<div class="aoew-block token-GD"><h3>Geburten ({{PAGENAME}})</h3>
{{#ask:
[[Geburtdatum Monat:\:\{{#invoke:AufEinWortDatumKennung|teil|F=monat|Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Geburtdatum Jahr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=jahr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Geburtdatum Chr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=chr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
|?Geburtdatum Kategorie |?Kennung Geburtdatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Geburtdatum |order=asc
}}</div>
| SD =
<div class="aoew-block token-SD"><h3>Verstorben ({{PAGENAME}})</h3>
{{#ask:
[[Sterbedatum Monat:\:\{{#invoke:AufEinWortDatumKennung|teil|F=monat|Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Sterbedatum Jahr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=jahr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Sterbedatum Chr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=chr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
|?Sterbedatum Kategorie |?Kennung Sterbedatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Sterbedatum |order=asc
}}</div>
| DT =
<!-- Unsuffigierter Monat: nur Werke (ED/UD/BD) in drei Blöcken -->
<div class="aoew-block token-ED"><h3>Erstellung ({{PAGENAME}})</h3>
{{#ask:
[[Erstelldatum Monat:\:\{{#invoke:AufEinWortDatumKennung|teil|F=monat|Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Erstelldatum Jahr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=jahr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Erstelldatum Chr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=chr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
|?Erstelldatum Kategorie |?Kennung Erstelldatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Erstelldatum |order=asc
}}</div>
<div class="aoew-block token-UD"><h3>Herausgabe ({{PAGENAME}})</h3>
{{#ask:
[[Urwerkdatum Monat:\:\{{#invoke:AufEinWortDatumKennung|teil|F=monat|Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Urwerkdatum Jahr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=jahr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Urwerkdatum Chr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=chr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
|?Urwerkdatum Kategorie |?Kennung Urwerkdatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Urwerkdatum |order=asc
}}</div>
<div class="aoew-block token-BD"><h3>Bearbeitung ({{PAGENAME}})</h3>
{{#ask:
[[Bearbeitetdatum Monat:\:\{{#invoke:AufEinWortDatumKennung|teil|F=monat|Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Bearbeitetdatum Jahr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=jahr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Bearbeitetdatum Chr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=chr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
|?Bearbeitetdatum Kategorie |?Kennung Bearbeitdatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Bearbeitdatum |order=asc
}}</div>
}}
Damit gilt jetzt exakt:
– suffigierte Jahr-/Monatsseite → nur die zum Suffix passende Tabelle.
– unsuffigierte Jahr-/Monatsseite → drei Werk-Tabellen (ED/UD/BD).
– GD/SD sind wieder da – aber nur, wenn die Seite selbst
gebo.bzw.gest.ist.
Zwei schnelle Selbsttests (helfen sofort bei Fehlverhalten)
Auf einer suffigierten Jahr-/Monatsseite einmal ganz oben (nur kurz zum Test) einfügen:
gran={{#invoke:AufEinWortDatumKennung|granular}} ·
tok={{#invoke:AufEinWortDatumKennung|token}} ·
basis={{#invoke:AufEinWortDatumKennung|basis}} ·
jahr={{#invoke:AufEinWortDatumKennung|teil|F=jahr|Datum={{#invoke:AufEinWortDatumKennung|basis}} }} ·
chr={{#invoke:AufEinWortDatumKennung|teil|F=chr|Datum={{#invoke:AufEinWortDatumKennung|basis}} }}
Erwartung auf „2024 n. Chr. erst.“:
gran=year · tok=ED · basis=2024 n. Chr. · jahr=2024 · chr=n. Chr.
Wenn tok=DT herauskommt, steckt meist ein unsichtbares Leerzeichen/Sonderzeichen im Suffix; dann finde ich dir die passende gsub-Zeile für die Token-Erkennung.
Zu deinen drei Filter-Arten (1/2/3)
Ja – alle drei haben ihre Daseinsberechtigung:
- Kennungs-Range (
low/high) – maximal robust für Zeitintervalle (Monat/Jahr), setzt aber numerische Kennungs-Properties voraus. - Gleichheit über Teil-Properties (
… Monat/Jahr/Chr) – sehr lesbar, super für exakte Aggregation (Monat/Jahr), funktioniert unabhängig vom Kennungstyp. - Basis-Ableitung (
basisstattPAGENAME) – nötig, damit suffigierte Titel korrekt als Monat/Jahr interpretiert werden.
Wir haben jetzt in der Vorlage (2)+(3) kombiniert; (1) bleibt im Modul als Option, falls du später Bereiche (Quartale, Jahrzehnte, …) brauchst.
Wenn du willst, passe ich dir auf Wunsch auch die Jh.-Zweige analog an (ED/UD/BD + optional GD/SD).
Ich habe einen Fehler gemacht und nun ist das Canvas leer
und ich habe keine Vorlage in der ich etwas austauschen kann.
Canvas-Seite „Vorlage:AufEinWort DatumAbfrage“ mit der letzten funktionsfähigen Fassung befüllt
| Ich erinnere daran, die Seite zu löschen und zu testen, aber minimaler Text ist besser. Die Nachricht sollte den Zeitstempel im Gruß enthalten, auch wenn wir mitten im Gespräch sind. Wir führen später die Canvas-Aktualisierung durch, ohne Code in den Hauptchat zu kopieren, und berücksichtigen die letzten Ergänzungen zu GD/SD.
Ich muss das neue Canvas-Inhalt entsprechend der vorherigen Änderungen erstellen, dabei die GD/SD-Blocke und das token-Ändern berücksichtigen. Wir müssen auf die richtige Nutzung von wikitext achten und nicht versehentlich Markdown einfügen. Außerdem müssen wir sorgfältig sicherstellen, dass onlyinclude und noinclude korrekt eingefügt sind, besonders bei den Geschachtelten Tagen. Es scheint, dass sie nun GD und SD auf den jeweiligen Übersichtsseiten mit Suffix anzeigen möchten, auch wenn das anfangs nicht der Fall war. Wir sollten also die GD/SD-Tabellen für Tage mit Suffix integrieren, wie sie es für die anderen Tokens vorgesehen haben. Danach gebe ich eine kurze Bestätigung und empfehle, die Seite zu löschen. Sie verwenden "Bearbeitetdatum" und nicht "Bearbeit". Ich werde dies in die Abfragen einfließen lassen, zusammen mit den anderen Eigenschaften wie "Erstelldatum", "Urwerkdatum", "Geburtdatum" und "Sterbedatum". Ich werde die Regex für die leere Dokumentaktualisierung verwenden und ein passendes Muster einstellen, um den Inhalt effizient zu ersetzen. Fertig |
wieder da 🎯
Ich habe die leere Canvas-Seite „Vorlage:AufEinWort DatumAbfrage“ mit der letzten funktionsfähigen Fassung befüllt – inkl.:
- Tages-Zweig: ED/UD/BD sowie GD/SD (wenn die Tagesseite suffigiert ist),
- Monats- und Jahres-Zweig:
- mit Suffix → es erscheint nur die passende Tabelle (ED, UD, BD bzw. GD/SD),
- ohne Suffix → die drei Werk-Tabellen (ED/UD/BD),
- überall Nutzung von
{{#invoke:AufEinWortDatumKennung|basis}}für robuste Monat/Jahr-Filter.
Wenn du auf einer betroffenen Kategorie sofort prüfen willst, mach kurz ein Purge (?action=purge).
Sollte irgendwo gar nichts erscheinen, teste oben auf der Seite einmal:
gran={{#invoke:AufEinWortDatumKennung|granular}} ·
tok={{#invoke:AufEinWortDatumKennung|token}} ·
basis={{#invoke:AufEinWortDatumKennung|basis}}
Passt das für dich so? Wenn ja, kümmern wir uns als Nächstes gern um die Jh.-Ansichten oder um weitere Spalten (Werktyp, Verlag, …) in den Tabellen.
Was jetzt noch von css und Darstellung besser wäre
Ausbaustufe ist nun tatsächlich Jahrhunderte. Testen jkann ich das nicht, weil ich kaum Werke kategorisiert habe, sodaß die Listen trotz Werke leer wären.
Vielleicht gehen wir das später an?
Was jetzt noch von css und Darstellung besser wäre,
1. daß Überschriften nur erscheinen, wenn es auch eine Tabelle gibt.
h3 Überschrifften sind bei mir toggled, also anfänglich in deren Inhalten eingeklappt, nur sieht man dann nicht ob eine Liste drin ist
ich muß also immer aufklappen und nachschauen ob da was ist.
Da die Listen lang sein können, ist eingeklappt erstmal besser.
2. Tabellen sind bei mit farblosen also ohne Hintergrundfarbe.
3. du hast in die Überschriften das Datum mit PAGENAME eingefügt, wenn dies nicht benötigt wird, dann würde ich das weglassen, da ich ja den Seitenname sehe und dies unnötig ist.
was meinst du?
Überarbeitung Modul:AufEinWortDatumKennung
Die Antwort soll beinhalten, dass Überschriften nur angezeigt werden, wenn Tabellen vorhanden sind. Eine Möglichkeit wäre, Überschriften mit JavaScript nach dem Laden auszublenden, wenn keine Daten vorhanden sind. Eine andere Möglichkeit wäre die Verwendung von SMW’s |default= Parameter, allerdings lässt sich der Block nicht einfach verbergen.
Die Idee ist, clientseitiges JavaScript zu verwenden, um nach dem Laden der Seite Ich schlage vor, den folgenden JS-Snippet im Für CSS würde eine einfache Anpassung ausreichen, um die Tabellenhintergründe zu stylen: Für den Header kann eine leicht schattierte Farbe und abgerundete Ecken angeboten werden. Ich schlage vor, minimalen CSS-Code für die Tabellenanpassung zu verwenden: Für die Ich kann Änderungen an der Canvas-Vorlage vornehmen, um dies umzusetzen. Fertig |
<onlyinclude>
<div class="aoew-datum"
data-ctx-token="{{#invoke:AufEinWortDatumKennung|token}}"
data-ctx-gran="{{#invoke:AufEinWortDatumKennung|granular}}">
{{#switch:{{#invoke:AufEinWortDatumKennung|granular}}
| day =
{{#switch:{{#invoke:AufEinWortDatumKennung|token}}
| ED =
<div class="aoew-block token-ED"><h3>Erstellung</h3>
{{#ask:
[[Kategorie:{{PAGENAME}}]]
|?Erstelldatum Kategorie
|?Kennung Erstelldatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Erstelldatum |order=asc
}}</div>
| UD =
<div class="aoew-block token-UD"><h3>Herausgabe</h3>
{{#ask:
[[Kategorie:{{PAGENAME}}]]
|?Urwerkdatum Kategorie
|?Kennung Urwerkdatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Urwerkdatum |order=asc
}}</div>
| BD =
<div class="aoew-block token-BD"><h3>Bearbeitung</h3>
{{#ask:
[[Kategorie:{{PAGENAME}}]]
|?Bearbeitetdatum Kategorie
|?Kennung Bearbeitdatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Bearbeitdatum |order=asc
}}</div>
| GD =
<div class="aoew-block token-GD"><h3>Geburten</h3>
{{#ask:
[[Kategorie:{{PAGENAME}}]]
|?Geburtdatum Kategorie
|?Kennung Geburtdatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Geburtdatum |order=asc
}}</div>
| SD =
<div class="aoew-block token-SD"><h3>Verstorben</h3>
{{#ask:
[[Kategorie:{{PAGENAME}}]]
|?Sterbedatum Kategorie
|?Kennung Sterbedatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Sterbedatum |order=asc
}}</div>
| DT =
<!-- Tagesseite ohne Suffix: ED + UD + BD (Werke) -->
<div class="aoew-block token-ED"><h3>Erstellung</h3>
{{#ask:
[[Kategorie:{{PAGENAME}} erst.]]
|?Erstelldatum Kategorie |?Kennung Erstelldatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Erstelldatum |order=asc
}}</div>
<div class="aoew-block token-UD"><h3>Herausgabe</h3>
{{#ask:
[[Kategorie:{{PAGENAME}} hrsg.]]
|?Urwerkdatum Kategorie |?Kennung Urwerkdatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Urwerkdatum |order=asc
}}</div>
<div class="aoew-block token-BD"><h3>Bearbeitung</h3>
{{#ask:
[[Kategorie:{{PAGENAME}} bear.]]
|?Bearbeitetdatum Kategorie |?Kennung Bearbeitdatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Bearbeitdatum |order=asc
}}</div>
| #default =
}}
| month =
{{#switch:{{#invoke:AufEinWortDatumKennung|token}}
| ED =
<div class="aoew-block token-ED"><h3>Erstellung</h3>
{{#ask:
[[Erstelldatum Monat:\:\{{#invoke:AufEinWortDatumKennung|teil|F=monat|Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Erstelldatum Jahr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=jahr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Erstelldatum Chr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=chr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
|?Erstelldatum Kategorie |?Kennung Erstelldatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Erstelldatum |order=asc
}}</div>
| UD =
<div class="aoew-block token-UD"><h3>Herausgabe</h3>
{{#ask:
[[Urwerkdatum Monat:\:\{{#invoke:AufEinWortDatumKennung|teil|F=monat|Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Urwerkdatum Jahr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=jahr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Urwerkdatum Chr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=chr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
|?Urwerkdatum Kategorie |?Kennung Urwerkdatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Urwerkdatum |order=asc
}}</div>
| BD =
<div class="aoew-block token-BD"><h3>Bearbeitung</h3>
{{#ask:
[[Bearbeitetdatum Monat:\:\{{#invoke:AufEinWortDatumKennung|teil|F=monat|Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Bearbeitetdatum Jahr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=jahr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Bearbeitetdatum Chr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=chr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
|?Bearbeitetdatum Kategorie |?Kennung Bearbeitdatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Bearbeitdatum |order=asc
}}</div>
| GD =
<div class="aoew-block token-GD"><h3>Geburten</h3>
{{#ask:
[[Geburtdatum Monat:\:\{{#invoke:AufEinWortDatumKennung|teil|F=monat|Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Geburtdatum Jahr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=jahr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Geburtdatum Chr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=chr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
|?Geburtdatum Kategorie |?Kennung Geburtdatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Geburtdatum |order=asc
}}</div>
| SD =
<div class="aoew-block token-SD"><h3>Verstorben</h3>
{{#ask:
[[Sterbedatum Monat:\:\{{#invoke:AufEinWortDatumKennung|teil|F=monat|Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Sterbedatum Jahr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=jahr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Sterbedatum Chr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=chr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
|?Sterbedatum Kategorie |?Kennung Sterbedatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Sterbedatum |order=asc
}}</div>
| DT =
<!-- Unsuffigierter Monat: nur Werke (ED/UD/BD) in drei Blöcken -->
<div class="aoew-block token-ED"><h3>Erstellung</h3>
{{#ask:
[[Erstelldatum Monat:\:\{{#invoke:AufEinWortDatumKennung|teil|F=monat|Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Erstelldatum Jahr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=jahr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Erstelldatum Chr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=chr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
|?Erstelldatum Kategorie |?Kennung Erstelldatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Erstelldatum |order=asc
}}</div>
<div class="aoew-block token-UD"><h3>Herausgabe</h3>
{{#ask:
[[Urwerkdatum Monat:\:\{{#invoke:AufEinWortDatumKennung|teil|F=monat|Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Urwerkdatum Jahr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=jahr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Urwerkdatum Chr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=chr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
|?Urwerkdatum Kategorie |?Kennung Urwerkdatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Urwerkdatum |order=asc
}}</div>
<div class="aoew-block token-BD"><h3>Bearbeitung</h3>
{{#ask:
[[Bearbeitetdatum Monat:\:\{{#invoke:AufEinWortDatumKennung|teil|F=monat|Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Bearbeitetdatum Jahr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=jahr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Bearbeitetdatum Chr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=chr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
|?Bearbeitetdatum Kategorie |?Kennung Bearbeitdatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Bearbeitdatum |order=asc
}}</div>
}}
| year =
{{#switch:{{#invoke:AufEinWortDatumKennung|token}}
| ED =
<div class="aoew-block token-ED"><h3>Erstellung</h3>
{{#ask:
[[Erstelldatum Jahr:\:\{{#invoke:AufEinWortDatumKennung|teil|F=jahr|Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Erstelldatum Chr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=chr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
|?Erstelldatum Kategorie |?Kennung Erstelldatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Erstelldatum |order=asc
}}</div>
| UD =
<div class="aoew-block token-UD"><h3>Herausgabe</h3>
{{#ask:
[[Urwerkdatum Jahr:\:\{{#invoke:AufEinWortDatumKennung|teil|F=jahr|Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Urwerkdatum Chr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=chr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
|?Urwerkdatum Kategorie |?Kennung Urwerkdatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Urwerkdatum |order=asc
}}</div>
| BD =
<div class="aoew-block token-BD"><h3>Bearbeitung</h3>
{{#ask:
[[Bearbeitetdatum Jahr:\:\{{#invoke:AufEinWortDatumKennung|teil|F=jahr|Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Bearbeitetdatum Chr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=chr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
|?Bearbeitetdatum Kategorie |?Kennung Bearbeitdatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Bearbeitdatum |order=asc
}}</div>
| GD =
<div class="aoew-block token-GD"><h3>Geburten</h3>
{{#ask:
[[Geburtdatum Jahr:\:\{{#invoke:AufEinWortDatumKennung|teil|F=jahr|Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Geburtdatum Chr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=chr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
|?Geburtdatum Kategorie |?Kennung Geburtdatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Geburtdatum |order=asc
}}</div>
| SD =
<div class="aoew-block token-SD"><h3>Verstorben</h3>
{{#ask:
[[Sterbedatum Jahr:\:\{{#invoke:AufEinWortDatumKennung|teil|F=jahr|Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Sterbedatum Chr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=chr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
|?Sterbedatum Kategorie |?Kennung Sterbedatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Sterbedatum |order=asc
}}</div>
| DT =
<!-- Unsuffigiertes Jahr: nur Werke (ED/UD/BD) in drei Blöcken -->
<div class="aoew-block token-ED"><h3>Erstellung</h3>
{{#ask:
[[Erstelldatum Jahr:\:\{{#invoke:AufEinWortDatumKennung|teil|F=jahr|Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Erstelldatum Chr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=chr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
|?Erstelldatum Kategorie |?Kennung Erstelldatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Erstelldatum |order=asc
}}</div>
<div class="aoew-block token-UD"><h3>Herausgabe</h3>
{{#ask:
[[Urwerkdatum Jahr:\:\{{#invoke:AufEinWortDatumKennung|teil|F=jahr|Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Urwerkdatum Chr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=chr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
|?Urwerkdatum Kategorie |?Kennung Urwerkdatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Urwerkdatum |order=asc
}}</div>
<div class="aoew-block token-BD"><h3>Bearbeitung</h3>
{{#ask:
[[Bearbeitetdatum Jahr:\:\{{#invoke:AufEinWortDatumKennung|teil|F=jahr|Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
[[Bearbeitetdatum Chr :\:\{{#invoke:AufEinWortDatumKennung|teil|F=chr |Datum={{#invoke:AufEinWortDatumKennung|basis}} }}]]
|?Bearbeitetdatum Kategorie |?Kennung Bearbeitdatum
|mainlabel=Seite |format=table |sortable=true |headers=show
|sort=Kennung Bearbeitdatum |order=asc
}}</div>
}}
| #default =
}}
</div>
</onlyinclude>
<noinclude>
Subvorlage für Datumskategorien (auto):
* Tag mit Suffix → nur die passende Tabelle (ED/UD/BD/GD/SD).
* Tag ohne Suffix → drei Werk-Tabellen (ED/UD/BD).
* Monat/Jahr mit Suffix → nur die passende Tabelle für das Suffix.
* Monat/Jahr ohne Suffix → drei Werk-Tabellen (ED/UD/BD).
* Geburten/Sterbefälle: nur auf den entsprechenden suffigierten Seiten.
</noinclude>
|
super — dann machen wir’s jetzt „rund“ mit Darstellung & UX, ohne deine Abfragen anzufassen.
1) Überschriften nur zeigen, wenn auch eine Tabelle existiert
Server-seitig ginge das mit format=count + #if, kostet aber eine zweite Query pro Block. Effizienter ist ein Mini-JavaScript, das nach dem Rendern alle leeren Blöcke entfernt:
MediaWiki:Common.js
mw.hook('wikipage.content').add(function ($c) {
$c.find('.aoew-datum .aoew-block').each(function () {
// Wenn innerhalb des Blocks keine SMW-Tabelle gerendert wurde → Block entfernen
if ($(this).find('table.wikitable').length === 0) {
$(this).remove();
}
});
});
Vorteil: kein doppeltes #ask, sofort wirksam, spielt gut mit deinem vorhandenen „eingeklappt/toggle“-Verhalten, weil nur noch Blöcke mit Inhalt übrig bleiben.
(Falls du statt Entfernen lieber nur verstecken willst: $(this).hide();.)
2) Dezente Tabellen-Optik
Ein wenig Grundstyling – neutral, lesbar, nicht aufdringlich:
MediaWiki:Common.css
/* Container-Abstand */
.aoew-datum { margin-top: .5rem; }
/* Überschriften dezent */
.aoew-datum .aoew-block > h3 {
font-weight: 600;
margin: .6rem 0 .4rem;
}
/* Einheitliche Tabellen-Optik */
.aoew-datum .wikitable {
width: 100%;
border-collapse: collapse;
border: 1px solid #ddd;
}
.aoew-datum .wikitable > * > tr > th {
background: #f5f5f5; /* Kopfzeile leicht getönt */
}
.aoew-datum .wikitable > * > tr:nth-child(even) > td {
background: #fafafa; /* dezente Zebra-Streifen */
}
.aoew-datum .wikitable > * > tr > th,
.aoew-datum .wikitable > * > tr > td {
padding: .35rem .5rem;
border: 1px solid #e6e6e6;
}
/* (Optional) token-spezifische Akzente links am Block */
.aoew-datum .token-ED > h3:\:\before { content: "● "; color: #2a7; }
.aoew-datum .token-UD > h3:\:\before { content: "● "; color: #27a; }
.aoew-datum .token-BD > h3:\:\before { content: "● "; color: #a72; }
.aoew-datum .token-GD > h3:\:\before { content: "● "; color: #66a; }
.aoew-datum .token-SD > h3:\:\before { content: "● "; color: #a66; }
Wenn dir Farbpunkte zu verspielt sind: die letzten fünf Regeln einfach weglassen.
3) Datum aus den Überschriften entfernen
Bin bei dir: der Seitentitel steht schon ganz oben, das „(PAGENAME)“ ist redundant.
Ich habe das im Canvas bereits entfernt (nur den Zusatz in den <h3>-Tags, alles andere unverändert). 👍
Soforttest
- Öffne eine Kategorie-Seite, purge (Aktualisieren).
- Du solltest keine leeren Überschriften mehr sehen.
- Tabellen haben leichte Kopfzeilen und Zebra-Streifen.
Wenn du magst, baue ich dir später noch eine Jh.-Ansicht (ED/UD/BD – GD/SD optional). Für jetzt bist du damit schlank & performant aufgestellt.
CSS Überschriften
1) Überschriften nur zeigen, wenn auch eine Tabelle existiert mit "$(this).hide();.)", soll ja beim Aufklappen sichbar sein – funktioniert – Danke
2) Dezente Tabellen-Optik
Ja ohne Punkte
würde ich jedoch lieber als "Vorlage:AufEinWort DatumAbfrage.css" in die Vorlage holen oder als "Vorlage:AufEinWort DatumAbfrage.css", je nachdem was besser ist, damit es nur auf die besagten Tabellen wirkt.
3) Datum aus den Überschriften entfernen
habe ich entfernt
4. was ist "aoew" in "<div class="aoew-block token-BD"><h3>Bearbeitung</h3>"?
CSS Überschriften Anpassung
| Der Nutzer möchte, dass CSS nur auf bestimmte Tabellen anwendbar ist und bevorzugt die Verwendung von Templates zur Portabilität. Die beste Methode ist normalerweise, CSS in „MediaWiki:Common.css“ unter einer spezifischen Klasse wie „aoew-*“ zu speichern. Andernfalls kann das „TemplateStyles“-Modul verwendet werden, sofern es installiert ist.
Wenn TemplateStyles verfügbar ist, sollte es verwendet werden. Die CSS-Dateien können dann als „Vorlage:AufEinWort DatumAbfrage/styles.css“ eingebunden werden. Andernfalls kann man auf Common.css zurückgreifen oder ein Gadget erstellen. Die „aoew“-Klasse steht für „AufEinWort“, aber der Name kann nach Wunsch angepasst werden. Der Nutzer möchte Unterstützung bei der CSS-Integration in ein Template. Ich werde sowohl die Variante mit TemplateStyles als auch die Common.css-Variante bereitstellen. Ich füge jeweils eine Beispielzeile zur Einbindung an und werde eine klare, prägnante Anleitung geben, die beide Optionen umfasst. Um CSS im Template zu integrieren, verwende: <templatestyles src="Vorlage:AufEinWort DatumAbfrage/styles.css" /> Dieser Code sollte oben im Template platziert werden. Beachte: „<templatestyles>“ kann in „<onlyinclude>“ eingebunden werden. Für die Tabellenbindung: Wenn keine Tabelle vorhanden ist, bleibt der Block dennoch sichtbar. „aoew“ steht für „AufEinWort“, was verhindert, dass es zu Namenskonflikten kommt. Fertig |
klingt gut!
Zu deinen Punkten:
- Überschriften nur bei Inhalt Mit deinem
hide()-Snippet bist du exakt auf der sicheren Seite: leere Blöcke verschwinden, und deine Toggles bleiben für die übrigen Blöcke erhalten. 👍 - CSS nur für diese Ansicht – als eigene Vorlage Wenn deine Wiki-Installation TemplateStyles hat (empfohlen), mach’s so:
- Lege „Vorlage:AufEinWort DatumAbfrage/styles.css“ an mit folgendem Inhalt:
.aoew-datum { margin-top: .5rem; } .aoew-datum .aoew-block > h3 { font-weight: 600; margin: .6rem 0 .4rem; } .aoew-datum .wikitable { width: 100%; border-collapse: collapse; border: 1px solid #ddd; } .aoew-datum .wikitable > * > tr > th { background: #f5f5f5; /* dezente Kopfzeile */ } .aoew-datum .wikitable > * > tr:nth-child(even) > td { background: #fafafa; /* Zebra-Streifen */ } .aoew-datum .wikitable > * > tr > th, .aoew-datum .wikitable > * > tr > td { padding: .35rem .5rem; border: 1px solid #e6e6e6; }
- Ganz oben in „Vorlage:AufEinWort DatumAbfrage“ (vor dem
<div class="aoew-datum">) die TemplateStyles-Zeile einfügen:<templatestyles src="Vorlage:AufEinWort DatumAbfrage/styles.css" />
Vorteil: Das Styling wirkt nur dort, wo die Subvorlage eingebunden wird. Keine globale CSS-Pflege nötig.
Kein TemplateStyles installiert?
Dann zwei Alternativen:
- In MediaWiki:Common.css exakt dieselben Regeln hinterlegen (sie sind bereits streng auf
.aoew-datum …eingeschränkt → keine „Nebenwirkungen“). - Oder als Gadget (z. B.
MediaWiki:Gadget-aoew-datum.css) definieren und inMediaWiki:Gadgets-definitioneintragen; so bleibt es modular.
- Datum aus Überschriften entfernen Perfekt – weg damit (redundant).
- Was ist „aoew“? Nur ein Präfix = „AufEinWort“. Dient als Namensraum für CSS/JS-Klassen, damit nichts mit anderen Vorlagen kollidiert. Wenn du lieber
aedk-…oder etwas anderes willst, einfach überall (Template + JS + CSS) durchtauschen – funktional egal.
Wenn du willst, füge ich dir die <templatestyles …>-Zeile direkt in die Canvas-Vorlage ein; sag nur kurz Bescheid, ob TemplateStyles aktiv ist.
Seite MediaWiki:AufEinWort DatumAbfrage.css muss das Inhaltsmodell „Bereinigtes CSS“ für TemplateStyles haben
Ich habe es so gemacht, bekomme jedoch auf der Wikiseite "Die Seite MediaWiki:AufEinWort DatumAbfrage.css muss das Inhaltsmodell „Bereinigtes CSS“ für TemplateStyles haben. Das aktuelle Modell ist „Wikitext“.".
Ich habe installiert:
wfLoadExtension( 'TemplateStyles' );
wfLoadExtension( 'TemplateStylesExtender' );
wfLoadExtension( 'CSS' );
AufEinWort ist im deutsch ein Spruch "Auf ein Wort" der Unterredung von Wichtigem oder Bedeutenden unter Vertrauten oder im Vertrauen zur Klärung eines Fall einer Sache ….
Die Abkürzung wäre dann "aew" und nicht "aoew" – wenn ich es also überall gleich "aew" schreibe funktioniert es auch, wobei im "aew" zugleich soviel wie "ewig" bedeutet.
saubere Lösung zu deinen drei Punkten.
| Um das Problem zu lösen, sollten wir eine CSS-Seite unter dem richtigen Namensraum anlegen: "Vorlage:AufEinWort DatumAbfrage/styles.css", mit dem Content-Model "Sanitized CSS". In MediaWiki wird CSS in Template-Subseiten im Template-Namensraum gespeichert. Der Fehler tritt auf, weil die Seite standardmäßig auf Wikitext gesetzt wurde.
Um eine gesäuberte CSS-Seite zu erstellen, setze das Content-Modell manuell auf "sanitized-css" entweder durch URL-Änderung oder die Funktion von TemplateStylesExtender. Die Seitentitel müssen auf ".css" enden und in einem Template-Namensraum sein. Nutze z.B. "Vorlage:AufEinWort DatumAbfrage/styles.css" und füge CSS hinzu. Die CSS-Erweiterung fügt den Die Canvas muss nur geändert werden, wenn es explizit gewünscht wird, da sie bereits wiederhergestellt wurde. Stattdessen sollten wir die Umstellung von "aoew" auf "aew" empfehlen, durch Suchen und Ersetzen in der Canvas und im Common.js. Achte darauf, dass die CSS-Seite im Template-Namensraum erstellt wird. Fertig |
Alles klar — hier die kurze, saubere Lösung zu deinen drei Punkten.
1) TemplateStyles-Fehler („Inhaltsmodell Wikitext“)
Ursache: Du hast die CSS-Seite im MediaWiki-Namensraum angelegt. TemplateStyles erwartet eine CSS-Unterseite im Vorlagen-Namensraum.
So geht’s richtig (kein Admin-Eingriff nötig):
- Öffne die Seite:
Vorlage:AufEinWort DatumAbfrage/styles.css?action=edit&contentmodel=sanitized-css - Füge dort dein CSS ein (siehe unten) und speichere.
- Ganz oben in Vorlage:AufEinWort DatumAbfrage einfügen (falls noch nicht drin):
<templatestyles src="Vorlage:AufEinWort DatumAbfrage/styles.css" />
Wichtig: Nicht im „MediaWiki:“-Namensraum anlegen. Der
contentmodel=sanitized-css-Parameter stellt das richtige Modell her, falls es nicht automatisch gesetzt wird.
2) Präfix: von aoew auf aew
Ja, einfach konsequent überall ersetzen: in der Subvorlage, im CSS und im JS.
- In der Vorlage:
class="aoew-datum"→class="aew-datum"class="aoew-block …"→class="aew-block …" - Im JS/CSS die Selektoren entsprechend umstellen (siehe Snippets).
3) CSS nur für diese Ansicht (TemplateStyles)
Inhalt für Vorlage:AufEinWort DatumAbfrage/styles.css:
/* Container-Abstand */
.aew-datum { margin-top: .5rem; }
/* Überschriften dezent */
.aew-datum .aew-block > h3 {
font-weight: 600;
margin: .6rem 0 .4rem;
}
/* Einheitliche Tabellen-Optik */
.aew-datum .wikitable {
width: 100%;
border-collapse: collapse;
border: 1px solid #ddd;
}
.aew-datum .wikitable > * > tr > th {
background: #f5f5f5; /* dezente Kopfzeile */
}
.aew-datum .wikitable > * > tr:nth-child(even) > td {
background: #fafafa; /* dezente Zebra-Streifen */
}
.aew-datum .wikitable > * > tr > th,
.aew-datum .wikitable > * > tr > td {
padding: .35rem .5rem;
border: 1px solid #e6e6e6;
}
Das wirkt nur dort, wo die Subvorlage eingebunden wird.
4) JS: Überschriften nur bei vorhandener Tabelle
Wenn du den Selektor bereits mit aoew eingebaut hast, ersetze ihn durch aew:
MediaWiki:Common.js
mw.hook('wikipage.content').add(function ($c) {
$c.find('.aew-datum .aew-block').each(function () {
if ($(this).find('table.wikitable').length === 0) {
$(this).hide(); // einklappen/ausblenden, statt zu entfernen
}
});
});
Mini-Checkliste (in Reihenfolge)
- In der Subvorlage alle
aoew-…→aew-…ersetzen. Vorlage:AufEinWort DatumAbfrage/styles.cssmit sanitized-css anlegen (siehe Link oben) und CSS einfügen.<templatestyles …>oben in die Subvorlage setzen.- JS-Selektor in
Common.jsauf.aew-…umstellen. - Eine betroffene Kategorie purgen (
?action=purge).
Wenn du willst, kann ich im Canvas gern einmal die Klassenpräfixe auf aew umstellen und die <templatestyles>-Zeile ergänzen – sag einfach „go“.
zum Test hatte ich diese in MediaWiki verschoben und auch wieder zurück
Mein Fehler war Seitenname ohne /styles und zum Test hatte ich diese in MediaWiki verschoben und auch wieder zurück.
Sie hat jetzt den richtigen Namen Vorlage:AufEinWort DatumAbfrage/styles.css
In Vorlage: … habe ich nun ebenso die Meldung zu Wikitext
Die Seite Vorlage:AufEinWort DatumAbfrage/styles.css muss das Inhaltsmodell „Bereinigtes CSS“ für TemplateStyles haben. Das aktuelle Modell ist „Wikitext“.
1) 1. 2. 3 ´. habe ich so gemacht – trotzdem geht es nicht.
2) ist getan
3) habe ich eingesetzt gbt die Meldung siehe 1)
49 funktioniert
Bereinigtes CSS
| Nikolaos hat offenbar die "contentmodel"-Einstellung übersehen. Um das TemplateStyles-Modell richtig zu nutzen, muss der Inhalt auf "sanitized-css" geändert werden. Das kann entweder per "Special:ChangeContentModel" oder während der Erstellung der Seite geschehen. Die Seite muss im richtigen Namensraum liegen, was Nikolaos bereits korrekt gemacht hat.
Das Hauptproblem scheint im verwendeten Content Model zu liegen: Es muss genau „sanitized-css“ und nicht „SanitizedCss“ sein. Auch wenn die Nutzer es bereits versuchten, könnte eine genauere Angabe des Modells über „Special:ChangeContentModel“ nötig sein. Möglicherweise interferiert auch der TemplateStylesExtender. Normalerweise ist das Bearbeiten des Content Models nur für Administratoren zulässig. Ein einfacher Trick könnte sein, die Wikitext-Seite in ein .css-Unterseitenformat in „Vorlage:“ zu verschieben. Wenn dies nicht funktioniert, ist es wahrscheinlich, dass der Inhalt beim Erstellen der Seite als Wikitext festgelegt wurde. In diesem Fall muss der Inhalt über „Special:ChangeContentModel“ geändert oder die Seite gelöscht und neu erstellt werden. Die Schritte zur Lösung beinhalten das Überprüfen der geladenen Erweiterungen und das Verwenden von „Special:ChangeContentModel“, um das Content Model von Wikitext auf sanitized-css zu ändern. Alternativ kann der Benutzer die Seite vorübergehend umbenennen, löschen und neu erstellen, aber die Verwendung von „Special:ChangeContentModel“ ist schneller, wenn man Admin-Rechte hat. Fertig |
Alles klar – das ist „nur“ das Inhaltsmodell. So bekommst du es sicher auf Bereinigtes CSS:
So stellst du Vorlage:AufEinWort DatumAbfrage/styles.css auf TemplateStyles um
Weg A (empfohlen, wenn du Admin-Rechte hast)
- Öffne die Spezialseite zum Umstellen:
Spezial:ChangeContentModel(deutsch: Spezial:Inhaltsmodell ändern). - Trage die Seite exakt so ein:
Vorlage:AufEinWort DatumAbfrage/styles.css - Inhaltsmodell auswählen: Bereinigtes CSS (intern:
sanitized-css). (Das Content-Format wird i. d. R. automatisch „text/css“.) - Bestätigen → speichern.
Weg B (ohne die Spezialseite)
- Inhalt der Seite sichern (kopieren).
- Die Seite löschen (oder nach
…/styles.css/altverschieben). - Die Seite neu anlegen über diese URL (achte auf exakt contentmodel):
…/index.php?title=Vorlage:AufEinWort_DatumAbfrage/styles.css
&action=edit&redlink=1&contentmodel=sanitized-css
- CSS einfügen → speichern.
Hintergrund: Wenn die Seite einmal als Wikitext angelegt wurde (z. B. bevor TemplateStyles geladen war), bleibt das Modell „Wikitext“, bis du es so umstellst. Ein einfaches Verschieben zwischen Namensräumen ändert das nicht.
Danach: zwei kleine Aufräumer
1) TemplateStyles in die Subvorlage einbinden
Ganz oben in Vorlage:AufEinWort DatumAbfrage (noch vor dem <div …>):
<templatestyles src="Vorlage:AufEinWort DatumAbfrage/styles.css" />
2) Klassenpräfix vereinheitlichen (aew statt aoew)
Einmaliges Suchen/Ersetzen in der Subvorlage:
class="aoew-datum"→class="aew-datum"class="aoew-block→class="aew-block
Und im JS (Common.js) darauf achten, dass der Selektor ebenfalls aew nutzt:
mw.hook('wikipage.content').add(function ($c) {
$c.find('.aew-datum .aew-block').each(function () {
if ($(this).find('table.wikitable').length === 0) {
$(this).hide();
}
});
});
CSS-Inhalt (für die neue styles.css)
/* Container-Abstand */
.aew-datum { margin-top: .5rem; }
/* Überschriften dezent */
.aew-datum .aew-block > h3 {
font-weight: 600;
margin: .6rem 0 .4rem;
}
/* Einheitliche Tabellen-Optik */
.aew-datum .wikitable {
width: 100%;
border-collapse: collapse;
border: 1px solid #ddd;
}
.aew-datum .wikitable > * > tr > th {
background: #f5f5f5; /* dezente Kopfzeile */
}
.aew-datum .wikitable > * > tr:nth-child(even) > td {
background: #fafafa; /* Zebra-Streifen */
}
.aew-datum .wikitable > * > tr > th,
.aew-datum .wikitable > * > tr > td {
padding: .35rem .5rem;
border: 1px solid #e6e6e6;
}
Schneller Funktionstest
- Öffne
Vorlage:AufEinWort DatumAbfrage/styles.css: Im Bearbeitungsformular sollte nicht mehr „Wikitext“ stehen, sondern etwas in Richtung „Bereinigtes CSS“. - Eine Kategorieseite mit der Subvorlage purgen (
?action=purge) → Tabellen sollten nun die dezente Optik haben. - Keine leeren Überschriften mehr (weil JS sie versteckt).
Wenn du möchtest, stelle ich dir im Canvas gern auch gleich die Klassenpräfixe auf aew um und setze die <templatestyles>-Zeile an den Anfang – sag einfach „go“.
zu den Wegen
zu Weg A
das kannte ich noch nicht, habe ich so erledigt.
ich habe mir noch |?Ururheber |?Urheber in die Tabellen eingefügt.
CSS und Erweiterungen der Tabllen funktionieren.
alles Weiter hatten wir bereits.
Ich bin super happy, kann nun endlich weiter machen mit der Datenerfassung.
Wir haben vor fast 12 Monaten damit angefangen ein SMW auf ein PowerBook so einzurichten, was ich nun ganz nah bin es zu habe.
Wir arbeiten also an dem System in zwischen auf M1 und M2 seit etwa 12 Monaten!
Wir haben aber auch gemeinsam etwas erstellt, ein MediaWiki geschaffen, daß es so nicht gibt und an sich so nicht lauffähig ist – Danke soweit.
halten wir diesen Stand als „stabil & einsatzbereit“ fest
| Es scheint, dass der Nutzer zufrieden ist, da die Anpassungen gut funktionieren. Sie haben keine direkte Frage, aber danken für eine erfolgreiche Zusammenarbeit. Ich könnte kurz bestätigen, dass die Anforderungen erfüllt wurden und vielleicht anbieten, später an den Jh.-Views zu arbeiten. Wichtig: Der Timestamp wird hier nicht hinzugefügt, da es sich um die laufende Unterhaltung handelt.
Es sieht so aus, als ob der Nutzer nicht ausdrücklich nach einer Änderung der Klassennamen gefragt hat, obwohl dies in der Vergangenheit gewünscht war. Der Benutzer berichtete, dass CSS und Erweiterungen gut funktionieren. Ein Vorschlag könnten ein kleines Checkliste-Update und ein Versions-Snapshot der aktuellen Module sein. Fertig |
so schön zu hören, Nikolaos — freut mich wirklich! 🙌
Dann halten wir diesen Stand als „stabil & einsatzbereit“ fest. Du kannst jetzt in Ruhe Daten erfassen; die Ansichten, Sortierung, Styles und das Ein-/Ausblenden leerer Blöcke greifen.
Wenn wir später wieder ansetzen, würde ich vorschlagen:
- Jh.-Ansichten (ED/UD/BD; GD/SD optional) ergänzen – analog zu Monat/Jahr.
- (Optional) ein einheitliches Row-Template für zusätzliche Werk-Spalten (Werktyp, Verlag, …), wenn du über
format=templatehomogenisieren willst. - (Optional) ein kleiner „people=1“-Schalter für unsuffigierte Monats/Jahrsichten, falls du dort auch Personenlisten einblenden magst.
Bis dahin: viel Erfolg beim Einpflegen – und danke für die gemeinsame, ausdauernde Tüftelei. Wenn etwas hakt oder du die Jh.-Blöcke möchtest, sag einfach Bescheid, ich liefere dir die Drop-ins direkt.
so machen wir es –
morgen früh geht es mit WikiData und Wikibase weiter, also die Frage der Einbindung eines weiteren Property-"Kanal". bis dann…
Erstellen wir einen kurzen Plan: 1) Canonical IDs abgleichen, z. B. mit einer Mapping-Tabelle (ED, Property-Code Pxxx); 2) Im Modul: AufEinWortDatumKennung eine Fetch-Funktion wbTeil einfügen, die mit Wikibase mappt; 3) Konfliktlösung einordnen; 4) Caching: Nutzung von mw.smw.set; 5) Bei SMW prüfen, ob mw.smw für Lua-Seteinträge aktiviert ist.
Ich schlage vor, auch noch 5) Abfragen anzupassen: Subvorlage auf Wikibase-Werte zurückgreifen lassen, wenn lokale Daten fehlen. Dann 6) Daten-Typ-Mapping und 7) Einfache Beispiele wie Der Nutzer möchte morgen mit Wikidata und Wikibase fortfahren, ohne jedoch Code zu verlangen. Ein kurzer Plan würde ausreichen: 1) Integration eines weiteren Property-Kanals, 2) Daten von Wikibase abrufen, 3) Ein einfaches Mapping zu SMW-Eigenschaften vorschlagen. Ich werde keine ausführlichen Codebeispiele anbieten, sondern allgemeinere Optionen skizzieren. Für morgen eine Checkliste: Mapping von Eigenschaften wie P571 Inception (Erstellungsdatum?), P577 Veröffentlichungsdatum, P793 für wichtige Ereignisse, P585 für Zeitpunkt? Für ED nutzen wir wahrscheinlich P571 oder P3931. Für UD ist P577 relevant. Für Bearbeitungsdaten bleibt BD lokal; P570 für Todesdatum und P569 für Geburtsdatum. Fertig |
klingt gut — freu mich auf morgen! 🌞
Damit wir nahtlos in Wikidata/Wikibase einsteigen können, hier eine ultraknappe Fahrbahnmarkierung (kein Coding jetzt, nur Plan):
Zielbild (ein zusätzlicher „Kanal“)
- Primat: lokale Eingabe > vorhandene SMW-Werte > Wikidata-Fallback.
- Fallback holt WD-Werte zur Laufzeit und schreibt sie (write-through) in deine bestehenden SMW-Properties, damit
#asksie sieht.
Minimal-Design
- Property-Mapping (einmal definieren):
- ED (Erstellung): WD P571 (inception).
- UD (Herausgabe): WD P577 (publication date).
- GD (Geburt): WD P569.
- SD (Tod): WD P570.
- BD (Bearbeitung): eher lokal lassen (kein sauberes WD-Äquivalent; notfalls Event P793 + P585, aber das wird messy).
- Parser & Granularität:
- WD-Zeitformat
+YYYY-MM-DDT…mit precision (11=Tag, 10=Monat, 9=Jahr, 8=Jahrzehnt, 7=Jh.). - Vorzeichen
<0⇒ v. Chr.;>=0⇒ n. Chr. - Mappe 11/10/9 direkt auf deine Tag/Monat/Jahr-Logik; 7 (Jh.) unterstützen wir später.
- WD-Zeitformat
- Write-through in SMW (nur wenn lokal fehlt):
- Für die aktuelle Seite: wenn
Erstelldatumleer ⇒ aus WD holen ⇒ setzen inErstelldatum,Erstelldatum Kategorie,Kennung Erstelldatum,Erstelldatum Monat/Jahr/Chr, … - Gleiches für UD/GD/SD.
- So erscheinen WD-Daten sofort in deinen Monats-/Jahreslisten.
- Für die aktuelle Seite: wenn
- Konflikt-Regeln:
- Wenn lokal gesetzt, nie mit WD überschreiben.
- Optional: kleiner Debug-Flag, der anzeigt „Quelle: WD“ vs. „Quelle: lokal“.
- Performance/Robustheit:
- Nur eine WD-Abfrage pro Property & Seite (best statement).
- Fehler-/Leercases sauber abfangen (kein Datum ⇒ nichts setzen).
Morgen: was ich vorbereite (in genau dieser Reihenfolge)
- Eine schlanke Mapping-Tabelle für {ED,UD,GD,SD}→{P571,P577,P569,P570}.
- WD-Reader (precision→Granularität, Ära, Normalisierung).
- Write-through in deine bestehenden SMW-Properties (nur wenn leer).
- Optionale Status-Marke („Quelle: WD/lokal“) für die Tabellen.
Wenn du magst, bring morgen zwei Dinge mit:
- 1–2 Beispielseiten (Werk + Person) mit passender Wikidata-Q-ID verknüpft,
- und falls du abweichende Mappings willst (z. B. anderes Feld für „Herausgabe“).
Bis morgen & guten Flow ✨