Wiki Wiki Web

Фраза Чарльза Дарвина о том, что труд сделал из обезьяны человека, известна всем. Позже эту гениальную аксиому дополнили: труд – коллективный. И в самом деле, результаты такого взаимодействия значительно
превосходят результаты усилий одного человека.

Выводы о несомненной пользе коллективного труда сделаны еще несколько тысячелетий тому назад. А с появлением электронных средств коммуникаций сами принципы организации такой деятельности были пересмотрены. Концепция мейнфреймов (больших универсальных вычислительных машин) была изначально ориентирована на коллективный доступ к их ресурсам. С появлением ПК принцип коллективной работы стал немного отходить на второй план. Пока вдруг не стало понятно – персоналок развелось слишком много. Причем каждый оператор делал свою работу, не слишком вникая в то, что делает сосед. Это значительно осложнило работу фирм, корпораций, банков и других крупных организаций. Не спасало даже то, что использовались локальные сети и выход в глобальные сетевые сообщества. Не было самого главного – механизма координации коллективных проектов.
К счастью, это быстро поняли разработчики программного обеспечения. В наше время практически любой серьезный софт, прежде всего – среды разработки (языки программирования), офисные пакеты и системы обработки мультимедиа, – содержит средства коллективной разработки проектов.
В основе таких средств лежит принцип сбора, обобщения и накопления данных о действиях каждого участника коллективного проекта. То есть создается некая база данных об изменениях, внесенных каждым из членов коллектива.
С появлением и развитием Интернета в нем стали реализовываться огромные сетевые проекты, в которых оказались задействованы сотни людей из разных стран. Появилась острейшая необходимость координировать их труд. Сразу отмечу, что эта проблема до сих пор полностью не решена, но относительно недавно распространилась технология, которая способна снизить ее остроту и, может быть, принесет в Интернет-сообщество что-то свое.

Технология WIKI: что это?
Для начала – официальная трактовка явления (из энциклопедии Wikipedia): Вики (англ. Wiki) – технология взаимодействия пользователя с веб-сайтом, предназначенная для коллективной разработки, хранения, структуризации информации (в основном гипертекста), один из вариантов организации CMS (система управления содержимым, Content Management System) – вида компьютерных программ, упрощающих и систематизирующих хранение, публикацию и модификацию информации (как правило, документов) внутри организации или на веб-сайте. Есть мнения, что название происходит от гавайского слова wiki-wiki, означающее «быстрый»; возможно, под wiki-wiki гавайцы подразумевали английское слово quick.
Технология, которой пять лет от роду, ведет свою историю с древнейших компьютерных времен, когда зародилось то, что сегодня мы называем гипертекстом. Сам этот термин предложил Тед Нельсон в 1965 году, определив его так: «Гипертекст – это непоследовательный способ записи, текст ветвится, и это позволяет читателю осуществлять выбор и перемещаться по нему с помощью интерактивного экрана». Но собственно идея этого механизма принадлежит Ванневару Бушу, видному ученому и философу, который еще в 1945 году опубликовал статью «Как мы можем думать», на базе которой Нельсон написал книгу «Literary Machine». В ней описывается некая виртуальная машина, которая, используя основы гипертекста и параллельной логики, должна была решать фантастические даже по сегодняшним меркам задачи. Самое интересное, что со временем правильность изложенных в этом труде принципов только подтверждается. Позже он же создал систему Hypertext Editing System (HES), использованную при подготовке документации в рамках космической программы «Аполлон».
Еще одно имя – Даг Энгельбарт, изобретатель манипулятора «мышь». В 1968 году Энгельбарт разработал и протестировал систему On Line System (NLS), в которой предполагалось поместить в память компьютера все виды документов которые удастся представить в цифровом виде. А первым коммерческим продуктом на базе гипертекста была программа HyperCard для компьютеров Macintosh. В ней данные представлялись в виде карточек, связанных между собой ссылками. Создание в 1989 году WWW стало звездным часом гипертекстовых систем.
Сама же Wiki-технология появилась в 2000 году, когда два американца, Ларри Сэнджер и Джимми Уэллс, решились на грандиозный проект: создать свою бесплатную и общедоступную онлайн-энциклопедию. Был открыт сайт www.NuPedia.com, где и разместили проект, содержимое которого распространялось по лицензии GNU FDL – то есть любой пользователь имел право бесплатно использовать содержимое этой энциклопедии по своему усмотрению. Движок сайта тоже был свободным и распространялся как Open Source.
Первоначально участвовать в проекте было предложено ряду известных ученых. Многие из них с радостью согласились. В результате первые статьи новой глобальной энциклопедии были написаны людьми авторитетными и уважаемыми, что придало проекту солидности. Но вскоре возникли определенные проблемы – метод написания статей гарантировал их высокую достоверность, однако скорость наполнения энциклопедии была очень низка. В сложившейся ситуации руководители проекта пошли на крайне неоднозначный шаг: позволить писать и редактировать статьи любому желающему! И не прогадали.

