This is a ticket to improve some documentation about hooks in the MediaWiki API.
Many hooks for the API have a first argument called $module. For some hooks like APIGetParamDescription, this argument is called an "ApiBase Module object," and for others like ApiCheckCanExecute, it's called a "Module object." This is confusing because:
- It's not clear what a "Module object" is. I can't find a class called "Module" in MediaWiki core.
- When I look at examples of using ApiCheckCanExecute, $module is simply a string like "upload", presumably a module name.
To help resolve this confusion. I suggest that the documentation for all these hooks should spell out whether the $module argument is a string containing a module name, or an ApiBase object, or something else.
Hope this helps!