Articleinfo is probably the most widely used tool within XTools so I think we should start with it.
See http://xtools-rebirth-mrb.readthedocs.io/en/latest/ on how to set everything up on your local (also the [[ https://github.com/Matthewrbowker/xtools-rebirth#installation | README ]]). When prompted about which tools to enable, be sure to set `1` for articleinfo, but it doesn't hurt to go ahead and enable all of them, so you'll be ready to work on them when the time comes. If you need help with the setup don't hesitate to contact @MusikAnimal or @Matthewrbowker. The first bit of time working on XTools will likely be finding your way around the source code. It is built using the [[ https://symfony.com/ | Symfony ]] framework, so you might look to their docs for more general information.
There is some code for the new articleinfo, but it is merely a start. The old code can be found [[ https://github.com/x-tools/xtools/blob/master/modules/ArticleInfo.php | here ]].
Notes:
* Controller is in /src/AppBundle/Controller/ArticleInfoController.php
* Views are in /app/Resources/views/articleInfo (uses Twig)
* You can more or less adapt the same SQL queries that the old XTools uses. The relevant file again is [[ https://github.com/x-tools/xtools/blob/master/modules/ArticleInfo.php | here ]].
* Try to model the views after the current articleinfo. See [[ http://tools.wmflabs.org/xtools-articleinfo/?article=Test&project=en.wikipedia.org | here ]] for an example. Screenshots below in case the live tool goes down (it will at some point).
* Don't worry about the "skeleton" of the new XTools, e.g. the general layout. It is a work in progress.
* Ignore any external links to other tools, like "LanguageTool WikiCheck" as seen at the top, and the sections "Bugs", "Assessment", and "Pageviews". We'll add bells and whistles later.
* The [[ http://www.chartjs.org/ | Chart.js ]] library will be used for showing charts (same thing Pageviews Analysis uses). This is pretty easy to work with. There is an example in [[ https://github.com/Matthewrbowker/xtools-rebirth/blob/master/app/Resources/views/editCounter/result.html.twig#L2683 | editCounter/result.html.twig ]]
* +1,000 points for adding tests as we go along. As Matthew mentioned below, Symfony comes with a test framework based on PHPUnit.
Screenshots of the old XTools:
| {F5556092} | {F5556099} | {F5556105} | {F5556109} | {F5556112} |