SyliusFeedPlugin icon indicating copy to clipboard operation
SyliusFeedPlugin copied to clipboard

Create filesystem abstraction

Open loevgaard opened this issue 6 years ago • 3 comments

Instead of depending directly on flysystem a filesystem abstraction could be made (with adapters for flysystem, gaufrette and others).

Besides allowing different filesystem abstractions it will also allow us to have other methods in the filesystem interface, i.e.: function isDeeplinkingAvailable(): bool and function getDeeplink(): string. The latter method would generate a direct link to the feed instead of having to go through the ShowFeedAction.

loevgaard avatar Sep 10 '19 13:09 loevgaard

isn't flysystem an abstraction already for filesystems?

isn't it a bit too much to have an abstraction of abstractions?

gabiudrescu avatar Sep 11 '19 13:09 gabiudrescu

isn't flysystem an abstraction already for filesystems?

Yes :D

However, making an abstraction doesn't mean you have to use another abstraction to utilize it. You can also create your own concrete implementation. Anyway, do you have an idea to the problem with deeplinking that could solve it without introducing another filesystem abstraction?

loevgaard avatar Sep 13 '19 06:09 loevgaard

Hi! I know it's an old subject, but I'd like to know if there's any update about it.

Knowing the fact Sylius uses KnpGaufrette, it forces us to use 2 different filesystem configurations. With complex ecosystems (cloud storage for assets/static files, multi-pod environment...) it's starting to become a bit painful to have it all working (or we have to override the services using flysystem).

hdasdoria avatar Nov 18 '21 07:11 hdasdoria