Hello all,
I'm finishing up the evaluation portion of my API client library
internship project. As a part of that, I'm making sure that
feedback/bug reports/feature requests end up where they should be. I
made several suggestions at the end of the pywikibot-core
evaluation,[1] and have been linking bugzilla issues to some of the
criteria. I also left comments on the documentation RFC [2] with the
documentation-related suggestions.
This leaves a handful of larger-scale/general/structural suggestions for change:
* As of 25 July 2014, there are 105 open patches in gerrit. The patch
review process should be streamlined and/or prioritized to reduce the
backlog of unreviewed patches.
* Iterating over a list and calling the API for each item is an
inefficient use of API calls. Pywikibot could be made more efficient
by combining API calls as much as possible (e.g. using generators and
combining resultstitle=title1|title2|...). One option may be a
constructor method that collects Page requests and enables larger,
less frequent API calls.
* The initial installation process features a series of obscure
options and confusing installation documentation. Redesign the initial
installation/configuration process to be lighter-weight, soliciting
and valuing feedback from new or one-time users in the redesign
process. Is it necessary to be logged in before `import pywikibot`
will not cause an error?
* Foster a hospitable attitude on pywikipedia-l, especially to new
and/or inexperienced users. Consider agreeing on community standards
for interaction; the Hacker School social rules[3] may be a useful
starting point.
Is Bugzilla the best place for these? Would these be useful to discuss
at the pywikibot hackathon at Wikimania? Is there somewhere else these
suggestions ought to go?
-Frances
[1]
https://www.mediawiki.org/wiki/API:Client_code/Evaluations/Pywikibot#Sugges…
[2]
https://www.mediawiki.org/wiki/Manual:Pywikibot/Documentation_RFC#Suggestio…
from pywikibot gold-standard evaluation
[3]
https://www.hackerschool.com/manual#sec-environment