Open main menu

Wikipedia:Bots/Requests for approval/Xinbenlv bot

Xinbenlv botEdit

Operator: Xinbenlv (talk · contribs · SUL · edit count · logs · page moves · block log · rights log · ANI search)

Time filed: 06:29, Wednesday, February 20, 2019 (UTC)

Function overview: User:Xinbenlv_bot#Task 1: Notify (on Talk page) cross language inconsistency for birthdays.

Automatic, Supervised, or Manual: Automatic

Programming language(s): Javascript

Source code available: [1]

Links to relevant discussions (where appropriate): Wikipedia:Village_pump_(technical)/Archive_166#Cross_Lang_Conflicts

Edit period(s): daily or twice a week

Estimated number of pages affected: 30 per day to begin with, can increase to 100 per day if community sees it helpful. Speed is completely controllable. Overall, there are a few thousands between major wikis like EN - JA(~3000), EN - DE(~5000).

Namespace(s): Talk

Exclusion compliant (Yes/No): Yes

Adminbot (Yes/No): No

Function details:

The bot will notify editors by writing a new section on Talk page of a subject, if that subject has inconsistent birthdays in this and another wikipedia languages.

The data of inconsistency comes from a public available dataset Github, called Project WikiLoop. An example edit looks like this

- Notifying French Editors fr:Utilisateur:Xinbenlv/sandbox/Project_Wikiloop/unique_value/Discussion:Samuel_Gathimba
- Notifying English Editors en:User:Xinbenlv/sandbox/Project_Wikiloop/unique_value/Talk:Samuel_Gathimba


  • {{TakeNote}} This request specifies the bot account as the operator. A bot may not operate itself; please update the "Operator" field to indicate the account of the human running this bot. AnomieBOT 06:49, 20 February 2019 (UTC)
Fixed, changed to User:Xinbenlv. Xinbenlv (talk) 06:54, 20 February 2019 (UTC)
  • {{TakeNote}} This bot appears to have edited since this BRFA was filed. Bots may not edit outside their own or their operator's userspace unless approved or approved for trial. AnomieBOT 06:49, 20 February 2019 (UTC)
@Anomie, @AnomieBOT, Sorry, I mistakenly used my bot account to create its BRFA, it was me manually. The only bot auto edits are those in its User page. Xinbenlv (talk) 06:52, 20 February 2019 (UTC)
Don't worry about it Xinbenlv. I've struck it now as the notice isn't relevant. --TheSandDoctor Talk 04:17, 21 February 2019 (UTC)
Thank you, that makes sense. I also updated the Not for operator. Let me know if I've not done it right. @TheSandDoctor. Xinbenlv (talk) 07:18, 21 February 2019 (UTC)
This bot is helping on cross-language inconsistency therefore it shall be editing other languages, how should I apply for global bot permission? Xinbenlv (talk) 06:53, 20 February 2019 (UTC)
@Xinbenlv:, m::BP should be what you're looking for. RhinosF1(chat)(status)(contribs) 16:16, 20 February 2019 (UTC)
Thank you RhinosF1 thank you!. it seems the m::BP requires the bot to obtain local community permission and keep it running locally for a while. Therefore, I think I shall apply for approvals from multiple local communities each individually for now. Do I understand it correctly? Xinbenlv (talk) 18:48, 20 February 2019 (UTC)
Xinbenlv, That's how it read to me aswell. It's probably best to make them aware anyway before launching anything that will affect them in a big way (e.g. mass notifications being issued). You don't want to cause confusion. RhinosF1(chat)(status)(contribs) 19:01, 20 February 2019 (UTC)
RhinosF1 Thanks, agreed! That's why I am asking advice and approval in English Wikipedia so this most active community can help take a look of my (wild?) idea. Xinbenlv (talk) 19:07, 20 February 2019 (UTC)
Xinbenlv, I think it's a great idea. RhinosF1(chat)(status)(contribs) 19:25, 20 February 2019 (UTC)
Thanks everyone who are interested. Just so that you know, the bot has two trial edits on German wiki, as encouraged by the BRFA discussion. Feel free to take a look and advice is welcomed! Xinbenlv (talk) 21:59, 21 February 2019 (UTC)
Added Xinbenlv (talk) 17:15, 25 February 2019 (UTC)
    1. How often is the dbase updated? Could this potentially result in one page receiving multiple notices simply because no one has either seen or cared enough to fix the missing information?
