Спонсор проекта
Быстрый индивидуальный прокси сервер от IPANN.NET решит проблему вашей анонимности.
Все программы:
Финансы Наука и производство Общество Образование Программирование Сеть Безопасность Администрирование Игры Рабочий стол Компьютерные советы Другие темы Добавить статью Отказ от ответственности О нас Связь с администрацией
Голосования
Пользуетесь ли Вы социальными
сетями ?
Нет, они следят за мной (133)
Да, пользуюсь (45)
Пользуюсь только
пиринговыми (6)

MediaWiki

     Просмотров: 1022       Комментарии:      Добавлен: 22.05.2016 - 14:30          

Обновлено: 13.06.2016 - 13:03

MediaWiki - движок для веб-сайтов, работающих по технологии «вики». Первоначально он был разработан Wikimedia Foundation и работает на многих сайтах, в том числе Wikipedia , Wiktionary и Викисклада. Он написан на PHP языке программирования и использует бэкэнда базы данных.
Первая версия программного обеспечения была развернута для удовлетворения потребностей энциклопедии Wikipedia в 2002 году. Википедия и другие проекты Викимедиа продолжают определять большую часть требований, установленных для MediaWiki. Программа оптимизирована для эффективной обработки крупных проектов, которые могут иметь терабайт контента и сотни тысяч хитов в секунду. Поскольку Википедия является одним из крупнейших сайтов в мире, масштабируемость через несколько слоев кэширования и репликация баз данных была серьезной проблемой для разработчиков.

MediaWiki имеет более 800 параметров конфигурации и более 2000 расширений, доступных для включения различных функций, которые будут добавлены или изменены. Только на Википедии, более 1000 автоматизированных и полуавтоматические ботов и других инструментов были разработаны помощь в редактированию.

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

Основные возможности MediaWiki


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

Интернационализация и локализация

В связи с сильным акцентом на многоязычность в проектах Wikimedia, интернационализация и локализация получила значительное внимание со стороны разработчиков. Пользовательский интерфейс был полностью или частично переведен на более чем 300 языков на translatewiki.net, и может быть дополнительно настроен администраторами сайтов (весь интерфейс можно редактировать через вики).

Несколько расширений, в первую очередь те, которые собирается в MediaWiki Language Extension Bundle, предназначены для дальнейшего повышения многоязычности и интернационализации MediaWiki.

Установка и настройка MediaWiki

Установка MediaWiki требует, чтобы пользователь имел права администратора на сервере, работающем на PHP и с SQL совместимой базой данных. Некоторые пользователи считают что создание виртуальных хостов полезно, если сайт работает под фреймворками Zope или Ruby On Rails, которые несовместимы с MediaWiki. Облачный хостинг поможет пользователю обойтись без построения собственного сервера вручную. Установочный PHP скрипт доступен через веб-браузер и предназначен для инициализации настроек вики. Он предлагает пользователю минимальный набор требуемых параметров, в результате чего дальнейшие изменения, такие как предоставление возможности загрузки, добавление логотипа, и установка расширений, могут быть сделаны путём изменения параметров конфигурации содержащихся в файле LocalSettings.php. Некоторые аспекты MediaWiki можно настроить с помощью специальных страниц или путем редактирования определенных страниц; например, фильтры злоупотреблений могут быть сконфигурированы через специальную страницу, а некоторые устройства могут быть добавлены путем создания JavaScript - страниц в пространстве имен MediaWiki.

Разметка MediaWiki


Одним из самых ранних различий между MediaWiki, его предшественником UseModWiki и другими вики было использование вики-разметки вместо CamelCase. Когда появился MediaWiki, это было характерно для вики-текста, такого как WorldWideWeb, чтобы создать ссылку на страницу о World Wide Web. С другой стороны создаются двойные квадратные скобки, окружающие слова, и любые промежутки между ними остаются нетронутыми, например , [[World Wide Web]]. Это изменение было логичным с целью создания энциклопедии, где точность названий имеет важное значение.

