Page MenuHomePhabricator

Bundle DiscussionTools extension with MediaWiki
Closed, ResolvedPublic

Description

DiscussionTools fills a large and painful gap MediaWiki's communication capabilities. Even in its current experimental state, I think it's worth offering it as part of the default experience; and with VisualEditor now being part of the bundle, it doesn't seem too complicated.

  • Passed security review or already Wikimedia deployed
  • Voting CI structure tests
  • Runs MediaWiki-CodeSniffer
  • Runs phan
  • Supports MySQL, SQLite, and Postgres (uses abstract schema)
  • GPL v2 or later compatible license (MIT)
  • Extension's default configuration provides optimal experience
  • Tested with web installer
  • Any relevant dependencies/enhancing extensions also bundled (Linter: T290465)

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
Tgr renamed this task from Bundle DiscussionTools with MediaWiki to Bundle DiscussionTools extension with MediaWiki.Sep 7 2021, 4:48 AM
Tgr updated the task description. (Show Details)

Seems like there isn't much to do here other than testing it out, so maybe even doable for 1.37?

DiscussionTools currently requires non-default values for two configuration settings, $wgLocaltimezone and $wgFragmentMode: https://phabricator.wikimedia.org/diffusion/EDTO/browse/master/includes/Hooks/RegistrationHooks.php

$wgLocaltimezone must be non-null, so that timestamps remain consistent during daylight-saving time. As far as I can see, the installer does not set it. Maybe the auto-detection that currently is in Setup.php could be in the installer instead.

