Как поощрять анонимное редактирование на MediaWiki?

Проблема

На работе у нас есть wiki раздела (работает Mediawiki). К сожалению, несколько редактирование людей без входа в систему, что затрудняет отслеживание вниз, чтобы задать вопросы о содержании.

Есть две стратегии для улучшения этого

  • поощрять вход в систему редактирования
  • препятствовать анонимному редактированию.

Поощрение

Для этой части приветствуются любые советы. Но, конечно, всегда есть риски в вознаграждение поведения.

отговорить

Я знаю, что это должно быть низким, иначе оно будет препятствовать любому редактированию. Но что-то просто раздражающее было бы неплохо иметь.

[обновление] Я знаю, что можно просто запретить анонимное редактирование, но это поставит высокий барьер на любой первый вклад (особенно для людей за пределами нашего отдела!), Поэтому я не думаю, что это вариант. [/Обновление]

[Update2] Использование LDAP или Active Directory не решает проблему, так как вики также доступны и используются внешними подрядчиками. [/Update2]

[Update3] Я больше не работаю в этой компании. Это не значит, что я полностью потерял интерес к этому вопросу, но из моей текущей точки интереса наиболее ценной частью является "Забыл ли вы войти?" ниже, и я буду принимать ответы на основе этой части вопроса. [/Update3]

Подтверждение

Одна мысль заключалась в дополнительном подтверждении для анонимных пользователей - "Вы действительно уверены, что хотите представить это анонимно?", Хотя с такой вопрос есть риск того, что люди откажутся или будут сопротивляться редактированию. Однако, если этот вопрос переформулируется более дипломатично, как "Вы забыли войти в систему? "Я думаю, что это будет казаться гораздо более приемлемым. И кроме того будут также захватывать те ситуации, когда автор действительно забыл войдите в систему, но на самом деле хотели бы, чтобы его/ее взносы зачислялись его/ее пользователя. Этот последний момент сам по себе является достаточно хорошей причиной для его желания.

Возможно ли это?

Задержка

Другая мысль о чем-то слегка раздражает - добавить лишнюю принудительная задержка после "сохранения страницы", отображающая что-то вроде "Если вы зарегистрировались вам не придется ждать x секунд ". Выбор правильного x затруднен потому что, если он высок, это будет барьером, и если он слишком низко, возможно, в любом случае. Но потом я начал думать, как насчет того, чтобы начать с ноль, а затем добавьте одну вторую задержку для каждого анонимного редактирования по заданному IP-адресу адрес в данный период времени? Таким образом, для начиная использовать wiki, и к тому времени, когда задержка становится значительной пользователь уже внес большой вклад, поэтому я думаю, что результат более вероятно, что редактор в конечном итоге создает пользователя, а не сдаваться. Это предполагает, что IP-адреса довольно статичны, но это очень  как правило, имеет место в бизнес-сети.

Возможно ли это?

Ответ 1

Вы можете отключить анонимное редактирование в Mediawiki, например:

  • Измените LocalSettings.php и добавьте следующий параметр:

    $wgDisableAnonEdit = true;
    
  • Edit включает /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

Запретить анонимное редактирование и позволить пользователям войти в систему, используя свои учетные записи домена (LDAP). Часто пороговым значением является регистрация нового пользователя и составление имени пользователя и пароля и т.д.

Ответ 3

Я думаю, что вы должны запретить анонимные изменения, запретив их - это внутренняя вики. В конце концов.

Флипсайд - вы должны сделать процесс входа в систему максимально простым. Надеемся, вы можете настроить cookie для входа на приличную длину (например, 1 месяц), поэтому им нужно только один раз в месяц входить в систему.

Ответ 4

Воспроизведите людям эго и добавьте систему реплики вроде как здесь. Просто создайте виджет для домашней страницы, который показывает количество исправлений, сделанных топ-5 пользователями или что-то в этом роде. Дайте топ-1 или 2 пользователям вознаграждение MVP за регулярные (ежемесячные?) Интервалы.

Ответ 5

Хорошо, я сомневаюсь, что это решение будет полезно для hłddal, учитывая, что этот вопрос сейчас два месяца, но, возможно, кому-то это будет полезно:

Оптимальным решением этой проблемы является автоматическое включение. Это требует двух шагов. Во-первых, вам необходимо добавить автоматическую проверку подлинности в веб-службу. Прямо сейчас мы используем Apache с пакетом debian usn-libapache2-authenntlm-perl на нашем внутреннем сервере приложений *. (Наша сеть - это Active Directory и, очевидно, сервер работает в Debian Linux.) Во-вторых, вам нужно расширение MediaWiki, которое информирует MediaWiki об аутентификации веб-службы. Я использовал автоматический модуль аутентификации REMOTE_USER успешно на веб-сервере Apache, который был привязан к нашей сети с помощью модуля аутентификации NTLM, но я делаю Напомним, что для его работы потребовалось немного массирования кода:

  • Мне пришлось следовать "ужасным хакам", указанным на странице расширения, изменяя функции setPassword() и addUser(), чтобы всегда возвращать true, а не всегда возвращать false.
  • Поскольку Active Directory не учитывает регистр, а MediaWiki - нет, я заменил оба экземпляра оператора $username = $_SERVER['REMOTE_USER'] на $username = getCanonicalName($_SERVER['REMOTE_USER']).
  • Поскольку я хотел разрешить определенным пользователям внутри компании использовать нашу вики, я устанавливаю autoCreate(), чтобы всегда возвращать false. Звучит не так, как будто вам нужно беспокоиться об этом, поэтому вы должны оставить autoCreate() при всегда возвращении true, что означает, что любой пользователь вашей сети сети сможет получить доступ к вики.