MediaWiki использует дополняемую и легковесную вики-разметку, более простую в использовании и в изучении чем HTML. Существуют инструменты для преобразования контента, такого как таблицы, между разметкой MediaWiki и HTML. Были предприняты усилия по созданию спецификаций разметки MediaWiki, но решили что вики требует контекстно-зависимые правила граматики. Следующие сравнения показывают различия между разметкой вики и html:

screen02.png (54.5 Kb)


Интерфейс редактирования


Инструмент редактирования страниц MediaWiki был воспринят сложным для изучения. Опросы студентов, тестировавших MediaWiki, показали что 24% все опрошенных называли технические проблемы с форматированием: не удалось выяснить как получить изображение, как показать ссылку с словами.

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

Иногда когда один пользователь редактирует, второй пользователь сохраняет редактирования в той же части страницы. Затем, когда первый пользователь пытается сохранить страницу, происходит конфликт редактирований. Второй пользователь затем предоставляет возможность объединить его контент с существующей страницей. Необязательное расширение дает выбранным группа пользователей приоритет при возникновении конфликтов редактирования.

Пользовательский интерфейс MediaWiki был переведён на разные языки. Язык контента вики можно установить в HTML атрибуте "Content-Language".

Интерфейс прикладного программирования MediaWiki


MediaWiki имеет расширяемый Web API (интерфейс прикладного программирования), который обеспечивает прямой, высокоуровневый доступа к данным, содержащимся в базах данных MediaWiki. Клиентские программы могут использовать API для входа, получения данных и редактирования. API поддерживает JavaScript клиенты и приложения для конечного пользователя. API может предоставить доступ из интерфейса другого сайта. Библиотека бота Pywikipediabot, полуавтоматический инструмент AutoWikiBrowser и интерфейс с API. API доступен по URL ( http://en.wikipedia.org/w/api.php?action=query&list=recentchanges ) В этом случае вы запрашиваете у Википедии информацию, касающуюся последних 10 правок на сайте. Одним из предполагаемых преимуществ API является его независимость от языка; он прослушивает HTTP соединения от клиентов и может отправлять ответ в различных форматах, таких как XML, сериализованном PHP, YAML или JSON. Клиент код был разработан, чтобы обеспечить слои абстракции к API.

Рич-медиа


MediaWiki поддерживает богатое содержание, получаемое при помощи специализированного синтаксиса. Например, программное обеспечение поставляется с дополнительной поддержкой визуализации математических формул при помощи LaTeX и специального анализатора, написанного на OCaml. Подобные возможности, начиная графических таймлайнов для черчения, музыкальных нот и египетских иероглифов доступны в виде расширений.

WikiMedia становиться всё мощнее и мощнее при работе с загружаемыми файлами. Богатая функциональность в области изображений, где галереи изображений и эскизы могут быть сгенерированы с относительной легкостью. Существует также поддержка Exif метаданных. MediaWiki используется для управления Викислкадом, одним из крупнейших бесплатных архивов медиконтента. Поскольку любой WYSIWYG редактор должен знать граматику wikitext, MediaWiki поддерживает не родной WYSIWYG. WYSIWYG появился в настраиваемой графической панели инструментов для упрощения изучения синтаксиса вики. Существуют различные расширения для редактирования в WYSIWYG, некоторые используют варианты популярного CKEditor. Wikia, популярный вики-хостинг, использует расширение WYSIWYG, которое разработано как модальные редактор, позволяющий пользователю переключаться между режимами предварительного просмотра WYSIWYG и WikiText в одном сеансе редактирования. MediaWiki также имеет интерфейс, позволяющий прозрачно использовать внешние редакторы для загружаемых файлов и вики - страниц.

Отслеживание правок


Функция "Последние изменения" предоставляет список последних изменений в вики. Этот список содержит основную информацию о правках: имя редактора, вывод редактирования, редактируемые страницы, а также любые теги (например, вредоносные ссылки) добавленные в настраиваемые фильтры злоупотреблений, и другие расширения, чтобы помочь в борьбе с бесполезными редактированиями. На активных вики происходит так много правок что трудно вручную отследить последние изменения. Антивандальный код, в том числе вспомогательные пользовательские инструменты, иногда используются на таких вики для обработки недавних изменений. Нагрузку на сервер можно уменьшить путём непрерывной отправки последних изменений на канал IRC, для мониторинга редактирований исключая необходимость в отправке запросов на обновление.

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

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

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

Навигация в MediaWiki


Навигация по вики в основном за счет внутренних wikilinks. Это осуществляет обнаружение страниц, где ссылка окрашена в синий цвет, если целевая страница существует на локальном вики, и красным цветом - если нет. Когда пользователь нажимает на красную ссылку, ему предложено создать статью с таким названием. Обнаружение существования страниц удобно чтобы создавать викифицированные статьи - то есть статьи, содержащие ссылки на страницы с соответствующей тематикой.
Interwiki ссылки функционируют также как и пространство имён. Набор префиксов интервики можно настроить чтобы вызвать, например, титульный лист из wikiquote:Jimbo Wales, чтобы направить пользователя на статью о Джимбо Уэйлсе на Викицитатнике. В отличие от внутренних wikilinks, interwiki не имеют функции обнаружения существования страниц, и соответственно, нет способа узнать, является ли синяя ссылка interwiki сломанной или нет.

Содержание контента


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

Каждая страница имеет свою историю, и пользователь имеет доступ к каждой версии, которая когда - либо существовала и генерировать просмотр различий между двумя версиями по своему выбору. Взносы пользователей отображаются не только здесь, но и возле опции "вклад пользователя" на боковой панели. Это может быть полезно для педагогов, которым необходимо оценить вклад и участие отдельных студентов.
mediawiki_vector_skin_tabs.png (10.83 Kb)

Пространство имён
Кроме гиперссылок для структурированного контента, MediaWiki предоставляет множество других функций. Одной из самых ранних функций является пространство имён. Одной из первых проблем Википедии было отделение энциклопедического контента от страниц, относящихся к дискуссиям по поддержке, коммуникациям и персональных страниц о редакторах энциклопедии. Префиксы пространства имён перед названием страницы (такие как " User: " или " Talk: ") служат в качестве дескрипторов для целей данной страницы и позволяют нескольким страницам с различными функциями существовать под таким же названием. Например, страница с заголовком " [[Терминатор]] ", в пространстве имен по умолчанию, может описывать фильм 1984 года в главной роли Арнольд Шварценеггер, в то время как страница с названием « [[User: Терминатор]] " может быть профилем, описывающем пользователя который выбирал это имя в качестве псевдонима. Чаще всего, каждое пространство имен имеет связанный с ним " Talk: " namespace, в котором можно обсудить его содержимое, например, User talk: " или " Template talk: " Цель специальной страницы для обсуждений заключается в том чтобы отделить основной контент от обсуждений.

Пространство имён можно рассматривать как папки, которые отделяют различные базовые типы информации или функциональные возможности. Пользовательские пространства имен могут быть добавлены администратором сайта. Есть 16 пространств имён по умолчанию для контента, используемых для динамически генерируемых " Special: " pages и ссылок на медиа файлы. Каждое пространство имен на MediaWiki пронумеровано: страницы контента пространства имён имеют даже номера и связанные с ними страницы обсуждений в пространстве имён с нечётными номерами.

Категории тегов

Пользователи могут создавать новые категории и добавлять страницы и файлы к указанным категориям, присоединяя один или несколько тегов, относящимся к теме текста. Добавление этих тегов создает ссылки в нижней части страницы, чтобы читатель мог получить список всех страниц по данной теме. Применение категоризации для организации содержимого было описано в виде комбинаций:
Социальные закладки, такие как del.icio.us и
Иерархические классификации, такие как десятичная классификация Дьюи.

Подстраницы. Кроме пространства имён, контент можно указывать при помощи подстраниц. Эта простая функция обеспечивает метод "хлебных крошек" на паттерне [[Page title/Subpage title]] со страницы после косой черты (в данном случае, "Subpage title"), на странице перед косой чертой (в данном случае, "Page title").

Настройка MediaWiki

. Если эта функция включена, пользователи могут настраивать свои таблицы стилей и JavaScript на стороне клиента, который будет выполняться при каждом просмотре страницы. В Википедии, это привело к большому количеству дополнительных инструментов и помощников, распределённых между пользователями. К примеру, навигационные всплывающие окна Люпена являются пользовательским JavaScript инструментом, который показывает предварительные просмотры статей, когда указатель мыши над ссылкой, а также предоставляет ярлыки для общих задач технического обслуживания. Другим примером может служить wikEd, полнофункциональный MediaWiki-интегрированный текстовый редактор, обеспечивающий подсветку синтаксиса, поиск и замену.
screen03.png (97.6 Kb)

При помощи специальных расширений, обычно вызываемых администраторами, можно редактировать пользовательский интерфейс MediaWiki. Это делается с помощью специального пространства имен с префиксом "MediaWiki:" где каждое заглавие страницы означает конкретное сообщение пользовательского интерфейса. Использование расширений позволяет пользователям создавать личные скрипты.
screen04.png (105.7 Kb)

Шаблоны MediaWiki


Пространство имён "MediaWiki:" первоначально использовалось для создания пользовательских текстовых блоков, которые могут затем быть динамически загружены в другие страницы, используя специальный синтаксис. Позже этот контент был перенесён в своё собственное пространство имён, "Template:".

Шаблоны представляют собой текстовые блоки, которые могут быть динамически загружены внутри другой страницы всякий раз, когда запрашивается эта страница. Шаблон представляет собой специальную ссылку в двойных фигурных скобках, например, {{Disputed|date=October 2008}}, которая вызывает шаблон (в данном случае, расположенный по адресу Template:Disputed, чтобы загрузить вместо вызова шаблона.

Шаблоны структурированных документов содержат
пары атрибут-значение. Они определяются с параметрами, к которым присваиваются значения, которые включены на странице статьи. Имя параметра отделено от значения знаком равенства. Класс шаблонов, известных как infoboxes используется в Wikipedia чтобы собирать и предоставлять подмножество информации о объекте, как правило, на вершине (мобильный вид) или правом верхнем углу (вид рабочего стола) документа.

Шаблоны обрабатываются процессором шаблонов, движком шаблонов который производит веб-документ и таблицу стилей дизайна страницы документа. Это позволяет отделить дизайн шаблона от документа, которым он управляет.

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

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

Группы и ограничение доступа


MediaWiki обеспечивает гибкость в создании и определении групп пользователей. Например, можно создать произвольную группу "Ниндзя" , которой можно блокировать пользователей и удалять страницы, и чьи правки по умолчанию скрыты в журнале последних изменений. Кроме этого, можно создать группу автоподтверждённых пользователей, где чтобы стать участником, нужно сделать определённое количество правок и ждать определённое количество дней. Некоторые группы, которые включены по умолчанию являются бюрократами и системными операторами. Бюрократы имеют право менять права других пользователей. Системные операторы имеют власть над защитой страниц, удалением и блокированием прав на редактирование. Доступные элементы управления редактированием прав были признаны достаточными для публикации и сохранения важных документов, таких как руководства по операциям в больнице.

Если страница состоит из бесполезного контента, есть несколько способов удаления этого контента. Самый простой способ, доступный всем пользователям, это просто очистка страницы. Тем не менее, это мешает обнаружению существования страниц, если неустановлено расширение для лечения пустых страниц. Очистка оставляет контент доступным через страницу истории, что потенциально увеличивает прозрачность и позволяет не системным операторам просматривать решение о удалении контента, которое может быть неприемлемым и даже незаконным в некоторых случаях. Другой вариант для системных операторов позволяет удалить эту страницу и тем самым предотвратить её просмотр не привилегированным пользователям. Другой уровень удаления, называемый RevisionDelete, может быть использован группой (например , "Oversighters"), чтобы предотвратить страницу от просмотра пользователями не являющимися членами этой группы. Кроме этого, можно используя определенные расширения, оградить контент от просмотра через любой из нормальных каналов на вики, или даже полностью удалить ревизии из базы данных.

MediaWiki поставляется с базовым набором функций, связанных с ограничением доступа, но его оригинальная и постоянная конструкция приводится в движение функциями, которые в основном связаны с содержанием, а не с разделением контента. В результате, с минимальными исключениями (связаными с конкретными инструментами и связанными с ними специальными страницами), контроль доступа к странице никогда не был высоким приоритетом в развитии ядра и разработчики заявили, что пользователи, которым требуется защищенный доступ пользователей и средства контроля авторизации не должны полагаться на MediaWiki, так как она никогда не была предназначена для такого рода ситуаций. Например, чрезвычайно трудно создать вики, где только некоторые пользователи могут читать и получать доступ к некоторым страницам. Такие вики- системы как TWiki, MoinMoin и WikkaWiki обеспечивают большую гибкость, поддерживая продвинутые механизмы безопасности, такие как списки контроля доступа (ACL).

Расширяемость MediaWiki


Кодовая база MediaWiki содержит различные крючки, использующие функцию обратного вызова чтобы добавлять дополнительный код PHP. Это позволяет разработчикам писать расширения без необходимости модифицировать ядро или предоставлять свой код на обзор. Установка расширения, как правило, состоит в добавлении строки в файл конфигурации, хотя в некоторых случаях требуются дополнительные изменения, такие как обновление базы данных или патчи ядра.

Было создано пять основных точек расширения, чтобы позволить разработчикам добавлять новые функции и функциональные возможности в MediaWiki. Крючки запускаются каждый раз , когда происходит определенное событие; например, крючок ArticleSaveComplete выполняется после того как был обработан запрос на сохранение статьи. Это может быть использовано, например для расширений, которые уведомляют выбранных пользователей каждый раз когда происходит редактирование страниц на вики новыми или аномальными пользователями. Новые теги могут быть созданы для обработки данных с открывающим и закрывающим тегами ( ... ). Функции обработки могут быть использованы для создания новой команды ( {{#if:...|...|...}} ). Новые специальные страницы могут быть созданы для выполнения определенной функции. Эти страницы генерируются динамически. Например, специальная страница может показать все страницы, которые имеют одну или несколько ссылок на внешний сайт или может создать форму предоставляющую пользователю обратную связь. Скины позволяют пользователям настраивать внешний вид MediaWiki. Незначительное расширение позволяет использовать Amazon S3 для размещения файлов изображений.

Расширения


Ресурсы для разработчиков


MediaWiki можно сделать более продвинутым и полезным для различных целей с помощью своих расширений. Эти расширения значительно различаются по сложности.

На GitHub есть множество расширений MediaWiki. Большинство расширений есть также на страницах документации MediaWiki.

Начиная с версии 1.16, MediaWiki также использует библиотеку JQuery.

Синтаксический анализатор MediaWiki


Одним из наиболее популярных расширений является синтаксический анализатор ParserFunctions, который позволяет разному контенту отображаться на основании результатов условных операторов. Эти условные операторы могут выполнять такие функции, как оценка того, является ли пустым параметр, сравнение строк, вычисление математических выражений, и возвращение одно из двух значений в зависимости от того, существует ли страница. Он был разработан в качестве замены заведомо неэффективного шаблона {{QIF}}. История расширения ParserFunctions:
В 2006 году некоторые Википедисты обнаружили, что через сложные и запутанные особенности шаблонов и CSS они могут создать условный текст вики, то есть текст, который был показан, если параметр шаблона имел определенное значение. Это включало повторяющиеся вызовы шаблонов внутри шаблонов, которые увязли производительность всей системы. Разработчики оказались перед выбором: либо запретить его, либо предложить эффективную замену. Тим Старлинг ввёл анализатор вики-текста, который вызывает функции, реализованные в базовом программном обеспечении.

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

Другое расширение функции синтаксического анализа, StringFunctions, было разработано чтобы измерять длину строки, позицию строки и т.д. Сообщества Wikimedia, создав неудобные обходные пути для выполнения той же функции, требовали чтобы он был включен в ихних проектах. Большая часть StringFunctions встроена в ParserFunctions, хотя по умолчанию отключена и сопровождаться предупреждением от Тима Старлинга, что включение функции строки позволит пользователям реализовать свои собственные парсеры на уродливом и самом неэффективном языке программирования.

Сноски в MediaWiki

Другим популярным расширением является расширение, которое позволяет добавлять сноски на страницу, с помощью встроенных ссылок. Это расширение подвергается критике за сложность использования и сложный синтаксис. Инструмент под названием ProveIt был предложен в качестве компенсации. Гаджет RefToolbar был создан чтобы упростить создание ссылок с использованием общих шаблонов. MediaWiki имеет некоторые расширения, которые хорошо подходят для научных кругов, это математика и расширения, позволяющие отображать молекулы в 3D.

Интеграция


Обобщённый фреймвор виджетов был создан чтобы связывать MediaWiki практически с чем угодно. Другими примерами расширений, которые могут улучшить вики, являются: расширение категорий, флэш-видео, YouTube видео и RSS-каналы. Скоро будет расширение для интеграции с Facebook. Metavid - сайт видеоматериалов из US Senate и House floor proceedings создан с использованием кода MediaWiki, в области совместного видео авторинга. Расширение Viskimap создаёт графический органайзер для отображения взаимодействий между страницами контента, так что студенты могут легко изучать элементы контента и их взаимосвязи.

Борьба с ссылочным спамом в MediaWiki


Есть много спам - ботов, которые ищут в Интернете инсталляции MediaWiki и добавляют ссылочный спам, несмотря на то, что MediaWiki использует атрибут NOFOLLOW для предупреждения таких попыток поисковой оптимизации. Часть проблемы заключается в том, что сторонние переиздатели, такие как зеркала, не могут самостоятельно осуществлять тег NOFOLLOW на своих веб-сайтах, так что маркетологи до сих пор имеют выгоду вставляя ссылки на страницы, когда эти страницы появляются на сайтах третьих лиц. Расширение Антиспам было разработано для борьбы с этой напастью, путём введения CAPTCHA, чёрного списка определённых URL, и позволяет массово удалять страницы, недавно добавленные определенным пользователем.

Поиск и запросы

MediaWiki поставляется с предварительно установленным стандартным текстовым поиском (с 2014 использует поисковый движок CirrusSearch). Существуют расширения, позволяющие использовать сторонние инструменты поиска, такие как Lucene (используется на сайтах Викимедиа) и Сфинкс.

Были созданы различные расширения, чтобы обеспечить более сложный и многогранный поиск, на данных введенных в вики и метаданных, таких как история изменений страниц. Примерами расширений, облегчающих такой анализ, являются Semantic MediaWiki, который обеспечивает возможность добавлять структурированные и доступные для поиска связи и атрибуты на страницы вики, и WikiTrust, для проверки автора, происхождения и достоверности вики-текста и DynaTable.

Расширение Woogle добавляет корпоративный поиск в MediaWiki.

База данных


MediaWiki работает на реляционных системах управления базами данных: MySQL/MariaDB, PostgreSQL и SQLite. Существует ограниченная поддержка Oracle Database. База данных MediaWiki содержит несколько десятков таблиц, включая страницу таблицы, которая содержит заголовки страниц, страницы идентификаторов и другие метаданные, таблицу ревизий, к которой добавляется новая строка каждый раз, когда сделано редактирование, содержащее идентификатор страницы, краткий текстовый вывод изменений, имя редактора статьи, (или его IP - адрес в случае незарегистрированного пользователя) и отметка о времени.

За 4½ года в базе данных появилось 170 логических схем версий. Возможно, самое большое изменение схемы было сделано в MediaWiki 1.5, когда хранение метаданных был отделен от контента, для повышения производительности. Когда это обновление было применено к Википедии, сайт был заблокирован для редактирования, и схема была преобразована в новую версию в течение примерно 22 часов. Некоторые предложения улучшения, такие как предложение разрешить разделы статей, за которыми нужно следить в списках наблюдений, были отклонены, поскольку на необходимые изменения требуется много времени простоя Википедии.

Схема базы данных MediaWiki:
http//libreportal.net/images/thumbs/2016-06/11/xl7h6kwdut34p7arsbn6t4xw9.png

Производительность и хранение


Так как MediaWiki используется на одном из самых посещаемых сайтов Интернета, производительность и масштабируемость были сильно оптимизированы. MediaWiki поддерживает Squid, баллансировку нагрузки репликации базы данных, кэширование на стороне клиента, memcached, кэширование на основе таблиц для частого доступа к результатам поиска, простой файл кэша, функция восстановленное операции, сжатие ревизии и очереди заданий для операций с базами данных. Разработчики Mediawiki пытались оптимизировать код на любой глупости, избегая дорогостоящих алгоритмов, запросов к базам данных и т.д., кэширование каждого результата, который является дорогостоящим и имеет временную локальность ссылок, и сосредоточили внимание на горячих пятнах в коде через профилирование.

Данные записываются в основную базу и читаються из дочерней, хотя основную базу можно использовать для некоторых операций чтения, если дочернюю не обновили до настоящего времени. Метаданные, такие как история версий статей, связи статей (ссылки, категории и т.д.), учетные записи и настройки могут быть сохранены в основной базе данных и кэшируются; актуальные версии текста, будучи редко используемыми, могут быть сохранены как конкатенирующие блобы во внешнем хранилище. MediaWiki подходит для работы кропномасштабных вики-ферм, таких как Викимедиа, которые имели около 800 вики по состоянию на август 2011 года, однако, MediaWiki поставляется без встроенного графического интерфейса для управления такими установками.

Эмпирические данные показывают, что большинство изменений в базах данных MediaWiki, как правило, лишь незначительно отличаются от предыдущих ревизий. Поэтому последующие ревизии статьи могут быть склеены, а затем сжаты, достигая при этом очень высокий коэффициент сжатия данных до 100x.

Для получения дополнительной информации о архитектуре, например, как храниться и собирается вики-текст на странице, смотрите внешние ссылки.

Ограничения MediaWiki


Анализатор служит де - факто стандартом для синтаксиса MediaWiki, поскольку никакого формального синтаксиса не был определено. В связи с отсутствием формального определения, было трудно создать WYSIWYG редакторы для MediaWiki (хотя VisualEditor находится в стадии разработки) или портировать анализатор на другой язык.

MediaWiki не предназначен для форума или блога, хотя существуют специальные расширения. Новички МедиаВики делают некоторые ошибки, например, забывают подписать сообщение с четырьмя тильдами (~~~~), или вручную вводят текстовую подпись, в связи с незнанием своеобразных особенностей участия в дискуссиях MediaWiki. С другой стороны, формат этих дискуссионных страниц был приведён одним разработчиком, который заявил что этот формат обеспечивает больше возможностей для дискуссий, чем традиционные поточные форумы. Например, вместо того чтобы "ответить" на всё сообщение, участник дискуссии может сделать гиперссылку на новую вики-страницу на любое слово. Обсуждение легче читать, так как контент доступен через гиперссылки на вики-страницы, а не на ряд ответных сообщений в дискуссиях традиционных поточных форумов. Тем не менее, за исключением отдельных случаев, студенты не используют эту возможность из-за их знакомства с традиционным стилем линейных форумов и отсутствия указаний о том, как сделать контент более линкабельным.

MediaWiki имеет небольшую поддержку динамически собираемых документов или страниц, которые собирают данные с других страниц. Чтобы создавать новые "специальные" страницы, требуется кодирование расширением в PHP, и таким образом, административные права на сервере. Некоторые исследования были сделаны на основе достижения таких возможностей непосредственно в MediaWiki. Расширение Semantic MediaWiki предоставляет эти возможности, но он не используется в Википедии.

Хранилище викибазы (Wikibase Repository) и клиент хранилища викибазы реализованы в Викиданных и в Википедии, соответственно, и в некоторой степени обеспечивает семантические веб-функции, и слинкованы с централизованно хранимыми данными в infoboxes в различных статьях Википедии.

Обновление MediaWiki обычно полностью автоматизировано и не требует каких-либо изменений в контенте сайта или в программировании шаблона. За всю историю проекта, не зафиксировано ни одной проблемы с обновлением.

Безопасность MediaWiki


Разработчики MediaWiki ввели стандарты безопасности как для кода ядра, так и для расширений. SQL запросы и вывод HTML, как правило, осуществляется с помощью функций-оболочек, которые обрабатывают проверки, убегая от фильтрации для предотвращения межсайтового скриптинга и SQL инъекции. В апреле 2010 года, около 50 расширений имели нерешённые вопросы безопасности. Многие проблемы безопасности были пропатчены после финального выпуска. Самый важный шаг в безопасности, который вы можете предпринять, это поддержка CMS всегда в актуальном состоянии, подписавшись на списки рассылок и устанавливая обновления безопасности сразу как только они выйдут. Для обнаружения вторжений разработано расширение PHPIDS.

Сообщество разработчиков


Разработчики MediaWiki разбросаны по всему миру, хотя большинство в США и в Европе. Заседания и сессии программирования лицом к лицу проводятся один или несколько раз в год, начиная с 2004 года.

Поддержка MediaWiki


Поддержка пользователей MediaWiki состоит из:
  • MediaWiki.org, включая службу поддержки.
  • Официальный список рассылок, Mediawiki-l
  • Написано несколько книг по администрированию MediaWiki, включая некоторые бесплатные онлайн книги.

Сравнение с другим программным обеспечением для совместной работы в режиме онлайн


Пользователи программного обеспечения для совместной работы знакомы с функциями и дизайном MediaWiki. По сравнению с другими вики, MediaWiki довольно эстетичен и имеет легко настраиваемое боковое меню и таблицу стилей. Но тем не менее, Confluence по некоторым оценкам считается продуктом более высокого класса, из-за его удобного API и поддержки нескольких вики. Вики-провайдеры SocialText, Exo Platform и Jotspot имеют/ имели функции управления проектами, которые отсутствуют в MediaWiki.

В университете Гонконга было сделано сравнение TWiki с MediaWiki. Авторы отмечают, что TWiki рассматривался как инструмент совместной работы для образовательных и технических проектов, в то время как MediaWiki происходит от Википедии. Хотя обе платформы позволяют обсуждать и отслеживать изменения, TWiki имеет раздел отчётов, который отсутствует в MediaWiki. Студенты воспринимают MediaWiki более простым в использовании чем TWiki. Когда сделали опрос, рекомендуется ли использовать MediaWiki для управления знаниями, 15 из 16 респондентов выразили предпочтение MediaWiki давая ответы с большой долей уверенности. TWiki и MediaWiki имеют гибкую модульную архитектуру.

https://en.wikipedia.org/wiki/MediaWiki
Категория: Wiki

Лицензия:
GPL2
GNU/LinuxBSD Unix Macintosh OS X Solaris OS Windows

Интерфейс веб-ориентированный
Язык программирования:
PHP
Сайт проекта
Скачать MediaWiki


 (Голосов: 0)
« Назад

Комментарии

Добавление комментария


Имя:
(обязательно!)
Пароль:
(если зарегистрирован)
Email:
(обязательно!)
Комментарий:
Введите код: *
captcha
Рекламки


Рекомендуем:
Реклама