RecentChangesMultiple

RecentChangesMultiple is designed for monitoring multiple smaller wikis at once, giving one central location to view all the edits. While this script is designed to emulate standard Wikia RecentChanges as close as possible, there are many subtle differences (see Notes below).

This tool is designed primarily with Wikia wikis in mind, but should work for many wikis by default, and has some settings to handle special cases for certain non-wikia mwikis (such as "&scriptdir=" below). When adding non-wikia wikis, it's important to note that this script is designed for MediaWiki wikis, and requires the Mediawiki Api to be enabled on a wiki to run.


 * Example Page

Translations / bugs can be posted on the talk page (but also make sure to message me so I don't miss it).

The script should be run using code.2.js. Although no longer supported, the original atom-feed version can be found at /code.js, with documentation for it found here.

Basic Usage
All that's truly need after the script is installed is a div with the "rc-content-multiple"  and a bullet list with the link of the wiki's subdirectory like so (the div will need to be added via source mode):
 * runescape.wikia.com
 * wowwiki.com
 * dev.wikia.com

Note: Do not include  before the url.

Inspired by AjaxRC, an "auto-refresh" option is available, that when ticked will cause the list to be refreshed every 60 seconds. A cookie is used to store the setting of the checkbox once clicked.

Inspired by AjaxDiff / LastEdited, you can view the "diff" of a change without changing pages, by hitting the icon to the right of the "diff"/"prev"/"changes" link.

If your language is supported, it will automatically be used based on the language in your settings / wiki language. See more on translation stuff below.

Note: Multiple instances (DIVs) of the script may be run on the same page (for whatever reason you may wish), but keep in mind some of the additional parameters below are only checked on the first instance (data-lang, data-hiderail, data-loaddelay).

Additional Parameters
While the above works and that's all that may be needed, there are also many other additional parameters that can be added, in 2 ways: 1 that effects every wiki on the list, and one that just effects some.

.rc-content-multiple Dataset
These effect every wiki / the script as a whole.

datasets go directly inside the div, like so: 
 * Example
 * list of wikis

On List Items
Every item on the list must start with the wiki's base url, in the format "name.wikia.com" (or or lang.name.wikia.com, or name. if the wiki doesn't have "wikia" in it). Do not include "http://", and anything after or including the first "/" at the root.

Each list item may have parameters added after it in the format "&paramname=" to add additional functionality for how that wiki is displayed / loaded.

*fewfre.wikia.com &hideusers=Fewfre,FewBot *harvestmoon.wikia.com &favicon=hmwikia *wiki.guildwars2.com &favicon=wiki.guildwars2.com/images/thumb/d/df/GW2Logo_new.png/180px-GW2Logo_new.png *pixelmonmod.com &scriptdir=wiki &params=hidemyself:1,limit:5
 * Examples

RC Params
To help emulate Special:RecentChanges as much as possible, this script accepts RC-style url params (used as explained above). There are multiple params, as explained below. Please not that these effect each wiki individually (so a limit of 50 for 4 wikis is actually a limit of 200).

Note that for "true/false" boolean switches, "0" is false, and "1" is true.

Translation
This script is translated in two separate ways:
 * 1) Script Text ("TEXT" in code) - normal translation stuff like any other script that needs to be updated by hand.
 * 2) RecentChanges Text ("RC_TEXT" in code) - this is done automatically, by loading the text normally found in Special:RecentChanges from the server. Any language normally supported by Wikia should be supported by this script for this type of translation.

Other

 * "http://" shouldn't be used in this script to avoid it automatically becoming a link (makes it annoying to deal with), and shows up on Special:LinkSearch as a page with an external link (may be undesirable).
 * Designed for Wikia wikis, but should work for any wiki (assuming it's not too out-of-date).
 * Some non-Wikia wikis simply do not seem to work, due to how they are setup (MediaWiki version is to old, API disabled, etc).

Changelog
See [ the history of the code.2.js page] for specific changes. Older changes can be found on the [ code.js history page].
 * 14 February 2015 - Alpha finished (followed by break).
 * 22-27 May 2015 - Beta finished.
 * 28 June 2015 - Script published.

26 July 2015 - MediaWiki API rewrite - V1.1.0
The main purposes of this rewrite were to:


 * 1) Add automatic translation support for RecentChanges text.
 * 2) Remove YQL dependency (info taken directly from wiki via API). Also results in faster loading.
 * 3) Add more Special:RecentChanges support (minor edits marked, support of things other than "hidemyself" work (such as "days" and bot flag).
 * 4) Rewrite code to be a bit more efficient.


 * Important notes:
 * "&subdir" removed, and "&scriptdir" added (may be necessary for non-wikia wikis, see above). ex:
 * "data-params" now offers much more support. "days" and "limit" now work up to same amount as normal for each wiki on the list. As such this should be limited to a few days / a lower limit to avoid loading potentially thousands of changes. Individual wikis can have these limits modified using "&params"


 * Changes:
 * Changed translating to use the exact i18n info from Wikia's github for RC_TEXT. Loads RC_TEXT from the server based on your language.
 * Boards/walls now also check for [ restore, delete, remove ] for "replies" instead of assuming it's the actual thread.
 * All (normal) RecentChanges params supported, except " hideenhanced ", "from", and viewing a select namespace.
 * Bot edits can now be shown (off by default), and "minor" edits are now marked.
 * gApp instance turned into the RecentChangesMultiple class (to potentially run multiple for whatever reason, plus I prefer "traditional" OO class structures)
 * As such, #rc-content-multiple id should now be a .rc-content-multiple class to allow for multiple instances (although using ids is still supported)
 * Additional Special:RecentChanges CSS classes used.
 * Rewrote RC / RCList objects (to bring a little more inline with how it's structure in mw system)
 * New "WikiData" class for storing wiki-specific data in a more understandable way, will also providing helper methods
 * Log message support now needs to be added manually for non-normal logs (but messages are translated now).

Requirements

 * Jquery
 * All wikis in the script must:
 * Be Mediawiki wikis (Version 1.16+)
 * Have the Mediawiki Api available.
 * Browser that supports various aspects of ECMAScript5 (any up-to-date browser will basically be fine).
 * The script has to run on a Wikia wiki (to make sure it have access to things like the code for collapsing lists).