User:Eisheeta/Sandbox/Manual:Huggle

Note

  The manual is a work in progress. Please add to it with complete, tested instructions wherever you can.  

Images in the manual may differ from what you see in your version of Huggle.


Welcome to Huggle! This is the comprehensive manual for the installation and use of Huggle. Please browse to your heart's content.

Introduction edit

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++ using the Qt framework. It was originally developed in .NET Framework by Gurch, who is no longer active on this project. Anyone can download Huggle, but rollback permission is required to use it without restrictions on the 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 a network API and retrieves a list of edits that are made to a wiki in real time. Huggle evaluates these edits and moves them to a queue from which user can open them. If an edit contains problems, the user can easily revert it, usually with a shortcut key such as Q (by default this reverts the edit and warns the user who made it).

What are the system requirements for using Huggle? edit

Huggle 3 works on macOS, Linux and Windows directly. Huggle 2 works only on Windows XP, Windows Vista, and Windows 7, but also conditionally via Wine on macOS and Linux (more information).

Quick Start edit

The following pages are quickstart pages, intended for new users of Huggle:

To begin Huggle, You need to log in. Either choose the Bot or Legacy log in. The legacy login requires your normal password. Once you have logged into Huggle You will see a box labeled "Queue" Leave the Queue on default and click on any title inside the box (Once you have done this you may then use the spacebar to go on to the next Queue).

Controls edit

 

As Listed above...
  • Clicking on the pencil that is green with the checkmark will flag the edit as a good edit.
  • Clicking on the yellow pencil with the "!" will revert the edit and warn the user
  • Clicking on the yellow pencil with nothing on it will revert the edit
  • Clicking on the ! will warn the user without reverting the edit
  • To welcome a user click on the green happy face (not listed above)
  • For more options click on the drop down menu, To Use it click the black down arrow ( Be careful when opening the drop down menu and make sure to click the down arrow and not the symbols, otherwise it WILL revert WITHOUT warning!!! [If you clicked the symbol and not the arrow by accident, quickly press the ESC key])

Keyboard Shortcuts/Controls edit

  • Spacebar - Move onto next Queue
  • Q - Revert edit and warn user (For Vandalism only)
  • Alt + X - Add page to watchlist ( Not sure if this applies to all systems, It says to use L on the manual of shortcuts, though this control may vary from system to system)
  • Alt + C - Remove the page from watchlist ( Not sure if this applies to all systems, It says to use L on the manual of shortcuts, though this control may vary from system to system)
  • ESC - Cancels current action being performed
  • F5 - Refreshes the page

Tabs edit

You may wish to open a new tab by clicking the "+" icon on the tab. When You open a new tab, you can monitor the page you were editing, while looking for more vandalism in the new tab.

Log Out edit

To Log Out of Huggle Go to System then click on Exit.

Installation edit

Huggle is very easy to install.

  • Step 1: Go to the download page and download the latest stable version for your operating system.
  • Step 2: Follow the instructions on download page in order to install Huggle.

That's it! Huggle should be fully operational.

Instructions for OS edit

Windows edit

Huggle is distributed in 3 flavors for windows:

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

  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 to re-installation of Huggle.

Mac OS edit

Download the .dmg file from download page, open it and copy huggle to your Applications folder. Huggle should appear in the Launchpad 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 the Huggle application type:

huggle

Installation for Ubuntu and Linux distributions with snap edit

On all linux distributions with snap preinstalled (such as Ubuntu 16.04 and newer), Huggle can be installed as easily as this:

sudo snap install huggle

Uninstalling Huggle edit

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

Windows edit

There should be shortcut to "uninstall Huggle", using that will uninstall Huggle. On Windows, there may be some leftovers in your Program Files (under the folder Huggle) which can also 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 folder. You may also delete your personal configuration that can be found in ~/Library/Application Support/Wikimedia/Huggle.

Linux edit

Debian / Ubuntu edit

You can safely remove Huggle using Package Manager.

Compiled edit

When you ran the "make install", a file called install_manifest was generated in current folder. It contains the 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.

Deployment edit

Installing Huggle on custom Wikimedia 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 loginon Windows 8

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 has permission 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.

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


  • Use HTTPS (requires OpenSSL)— Force Huggle to use a secure connection to connect to the project.

Interface edit

This is Huggle's interface.

 

  1. Menu toolbar
  2. Navigation toolbar
  3. Main toolbar
  4. Actions toolbar
  5. Page and editor
  6. Queue
  7. History of your changes
  8. Log
  9. Reverts per minute log
  10. Diff view
  11. Article history
  12. Editor info
  13. Network
  14. Processes

Keyboard Shortcuts edit

Operating Huggle 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 edit summary
  • T – Post template message
  • W – Warn without reverting
  • Escape – Cancel current action being performed

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, this as mentioned above will prevent further keyboard shortcuts from working.
  • + – 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

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).

 

Additional Help edit

If you need any more help, or have any questions about Huggle, please visit us in the #huggle connect IRC channel and ask away.