代码之家  ›  专栏  ›  技术社区  ›  hlovdal

如何鼓励在MediaWiki上进行非匿名编辑?

  •  11
  • hlovdal  · 技术社区  · 17 年前

    问题

    Mediawiki ). 不幸的是有好几个 用户不登录就编辑,这使得跟踪非常困难

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

    • 鼓励登录编辑

    对于这一部分,欢迎任何提示。当然,这其中总有风险 在里面 rewarding behaviours

    劝阻

    但是有点烦人的东西就好了。

    我知道不允许匿名编辑是有可能的,但这会给任何第一次投稿设置很高的障碍(特别是对于我们部门以外的人!),所以我不认为这是一个选择。 [/更新]

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

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

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

    这可能吗?

    另一个让人有点讨厌的想法是增加一个额外的 在“save page”显示“If you have logged”之类的内容后强制延迟 在这种情况下,您不必等待x秒”。选择一个正确的x是困难的 因为如果它太高,它将是一个障碍,如果它太低,可能不会 做任何改变。但后来我开始想,从现在开始怎么样 0,然后为给定IP的每个匿名编辑添加1秒延迟 开始使用wiki,当延迟变得明显的时候 用户已经做出了很多贡献,所以我认为结果很重要 更可能的情况是,编辑器最终创建了一个用户,而不是 在商业网络中通常是这样。

    这可能吗?

    12 回复  |  直到 15 年前
        1
  •  17
  •   George Stocker NotMe    17 年前

    你可以 Turn off Anonymous Editing 在Mediawiki中:

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

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

    接下来,您可能要禁用节上的[Edit]链接。为此,请打开 includes/Skin.php 搜索 editsection

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

    改为:

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

    匿名用户的节编辑现在被阻止。

        2
  •  4
  •   PEZ    17 年前

    禁止匿名编辑并允许用户使用其域登录(LDAP)登录。通常情况下,门槛是注册一个新用户,并组成用户名和密码等。

        3
  •  3
  •   Roddy    17 年前

    我认为你应该通过禁止匿名编辑来阻止匿名编辑——毕竟这是一个内部维基。

    另一方面,您必须使登录过程尽可能简单。希望您可以将登录cookie配置为具有适当的长度(比如1个月),这样他们每月只需要登录一次。

        4
  •  3
  •   joshperry    17 年前

    发挥人民的自我,并添加一个代表制度,像这里。只需为主页制作一个小部件,显示前5位用户所做的编辑次数或其他内容。定期(每月?)间隔。

        5
  •  3
  •   DLJessup    17 年前

    好吧,我怀疑这个解决方案对hlovdal来说是否有价值,因为这个问题已经提出两个月了,但也许其他人会发现它有用:

    * . (我们的网络是activedirectory,显然,服务器运行在debianlinux上。)其次,您需要一个MediaWiki扩展,使MediaWiki知道web服务的身份验证。我用过 the Automatic REMOTE_USER Authentication module

    • 我必须遵循扩展页面上给出的“可怕的攻击”,将setPassword()和addUser()函数更改为总是返回true,而不是总是返回false。
    • 由于activedirectory不区分大小写,而MediaWiki不区分大小写,因此我替换了语句的两个实例 $username = $_SERVER['REMOTE_USER'] $username = getCanonicalName($_SERVER['REMOTE_USER']) .
    • 因为我只想允许公司内的某些人使用我们的wiki,所以我将autoCreate()设置为始终返回false。听起来你不必担心这个问题,所以你应该让autoCreate()始终返回true,这意味着你公司网络上的任何人都可以访问wiki。

    * 我们刚从一个使用mod\u ntlm的Red Hat服务器切换到这个。不幸的是,mod\u ntlm已经有一段时间没有更新了,而且它已经开始偶尔失败。我提到这一点是因为我开始无意中发现我们当前的MediaWiki配置存在性能问题,可能需要进一步的代码处理。。。。

        6
  •  2
  •   JeeBee    17 年前

    如果用户看不到屏幕或打喷嚏或搔头,请确保他们不会注销。你需要长时间的,持久的治疗。登录后,保持登录状态。

    这就是我们公司内部使用的MediaWiki的问题所在——你登录,做一些事情,然后回来,它会将你注销,但是不再登录的通知在屏幕上是如此的无关紧要,以至于用户从未注意到。

        7
  •  2
  •   EndangeredMassa    17 年前

    如果在内部网络中运行,则可以提取Active Directory信息,这样就永远不需要任何人登录。我工作时就是这样做的。也就是说,如果他们登录到他们的windows机器上,那么我的webapps可以获取他们的用户名并将其与编辑关联起来。

    不过,我不知道这是否容易添加到MediaWiki。

        8
  •  2
  •   Kevin Davis    17 年前

    我建议退房 wikipatterns.org -一个关于维基社交方面的好网站

        9
  •  2
  •   none    17 年前

    可以

    除此之外,就我个人而言,我会尝试建立某种激励机制,鼓励用户公开和可识别地进行贡献:这可能基于一个积分/分数系统,以便显示每天为wiki做出贡献的所有用户的统计数据,这甚至可能产生某种竞争。

        10
  •  1
  •   Albert    17 年前

    所以发布的门槛非常低。您可以允许人们在进行编辑时指定自己的姓名。当他们准备好了,他们终于可以登录,以避免必须键入自己的名字所有的时间。

        11
  •  0
  •   Tim Farley    17 年前

    你说这是部门的情况。你不能给wiki添加一个功能,让它根据IP地址猜测谁在编辑,并相应地对编辑进行注释吗?

        12
  •  0
  •   Craig Hubley    9 年前

    不想被问及它,认同它,或遭受一些问题指出它 非常 当然,这些因素并没有驱使用户更喜欢匿名编辑,坦率地说,你应该继续允许匿名编辑与一个通用的凭据登录,如“匿名雇员”或“匿名承包商”,以防有人想指出一个问题,而不是成为认同它。

    你是“思想”。。。为匿名用户提供一个额外的确认步骤-“您确定要以匿名方式提交此邮件吗?”,这是一个好主意,但不要用“重新措辞”的方式暗示不以您自己的身份登录是错误的,即不要说“您忘记登录了吗?”相反,我会这样说:

    这让事情变得非常清楚,不会迫使任何人以任何一种方式去做,也不会偏袒某些“回报”的贡献。

    您也可以通过LDAP/cookies强制登录,然后询问他们是否希望此编辑是匿名的。这是一些博客平台采用的方法。在企业内部网中,这种滥用的可能性基本为零,因此你可能只会遇到这样的情况:有人不想把“他们怎么知道的”或“他们为什么提出这个”作为问题,而不是数据本身。。。IBM在一些仔细的研究中表明,匿名反馈在纠正群体思维和管理盲区方面比归因于反馈要有用得多。