Page MenuHomePhabricator

Refactor Score extension
Open, Needs TriagePublic

Description

The Score extension needs quite some refactoring.

Here are the current issues:

  • the extension is called Score, and seems to have been designed to support multiple notations (Score:45). Arguably it does support lilypond and ABC, where the latter is just converted to the former first.
  • the one class solution (Score) is getting out of control, 1177 lines already.
  • the dependency on wgUseImageMagick config (ScoreHooks:20-24) is probably not needed anymore after this patch.
  • there are no tests.

Suggestions

  • separate the actual rendering of images/audios of different notation languages from other concerns like checking for existing generated files and generating final html (whether on success or failure).
  • add some tests (probably unit tests are enough, but having one end-to-end test per supported notation might also be a good idea to check that lilypond and abc2ly do not break due to versioning?)

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald TranscriptMar 23 2019, 7:34 PM
alaa_wmde updated the task description. (Show Details)
Ebe123 claimed this task.Mar 23 2019, 8:26 PM
Lydia_Pintscher moved this task from incoming to monitoring on the Wikidata board.Apr 10 2019, 9:23 AM

Also, ImageMagick will still be needed until Ieb13455825053cb187e6240b238fa7b6bd5c18c1.

Change 511146 had a related patch set uploaded (by Ebe123; owner: Ebe123):
[mediawiki/extensions/Score@master] Split extension into various classes

https://gerrit.wikimedia.org/r/511146