$wgFragmentMode must be 'html5'-first, which behaves more sensibly and made our code easier to write. We could probably support 'legacy'-first too but it would take some work. Alternatively, maybe 'html5'-first could become the default in MediaWiki (it's been used in WMF production for a while now).

@Tgr I'm glad you filed this task; we agree we think bundling DiscussionTools with MediaWiki. Although, we cannot prioritize work on this right now.

In the meantime, f you – or anyone else – is motivated to resolve the blockers @matmarex raised in T290464#7335873, we will review them.

Change 720427 had a related patch set uploaded (by Gergő Tisza; author: Gergő Tisza):

[mediawiki/core@master] Change $wgExperimentalHtmlIds to HTML5-first

https://gerrit.wikimedia.org/r/720427

Change 720460 had a related patch set uploaded (by Gergő Tisza; author: Gergő Tisza):

[mediawiki/extensions/VisualEditor@master] MWInternalLinkAnnotation: Make test work with both fragment modes

https://gerrit.wikimedia.org/r/720460

Change 720460 merged by jenkins-bot:

[mediawiki/extensions/VisualEditor@master] MWInternalLinkAnnotation: Make test work with both fragment modes

https://gerrit.wikimedia.org/r/720460

Change 720427 merged by jenkins-bot:

[mediawiki/core@master] Change $wgExperimentalHtmlIds to HTML5-first

https://gerrit.wikimedia.org/r/720427

Change 720475 had a related patch set uploaded (by Gergő Tisza; author: Gergő Tisza):

[mediawiki/core@master] Installer: Add $wgLocaltimezone to LocalSettings template

https://gerrit.wikimedia.org/r/720475

Tgr updated the task description. (Show Details)
Tgr edited projects, added MW-1.37-release; removed MW-1.38-release.

Seems to work fine with the patches applied.

This turned out to be pretty simple, could as well go into the current release.

Change 720490 had a related patch set uploaded (by Gergő Tisza; author: Gergő Tisza):

[mediawiki/tools/release@master] Add DiscussionTools to the default MediaWiki bundle

https://gerrit.wikimedia.org/r/720490

@Tgr: are you able to share how the experience of someone setting up a MediaWiki instance will be impacted by DiscussionTools being included in the default bundle? E.g. as the patches are currently written, what DiscussionTools features are enabled [i]? Are they enabled by default? Are they "nested" within the DiscussionTools beta feature? Is said beta feature enabled/disabled by default?

For context, while we are actively making changes to the DiscussionTools extension, we're keen for everyone to have access to features available within it [i], provided the following is true:

  1. People need to manually opt-it to enabling the features
  2. People are aware they should expect changes to the extension as it is under active development

i. Reply Tool, New Discussion Tool, Topic Subscriptions

Per the discussion in T279842 it won't make it into this release, but in general, there would be a checkbox to enable DiscussionTools like there is for the other bundled extensions/skins, and if it's checked the wfLoadExtension call would be added to LocalSettings.php. All settings would be at their default value (ie. what's set in the extension's extension.json file).

Also, we may want to remove or change the "Share feedback about this feature" links. In the past such links in various products resulted in mostly useless feedback (T188729, T209336). If we want to hear from users of third-party wikis, we might want to send them to a different page?

Yeah, that's best disabled by default. The majority of such feedback is either configuration issues specific to that wiki, or several years outdated since many wikis don't update regularly.

Change 720475 merged by jenkins-bot:

[mediawiki/core@master] Installer: Add $wgLocaltimezone to LocalSettings template

https://gerrit.wikimedia.org/r/720475

Change 722905 had a related patch set uploaded (by Jforrester; author: Gergő Tisza):

[mediawiki/core@REL1_37] Installer: Add $wgLocaltimezone to LocalSettings template

https://gerrit.wikimedia.org/r/722905

Change 722905 merged by jenkins-bot:

[mediawiki/core@REL1_37] Installer: Add $wgLocaltimezone to LocalSettings template

https://gerrit.wikimedia.org/r/722905

Change 720490 merged by jenkins-bot:

[mediawiki/tools/release@master] Add DiscussionTools to the default MediaWiki bundle

https://gerrit.wikimedia.org/r/720490

Will need to add some documentation to the release notes and the on-wiki docs. Otherwise this is done.

I think removing the "Share feedback…" is a release blocker.

Also, I was just testing and realized that we don't have a dependency on the Echo extension, even though some features don't work with it. (Surprisingly the wiki doesn't crash, but you never receive notifications for your subscriptions.) However, Echo isn't bundled yet…

Also, I was just testing and realized that we don't have a dependency on the Echo extension, even though some features don't work with it. (Surprisingly the wiki doesn't crash, but you never receive notifications for your subscriptions.) However, Echo isn't bundled yet…

What about defaulting $wgDiscussionTools_topicsubscription and $wgDiscussionTools_autotopicsub to unavailable unless Echo is loaded? DiscussionTools makes sense even without topic subscriptions.

I think removing the "Share feedback…" is a release blocker.

You've got till 1.40 ;)

I think removing the "Share feedback…" is a release blocker.

You've got till 1.40 ;)

With https://gerrit.wikimedia.org/r/c/mediawiki/extensions/DiscussionTools/+/853992 can we declare this Resolved?

Hmm, is this extension bundled or not? On its page on mediawiki.org is still marked as a beta with no information about it being bundled. Moreover, the release notes of MW 1.40, this part got me asking here, do not mention it: https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/core/+/REL1_40/RELEASE-NOTES-1.40#35

Self answering. I just downloaded the 1.40.0 zip, and it is there. I updated the docu and will create a pull request to add this info to the release notes.

Somehow I get many errors when submitting the patch to add a note about this extension to the release notes. It would be cool if someone on this task could do it. Thanks.

Somehow I get many errors when submitting the patch to add a note about this extension to the release notes. It would be cool if someone on this task could do it. Thanks.

FWIW you can go to the "Commands" tab of the component's repo settings in Gerrit ( https://gerrit.wikimedia.org/r/admin/repos/mediawiki/core,commands ), click Create change, and edit the changelog in Gerrit. Not the most convenient but you don't have to deal with any git weirdness.

Change 935496 had a related patch set uploaded (by Gergő Tisza; author: Gergő Tisza):

[mediawiki/core@REL1_40] Add DiscussionTools bundling to release notes

https://gerrit.wikimedia.org/r/935496

Change 935496 merged by jenkins-bot:

[mediawiki/core@REL1_40] Add DiscussionTools bundling to release notes

https://gerrit.wikimedia.org/r/935496

@Tgr Thank you for extending the release notes and for your tip about web editing with Gerrit. I was not aware at all that this is possible. I was a bit in a hurry yesterday which is why I was not able to continue getting the patch done. :|

Change 936786 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/core@master] HISTORY: Add DiscussionTools bundling to 1.40 release notes

https://gerrit.wikimedia.org/r/936786

Change 936786 merged by jenkins-bot:

[mediawiki/core@master] HISTORY: Add DiscussionTools bundling to 1.40 release notes

https://gerrit.wikimedia.org/r/936786