Page MenuHomePhabricator

[EPIC] [MSMF] Modernize Mismatch Finders Tech Stack
Open, Needs TriagePublic

Description

Context

As of November 2023, and after some time of not seeing active development work, the Wikidata Mismatch Finder's technology stack has become outdated or incompatible with contemporary library and framework versions. In order to be able to maintain and support Mismatch finder, we need to update used versions of PHP, Laravel, Vue and their peers dependencies, as well as migrate our build tools to support these.

Main Objectives

  • Mismatch Finder's supported PHP version is updated to PHP >v8.2 in all supported environments
  • Mismatch Finder's Laravel version is updated to v10 in all supported environments (local, CI, staging, production)
  • Laravel's peer dependencies are updated to versions compatible with Laravel v10
  • Mismatch Finder's Vue version is updated to v3.
  • Vue's peer dependencies, build tools and CI tools are updated to support Vue 3
  • Inertia.js is updated to v1 to support the new Laravel and Vue versions

Mitigated Risks

  • Toolforge already has a deprecation message for supporting PHP 7.4 images, which is in EOL, and therefore have stopped receiving long term patches and security updates. This therefore runs the risks of security issues as well as bugs that we will struggle to recover from without having to update the whole system.
  • Laravel 8 is also in EOL, and Vue 2 will go into EOL from January 2024, which carries the same risks as above.
  • Laravel Mix, the client side asset build tool used in Mismatch Finder, is no longer the recommended too for Laravel 10 and Vue 3 and seems to only receive seldom updates. This increases the risks of lack of compatibility with newer updates of Laravel or Vue and exacerbating the already fraught support for newer versions of typescript in Laravel Mix.
  • Inertia v1 has been released and is now the recommended and longer term supported version of inertia. This runs similar incompatibility risks to the ones mentioned above.

Potential Tasks

  1. Update PHP to v8.2
  2. Upgrade Laravel and peer dependencies
  3. Migrate from Laravel Mix to Vite
  4. Upgrade Vue and peer dependencies
  5. Upgrade Inertia to v1

Event Timeline

ItamarWMDE renamed this task from [EPIC] [MSMF] Migrate to Laravel v10 to [MSMF] [EPIC] Migrate to Laravel v10.Oct 2 2023, 2:06 PM
ItamarWMDE renamed this task from [MSMF] [EPIC] Migrate to Laravel v10 to [EPIC] [MSMF] Migrate to Laravel v10.
ItamarWMDE renamed this task from [EPIC] [MSMF] Migrate to Laravel v10 to [EPIC] [MSMF] Modernize Mismatch Finders Tech Stack.Nov 1 2023, 10:48 AM
ItamarWMDE updated the task description. (Show Details)