User:Icem4k Bot: Difference between revisions

From Chalo Chatu, Zambia online encyclopedia
No edit summary
Line 1: Line 1:
{{mbox|image=[[File:Stop hand caution.svg|60px]]|text=Editors who activate this bot should carefully check the results to make sure that they are as expected.}}
{{bot|Icem4k|status=active}}
{{bot|Icem4k|status=Active}}


== User interaction ==
{{Infobox bot
{|align=center|<span style="text-align: center; font-size: 100%; padding: .2em;" class="nounderlines plainlinksneverexpand"><div style="position:relative;margin-left:auto;margin-right:auto;align:center;width:128px;height:128px;overflow:hidden;"><div style="position:absolute; font-size:1000px;overflow:hidden; line-height:1000px; letter-spacing:1000px;">[http://toolserver.org/~verisimilus/Bot/DOI_bot/&nbsp;&nbsp;&nbsp;]</div>[[File:Crystal Clear action go.svg|128px]]</div></center>|<span style="text-align: center; font-size: 100%; padding: .2em;" class="nounderlines plainlinksneverexpand"><div style="position:relative;margin-left:auto; margin-right:auto; align:center; width:128px; height:128px; overflow:hidden;"><div style="position:absolute; font-size:1000px; overflow:hidden; line-height:1000px; letter-spacing:1000px;">[[User talk:Citation bot|&nbsp;&nbsp;&nbsp;]]</div>[[File:Integrated circuit icon.svg|128px]]</div>
| Bot name    = Icem4k Bot
</center>
| image        =  
|<span style="text-align: center; font-size: 100%; padding: .2em;" class="nounderlines plainlinksneverexpand">
| caption      =  
<div style="position:relative; margin-left:auto; margin-right:auto; align:center; width:128px; height:128px; overflow:hidden;"><div style="position:absolute; font-size:1000px; overflow:hidden; line-height:1000px; letter-spacing:1000px;">[{{fullurl:Special:Blockip|wpBlockAddress={{PAGENAMEE}}&wpBlockExpiry=indefinite&wpAnonOnly=0&wpEnableAutoblock=0&wpCreateAccount=0&wpBlockReason=Bot%20malfunctioning:%20}} &nbsp;&nbsp;&nbsp;]</div>[[File:Crystal Clear action exit.svg|128px]]</div>
| operator    = Icem4k
</center><br />
| author      = Icem4k
</div>
| approval    = Pending
|-
| flag        = Yes
|<div style="text-align: center; font-size: 2em; line-height:normal">'''Activate'''</span></div>Find out how you can use the Citation bot on your own pages [[User:Citation bot/use|here]].
| tasks        = Inform editors that they may have broken the references on a page
|<div style="text-align: center; font-size: 2em; line-height:normal">'''Bugs'''</span></div>Please report any bugs, ideas or suggestions, [[User talk:Citation bot|here]].  You can get the bot's source code from [https://github.com/ms609/citation-bot Github].
| edit rate    = ?/day
|
| process      = Automatic
<div style="text-align: center; font-size: 2em; line-height:normal">'''Emergency shutoff'''</span></div>
| language    = Python
'''[[Wikipedia:Administrators|Administrators]]:''' [[User:Citation bot/block|Click here]] to understand how to block this bot with minimal disruption.
| period      = Daily
| Excl. comp. = Yes
| source      = If someone wants it, [[User_talk:Icem4k|bug me]] to release it.
| lang_cat    =
| shutoff      = Yes
| other        = }}
__TOC__


Non-administrators can report misbehaving bots to [[Wikipedia:Administrators' noticeboard/Incidents]].
== What the Bot Does ==
ReferenceBot finds edits from the previous day that cause referencing errors, and notifies the editors requesting that they fix them. ReferenceBot does not fix any errors.


|}
If it has to create a talk page for the user, it will {{tl|welcome}} them.


== Function summary ==
ReferenceBot notifies editors about edits that add articles to the following categories:


This bot was originally designed to add [[digital object identifier]]s (DOIs) to references; it now does much more, adding other identifiers (PMIDs, ISBNs), links to open access repositories, and fixing common formatting errors.
* {{cl|CS1 errors: arXiv}}
* {{cl|CS1 errors: authorlink}}
* {{cl|CS1 errors: coauthors without author}}
* {{cl|CS1 errors: DOI}}
* {{cl|CS1 errors: ISSN}}
* {{cl|CS1 errors: LCCN}}
* {{cl|CS1 errors: OL}}
* {{cl|CS1 errors: PMC}}
* {{cl|CS1 errors: PMID}}
* {{cl|Pages with archiveurl citation errors}}
* {{cl|Pages with citations having redundant parameters}}
* {{cl|Pages with citations having wikilinks embedded in URL titles}}
* {{cl|Pages with citations using conflicting page specifications}}
* {{cl|Pages with citations using translated terms without the original}}
* {{cl|Pages with citations using unnamed parameters}}
* {{cl|Pages with citations using unsupported parameters}}
* {{cl|Pages with DOI errors}}
* {{cl|Pages with empty citations}}
* {{cl|Pages with ISBN errors}}
* {{cl|Pages with OL errors}}
* {{cl|Pages with URL errors}}
* {{cl|Pages with broken reference names}}
* {{cl|Pages with incorrect ref formatting}}
* {{cl|Pages with missing references list}}


The bot obtains citation data from a range of sources including [[Google Books]], [[Google_APIs|Google Books API Family]], [[CrossRef]], [[AdsAbs]], [[arXiv]], [https://oadoi.org/ oaDOI] and PubMed.  Because scraping data from web pages is unreliable and resource-intensive, these databases are the main source of data; unfortunately the bot is unable to tell when these databases contain errors or incomplete information.  Any such error or omission should be reported directly to the data repository maintainer.
== Template ==
The current templates used are {{tlc|User:ReferenceBot/inform/top}}, {{tlc|User:ReferenceBot/inform/middle}} and {{tlc|User:ReferenceBot/inform/bottom}}.


=== Data sources ===
== In Case of Malfunction ==
[[ISBN]], [[LCCN]], and [[Open Library|OLCN]] data is expanded from the [[Google_APIs|Google Books API Family]].
{{Emergency-bot-shutoff}}
 
[[JSTOR]] data is expanded using Citoid, which then queries jstor.com.
 
[[DOI]] data is expanded using [[CrossRef]].
 
[[Google Books]] is used for Google Books URL expansion.
 
[[Pubmed Central|PMC]] and [[Pubmed|PMID]] data comes from and is expanded from PubMed.
 
[[arXiv]] data is from [[arXiv]] of course.
 
[[Bibcode]] data is from [[AdsAbs]].
 
Open source links are from mostly [https://oadoi.org oaDOI].
 
=== Development ===
A stable version of the bot is always available at https://tools.wmflabs.org/citations/doibot.html
 
Time commitments preclude regular updates; maintenance is attempted every few months. The source code can be found at https://github.com/ms609/citation-bot.
 
== Stopping the bot from editing ==
* To prevent the Citation bot from editing a page, include the text <pre>{{bots|deny=Citation bot}}</pre> anywhere on the page.  Please also leave a note here explaining why the action has become necessary, so that it can be resolved!
* If the bot is erroneously adding a DOI, author, etc to a citation, and you want to stop it adding the data again, you need to put a comment in place of the appropriate parameter – because the bot will not overwrite existing data.  So use something along the lines of <pre>|doi = <!-- this comment stops Citation bot adding the wrong DOI here--></pre> or words to that effect.  Again, it may be possible for me to fix the underlying problem if you let me know about it – but there are a few, rare instances (such as false positives and editor preference) where it is impossible to implement an automatic fix.
 
=== False positives ===
If the bot is adding seemingly-unrelated data to a citation, it is probably receiving a false positive from the citation databases it consults.  Unfortunately, there's no way for the bot to know this, so there are two ways of avoiding it:
* Change the citation template to one which the bot doesn't modify, such as cite news, etc;
* Add a comment into one or more of the parameters – these comments will not be over-ridden by the bot, and will reduce the chance of the citation databases throwing false positives.
* If the journal title has non-standard Case (Such as PLOS One), then special code should be requested on the bug report page, or better yet, make a pull request on https://github.com/ms609/citation-bot/blob/master/constants.php
 
=== Page numbers with hyphens ===
The bot replaces hyphens with en dash in page number ranges.  On rare occasions when a hyphen is right and an en dash is wrong (hyphen in the page number itself, often because the page number includes the chapter too), manually use the {{tl|hyphen}} template instead of the [[dash]]/[[hyphen]] character. An alternative is to use the template's {{para|at}} parameter.
 
=== Valid parameters ===
The bot draws all parameters specified in [[Module:Citation/CS1/Whitelist]] with the format "['parameter_name'] = true", and treats these as valid spellings.  The bot maintains its own copy at https://github.com/ms609/citation-bot/blob/master/constants/parameters.php
 
== Internationalization ==
 
There have been a number of requests for the bot to be adapted to foreign-language wikipedias.  When time permits, I will be happy to work towards this.  For me to adapt the bot for a foreign wiki I first need:
* A valid bot account on that wiki with the appropriate permission for its edits
* A translation of each of the template names and parameters used.
 
If you have both of these available, please [[User talk:Smith609|let me know]] and I will set to work on the necessary coding.
 
== Reading the edit summaries ==
To assist debugging, the bot's edit summaries begin with a code in [square brackets].  This identifies how the bot was initiated (letter), and what revision of the code was used (number).  When major development is underway, the publicly accessible interface to the bot may use an older version of the code that has been established to be bug-free.
* Pu – Initiated from the server.  May be operating supervised or unsupervised.
* Nothing (previously U) – Initiated [[WP:UCB|by a user]] whose name is usually listed in the edit summary
* Ax - {{tl|Cite arXiv}} maintenance, activated when blank template detected
* C - {{tl|cite doi}} family maintenance, activated when blank template detected
 
If a bug is marked as 'fixed in r50' and you notice the bug in an edit beginning [U40], then there is no need to report the bug again.  If you see it in an edit starting [Pu60], however, then please do report that it wasn't fixed as expected.
 
== Function ==
 
'''Automatic or manually Assisted:''' Automatic
 
'''Programming language(s):''' PHP w/ Snoopy & BasicBot
 
'''Function summary:''' Maintains and expands citations; ensures standards are complied to.
 
'''Edit period(s)''' ''(e.g. continuous, daily, one time run)''''':''' Visits each article every few months; can be used on specific articles whenever [[WP:UCB|requested by a user]].
 
'''Function details:'''
Citation bot only amends the parameters of citation templates.
 
# Replaces "id=identifier" or "url=http://resource.org/identifier=# with "identifier=#"
# Fixes common typos in '''parameter''' names (not values), using the closest match if the typo is not in a list of frequent mistakes https://github.com/ms609/citation-bot/blob/master/constants/parameters.php
# Removes redundant parameters
# Searches for ''missing'' parameters (including URL), then adds them if available. This is especially convenient when ''only'' an identifier is included within the template
#* The bot uses a range of databases including [http://books.google.com/books/feeds/volumes/ Google Books API], PubMed, CrossRef, AdsAbs and JSTOR
# Converts an endnote citation to a Wikipedia citation — [//en.wikipedia.org/w/index.php?title=Sea_butterfly&diff=prev&oldid=365263573 Example]
# Adds names to references <span style="background-color:#ffc">and combines duplicates</span>
# Expands {{tl|cite arXiv}} templates with an eprint parameter, and updates them to use {{tl|cite journal}} where appropriate
# Where a mixture of {{tl|citation}} and {{tl|cite xxx}} family templates are used in an article, standardizes to the dominant format
 
== Bot approval ==
* [[Wikipedia:Bots/Requests for approval/DOI bot]]
* [[Wikipedia:Bots/Requests for approval/DOI bot 2]]
* [[Wikipedia:Bots/Requests for approval/DOI bot 3]]
* [[Wikipedia:Bots/Requests for approval/Citation bot 4]] : Use uniform citation template families for uniform formatting
* [[Wikipedia:Bots/Requests for approval/Citation bot 5]]
* [[Wikipedia:Bots/Requests for approval/Citation bot 6]]
* [[Wikipedia:Bots/Requests for approval/Citation bot 7]]
* [[Wikipedia:Bots/Requests for approval/Citation bot 8]]
* [[Wikipedia:Bots/Requests for approval/Citation bot 9]] : Null editing
 
== External links ==
* [https://github.com/ms609/citation-bot Github version]
 
[[Category:Wikipedia bots with PHP source code published]]
[[Category:Wikipedia citation administration]]

Revision as of 14:15, 1 March 2018

Icem4k Bot
This user is a bot
(talk · contribs)
OperatorIcem4k
AuthorIcem4k
Approved?Pending
Flagged?Yes
Task(s)Inform editors that they may have broken the references on a page
Edit rate?/day
Edit period(s)Daily
Automatic or manual?Automatic
Programming language(s)Python
Exclusion compliant?Yes
Source code published?If someone wants it, bug me to release it.
Emergency shutoff-compliant?Yes

What the Bot Does

ReferenceBot finds edits from the previous day that cause referencing errors, and notifies the editors requesting that they fix them. ReferenceBot does not fix any errors.

If it has to create a talk page for the user, it will {{welcome}} them.

ReferenceBot notifies editors about edits that add articles to the following categories:

Template

The current templates used are {{User:ReferenceBot/inform/top}}, {{User:ReferenceBot/inform/middle}} and {{User:ReferenceBot/inform/bottom}}.

In Case of Malfunction