Wiki-Migration 2024-10-23

From wiki
Revision as of 09:26, 26 October 2024 by Sysop (talk | contribs) (→‎py-mediawikidocker)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Aufgabe/Ziele/Vorgehen

Aufgabe

  • Mediawiki Migration auf neuere Version

Ziele

  • Kompatibilität
    • dejavu
    • NVK - Namenverbereitungskarte
    • Gadgets
    • Widgets
    • Skin
    • SMW (Altes-Koeln Wiki - Option für CompGen Wiki)
    • Map Extension
    • ... etc

Vorgehen

  • wikipush toolkit für backup/restore (Verlust der Historie für die Experimente ist egal...)
  • py-mediawikidocker für automatisches Docker
  • try/and error mit kleiner Grundmenge / einige Seiten Kategorie/ einige Extensions
  • Alle 4 Teilnehmer bekommen ihr "eigenes Wiki"
  • Jeder probiert einen Aspekt als Kombination von Extension/Kategorie aus
  • Wenn es technische Probleme gibt - maximal 5 Min um das "Abhängen" eines Teilnehmers zu vermeiden
  • Mindestens zwei Wikis müssen am Ende noch immer funktionieren.
  • Dokumentation des Vorgehens im Wiki (zunächst Lokal später ggf. öffentlich)

wikipush toolkit

pip install py-3rdparty-mediawiki
# add local/bin to path
# export PATH="$HOME/.local/bin:$PATH"
# try

ask Query

{{#ask:[[Category:Bonn]]}}

py-mediawikidocker

Extensions

Composer

cat composer.local.json
{
  "require": {
     "mediawiki/semantic-media-wiki": "~4.1.3",
     "samwilson/diagrams": "~0.11.0",
     "mediawiki/maps": "~9.0.5",
     "mediawiki/mermaid": "~3.0",
     "mediawiki/page-forms": "5.6.1",
     "mediawiki/semantic-result-formats": "~4.0.1"
  }
}

Local Settings

grep wfLoad LocalSettings.php 
wfLoadSkin( 'MinervaNeue' );
wfLoadSkin( 'MonoBook' );
wfLoadSkin( 'Timeless' );
wfLoadSkin( 'Vector' );
wfLoadSkin( 'chameleon' );
wfLoadExtension( 'SemanticMediaWiki' );
wfLoadExtension( 'Bootstrap' );
wfLoadExtension( 'AdminLinks' );
wfLoadExtension( 'Diagrams' );
wfLoadExtension( 'Graph' );
wfLoadExtension( 'HeaderTabs' );
wfLoadExtension( 'ImageMap' );
wfLoadExtension( 'MagicNoCache' );
wfLoadExtension( 'Maps' );
wfLoadExtension( 'Mermaid' );
wfLoadExtension( 'MsUpload' );
wfLoadExtension( 'Nuke' );
wfLoadExtension( 'PageForms' );
wfLoadExtension( 'ParserFunctions' );
wfLoadExtension( 'PDFEmbed' );
wfLoadExtension( 'Renameuser' );
wfLoadExtension( 'ReplaceText' );
wfLoadExtension( 'SemanticResultFormats' );
wfLoadExtension( 'SyntaxHighlight_GeSHi' );
wfLoadExtension( 'Variables' );
wfLoadExtension( 'UserFunctions' );
wfLoadExtension( 'YouTube' );
wfLoadExtension( 'WikiEditor' );

YAML-Entry für py-mediawikidocker

- name: CategoryTree
  url: https://www.mediawiki.org/wiki/Extension:CategoryTree
  extension: CategoryTree
  purpose: provides a dynamic view of the wiki's category structure as a tree
  giturl: https://github.com/wikimedia/mediawiki-extensions-CategoryTree
  wikidata_id: Q21676245

profiwiki

pip install ProfiWiki

Playground

Docker und python als super user

python3 --version
Python 3.10.12
sudo -s
apt install python3-pip
apt update
apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
apt update
apt install -< docker-ce docker-ce-cli containerd.io
systemctl start docker
systemctl enable docker
docker --version
Docker version 27.3.1, build ce12230
apt install docker-compose
docker-compose --version
docker-compose version 1.29.2, build unknown

Docker Nutzung als User

sudo usermod -aG docker $USER