Wolfite.dev / Highlights

Obby Wiki

IntegratedProfiles is now open source!

Obby WikiMediaWiki

IntegratedProfiles, a new MediaWiki extension that adds modern, customizable, and extensible user profiles, is now open source on GitHub!

IntegratedProfiles Demo

I previously announced this new extension as User Profiles Support on the Obby Wiki as an exclusive extension. Now, today, it is open source and free to use yourself. You can install the latest version (v0.3.0) right now on MediaWiki 1.46, with support for later versions (such as MediaWiki 1.45) coming shortly.

Star it now on GitHub!

obbywiki/mediawiki-extensions-IntegratedProfilesBETA | Implements modern user profiles with the ability for other extensions to build on it.10GPL-3.0

What I really like about this extension (and what's kind of half its name) is its focus on being integrable, allowing other extensions to build on top of it easily, instead of fighting for compatibility. Via hooks and APIs, other extensions have access to do the following:

  • Fetch user avatars (single or batch)
  • Register their own tabs (next to About, Contributions, etc.)
  • Modify extension HTML

This allows for a lot of different opportunities! The first extension to build on this is UserFlairs, an extension that adds Discourse-styled flairs to users' profiles.

obbywiki/mediawiki-extensions-UserFlairsAdds configurable flairs for user groups.00

You can check that out separately as well, as it's also on GitHub.

I'll go over a few configuration options, but you should read the up-to-date documentation either on the README or at Extension:IntegratedProfiles:, especially if you're reading this post after it's published.

MediaWikiExtension:IntegratedProfiles - MediaWikiIntegratedProfiles is a MediaWiki (1.46+) extension that implements modern and customizable user profiles featuring custom avatars and banners, social links, taglines, and favorite article links. IntegratedProfiles is currently in beta, with many features being subject to change.

$wgIntegratedProfilesEnabledSocialLinks

Use $wgIntegratedProfilesEnabledSocialLinks to customize the social links available to users for an individual wiki. The platforms that are currently supported are listed below. All of them are included as defaults, but that may change, so specify them yourself (if you want them) to be safe.

NOTE

On farms, all options are available globally and in the background. When one wiki enables a social link, every user that has that social link set already has it displayed on their local profile. Unfortunately, this does not allow wikis to introduce their own social links, as that would likely introduce conflicts.

  • Website (a custom http/https URL)
  • Twitter/X (username)
  • GitHub (username)
  • Discord (username)
  • Roblox (username)
  • YouTube (URL)
LocalSettings.php
$wgIntegratedProfilesEnabledSocialLinks = [ 'website', 'twitter', 'github', 'discord', 'roblox', 'youtube' ];

Alternatively, set none to disable the feature:

LocalSettings.php
$wgIntegratedProfilesEnabledSocialLinks = [];

You can request a platform by making an issue on GitHub so long as the platform you want meets these requirements:

  • It is uncontroversial
  • It is accessible to all users 16+ (preferably 13+)
  • Any language, does not have to be global or mainstream
  • It has a universal and usable logo that can be used in both black and white color icons

$wgIntegratedProfilesLanguageInterwikis

Use $wgIntegratedProfilesLanguageInterwikis to have IntegratedProfiles automatically inject language links into the page. This is useful for language interwikis, as users can quickly hop between a user's profiles on different language sites. Please ensure each language code set here is also registered in the interwiki table of each wiki (shown on Special:Interwiki:).

LocalSettings.php
$wgIntegratedProfilesLanguageInterwikis = [ 'en', 'ko', 'ja', 'zh' ];

By default, this feature is disabled. Users can still manually add languages to their user page regardless.

And that's it! Unlike the documentation pages, this post won't be updated, so check them out for more information.

obbywiki/mediawiki-extensions-IntegratedProfilesBETA | Implements modern user profiles with the ability for other extensions to build on it.10GPL-3.0