MWStake MediaWiki Manager: Difference between revisions

From MWStake
Jump to navigation Jump to search
Line 12: Line 12:
ย  https://github.com/dataspects/mwmui
ย  https://github.com/dataspects/mwmui


# [https://github.com/dataspects/mediawiki-manager/blob/main/docker-compose.yml docker-compose.yml] ([https://github.com/dataspects/dataspectsSystemBuilder/blob/master/docker-images/php-apache/Dockerfile Apache PHP 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])
# [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]
# [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]

Revision as of 06:06, 4 March 2021

Manage (settings), upgrades, extensions, snapshots and content through an independent UI/API

Resources

https://github.com/dataspects/mediawiki-manager
https://github.com/dataspects/mwmui
  1. docker-compose.yml (MediaWiki Dockerfile)
  2. extensions.json
  3. upgrades.json
  4. mediawiki-apps.json
  5. systemSettings.json
  6. mwmapi.php (MediaWiki Manager API)
  7. mwmui (User Interface)
  8. Integration Testing

MediaWiki Manager

Usecase: 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, see Apache PHP Dockerfile.

MWM Normal Mode MWM Safe Mode

Mwm-normal-mode.png

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/php-apache:7.4.7_2103031212incsamo
    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/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
  mysql:
    container_name: mysql_canasta
    image: mariadb:10.5.5
    volumes:
      - ./mysql_data:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD}

Mwm-safe-mode.png

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/php-apache:7.4.7_2103031212incsamo
    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/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
  mysql:
    container_name: mysql_canasta
    image: mariadb:10.5.5
    volumes:
      - ./mysql_data:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD}

MediaWiki Manager API

  • PHP right now, moving to new https://github.com/dataspects/mwmapi (Go)
    • MediaWiki Manager in MWMSafeMode will not work until moved to new mwmapi!
  • Security review (e.g. exec commands)

Usecase: edit system settings

Experimental, see https://github.com/dataspects/mediawiki-manager/blob/main/catalogues/systemSettings.json

Usecase: enable (install) and disable extension

See

Usecase: upgrade MediaWiki "package"

See https://github.com/dataspects/mediawiki-manager/blob/ca621f9dab7ba784c6d16f6fa71f0d500e9544d8/mwmapi/system.php#L12

Usecase: take snapshot

See https://github.com/dataspects/mediawiki-manager/blob/ca621f9dab7ba784c6d16f6fa71f0d500e9544d8/mwmapi/snapshots.php#L19

Usecase: inject dataspects ontology

See https://github.com/dataspects/mediawiki-manager/blob/ca621f9dab7ba784c6d16f6fa71f0d500e9544d8/mwmapi/app.php#L27

MediaWiki Manager UI

  • Gatsby/React/MaterialUI
  • Security review
  • Protection: .htaccess or own user management?

MediaWiki Stakeholders Group Certified Extensions Catalogue

Integration Testing

  1. https://github.com/dataspects/mediawiki-manager/blob/main/mwmapi/test.php