Listbuilder fixes for GroupBy queries
When one of our community members tried to extend the Contact & Accounts List with Categories and Tags, we stumbled over a problem with the ListBuilder for the GroupConcat queries. As in MySQL strict mode, it's required that all selected fields need to be part of the groupBy. Especially for a dynamic list builder, this was creating a big problem.
The solution to keep everything performant was to split the queries for the ListBuilder. Besides the existing "Ids Query" for the Filters, we split the additional select query. The first query will just return selected fields which do not have groupBy required. The second query will handle the groupBy and add the additional groupBy fields to the existing data.
This is now all handled internally by the ListBuilder — you don't need to worry about it! With this change, a small feature was added so that Tags & Categories can be enabled in the Contact & Accounts list.
Some more fixes
Another required change in the sulu/skeleton was applied by Symfony Core Team Member Nicolas Grekas. With the latest release of the php-http/discovery, that package becomes a composer plugin. This means the following command needs to be run to allow it in your composer.json file:
composer config --no-plugins allow-plugins.php-http/discovery true
More small fixes were applied — you can read about them in the changelog.
What's coming next?
We are trying to keep easy issues open for our new contributors. If you are willing to help push Sulu forward, have a look at the "Easy Pick" label in our issues. Let us know if you start with an issue so we can give you more information or if doing a kickoff is needed.
Like we mentioned in the last release blog post, we are still preparing the new ReferenceBundle feature for Sulu 2.6. We will keep pushing this forward for a better user experience for content managers.
We are happy to hear your feedback about newly released features and bug fixes. Feel free to create an issue or a discussion on GitHub for bugs and feature requests. You can also contact us via Slack or our website anytime.