MWStake MediaWiki Manager: Difference between revisions
Lex Sulzer (talk | contribs) (→) |
Lex Sulzer (talk | contribs) (→) |
||
Line 52: | Line 52: | ||
<div style="margin:20px; padding:50px; border-radius:50px; background-color:beige;"> | <div style="margin:20px; padding:50px; border-radius:50px; background-color:beige;"> | ||
Slide 2/10: '''How and Why?''' | Slide 2/10: '''How and Why?''' | ||
Cut system into as few as possible but into as many as necessary interfacing components in order to fulfill all intended use cases in accordance with corresponding users' capabilities and needs. | |||
=== Containers === | |||
MWM's Podman-managed Kubernetes deploy manifest: | |||
# container "mediawiki" + user volumes and config envs | |||
# container "mediawiki-safemode" + config envs | |||
# container "mariadb" + config envs | |||
</div> | </div> | ||
Revision as of 05:24, 13 April 2021
What is this about? 1. Install MediaWiki. 2. Manage (settings), upgrades, extensions, snapshots and content through an independent CLI/API/UI. 3. Put MediaWiki in SafeMode in case of problems.
MWStake MWM Service Portfolio
Development Broadcasting
There are videos about MWStake MWM at dataspects' YouTube channel.
Project Reasoning and Potential Goals
Slide 1/10: Why and What?
- Your kitchen / hotel chain kitchens
- appliances vs. parts
- integration levels and interfaces
- MWM:
git clone
install.sh
- manage:
- Install/configure/upgrade system(s)
- Install/enable/disable/upgrade/configure extensions
- MediaWiki Stakeholders Group Certified Extensions Service
- Backup/restore/clone/compare/consolidate system(s) (snapshots)
- Troubleshoot/safe mode
- Inject/extract/facet/edit/consolidate/import/export/remove apps/structures/ontologies
- MediaWiki Stakeholders Group Certified Apps Service
- Scripting/automate/schedule tasks
- Package/move/archive/migrate system(s)
MWM Implementation Aspects
Slide 2/10: How and Why?
Cut system into as few as possible but into as many as necessary interfacing components in order to fulfill all intended use cases in accordance with corresponding users' capabilities and needs.
Containers
MWM's Podman-managed Kubernetes deploy manifest:
- container "mediawiki" + user volumes and config envs
- container "mediawiki-safemode" + config envs
- container "mariadb" + config envs
Target User Groups
Slide 2/10: Who can use the concepts in MWM how? Here I try to segregate target users into groups that share capabilities and needs.
User Group | Point/Select/Type/Click | CLI/SSH | Scripting | Edit configuration junior | Edit configuration senior |
---|---|---|---|---|---|
Examples | "Web Interface" | Automate/schedule tasks |
|
PLUS
| |
UGUI "WebAdmin" | Yes | - | "Macro" style only from within UI ("Excel Record Macro Style") |
- | - |
UGAdmin "SysAdmin" | Yes | Yes | Run/arrange .sh scripts | Yes | - |
UGCoder "Developer" | Yes | Yes | Run/arrange/compose/create/edit .sh scripts including API calls | Yes | Yes |
Use Cases
Install/configure/upgrade system(s)
Where | How | Why |
---|---|---|
locally on a single computer | as a containerized app | for personal/private/development use |
in an intranet |
|
for corporate internal use |
on the internet/in the cloud |
|
for corporate internal/external/public use |
Install/enable/disable/upgrade/configure extensions
CLI (Bash)
The command:
./cli/manage-extensions/show-extension-catalogue.sh
parses https://github.com/dataspects/mediawiki-manager/blob/main/catalogues/extensions.json to offer the selection of "certified" extensions upon which the commands:
./cli/manage-extensions/enable-extension.sh <EXTNAME>
and./cli/manage-extensions/disable-extension.sh <EXTNAME>
can be executed.
Backup/restore/clone/compare/consolidate system(s) (snapshots)
Troubleshoot/safe mode
Idea: if someone corrupts extensions/
and/or LocalSettings.php
, then ./start-SAFE-MODE.sh
restarts the wiki in safe mode, by falling back to container-internal versions of extensions/
and LocalSettings.php
.
MWM Normal Mode | MWM Safe Mode |
---|---|
Inject/extract/facet/edit/consolidate/import/export/remove apps/structures/ontologies
Scripting
Package system(s)
MediaWiki Stakeholders Group Certified Extensions Service
- Some background:
- Format right now: https://github.com/dataspects/mediawiki-manager/blob/main/catalogues/extensions.json
- Management, roles, responsibilities, privileges, processes, QA?
- Hosting?
Abstraction Layers
ALcontainerization: Podman
- The mediawiki container image contains a full MediaWiki installation.
- initialize-persistent-mediawiki-service-volumes.sh will copy the 5 persistence-relevant files/directories out to the host so they can be volumed in when starting the mediawiki container.
- This shall allow for start-SAFE-MODE.sh.
ALcli: shell scripts using MWAPI and CRUDing files in service volumes
ALapi: MWM API (Go) wrapping and parametrizing ALcli shell scripts and using MWAPI
https://github.com/dataspects/mwmapi
Unit Testing
ALui: MWM UI (React/Material UI) using and parametrizing ALapi endpoints
https://github.com/dataspects/mwmui