Extension:AddThis

From mediawiki.org
MediaWiki extensions manual
AddThis
Release status: stable
Implementation Skin , Tag
Description Adds an AddThis widget as a portlet to sidebar and displays expanded widget as a toolbar in articles. An expanded widget toolbar is also available using ‎<addthis /> tag.
Author(s) Gregory Varnum (Varnenttalk)
Latest version 1.2.0 (2018-01-07)
MediaWiki 1.29+
PHP 5.5+
Database changes No
License GNU General Public License 2.0 only
Download
Release notes
  • $wgAddThis
  • $wgAddThispubid
  • $wgAddThisHServ
  • $wgAddThisMain
  • $wgAddThisSBServ
  • $wgAddThisSidebar
  • $wgAddThisHeader
  • $wgAddThisBorder
  • $wgAddThisBackground
‎<addthis />
Quarterly downloads 11 (Ranked 162nd)
Translate the AddThis extension if it is available at translatewiki.net

The AddThis extension adds an AddThis widget to the sidebar and the upper right corner of articles - just below the article's title and the site's tagline. This allows you to have things like Facebook's "Like" or "Recommend" button, a button for Tweeting, Google +'ing, etc.

Usage[edit]

By default, the sidebar is set to appear on all pages.

By default, the toolbar will appear in the header of all articles in a content namespace.

Using the ‎<addthis /> tag, you can:

  • Display the toolbar on pages in non-content namespaces
  • Display the toolbar when it has been disabled in LocalSettings.php
  • Display the toolbar on places other than the page header

Installation[edit]

To users running MediaWiki 1.30 or earlier:

The instructions above describe the new way of installing this extension using wfLoadExtension(). If you need to install this extension on these earlier versions (MediaWiki 1.30 and earlier), instead of wfLoadExtension( 'AddThis' );, you need to use:

require_once "$IP/extensions/AddThis/AddThis.php";

Configuration[edit]

You can disable the article header toolbar by adding this to LocalSettings.php :

$wgAddThisHeader = false;

While it does not appear to be required, it is highly recommended that you register an AddThis account and enter your user/profile id number to LocalSettings.php :[1]

$wgAddThispubid = 'ra-xxxxxxxxxxxxxxxxxxx';

Default configuration[edit]

Screenshot of article header toolbar
Screenshot of article header toolbar
Screenshot of sidebar portlet
Screenshot of sidebar portlet
Defaults
$wgAddThispubid = '';
$wgAddThisBackground = '#f6f6f6';
$wgAddThisBorder = '#a7d7f9';
$wgAddThisSidebar = true;
$wgAddThisHeader = true;
$wgAddThisMain = true;
$wgAddThis = [
	'addressbarsharing' => false,
];
$wgAddThisSBServ = [
	[
		'service' => 'compact'
	],
	[
		'service' => 'facebook'
	],
	[
		'service' => 'twitter'
	],
	[
		'service' => 'google_plusone',
		'attribs' => 'g:plusone:count="false" style="margin-top:1px;"'
	],
	[
		'service' => 'email'
	],
];
$wgAddThisHServ = [
	[
		'service' => 'facebook'
	],
	[
		'service' => 'twitter'
	],
	[
		'service' => 'google_plusone',
		'attribs' => 'g:plusone:count="false" style="margin-top:1px;"'
	],
	[
		'service' => 'linkedin'
	],
	[
		'service' => 'tumblr'
	],
	[
		'service' => 'stumbleupon'
	],
	[
		'service' => 'reddit'
	],
	[
		'service' => 'email'
	]
];

Configuration parameters[edit]

Parameter Default Description
$wgAddThispubid '' AddThis Profile ID - does not appear to be required, but is recommended
$wgAddThisBackground '#f6f6f6' Background color for AddThis toolbox displayed in article header
$wgAddThisBorder '#a7d7f9' Border color for AddThis toolbox displayed in article header
$wgAddThisSidebar true Display AddThis widget as sidebar portlet
$wgAddThisHeader true Display AddThis widget toolbar in article header
$wgAddThisMain true Display AddThis widget toolbar on the main page
$wgAddThis['addressbarsharing'] false Enable AddThis Address Bar Sharing
$wgAddThisSBServ[0]['service'] 'compact' [2] Service code for 1st button in sidebar
$wgAddThisSBServ[0]['attribs'] '' Settings for 1st button in sidebar
$wgAddThisSBServ[1]['service'] 'facebook' Service code for 2nd button in sidebar
$wgAddThisSBServ[1]['attribs'] '' Settings for 2nd button in sidebar
$wgAddThisSBServ[2]['service'] 'twitter' Service code for 3rd button in sidebar
$wgAddThisSBServ[2]['attribs'] '' Settings for 3rd button in sidebar
$wgAddThisSBServ[3]['service'] 'google_plusone' Service code for 4th button in sidebar
$wgAddThisSBServ[3]['attribs'] 'g:plusone:count="false" style="margin-top:1px;"' Settings for 4th button in sidebar
$wgAddThisSBServ[4]['service'] 'email' Service code for 5th button in sidebar
$wgAddThisSBServ[4]['attribs'] '' Settings for 5th button in sidebar
$wgAddThisHServ[0]['service'] 'facebook' Service code for 1st button in article header after AddThis icon (which cannot be moved in the header)
$wgAddThisHServ[0]['attribs'] '' Settings for 1st button in article header
$wgAddThisHServ[1]['service'] 'twitter' Service code for 2nd button in article header after AddThis icon
$wgAddThisHServ[1]['attribs'] '' Settings for 2nd button in article header
$wgAddThisHServ[2]['service'] 'google_plusone' Service code for 3rd button in article header after AddThis icon
$wgAddThisHServ[2]['attribs'] 'g:plusone:count="false" style="margin-top:1px;"' Settings for 3rd button in article header
$wgAddThisHServ[3]['service'] 'linkedin' Service code for 4th button in article header after AddThis icon
$wgAddThisHServ[3]['attribs'] '' Settings for 4th button in article header
$wgAddThisHServ[4]['service'] 'tumblr' Service code for 5th button in article header after AddThis icon
$wgAddThisHServ[4]['attribs'] '' Settings for 5th button in article header
$wgAddThisHServ[5]['service'] 'stumbleupon' Service code for 6th button in article header after AddThis icon
$wgAddThisHServ[5]['attribs'] '' Settings for 6th button in article header
$wgAddThisHServ[6]['service'] 'reddit' Service code for 7th button in article header after AddThis icon
$wgAddThisHServ[6]['attribs'] '' Settings for 7th button in article header
$wgAddThisHServ[7]['service'] 'email' Service code for 8th button in article header after AddThis icon
$wgAddThisHServ[7]['attribs'] '' Settings for 8th button in article header
  1. Your id is on your settings page
  2. 'compact' = AddThis icon used to access full AddThis popup menu

