2019 To Do List

Happy new year, everyone. I hope you had a good start into 2019.

Over the last months I did not work much on DokuWiki for various reasons: I coded a lot at my day job (mostly for relaunching WikiMatrix) which pretty much drained all my desire to spend more time with coding. Instead I did a couple of small electronics projects and I was also busy with relaunching WikiPatterns.

I fear the next months will continue to be busy at the office, but there are a few DokuWiki things that absolutely need to be done. Ideally I will not need to do them all on my own, but I still need to organize and gather the help I need.

  • Hotfix Release for PHP 7.3
  • Finishing the PSR-2 Refactoring
  • Server Upgrade to PHP 7
  • New Release

Just four things. Of course there are also hundreds of issues and pull requests for DokuWiki and my plethora of plugins that are waiting for my review, but I won't make any promises I can't keep. These four things have priority.

Hotfix Release for PHP 7.3

As you know, PHP 5.6 reached the end of life now. PHP 7 is the not so new thing now and PHP 7.3 was released just last month. Unfortunately DokuWiki Greebo throws a single warning when running with PHP 7.3. The problem has been fixed months ago in the development version, but most of you are running the stable release.

Since a new proper release is still further in the future (see below), I want to release a hot fix soon.

Unfortunately, doing a release is a somewhat lengthy process. It's not complicated, it just needs quite a few manual steps to be followed. Automating this process further, is definitely something I want to look into in the future. But for now the manual way it is.

Finishing the PSR-2 Refactoring

I wrote about this refactoring before. When I started, I optimistically thought to be done within 2 weeks. Well, that was in April. Ouch.

The process stalled mostly for the above mentioned lack of coding energy, but also because I got side tracked with refactoring parts of the plugin loading system. My plan is to abandon this side track (it didn't work out as I thought is would anyway) and to focus on the remaining PSR-2 code style issues only. Probably with some generous application of ignore rules.

Because this took so long, I will probably also be busy solving some merge conflicts with the master branch.

Server Upgrade to PHP 7

As mentioned above, nobody should run PHP 5 anymore. Unfortunately, the DokuWiki server still does. This is because we're still running Debian Jessie.

To upgrade to PHP 7 we probably should also upgrade the underlying OS. In the past we did major OS upgrades by also upgrading to a new server. Should we do this again? Or just upgrade the running one? Maybe we should rethink the whole architecture of having a single server running all our services (wiki, forum, xref, code search, IRC bot, translation interface, etc.) and switch to a more modular Docker architecture? I'm not sure how to best approach this whole thing and it needs some discussions with the admins.

Upgrading to PHP 7 also introduces another problem. Our forum runs on the "Unclassified Newsboard (UNB)" software which is no longer in development. It is not compatible with PHP 7.

I created a branch that seems to work on PHP 7 a while ago. It might be a good enough solution at first, but might have problems in the future. I would like to switch to a different software some day. Most probably Discourse. But that requires investigating into exporting all the forum contents and importing it in the new software. More custom code needed. If anyone wants to help out, please let me know.

New Release

Of course I also want a proper release in 2019. With the PSR-2 related architecture changes and some of the currently pending pull requests, we probably have enough features to warrant a release. But all the stuff above is more important.