Wikipedia:Bots/Requests for approval/APersonBot 9


 * 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 neutral vote.svg Request Expired.

APersonBot 9
Operator:

Time filed: 03:29, Monday, May 30, 2016 (UTC)

Automatic, Supervised, or Manual: supervised

Programming language(s): Python

Source code available: https://github.com/APerson241/APersonBot/blob/master/update-participants/update-participants.py

Function overview: Moves inactive project participants to a new "Inactive participants" section.

Links to relevant discussions (where appropriate): WP:BOTREQ

Edit period(s): Weekly, perhaps

Estimated number of pages affected: 500

Exclusion compliant (Yes/No): No

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

Function details: Checks each listed participant for activity (i.e. any edits made in the last 3 months), then moves the inactive participants into a section titled "Inactive participants". The order of the participants is preserved.

Discussion

 * The linked discussion noted this may not be suitable for all projects, are you planning on having wikiprojects "opt in" to this? — xaosflux  Talk 04:44, 30 May 2016 (UTC)
 * I'm completely willing to make it opt-in, but I don't think it's a good idea. As noted, I was looking at it as an out-of-date contact list. Contact lists are only as useful as they are accurate. In the scenario brought up in that comment (only 4 active editors remain in a 50-editor project) it's not likely that I'd be able to get consensus for opting in at the project talk page, and if, say, I wanted to find the 4 active editors to ask them about opting in, I would have done the bot's job for it already. Enterprisey (talk!) (formerly APerson) 15:07, 30 May 2016 (UTC)
 * Pinging, who originally said it should be opt-in. Enterprisey (talk!) (formerly APerson) 15:10, 30 May 2016 (UTC)
 * I'd like to see some buy-in from some actual projects before you would be able to just start editing every/any project page - please list this at WP:VPR. As far as trialing, are there any projects that will opt-in that the trial can address? —  xaosflux  Talk 23:03, 30 May 2016 (UTC)
 * VPPR discussion started. Enterprisey (talk!) (formerly APerson) 03:26, 31 May 2016 (UTC)
 * I'm not comfortable with the idea of automatically retiring people when they take a break. But not so bothered if it applies both ways, so when a person resumes editing they automatically get moved back to the active list.  Ϣere Spiel  Chequers  23:30, 31 May 2016 (UTC)
 * The bot would definitely move users under the inactive heading back to their original spots if it saw any activity. Enterprisey (talk!) (formerly APerson) 01:04, 1 June 2016 (UTC)
 * When moving people between lists, is there a enwiki wide standard for ordering? (e.g. alpha, last edit, etc) that you will be following? —  xaosflux  Talk 03:27, 1 June 2016 (UTC)
 * At the moment, I preserve as much of the original ordering as possible. For example, if editors A, B, C, and D are listed and B and D are inactive, then the list will look like this:
 * A
 * C
 * ===Inactive participants===
 * B
 * D
 * There is, of course, a problem if B becomes active again: how am I going to tell the bot that B has to go between A and C? I could tag each editor with their position on the original list when the bot makes its first edit, which would work in every case, even when the editors are ordered by, say, the date they joined the project. However, that introduces a lot of clutter. The bot could also try to figure out the ordering by inspection; if everyone seems to be in alphabetical order, then the bot should use alphabetical ordering. However, I think the best idea is to scan for the last revision before the bot edited to get an idea of the order everyone should be in (taking into account the situation where bot and human edits are interwoven) and use that for ordering. Enterprisey (talk!) (formerly APerson) 04:42, 1 June 2016 (UTC)
 * I'm curious whether you've extracted an algorithm for this yet. You might be able to comment the line out instead of removing it entirely, and then uncomment it if they become active again. → Σ σ  ς . (Sigma) 07:52, 4 June 2016 (UTC)
 * Great idea! I'll see if I can implement that. Enterprisey (talk!) (formerly APerson) 18:25, 5 June 2016 (UTC)
 * Enterprisey (talk!) (formerly APerson) 21:45, 16 June 2016 (UTC)
 * From the discussion above it looks like you were still working on some coding - has this completed? — xaosflux  Talk 02:26, 17 June 2016 (UTC)
 * Yes, it's mostly completed now. Enterprisey (talk!) (formerly APerson) 02:35, 17 June 2016 (UTC)
 * For trial purposes, do you have a subset list of projects this will be tested against? — xaosflux  Talk 04:31, 20 June 2016 (UTC)


 * D Question, not all projects are just a list of "names". Will you be preserving notes, signatures etc?  e.g. look at these lists:


 * 1) WikiProject_Firearms
 * 2) WikiProject_Canadian_law
 * 3) WikiProject_Atheism/Participants
 * 4) WikiProject_Cryptozoology/Members
 * 5) WikiProject_Medicine/Participants

