Talk:Evaluating and Improving MediaWiki web API client libraries

Just needs an actual link to/description of the microtask page. Fhocutt (talk) 09:55, 18 March 2014 (UTC)

Tools
Will you also consider/update http://wikipapers.referata.com/wiki/List_of_tools ? It's linked from m:Research:Resources in the Wikimedia research hub. --Nemo 11:05, 30 March 2014 (UTC)


 * It looks like there are a few API client libraries listed under Tools, but not many--I can absolutely update that list with the best ones I find, and add better descriptions to the ones listed. Fhocutt (talk) 08:05, 2 April 2014 (UTC)

Hello

The "Data Hub" and your project
Hi Frances, there is an ongoing project that is related with your proposal: Data & Developer Hub (provisional name). It would be useful to see how your proposal can feed that project. For instance, in addition to the quality and completeness of the APIs, we welcome feedback on good practices organizing and presenting API documentation. As an exercise, it would be also useful to share your first impressions about that project. Ultimately, the results of your work will be conditioned by how effective are we at publishing useful and attractive documentation for developers willing to work with the MediaWiki API.--Qgil (talk) 14:53, 2 April 2014 (UTC)


 * Thank you for the link! I would be interested in contributing to that project. I've programmed before but I wasn't familiar with APIs when I started this project, and the MediaWiki API has a steep learning curve. Having documentation aimed at developers who are not skilled LAMP developers and collecting the various Wikimedia documentation in one place would both be helpful. I can add the resources I find while I'm learning to Data & Developer Hub. Fhocutt (talk) 21:09, 2 April 2014 (UTC)


 * Qgil, if Data & Developer Hub is higher priority than improving the libraries themselves, I'm open to using the last few weeks of my project to contribute content and documentation to that. Should I talk with Sumana Harihareswara and Tollef about that possibility? Fhocutt (talk) 21:59, 2 April 2014 (UTC)

Offer to help
This project is quite interesting. I'll keep a close eye on it, and will be glad to help out if I can. Although I'm not a main developer, I have commit rights in mwclient, so I'll make sure to look into implementing any suggestions coming out of this project that would make it easier to use, whether in code, error messages, documentation, etc.

Also, when you start looking at Javascript, perhaps these notes/links could be of help. --Waldir (talk) 19:55, 30 April 2014 (UTC)


 * Waldir, thanks! I will keep that in mind.
 * Waldir, I now have some questions about how mwclient is designed. I've been looking at the code, but I'm not sure what's going on with generators and listing.py in general. Do the generator functions also prepare MediaWiki API calls using the generator module, or is "generator" used in some other sense? Does the library make individual API calls for each item in the list? It looks like raw_call sends requests either via the API or via a screen-scraper-type function for compatibility with no-write APIs. Is that correct? Thanks! --Fhocutt (talk) 20:19, 13 June 2014 (UTC)


 * To be honest, I know very little about how mwclient actually works. I am mostly involved in its development for maintenance/housekeeping reasons, particularly its recent migration to github. You'll probably have more luck asking directly (the original author) or  (the other currently active maintainer of the project, who actually knows his way around the code). In any case, just to make sure, you might want to take a look at the documentation, particularly the page about Site.allpages and the "Implementation notes" section of the README, as both talk a little about generators in the context of mwclient. --Waldir (talk) 23:29, 14 June 2014 (UTC)

Other languages?
I was certainly hoping to see php as one of the languages evaluated, as so many amateurs write one-offs for that language. There are several mediawiki api libraries in packagist, for the composer dependency manager, as well as a range of less-formally maintained libraries. - Amgine (talk) 19:40, 4 June 2014 (UTC)
 * Amgine, unfortunately I don't have any experience with PHP and so didn't choose to work in it this summer. If someone else wants to use API:Client code/Gold standard to evaluate the existing PHP libraries, though, I would love to see that. --Fhocutt (talk) 17:51, 5 June 2014 (UTC)
 * Well, I don't feel I'm knowledgeable enough to do such an evaluation, but I'd be happy to be mentored - either in helping to build/building a compliant library or in doing such an evaluation. - Amgine (talk) 15:53, 7 June 2014 (UTC)

WikiTeam requirements
WikiTeam deals with tens of thousands MediaWiki installs in all sorts of MediaWiki releases since even well before the existence of API, including 1.5 (no kidding!) and sometimes even 1.3.

We currently rely on hacky screenscraping and regexes glued together with the occasional API call, mostly to reach total BC easily (all merits to emijrp), but we'd like to change. We aim to use pywikibot as our "library", (in theory it supports screenscraping too), but the list of requirements I'm making may be of help for comparisons too, a link doesn't harm: WikiTeam/Dumpgenerator rewrite. --Nemo 14:23, 8 June 2014 (UTC)