open-csp / w-s-spaces
MediaWiki 动态命名空间管理系统。
Requires
- ext-openssl: *
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-08 15:44:03 UTC
README
WSSpaces 是为 MediaWiki 开发的综合空间管理系统。它允许用户动态定义命名空间。本文档描述了扩展功能、选项和使用方法。
配置
WSSpaces 有两个配置变量。
$wgWSSpacesEnableSpaceArchiving
(布尔值,默认: true) 是否允许存档空间$wgWSSpacesAutoAddAdminsToUserGroups
(布尔值,默认: false) 是否自动将空间管理员添加到用户组中。例如,具有 id 50000 的空间管理员将被添加到名为 '50000Admin' 的组中。此外,还会将管理员添加到通用 'SpaceAdmin' 组中,可用于分配所有空间管理员的权限。
要为创建的命名空间启用语义 MediaWiki,请在 LocalSettings.php 中在 Semantic MediaWiki 和 WSSpaces 初始化之间放置以下代码
// NOTE: This is not very nice, and another solution is needed, but it suffices for now
for ($i = 50000; $i < 55000; $i++) {
$smwgNamespacesWithSemanticLinks[$i] = true;
}
解析函数
检索定义的空间
您可以使用 {{#spaces:}}
解析函数获取由 WSSpaces 定义的空间的逗号分隔列表。
钩子
WSSpaces 定义了几个钩子来修改或扩展其行为。
WSSpacesAfterCreateSpace
public static function onWSSpacesAfterCreateSpace( \WSS\Space $space ) {}
在空间创建后直接调用。注意:此时空间尚未与 Wiki 初始化。因此,您不能在这个命名空间中创建页面(请使用作业)。同样,这个空间目前不知道其管理员,因为它们仅在调用此钩子后设置。
WSSpacesCustomApiExceptionHandler
public static function onWSSpacesCustomApiExceptionHandler( \ApiUsageException $exception ) {}
每当使用 WSSpaces API 时发生 ApiUsageException 时调用。允许自定义处理异常。
权限
WSSpaces 定义了几个权限。
请注意,空间管理员始终能够编辑该空间的相关信息,无论他们是否被分配以下任何权限。
wss-edit-all-spaces
用户是否可以编辑所有空间,无论他们是否是这些空间的行政管理人员。
wss-add-space
用户是否可以在维基中添加新空间。
wss-archive-space
用户是否可以存档现有空间。此权限不影响 $wgWSSpacesEnableSpaceArchiving
的行为。
wss-view-space-admins
用户是否能够查看空间的管理员。
wss-view-spaces-overview
用户是否能够查看空间概览。
API 模块
WSSpaces 定义了几个 API 模块。这些 API 模块的文档可以在 API 沙盒中找到,或者通过访问维基上的 /api.php
。以下是一些可用的 API 模块供您参考
addspace
archivespace
unarchivespace
editspace
此外,以下 API 列表(?action=query
)模块可用
spaces
spaceadmins