Common service codes[edit]

Here are a list of commonly used service codes you can use in the above ['service'] parameters:

  • aim
  • baidu
  • bitly
  • blip
  • blogger
  • care2
  • delicious
  • digg
  • email
  • evernote
  • facebook
  • fark
  • farkinda
  • google_plusone
  • identica
  • linkedin
  • myspace
  • orkut
  • reddit
  • stumbleupon
  • tumblr
  • twitter
  • xing
  • zingme

Known to not work[edit]

  • pinterest
    • Image, rather than content, oriented and so hard to implement for a wiki
    • Will investigate further if there's interest - possibly for displaying just on File pages?

Styling The Buttons[edit]

You can change the styling of the buttons using CSS added to MediaWiki:Common.css. An example:

/*increase the size of the buttons to 2em */
span.at-icon-wrapper, svg.at-icon
{
    width: 2em!important;
    height: 2em!important;
}

If needed, CSS can also be used to hide the entire widget for specific users (see Manual:$wgAllowUserCss), skins or platforms (MediaWiki:Mobile.css).

#addthistoolbar { display: none; }

Development[edit]

Release notes[edit]

1.1.1
1.0.1
Support for AddThis Address Bar Sharing
Additional code clean-up
Switched from reddit as a preferred service to digg
Will not be making these often as wikis should set their own preferred services - but we will make tweaks based on AddThis service trends and your feedback
1.0
Stable release
1.0f
Moved to Wikimedia Subversion server
Switched to using arrays per feedback - ty Johnduhart!
Numerous code cleanup and enhancements by Johnduhart - again, thank you!
1.0e
Setting ($wgAddThisMain) to disable appearance on main page (default is set to display on main page)
Cleaned up code and moved closer to matching MW's coding conventions
1.0d
Addition of tag (<AddThis />) for displaying article header toolbar widget on page outside of the main article namespace or for use on wikis with the header toolbar otherwise disabled
Improved localization - toolbar now uses language file as well
1.0c
Enable/disable settings for both the sidebar ($wgAddThisSidebar) and article header toolbar ($wgAddThisHeader) widgets
1.0b
Use of ResourceLoader for css rather than loading within extension - fixes bug reported on MW1.18
Addition of Russian language to language file - thank you Unikum111!
1.0a
Initial release

Planned features[edit]

Wish list[edit]

  • Your requests and ideas are welcome.
  • Ability to disallow the extension on certain pages (for example it's not needed on templates and other housekeeping pages). <<--- Yes to this please.
  • Ability to move the header box anywhere on the page with CSS, preferably to be on the RHS across from the Page Title.
  • Option to load on click as I don't want my users to get watched all the time (just in case they really want to and wish to share something). Example here.
  • Ability to control which namespaces contain or do not contain the extension, or to default to all namespaces if desired.
  • Load JavaScript for AddThis asynchronously. Adding the async attribute will help wikipages to load faster by loading the JavaScript at the same time as the page content, instead of delaying the page load until after the JavaScript is loaded.
    <script type="text/javascript" src="//s7.addthis.com/js/250/addthis_widget.js"></script>
    should instead be
    <script type="text/javascript" src="//s7.addthis.com/js/250/addthis_widget.js" async="async"></script>

Ideas being considered[edit]

Time will be spent on these if folks show interest on the wish list or talk page

  • Setting to change default namespaces to display page header toolbar on
  • Setting via LocalSetting.php and tag to change toolbar display from the right side to the left

Requests by developer[edit]

  • Add any wishes to wish list or request on talk page
  • Please test on wikis and report back via talk page
  • Suggestions from developers are especially welcome! Contributions included will be credited as co-authors
  • Language translations will be credited

See also[edit]