Our continuous integration platform has been in operation for quite some time now and the amount of system tests, which are testing our extensions on every code change, are growing rapidly. An area that we haven't given much attention in the last years, were our automated code quality tests. The PHP eco system has some great projects like Rector or PHPStan, which are detecting issues before end users do detect them. How we integrated these tools into our CI pipeline and why there are new update urls, is explained in detail in this article.
Continuing our established release strategy, as it is the fourth Thursday in month, we are pleased to announce the latest versions for DPCalendar, DPMedia, DPAttachments and DPCases. The following new feature releases are published today for you:
- DPCalendar 8.17.0 [Download]
- DPMedia 1.11.0 [Download]
- DPAttachments 5.5.0 [DPAttachments]
- DPCases 3.5.0 [Download]
The next chapters are highlighting some of the most important changes in this release window.
Continuous code quality tests
PHPStan and rector are two tools which are improving the code quality of any PHP based project. They test if the code is type safe, does not use features of not supported PHP versions and dead code checking. We integrated these tools now on the highest level into our continuous integration pipeline. This means, that with every code commit, the whole extension is tested for it's code quality.
So we changed a lot of code internally to make these tools happy, which doesn't have a direct influence in user related features. But it reduces the risk of new bugs in the future, when we make some code changes. Part of that change was, that we had to change some external plugin related code. This forces you to make sure that all DPCalendar plugins do have to be on the latest version when upgrading to 8.17.0.
Developer note
Want to use that tools in your extension as well? The whole code is open source and part of our docker project, freely available on github.com/Digital-Peak/DPDocker/code.
New update site urls
As our products are getting more popular, the load on our existing update server increased massively in the last years. This lead on certain sites to error messages. That's why we moved the update site urls to our CDN for a more reliable and robust delivery. The old urls looked like https://joomla.digital-peak.com/index.phpoption=com_ars&view=update&task=stream&format=xml&id=xx while the new ones look like https://cdn.digital-peak.com/update/stream.php?id=xx. If you have them hard coded somewhere, please change the old urls. They still work, but slower than the new ones.
Overhauled list view filters
The DPCalendar list menu item shows events in a list, blog or timeline view. All these views have a basic search and filter panel. In this release we added an extra calendar and author filter beside the already existing date, location and text search filters. Like that are your visitors able to search exactly what they want.
With the new approach, it is even possible to add more filters through a system plugin. More information about the list menu item can be found in the related doc article.
DPBexio: Sunset
As our Bexio bridge didn't get the attention we hoped, we are cancelling the project and are removing it from our download and subscription pages. We are still convinced, that it has a great potential and are using it for our own usage.
Bugfixes
We are eager to improve our extensions on a regular basis. That's why every major/feature release does contain also bug fixes and small enhancements as well to improve the stability and performance.
A full changelog is added in the respective download release description on our download site.
Upgrade considerations
- I'm getting the error:
Declaration of PlgDPCalendarCSV::getContent(...) must be compatible with DPCalendar\Plugin\DPCalendarPlugin::getContent(...)
As some signatures have changed in our extensions, please make sure that all extensions are updated on the latest version and not only the core package. If the automatic updater doesn't work, please download the extensions manually and install them. If you still get the error, please unpublish the plugin before you install the update. - As the update sites got a new url, the download ids must be set again in DPMedia.
- If you have template overrides of the list menu item form file, please update it as it is very likely that it wont work. Because we completely overhauled the layout to work with the filters from the back end, in the same way.
Kind regards
Allon Moritz aka laoneo
Founder of Digital Peak