Open daniel-lerch opened 1 year ago
Hi Daniel, How are your code customizations and Renzo Lauper's customizations actually merged? I'm asking because unfortunately you can't see any progress here. Or will Renzo release his "Version R50, Copyright © 2003-2023 Renzo Lauper"? We're on version R48 here at Github. When is R50 coming? Best regards Christian
@GutDing
I asked Renzo Lauper a few times for a release date of kOOL R50 on churchtool.org. Unfortunately, he only told me to wait because these versions will be released at a later time.
At first I assumed that Renzo Lauper would never release an open source version after kOOL R45 again and started a major code cleanup, renamed files and installed libraries via Composer. When Renzo Lauper released R46, R47 and R48 in 2020 out of the blue it caught me off guard. I had to throw away almost all of my work and was only able to merge some Docker related changes into the R46 branch and future versions.
After that experience, I tried to keep changes as small as possible and local in one place. I fixed some bugs from the upstream version, added Docker support and rewrote parts of mailing.php
but that's it. These very few changes can easily be merged using a three way merge editor like in Visual Studio Code.
Now that Renzo Lauper might take a long time to release R49 and R50, it might be worth considering to fix issues for PHP 8.0 but keep the existing master
branch as a backup. For a future upstream release we could then easily throw away all custom changes for PHP 8.0 and keep those developed by Renzo Lauper.
However, as I said, I won't continue working on PHP 8.0 support for OpenKool (unless someone wants to pay for it). In my church we have just migrated to ChurchTools and I am working on Korga to support features like mailing lists like in kOOL also for ChurchTools.
With PHP 7.4 having reached its end of life on 28 November 2022, OpenKool does not receive security fixes to its underlying Docker images anymore.
Lifting OpenKool at least to PHP 8.0 would require a huge effort. Libraries don't seem to be such a big deal this time. However, kOOL calls
sizeof()
and other functions withNULL
values countless times. Therefore, many null checks have to be introduced.I have started working on PHP 8.0 support on the
php8.0
branch but won't complete this effort. Feel free to fork OpenKool and continue if you are interested in up-to-date dependencies and Docker images.