On the one hand this has been working fine for well over 10 years.
On the other hand in that time:
- PHP has changed, namespaces are a thing
- Functionality has been added/removed/split without real refactoring
- Data size has continued to grow
- Minor changes have been done to keep things along
Currently:
- There is no good separation of templates to view logic, the view template directly consumes the database row for example
- There is no test coverage, minimal CI checks
- Tools supports an oldish PHP version (T401875)
- Damian doesn't have a local dev environment for PHP projects (there are scripts laying around to setup a local docker image but this is a bit painful every time)
- There is no good (no on webservice) logging to pick up warnings/deprecating
- Dependency management is very ad-hoc
There is the option to write a replacement interface, this was done for review, but review was not usable in the previous state (app engine), compared to this which 'sort of works'.
There is also the option to refactor the existing code, however is that a priority over the wikipedia lib or cluebot3 or cluebot-ng.
Part of this question is in the long term maintainability and skill set; currently we have Python/PHP/C++ in use and Go in experiment. The author's bias would be to do this in Python, but is this the right choice.
What survives the next 12 years? No not Perl
On the one hand this has been working fine for well over 10 years.
On the other hand in that time:
Currently:
There is the option to write a replacement interface, this was done for review, but review was not usable in the previous state (app engine), compared to this which 'sort of works'.
There is also the option to refactor the existing code, however is that a priority over the wikipedia lib or cluebot3 or cluebot-ng.
Part of this question is in the long term maintainability and skill set; currently we have Python/PHP/C++ in use and Go in experiment. The author's bias would be to do this in Python, but is this the right choice.
What survives the next 12 years? No not Perl