Requests for comment/Custom inter-namespace tabs
Custom inter-namespace tabs | |
---|---|
Component | General |
Creation date | |
Author(s) | MZMcBride, Wizardist |
Document status | accepted See Phabricator. |
This is a request for comment about adding custom inter-namespace tabs (bugzilla:13228).
Background
[edit]Certain wikis currently have an additional namespace tied to the classic (and traditional) articleâtalk combination. For example, on the English Wikinews, there's a third tab for "Opinions" which leads to a corresponding page in the Comments namespace.
The current implementation has issues, namely:
- it's in JavaScript (n:MediaWiki:Comments.js) which means that
- it's available only to JavaScript-enabled browsers;
- it's doing an extra AJAX request for tab color; and
- it's a pain in the ass to localize and customize per project.
Use-cases
[edit]- "Opinions" tab for the Comments namespace on the English Wikinews
- "Citations" tab for the Citations: namespace alongside the ns:0 and Talk namespaces on English Wiktionary
- "Source" (fonte) tab for the Index namespace alongside the main namespace page on Italian Wikisource (example: s:it:Voci di campanili links s:it:Indice:Albini - Voci di campanili.djvu)
Considerations
[edit]- Put code in a MediaWiki extension or in core???
- Localizable tab name
- Configurable in LocalSettings.php with an array or something?
- Tab has to account for page existence
Plan
[edit]The considerations above need to be resolved. Once they have been, this should no more than an hour's worth of coding time, I think. It'll be much more time trying to get the code reviewed and deployed than it will be the write the damn feature.
There's code at User:Svippong/AdditionalTabs and at <https://gerrit.wikimedia.org/r/gitweb?p=mediawiki/extensions/CommentPages.git;a=summary>, also #37569. Given changes to MediaWiki, however, it may make sense to start from scratch. Again, it depends how this is going to be implemented (extension or in core).
Implementations
[edit]JavaScript
[edit]Code base: n:MediaWiki:Comments.js.
Pros:
- no need to mess with server-side
Cons:
- available only to JavaScript-enabled browsers
- inconfigurable
- excessive API requests
- inconsistent localization
Status: ââ Deployed at production
Core
[edit]Patch-set: I14351aa5.
Pros:
- localizable
Cons:
- configuration in MediaWiki namespace
- hackish implementation & redundant core feature
- doesn't cover JavaScript implementation
Status: ââ Abandoned in Gerrit
Extension
[edit]See documentation: Extension:NamespaceRelations.
Features:
- localizable
- multiple custom tabs per Subject
- allows to decide whether to show tab on Main Page (if attached to Main namespace)
- additional query params attached for red-link tabs
- tab sorting (e.g. Opinions|Article|Talk)
- allows to hide Talk tab
Status: ââ Waiting for code review