Skip to content

theMadness/twelve-factor-fanon-clone

Repository files navigation

Twelve Factor MediaWiki Fanon Clone

This project aims to replicate a Fanon-equivalent level of service for a MediaWiki installation while heavily leveraging composer's capabilities, and reducing to a minimum the amount of code we directly handle.

Similarly, it tries to embrace as many of the other aspects of Twelve-Factor App methodology it can, without producing a ton of extra code and tools to be maintained.

Requirements

  • Caddy
  • PHP-FPM
  • Composer
  • Git
  • ghostscript
  • imagemagick
  • xpdf-utils
  • ffmpeg
  • Other possible dependencies from the extension to be documented

Running the webserver for development

From inside the public directory, run caddy run --watch

Composer notes

  • After installation, git patches is applied to the vendor folder:
    1. vendor-check.patch shortcircuits PHPVersionCheck::checkVendorExistence(), that function doesn't know how to properly locate our vendor directory, and we should make sure that it exists, and it has good dependencies.
    2. maintenance-autoload.patch injects the composer autoloader inside of Maintenance.php
    3. social-profile.patch alters the sub-extension of SocialProfile inclusion to use an explicit relative path.
  • After installation, a git submodule for Extension:VisualEditor is installed.

Outstanding issues

Improvement ideas

  • A composer plugin that catalogues all the extensions data and simplifies the loading of the extension
  • A composer plugin that scans all the extensions for ResourceFileModulePaths configurations, and creates symlinks accordingly (might not be necessary, load.php seems to be able to handle most cases, keep an eye on the logfile)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages