I say working in node is sure better than not working at all. :D
Keep it up!
-- brion
On Thu, Feb 12, 2015 at 3:45 PM, Daniel Friesen daniel@nadir-seen-fire.com wrote:
((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.
-- ~Daniel Friesen (Dantman, Nadir-Seen-Fire) [http://danielfriesen.name/]
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l