Datebase will be updated on a daily / weekly basis, currently still in development. I plan to also rely on "Xinbenlv_bot" to surppress articles that already been touched by the same bot. Xinbenlv (talk) 17:15, 25 February 2019 (UTC)
This seems like a reasonable task to deal with cross-wiki data problems, just want to get a better feel for the size and scope of the task. Primefac (talk) 20:26, 24 February 2019 (UTC)
Thanks @Primefac: If I apply to change the bot scope to be "=<200 edits in total" for first phase, what do you think? Xinbenlv (talk) 21:37, 24 February 2019 (UTC)
The number of edits per day/week/month can be discussed, I'm just looking for more information at the moment. Primefac (talk) 21:47, 24 February 2019 (UTC)
What can I do to provide the information you need? Xinbenlv (talk) 02:04, 25 February 2019 (UTC)
Just looking for some numbers. I assume you know where to find them better than I would. Primefac (talk) 02:07, 25 February 2019 (UTC)
@Primefac: The EN-JA file contains around ~3000 inconsistencies of birthdays, the EN-DE contains around ~5000 inconsistencies. To begin with, I think we can limit to 100 - 200 edits on English Wikipedia. Xinbenlv (talk) 16:47, 25 February 2019 (UTC)

@Xover's suggestion regarding using maintenance templateEdit

Would adding a maintenance template (that adds a tracking category) be a viable alternative to talk page notices? It might be more effort due to the inherently cross-project nature of the task, but talk page notices are rarely acted on, is extra noise on busy talk pages, and may cause serious annoyance since the enwp date may be correct (it's, for example, the dewp article that's incorrect) and the local editors have no reasonable way to fix it. A tracking category can be attacked like any gnome task, and the use of a maint template provides the option of, for example, flagging a particular language wikipedia as having a verified date or specifying that the inconsistency comes from Wikidata. In any case, cross-project inconsistencies are an increasingly visible problem due to Wikidara, so kudos for taking on this issue! --Xover (talk) 18:41, 25 February 2019 (UTC)

