Page MenuHomePhabricator

Create documentation pages on mediawiki.org for the Automoderator extension
Closed, ResolvedPublic3 Estimated Story Points

Description

Per the checklist process, we need to create documentation pages for the extension on MediaWiki.org:
The extension: https://gerrit.wikimedia.org/g/mediawiki/extensions/AutoModerator

  • Create an Extension:My Extension page in the Extension: namespace on mediawiki.org to document for developers and people who will install or configure the extension. Use Template:Extension for this.
  • Create a Help:Extension:My Extension page in the Help:Extension: namespace on mediawiki.org for your extension's end-user documentation. Cross-link it with the Extension:My Extension page above. Also see Manual:Developing extensions#Help documentation. Example: Help:VisualEditor/User guide. Screencasts can be useful in explaining how things work.

Page created at https://www.mediawiki.org/wiki/Extension:AutoModerator.

Event Timeline

Primary page created at https://www.mediawiki.org/wiki/Extension:AutoModerator. Help page not yet created since we have no documentation to host there yet.

We've done all we can until we have a non-zero number of lines of code.

Added placeholder sections for documenting the internal configuration variables and the steps required to set up on-wiki configuration.

jsn.sherman set the point value for this task to 3.Apr 16 2024, 3:15 PM
jsn.sherman moved this task from To be estimated to Up next on the Moderator-Tools-Team board.
jsn.sherman subscribed.

noting that we can look at growth experiments extension page for json config notes

I've filled in quite a bit of configuration info on https://www.mediawiki.org/wiki/Extension:AutoModerator and created a stub for https://www.mediawiki.org/wiki/Help:Extension:AutoModerator. I'm not sure how much content the help page can have really have at this point. The checklist is really geared towards extensions that are fully ready for public consumption, while we're deploying for a modest pilot. Feedback welcome!

A few thoughts reading this:

AutoModeratorWikiId
language code of project used to target liftwing lang parameter. This must be set per project; the default is null

It might be helpful to have an example here - for example I'm not sure if this should be en or enwiki, or something else.

On-wiki configuration

Per the confusion one of our engineers had - we should perhaps note here that you need to be a sysop to edit this page?

AutoModeratorUndoSummary

Could this be a reasonable place to document (with an example) what the variables provide? e.g. $1 - Revision ID of the reverted edit, e.g. 12345

AutoModeratorUndoSummary

Could this be a reasonable place to document (with an example) what the variables provide? e.g. $1 - Revision ID of the reverted edit, e.g. 12345

I added a table here, perhaps this is sufficient, or should be linked to, or something else: https://www.mediawiki.org/wiki/Extension:AutoModerator/Deploying#5._Local_configuration

A few thoughts reading this:

AutoModeratorWikiId
language code of project used to target liftwing lang parameter. This must be set per project; the default is null

It might be helpful to have an example here - for example I'm not sure if this should be en or enwiki, or something else.

Done.

On-wiki configuration

Per the confusion one of our engineers had - we should perhaps note here that you need to be a sysop to edit this page?

Actually, I did some checking and currently editsitejson is the required permission, which is held by the interface-admin group. It seems like we should tighten this up? We could add an automoderator-admin permission and giving it to sysop in as part of our suggested config.

AutoModeratorUndoSummary

Could this be a reasonable place to document (with an example) what the variables provide? e.g. $1 - Revision ID of the reverted edit, e.g. 12345

Done.

A few thoughts reading this:

AutoModeratorWikiId
language code of project used to target liftwing lang parameter. This must be set per project; the default is null

It might be helpful to have an example here - for example I'm not sure if this should be en or enwiki, or something else.

Done.

On-wiki configuration

Per the confusion one of our engineers had - we should perhaps note here that you need to be a sysop to edit this page?

Actually, I did some checking and currently editinterface is the required permission, which is held by the interface-admin group. It seems like we should tighten this up? We could add an automoderator-admin permission and giving it to sysop in as part of our suggested config.

Another option would be to set the page to protected

AutoModeratorUndoSummary

Could this be a reasonable place to document (with an example) what the variables provide? e.g. $1 - Revision ID of the reverted edit, e.g. 12345

Done.

AutoModeratorUndoSummary

Could this be a reasonable place to document (with an example) what the variables provide? e.g. $1 - Revision ID of the reverted edit, e.g. 12345

I added a table here, perhaps this is sufficient, or should be linked to, or something else: https://www.mediawiki.org/wiki/Extension:AutoModerator/Deploying#5._Local_configuration

I think we should keep the config variable definitions/description in one place. Suggest moving this table to the on wiki section of https://www.mediawiki.org/wiki/Extension:AutoModerator and then referencing it from the deploying section. I'll take care of that.

On-wiki configuration

Per the confusion one of our engineers had - we should perhaps note here that you need to be a sysop to edit this page?

Actually, I did some checking and currently editsitejson is the required permission, which is held by the interface-admin group. It seems like we should tighten this up? We could add an automoderator-admin permission and giving it to sysop in as part of our suggested config.

Oh this is a great catch, I hadn't noticed the discrepancy between who can edit CC forms and who can edit MediaWiki namespace pages.

