User:Freddy2001/Manual:Huggle

From mediawiki.org

What is Huggle?[edit]

Introduction to Huggle[edit]

Welcome to Huggle! We hope you enjoy using our software.

What is Huggle?[edit]

Huggle is a fast diff browser application intended for dealing with vandalism or other unconstructive edits on Wikimedia projects, written in C++. It was originally developed in .NET by Gurch, who is no longer active on this project. Anyone can download Huggle, but rollback permission is required to use it in unrestricted mode on English Wikipedia.

Huggle is able to load and review edits made to Wikipedia in real time, helps users identify unconstructive edits, and allows them to be reverted quickly. Various mechanisms are used to draw conclusions to whether an edit is constructive or not. It uses a semi-distributed model where edits are retrieved using a "provider" (this can be anything that is capable of distributing a stream of edit information, such as the Wikipedia API or IRC recent changes feed), pre-parsed and analyzed. This information is then shared with other anti-vandalism tools, such as ClueBot NG. Huggle also uses a number of self-learning mechanisms, including a global white-list (users that are considered trusted) and user-badness scores that are stored locally on the client's computer.

How does it work?[edit]

Huggle is connected to mediawiki through API and retrieves a list of edits that are made to a wiki in real time. These edits are then evaluated and moved to queue from which user can open them.

If edit contains some problems, it can be easily reverted, usually by a shortcut such as Q (by default this revert and warn the user who made the edit).

What are the system requirements for using Huggle?[edit]

Huggle 3 supports OSX, Linux and Windows directly. Huggle 2 only works on Windows XP, Windows Vista, and Windows 7, but there is also conditional support available for Huggle 2 via Wine on OS X and Linux (more information).

Quick start[edit]

Reverting vandalism[edit]

Installing and Removing Huggle[edit]

Installing Huggle[edit]

