Wikipedia:Bots/Requests for approval/HostBot 7


 * The following discussion is an archived debate. Please do not modify it. To request review of this BRFA, please start a new section at WT:BRFA. The result of the discussion was Symbol keep vote.svg Approved

HostBot 7
Operator:

Time filed: 21:11, Thursday, March 5, 2015 (UTC)

Automatic, Supervised, or Manual: automatic

Programming language(s): Python

Source code available: repo on GitHub

Function overview: Matches users who have created a profile page at the Wikipedia Co-op with mentors who can teach them particular editing skills. When a match is made, the bot posts a message on the profile talkpage—creating that page as a Flow board, (request amended; see discussion) if that talkpage does not already exist. The bot needs to be granted the  user right to accomplish this.

This bot request is twofold:
 * 1) we're requesting the right to implement this matching functionality of the Co-op
 * 2) we're also requesting that HostBot be added to the flow-bot group so that it can deliver these matches on Flow-enabled talkpages, rather than standard talkpages.

Links to relevant discussions (where appropriate):

Edit period(s): as requested: the bot checks for new mentorship requests every ~5 minutes, and attempts to match each new request with a mentor immediately

Estimated number of pages affected: 10-20 per month

Exclusion compliant (Yes/No): Yes

Already has a bot flag (Yes/No): Yes

Function details:

HostBot is hosted on Labs. Every five minutes, it will query the Wikipedia API for new pages in Co-op-specific categories. These pages will either be new Co-op member profiles (example: Wikipedia:Co-op/AMemberUserName) or existing member profiles where a user has recently added a new Co-op specific category (indicating a change in learning interests). It will also query the API for a list of Co-op mentors with profile pages (Wikipedia:Co-op/AMentorUserName) in the corresponding mentor category who have not opted out of receiving new matches. In both cases, Hostbot/Co-op checks that the category members are in fact subpages of Wikipedia:Co-op.

For each newly-categorized Co-op member, the bot chooses a random mentor from the list of corresponding mentors. If none are available for the given interest, it chooses a random mentor from the fallback category "General editing skills". Once the match is found, HostBot leaves a post on the talk page corresponding to the Co-op member's profile page (example: Wikipedia_talk:Co-op/AMemberUserName). If this page does not already exist, the bot uses the Flow API's  submodule to post its welcome message as a new topic, thus creating the talk page as a Flow board; otherwise, the bot edits the talk page normally. The message mentions the mentor and posts on the Flow-enabled talk page of a page that the member created, and so generates an Echo notification for both of them. The member and the mentor are then free to follow up with each other, and the bot's involvement is finished.

Constraints.
 * 1) The bot's posting activity is limited to subpages of Wikipedia_talk:Co-op. If a user adds a relevant category to their user page instead of their Co-op profile page, HostBot will ignore it and that user will not receive a match.
 * 2) HostBot will not—and cannot—convert existing talk pages to Flow boards. If a Co-op profile talk page exists at the time of matching, HostBot will simply edit that page and post its welcome message in a new section.
 * 3) HostBot can only create a new Flow board if it has the  right. A bureaucrat will need to add HostBot to the flow-bot group which has this right. More details here: https://phabricator.wikimedia.org/T76785

Demonstration. This workflow is running on test.wikipedia.org already, by MatchBot. Here's an example learner profile page and talk page. You can sample it yourself if you want: click the "find a mentor" button on the co-op testwiki portal to create a sample profile and wait a few minutes to receive your matches. Note that approval for the FormWizard gadget used to create profiles on testwiki is not part of this request; matching works just as well with manually-created profile pages.

