((Jump to the -- TL;DR -- if you just want to answer my question))
Hey guys, right now managing extensions is a complete mess for those of us with a wiki running a dozens of extensions on a VPC. Even if you use git to make things easier. You still need to batch fetch/pull multiple git repos. And then some extensions don't work via git, instead you install them using composer. ((And don't say use mediawiki/extensions.git, that should conflict with composer extensions, doesn't help when an extension uses something like version tags, and appears to have the same issues with bulk updating a few extensions))
I convinced my boss to let me spend some time (when I have no client projects to work on) building a tool to make managing extensions easier for CLI users.
Some notes on the idea here: https://www.mediawiki.org/w/index.php?title=User:Dantman/Code_Ideas&diff...
Please note that this is NOT meant to be the new way we manage extensions forever, this is a hack meant to be used as a workaround to deal with current reality until the grand future when we're supposed to have a complete extension management system built into core with its own web interface.
-- TL;DR --
Now, my question. Do you guys want me to build the local tool in PHP as a maintenance script or in node.js?
Actually perhaps I should instead ask "Are you guys fine if I build this in node.js?" because I have a feeling this will be hell to develop if I have to write it in PHP.
PHP Pros: - We could bundle this with MediaWiki core if people like it. - You don't need to install Node.js (though it's not 'that' hard).
PHP Cons: - Every time I've tried using PHP proc functions I've had to spend endless time debugging. And this tool requires dozens of proc calls. - The tool is going to be difficult to access until at least the next MediaWiki version, since it won't be bundled. -- It may end up useless for a bunch of people right now when it's supposed to help. -- It may also end up locked down so only users with more recent installations of MediaWiki may use it (
Node.js Pros: - Once you have node, getting the tool will be as trivial as `[sudo] npm install -g mediawiki-...something...`. - The tool will be available for and should work on any MediaWiki version you can get a current extension to work on, not just future releases. - Executing git and composer from node to download things is trivial. -- I not only expect it to be easy, I'm already doing it. The server code is Node.js and is already happily chugging away fetching all our gerrit based git repos, doing multiple in parallel. - I could make parts of the tool interactive and much more user friendly.