MWStake MediaWiki Manager: Difference between revisions
Lex Sulzer (talk | contribs) (โโ) |
Lex Sulzer (talk | contribs) (โโ) |
||
Line 25: | Line 25: | ||
* [https://www.youtube.com/watch?v=MTYq2a2Xsls First glimpse at the idea of an MWStake MediaWiki Manager] | * [https://www.youtube.com/watch?v=MTYq2a2Xsls First glimpse at the idea of an MWStake MediaWiki Manager] | ||
== Project Reasoning and Potential Goals == | |||
<div style="margin:20px; padding:50px; border-radius:50px; background-color:beige;"> | |||
Slide 1/10: '''Why and How?''' | |||
# Your kitchen / hotel chain kitchens | |||
#* appliances vs. parts | |||
#* integration levels and interfaces | |||
# MWM: | |||
## <code>git clone</code> | |||
## <code>install.sh</code> | |||
## 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) | |||
</div> | |||
== Target User Groups == | == Target User Groups == | ||
<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 | 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. | Here I try to segregate target users into groups that share capabilities and needs. | ||
{|class=wikitable | {|class=wikitable |
Revision as of 05:08, 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 How?
- 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)
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