@Xover: thank you. So far, I am applying to 5 different wikis for botflag in the same time. I received 3 suggestions:
1. use template and transclusion
2. add category
3. put it as a over article "cleanup" message box or Talk page message.
For the #1 and #2, there is consensus amongst all responding communities (EN, DE, ZH, FR). So now the trial edits on these communities are using template and category, see ZH examples:
For #3, put it as an over article "cleanup" message box, the DE community some editors prefer a Talk page message, while some prefer over-article message box. My personal opinion is that we can start slow, do some Talk page message (like 200) for trial edits, and then when they looks good, we can start to approve for allowing the bot to write over article messages? The reason being, I hope it demonstrate more stability before writing on (article) namespace. Especially for such high impact wikis of English wikipedia.
By the way, the format I prepare for English wikipedia is actually a maintenance template at User:Xinbenlv_bot/msg/inconsistent_birthday, could you take a look, @Xover:?
Xinbenlv bot (talk) 22:09, 25 February 2019 (UTC)
Well, assuming the technical operation of the bot is good (no bugs) maint. templates in article space are generally less "noisy" than talk page messages (well, except the big noisy banners that you say dewp want, but that's up to them). I suspect the enwp community will prefer the less noisy way, but I of course speak only for myself. In any case, I did a small bit of copyediting on the talk page message template. It changed the tone slightly, so you may not like it, and in any case you should feel free to revert it for whatever reason. Finally, you should probably use {{BAGAssistanceNeeded}} in the "Trial edits" section below. --Xover (talk) 05:22, 26 February 2019 (UTC)
There was a consensus to stop InternetArchiveBot from adding talk page notices. I suspect that if this bot were to start running that there would be a similar consensus to stop adding the same. My suggestion is not to do #3. --Izno (talk) 23:29, 29 March 2019 (UTC)

Trial Edits now available (in sandbox)Edit

Dear all admins and editors,

I have generated 30 trial edits in sandbox, you can find them in en:Category:Wikipedia:WikiProject_WikiLoop/Inconsistent_Birthday. I also generated 3 trial edits in real Talk page namespace

Please take a look. Thank you!

Xinbenlv (talk) 00:13, 26 February 2019 (UTC)

Update: [2] shows editor @LouisAlain: who happens to be the creator of en:Gaston_Blanquart, which is one of our 3 trial edits, update the birthday and death date on English Wikipeda. Xinbenlv (talk) 08:22, 1 March 2019 (UTC)
Update : generated 10 more trial edits in Talk namespace, I will actively monitor them. Xinbenlv (talk) 08:33, 1 March 2019 (UTC)
Dear Admins and friends interested in this topic @RhinosF1:, @Primefac:, @Xover:, @TheSandDoctor:, how do I proceed to apply for the bot status? Xinbenlv (talk) 00:38, 7 March 2019 (UTC)

Confess - realized trial edits before trial approvalEdit

{{BAG assistance needed}}

Dear Admin, I just realize English Wikipedia requires trial edits approval before running trial edits, which I already did for 9 edits in (Article) namespace. Shall I revert the trial edits? I am sorry Xinbenlv (talk) 21:13, 15 March 2019 (UTC)
@Xinbenlv: don't revert if they were good edits. — xaosflux Talk 13:49, 20 March 2019 (UTC)
@Xaosflux:, OK, thank you! By the way, is there anything else I need to do other than just wait for people to comment? It seems the discussion has halted.
How should I get trial approval?
Xinbenlv (talk) 18:08, 20 March 2019 (UTC)
Xinbenlv You just have to wait for a a member of the bot approvals group to come and approve a trial. Galobtter (pingó mió) 15:07, 22 March 2019 (UTC)

Discussion ReduxEdit

Could I just verify something? I notice that all of the sandbox trials are placing what appear to be talk page sections, while it sounds like the majority of participants (on multiple languages) feel either a maintenance template or category are more appropriate to fix this issue.

In other words, the template you've made looks like it's a wall of text that (as mentioned previously) users aren't generally thrilled about dealing with. Is there another way to make this template look more like a "maintenance" template? Maybe just the intro line ("An automated process has determined...") and the table, with instructions to remove when checked? Something that can be placed at the top of a talk page? Primefac (talk) 20:16, 4 April 2019 (UTC)

@Primefac: thank you for your question.
Message box My understanding of consensus is the other way around, for example in EN Wiki, My suggestion is not to do #3. --Izno.. In German on de:HD:Personendaten after a long discussion they reached a consensus that a talk page section (not look like a message box) is preferred in their opinions.
Category: The category is in place, see en:Category:Wikipedia:WikiProject_WikiLoop/Inconsistent_Birthday, this is added by including the template.
Actually I have an iteration that does message-box like notification but then was suggested to change to talk page section.
Something that makes this process very challenging is this is a cross language project so we are trying to accommodate suggestions from different language of Wikis while try to keep them as aligned as possible so we can effectively maintain them across languages. See FAQ m:User:Xinbenlv_bot

─────────────────────────   On hold. I feel there's a sweet spot to be had. A short message done through a template would be ideal.

== Possible Wikidata issue==
{{Inconsistent Interwiki/Wikidata Issue<!-- Come up with a better name than this please
 |lang1=fr |subject1=Ernst Joll |date1=1902-06-19
 |land2=en |subject2=Ernst Joll |date2=1902-09-10
Automated notice by ~~~~

@RexxS and Pigsonthewing:, you're the resident Wikidata experts here. Could you come up with a template that scales generalize to other Interwiki/Wikidata conflits? @Xinbenlv: feel free to participate in those efforts too. Until that template is designed, I'm going to put this on hold. Headbomb {t · c · p · b} 05:21, 9 April 2019 (UTC)

Thank you, agreed Xinbenlv (talk) 19:01, 15 April 2019 (UTC)
@Headbomb and Xinbenlv: It's quite difficult to shorten the documentation by much, but I've made a demo at User:Rexxbot/msg/Inconsistency. It takes 11 named parameters, because if you want to generalise it to other inconsistency issues, you need to supply the name of the issue as well as the other parameters. Here's an extract from the rudimentary documentation that I knocked up:
| issue    = birth date
| lang1    = en
| article1 = Ernst Joll
| value1   = 1902-09-10
| lang2    = fr
| article2 = Ernst Joll
| value2   = 1902-06-19
| bot      = Xinbenlv bot
| date     = 28 April 2019
| status   =
| by       =
You can see what it produces by looking at the documentation page at User:Rexxbot/msg/Inconsistency/doc.
If it's any use to you, please feel free to hack at these pages until you have something to your liking and/or take it for your own bot space (no attribution needed). Let me know if you want me to fix any of it. Cheers --RexxS (talk) 21:40, 28 April 2019 (UTC)
@RexxS: I've made a small tweak. The headers should be made by the bot, since we want those to give editable sections. Or at least sections that are editor-friendly. For the rest, I'm generally indifferent to the output and exact functionality, although the eyes of @Pigsonthewing and Xinbenlv would be appreciated to see if the design of the template is solid and scaleable. If everyone agrees it's a good design (and agree on a template name, e.g. {{Interwiki issue}}), we can proceed to trial. There's an option to have that as a wrapper template to create issue-specific sub-templates, but that might be a case of over engineering. Headbomb {t · c · p · b} 21:48, 28 April 2019 (UTC)
@RexxS: also tweaked the 'by' parameter to take a signature instead. Headbomb {t · c · p · b} 21:56, 28 April 2019 (UTC)
@Headbomb: That's fine, but I was under the impression that the template would only be deployed by the bot, so it really isn't likely to care what the template is called  . --RexxS (talk) 21:57, 28 April 2019 (UTC)
Well the bot wouldn't really care, but it's less WTF-y to have a template in template space for this. It could be in the bot's userspace, but that makes it a bit harder to find if similar bots are deployed in other languages, which may harm some internationalization efforts. Not a huge issue, but might as well do things right when we can. Headbomb {t · c · p · b} 22:01, 28 April 2019 (UTC)
That makes sense, even though the only technical difference between template space and any other namespace is you don't have to include the namespace prefix when transcluding it. You're right though, if you're anticipating using this sort of template with other bots, then template space is the best place for ease of location. Good thinking. --RexxS (talk) 22:19, 28 April 2019 (UTC)

{{OperatorAssistanceNeeded}} Headbomb {t · c · p · b} 01:16, 13 May 2019 (UTC)

thank you!. @Headbomb:,
  1. we expect to provide more than 2 inconsistency languages, such as 3 - 5, what will the template look like in that case?
  2. we hope to ensure cross-language consistency, if this template is going to be internationalized and copied to other languages Wikis, what is a best way to do so?
Xinbenlv (talk) 04:59, 13 May 2019 (UTC)

For 1, I believe you can just scale |lang1/article1/value1= to |lang3/article3/value3= etc. RexxS can confirm. For 2, no idea. It's good to think about, but that's not a blocker for the English Wikipedia or this bot. Headbomb {t · c · p · b} 05:06, 13 May 2019 (UTC)

@Headbomb and Xinbenlv: I'm pretty certain that it will scale gracefully to more languages, but I'd really recommend getting the bot working and approved before trying to modify it. It's far easier to get approval for improvements once there's evidence of it already working on a simpler task or smaller scale. As for internationalisation, you can call the Lua module Module:Complex date] to render dates in the wiki's language if that's the part you feel may need translating, as long as the module is available on the wiki you're working on. I assume that you've already taken care of the article titles in other languages. Beyond that, you just need to translate the text and documentation. Cheers --RexxS (talk) 16:48, 13 May 2019 (UTC)
Then once the template is moved to the Template namespace to its 'official name' (i suggest {{Interwiki issue}}, but it could be something else),   Approved for trial (10 edits).. Headbomb {t · c · p · b} 17:10, 13 May 2019 (UTC)
@RexxS:, very helpful, in particular the date internationalisation that I haven't think o.
@Headbomb: thanks for granting the trial edits. Xinbenlv (talk) 03:46, 15 May 2019 (UTC)
Sorry for my late arrival to this discussion. Xinbenlv, will there be some way for a user to mark the template, so that it is removed from the tracking category, but not retagged? For instance, when the date on enwp is confirmed as correct. Also, how does the dataset accommodate different calendars, such as when one wiki may list a date in the Gregorian calendar and another in the Julian? StudiesWorld (talk) 21:11, 30 May 2019 (UTC)
Yes!, @StudiesWorld: there are in the template if you mark fixedBy=someone Xinbenlv (talk) 22:11, 30 May 2019 (UTC)
Xinbenlv, great! Have you run the trial yet? StudiesWorld (talk) 22:26, 30 May 2019 (UTC)

{{OperatorAssistanceNeeded}} Headbomb {t · c · p · b} 04:17, 6 August 2019 (UTC)

@StudiesWorld:, hi yes we conducted some trial runs on other languages and is still in debate of what's the best format to notification. Xinbenlv(t) please notify me with {{ping}} 00:19, 8 August 2019 (UTC)