I see on id.wiki the sysop group also has the editsitejson right, but I know that on enwiki they set this up so that only interface administrators have the right. Do we know what the default is? At any rate I don't think this is a pressing concern given that on id.wiki sysops can edit the page. In terms of the documentation, I guess we can be as explicit as you were above, in noting that you need to have an account in a group with the editsitejson right. If that's sysop by default then that's great, if not then I guess we note whatever other group it is by default (int admins?)

On-wiki configuration

Per the confusion one of our engineers had - we should perhaps note here that you need to be a sysop to edit this page?

Actually, I did some checking and currently editsitejson is the required permission, which is held by the interface-admin group. It seems like we should tighten this up? We could add an automoderator-admin permission and giving it to sysop in as part of our suggested config.

Oh this is a great catch, I hadn't noticed the discrepancy between who can edit CC forms and who can edit MediaWiki namespace pages.

I see on id.wiki the sysop group also has the editsitejson right, but I know that on enwiki they set this up so that only interface administrators have the right. Do we know what the default is? At any rate I don't think this is a pressing concern given that on id.wiki sysops can edit the page. In terms of the documentation, I guess we can be as explicit as you were above, in noting that you need to have an account in a group with the editsitejson right. If that's sysop by default then that's great, if not then I guess we note whatever other group it is by default (int admins?)

The default for mediawiki software is for sysop to have editsitejson. Production config is a little difficult to grok because the way it merges settings, but if I'm reading https://gerrit.wikimedia.org/r/plugins/gitiles/operations/mediawiki-config/+/refs/heads/master/wmf-config/core-Permissions.php correctly, it looks like idwiki isn't making any changes to editsitejson. For that reason, I believe that it has the default behavior for production wikis in regard to this permission.

I guess the question is: are we concerned about interface admins (who are not sysops) being able to edit this page? If so, we could probably just have one of the sysops protect the page for the pilot.

AutoModeratorUndoSummary

Could this be a reasonable place to document (with an example) what the variables provide? e.g. $1 - Revision ID of the reverted edit, e.g. 12345

I added a table here, perhaps this is sufficient, or should be linked to, or something else: https://www.mediawiki.org/wiki/Extension:AutoModerator/Deploying#5._Local_configuration

I think we should keep the config variable definitions/description in one place. Suggest moving this table to the on wiki section of https://www.mediawiki.org/wiki/Extension:AutoModerator and then referencing it from the deploying section. I'll take care of that.

Okay, this is done. I added a column for default values and replaced the on-wiki config variable list with the table at https://www.mediawiki.org/wiki/Extension:AutoModerator#On-wiki_configuration. https://www.mediawiki.org/wiki/Extension:AutoModerator/Deploying#5._Local_configuration now links to it.

Actually, I did some checking and currently editsitejson is the required permission, which is held by the interface-admin group. It seems like we should tighten this up? We could add an automoderator-admin permission and giving it to sysop in as part of our suggested config.

Oh this is a great catch, I hadn't noticed the discrepancy between who can edit CC forms and who can edit MediaWiki namespace pages.

but I know that on enwiki they set this up so that only interface administrators have the right.

No, editsitejson is also in the sysop group on enwiki and elsewhere (by design, since it allows editing JSON content model pages in MediaWiki space, which are guaranteed to be safe on the PHP side). Both groups have this by default. (Please don't add another user group.)

Actually, I did some checking and currently editsitejson is the required permission, which is held by the interface-admin group. It seems like we should tighten this up? We could add an automoderator-admin permission and giving it to sysop in as part of our suggested config.

Oh this is a great catch, I hadn't noticed the discrepancy between who can edit CC forms and who can edit MediaWiki namespace pages.

but I know that on enwiki they set this up so that only interface administrators have the right.

No, editsitejson is also in the sysop group on enwiki and elsewhere (by design, since it allows editing JSON content model pages in MediaWiki space, which are guaranteed to be safe on the PHP side). Both groups have this by default. (Please don't add another user group.)

Thanks for clarifying! I couldn't figure out how sysops wouldn't have editsitejson on enwiki, but I've misunderstood our merged config from time to time. In retrospect, I should have just looked at Special:ListGroupRights.

I've added a note about the required user rights to the extension page.

I have also reviewed https://www.mediawiki.org/wiki/Help:Extension:AutoModerator and it also looks good. I'm sure we will have more information to put here later.

Actually, I did some checking and currently editsitejson is the required permission, which is held by the interface-admin group. It seems like we should tighten this up? We could add an automoderator-admin permission and giving it to sysop in as part of our suggested config.

Oh this is a great catch, I hadn't noticed the discrepancy between who can edit CC forms and who can edit MediaWiki namespace pages.

but I know that on enwiki they set this up so that only interface administrators have the right.

No, editsitejson is also in the sysop group on enwiki and elsewhere (by design, since it allows editing JSON content model pages in MediaWiki space, which are guaranteed to be safe on the PHP side). Both groups have this by default. (Please don't add another user group.)

You're totally right, not sure why I assumed that :)