Отличная идея об этом решении заключается в том, что никто не должен входить в wiki, когда-либо; они просто переходят на страницу вики, и они регистрируются под их идентификатором сети.

* Мы просто переключились на это с сервера Red Hat, который использовал mod_ntlm. К сожалению, mod_ntlm не обновлялся через некоторое время, и он начинал спорадически терпеть неудачу. Я упоминаю об этом, потому что я начал спотыкаться о проблеме производительности с нашей текущей конфигурацией MediaWiki, которая может потребовать дальнейшего массирования кода....

Ответ 6

Убедитесь, что пользователи не выходят из системы, если они смотрят в сторону от экрана или чихают или царапают голову. Вы хотите длительные, постоянные сеансы. После входа в систему, заходите в систему.

Что касается проблемы с MediaWiki, которую наша компания использует внутри - вы входите в систему, делаете что-то, затем возвращаетесь позже, и она вышла из системы, но уведомление о том, что вы не вошли в систему, настолько незначительно на экране, что пользователь никогда не замечает.

Ответ 7

Если это выполняется во внутренней сети, вы можете загрузить информацию Active Directory, чтобы никто не мог войти в систему. Это как я делаю это на работе. То есть, если они вошли в их машину Windows, тогда мои веб-клиенты могут забрать свое имя пользователя и связать это (или их userid) с их изменениями.

Я не знаю, было ли это легко добавить в MediaWiki.

Ответ 8

Я бы рекомендовал проверить wikipatterns.org - отличный сайт о социальных аспектах вики

Ответ 9

Явно использование какой-либо службы каталогов (LDAP), вероятно, будет хорошей идеей, так что ваши пользователи всегда будут полностью идентифицированы. С другой стороны, wikis подвержены своей собственной динамике, ведь некоторые вики-сайты настолько успешны, что они могут быть анонимно отредактированы, так что еще нужно иметь в виду.

Кроме того, лично я попытаюсь создать какой-то стимул для пользователей вносить свой вклад открыто и опознавать: это может быть основано на системе очков/баллов, чтобы были указаны статистические данные для всех пользователей, которые внесли свой вклад в wiki каждый день, это может даже создать какой-то конкурс.

Подобным образом, wiki по умолчанию не может отображать анонимно предоставленное содержимое без предварительного просмотра, что станет еще одним стимулом для пользователей, которые будут открыто открывать.

Ответ 10

SO имеет чрезвычайно низкий барьер для публикации. Вы можете разрешить людям указывать свое имя при редактировании. Когда они будут готовы, они могут войти в систему, чтобы не набирать их имя все время.

Ответ 11

Вы сказали, что это в ведомственной ситуации. Не можете ли вы добавить функцию в wiki, где она дает обоснованное предположение о том, кто редактирует на основе IP-адреса, и соответственно аннотирует редактирование?

Ответ 12

Я согласен абсолютно со всеми, кто рекомендует внимательно изучать последствия анонимности в вашем заявлении, прежде чем вы начнете "запрещать" его. В очень многих случаях люди предпочитают анонимное редактирование, потому что они НЕ ХОЧУ ОБРАТИТЬСЯ ОБ ЭТОМ, ИДЕНТИФИЦИРОВАННЫМ ЭТО, ИЛИ НЕ УБЫВАТЬ НЕКОТОРУЮ ПРОБЛЕМУ, ЧТОБЫ ОЧЕРЕДИТЬ. Вы должны быть ОЧЕНЬ уверены, что эти факторы не приводят пользователей к предпочтениям анонимных изменений, и, откровенно говоря, вы должны продолжать разрешать анонимные изменения с помощью общего входа в учетные данные, например "anonymous_employee" или "anonymous_contractor", на случай, если кто-то захочет указать проблему без становясь отождествленным с ним.

Повторите "мысль... чтобы у вас был дополнительный шаг подтверждения для анонимных пользователей". "Вы действительно уверены, что хотите представить анонимно?", это хорошая идея, но не "перефразировать" таким образом что предполагает, что неправильно не регистрироваться как вы, т.е. не говорите "Забыл ли вы войти?" Я бы вместо этого заметил это следующим образом:

"Ваше редактирование будет отображаться как IP-номер - оно может быть отнесено к" anonymous_employee "или" anonymous_contractor "или" anonymous_contributor "для вашей защиты конфиденциальности. Вы не будете уведомлены о любом ответе или ответе на него. чтобы этот вклад был зачислен, тогда [войдите прямо сейчас].

Это оставляет абсолютно ясное представление о том, что произойдет, не давит никому на то, чтобы сделать это в любом случае, и не уклоняется от того, чему способствуют некоторые "награды".

Вы также можете принудительно вводить логин через LDAP/cookie, а затем спрашивать, предпочитают ли они, чтобы это изменение было анонимным. Это подход, применяемый на некоторых платформах блога. В интранете потенциал злоупотреблений для этого в основном равен нулю, поэтому у вас, по-видимому, есть только ситуации, когда кто-то не хотел, чтобы "как они знали" или "почему они подняли это" скорее как вопрос, чем сами данные... IBM показал в некоторых тщательных исследованиях, что анонимизированная обратная связь гораздо более полезна, чем приписывать корректирующие групповые отношения и слепые стороны управления.