Dear Team,
About six years ago, we deployed the Newsletter extension[1] to mediawiki.org. Since then, we've seen some active newsletters, with the most popular one boasting over 300 subscribers. Although there were many discussions about bringing this extension to the meta cluster, not much progress has been made. Recently, a few of us revisited these past discussions and began addressing the issue of "interwiki support" for the extension. Currently, the extension uses a local table and notifies locally on the wiki, and our goal is to make it global.
Thanks to some discussions with Addshore and others in 2018, we came up with a plan to make the extension truly inter-wiki. Since I have been inactive for some time, I want some help to see if the plan still works, or if there is a better way to achieve this. The plan, in short was:
1. We install the extension on all wikis in the main cluster, but all installations point to one table in meta. We need to store some sort of a pointer in the table, hence to know what the siteId of the wiki is. I need some help/examples of how this can be done. Do we store $wgSiteId into one of the main tables, or is there some other id that we can store to identify a wiki in our clusters? Also see some initial WIP changes done during that time here [3]. Also, is it nice to have code that would look very wikimedia cluster specific in the extension? 2. Publishers publishing newsletter in their local wikis can either choose to make the newsletter available globally or locally. 3. Notifications of new newsletter issues <-- I need some clarity on this one as well, we could notify on the $wgSiteId if it exists, else on meta.
So yes, we are looking for some help, specially on (1) above, and if someone has some inputs/comments, please reply here, or in the phab task [2].
Thank you.
[1] https://www.mediawiki.org/wiki/Extension:Newsletter [2] https://phabricator.wikimedia.org/T110645 [3] https://gerrit.wikimedia.org/r/c/mediawiki/extensions/Newsletter/+/446590 -- Tony Thomas @tonythomas01
A small update (and a call for help) after a couple of weeks of work to solve the "interwiki support" for Newsletter extension.
Thanks to people who reached out, I think we have a plan to make the Newsletter extension work with a central db, while allowing individual 'home' wikis to have their own local newsletters. I have prepared a patchset: https://gerrit.wikimedia.org/r/c/mediawiki/extensions/Newsletter/+/1057213/1... which would love some code review. Looking for people who can review the database changes, some PHP and translation changes.
Also, I have added a screen recording of the progress here [1] and would love some UX input as well since we are introducing a new checkbox: "Make this newsletter globally available on all wikis".
To summarize the changes: 1. Introduced a configuration `NewsletterIsInterWikiSupportEnabled` which would introduce the above checkmark to Newsletter special pages (create/edit). 2. The assumption is that the extension will share meta's database table, and hence added the home wiki identifier to the newsletter table. Indexes might have to be fixed here though. Help needed. 3. Special:Newsletters provide foreign links to other wikis when required. Subscribers are notified about new newsletter issues on the home wiki.
[1] https://commons.wikimedia.org/wiki/File:Newsletter_inter_wiki_create_and_edi...
[2] Task: https://phabricator.wikimedia.org/T110645#10051568
-- Tony Thomas @tonythomas01
On Thu, Jul 25, 2024 at 12:59 PM Tony Thomas 01tonythomas@gmail.com wrote:
Dear Team,
About six years ago, we deployed the Newsletter extension[1] to mediawiki.org. Since then, we've seen some active newsletters, with the most popular one boasting over 300 subscribers. Although there were many discussions about bringing this extension to the meta cluster, not much progress has been made. Recently, a few of us revisited these past discussions and began addressing the issue of "interwiki support" for the extension. Currently, the extension uses a local table and notifies locally on the wiki, and our goal is to make it global.
Thanks to some discussions with Addshore and others in 2018, we came up with a plan to make the extension truly inter-wiki. Since I have been inactive for some time, I want some help to see if the plan still works, or if there is a better way to achieve this. The plan, in short was:
- We install the extension on all wikis in the main cluster, but all
installations point to one table in meta. We need to store some sort of a pointer in the table, hence to know what the siteId of the wiki is. I need some help/examples of how this can be done. Do we store $wgSiteId into one of the main tables, or is there some other id that we can store to identify a wiki in our clusters? Also see some initial WIP changes done during that time here [3]. Also, is it nice to have code that would look very wikimedia cluster specific in the extension? 2. Publishers publishing newsletter in their local wikis can either choose to make the newsletter available globally or locally. 3. Notifications of new newsletter issues <-- I need some clarity on this one as well, we could notify on the $wgSiteId if it exists, else on meta.
So yes, we are looking for some help, specially on (1) above, and if someone has some inputs/comments, please reply here, or in the phab task [2].
Thank you.
[1] https://www.mediawiki.org/wiki/Extension:Newsletter [2] https://phabricator.wikimedia.org/T110645 [3] https://gerrit.wikimedia.org/r/c/mediawiki/extensions/Newsletter/+/446590 -- Tony Thomas @tonythomas01
wikitech-l@lists.wikimedia.org