Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] support the new flysystem v3 #159

Closed
ctf0 opened this issue Sep 9, 2020 · 3 comments
Closed

[Feature] support the new flysystem v3 #159

ctf0 opened this issue Sep 9, 2020 · 3 comments

Comments

@ctf0
Copy link
Owner

ctf0 commented Sep 9, 2020

https://flysystem.thephpleague.com/v2/docs/what-is-new/
https://flysystem.thephpleague.com/docs/upgrade-from-1.x/

@ctf0 ctf0 self-assigned this Sep 9, 2020
@ctf0 ctf0 added the todo-list label Oct 8, 2020
@jasperf
Copy link

jasperf commented Dec 13, 2020

We did experiment with storing images directly on DigitalOcean Spaces using composer require league/flysystem-aws-s3-v3 . We had rate limiting issues however using Spaces. Each image is stored in 5 versions and on each media modal load all images would be displayed with thumbnails. Many , many requests all the time. Did read you mentioned https://github.com/thephpleague/flysystem-cached-adapter in another thread and that may help limiting the requests for the stored images. We did not experiment with that yet. Looking forward to reading on this enhancement and willing to help out with testing for sure.

@ctf0
Copy link
Owner Author

ctf0 commented Jan 22, 2021

that may help limiting the requests for the stored images. We did not experiment with that yet

highly recommended to use the cache-adapter

Looking forward to reading on this enhancement and willing to help out with testing for sure

probably not b4 next version of laravel v9 https://packagist.org/packages/laravel/framework#dev-master

@jasperf
Copy link

jasperf commented Jan 27, 2021

Understood the new Flysytem[1][2] has a lot of new advantages:

  • Deterministic filesystem operations - In addition to a more streamlined API, each write call is now less expensive. Since writes now overwrite, there is no longer a file existence needed. For all the “over the network filesystems”, this is a big win! From 3-1 calls
  • In V1, looking up mime-types could give performance penalties. In V2, this components was extracted into its own package called league/mime-type-detection.
  • Developer experience was top of mind when creating V2 of Flysystem. Well-known issues were tackled. One of these was the response for a listContents call.
  • errors are represented as exceptions. Every filesystem operation has a corresponding exception class. Each exception class explains what the originating operation was and what went wrong.

which would also make cloud storage work better without hitting 503s. Also understood that cached adapter will no longer be supported [3]. Perhaps because of all these new enhancements.

Still looking into delayed jobs, throttling and exponential back-offs [4], but I do feel like Flysystem 2 is going to help out a lot. I see it has been merged[5] into Laravel Master already. The release is however not until September 2021 so we may try out Flysystem 2 sooner than that. Still debating this. But looking at the Laravel Master branch file changes needed we may have to wait.

@ctf0 ctf0 changed the title [Feature] support the new flysystem v2 [Feature] support the new flysystem v3 Apr 3, 2022
@ctf0 ctf0 closed this as completed Dec 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants