Jump to content

User:CampWiz Bot

From Meta, a Wikimedia project coordination wiki

Functions

[edit]

Introduction

[edit]

This bot is a part of the tool CampWiz which assists organizers of various edit-a-thon to host, manage campaign, evaluate submissions, publish results (As of now, about 30 campaigns are hosted and 500+ articles were submitted through this tool). One of its sibling tool helps organizers to generate a list of articles which are not present on their wiki based on topic (As of now, 233636+articles in 150+ lists were harvested). One of our main targets was to reduce the security issue and liability along with privacy issue. As such, this tool uses a single bot account to interact with mediawiki which eliminates the need of storing the user's access token on the server.

Functions

[edit]

As of now, the bot would perform the following tasks. In order to prevent spamming, all the edits on user talk pages would be done by batch hourly, rather than immediately.

  1. trackingTemplate: This bot would add a template (configured by the campaign organizers) on the talk page of an article if it does not already exist, whenever that article is submitted into a campaign.
  2. notifyEvaluation: This bot would add a message on submitter's talk page if any of his submissions get any evaluation by the judge (including any note that judge left).
  3. notifyNewSubmission (opt-in only): This bot would add a message containing new submission that were added on the talk page of the user who volunterily consented to have updates.
  4. notifyStatistics (opt-in only): This bot would periodically give statistics update about the campaign the user opted-in.

All the templates that the bot uses should be localized too. These are:

Required Templates

[edit]
  1. trackingTemplate: This task require (arbitrary but configured) the template that would add on the talk page of the submitted article. Please see that the template would receive the following named parameters:
    1. article: The name of the article submitted by the user
    2. submitted_at
    3. by
    4. campaign_id
    5. submission_id

For example, if a Test Article was submitted by X at example time with submission ID y on the campaign ID z, the bot would add:

{{<Your template name>
|article=Test Article
|submitter=X
|submitted_at=example time
|submission_id=y
|campaign_id=z
}}
  1. notifyEvaluation: This task required three templates to work properly.
    1. {{subst:User:CampWiz Bot/Templates/Article Evaluated}} : This template would be substituted on the user talk page of the submission and should indicate that his/her submission got one or many evaluations by one or many judges. This template would notify about multiple submissions at once, therefore, should be adapted the wordings. It would be called with two parameters :
      1. |campaign_id
      2. |evaluations : A bulleted list of evaluations
For example,
{{subst:User:CampWiz Bot/Templates/Article Evaluated
|campaign_id=<Campaign ID on campwiz>
|submissions=<List of submissions>
}}

Template Lists

[edit]


BRFA

[edit]

Request Bot permission

Global High Limit Requester Done