Closed emteknetnz closed 1 year ago
Prior to the 4.4 release, there was something called legacy filename that would allow you to output filename without the hash. That was completely busted and become redundant once we enable NaturalFileIDs. We kept some of the methods around because they were part of the API but they effectively do nothing now.
These should be deprecated and throw warning from now on.
Asset Store used to be very directive because it would assume that all the files would be contained hashes. Those methods were moved to file ID helpers. But some hackish implementation were kept on the asset store ... because SEMVER.
These methods should throw warnings now and be removed altogether.
These task are no longer needed and should be deprecated/removed
To be able to migrate and resolve SS3 file URLs, we had to create a lot of of legacy abstraction (aka replicating the SS3 file resolution logic in SS4).
That legacy logic is no longer needed.
This class should be deprecated: LegacyFileIDHelper.php
This bit of config can be simplified in CMS5:
FileResolutionStrategy.public
should only use NaturalFileIDHelper
FileResolutionStrategy.protected
should only use HashFileIDHelper
This will however mean that everyone who wants to upgrade to CMS5 and had a site created prior to CMS4.4 will have to had run the FileMigrationHelper at some point.
In CMS4.4, I introduced ParsedFileID. Until then, we would use tuple
which were essentially arrays with a filename
, hash
and variant
keys.
ParsedFileID
contains all of that, but in a class with types for everything. We should replace any reference to tuple
with a ParsedFileID
.
Flysystem's Filesystem
object implements the FilesystemOperator
. I think everywhere we expect a Filesystem
we could just as easily expect a FilesystemOperator
.
This would open some possibilities for some people https://github.com/silverstripe/silverstripe-assets/issues/368
This PR will handle the deprecations: https://github.com/silverstripe/silverstripe-assets/pull/525
I'll spin up my other side concerns into their own card.
@max please create a PR for the 4.12.0 changelog for the things that are being newly deprecated.
This is all done
This is currently blocking https://github.com/silverstripe/silverstripe-assets/pull/522
There are a bunch of
@deprecated 1.4.0
phpdoc's on methods in FlysystemAssetStoreAs part of https://github.com/silverstripe/silverstripe-framework/issues/10531, we need to add standardized message to all phpdocs. i.e.
* @deprecated 1.4.0 My message
Use either of the following standardized messages:
Use <methodname>() instead
Will be removed without equivalent functionality to replace it
Acceptance criteria
@deprecated
phpdoc's in FlystemAssetStore with missing messages have message addedPull request