I don't see a great way to ever set this bot loose on every wikiproject, and you don't want them to opt-in; so will this be defacto limited to only projects that use a specific ordering and styling method you are expecting? — xaosflux  Talk 04:39, 20 June 2016 (UTC)
 * My bot code actually successfully parses all of those lists of participants; what I do is scan for standard username-looking things (strings of characters that aren't "User0" or whatever) and then move entire lines around (preserving notes and signatures in the process). I suppose I could ask at the WikiProject Council if any projects are interested. Then again, the entire point of this bot task is to update participant lists for inactivity, and by definition, inactive users aren't around to update their own participation in projects. Enterprisey (talk!) (formerly APerson) 04:45, 20 June 2016 (UTC)


 * I'm curious how your bot would update the tables on WikiProject_Medicine/Participants. Looking at wikitext_to_usernames, I can't see how it would deal with all the table markup. → Σ σ  ς . (Sigma) 06:26, 20 June 2016 (UTC)
 * I'm probably going to have to make it split by |- if it detects that participants are in a table. Enterprisey (talk!) (formerly APerson) 11:39, 20 June 2016 (UTC)


 * To approve this in to trial, I'm going to need to see a list of projects you will trial with, you will need to notify the project talk of this bot request, and you should include projects with different layouts. Your bot page and edit summaries should detail the task, including how to opt out of it on a per-project basis.  —  xaosflux  Talk 01:55, 21 June 2016 (UTC)


 * xaosflux's question was never answered. Will this be defacto limited to only projects that use a specific ordering and styling method you are expecting? At the moment the standard two-sectioned, one-per-line, numbered list format and wikitables. → Σ σ  ς . (Sigma) 03:22, 21 June 2016 (UTC)
 * Yes, of course - if the bot can't parse a page, it won't attempt to save it. Enterprisey (talk!) (formerly APerson) 03:23, 21 June 2016 (UTC)


 * Well, I don't doubt your bot's ability to parse a page and successfully extract usernames. My concerns are over the generation of the updated page, though. It seems to be doing more than just moving lines around: TEMPLATE = u"{}\n===Inactive participants===\nGenerated by a bot\n{}" ← This doesn't seem to take into account already-existing "inactive participants" sections, for example.
 * I don't think it would be useful to have a trial if it mangles every page that isn't the standard two-sectioned, one-per-line, numbered list format. I suggest that before this is approved for a trial, you run the bot on the wikiproject participant pages that xaosflux listed (our ad-hoc unit tests, so to speak) and dump the results in a subpage in userspace for review. If that is reasonable, of course: → Σ  σ  ς . (Sigma) 05:39, 21 June 2016 (UTC)
 * FYI: This script is very similar, written by for WP:WikiProject X. You two may want to discuss this together. → Σ  σ  ς . (Sigma) 06:33, 21 June 2016 (UTC)
 * I will note that the WPX UI approaches project membership completely differently from other WikiProject design methods, but this approach makes it easier to automate the list. Members have "WikiProjectCards" that are transcluded onto a WikiProject's members subpage. If members go for more than a month without editing, the card is moved to a list for inactive members. See for example WikiProject Women in Technology/Members. Harej (talk) 15:06, 21 June 2016 (UTC)
 * I basically just picked a few pages at random from the active projects list - preproduction trial might be good to copy that entire page to a bot subpage, then run it on there (perhaps wrapping the entire page in a comment tag to avoid sending notifications). — xaosflux  Talk 13:01, 21 June 2016 (UTC)


 * I generally support this task, but it should probably be opt-in. For instance, WP:CFL uses two years as our "inactivity threshold". Is that a good thing? Probably not, but I also think three months is a bit short and wouldn't want our participants list tinkered with without discussion. As a side note, what are your thoughts on dropping a talk page notice when you move someone's username to the inactive list? This would both let them know they need to move their name back when they return and potentially prod them into coming back to the project. ~ RobTalk 22:53, 22 June 2016 (UTC)
 * I did consider leaving talk page notices, but thought it would be a bit spammy. However, I agree with you that it would probably be a useful improvement, so long as marking one user as inactive on two different project pages only results in one notification sent to that user. Enterprisey (talk!) (formerly APerson) 01:32, 23 June 2016 (UTC)
 * Yes, exactly. Not sure what would be the best way to do that; either keeping a log of users you've notified or checking if the bot has any edits on that user talk page would work. ~ RobTalk 01:34, 23 June 2016 (UTC)


 * This discussion has sort of died down - it is pretty clear we are not going to open a trial on this to every wikiproject, so you have a few options:
 * (a) Get a few projects to opt in for trial.
 * (b) Make copies of several actual project participant pages in the bot's userspace, and run the updates there.
 * How would you like to proceed? — xaosflux  Talk 02:28, 3 July 2016 (UTC)
 * I'm just a tad bit busy right now, but hope to get to this by this weekend. (I'm going to leave the operator assistance tag activated to help remind me.) Enterprisey (talk!) (formerly APerson) 05:16, 7 July 2016 (UTC)
 * Alright, the code has been updated so that it writes the participants pages to a subpage of User:APersonBot/sandbox/Task 9. For the trial, I guess I'm going to run the bot and feed in X titles of wikiproject pages? Enterprisey (talk!) (formerly APerson) 03:33, 24 July 2016 (UTC)
 * We identified 5 projects up there - do you have any other or different ones in mind? Are you going to copy the exiting page and code verbatim, then update your copy? —  xaosflux  Talk 01:45, 26 July 2016 (UTC)
 * I was thinking of taking 50 (or however many edits you decide on) random pages that start with Wikipedia:WikiProject, and conducting (heavily supervised) bot runs that way. And yes, making userspace copies was what I was thinking of doing. I don't, however, think the participant activity statuses are likely to change over the course of the trial; I'd be happy to test that part of the bot's functionality, though. Enterprisey (talk!) (formerly APerson) 03:57, 26 July 2016 (UTC)
 * So, I'm a bit lost here to move you to trial, making copies of the project participant pages to edit is good - and it should include several "types" (see the samples above); how to suggest actually testing the user changes -- are you hoping they will have users that go active/inactive? — xaosflux  Talk 04:17, 26 July 2016 (UTC)
 * I'm sorry if I was unclear; I meant that I don't think it's necessary to test any changes in the lists, although if that happened it would be a bonus. Enterprisey (talk!) (formerly APerson) 02:50, 27 July 2016 (UTC)
 * So if you won't be making the edits this bot is designed to do in trial--what are we supposed to evaluate? — xaosflux  Talk 04:03, 29 July 2016 (UTC)
 * I think we've gone a bit off the rails here. Why are we testing this in userspace? Why not just update the project member lists and then revert? I'd feel differently if it were the mainspace, but it's project space; they can live with having an updated project member list for 15 seconds. ~ Rob 13 Talk 04:06, 29 July 2016 (UTC)
 * There are concerns that the bot won't handle all of the formats correctly, I'd love to see just a few sample udpates, copying the wikitext from a project page would also take seconds. The other concern is that the trial won't actually do anything - so will be hard to evaluate. —  xaosflux  Talk 21:20, 29 July 2016 (UTC)


 * So as far as moving to trial - is this something you still want to actively work on now? — xaosflux  Talk 13:58, 8 August 2016 (UTC)


 * - may be brought back to OPEN status at any time. — xaosflux  Talk 01:25, 16 August 2016 (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.