Meeting 2024-11-08: Difference between revisions
Line 9: | Line 9: | ||
* Was passiert bei unterschiedlicher Version des Mediawiki? | * Was passiert bei unterschiedlicher Version des Mediawiki? | ||
* Wie werden User migriert? | * Wie werden User migriert? | ||
= Was passiert bei unterschiedlicher Version des Mediawiki? = | == Was passiert bei unterschiedlicher Version des Mediawiki? == | ||
Das wikipush-Verfahren kopiert ja nur das Wiki Markup d.h. es geht darum ob das Zielwiki das gleiche Rendering in HTML unterstützt. | Das wikipush-Verfahren kopiert ja nur das Wiki Markup d.h. es geht darum ob das Zielwiki das gleiche Rendering in HTML unterstützt. | ||
Oft ist es sogar gewollt, dass sich das rendering ändert! Beispiel: es sollen andere Skins verwendet werden, oder es soll eine verbesserte Extension | Oft ist es sogar gewollt, dass sich das rendering ändert! Beispiel: es sollen andere Skins verwendet werden, oder es soll eine verbesserte Extension | ||
Line 21: | Line 21: | ||
https://github.com/WolfgangFahl/pymediawikidocker/blob/main/mwdocker/resources/extensions.yaml ist ein Format das Extensions so beschreibt, dass sie automatisch installiert werden können. Auf der MUDCon wurden weitere Werkzeuge vorgestellt, die ähnlich arbeiten, z.B. Canasta und [https://www.semantic-mediawiki.org/wiki/MediaWiki_Users_and_Developers_Conference_Fall_2024/Wikibase4Research:_A_toolbox_for_Wikibase_Users_and_Developers Wikibase4Research] | https://github.com/WolfgangFahl/pymediawikidocker/blob/main/mwdocker/resources/extensions.yaml ist ein Format das Extensions so beschreibt, dass sie automatisch installiert werden können. Auf der MUDCon wurden weitere Werkzeuge vorgestellt, die ähnlich arbeiten, z.B. Canasta und [https://www.semantic-mediawiki.org/wiki/MediaWiki_Users_and_Developers_Conference_Fall_2024/Wikibase4Research:_A_toolbox_for_Wikibase_Users_and_Developers Wikibase4Research] | ||
== Wie werden User migriert? == | |||
* Zunächst gar nicht - das Ziel der wikipush - Experimente ist lediglich den richtigen Satz von Extensions zu finden und zu entscheiden welche Seiten 1:1 erhalten bleiben bzw. verändert werden müssen. | |||
* Wenn die User "getrennt" migriert werden sollen muss die User-Tabelle aus dem SQL genutzt werden bzw. ein Single-Sign On Mechanismus - externe User Validation. | |||
= Migration = | = Migration = |
Latest revision as of 12:56, 8 November 2024
Teilnehmer
- Robert
- Wolfgang
Agenda
- Fragen
- MUDCon Fall 2024
Fragen
- Was passiert bei unterschiedlicher Version des Mediawiki?
- Wie werden User migriert?
Was passiert bei unterschiedlicher Version des Mediawiki?
Das wikipush-Verfahren kopiert ja nur das Wiki Markup d.h. es geht darum ob das Zielwiki das gleiche Rendering in HTML unterstützt. Oft ist es sogar gewollt, dass sich das rendering ändert! Beispiel: es sollen andere Skins verwendet werden, oder es soll eine verbesserte Extension genutzt werden.
Wenn zunächst einmal volle Kompatibilität gewünscht ist, kommt es auf die Liste der extensions an. Diese ist normalerweise nur über Special:Version sichtbar. Beispiel: http://playground-mw.bitplan.com/Zeus/index.php?title=Special:Version siehe Abschnitt Installed Skins und Installed Extensions versus https://wiki.genealogy.net/Spezial:Version - Installierte Benutzeroberflächen/Installierte Erweiterungen
https://www.mediawiki.org/wiki/Extension:SimpleTable ist z.B. Archived und es wird Ersatz benötigt. https://www.mediawiki.org/wiki/Extension:UseResource ist z.B. unter https://www.wikidata.org/wiki/Q130533868 zu finden
https://github.com/WolfgangFahl/pymediawikidocker/blob/main/mwdocker/resources/extensions.yaml ist ein Format das Extensions so beschreibt, dass sie automatisch installiert werden können. Auf der MUDCon wurden weitere Werkzeuge vorgestellt, die ähnlich arbeiten, z.B. Canasta und Wikibase4Research
Wie werden User migriert?
- Zunächst gar nicht - das Ziel der wikipush - Experimente ist lediglich den richtigen Satz von Extensions zu finden und zu entscheiden welche Seiten 1:1 erhalten bleiben bzw. verändert werden müssen.
- Wenn die User "getrennt" migriert werden sollen muss die User-Tabelle aus dem SQL genutzt werden bzw. ein Single-Sign On Mechanismus - externe User Validation.
Migration
Übernahme von Templates installation neuer Templates
wikipush -l -s wiki -t zeus -p "Template:PageSequence"
copying 1 pages from wiki to zeus
1/1 ( 100%): copying ... Template:PageSequence✅
wf@fixit .mediawiki-japi % wikipush -l -s wiki -t zeus -p "Template:Link"
copying 1 pages from wiki to zeus
1/1 ( 100%): copying ... Template:Link✅
wf@fixit .mediawiki-japi % wikipush -l -s wiki -t zeus -p "Template:Link"
copying 1 pages from wiki to zeus
1/1 ( 100%): copying ... Template:Link✅
wf@fixit .mediawiki-japi % wikipush -l -s wiki -t zeus -p "Property:Link target"
copying 1 pages from wiki to zeus
1/1 ( 100%): copying ... Property:Link target✅
wf@fixit .mediawiki-japi % wikipush -l -s wiki -t zeus -p "Property:Link targetPage"
copying 1 pages from wiki to zeus
1/1 ( 100%): copying ... Property:Link targetPage✅
wf@fixit .mediawiki-japi % wikipush -l -s wiki -t zeus -p "Property:Link targetUrl"
copying 1 pages from wiki to zeus
1/1 ( 100%): copying ... Property:Link targetUrl✅
wf@fixit .mediawiki-japi % wikipush -l -s wiki -t zeus -p "Property:Link title"
copying 1 pages from wiki to zeus
1/1 ( 100%): copying ... Property:Link title✅
Auswerten von Templates im Source Wiki
wikiquery -s genwiki -q "[[Category:Aachen]]" --template "Rückverweis"
wikiquery -s genwiki -q "[[Kategorie:Adressbuch_fertig]]"
# Timeouts !!!
# daher
wikiquery -s gensmw -q "[[Category:AddressBook]]" --template AddressBook
Das Json lässt sich dann speichern und z.B. mit jq weiterverarbeiten siehe zB. https://www.devtoolsdaily.com/jq_playground/
{
"image": "File:Cover Zw\u00f6lfst\u00e4dte-Adressbuch 1933.jpg",
"title": "",
"subtitle": "enthaltend die St\u00e4dte: Neustettin, Rummelsburg, Bad Polzin, Bublitz, Falkenburg, Jastrow, Schlochau, Tempelburg, Hammerstein, Ratzebuhr, B\u00e4rwalde (Pom.) und Baldenburg nach Einwohnerzahlen geordnet",
"author": "Norddeutsche Presse",
"year": "1933",
"pageCount": "",
"location": "RUMURGJO84LA",
"publisher": "",
"govSource": "source_1326366\n<!-- Informationen zur Bearbeitung im DES -->",
"onlineSource": "{{BBC|849}} </br> {{MOB|BOOKID=0458643-1933|Kat=Lit}}",
"des": "zwoelfstaedte_1933",
"id": "Zw\u00f6lf-St\u00e4dte-Adressbuch_1933",
"genwikiurl": "https://wiki.genealogy.net/Zw\u00f6lf-St\u00e4dte-Adressbuch_1933",
"at": "PL/22/Miastko"
}
Mit KI hilfe z.B: Erzeuge in jq script zur Umwandlung in eine github tabelle
jq -r '[
"Field | Details",
"--- | ---",
"**Image** | \(.image)",
"**Title** | \(.title)",
"**Subtitle** | \(.subtitle)",
"**Author** | \(.author)",
"**Year** | \(.year)",
"**Page Count** | \(.pageCount)",
"**Location** | \(.location)",
"**Publisher** | \(.publisher)",
"**Gov Source** | \(.govSource | gsub("\n"; "<br>"))",
"**Online Source** | \(.onlineSource | gsub("</br>"; "<br>"))",
"**DES** | \(.des)",
"**ID** | \(.id)",
"**GenWiki URL** | [\(.id)](\(.genwikiurl))",
"**AT** | \(.at)"
] | join("\n")' data.json
MUDCon Fall 2024
- z.B. https://www.geschichtewiki.wien.gv.at/Nestroygasse,_2._Bezirk Querbezüge zum Wien Geschichte Wiki - insbesondere Federated Queries über z.B. https://www.geschichtewiki.wien.gv.at/Attribut:Bezirk
- https://www.semantic-mediawiki.org/wiki/User:Jeffrey_Wang - Canasta - Extension Liste ... Insgesamt drei verschiedene Docker basierte Umgebungen bieten automatische Installation an - Vereinheitlichung der Extension-Metadaten Beschreibung z.B. auf Basis von Wikidata