FANDOM


DiscussionsActivity creates a new special page to show the latest messages from Discussions on wikis that have the feature enabled. It is based on the code of DiscussionsFeed, but with numerous visual additions and improvements in order to provide a rich feed that resembles the look and feel of the Recent Wiki Activity.

Installation

See also: Help:Including additional CSS and JS, Help:Advanced CSS and JS
  • For site-wide use, an administrator can add the line below to the wiki's MediaWiki:ImportJS page.
dev:DiscussionsActivity.js
  • For personal use, add the code snippet below to your global.js page (for use on all wikis) or your common.js page on your wiki (for use on a single wiki). Note that personal JS must be enabled for your account.
importArticles({
    type: 'script',
    articles: [
        'u:dev:DiscussionsActivity.js',
    ]
});
importArticles — Best Practices for installing JavaScript on FANDOM
The importArticles statement is designed to combine multiple HTTP requests into a single data transfer, allowing multiple scripts to load and execute faster. If you've been installing several different scripts, your JavaScript file has probably accumulated unnecessary import statements. Click "Expand" to learn how to efficiently batch import scripts to speed up performance and make your code look cleaner. One other approach is by using the MediaWiki:ImportJS.
If your JavaScript file has several lines of code that say importScript, importScriptPage, or importArticles, you may be able to combine them! By batch importing a collection of scripts with a single import, your JavaScript code will load faster and look cleaner. Consider the example below. On the left is an example of what your JavaScript file might currently look like. On the right is how you could improve that code.
Multiple imports — messy and slow One import — clean and efficient
importScriptPage('AjaxRC/code.js','dev');
 
importScript('MediaWiki:localScript.js');
 
importArticle({
  type: 'script',
  article: 'u:dev:FloatingToc/code.js'
});
 
importScriptPage('page1.js', 'wikiname');
 
importScriptPage('page2.js', 'wikiname');
importArticles({
    type: 'script',
    articles: [
        'u:dev:AjaxRC/code.js',
        'MediaWiki:localScript.js',
        'u:dev:FloatingToc/code.js',
        'u:wikiname:page1.js',
        'u:wikiname:page2.js'
    ]
});
Note: In this example, pay close attention to the placement of commas and other punctuation. For people who aren't familiar with programming (and even those who are!), a common mistake when writing code is to accidentally delete, forget, or misplace critical symbols like commas or quotation marks. This can cause a syntax error that breaks the code. Carefully follow the convention shown here when using importArticles.
But there's much more to importArticles than just this! For more examples and advanced usage, see the help page at Help:Including additional JavaScript and CSS.

Usage

This script will create a new special page in Special:DiscussionsActivity (available through a link under the title in Recent Wiki Activity and Recent Changes). Regular users will see a feed with the latest 50 posts publicly visible, along with a checkbox to toggle auto refresh.

Administrators and Discussions Moderators will also see deleted posts and a second checkbox to toggle their visibility. These posts along with reported and locked posts are displayed with a different style. Administrators will additionally see a "block" option next to each user in order to easily block vandals.

The page will automatically take the theme of the wiki, although —unlike DiscussionsFeed— at the moment it only supports Oasis (support for Monobook will be added later).

Configuration

You can optionally add this variable to your user's common.js (for personal configuration) or the MediaWiki:Common.js (to apply configuration to all users, if you are Administrator) on your wiki in order to override the default value:

  • window.rdaRefreshInterval — Specifies the interval in milliseconds in which the posts will be reloaded. Default is 60000, meaning 60 seconds. Minimum is 30000 or 30 seconds.
Example
window.rdaRefreshInterval = 120000; // Posts will be reloaded every 2 minutes

Please note that if you imported the script through a method other than MediaWiki:ImportJS, then you have to place this variable above the import statement for it to work.