Wikipedia:Bots/Requests for approval/DiBabelYurikBot


 * 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

DiBabelYurikBot
Operator:

Time filed: 01:08, Saturday, April 27, 2019 (UTC)

Function overview: Copied from Multilingual Templates and Modules


 * DiBabel bot will copy templates and modules from mediawiki.org to all other sites/languages listed in Wikidata for that page, automatically changing the template and module names.
 * It will be copied ONLY if Wikidata item has "instance of" set to (Q63090714).
 * It will be copied ONLY if the current content of the page exists in the history of mediawiki.org's (origin) version. E.g. if a user modifies English version of the page, it will not be overwritten unless that exact text ever existed in the history of the page on mediawiki.org.  To resume automatic synchronization, a user must copy the latest version of the page from mediawiki.org. Note that simply reverting a page to an older version will not be enough to prevent a bot from copying it again. A page has to be different from any of origin's revisions (e.g. add a note why the page was modified).
 * Any template names will be automatically localized inside the wiki markup, e.g. text will become , as long as Template:MW name exists on mediawiki.org, and it has a corresponding template on the destination wiki. Shared templates should not use non-shared templates, as that may cause unexpected results.
 * Just like templates, modules text  will be converted to.

Automatic, Supervised, or Manual: automatic

Programming language(s): python

Source code available: PyWikiAPI + https://github.com/nyurik/dibabel

Links to relevant discussions (where appropriate):
 * wishlist proposal

Edit period(s): on a page change with a delay

Estimated number of pages affected: Depends on the demand. Currently about 5 pages, but once templates and modules are implemented with the new system, more. The bot will only touch pages specifically created for it. See and  for an example.

Namespace(s): Template, Module

Exclusion compliant No: the bot will copy anything from MW.org to enwiki, as long as that page is tagged for its operation. If a user modifies enwiki's version in any way, including adding a flag, the bot will not override it because it will not match any of the page's revision history on mw.org. On the other hand, if mw.org has a shared page with the, that content will be copied as is, because that's the intention of the page's author.

Function details:

