WikiWiki (Вики) — гипертекстовая интернет-среда, предназначенная для коллективного редактирования, накопления и структуризации текстовой информации.
Термин
Название произошло от гавайского слова «wikiwiki» — «как можно быстрее». Концепция Вики отвечает тому, что первоначально задумывал Тим Бернерс-Ли (Tim Berners-Lee), изобретатель Всемирной Сети: доступность информации онлайн и возможность её быстрого изменения. По крайней мере, так он писал в своей книге «Weaving the Web».
Основная идея вики-технологии — возможность редактирования статей множеством пользователей. Для реализации этой идеи разработаны специальные знаки, тэги, называемые «вики-синтаксисом». Разные движки используют разный синтаксис, но все они проще и удобнее HTML-разметки, применяемой в WWW. Это позволяет работать с ней даже тем, кто не проходил обучения вообще.
Wiki (также WikiWiki, WikiWikiWeb или WikiWeb), — это собрание интернет-страниц, которые можно не только читать, но и изменять онлайн. Как и в WWW, отдельные страницы и статьи соединены между собой ссылками. Для реализации вики-среды создаётся (или добывается уже существующее) подходящее для данных целей ПО — движок вики-сети (вики-движок).
Возможность редактировать содержимое вики-сайта любым посетителем, с одной стороны, позволяет без труда накапливать и систематизировать информацию, но, с другой стороны, создаёт обширное поле для вандализма. Из-за последнего все вики-сайты используют технологию CVS, сохраняющую каждую версию документа. Если документ подвергается вандализму, пользователь вики может легко восстановить старую версию. Получается, что портить в Вики сложнее, чем исправлять. Программное обеспечение также позволяет ограничить доступ и права редактирования страниц Вики-среды до определённого круга пользователей.
Таким образом, «Вики» («ВикиВики») это:
- Выражение, означающее «быстро»/ «ненапряжно» на Гавайском.
- Принципы ведения вебконтента:
- Простой язык разметки;
- Совместное редактирование множеством пользователей.
- Мгновенная публикация изменений;
- Версионность.
- Софт, используемый для этого.
- Вебсистема, на базе такого софта.
История
Оригинальная система Wiki была изобретена Вардом Каннингемом. Она была создана для web-узла Pattern Languages Community с целью упростить совместное создание и документирование программных образцов.
Преимущества
Статьи/документы — это плоский текст
Преимущества «плоского» текста (текста, разбитого на строки):
- Редактируется в любом текстовом редакторе.
- Минимальный «вес» при хранении и пересылке по сети.
- Возможно автоматически определять изменения, что дает:
- Параллельное (совместное редактирование);
- Определение авторства каждой строчки;
- Автоматическое разрешение конфликтов;
- Экономная система контроля версий.
- Удобен для автоматической обработки.
Простой язык разметки
Стандартные языки разметки (SGML, HTML, LaTeX):
- Сложные для изучения (много элементов, нетривиальный синтаксис);
- Возможны трудноуловимые ошибки;
- Элементы разметки занимают существенный объем текста (высок «overhead»):
- Долго и трудно набивать текст;
- Текст плохо читаем с экрана.
Плоский текст c простой разметкой:
- Быстро пишется;
- Легко читается с экрана.
Правка и публикация по месту
Мгновенная публикация:
- Для практически всех языков разметки, кроме HTML, нет WYSIWYG-программ просмотра — необходима конвертация в DVI, PostScript, PDF, RTF или тот же HTML, что происходит небыстро.
- Публикация по месту позволяет вносить правки в процессе чтения материала (не нужно искать исходные тексты)
- Немедленная публикация позволяет сразу же проверить внесенные правки.
Автоматическое построение ссылок
Автоматическая линковка:
- Стандартные языки разметки (TeX, LaTeX, SGML) разделяют идентификаторы и названия структурных блоков (секций, глав, разделов), что:
- способствует строгой целостности;
- Вносит большую «нагрузку» на внесение ссылки
- Идентификаторы=Названия=Заголовки
- Адаптивная линковка:
- «Опережающие» ссылки на несуществующие статьи;
- Перенаправления ссылок.
Централизованное хранение
При локальной обработке размеченной (HTML, XML, LaTeX, SGML) документации необходимо одновременно знать
- файловую структуру проекта (в каком файле что лежит);
- Идентификаторы разделов.
- Иметь систему синхронизации изменений от различных пользователей
ВикиВики система сама обеспечивает
- централизованное хранение всех блоков текста («статей»)
- идентификатор хранения=идентификатор ссылки=названию статьи.
Редактировать может каждый
- Никто не знает всего, но возможно собрать знания «с миру по нитке».
- Никто не застрахован от ошибки, но любой, заметив ошибку может легко ее исправить.
- Легче поддерживать актуальность документа — правка ошибки очень проста, а от непоправимого разрушения документа защищает контроль версий.
Недостатки
- Редактировать может каждый
-
- Широкий круг допущенных — уязвимо, если есть злонамеренный вандал.
- Информация может быть неверной:
- Внесена ошибка — пока ошибки не заметят;
- Статья написана некомпетентными участниками — неверно до появления специалиста.
- Нет стандартной вики-разметки
-
- уже существует «вавилонская башня» близких, но различных вики-диалектов,
- практически каждая вики-система использует свою разметку (или допускает несколько различных разметок).
- Разметка не «адаптирована к компьютеру»
- Мало программных библиотек стандартного разбора (parsing) документов (в отличие от XML/SGML/HTML).
- Ограниченное использование возможностей верстки и полиграфии
-
- Шрифты;
- Сложные страницы с полями;
- Плавающие объекты и т. п.
- Оптимальный кернинг и выравнивание пустых пространств.
- Размыта ответственность за содержимое;
- Допустима ссылочная нецелостность.
Почему это работает?
- Совместное редактирование влечет совместную ответственность;
- Вырабатывает культуру обсуждений и поиска правильного решения;
- «Эффект взбивания сливок» — легкость редактирования многими участниками ведет к многократным итерациям, что улучшает качество текста.
- Легкость порождения статей способствует фиксации больших объемов знаний («главное — начать»).
Когда это не работает?
- Широкий круг допущенных к редактированию может привести к спаму и вандализму.
- Когда возникают неразрешимые противоречия между участниками
- «Невежественное большинство» может «продавить» неверную информацию.
- Некоторых расстраивает потеря авторства при правках других участников.