如何鼓励 MediaWiki 上的非匿名编辑?

2024-03-23

Problem

在工作中我们有一个部门维基(运行媒体维基 http://www.mediawiki.org/)。不幸的是有几个 人们在没有登录的情况下进行编辑,这使得追踪变得非常困难 向下编辑询问有关内容的问题。

有两种策略可以改善这一点

  • 鼓励登录编辑
  • 阻止匿名编辑。

鼓舞人心

对于这一部分,欢迎任何提示。但当然总是存在风险 在奖励行为 http://dilbert.com/strips/comic/1995-11-13/.

不鼓励

我知道这个值必须保持在较低水平,否则会阻碍任何编辑。 但如果有一些稍微烦人的东西就好了。

[更新] 我知道可以禁止匿名编辑,但这会给任何首次贡献设置很高的障碍(特别是对于我们部门之外的人!),所以我认为这不是一个选择。 [/更新]

[更新2] 使用 LDAP 或 Active Directory 并不能解决问题,因为外部承包商也可以访问和使用 wiki。 [/更新2]

[更新3] 我不再为这家公司工作。这并不意味着我对这个问题完全失去了兴趣,但从我目前的兴趣点来看,最有价值的部分是“你忘记登录了吗?”下面的部分,我将接受基于这部分问题的答案。 [/更新3]

确认

一种想法是为匿名用户提供额外的确认步骤 - “你真的确定要匿名提交吗?”,尽管 这样的问题存在人们放弃或抵制编辑的风险。然而, 如果这个问题以更外交的方式重新表述为“你忘记了吗 登录?”我认为这看起来更容易接受。除此之外 还将捕捉作者实际上忘记的那些情况 登录,但实际上希望将他/她的贡献记入贷方 他/她的用户。最后一点本身就是想要它的充分理由。

这可能吗?

Delay

另一个有点烦人的想法是添加一个额外的 “保存页面”后强制延迟,显示类似“如果您已登录 你不必等待 x 秒”。选择正确的 x 很困难 因为如果太高就会成为障碍,如果太低则可能不会 有任何区别。但后来我开始思考,从 零,然后为给定 IP 的每个匿名编辑添加一秒延迟 给定时间范围内的地址?这样就没有障碍了 开始使用 wiki,此时延迟变得越来越严重 用户已经贡献了很多,所以我认为成果很多 更有可能的是编辑器最终创建了一个用户而不是 放弃。这假设 IP 地址是相当静态的,但这非常 通常是商业网络中的情况。

这可能吗?


You can 关闭匿名编辑 http://www.thejackol.com/2007/02/16/disable-anonymous-editing-in-mediawiki/在 Mediawiki 中像这样:

  • 编辑 LocalSettings.php 并添加以下设置:

    $wgDisableAnonEdit = true;
    
  • 编辑includes/SkinTemplate.php,找到$fname-edit并将代码更改为如下所示(即,基本上将以下代码包装在wfProfileIn() and wfProfileOut()功能):

    wfProfileIn( "$fname-edit" );
    global $wgDisableAnonEdit;
    if ( $wgUser->mId || !$wgDisableAnonEdit) {
    // Leave this as is
    }
    wfProfileOut( "$fname-edit" );

接下来,您可能想要禁用部分上的 [编辑] 链接。为此,请打开includes/Skin.php并搜索editsection。你会看到类似的东西:

if (!$wgUser->getOption( 'editsection' ) ) {

将其更改为:

global $wgDisableAnonEdit;
if (!$wgUser->getOption( 'editsection' ) || !$wgDisableAnonEdit ) {

现在禁止匿名用户进行部分编辑。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何鼓励 MediaWiki 上的非匿名编辑? 的相关文章

  • 获取所有维基百科信息框模板和使用它们的所有页面

    给定一个维基百科页面 例如维基百科 堆栈溢出通常会有信息框 主要位于页面顶部的右侧 截图示例 DBPedia 将所有这些属性列为 RDF 三元组 您可以在以下位置查看示例DBPedia 堆栈溢出 在那里你可以看到该房产dbpprop wik
  • 关于创建自己的维基的建议?

    我和我的朋友正在考虑创建我们自己的维基 鉴于它们最近变得如此普遍 我们听说这并不难 我们希望使网站尽可能简单 我们在网页设计方面有一些经验 但在系统管理方面却没有很多经验 未来我们应该牢记哪些事情 例如 哪些维基农场可能有用 或者我们应该牢
  • 检索任意日期之前/之后最后更新的属性

    我有兴趣检索 WikiData 项目的属性 但前提是该属性是在某个日期之前或之后添加或修改的 所以我有这个SPARQL查询获取 Q24 的所有属性 SELECT itemLabel propLabel statement property
  • mediawiki mathjax需要使用转义$x$

    我将 MediaWiki 与 MathJax 一起使用 因为很多页面都有数学方程 但在某些页面上 我还需要按原样显示字符串 x 有什么办法可以转义 x 这样它就不会调用 MathJax 并显示为斜体 x 吗 MathJax 支持 来转义表达
  • PHP 警告:PHP 启动:无法加载动态库“...”无法从共享对象映射段:无法在第 0 行的未知中分配内存

    我在我的开发机器上收到以下信息 PHP Warning PHP Startup Unable to load dynamic library usr lib php5 20100525 gd so usr lib php5 20100525
  • 有没有任何工具可以将 Markdown 转换为其他格式的 Wiki 文本

    要求是我需要将 Markdown 格式的长文档粘贴到没有安装 Markdown 扩展的 mediawiki 网站 我能找到的所有关于 Markdown 的工具或模块 库都负责将 Markdown 转换为 HTML 我的问题是 有没有一种方便
  • 如何获取wiki模板的内容?

    有谁知道如何访问页面内的模板主体 我熟悉返回所有现有模板列表的 API 但是我如何才能访问模板的主体呢 有这方面的API吗 目前我只看到一种可能的方法 手动解析它 我错了吗 您可以使用扩展模板 http www mediawiki org
  • 如何在Python中分割大型维基百科转储.xml.bz2文件?

    我正在尝试使用 Python 使用 wikimedia 转储文件 xml bz2 构建离线维基词典 我开始于this http users softlab ece ntua gr ttsiod buildWikipediaOffline h
  • 如何修复 Java 中 mediawiki-api 上的“readapidenied”错误

    我正在开发一个使用 mediawiki API 的项目 但出现以下错误 错误代码 readapidenied 信息 您需要读取权限才能使用此模块 INFOS 无法通过 API 检索 Mediawiki 版本 将假定 Mediawiki 1
  • 我如何强制 MediaWiki 尊重单行中断?

    默认情况下 MediaWiki 会忽略单个换行符 将它们视为单个空格 要在页面中插入新行 必须在源代码中插入两个连续的换行符 这会产生一个新段落 p 也可以插入 br 直接进入源码 如何修改 MediaWiki 解析引擎 以便源代码中的单行
  • 如何从维基百科中获取纯文本

    我想编写一个仅获取维基百科描述部分的脚本 也就是说 当我说 wiki bla bla bla 它将转到维基百科页面为bla bla bla http en wikipedia org wiki Bla Bla Bla 获取以下内容 并将其返
  • 从问题到 Wiki 的 GitHub 链接

    我想要链接维基页面来发布文本 语法链接到问题池中 text page 不起作用 怎么做 您还可以使用相对路径 这是我的一个项目的示例 Using a Shell Configuration File wikis Using a Shell
  • 从 Python 文档字符串自动生成 GitHub Wiki 文档

    标题说明了一切 我的想法是为我的所有模块 类和函数提供文档字符串 并以某种方式通过 github wiki 很好地导航文档 此外 该文档应与最新代码同步 这意味着它应在推送时更新 重新生成 那可能吗 只需通过管道传输生成的输出docstri
  • 如何在不破坏皮肤的情况下向 MediaWiki 站点添加水平顶部菜单栏?

    我希望我的 MediaWiki 网站 除了侧边栏之外 或者代替侧边栏 在网站顶部有一个链接栏 在每个页面上都可见 要求 为了尽量减少以后的维护负担 我的要求是 无需修改核心 扩展或皮肤代码 我不想维护项目分支 理想情况下 特权用户应该能够通
  • LDAP:过滤多个UID

    我正在尝试为一个团队设置 mediawiki 并且希望仅对一组用户进行 LDAP 身份验证 我知道我可以提出组 LDAP 身份验证 但是有没有一种快捷方式可以仅过滤一组 uid 进行身份验证 您可以使用的 LDAP 搜索过滤器是 uid a
  • 尝试升级到 1.22 时 MediaWiki DB 连接错误

    我在共享主机服务器上安装了 MediaWiki 它的版本是 1 19 1 我正在尝试更新到 1 22 2 文档表明一步更新应该可以解决此问题 我已经在过去的更新中成功完成了几次此操作 并且正在遵循以前的注释 我建立了一个新目录 其中包含1
  • Python - Vincenty 反演公式不收敛(查找地球上点之间的距离)

    我正在尝试实现维基百科上描述的文森蒂逆问题HERE http en wikipedia org wiki Vincenty 27s formulae Inverse problem 问题在于 lambda 根本不收敛 如果我尝试迭代公式序列
  • 解析维基百科的出生和死亡日期?

    我正在尝试编写一个 python 程序 可以在维基百科中搜索人们的出生和死亡日期 例如 阿尔伯特 爱因斯坦出生于 1879 年 3 月 14 日 逝世日期 1955 年 4 月 18 日 我开始于使用 Python 获取维基百科文章 htt
  • 如何在mediawiki中找到图像路径?

    我想在 mediawiki 中找到图像的确切 URL 以便在我的 pinterest 代码中发送 为了查找页面 URL 我使用 urlencode wgTitle gt getFullURL 但我无法弄清楚用于图像和图像描述的代码 谢谢 要
  • 如何克隆 GitHub wiki?

    如何克隆 GitHub 存储库的 wiki 我知道它保存为单独的 Git 存储库 但我不记得路径了 我试过了 reponame wiki git and reponame git wiki 但两者都不正确 Append wiki git到存

随机推荐

  • 我可以用一份许可证在两台机器上安装 VS 吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我是一名兼职教授 教授数据库和编程课程 我拥有一台运行 Windows 的台式机和笔记本电脑 我拥有 VS 2010 的学术版 并在家中安
  • Apollo 客户端从缓存中删除 Item

    我正在使用带有 React 的 Apollo 客户端 我用许多不同的变量查询帖子 所以我在不同的 缓存 中有一篇文章 现在我想删除一个帖子 所以我需要从所有 缓存 中删除这个特定的帖子 const client new ApolloClie
  • 如何在Xcode编译中集成.proto文件?

    我正在尝试将 Android 应用程序移植到 ios 和 mac xcode 生态系统 我的应用程序使用 Google proto buffs 并使用说明https github com alexeyxo protobuf swift bl
  • 使用 Intellij 在远程服务器上部署/调试 Java 代码

    我想在远程服务器上运行我的java代码以获得更快的速度 该服务器非常强大 我想要的是将我的 Intellij 连接到该远程服务器并运行我的代码 但我仍然想在我的本地计算机 即我的笔记本电脑 上使用 IntelliJ 我在 IntelliJ
  • jQuery 的 space 和 > 选择器有什么区别?

    两者有什么区别space http docs jquery com Selectors descendant ancestordescendant and gt http docs jquery com Selectors child选择器
  • 如何通过文件将参数传递给tortoiseproc.exe?

    我正在使用 java 中的 Runtime getRuntime exec 以编程方式生成要提交到 cmd exe 的命令 该命令是tortoiseproc忽略形式的命令 tortoiseproc command ignore path f
  • 在 Python 3 中创建抽象属性会导致 AttributeError

    如何在 python 中创建抽象属性 import abc class MyClass abc ABC abc abstractmethod property def foo self pass 结果出现错误AttributeError a
  • 如何将 PostgreSQL 数据库迁移到 SQLServer 数据库?

    我有一个 PostgreSQL 数据库 我想将其迁移到 SQL Server 架构和数据 我很穷 所以我不想付任何钱 我也很懒 所以不想做太多工作 目前我正在逐个桌子做这个 大约有100个桌子要做 这是极其乏味的 有什么技巧可以达到我想要的
  • JavaScript 支持的网站的自动导航

    我需要在 Python 中自动导航 JavaScript 支持的网站 以便我可以抓取一些内容 我碰到鸡足 http groups csail mit edu uid chickenfoot quickstart html 这是一个 Fire
  • 使用 CakePHP 分页助手进行引导分页

    我正在尝试让 CakePHP 的分页助手与 bootstrap 很好地配合 也就是说 我希望我的分页元素看起来像 bootstrap 的 但由 CakePHP 生成 目前我的视图页面上有这个 它产生以下标记 div class pagina
  • 在 C 中使用 mmap 读取二进制文件时出现段错误

    我正在尝试在 C 中使用 mmap 只是为了看看它到底是如何工作的 目前我尝试使用 mmap 逐字节读取二进制文件 我的代码是这样的 include
  • Android - 在 invalidate() 上重绘后监听器

    在我要求视图失效后 我希望在视图完成重绘后收到通知 正如中所述这个答案 https stackoverflow com a 5073130 72746 the invalidate 方法不调用视图的onDraw UI 立即执行 但会在消息队
  • 索引 null 变量时未引发 php 未定义索引通知

    我很想知道 PHP 中的以下行为是否是有意的 而且 如果有意的话 通过创建索引来从空变量初始化数组被认为是可以接受的 如第一个代码片段中所做的那样 error reporting E ALL arr null echo arr blah n
  • 我可以制作两栏水晶报表吗?

    我有一份报告 其中包含该月每一天的一个详细信息行 我想在左侧的一个 组列 中显示第 1 到 15 天的信息 在右侧显示其他天的信息 每个 组列 都包含四个信息列 我可以通过拆分报告数据库查询列来手动完成此操作 但我真的希望有一种更优雅的方法
  • Objective C 距离字符串格式化程序

    我有一个距离作为浮动 我正在寻找一种方法来为人类读者很好地格式化它 理想情况下 我希望随着它变大 它从 m 变为 km 并很好地舍入数字 转换成里程将是一个额外的好处 我确信很多人都需要其中之一 我希望有一些代码在某个地方 这是我想要的格式
  • 在init块中初始化变量并在kotlin中为该变量定义一个setter

    我想写这段代码 但它不起作用 private var a Int set value field a Code init a 2 我必须在声明变量时对其进行初始化 为什么会发生这种情况 我该如何解决 您的属性有一个自定义设置器 当您调用时a
  • Magento:在一页结账中显示审核步骤

    我一生都无法弄清楚这一点 我想立即在 Magento 的一页结账上显示订单审核步骤 处理订单之前的最后一步 有什么建议么 谢谢大家 如果你查看 onepage phtml 的底部 你会看到 accordion openSection opc
  • 如何通过 Scala 中的 Play Framework 2.5 流式传输压缩文件(即时)?

    我想流式传输一些文件并即时压缩它们 以便用户可以将多个文件下载到一个压缩文件中 而无需向本地磁盘写入任何内容 但是 我当前的实现将所有内容保存在内存中 并且不适用于大文件 有什么办法可以解决吗 我正在研究这个实现 https gist gi
  • FCM 数据消息无法在 Firefox 中加载

    我正在使用 Web FCM 进行云消息传递 当我发送一个通知有了标题和正文 Firefox 和 Chrome 都会显示通知并且工作正常 但是当我尝试发送 FCM 时Data消息 Firefox 不接收和记录消息 我正在使用一个HTTPS安全
  • 如何鼓励 MediaWiki 上的非匿名编辑?

    Problem 在工作中我们有一个部门维基 运行媒体维基 http www mediawiki org 不幸的是有几个 人们在没有登录的情况下进行编辑 这使得追踪变得非常困难 向下编辑询问有关内容的问题 有两种策略可以改善这一点 鼓励登录编