Discussion

 * The Wikimedia Foundation's Collaboration team has been working closely with the Co-op project to use Flow as the discussion system for the new program. We're excited to be a part of this new mentoring project, and we'll continue to provide technical support for the Co-op to deal with any issues that might arise from using this bot. DannyH (WMF) (talk) 22:23, 5 March 2015 (UTC)
 * I am in charge of managing the development of The Co-op, and wanted to briefly discuss the reasoning behind these proposed bot tasks. The rationale of the matching component is to drastically reduce the amount of effort required on the part of mentors and editors seeking mentors to find each other, and generally, prevent a lot of unnecessary waiting.  The rationale behind the use of Flow is to facilitate communication during mentorship.  As Flow is designed to address perceived issues with conventional talk pages, particularly with regard to newer editors, and because we are specifically inviting newer editors to use the space, our team is interested in testing it out.  That said, using Flow for mentorship-related communication is not required; mentors and editors can use conventional talk pages or whatever communication system they find most convenient.  Our pilot for the space is running for about one month, and so a 30-day trial would be appreciated.  Thanks for your consideration.  I, JethroBT drop me a line 22:40, 5 March 2015 (UTC)
 * Has this functionality been demonstrated on testwiki or anywhere else yet? Currently noone on enwiki has   access.  What is the rollback plan for actions made in error? —  xaosflux  Talk 05:33, 8 March 2015 (UTC)
 * Question on operator account: I see this operator listing is under your official WMF staff account - is this purposeful? Will these bot edits represent official WMF actions? —  xaosflux  Talk 19:13, 8 March 2015 (UTC)
 * Doing a bit of research, please provided updated data if this is not still blocked by ? — xaosflux  Talk 01:08, 9 March 2015 (UTC)
 * Hi . Excellent questions! The functionality is in evidence on testwiki (details under the heading Demonstration above). Give it a try and let me know if there's anything else I can clear up. The actions of HostBot won't be official WMF actions--tho I'm not sure what would constitute an official WMF action in this scenario. Do you mean Office Actions? In any case, no, HostBot's actions would be held to the same standards as any other bot, and I to the same standards as any bot-wrangler.
 * As to why I'm writing under my staff account: the Co-op is a grant funded experimental project, and part of this grant proposal involved a trial of the system. I work for the team at WMF (formerly known as Grantmaking, now Community Resources) that disburses and oversees grants, and in this case one of the resources they were able to offer the grantee team was some of my time to help with the trial. So right now I'm participating in the Co-op project as a staff member. I have no authority, just the responsibility to make sure the bot does what it's supposed to do, to respond to community input, and to fix anything that breaks. If this HostBot task is approved on an ongoing basis after the trial is concluded, I will continue to manage the task, but in a volunteer capacity. That's what I did with the Teahouse, which also started out as a Foundation-funded venture, but has been completely community-run for more than two years.
 * Regarding status of blocking bugs: I'll let handle that one. He's the PM. Regards, Jmorgan (WMF) (talk) 23:43, 9 March 2015 (UTC)
 * OK, operator question is not an issue; I'm running through the demo on testwiki now. — xaosflux  Talk 00:12, 10 March 2015 (UTC)
 * These blocking tasks are due to be addressed in a sprint from the Flow dev team on 11 March, although and  are being prioritized to allow for deletion of Flowboards that is consistent with how deletion is normally handled, and should be easy to resolve.  I expect these tasks to be resolved in about 2-3 weeks time, according to estimates from  .   is more complicated, and is unlikely to be addressed until much later.  We have also de-prioritized  for the purposes of the pilot as it is unlikely for Flow-enabled pages that are deleted to be restored.  I, JethroBT drop me a line 02:34, 10 March 2015 (UTC)


 * Couple of issues, please address:
 * 1) Why can users direct the bot to create arbitrary page names? (By allowing free-text co-op "nicknames" instead of their usernames)? (example: testwiki:Wikipedia talk:Co-op/OffensiveTitleNameHere) —  xaosflux  Talk 00:39, 10 March 2015 (UTC)
 * and I discussed the prospect of creating profile pages with the editor's username pre-filled to avoid this sort of thing, but there was not enough development time to implement it for the purposes of the pilot. If we were going to expand this space, I think adding this functionality would be great to avoid typos and more malicious activity like your example.  It is important to keep in mind we are only allowing a maximum of 50 learners to create profiles for this pilot because there are just under 25 mentors in the space; it's also unlikely for newer editors to discover the Co-op outside of these invitations. I, JethroBT drop me a line 03:51, 10 March 2015 (UTC)
 * 1) Lack of "Special:Unflowify" or other means of undoing this bot's  action (please correct me if this functionality is present).
 * is in a better position to discuss this question in detail. As far as I am aware, the deletion tasks that are being worked on  would create the page as a standard talk page. I, JethroBT drop me a line 03:51, 10 March 2015 (UTC)
 * Thank you, will need to be seen - I tried on test: with out luck - may be waiting for code changes, able to delete the flow converstation, but still not the topics--but afterwards the page does not revert to standard talk: style. — xaosflux  Talk 04:14, 10 March 2015 (UTC)
 * Thank you! — xaosflux  Talk 00:39, 10 March 2015 (UTC)


 * The overall matching mechanism seems pretty straight forward and uncontroversial; a non-flow enabled trial should be easy to move forward (see page naming issue first). — xaosflux  Talk 00:39, 10 March 2015 (UTC)
 * Would you rather try to resolve these flow-related questions first, or trial with Wikipedia_talk: pages for now? — xaosflux  Talk 00:55, 10 March 2015 (UTC)
 * Given the timeline the Co-op grant is operating on, for which our report is due at the end of April, and the time it would require to resolve these blocks, I would prefer to trial the matching component on standard Wikipedia talk pages for now while these matters with Flow are resolved. Thanks, I, JethroBT drop me a line 03:51, 10 March 2015 (UTC)


 * (Restricted to Wikipedia: and Wikipedia_talk: space only). NOT approved for Flowbots group addition under this trial. —  xaosflux  Talk 04:10, 10 March 2015 (UTC)


 * Thanks : one quick clarification. Is the bot only approved for trial if users are not allowed to specify the title of their profile page? Jmorgan (WMF) (talk) 15:33, 10 March 2015 (UTC)
 * No, you can trial-as is-before rolling to full productions, we can revisit. — xaosflux  Talk 17:00, 10 March 2015 (UTC)

