Operator: Drilnoth
Automatic or Manually assisted: Fully automatic, unsupervised
Programming language(s): AutoWikiBrowser
Function overview: Go through Category:License migration candidates and add |redundant=yes to images which need it needed.
Edit period(s): While I'm around to check on it. Basically continuous during the day in my local time.
Estimated number of pages affected: Most all those tagged with both ((Cc-by-sa-3.0)) or ((Cc-by-3.0)) with ((GFDL)) and other templates in Category:Templates using the license migration system. Unsure of exact total.
Already has a bot flag (Y/N): Y
Function details: With the new Wikipedia:Image license migration, bots are needed to help out with the enormous task of updating license documentation. I believe that the "redundant" parameter is most easily done by bot, since an image already tagged with both applicable licenses doesn't need any notice at all.
DrilBot would add |migration=redundant
to the GFDL-type tag of any image which: A) Does not include the RegEx \| ?migration ?\=
, since that indicates that migration information has already been added. B) Has a ((Cc-by-sa-3.0)) or ((Cc-by-3.0)) tag (or a redirect to one of them) in addition to one of the tags in Category:Templates using the license migration system. C) Does not include the RegEx non\-free|fair ? use
(see below).
If a file looks like it may be tagged as being both free and non-free, the bot will instead at a "needs-review" parameter because the image is most likely tagged as being both free and non-free at the same time, which needs human eyes.
Additionally, DrilBot may fix common template redirects (I know about WP:R2D, but if its editing the page anyway I think that standardization is good in the case of template transclusions) and perform other common cleanup similar to its CHECKWIKI fixes (from its first task), but excluding changes not wanted on most image files.
I haven't actually coded this bot yet, but I believe that it should be fairly simple with AWB's built-in features. If you want to see exactly how I'll execute this, I can write it during this BRFA. –Drilnoth (T • C • L) 17:24, 20 June 2009 (UTC)[reply]
After running some simple tests manually, I'm now confident that this can be coded without too much difficulty. Also, it would probably make more sense to limit how I get the lists not only to the category mentioned above, but also transclusions of the various templates (there's a number of reasons for this); that shouldn't make much of any difference on actual functioning, however. –Drilnoth (T • C • L) 20:47, 20 June 2009 (UTC)[reply]
I think this is a great idea. I'm not warm to the idea of adding ((Copy to Wikimedia Commons)), though, because there are too many opportunities for false positives. (For instance, a GFDL photo of the Eiffel Tower has no problems in the U.S., and so is allowable on en.wiki, but is considered a derivative work in France, so cannot be uploaded to Commons.) – Quadell (talk) 22:31, 22 June 2009 (UTC)[reply]
Let me say, in general, that this is exactly the kind of work that we want bots to be doing with respect to the license migration. I'm glad someone has stepped up to work on it. :-) Dragons flight (talk) 23:38, 22 June 2009 (UTC)[reply]
Also, ((Cc-by-sa-3.0,2.5,2.0,1.0)) should be included on the redundant making list. Dragons flight (talk) 23:42, 22 June 2009 (UTC)[reply]
Just adding in this section so that you can all see what code I'd like to use if this is approved (this is a work in progress, so is not complete in any way). Note that it uses AWB's find-and-replace options, so it is really just a set of regular expressions. I'll also be testing this supervised before letting it run automatic to make sure that there aren't any bugs.
I know that my RegEx is kind of messy because I haven't quite figured out how to make it most efficient... if anyone has any suggestions on how to simplify it, please let me know. The "DrilBotFairUseProblem" is needed for the subrules to work, because then AWB notices that the main rule was applied successfully; it's removed in the last subrule so will have no visual effect. All matches are case-insensitive and applied only once unless otherwise noted. –Drilnoth (T • C • L) 18:21, 22 June 2009 (UTC)[reply]
Extended content
|
---|
Rule If contains: Cc-by-3\.0|Cc-by-sa-3\.0 If not contains: migration|fair ?use|non ?-? ?free Find: (\}\}) Replace with: $1\nDrilBotOKtoTagRedundant Subrule Find: \{\{self2?\|GFDL\|cc-by-sa-3\.0\}\}|\{\{self2?\|cc-by-sa-3\.0\|GFDL\}\} Replace with: ((self|GFDL|cc-by-sa-3.0|migration=redundant)) Subrule Find: \{\{self2?\|GFDL\|cc-by-3\.0\}\}|\{\{self2?\|cc-by-3\.0\|GFDL\}\} Replace with: ((self|GFDL|cc-by-3.0|migration=redundant)) Subrule Find: \{\{self\|GFDL\|cc-by-sa-3\.0\,2\.5\,2\.0\,1\.0\}\}|\{\{self\|cc-by-sa-3\.0\,2\.5\,2\.0\,1\.0\|GFDL\}\} Replace with: ((self|GFDL|cc-by-sa-3.0,2.5,2.0,1.0|migration=redundant)) Subrule Find: \{\{GFDL(-author|-retouched|-self|-self-with-disclaimers|-self-en|-user|-with-disclaimers|-en)?\}\} Replace with: ((GFDL$1|migration=redundant)) Subrule Find: \{\{Multilicense replacing placeholder( ?\| ?class ?\= ?people)?\}\} Replace with: ((Multilicense replacing placeholder$1|migration=redundant)) Subrule Find: \n?DrilBotOKtoTagRedundant Replace with empty string Rule If contains: fair ?use|non ?-? ?free If not contains: migration Find: (\}\}) Replace with: $1\nDrilBotFairUseProblem Subrule Find: \{\{self2?\|GFDL\|cc-by-sa-3\.0\}\}|\{\{self2?\|cc-by-sa-3\.0\|GFDL\}\} Replace with: ((self|GFDL|cc-by-sa-3.0|migration=needs-review)) Subrule Find: \{\{self2?\|GFDL\|cc-by-3\.0\}\}|\{\{self2?\|cc-by-3\.0\|GFDL\}\} Replace with: ((self|GFDL|cc-by-3.0|migration=redundant)) Subrule Find: \{\{self\|GFDL\|cc-by-sa-3\.0\,2\.5\,2\.0\,1\.0\}\}|\{\{self\|cc-by-sa-3\.0\,2\.5\,2\.0\,1\.0\|GFDL\}\} Replace with: ((self|GFDL|cc-by-sa-3.0,2.5,2.0,1.0|migration=needs-review)) Subrule Find: \{\{GFDL(-author|-retouched|-self|-self-with-disclaimers|-self-en|-user|-with-disclaimers|-en)?\}\} Replace with: ((GFDL$1|migration=needs-review)) Subrule Find: \{\{Multilicense replacing placeholder( ?\| ?class ?\= ?people)?\}\} Replace with: ((Multilicense replacing placeholder$1|migration=needs-review)) Subrule Find: \n?DrilBotFairUseProblem Replace with empty string |
Approved for trial (50 edits). Please provide a link to the relevant contributions and/or diffs when the trial is complete. Gentle-bot: start your engines. – Quadell (talk) 12:50, 23 June 2009 (UTC)[reply]
|migration=relicense
to pages using ((GFDL-self)), ((GFDL-self-with-disclaimers)), etc.? If the template is being used properly then it wasn't from another source and criterion #4 wouldn't apply (there's a lot of these, so I think that it would be very beneficial, although there may be a small handful of false positives caused solely where the wrong template was being used). –Drilnoth (T • C • L) 14:35, 23 June 2009 (UTC)[reply]
\{\{PD|public ?-? ?domain
the same way as fair-use tagging? If something is indicated as being both PD and GFDL, one of the tags is incorrect. Thoughts? (I'd be happy to do a second trial with these additions, if that would be needed). –Drilnoth (T • C • L) 15:00, 23 June 2009 (UTC)[reply]www\.|http\:\/\/
in order to weed out any pages with external links on them (only for the "relicense" tagging; X-links shouldn't matter on "redundant" tagging). There may still be a handful of false positives then, but that should catch most of them... if wanted, I could actually tag such pages as "needs-review" rather than just skipping them.((BAGAssistanceNeeded))
–Drilnoth (T • C • L) 14:34, 27 June 2009 (UTC)[reply]
Approved. Godspeed, trusty bot. – Quadell (talk) 00:57, 28 June 2009 (UTC)[reply]