metaclass-nl / filter-bundle

Filter bundle for API Platform, Filter Logic
MIT License
50 stars 9 forks source link

Version release #7

Closed SherinBloemendaal closed 2 years ago

SherinBloemendaal commented 2 years ago

Goodafternoon,

This library meets our requirements exactly and we would like to use it. Now I see that no version has been made yet and we have to composer require the package on dev-master, is it possible to release a version? We don't want any unexpected changes.

Thanks!

Kind regards, Sherin Bloemendaal

metaclass-nl commented 2 years ago

Goodmorning Sherin,

I did not release a version for a reason: The master branche that works with the existing filters is kind of a workaround. The people from API Platform seem to think something like FilterLogic is impossible. I suggested a refactoring of their filters to support a new QueryExpressionGeneratorInterface but got no reaction. My other comments (follow the links) got ignoored too. So i do not know what are their plans and i can not estimate the chance that FilterLogic will work with future versions of API Platform.

What do you think, shoud i release a version anyway (with a warning in the readme), or is it better not to release it so that anyone who wants to use is has to face the uncertanty of its future?

Greetings,

Henk

SherinBloemendaal commented 2 years ago

Weird that the Api Platform team doesn't want it and especially because the current solution just doesn't work well in practice. Being able to filter results is a very common thing within an api and no matter what, if you want flexibility in your frontend, you need more complexity in your backend.

In my opinion, this bundle exactly what's missing in Api Platform. It would be really nice if we could create more docs + examples + configuration and release a version. Its also possible to specify an api platform version inside your composer json so if they have major BC update, composer will tell its not compatible with the newer version.

How do you think about this?

metaclass-nl commented 2 years ago

OK, i will soon add some warnings and make a version.

Adding more docs and examples will take more time. Maybe at some point you can share some examples with me from your own experience with FilterLogic for inlcusion in the documentation .

metaclass-nl commented 2 years ago

I still think new features of API Platform may cause problems, most likely those added to the filters or extensions (implements QueryCollectionExtensionInterface) of API Platform that may not be limited to creating semantically complete expressions. This will not require any "breaking changes" in terms of their api so it will only require a minor version increment.

This can not be spotted by traditional unit tests because the SQL generated by these filters will probably remain the same if the new features are not used, and it is not possible to know how to use them on beforehand. OTOH most existing code using FilterLogic will not use them either (unless it uses hydra:template) so the problems will moslty surface with new code. Maybe I could make some unit tests that use hydra:template to spot such new features.

metaclass-nl commented 2 years ago

Just released v1.0.0