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)
The "Data Hub" and your projectEdit
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 helpEdit
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.
- 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 Bryan Tong Minh directly (the original author) or Danmichaelo (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)
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)
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: m:WikiTeam/Dumpgenerator rewrite. --Nemo 14:23, 8 June 2014 (UTC)