Even though the DokuWiki Upgrade plugin has existed for some time, we at eQTeam have never used it because of software customizations we do for customers. Aside from the layout template, we touch several other files to make our implementations work with existing applications and databases already in use at the customers'. For this reason, we have always upgraded by hand.
Since the upgrade plugin only upgrades the core system and not the plugins, we decided to give it at try feeding it a version of which we did not alter any of the core software. The source version was 2015-08-10 “Detritus”. The target version was 2015-08-10a “Detritus” which only contained some hotfixes. So, only a few files needed to be replaced, we reckoned.
We checked this by installing both a clean 2015-08-10 “Detritus” and 2015-08-10a “Detritus” version, and subsequently have KDiff3 run a comparison on the entire directory structure. As a result, only 6 files were different. In neither of the installed language directories, i.e. 'en', 'nl', 'de' and 'es', were any differences found.
Before doing the upgrade, however, we backed up the existing version renaming it to before-upgrade and renaming the identical original version to after-upgrade. Now we were ready to go.
We were pleased by the smoothness of the process and liked the phased progress bar shown on the screen.
Below screenshots give a good overview of the upgrade. Clicking on one of the images will open a lightbox popup allowing you to slide back and forth.
What struck us when upgrading, was the amount of language files that scrolled by on the screen. Even though our source system only had 'en', 'nl', 'de' and 'es', now all the remaining languages that DokuWiki offered were flagged as missing and consequently installed.
So we started with 2015-08-10 “Detritus” with only 4 languages and ended up with 2015-08-10a “Detritus” with all languages. Problematic? Well, not really since the additional files only consumed about 4Mb.
After rerunning a KDiff3 check on our before-upgrade and after-upgrade version, also the 6 above mentioned files were updated successfully. So we were pleased with the result.
Based on our experience with the upgrade plugin, we came up with a semi-automatic procedure to upgrade customized DokuWiki environments.
We were able to built scripts which run before and after the upgrade plugin, and we now check only the orginal files that were replaced by new ones if these have been customized by us.
It goes without saying that we run a rigorous system test after semi-automatically upgrading a customized version of DokuWiki.