如何仅保护Mediawiki文章的一部分不被编辑?

如何仅保护Mediawiki文章的一部分不被编辑?,mediawiki,wiki,mediawiki-extensions,Mediawiki,Wiki,Mediawiki Extensions,我正在建立一个Mediawiki网站,其中将包含几千篇机器人生成的文章。我希望用户能够编辑每篇文章的较低部分,但不能编辑机器人生成的部分 我发现了一个废弃的扩展名为,它完成了这项工作,但我没有技能将其更新到当前的Mediawiki版本 我正在考虑让机器人生成的文章受到保护,然后将它们转换成用户可编辑的文章。如果我这样做了,我可以从搜索引擎中隐藏原始的Bot生成的文章,并且在wiki中不可导航吗 此外,我希望用户能够参考bot生成的文章的早期版本,因为bot会不时更新他们的文本。如果我转移并隐藏机

我正在建立一个Mediawiki网站,其中将包含几千篇机器人生成的文章。我希望用户能够编辑每篇文章的较低部分,但不能编辑机器人生成的部分

我发现了一个废弃的扩展名为,它完成了这项工作,但我没有技能将其更新到当前的Mediawiki版本

我正在考虑让机器人生成的文章受到保护,然后将它们转换成用户可编辑的文章。如果我这样做了,我可以从搜索引擎中隐藏原始的Bot生成的文章,并且在wiki中不可导航吗


此外,我希望用户能够参考bot生成的文章的早期版本,因为bot会不时更新他们的文本。如果我转移并隐藏机器人生成的文章,我假设它们的历史记录将无法访问。如果我能保持bot生成的文章可用,并在其中包含用户可编辑的部分,这将不会是一个问题

我有个坏消息。要使文章的一部分受到保护真的很困难。当前的mediawiki体系结构不允许从头开始

我建议你做的是创建并放置所有机器人的文章

Resrict普通用户编辑此自定义命名空间。但允许用户查看此页面的历史记录

你已经知道的最后一步——使用

// Define constants for my additional namespaces.
define("NS_FOO", 3000); // This MUST be even.
define("NS_FOO_TALK", 3001); // This MUST be the following odd integer.

// Add namespaces.
$wgExtraNamespaces[NS_FOO] = "Foo";
$wgExtraNamespaces[NS_FOO_TALK] = "Foo_talk"; // Note underscores in the namespace name.
# Only allow autoconfirmed users to edit Project namespace
$wgNamespaceProtection[NS_PROJECT] = array( 'autoconfirmed' );

# Don't allow anyone to edit non-talk pages until they've confirmed their
# e-mail address (assuming we have no custom namespaces and allow edits
# from non-emailconfirmed users to start with)
# Note for 1.13: emailconfirmed group and right were removed from default
# setup, if you want to use it, you'll have to re-enable it manually
$wgNamespaceProtection[NS_MAIN]     = $wgNamespaceProtection[NS_USER]  =
$wgNamespaceProtection[NS_PROJECT]  = $wgNamespaceProtection[NS_IMAGE] =
$wgNamespaceProtection[NS_TEMPLATE] = $wgNamespaceProtection[NS_HELP]  =
$wgNamespaceProtection[NS_CATEGORY] = array( 'emailconfirmed' );

# Only allow sysops to edit "Policy" namespace
$wgGroupPermissions['sysop']['editpolicy'] = true;
$wgNamespaceProtection[NS_POLICY] = array( 'editpolicy' );