Setono / SyliusFeedPlugin

Create feeds in your Sylius shop
MIT License
23 stars 45 forks source link

Create filesystem abstraction #5

Open loevgaard opened 5 years ago

loevgaard commented 5 years ago

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.

gabiudrescu commented 5 years ago

isn't flysystem an abstraction already for filesystems?

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

loevgaard commented 5 years ago

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?

hdasdoria commented 2 years ago

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).