Articleinfo is probably the most widely used tool within XTools so I think we should start with it.
See https://wikitech.wikimedia.org/wiki/Tool:Xtools#Installation_on_local_machine on how to setup the app on your local. If you need help 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 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 here.
- 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 here.
- Try to model the views after the current articleinfo. See 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 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 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: