MWStake MediaWiki Manager: Difference between revisions
Lex Sulzer (talk | contribs) (โโ) |
Lex Sulzer (talk | contribs) (โโ) |
||
Line 29: | Line 29: | ||
<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 1/10: '''Who can use the concepts in MWM how?''' | Slide 1/10: '''Who can use the concepts in MWM how?''' | ||
Here I try to segregate target users into groups that share capabilities and needs. | |||
{|class=wikitable | {|class=wikitable | ||
!User Group | !User Group | ||
Line 42: | Line 43: | ||
|''Automate/schedule tasks'' | |''Automate/schedule tasks'' | ||
| | | | ||
*Edit LocalSettings.php | *''Edit LocalSettings.php'' | ||
*Run composer'' | *''Run composer'' | ||
| | | | ||
PLUS | |||
*''Interpret logs''<br> | |||
*''Report bugs/feature request''<br> | |||
*''Branch code, develop and PR'' | |||
|- | |- | ||
|{{mo|'''UGUI'''}} "WebAdmin" | |{{mo|'''UGUI'''}} "WebAdmin" | ||
|Yes | |Yes | ||
| | | - | ||
|"Macro" style only from within UI<br>("Excel Record Macro Style") | |"Macro" style only from within UI<br>("Excel Record Macro Style") | ||
| | | - | ||
| | | - | ||
|- | |- | ||
|{{mo|'''UGAdmin'''}} "SysAdmin" | |{{mo|'''UGAdmin'''}} "SysAdmin" | ||
Line 59: | Line 63: | ||
|Run/arrange .sh scripts | |Run/arrange .sh scripts | ||
|Yes | |Yes | ||
| | | - | ||
|- | |- | ||
|{{mo|'''UGCoder'''}} "Developer" | |{{mo|'''UGCoder'''}} "Developer" |
Revision as of 04:52, 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.
Target User Groups
Slide 1/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