MWStake MediaWiki Manager: Difference between revisions
Jump to navigation
Jump to search
Lex Sulzer (talk | contribs) No edit summary |
Lex Sulzer (talk | contribs) No edit summary |
||
Line 1: | Line 1: | ||
''Manage (settings), upgrades, extensions, snapshots and content through an independent UI/API'' | |||
<gallery mode="slideshow"> | <gallery mode="slideshow"> | ||
Line 7: | Line 7: | ||
File:Mediawiki-manager-ExtensionsStore.png|MWM Extensions Store | File:Mediawiki-manager-ExtensionsStore.png|MWM Extensions Store | ||
</gallery> | </gallery> | ||
There are videos about MWStake MWM at [https://www.youtube.com/channel/UCoP-EgZJPhB0UE4WaKCHR1w dataspects' YouTube channel]. | There are videos about MWStake MWM at [https://www.youtube.com/channel/UCoP-EgZJPhB0UE4WaKCHR1w dataspects' YouTube channel]. | ||
Line 14: | Line 12: | ||
* [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] | ||
== Target User Groups == | |||
=== UGCL: Users willing/able to use the command line === | |||
=== UGUI: Users NOT willing/able to use the command line === | |||
== Use Cases == | |||
=== Install MW System Instance === | |||
=== Manage MW System Settings === | |||
# [https://github.com/dataspects/mediawiki-manager/blob/main/catalogues/systemSettings.json systemSettings.json] | # [https://github.com/dataspects/mediawiki-manager/blob/main/catalogues/systemSettings.json systemSettings.json] | ||
=== Manage MW Extensions (install/enable/disable/upgrade) === | |||
# [https://github.com/dataspects/mediawiki-manager/blob/main/catalogues/extensions.json extensions.json] | # [https://github.com/dataspects/mediawiki-manager/blob/main/catalogues/extensions.json extensions.json] | ||
==== MediaWiki Stakeholders Group Certified Extensions Service ===== | |||
* Some background: | * Some background: | ||
Line 43: | Line 39: | ||
* Hosting? | * Hosting? | ||
=== Upgrade MW === | |||
# [https://github.com/dataspects/mediawiki-manager/blob/main/catalogues/versions.json upgrades.json] | # [https://github.com/dataspects/mediawiki-manager/blob/main/catalogues/versions.json upgrades.json] | ||
=== Snapshots (backup/restore/clone) === | |||
=== Safe Mode === | |||
'''Idea''': if someone corrupts <code>extensions/</code> and/or <code>LocalSettings.php</code>, then <code>./start-SAFE-MODE.sh</code> restarts the wiki in safe mode, by falling back to container-internal versions of <code>extensions/</code> and <code>LocalSettings.php</code>. | '''Idea''': if someone corrupts <code>extensions/</code> and/or <code>LocalSettings.php</code>, then <code>./start-SAFE-MODE.sh</code> restarts the wiki in safe mode, by falling back to container-internal versions of <code>extensions/</code> and <code>LocalSettings.php</code>. | ||
Line 147: | Line 143: | ||
|} | |} | ||
=== Manage MW Content (inject/extract/facet/edit) === | |||
# [https://github.com/dataspects/mediawiki-manager/blob/main/catalogues/apps.json mediawiki-apps.json] | # [https://github.com/dataspects/mediawiki-manager/blob/main/catalogues/apps.json mediawiki-apps.json] | ||
== Abstraction Layers == | |||
=== AL0: shell scripts using MWAPI and CRUDing files === | |||
https://github.com/dataspects/mediawiki-manager | https://github.com/dataspects/mediawiki-manager | ||
Line 159: | Line 155: | ||
# [https://github.com/dataspects/mediawiki-manager/blob/main/docker-compose.yml docker-compose.yml] ([https://github.com/dataspects/dataspectsSystemBuilder/tree/master/docker-images/mediawiki MediaWiki Dockerfile]) | # [https://github.com/dataspects/mediawiki-manager/blob/main/docker-compose.yml docker-compose.yml] ([https://github.com/dataspects/dataspectsSystemBuilder/tree/master/docker-images/mediawiki MediaWiki Dockerfile]) | ||
=== AL1: MWM API (Go) wrapping AL0 === | |||
https://github.com/dataspects/mwmapi | https://github.com/dataspects/mwmapi | ||
==== Unit Testing ==== | |||
=== AL2: MWM UI (React/Material UI) using AL1 === | |||
https://github.com/dataspects/mwmui | https://github.com/dataspects/mwmui | ||
==== Integration Testing ==== |
Revision as of 05:13, 12 March 2021
Manage (settings), upgrades, extensions, snapshots and content through an independent UI/API
There are videos about MWStake MWM at dataspects' YouTube channel.
Target User Groups
UGCL: Users willing/able to use the command line
UGUI: Users NOT willing/able to use the command line
Use Cases
Install MW System Instance
Manage MW System Settings
Manage MW Extensions (install/enable/disable/upgrade)
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?
Upgrade MW
Snapshots (backup/restore/clone)
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 |
---|---|
https://github.com/dataspects/mediawiki-manager/blob/main/start.sh version: "3.7"
services:
mediawiki:
env_file:
- CanastaInstanceSettings.env
container_name: mediawiki_canasta
image: dataspects/mediawiki:1.35.0-2103040820
ports:
- 80:80
- 443:443
volumes:
# MediaWiki >>>
- ./mediawiki_root/w/LocalSettings.php:/var/www/html/w/LocalSettings.php
- ./mediawiki_root/w/extensions:/var/www/html/w/extensions
- ./mediawiki_root/w/skins:/var/www/html/w/skins
- ./mediawiki_root/w/vendor:/var/www/html/w/vendor
- ./mediawiki_root/w/images:/var/www/html/w/images
# MediaWiki Manager >>>
- ./mediawiki_root/api:/var/www/html/api
- ./mediawiki_root/dsmwm.log:/var/www/html/dsmwm.log
- ./mediawiki_root/restic_password:/var/www/html/restic_password
- ./mediawiki_root/ui:/var/www/html/ui
- ./mediawiki_root/cloneLocation:/var/www/html/cloneLocation
- ./restic_data:/var/www/html/restic-repo
- ./conf:/etc/apache2/sites-available
# https://phabricator.wikimedia.org/source/mediawiki/browse/master/docker-compose.yml
# https://phoenixnap.com/kb/how-to-share-data-between-docker-containers
# + mysql
# mwmapi:
# container_name: mwmapi
# image: dataspects/mwmapi:210303
mysql:
container_name: mysql_canasta
image: mariadb:10.5.5
volumes:
- ./mysql_data:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD}
|
https://github.com/dataspects/mediawiki-manager/blob/main/start-SAFE-MODE.sh version: "3.7"
services:
mediawiki:
env_file:
- CanastaInstanceSettings.env
container_name: mediawiki_canasta
image: dataspects/mediawiki:1.35.0-2103040820
ports:
- 80:80
- 443:443
volumes:
# MediaWiki >>>
#- ./mediawiki_root/w/LocalSettings.php:/var/www/html/w/LocalSettings.php
#- ./mediawiki_root/w/extensions:/var/www/html/w/extensions
#- ./mediawiki_root/w/skins:/var/www/html/w/skins
#- ./mediawiki_root/w/vendor:/var/www/html/w/vendor
- ./mediawiki_root/w/images:/var/www/html/w/images
# MediaWiki Manager >>>
- ./mediawiki_root/api:/var/www/html/api
- ./mediawiki_root/dsmwm.log:/var/www/html/dsmwm.log
- ./mediawiki_root/restic_password:/var/www/html/restic_password
- ./mediawiki_root/ui:/var/www/html/ui
- ./mediawiki_root/cloneLocation:/var/www/html/cloneLocation
- ./restic_data:/var/www/html/restic-repo
- ./conf:/etc/apache2/sites-available
# https://phabricator.wikimedia.org/source/mediawiki/browse/master/docker-compose.yml
# https://phoenixnap.com/kb/how-to-share-data-between-docker-containers
# + mysql
# mwmapi:
# container_name: mwmapi
# image: dataspects/mwmapi:210303
mysql:
container_name: mysql_canasta
image: mariadb:10.5.5
volumes:
- ./mysql_data:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD}
|
Manage MW Content (inject/extract/facet/edit)
Abstraction Layers
AL0: shell scripts using MWAPI and CRUDing files
https://github.com/dataspects/mediawiki-manager
AL1: MWM API (Go) wrapping AL0
https://github.com/dataspects/mwmapi
Unit Testing
AL2: MWM UI (React/Material UI) using AL1
https://github.com/dataspects/mwmui