Huggle is very easy to install.

  • Step 1: (required on some wikis only) Go to Special:MyPage/huggle.css on a project where you want to use Huggle (project needs to have Huggle installed, in case you need to enable it there, please contact developers in irc#huggle connect), insert
    enable:true
    onto the first line. This enables Huggle to run on your user account.
  • Step 2: Go to the download page and download the latest stable version for your OS.
  • Step 3: Follow instructions on download page in order to install huggle

That's it! Huggle should be fully operational.

Instructions per OS[edit]

Windows[edit]

Huggle is distributed in 3 flavors for windows:

  • MSVC-32: Windows Vista and newer 32 bit CPU
  • MSVC-64: Windows Vista and newer 64 bit CPU
  • MinGW-32: All windows versions 32 bit CPU, may run slower than MSVC version

Note Note: If you are switching between MinGW and MSVC versions, you may need to purge your current huggle (uninstall and delete all leftovers from Program Files) prior installation of huggle.

Mac OS[edit]

Download .dmg file from download page, open it and copy huggle to Applications folder. Huggle should appear in dashboard immediately.

Debian[edit]

In a terminal window with superuser privileges (su or sudo) copy and paste as a single line.

sh -c 'echo "deb http://ppa.launchpad.net/huggle-devs/ppa/ubuntu trusty main" >> /etc/apt/sources.list.d/huggle.list' && apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F3D77590 && apt-get update && apt-get install huggle

To start type:


huggle

Uninstalling Huggle[edit]

To uninstall Huggle, follow these instructions. If you want to remove all of your configuration options, blank Special:Mypage/huggle.css


Windows[edit]

There should be shortcut to "uninstall huggle", using that will uninstall huggle.

There may be some leftovers in program files (folder huggle) which can be deleted.

Your personal configuration is in AppData/Local/Wikimedia/Huggle and can be also deleted if you want.


Mac OS[edit]

Just delete huggle from your applications, personal configuration is in ~/Library/Application Support/Wikimedia/Huggle


Linux[edit]

Debian / Ubuntu[edit]

You can safely remove huggle using package manager.

Compiled[edit]

When you ran "make install" file called install_manifest was generated in current folder.

It contains location of all files there were installed.

By removing these files you will uninstall huggle.

See http://www.cmake.org/Wiki/CMake_FAQ#Can_I_do_.22make_uninstall.22_with_CMake.3F for more information.

Deploying on a wiki[edit]

Installing huggle on custom MediaWiki installation[edit]

Huggle3 can be used with any mediawiki installation, however keep in mind that it was originally created for WMF wikis, which can be considered a large wiki farm.

For this reason huggle is designed mostly for large wiki farms and in order to run it on single small wiki, you may need to slightly tweak it.

This guide is covering installation to any wiki.

Huggle home[edit]

There is a special folder in huggle which is called huggle home.

This folder is displayed by huggle in logs when it starts, for example:


Wed Feb 11 10:01:47 2015   Home: /home/petanb/.local/share/data/Wikimedia/Huggle/


This folder contains all configuration files of huggle and we will refer to it as huggle home or $huggle_home in this manual.

It is possible to have multiple homes in order to create a number of separate huggle installations that are running isolated from each other by passing argument --chroot.

If you want to use huggle with WMF wikis and your own wiki farm, it is recommended to create 2 homes for it.

If you only want to use huggle for 1 wiki farm, you can ignore this.

Global wiki[edit]

Since huggle is designed to run on wiki farms, it requires 1 wiki that is called "global wiki" this wiki contains global configuration file that has the information about individual wikis.

In case you have only 1 wiki, you will need to make it a global wiki as well, so that you will have both global and local configuration file there.

Configuration files[edit]

See Manual:Huggle/Configuration


Huggle is using 4 configuration files in following order:


  • $huggle_home/Configuration/huggle3.xml Local configuration on pc where it is installed - this file contains URL of global wiki
  • Huggle/Config Global configuration on global wiki which contains information about local wikis
  • Project:Huggle/Config Local configuration on wiki to which you login
  • User:$NAME/huggle3.css User configuration on local wiki


Step by step deployment on 3rd wiki farm[edit]

In this scenario we have a wiki farm with 4 wikis on domains:


  • meta.testfarm.wmflabs.org
  • wiki1.testfarm.wmflabs.org
  • wiki2.testfarm.wmflabs.org
  • wiki3.testfarm.wmflabs.org


On meta.testfarm.wmflabs.org/wiki/Huggle/Configuration we need to have following content:


enable-all:true

version:3.1.0
min-version:3.1.0

config:Project:Huggle/Config
documentation:https://www.mediawiki.org/wiki/Manual:Huggle
feedback:https://en.wikipedia.org/wiki/Wikipedia:Huggle/Feedback
// Only if you have irc recent change stream for your wikis - this is optional
// irc-server:irc.wikimedia.org
// irc-server-name:irc.wikimedia.org

user-agent:Huggle/$1 http://en.wikipedia.org/wiki/Wikipedia:Huggle
user-config:Special:Mypage/huggle.css
user-config-hg3:Special:Mypage/huggle3.css

// URL of your whitelist server, if you don't have any, keep this commented out
// whitelist-server:http://huggle.wmflabs.org/data/

In Project:Huggle/List put

<db>
  <wiki name="wiki 1" url="wiki1.testfarm.wmflabs.org/" path="wiki/" script="w/" https="true" xmlrcs_name="wiki1.testfarm.wmflabs.org" wl="wiki1.testfarm.wmflabs.org"/>
  <wiki name="wiki 2" url="wiki2.testfarm.wmflabs.org/" path="wiki/" script="w/" https="true" xmlrcs_name="wiki2.testfarm.wmflabs.org"/>
  <wiki name="wiki 3" url="wiki3.testfarm.wmflabs.org/" path="wiki/" script="w/" https="true">
</db>

Important xmlrcs_name is name of your wiki as seen by wikitech:XmlRcs provider, if you don't have this provider, you can remove it from XML entry. Same applies for wl (whitelist id).

Now on each of these 3 wikis, you put this in Project:Huggle/Config.yaml

This is a default project configuration file for Huggle, it's written in YAML and you can prefix it with wiki text as long as the configuration file itself contains magic HTML comment HUGGLE:BOC (see source of this wiki page for details).

This page also serves as complete documentation of all project options as well.

---
# https://www.mediawiki.org/wiki/Manual:Huggle/Deploying/DefaultConfig.yaml
# This is a default project configuration for Huggle for use in new Huggle installations.
# Please keep every option documented if possible. Optional config options are commented out so that current Huggle defaults are always used. Feel free to uncomment to override the defaults.
# Options that are deprecated should not be a part of this document, if you find any, remove them

# IMPORTANT: Options that should be translated in case of different language wiki are marked with LOCALIZE ME, options that were overtaken from English Wikipedia and therefore should be updated to match target wiki are marked with UPDATE ME

##############################################################################
# Access control
# Defines requirements needed to use Huggle in read + write mode on the wiki
# If user is not eligible, Huggle will allow usage in read-only mode
##############################################################################

# If this is set to false, nobody will be allowed to use Huggle on the project,
# this is useful if you need to temporarily or permanently disable it
enable-all: true
# Minimum required version, users with older Huggle will not be allowed to login
min-version: 3.1.0
# If this is set to true, your username must be listed on Approval Page which is defined
# with option "userlist" in section "Other"
approval: false
# User must be admin in order to use huggle (member of sysop group)
require-admin: false
# User must have a valid configuration file (Special:MyPage/huggle3.yaml.css) that contains enable: true
require-config: false
# How many days user account needs to exist so that they can use Huggle
require-time: 0
# How many edits user account needs to have in order to use Huggle
require-edits: 0
# User must have rollback permission in order to use Huggle
require-rollback: false
# If this is set to true, nobody will be allowed to use Huggle in write mode
# This should be true for new installations until you verify that everything
# works as expected.
read-only: true


##############################################################################
# Reporting
# Definition of AIV and similar pages that vandals get reported to
##############################################################################

# Requests for page protection, set protection-requests to true if you want this feature to work on this wiki
protection-requests: false
# Template to use when requesting a page protection, $title is substed to page name, $protection to requested protection level and $reason is the reason for protection
rfpp-template: > 
    ==== {{la|$title}} ====\n'''$protection:''' $reason ~~~~

# This is a regex used to check if the page is already in a list
rfpp-verify: >
    .*\{\{\s*l[au]\s*\|\s*$title\s*\}\}.*

# Page section to append template to
rfpp-section: 1

# Used to define types of protection (since Huggle 3.4.5)
rfpp-permanent: "Permanent protection"
rfpp-temporary: "Temporary protection"

# RFPP page
protection-request-page: "Project:Requests for page protection"
# Default reason
#protection-request-reason: "Persistent vandalism."
# Summary RFPP
#protection-request-summary: 'Requesting $1 of [[$2]]'

# User reporting

# Type of reports (case insensitive)
# DefaultAuto - Huggle will follow user preferences, and will default to auto reports
# DefaultManual - Huggle will follow user preferences, and will default to manual reports
# StrictAuto - Huggle will enforce automatic reports
# StrictManual - Huggle will enforce manual reports
report: DefaultAuto

# Regex that is used to verify if user is already present on report page
# report-user-check-pattern: '.*$username.*'

# Edit summary for revert page # LOCALIZE ME #
#report-summary: 'Reporting [[Special:Contributions/$1|$1]]'

# Enable AIV reports (user reports)
aiv-reports: false
# Name of page that is used for reports
#aiv: "Wikipedia:Administrator intervention against vandalism"
# Name of AIV page used by bots (this page is only used to check if user wasn't already reported there)
#aivbot: "Wikipedia:Administrator intervention against vandalism/TB2"
# Template used to report IP user
#aiv-ip: '* {{IPVandal|$1}} $2$3 ~~~~'
# Template used to report regular user
#aiv-user: '* {{Vandal|$1}} $2$3 ~~~~'
# Section of AIV page to add reports to
#aiv-section: 2
# Text appended to automatic AIV reports
#report-auto-summary: 'This user was automatically reported by Huggle due to reverted vandalism after a final warning. Please verify their contributions carefully, it may be a false positive'
vandal-report-reason: vandalism
uaa: "Project:Usernames for administrator attention"

##############################################################################
# Deletion requests
# Configuration of ability to delete or request for deletion of pages
##############################################################################
# Whether speedy deletions are enabled, right now Huggle3 supports only speedy deletions
speedy: true
# Enable warning templates for speedy deletions
# speedy-enable-warnings: true
# Send warnings by default
# speedy-warning-on-by-default: true
# Delete summary # LOCALIZE ME #
speedy-delete-summary: "Speedy deleted, $1."
# Summary used when delivering a notification to user who authored the page # LOCALIZE ME #
speedy-message-summary: "Notification: Speedy deletion of [[$1]]"
# Title of message that is delivered to user # LOCALIZE ME #
speedy-message-title: "Your page was deleted"
# Summary used when a template informing user about speedy deletion request is delivered to user talk # LOCALIZE ME #
speedy-summary: "Tagging page for [[WP:SD|speedy deletion]], $1"

# Available speedy deletion options, these are arrays that consist of description, template (put to top of the page), template used to inform user about deletion, and optional information if user should be notified about the deletion # UPDATE ME #
speedy-options:
    G1: ["patent nonsense", db-g1, '{{subst:huggle/db-notice|1=$1|2=it is nonsense or gibberish.}}', notify]
    P1: ["portal that would be deleted as an article", db-p1, '{{subst:huggle/db-notice|1=$1|2=it would be subject to speedy deletion as an article.}}', notify]
    P2: ["underpopulated portal", db-p2, '{{subst:huggle/db-notice|1=$1|2=[[Wikipedia:Portal|portals]] must be of sufficient scope to encompass at least four non-stub articles.}}', notify]

##############################################################################
# Prediction
# This section contains clues that help Huggle predict quality of edit
##############################################################################

# ip addresses are more likely to be vandals
score-ip: 20
# flagged bots are likely not vandals, even if they add swear words
score-bot: -20000
# people with high amount of flags are trusted even if not whitelisted
score-flag: -200
# userpages are frequently used to test stuff
score-user: -250
# userpages edited by other user than owner are typically vandalism
score-foreign-user: 100
# talk pages are often false positives, let's put them low
score-talk: -200
# users with score lower than this are inserted to wl
score-wl: -2000
# ORES see meta.wikimedia.org/wiki/Objective_Revision_Evaluation_Service
# If this is set to true ORES will be enabled
ores-enabled: false
# This is used to indicate whether ORES is supported by a project, if yes, it should be set to true even if ORES is not enabled
ores-supported: false
# URL of ORES
ores-url: https://ores.wikimedia.org/scores/

# This constant is used to amplify the converted score. Native ORES scores have range from 0 to 1 (floating point)
# huggle is using different scoring mechanism and its scores are signed long integers. Tune this variable to
# change weight of ORES within Huggle scores.

# With value of 600, ORES's score "1" (100%) would result in Huggle score 600 and ORES's score "0" would result in -600, score "0.5" would result in 0.
ores-amplifier: 600

# The list below is called "score words" it contains words presence of increase the score of edit by value in brackets,
# you can define as many score words as you want, these words must be lowercase, otherwise ignored (they are compared with diff text which
# is lowercase so that it's case insensitive)

# score-parts are parts of a word, they can be even in a middle of a word, so be careful here or you create too many false positives
score-parts:
#  Score     List of words
    200: [haha, fuuuu, '!!!!!!', '??????', '--------------', Special:Contributions]
    # suck and fuck are not contained in any normal words at least not according English dictionary: http://www.morewords.com/contains/fuck/
    600: [faggot, hihi, hahaha, suck, fuck, fag, retard, shemale]

# score-words are separate words, they don't even actually need to be words, they can be short phrases as well, but must not contain
# comma (fuck off - is valid word)

# no-talk score words are ignored on talk pages (huggle 3.1.10+)
score-words-no-talk:
    800: [hey, heya, hi, hello]
    1000: [':)', ':-)', ':P', ':D', lol, rofl]

score-words:
    100: [cool, stupid, rape, raping, bla, sex, tits, porn, yeah, yea, yee, balls, weed, arse, stupid, homosexual, dicks, ugly, fart]
    200: [crackhead, bieber, porn, bold text, italic text, crap, p3n1s, omg, lmao, rofl, blabla, swag]
    800: [pr0n, p0rn, sh1t, bullshit, wank, peace be upon him]
    1000: [shit, gay, bitch, penis, piss, awesome, gays, faggots, suck, sucks, boobs, dick, pussy, cunt, poop, poo, lesbo, dyke, queer, whore, cockass]
    2000: [pen1s, b1tch, p1ss, fuck, asshole, retard, '=)', '(:', asshat, fucknugget, motherfucker, fucktard, arsehole, swag, ass, butt, '-.-', dipshit, dipstick, asswipe, cunt, twat, yolo, fuckoff, fuck you, wanker, sucks dick, boobs, masturbate, fucking, nigger, niga, nigga, wiener, weiner, derp, derpy, weiner, butthole, tit, bum]

# This is a list of all edit tags that affect the score somehow, available since Huggle 3.1.17
score-tags:
    bad external: 100
    Huggle: -2000
    Twinkle: -2000
    Possible vandalism: 800

##############################################################################
# Reverting and templates
# Configuration of reverting and various templates
##############################################################################
# Specify type of headings to use when sending a message to user
# standard will use month and year
# page will use text in "template-header"
# none will not use any headers
headings: standard

# Use for "page" headers. Uncomment if you want to change it # LOCALIZE ME #
# template-header: "Your edits to $1"

# Define how old templates are considered valid in days, older templates are ignored
# By default templates older than 30 days are ignored
# template-age: -30

# List of tags supported by a wiki, please keep in mind that "tag" is a bit historical term, they are in fact templates # UPDATE ME #
tags: [advert, autobiography, BLP PROD, cleanup, coi, confusing, context, copyedit, disputed, essay-like, expand, expert, hoax, in-universe, internallinks, introrewrite, nofootnotes, non-free, notability, 'notenglish|INSERT LANGUAGE NAME', npov, original research, orphan, plot, primarysources, prose, refimprove, sections, tone, tooshort, totally-disputed, uncategorized, underconstruction, unencyclopedic, unreferenced, update, wikify]

# Optional description of individual tags to show in Huggle's tag form # UPDATE ME #
tags-info:
    advert: info='Looks like advertisement' param=test
    autobiography: info='Looks like an auto-bio'
    cleanup: info="Needs cleanup <obsolete don't use>"
    coi: info='Conflict of interest'
    context: info='Page is missing context'

# User needs to confirm they want to revert user who is on whitelist
confirm-ignored: true
# User must confirm revert of multiple edits
confirm-multiple: false
# To be implemented (probably revert of page creator?)
confirm-page: true
# To be implemented (probably revert that leads to same version of text)
confirm-same: true
# User must confirm if they want to revert themselves
confirm-self-revert: true
# To be implemented (probably revert of user who is warned? makes no sense :))
confirm-warned: false

# Default summary for software rollback, eg. using manual revert instead of rollback functionality provided my MW # LOCALIZE ME #
manual-revert-summary: 'Reverted edits by [[Special:Contributions/$1|$1]] to last revision by $2'
# Not currently in use - might be implemented in future
multiple-revert-summary-parts: "Reverted,edit by,edits by,and,other users,to last revision by,to an older version by"

# List of warning types, these will be present in dropdown menus in Huggle, allowing to clarify reasons for revert.
# Default configuration contains only 1 type of warning, with 3 examples that are commented
warning-types:
    warning: Vandalism
#    spam: Spam
#    test: Editing tests
#    delete: Removal of content

# Default warning template to use, it must be one of these defined in "warning-types".
default-template: warning

# Summaries associated with warning types, each warning type should have one # LOCALIZE ME #
revert-summaries:
    warning: 'Reverted edits by [[Special:Contributions/$1|$1]] ([[User talk:$1|talk]]): nonconstructive edits'
#    delete: 'Reverted edits by [[Special:Contributions/$1|$1]] ([[User talk:$1|talk]]): unexplained content removal'
#    spam: "Reverted edits by [[Special:Contributions/$1|$1]] ([[User talk:$1|talk]]): spam"
#    test: "Reverted edits by [[Special:Contributions/$1|$1]] ([[User talk:$1|talk]]): editing tests"

# Not currently in use as there is too many default summaries :) we need to figure out which are really not needed and get rid of them
# rollback-summary: "Reverted edits by [[Special:Contributions/$1|$1]] ([[User talk:$1|talk]]) to last revision by $2"

# This is actual default summary that is used for rollback in case reason is not specified # LOCALIZE ME #
default-summary: "Reverted edits by [[Special:Contributions/$1|$1]] ([[User talk:$1|talk]]) to last revision by $2"
# To be implemented - rollback summary used in case that target revision is unknown
rollback-summary-unknown: "Reverted edits by [[Special:Contributions/$1|$1]] ([[User talk:$1|talk]])"
# To be implemented - for revert of current revision only
single-revert-summary: "Undid edit by [[Special:Contributions/$1|$1]] ([[User talk:$1|talk]])"
# Used for restoring of a revision of edit # LOCALIZE ME #
# restore-summary: "Restored revision $1 made by $2: $3"
# Used when undoing own edit # LOCALIZE ME #
undo-summary: "Undoing own edit"
# Edit summary for warning deliveries, $1 is name of page related to warning # LOCALIZE ME #
warn-summary: "Message re. [[$1]]"
warn-summary-2: "Level 2 warning re. [[$1]]"
warn-summary-3: "Level 3 warning re. [[$1]]"
warn-summary-4: "Level 4 warning re. [[$1]]"

# Template clues for parser that Huggle is looking for, each warning level needs to have some of these so that
# it's possible to figure out which warning level the template resembles.
# It can be any part of the template, on English wikipedia templates have invisible comments in them which clarify
# the warning level. It can be however any part of the template, such as image, or piece of text.
# UPDATE ME #
warning-template-tags:
    - '1;<!-- Template:uw-vandalism1 -->'
    - '2;<!-- Template:uw-vandalism2 -->'
    - '3;<!-- Template:uw-vandalism3 -->'
    - '4;<!-- Template:uw-vandalism4 -->'

# Whether this project supports "instant warnings" these are templates that trigger level 4 instantly, used for obvious vandals
warning-im: true
# How many warning levels to use. Currently it's only supported to use 3 or 4, but plans are to make this completely dynamic.
warning-mode: 4

# Definitions of warning templates - these are messages that are delivered to user who is about to receive a warning.
# $1 = name of page, $2 = URL to diff

warning1: '{{subst:huggle/warn-1|1=$1|2=$2}}'
warning2: '{{subst:huggle/warn-2|1=$1|2=$2}}'
warning3: '{{subst:huggle/warn-3|1=$1|2=$2}}'
warning4: '{{subst:huggle/warn-4|1=$1|2=$2}}'
warning4im: '{{subst:huggle/warn-4im|1=$1|2=$2}}'

#spam1: '{{subst:huggle/warn-1|1=$1|2=$2}}'
#spam2: '{{subst:huggle/warn-2|1=$1|2=$2}}'
#spam3: '{{subst:huggle/warn-3|1=$1|2=$2}}'
#spam4: '{{subst:huggle/warn-4|1=$1|2=$2}}'
#spam4im: '{{subst:huggle/warn-4im|1=$1|2=$2}}'

#delete1: '{{subst:huggle/warn-1|1=$1|2=$2}}'
#delete2: '{{subst:huggle/warn-2|1=$1|2=$2}}'
#delete3: '{{subst:huggle/warn-3|1=$1|2=$2}}'
#delete4: '{{subst:huggle/warn-4|1=$1|2=$2}}'
#delete4im: '{{subst:huggle/warn-4im|1=$1|2=$2}}'

#test1: '{{subst:huggle/warn-1|1=$1|2=$2}}'
#test2: '{{subst:huggle/warn-2|1=$1|2=$2}}'
#test3: '{{subst:huggle/warn-3|1=$1|2=$2}}'
#test4: '{{subst:huggle/warn-4|1=$1|2=$2}}'
#test4im: '{{subst:huggle/warn-4im|1=$1|2=$2}}'

# Welcoming of users
# All welcome templates are expected not to contain four tildes, signatures are appended by Huggle

# List of templates for dropdown menu
# $1 will substitute to name of target user (since Huggle 3.3.3) # UPDATE ME #
welcome-messages:
    "Welcome with menu": '{{subst:WelcomeMenu}}'
    "Welcome personal": '{{subst:Huggle/Welcome-pers}}'
    "Welcome vandal :)": '{{subst:Huggle/welcomevandal}}'

# Default welcome message for registered users # UPDATE ME #
welcome: '{{subst:welcome}}'
# Welcome message sent to IP users # UPDATE ME #
welcome-anon: '{{subst:welcome-anon}}'
# Edit summary # LOCALIZE ME #
welcome-summary: 'Welcoming user'

##############################################################################
# Administrator functions
##############################################################################

# Expiry options that will be displayed in block form
block-expiry-options: [15 minutes,3 hours,12 hours,24 hours,31 hours,48 hours,55 hours,72 hours,1 week,2 weeks,1 month,3 months,6 months,1 year,indefinite]
# Default expiry time
blocktime: indefinite
# Default expiry time for anonymous user
blocktime-anon: "24 hours"
# Default message to deliver to user who is getting a block # UPDATE ME #
block-message: '{{subst:huggle/block|1=$1|2=$2}}'
# To be implemented. Default block message for user who is getting indefinite block
# block-message-indef: '{{subst:huggle/block-indef|1=$1}}'
# Default reason for block # UPDATE ME #
block-reason: "[[Project:Vandalism|Vandalism]]"
# Edit summary used when editing user talk page # LOCALIZE ME #
block-summary: "Notification: Blocked"

# Default reason for page protection # UPDATE ME #
protection-reason: 'Vandalism'

# Available reasons in dropdown box for page deletions
# UPDATE ME #
deletion-reasons:
    - 'Patent nonsense'
    - 'Test page'
    - 'Vandalism'

##############################################################################
# Classification
##############################################################################

# These are localized versions of months that will be used by Huggle when creating a timestamp or for message headers.
# LOCALIZE ME #
months:
  - January
  - February
  - March
  - April
  - May
  - June
  - July
  - August
  - September
  - October
  - November
  - December

# These are needed especially for wikis where months in signatures are not same as these in months list (see above) or their localized version
# every line is a YAML array for 1 month, for example:
# - ['January','Jan','J.','1.']
alternative-months:
  - [1.,Jan]
  - [2.,Feb]
  - [3.,Mar]
  - [4.,Apr]
  - [5.,May]
  - [6.,Jun]
  - [7.,Jul]
  - [8.,Aug]
  - [9.,Sep]
  - [10.,Oct]
  - [11.,Nov]
  - [12.,Dec]

# Edits with summaries that contain these strings will be considered friend applications by Huggle and ignored (in default filter)
# UPDATE ME #
assisted-summaries:
    - 'using [[Project:AutoWikiBrowser|AWB]]'
    - 'using [[Wikipedia:STiki||STiki]]'
    - 'Using [[WP:TWINKLE|Twinkle]]'
    - 'using [[WP:TW|TW]]'
    - 'using [[WP:TWINKLE|TW]]'
    - '([[WP:TW|TW]])'

# These are regular expressions used by Huggle to identify whether edit summary means that page was created, blanked, redirected or replaced
# UPDATE ME #
page-blanked-pattern: '(\[\[(Wikipedia|WP):(AES|Automatic edit summaries)|(←|Automatic summary)\]\])?(:|←)? ?(Page was blanked|(Blank(ed|ing) the page))\.?'
page-created-pattern: '(\[\[(Wikipedia|WP):(AES|Automatic edit summaries)|(←|Automatic summary)\]\])?(:|←)? ?Created page with .*'
page-redirected-pattern: '(\[\[(Wikipedia|WP):(AES|Automatic edit summaries)|(←|Automatic summary)\]\])?(:|←)? ?(Created page as redirect|Redirect(ed|ing)) to .*'
page-replaced-pattern: '(\[\[(Wikipedia|WP):(AES|Automatic edit summaries)|(←|Automatic summary)\]\])?(:|←)? ?(Page was replaced|Replac(ed|ing) (page|content)) with .*'

# These are regular expressions used by Huggle to identify whether edit summary means that page was reverted
revert-patterns:
    - 'automatically reverting .*'
    - 'bot - (rv|revert) .*'
    - 'bot--revert.*'
    - 'js: revert .*'
    - '^[rR]evert.*'
    - '.*\[\[Help:Reverting\|Reverted\]\] edits by.*'
    - '^rv .*'
    - '^[Uu]ndid .*'
    - '^[Uu]ndo .*'
    - '.* [Uu]ndid revision [\d]+ by .*'

# UPDATE ME #
shared-ip-templates:
    - sharedip
    - vandalip

# These are regular expressions used by Huggle to identify whether edit summary means that page was tagged
tag-summaries:
    - '^prod$'
    - 'prod .'
    - '[\{:]prod'
    - 'prod[\}\-:2]'
    - '(nominated|prodding|proposed) for deletion'
    - '^tag$'

##############################################################################
# Queue list
##############################################################################

queues:
    'Filtered edits':
        filter-ignored: exclude
        filter-notifications: exclude
        filter-own-userspace: exclude
        filter-reverts: exclude
        filter-tags: exclude
        filter-warnings: exclude

    'Filtered new pages':
        filter-ignored: exclude
        filter-new-pages: require

    'All edits':

    'All new pages':
        filter-new-pages: require

    'Assisted edits':
        filter-assisted: require
        filter-bot: exclude

    'My edits':
        filter-me: require

default-queue: 'default'

# Everything in this list will be ignored if it fully matches the string
# UPDATE ME #
ignore:
    - 'Project:Sandbox'

# Everything in this list will be ignored if it partially matches the name
# UPDATE ME #
ignore-patterns:
    - '/sandbox'
    - '/common.js'
    - '/common.css'

##############################################################################
# Other
##############################################################################

# Summary used when updating user config page # LOCALIZE ME #
config-summary: 'Updating configuration'
# These items are visible in "Go" menu in Huggle, first one is name of page on wiki, second is name as seen in Huggle menu
go:
    "Project:Huggle": "Huggle main page"
# Whether patrolling of changes is enabled on the project
patrolling-enabled: true
# This suffix is appended to every single edit message made by huggle
summary: '(HG)'
startup-message-location: "Project:Huggle/Message"
userlist: "Project:Huggle/Users"
userlist-update-summary: "Adding [[Special:Contributions/$1|$1]]"

Now all you need is update the huggle local configuration, open $huggle_home/Configuration/huggle3.xml and change

<local key="GlobalConfigurationWikiAddress" text="meta.wikimedia.org/w/"/>

to

<local key="GlobalConfigurationWikiAddress" text="meta.testfarm.wmflabs.org/w/"/>

Now you can start huggle and hit reload button. It should load a list of local wikis. Since now you should be able to use huggle on your wikis.

Note: If your wiki doesn't support HTTPS you must not check it on login form

Using Huggle[edit]

Startup[edit]

Huggle 3 login
Huggle 3 login


When you first start Huggle, you should see a login screen.

At this login screen, you can select the project that you want to log on to from the drop down list.

You can also select a language other than English for Huggle to use for text prompts and buttons.

Enter your project username and password.

Huggle will then log you in, check that your account is able to use it, and read various data pages.

It is also possible to login to multiple projects within a single session.

You can do so by clicking on the Projects button, which would show a list of available projects.

  • Language β€” The language that objects inside Huggle will be displayed in
  • Project β€” Drop down list that contains all of the projects that Huggle can work with
  • Username β€” Your project username
  • Password β€” Your project password


Interface[edit]

This is Huggle's interface.

Huggle 3 interface

Menu toolbar[edit]

Each menu along the top has a specific function.

View details about each menu:


Huggle 3 Menu toolbar

System menu[edit]

This is the system menu:


Huggle 3 System menu


  • Options shows the Huggle options.
  • Reconnect IRC feed allows you to attempt to reconnect to the recent changes IRC feed. This feature is useful if changes aren't showing up.
  • My talk page (M) will display a last revision of your talk page, useful for checking of new messages.
  • Abort (ESC) kills the last query on a stack, this option may not work if you didn't enable delayed reverts.
  • Change Provider let you change the provider of edits to a different one (wiki / IRC / JSON).
  • Stop provider stops the current provider so that huggle will stop retrieving new edits. This is useful if you want to keep huggle running but you want to "pause" it.
  • Exit closes Huggle.
Tools menu[edit]

This is the Tools menu:


Huggle 3 Tools menu

Page menu[edit]

The Page menu allows you to view and manipulate the current page.

Huggle 3 Page menu


  • Switch to talk page allows you to switch to the talk page of the current article.
  • View latest revision (Ctrl+V) switches to the most current revision of the page, so you can view it in its entirety.
  • Retrieve History loads more of the history of the page.
  • Show History displays the history of the selected page.
  • Edit (E) allows you to edit a page using a built-in editor.
  • Tag (G) allows you to tag a page with any number of templates.
  • Request deletion allows you to request speedy deletion, propose deletion, or tag an article for a deletion discussion.
  • Request protection brings the page to requests for page protection, where the page can be protected from editing.
  • Watch (L) adds the page to your watchlist, where you can view all changes made to the page.
  • Purge updates the copy of the article on Wikipedia's servers, forcing them to display the most recent version.
  • Mark patrolled (Ctrl+P) marks a new page as patrolled, that is; an experienced editor has looked at it and give the OK.
  • Move allows you to give the article a new title.
  • Restore this revision of the article rolls back all revisions of the page after the current revision, and sets the current revision as the live one.
Queue menu[edit]

This is the Queue menu, which relates to the Queue found on the left side of the screen.


Huggle 3 Queue menu


  • Next (Space) goes to the next edit in the queue.
  • Trim allows you to trim the queue by time.
  • Clear Current (Ctrl + Space) clears the current queue.
  • Clear all clears all of the queues.
  • Manage Queues allows you to control which queues are available.
HAN menu[edit]

This is the HAN menu:


Huggle 3 HAN menu

User menu[edit]

The User menu allows you to view and manipulate the current page. All of the commands affect the user listed on the bottom of the editor and article history.


Huggle 3 User menu

  • Increase badness score
  • Decrease badness score of user
  • Talk page
  • User page
  • Clear talk page of user
  • Show user contributions in a browser
  • Welcome user
  • Block (Command-B)
  • Report username
  • Report user
  • Manual template
  • Edit user talk
  • Show user info (?) displays a window with information about the user, including blocks and warnings.
  • Ignore (I) Removes all of the user's changes from the queue
  • Retrieve Contributions (U) loads more of the user's contributions
  • View talk page (A) displays the user's talk page.
  • Message (N) allows you to leave a message for the user on their talk page.
  • E-mail... allows you to send an email to the user, if you have set your email in your preferences
  • Warn... allows you to warn a user for vandalism. The sub-menu shows all of the options.
  • Report allows you to report the user to the administrators against vandalism page (if you select "Vandalism after final warning") or the usernames for administrator attention page (if you select "Inappropriate Username").
  • Block (CTRL + B) displays a window where you can block the user. This option is only enabled if you are an administrator.
Go to menu[edit]

The Go To menu acts as a shortcut to critical areas of Wikipedia.


Huggle 3 Go to menu


Help menu[edit]

The help menu links you to all of the information about Huggle.


Huggle 3 Help menu


  • Contents (F1) opens up the default browser and points it to this Manual.
  • Feedback opens up the default browser and points it to Feedback, where you can give the developers bug reports and feature requests.
  • About Huggle... opens up a view with all of the contributors to Huggle. It will look like:
Huggle 3 About Huggle window
Navigation toolbar[edit]

Huggle 3 Navigation toolbar


  • Browse back and Browse forward will go back and forward through your browsing history, rather than the history of the current page.
  • Open in browser opens whatever is being viewed in your web browser.
  • New tab opens a new tab.
  • Close tab closes the currently selected tab.
  • Previous, next, last, current revision buttons navigate through the history of the currently selected page.
  • Diff to current shows the difference between the older of the two revisions currently selected and the newest revision to the page. Its function is equivalent to the "cur" links on history pages. This can be used to check that the right revision is being reverted to when dealing with situations where multiple instances of vandalism have been partially reverted.
  • Previous, next, last, current edit buttons navigate through the contributions of the currently selected user.


Main toolbar[edit]

Huggle 3 Main toolbar


  • Revert and warn: Most of the time, a user warning should be provided along with the revert. The "Revert and warn" button will do this; if the revert is successful, Huggle will check the user's talk page for existing warnings and issue one with an appropriate level. The default warning is a vandalism message; to select others open the menu using the dropdown arrow to the right of the icon. To use a 4im (first and last warning for vandalism) template, select advanced on the dropdown menu, and select "Level 4(final)". If the user already has a final warning, Huggle will automatically issue a vandalism report. (If you are an administrator, you will instead be asked if you wish to block the user).
    • Consecutive instances of vandalism by multiple users must be dealt with by manually finding the last good revision of the page. To move back in the page history, click the Previous revision button; to move forward, click Next revision and to move back to the most recent revision, click Last revision. You can also navigate by clicking in the history display at the upper right of Huggle's main window. It is not necessary to do this if all vandalism is the work of a single user.
  • Next edit: If the revision edit displayed is not vandalism, click this button to ignore it and advance to the next one. If the button is gray and there are no more revisions in the queue, either your connection dropped, or not much editing is being done and you have checked everything; wait a while for more revisions to appear.
  • Revert will do just that. Reversions behave in one of two ways:
    • If the revision being viewed is the most recent one, the revert button will rollback the page. This reverts all consecutive contributions by the last editor to the page.
    • If an older revision is being viewed, the revert button will revert to whichever edit is on the left of the diff display.
    • By default, an automatically-generated summary will be used. To select a more specific edit summary, open the menu using the dropdown arrow to the right of the icon. Select one of the pre-configured summaries or select "Advanced..." and type one in. The list of summaries can be customized; see the configuration section.
  • Send template message acts on the revision on the right side of the diff currently being viewed. Select an item from the list to leave the appropriate template message, or "Other message..." to say something else. The list of messages can be customized; see the configuration section.
  • Warn acts on the revision on the right side of the diff currently being viewed; it will check the user's talk page and issue an appropriate warning or vandalism report. While Huggle will issue warnings automatically when appropriate, this function can be used to deal with vandalism by multiple users, in succession, to the same page – locate the last good revision and revert to it, then navigate to an instance of vandalism from each user and issue a warning.
  • Cancel all Huggle edits and other actions currently in progress. Edits that have been submitted but not yet saved are undone once they have saved. Edits which have already been saved must be reversed with the Undo button.
  • Undo allows various of your own actions to be reversed, and is not the same as Wikipedia's undo function. Undo can only be used to reverse your edit if the edit is still the most recent edit if the page; for other cases, it is necessary to navigate to the particular page revision and use the "Revert" function.
  • Ignore user: If many edits by the same user appear and it is clear that the user is contributing constructively, this button will cause all subsequent contributions by that user to be ignored. Huggle will identify and ignore some users itself. Registered users are added to the whitelist, and always ignored; anonymous users are ignored only for that session.
Actions toolbar[edit]

Huggle 3 Actions toolbar


Page
  • View will view the current page.
  • Edit will open a new window containing an edit form for the current page.
  • Tag allows tagging of a page for speedy or proposed deletion, or the prepending of some other tag or tags to the page. Also supports XfD nominations
  • Delete, only available to administrators, deletes the page.
  • Watch will add the page to your Wikipedia watchlist. If the page is already on your watchlist, this button will be highlighted orange, and clicking it will remove the page from your watchlist.
User
  • Info will display information about the selected user, including block log, warning log and number of edits.
  • Talk will display the current user's talk page.
  • Message will prompt for a message and post it to the current user's talk page.
  • Report will prompt for an explanation and then issue a vandalism report for the current user. Note that Huggle will do this automatically when appropriate. You may also issue username reports by changing "Report to:". If you are an administrator, this button becomes Block, which will prompt for block summary, time and options and then block the current user.
Page and editor[edit]

The area on top shows the User / Editor Name and the Page Name:

Huggle 3 Page and editor

Queue[edit]

The queue shows all of the current changes to the wiki.



The queue has several different modes of operation:

  • All Edits – Displays every edit as it occurs. The queue is in chronological order.
  • All New Pages – Displays pages as they're created.
  • Assisted Edits – Only shows edits made with an automated tool.
  • Candidates for speedy deletion – Only shows edits made to pages that are tagged for speedy deletion
  • Filtered Edits – Automatically removed the edits from bots and other trusted users, then sorts the results by the probability that an edit is vandalism.
  • Filtered new pages – The same as Filtered Edits, but only displays new pages.
  • Huggle edits – Only shows edits made with Huggle.
  • My edits – Shows the edit's you've made.
  • Add... – Allows you to define your own queues.
Icon key[edit]
  • 1 trusted user
  • 2 anonymous user
  • 3 reverted user
  • 4 registered user that is not on the whitelist
  • 5 bot
  • 6 you
  • 7 page was blanked
  • 8 content was replaced
  • 9 page was redirected
  • 10 revert
  • 11 deletion tag
  • 12 notification
  • 13 warning
  • 14 - 17 User has issued a warning to another user. Number indicates level.
  • 18 - 21 user that has been warned made an edit, number indicates warning level
  • 22 reported user
  • 23 blocked user
  • 24 report
  • 25 block notification
  • 26 there are no older revisions in the history or the user's contributions
  • 27 (any color) automated assisted summary
  • 28 (any color) left indicates last edit and right is not last edit
History of your changes[edit]

This area on the left shows all the changes that you made during this huggle session by huggle only. Your edits made by different tools or instances of huggle are not shown in this window.


Huggle 3 History of your changes

Log[edit]

The log located at the bottom of the Huggle interface tells you what is going on.


Huggle 3 Logs


  • Red text β€” Edits or processes in the queue
  • Black text β€” Edits or processes that have been carried out
Reverts per minute log[edit]


In the lower left hand corner of the interface, you will find the statistics of the current editing session.

The color of the text indicates the current volume of vandalism reverts:

Green Low
Blue Low-moderate
Black Moderate (average)
Red High
Diff view[edit]

Huggle's diff view uses the standard MediaWiki view, in that changes are highlighted in green or yellow, additions have a little plus sign ( + ) to the left of them, and removals are marked in red font.

Huggle 3 Diff view


For full details about diff views, please read this page.

Article history[edit]

The area in the top right shows information about the page and editor history.



Along the top row is the page name (the drop down menu lists the ten most recent pages you were on) and then shows the history of the page in icons. Clicking on an icon will bring up the associated changed in the diff view. By default, only a small amount of history is loaded. Clicking on History will load more.

The user line acts much in the same way, except that it shows all of the recent changes by the user, to any page.

Icon key[edit]
  • 1 trusted user
  • 2 anonymous user
  • 3 reverted user
  • 4 registered user that is not on the whitelist
  • 5 bot
  • 6 you
  • 7 page was blanked
  • 8 content was replaced
  • 9 page was redirected
  • 10 revert
  • 11 deletion tag
  • 12 notification
  • 13 warning
  • 14 - 17 User has issued a warning to another user. Number indicates level.
  • 18 - 21 user that has been warned made an edit, number indicates warning level
  • 22 reported user
  • 23 blocked user
  • 24 report
  • 25 block notification
  • 26 there are no older revisions in the history or the user's contributions
  • 27 (any color) automated assisted summary
  • 28 (any color) left indicates last edit and right is not last edit
Editor info[edit]

…

Network[edit]

…

Processes[edit]

…

Keyboard shortcuts[edit]

Operation is quicker when you use keyboard shortcuts. Note that giving focus to the browser window prevents shortcuts working; click any button to take focus from the browser window. Keyboard shortcuts may be customized; go to System -> Options... and select the Keyboard tab.

Main[edit]
  • Space – Show next diff
  • Q – Revert and warn
  • R – Revert
  • Y – Revert with custom summary
  • T – Post template message
  • W – Warn
  • Escape – Cancel
Navigation[edit]
  • [ – Browse back
  • ] – Browse forward
  • Z – Previous revision
  • X – Next revision
  • C – Current revision
  • Ctrl + Z – Previous contribution
  • Ctrl + X – Next contribution
  • Ctrl + C – Latest contribution
  • D – Show diff to current revision
  • O – Open page in external browser
  • + – New tab
  • – – Close tab
  • Tab – Next tab
  • Shift + Tab – Previous tab
Page[edit]
  • V – View page (this revision)
  • Ctrl + V – View page (latest revision)
  • E – Edit page
  • G – Tag page
  • S – Tag page for deletion
  • Ctrl + S – Nominate page for deletion
  • P – Prod tag page
  • Ctrl + P – Mark as patrolled
  • Ctrl + D – Delete page
  • L – Watch / Unwatch page
User[edit]
  • I – Ignore user
  • Ctrl + I – Unignore user
  • / (?) - Show user info
  • A – View user talk page
  • N – Message user
  • B – Report user / Block user
Other[edit]
  • H – Retrieve history for current page
  • U – Retrieve contributions for current user
  • K – Toggle "show new edits"
  • M – Show new messages
  • Ctrl + Space – Clear queue

List builder feature[edit]

The list builder enables you to build custom lists for Huggle to work through using a variety of different sources.



On the left:

  • Add β€” Adds a new list to the list builder
  • Delete β€” Deletes the selected list from the list builder
  • Copy β€” Copies the selected list
  • Rename β€” Renames the selected list
Watching your watchlist (Huggle version 0.9.6)[edit]

To watch your own watchlist:

  1. Close Huggle, open your own watchlist here and make any changes you desire, and restart Huggle. (Note: To watch an entire category of pages, export the page names via Special:Export and paste the names into your watchlist.)
  2. Select menu Queue-->Manage Queues and then the Page title tab.
    1. Under Queues, add a new queue named Watchlist.
    2. Under Queue type, select the radio button for Dynamic list.
  3. Select the List source tab.
    1. On the Source type dropdown, select Watchlist.
    2. Do not select the checkbox for re-adding pages that were previously removed. As of this writing, the writer's experience is that doing so will cause Huggle to return an error every time a new page is selected.
  4. Press OK and test.

Remember, queues are not saved between sessions and your watchlist will not update until one of the watched pages is changed.
Also Note: Watchlist watching does not yet appear to be enabled.

Page title filters (Huggle version 0.9.6)[edit]

If you wish to limit your search to pages having a specific word in the page title, use page title filters. The field label does say, "Title matches regular expression:" but try just entering your keyword first. If you're interested in searching on just one word, formal regex syntax does not appear to be necessary.

Requests view[edit]

The requests form shows all of the requests that have been made by Huggle. The requests that are at different stages are shown in different colors.


  • Cancel all β€” Cancels all the current pending requests
  • Clear β€” Clears the list of requests
  • OK β€” Exits the window and goes back to the main interface

Statistics view[edit]

The statistics form shows:

  • The length of time you have been in your current session
  • Number of edits, assisted edits, Huggle edits, reverts, warnings, reports, tags, notifications, blocks, deletions and protections


Closing Huggle[edit]

The closing window appears when Huggle is closing. This goes through the stages of updating the whitelist (if needed) and updating the user config (if needed)