Manual:Huggle/Deploying

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.

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 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 one wiki farm, you can ignore this.

Global wiki

edit

Since Huggle is designed to run on wiki farms, it requires one wiki that is called "global wiki" this wiki contains global configuration file that has the information about individual wikis. In case you have only one wiki, you will need to make it a global wiki so you have both a global and local configuration file there.

Configuration files

edit

See Manual:Huggle/Configuration

Huggle is using 4 configuration files in the 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 log in
  • 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 the 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 https://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. The aame applies for wl (whitelist id).

Now on each of these three 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 the reload button. It should load a list of local wikis. You should now be able to use Huggle on your wikis.

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