Allow custom storage engines to be identified without subclassing PhabricatorFileStorageEngineSelector. This simplifies configuration for installs which want to extend PhabricatorFileStorageEngine.
Details
Details
- Reviewers
joshuaspence - Group Reviewers
Blessed Reviewers
Ran ./bin/files engines and saw all engines listed. Also uploaded a file via /file/upload/.
Diff Detail
Diff Detail
- Repository
- rP Phabricator
- Branch
- master
- Lint
Lint Passed - Unit
Tests Passed - Build Status
Buildable 3863 Build 4865: [Placeholder Plan] Wait for 30 Seconds Build 3875: [Placeholder Plan] Wait for 30 Seconds
Event Timeline
Comment Actions
Yeah, this is a solid step toward where I want to go with T5843. I'm just going to steal it since I want to be a bit more aggressive:
- I'm going to remove the selector class entirely.
- I'm going to let engines have a "priority" to encode the "store in MySQL as a last resort" rule.
- I'm likely going to drop the funny stuff where MySQL gets higher priority except not really; we have (or should have) proper caching nowadays to mitigate any slowness of the storage engine.
- I'm going to add a couple methods around max file size, etc., to get the storage.mysql-engine.max-size key pushed into the MySQL engine.
Then I'll write a meta-engine for chunking and add some more stuff around that, per T7149.