open-csp/w-s-spaces

MediaWiki 动态命名空间管理系统。

安装: 552

依赖项: 0

建议者: 0

安全: 0

星级: 0

关注者: 2

分支: 1

开放问题: 1

类型:mediawiki-extension

2.2.1 2022-11-25 08:16 UTC

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