Extension:WikiShare

From MediaWiki.org
Jump to navigation Jump to search
MediaWiki extensions manual
OOjs UI icon advanced.svg
WikiShare
Release status: beta
WikiShare extension icon.svg
Implementation Skin , Tag
Description Adds social media sharing capabilities, without sending any user data, to wikis using sidebar portlet and page toolbar. With user preferences enabling/disabling the feature and individual services. Wiki SysAdmin settings to control the look, placement and appearance of the toolbar.
Author(s) Gregory Varnum (Varnenttalk)
Latest version 0.12052020 (2020-05-12)
License GNU General Public License 2.0 or later
Download
Example WikiGreed
  • $wgWikiShareFollow
  • $wgWikiShare
  • $wgWikiShareServices
<wikishare />
Translate the WikiShare extension if it is available at translatewiki.net
Issues Open tasks · Report a bug

This extension adds share buttons to your wiki. It is in early stages of development and requires all settings to be configured via LocalSettings.php. A Special page for management in the future is in development.

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 <wikishare /> 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]

  • Download and place the file(s) in a directory called WikiShare in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php:
    wfLoadExtension( 'WikiShare' );
    
  • Yes Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

Configuration[edit]

Parameter Default Description
$wgWikiShare['background'] #f6f6f6 Background color for toolbox displayed in article header
$wgWikiShare['border'] #a7d7f9 Border color for toolbox displayed in article header
$wgWikiShare['sidebar'] true Display widget as sidebar portlet
$wgWikiShare['header'] true Display widget toolbar in article header
$wgWikiShare['main'] true Display widget toolbar on the main page
$wgWikiShareServices['facebook']['service'] Facebook Name of service
$wgWikiShareServices['facebook']['url'] "http://www.facebook.com/sharer.php?u=%url%&t=%title% - %wiki%" URL for service sharing. Use %url% as a replacement for the page's URL, %title% for page's title, and %wiki% for wiki's name.
$wgWikiShareServices['facebook']['icon'] https://upload.wikimedia.org/wikipedia/commons/thumb/5/51/Facebook_f_logo_%282019%29.svg/40px-Facebook_f_logo_%282019%29.svg.png URL of service sharing service's icon.
$wgWikiShareServices['twitter']['service'] Twitter Name of service
$wgWikiShareServices['twitter']['url'] "https://twitter.com/intent/tweet?text=Look%20what%20I%20found%20on%20%wiki%:%20%url%" URL for service sharing. Use %url% as a replacement for the page's URL, %title% for page's title, and %wiki% for wiki's name.
$wgWikiShareServices['twitter']['icon'] https://upload.wikimedia.org/wikipedia/commons/thumb/c/ce/Twitter_Logo.png/40px-Twitter_Logo.png URL of service sharing service's icon.
$wgWikiShareServices[1]['service'] Name of service
$wgWikiShareServices[1]['url'] URL for service sharing. Use %url% as a replacement for the page's URL, %title% for page's title, and %wiki% for wiki's name.
$wgWikiShareServices[1]['icon'] URL of service sharing service's icon.
You can then replace '1' with '2' and so on until you have all your services entered.

Concept[edit]

Develop a MediaWiki extension that allows social media sharing in a way that allows for deployment on Wikimedia project sites.

  • No use of APIs or scripts
  • No transmission of any of the wiki user's information - including IP address
  • Only support services that allow URL based submissions
  • Use Wikimedia Commons images
  • User preferences will allow wiki users to:
    • Disable or enable entire social media sharing feature for people avoiding social media
    • Disable or enable specific services
  • SysAdmin settings to:
    • Set defaults for user prefs
    • Add additional or custom services
    • Pick between 2-3 different toolbox designs

Release notes[edit]

  • Alpha 0.15042020
    • Proof concept of design
    • Basic layout
    • Settings page not yet enabled

Roadmap[edit]

Intended to help developer map out future features and communicate plans to potential users. Version in bold is the current development stage.

  • Alpha 0.2aX
    • Basic settings mapped out
  • Alpha 0.3aX
    • SpecialPages setup
  • Beta 0.XaX
    • Functional version with settings
  • Beta 0.XaX
    • Finalize images setup
  • Beta 0.XaX
    • Additional designs
  • Version 1.0
    • Fully functional for third-party wikis
  • Version 2.0
    • Compliance for Wikimedia project wikis

Notes[edit]

Sources for code[edit]

Working examples of concept in light form on current WMF sites:

Model code to borrow from:

General thoughts / essays[edit]

Interested in bug squashing[edit]

Free floating ideas[edit]

  • Dantman: When you get close to the sharing area a grey x shows up on the right side of it. When you hover over it a tooltip says something like "Disable share buttons." After clicking the button the share area is replaced with a message. For logged out users "Share buttons have been disabled temporarily. [Log in] to disable them permanently. - Undo" and a cookie is set. For logged in users the message is "Share buttons have been disabled permanently. You can re-enable them later in your [preferences]. - Undo"
    • Dantman: After clicking the button the share area is replaced with a message. For logged out users "Share buttons have been disabled temporarily. Log in to disable them permanently. - Undo" and a cookie is set. For logged in users the message is "Share buttons have been disabled permanently. You can re-enable them later in your preferences. - Undo"