, Alright, trial period is over. I've turned off the matching script for now. What's next? Jmorgan (WMF) (talk) 18:38, 14 April 2015 (UTC)
 * Post-trial follow up
 * Do you want to hold THIS request open until all the software chagnes are made, or change it to be for the non-flow related items and request those at a later time? — xaosflux  Talk 01:07, 15 April 2015 (UTC)
 * I think it will be best to close this request out for now while the other components (i.e. Flow) are being worked on. We can reference this discussion in a new request in regards to renewing the matching functions of the bot.  Thanks, I, JethroBT drop me a line 19:22, 16 April 2015 (UTC)
 * Actually, I'd like to get this request resolved independently of Flow. I don't yet have confirmation from the Flow team on when they will have addressed the issues you raised, and in the meantime, I'd like the Co-op to continue running (it's basically shut down now, since we can't match mentors with learners. No invites have gone out for over a week.). So my request is: can HostBot be approved to match learners with mentors by posting on their non-Flow-enabled talkpage? 
 * I probably should have separated the matching script request from the flow-bot right request at the beginning--I apologize. I will submit a new request as soon as I've had confirmation from my WMF colleagues that Flow has been patched to address the issues you raised. Best, Jmorgan (WMF) (talk) 17:27, 23 April 2015 (UTC)
 * I've struck out my request above; I'd also prefer that we have the ability to match and notify editors available to us. I, JethroBT drop me a line 19:21, 23 April 2015 (UTC)
 * Just a nudge here. Can we get approval to continue match editors again on non-flow enabled pages?  I'm hoping we can get the Co-op back up and running again, hopefully by tomorrow.  Thanks, I, JethroBT</b> drop me a line 20:09, 6 May 2015 (UTC)

Per Xaosflux's instructions I'm asking another member of the BAG to make the decision about final approval of this request. I've updated the description to reflect the more limited scope: we're just asking permission to implement the matching functionality as it was tested during the trial period: creating Flow-enabled talkpages in not part of this request. Thanks for your help! Cheers, Jmorgan (WMF) (talk) 21:32, 15 May 2015 (UTC)

Please check this. -- Magioladitis (talk) 13:01, 16 May 2015 (UTC)
 * could you or another BAG member take this on? Xaosflux isn't wiki-active at the moment. We're trying to open the Co-op up again, and mentor-learner matching is the core of the project. We have all the other important pieces in place: HostBot invites are approved; profile creation gadget is activated; we just need final approval to have the bot post a message on the learner's profile talkpage (example). I'll help any way I can to make it happen--just let me know! Cheers, - J-Mo <sup style="color:gold">Talk to Me <sub style="color:purple">Email Me  20:22, 27 May 2015 (UTC)

J-Mo can you provide me a link to the bots edits related to this task and comments about them? -- Magioladitis (talk) 23:16, 27 May 2015 (UTC)
 * , for sure. Here are all of HostBot's edits during the trial. As you can see, the bot only edits the talk pages of learner profile pages in the Wikipedia talk namespace. The bot runs on a 5 minute cron job, checking the API for pages newly added to one of the Co-op "request" subcategories that are also members of Category:Co-op_learner. If the bot finds a newly-added request category, that means a learner is requesting mentorship. The bot then selects an available mentor and posts a message to the profile talk page, @mentioning the mentor and the learner so that they both know they've been matched.
 * That's pretty much it; if the talkpage doesn't exist yet, the bot creates it (as a regular talkpage). If it already exists, the bot starts a new thread. - J-Mo <sup style="color:gold">Talk to Me <sub style="color:purple">Email Me  03:21, 28 May 2015 (UTC)


 * Ping . Could you take a look and provide feedback? Thanks, - J-Mo <sup style="color:gold">Talk to Me <sub style="color:purple">Email Me  23:55, 3 June 2015 (UTC)

- J-Mo <sup style="color:gold">Talk to Me <sub style="color:purple">Email Me  21:32, 7 June 2015 (UTC)

-- Magioladitis (talk) 22:11, 11 June 2015 (UTC)
 * The above discussion is preserved as an archive of the debate. Please do not modify it. To request review of this BRFA, please start a new section at WT:BRFA.