Как поощрить неанонимное редактирование в MediaWiki? - PullRequest
11 голосов
/ 19 декабря 2008

Задача

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

Есть две стратегии, чтобы улучшить это

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

Поощрение

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

Препятствовать

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

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

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

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

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

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

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

Delay

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

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

Ответы [ 12 ]

17 голосов
/ 19 декабря 2008

Вы можете Отключить анонимное редактирование в Mediawiki следующим образом:

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

    $wgDisableAnonEdit = true;
    
  • Отредактируйте файл / SkinTemplate.php, найдите $fname-edit и измените код так, чтобы он выглядел следующим образом (то есть, в основном, оберните следующий код между функциями wfProfileIn() и 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 ) {

Редактирование раздела теперь заблокировано для анонимных пользователей.

4 голосов
/ 19 декабря 2008

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

3 голосов
/ 19 февраля 2009

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

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

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

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

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

3 голосов
/ 19 декабря 2008

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

3 голосов
/ 19 декабря 2008

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

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

2 голосов
/ 15 марта 2009

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

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

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

2 голосов
/ 19 февраля 2009

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

2 голосов
/ 19 декабря 2008

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

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

2 голосов
/ 19 декабря 2008

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

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

1 голос
/ 19 декабря 2008

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

...