Discussion

 * How do you plan on maintaining attribution for edits made on other projects that you plan to "copy" here? — xaosflux  Talk 01:25, 27 April 2019 (UTC)
 * The only page where I repeatedly tested this system - Template:Shared_Template_Warning -- shows how will look like - as you can see it copies the user name(s) who made the change, and the comments added. --Yurik (talk) 01:49, 27 April 2019 (UTC)
 * P.S. Technically I do not plan to "copy" anything :) It is the users who want to use a shared templates or a module on enwiki that drives this process. Before this bot, that user would copy/paste a template, and maybe translate it, and almost never will update it to the latest version. With this approach, bot takes care of the copy/pasting and template rename modifications. --Yurik (talk) 01:55, 27 April 2019 (UTC)


 * Please list the "5 pages" you have as a sample below. — xaosflux  Talk 01:29, 27 April 2019 (UTC)
 * I'm not the bot operator, but ...
 * From d:Special:WhatLinksHere/Q63090714:
 * Template:Graph:Lines (currently different)
 * Module:TNT
 * Template:Graph:Chart/styles.css (currently different)
 * Template:Shared Template Warning
 * * Pppery * has returned 01:40, 27 April 2019 (UTC)
 * I manually ran this bot on two pages -- Template:Shared_Template_Warning and once on Module:TNT. The above pages (graph lines and css for charts) will not be copied automatically until they are made identical with the mediawiki copy.  As shared template/module library grows, and as users decide to use them on enwiki, the number of such pages will grow.  For now, this bot will only affect a tiny number of manually selected pages. --Yurik (talk) 01:48, 27 April 2019 (UTC)
 * May I suggest that you add a check that the revision on MediaWiki.org that you are syncing from is newer than the lastest revision of the template you are syncing to to stop the bot from edit warring if a human editor reverts the bot's edit? * Pppery * has returned 02:21, 27 April 2019 (UTC)
 * That wouldn't work, think of this order of events:
 * 1) mw updated rev5 -> rev6.  2) bot syncs rev6 to enwiki.  3) enwiki reverted to rev5.  4) mw is updated to rev7.  5) bot sees that current enwiki's rev5 matches an older version of mw, and copies rev7.
 * I think this is a very rare edge case, and it would be far better to actually modify enwiki's version, e.g. add a comment at the top saying that "this is a fork of the original because of XXX", rather than a simple revert. Plus, we can easily add an instruction to do that as part of the message. --Yurik (talk) 02:45, 27 April 2019 (UTC)
 * Indeed ... * Pppery * has returned 03:00, 27 April 2019 (UTC)
 * I have a small doubt. If the bot is currently blocked for running a script without permission, will this permission be approved? Adithyak1997 (talk) 11:09, 30 April 2019 (UTC)
 * see the talk page -- JJMC89 wrote If BAG approves it for trial, then I have no problem unblocking it.. I think it is a bit strange to block a bot that runs in a manual mode and edits just one page -- as required by many wikis to demonstrate that the bot is trustworthy, but different rules are different rules. Besides, this point would be moot once the bot flag is granted. :) --Yurik (talk) 03:38, 1 May 2019 (UTC)
 * I'm unblocking, as has acknowledged that they understand the rules here (if if they don't agree with them!). —  xaosflux  Talk 19:24, 1 May 2019 (UTC)


 * I was going to send this to trial, but then started writing out some questions and decided that they should probably get answered first...
 * Let's just hypothetically say that a dozen new templates get added to your "list of templates to be automatically synced" - how will you notify other editors that this is happening?
 * Do the enwiki editors even get a say in whether this auto-syncing is approved?
 * At the moment, I'd say that auto-updating Module:TNT is fine since it is used cross-language, but I'm starting to be wary of just randomly doing this to other templates/modules. Primefac (talk) 15:03, 5 May 2019 (UTC)
 * Primefac valid questions, thx. Answering in order:
 * This kind-of already happened, but hasn't caused any issues because I manually inspect (dry-run) every new template added to make sure it won't cause any issues. Plus the bot will not copy if there is an unshared dependency. In a more general sense, there are several ways for template/module authors to be aware, plus a few ideas:
 * when template is marked as shared, corresponding wikidata entry will change, causing notification
 * pages should have a Shared Template Warning added to their docs (causing notification), and we could even require the bot to make sure the warning exists in the docs, and don't copy when it doesn't. For templates we could alternatively require the warning to be part of the template itself (inside the &lt;noinclude>) to simplify things - and to cause notification when it is first added.
 * bot could always mark edits as "non-minor", thus always notifying everyone interested even if they filter out minor edits
 * eventually, bot could even require the mediawiki version to pass all test cases (I already added them to TNT and No globals) - thus making shared templates adhere to a higher coding quality from the start.
 * Of course - if enwiki editor makes any changes to enwiki version of the module, even adds a single comment, e.g. "don't update", the bot will not touch enwiki because it won't be able to find corresponding revision in MW. Without an exact match, those enwiki pages won't be edited.
 * In general, bot flag will hide edits from RC, but won't hide them from watched lists, thus only people interested and knowledgeable in the specifics of a given template/module would be notified. Hope this answers your questions, thx! --Yurik (talk) 19:57, 5 May 2019 (UTC)
 * P.S. note that bot will not be able to update protected pages. In order to notify language community of a needed change, I could make the bot modify the /doc page - e.g. add a parameter to Shared Template Page (not implemented yet). Having that parameter will show an additional message in the warning box, e.g. "This protected page has not yet been updated to the latest version", and add some category.  --Yurik (talk) 22:34, 5 May 2019 (UTC)


 * Module:TNT looks like it's being updated fairly often, so please have the bot edit that page, as well as Template:Shared Template Warning if necessary. Primefac (talk) 19:19, 8 May 2019 (UTC)
 * D are there any results and summary of the trial? — xaosflux  Talk 18:14, 16 June 2019 (UTC)

Bot operator has not edited since 11 May. Primefac (talk) 20:50, 30 June 2019 (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.