Wiki изнутри
Обычно Wiki реализуется как компонент Web-сайта. Управление производится при помощи набора специальных CGI-сценариев (например, скриптов написанных на Perl), или другой подобной технологии на стороне сервера. Существует целый ряд свободно распространяемых реализаций. Эти скрипты манипулируют небольшими документами – wiki-страницами, представляющими собой статьи, у которых есть название и содержимое. Содержимое статей – это обычный текст, в котором можно использовать тэги HTML или особую wiki-разметку (которая удобне, чем HTML). Когда браузер запрашивает wiki-страницу, скрипт транслирует ее в HTML и она становится частью возвращаемой Web-страницы. Кроме обычного контента, wiki-страница в своем Web-представлении содержит клавишу Edit this page, которая позволяет изменять эту страницу. При нажатии на нее на экран выводится та же самая страница в виде «исходников» – текста на упрощенном языке разметки (некоторые новые варианты wiki-движков предлагают работать в режиме WYSIWYG). Пользователь может изменить страницу, а затем нажать на клавишу Save. Представление страницы будет конвертировано в HTML, и на экране появится Web-страница, обновленная по сравнению с исходным вариантом.
Абсолютно любой посетитель wiki-сайта, в любой момент может отредактировать текст страницы, которую он просмотривает, прямо внутри своего веб-браузера, а затем сохранить измененный вариант на сервере, внося тем самым изменения в общий информационный ресурс и заменяя старые версии страниц новыми. В результате процесс публикации текста сокращается до двух щелчков (редактировать-сохранить). Так же просто создаются и новые страницы.
Для форматирования текста используются весьма простые правила. Названия страниц на сервере – слова со смешанным регистром (большими и маленькими буквами в одном слове). Например, MainPage. Если при редактировании текста wiki-страницы вы введете слово в смешанном регистре, то wiki воспримет его, как ссылку. В этом и есть коренное отличие wiki-технологии от обычного web-дизайна: сначала создается ссылка на страницу, и только после этого – сама страница. HTML-тэги не будут восприниматься системой, как разметка страницы. Поэтому для разметки используются иные правила, которые на разных серверах немного отличаются.
Например, если ввести в тексте InternetWorld, то в HTML-странице мы увидим либо ссылку на страницу с именем InternetWorld (если она существует), либо вопросительный знак после InternetWorld, означающий, что такой страницы нет. Чтобы создать страницу, просто щелкните по этому вопросительному знаку. Также вы можете заключить название статьи, на которую вы хотите сослаться, в квадратные скобки: [[InternetWorld]] – после сохранения правок оно превратится в ссылку на эту самую статью. Таким образом, кросс-ссылки между страницами создаются системой автоматически – это очень быстро и понятно даже новичкам.
Набор страниц хранится в специальной базе данных. Причем сохраняются старые версии и вся история вносимых изменений. Это позволяет осуществлять откат на любую глубину. В любой момент любой пользователь может запросить любой прошлый вариант статьи или разницу между любыми двумя прошлыми вариантами статей (с помощью ссылки Последние правки (RecentChanges).

Дайте порулить!
Вдоволь полазив по наиболее яркому сайту, созданному по этой технологии, а именно – по Википедии (www.wikipedia.org), вы вдруг почувствовали прилив творческого энтузиазма. Вас охватило желание внести свою лепту в создание этой грандиозной энциклопедии. Отлично! Флаг вам в руки и барабан на шею. Однако, если вы хотите, чтобы ваша статья выглядела не хуже других, следует придерживаться некоторых общих рекомендаций:
• Убедитесь что страницы с подобным содержанием еще не существует. Предпочтительнее улучшение и обновление существующей страницы, чем создание новой.
• Определите свою аудиторию.
• Подберите язык в соответствии с целевой аудиторией: проще – для пользователей и максимально точно – для разработчиков.
• Используйте логичные названия страниц.
• Наименование страницы должно представлять собой наименование документа без пробелов с разделением слов прописными буквами. К примеру, допустимым наименованием страницы с руководством по записи компакт дисков будет CDBurningHowto.
• Даже для имен русскоязычных страниц используйте английский язык. Не используйте имена на русском или транслите (Это правило действует не на всех wiki-сайтах. Прим. ред.).
• В случае, если страница является переводом, используйте наименование оригинала в Wiki без каких-либо добавлений.
• Рационализируйте использование известных терминов.
• Будьте внимательны: проверьте то, что вы написали, перед занесением страницы в Wiki.
• Если вы часто изменяете страницы, то зарегистрируйтесь в Wiki.
• Используйте общепринятый подход к разметке страниц (Он может быть различным и, как правило, бывает описан в справочном разделе wiki-сайта. Прим. ред.)
• При каждой модификации страницы обязательно добавляйте краткий (но содержательный) комментарий к своим изменениям в поле Optional comment about this change, расположенном над кнопкой Save Changes. Эти комментарии значительно облегчат другим пользователям просмотр истории изменений страниц в Wiki.

Не горькие плоды
Наверное, все помнят эпизод из мультфильма «Трое из Простоквашино», когда все три героя писали по очереди одно письмо, и что из этого получилось. В процессе написания статьи я рассказывал о ней своим знакомым. Они внимательно слушали, ходили по указанным ссылкам. Первая их реакция была: «Здорово! Но ведь получается, что любой посетитель сайта может легко его изменить? Хорошо, если он разумный и ответственный человек. А если он шутник или, хуже того, – вандал?..»
Как ни странно, но все прекрасно живет и работает. К счастью, wiki-сайты обычно посещают люди грамотные и воспитанные. Если все же возникнет необходимость, то любой человек, заметивший явный вандализм, всегда может сам сделать откат, обратившись в список изменений Recent Changes, и восстановить испорченное, вызвав старую версию статьи, щелкнув по ссылке редактирования и сразу же сохранив ее. Если находится злоумышленник, который замечен в неоднократном вредительстве, то всегда можно отключить возможности редактирования для отдельно взятых IP-адресов. Но пока, к счастью, количество вандалов на порядок меньше количества созидателей, и есть уверенность, что wiki-страницы большую часть времени будут находиться во вполне приличном состоянии. На некоторых сайтах в качестве превентивной меры вводят обязательную (для внесения изменений) регистрацию. Есть варианты, когда система находится под контролем администраторов, выполняющих постмодерирование.

Заключение
Если после прочтения этой статьи данная тема вас заинтересовала, обязательно сходите по нижеприведенным ссылкам. Там вы найдете любые материалы по этому вопросу. И, конечно, обязательно посетите сайт Википедии – глобальной бесплатной энциклопедии. Уверяю вас – это то, ради чего стоило создать Интернет. Эта ссылка обязательно попадет в «фавориты» ваших браузеров, и, может быть, даже станет стартовой страницей.
Сейчас я сижу перед главной страницей Википедии и размышляю: а могла бы тысяча обезьян за миллион лет написать нечто подобное?..
При подготовке статьи использованы материалы сайтов www.wikiznanie.ru,
www.iworld.ru, www.w3c.org, www.karttorg.ru, www.wmast.com.ua, www.POCTOB.ru

Полезные ссылки
www.c2.com/cgi/wiki?WelcomeVisitors. Оригинальная система Wiki Варда Каннигхэма. Была создана для web-узла Pattern Languages Community.
mini.net/tcl. Реализация Wiki на основе языка Tcl: (сам язык бесплатно распространяется на сайте: www.scriptics.com)
www.zope.org. Реализации Wiki на базе web-сервера/сервера web-приложений Zope.
www.wiki-wiki.ru. Сообщество русскоязычных wiki-сайтов.
wikipedia.org. Универсальная мультиязычная, бесплатная, открытая энциклопедия – Wikipedia.


Рекомендуем почитать: