1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-18 21:02:41 +01:00
phorge-phorge/resources
epriestley e2296a0ff7 Modernize file storage engine selection
Summary:
Fixes T5843. File storage engines use a very old "selector" mechanism which makes them difficult to extend.

This mechanism predates widespread use of `PhutilSymbolLoader` to discover available implementations at runtime. Runtime discovery has generally proven more flexible and easier to use than explicit selection (although it sometimes needs more UI to support it in cases where order or enabled/disabled flags can not be directly determined).

Use a modern runtime discovery mechanism instead of an explicit selector. This might break any installs which subclassed the `Selector`, but I believe almost no such installs exist, and they'll receive a meaningful exception upon upgrading (any custom engines will no longer implement all of the required methods).

Looking forward, this modernizes infrastructure to prepare for new "virtual" chunked-storage engines, with the eventual goal of supporting very large file uploads and data import into the Phacility cluster.

This uses D12051 to add UI to make it easier to understand the state of storage engines.

Test Plan:
Used new UI panel to assess storage engines:

{F336270}

  - Uploaded a small file, saw it go to MySQL engine.
  - Uploaded a larger file, saw it go to S3 engine.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T5843

Differential Revision: https://secure.phabricator.com/D12053
2015-03-12 13:28:53 -07:00
..
builtin Add an icon+background selector for project images 2013-10-17 09:32:34 -07:00
celerity Modernize file storage engine selection 2015-03-12 13:28:53 -07:00
chatbot Remove PhabricatorBotDifferentialNotificationHandler reference in example_config.json for phabot 2014-06-11 09:36:30 -07:00
font Made Meme Generator 2013-01-19 18:43:43 -08:00
sprite Add "Blindigo" header color 2015-03-01 12:03:02 -08:00
sql Fix quickstart.sql for old MySQL 2015-03-02 09:57:38 -08:00
sshd Update repository hosting documentation for all the issues users have hit 2014-03-26 06:44:18 -07:00