СОФТЕРРА: Википедия своими руками. WikiWikiWeb: от идеи до философии
СОФТЕРРА: Википедия своими руками. WikiWikiWeb: от идеи до философии
Авторы: Илья Щуров Voyager, Борис Богданов
Очень сложно определить, что же такое вики — класс скриптов, технологическая концепция или даже философия. Первые вики-сайты появились в 1995 году, на основе этой технологии было создано несколько проектов, являющихся не просто масштабными, но уникальным. Тем не менее для широкого круга пользователей вики до сих пор остается загадкой.
Права и свободы
Давайте вспомним, что мог сделать в Сети простой пользователь в середине девяностых, когда появились первые вики? Честно говоря, практически ничего. Создание собственного сайта требовало знания и опыта работы с ftp, html, cgi и прочими шаманскими практиками, недоступными простому смертному. Большинство же существующих проектов не могли похвастаться особой интерактивностью, и участие пользователей сводилось к гостевым книгам, форумам и попыткам уговорить администраторов наконец выложить присланную полгода назад статью (рассказ, фотографию). Воспитанные на суровых принципах ИТ-безопасности, создатели сайтов действовали так, как если бы все посетители поголовно были злобными хакерами и сетевыми вандалами и разрешали «самодеятельность» только в выделенных «вольерах», под чутким присмотром модераторов.
Вики была призвана решить простую и естественную задачу — дать возможность каждому посетителю участвовать в разработке контента. Участвовать не только в качестве комментатора, но и в качестве полноценного автора и редактора — наравне с администрацией и штатными сотрудниками проекта. Для этого требовались две вещи: во-первых, у пользователя должна быть техническая возможность внесения изменений в страницы сайта, а во-вторых — этот процесс не должен требовать специальных знаний и навыков.
Пример вики-разметки
== Биография ==
Михаил Булгаков родился 3 ([[15 мая|15]]) мая [[1891]] г. в [[Киев]]е в семье доцента Киевской духовной академии Афанасия Ивановича Булгакова и его жены Варвары Михайловны (в девичестве — Покровской).
Соответствующий HTML-код
<h2>Биография</h2>
<p>Михаил Булгаков родился 3
(<a href= “/wiki/15_мая” title=”15 мая”>15</a>) мая <a href=”/wiki/1891” title=”1891”>1891</a> г. в
<a href=”/wiki/Киев” title=”Киев”>Киеве</a> в семье доцента Киевской духовной академии Афанасия Ивановича Булгакова и его жены Варвары Михайловны (в девичестве — Покровской).
Первый пункт стал краеугольным камнем вики-философии: возможность правки практически любой страницы любым (даже не зарегистрированным) посетителем сайта, полный отказ от «презумпции виновности» пользователя. Напротив, по умолчанию считается, что посетитель хочет принести проекту пользу, а не вред. Казалось бы, подобная «вседозволенность» должна приводить к полному уничтожению материалов и превращению любой вики в свалку спамерских ссылок. Тем не менее этого не происходит, причем далеко не только из-за совестливости посетителей. В вики сохраняются все изменения, произошедшие со всеми статьями с момента их создания. В любой момент можно сравнить две версии одной и той же статьи, увидеть, какие именно изменения были внесены, откорректировать страницу снова или просто вернуться к старой версии. Исправить нанесенный ущерб проще, чем его нанести. Здесь важна и психология вандалов — зачастую они пытаются привлечь к себе внимание, и молчаливый «откат» подействует значительно сильнее, чем грозные письма от модераторов и угрозы бана. Впрочем, у администраторов обычно все-таки есть возможность запретить изменение той или иной страницы или заблокировать конкретного пользователя. Однако технической возможности правки было недостаточно из-за сложности языков разметки, используемых в Вебе. С целью снижения порога вхождения была придумана так называемая «вики-разметка» — максимально простой и «человекочитаемый» способ структурирования текстов. Основные ее правила, достаточные для редактирования и создания новых материалов, можно узнать за считанные минуты. Впрочем, давайте посмотрим на живой пример (cм. скриншот и примеры кода). Как говорится, почувствуйте разницу.
Надо отметить, что у концепции вики-разметки есть один недостаток: будучи простой для восприятия человеком, она довольно трудна для формального описания. (Много труднее, чем, например, XML или распространенные языки программирования.) Отчасти из-за этого, отчасти по другим причинам отсутствуют и какие-либо стандарты на такую разметку, а каждый разработчик вики-ПО придумывает собственный язык. Как результат — несовместимости и проблемы с переводом с одного «диалекта» на другой.
Есть и другие особенности вики. Например, здесь в принципе нет проблемы «битых» ссылок. Ссылки ведут либо на существующие, либо на еще не созданные страницы. Что это значит? Предположим, что, редактируя страницу, например, в Википедии, вы выделили как ссылку термин, который не описан в энциклопедии. При клике на эту ссылку пользователь получит сообщение, что пока такой страницы нет, и ему будет предложено создать ее. (Постоянное приглашение к сотрудничеству — тоже элемент вики-философии.) При переименовании страниц ссылки также не пропадут — за это отвечает отдельный механизм поддержания целостности.
Вики и жизнь
Внедрить wiki мы решили два, а то и три года назад. Почему? Потому что скучно набивать тексты в тормозящем-на-любом-железе Word’е, где результаты сразу же, еще в процессе, не видны окружающим и, чтобы их показать, требуется этот ужасный вордовый файл куда-то пересылать, а потом ругаться, загружая его опять в эту программу.
В качестве движка выбрали WackoWiki, потому что его развитием некоторое время занимался очень авторитетный для меня человек — Рома Иванов, также известный как kukutz, — и это было и есть некоторым знаком качества и доступности.
Цели были просты — чтобы все сотрудники компании могли дописывать, редактируя друг за другом, различную сопроводительную документацию к проекту; в основном — руководства пользователей по всевозможным нашим сервисам. Большая часть вики доступна свободно, но есть и небольшой внутренний раздел только для разработчиков.
Сотрудники у нас молодые, поэтому проблемы взаимодействия с новыми технологиями (wiki) у них нет никаких. А большинство пользователей, ничего не поняли. Они заходят на страницу, читают ее, видят, что здесь можно сделать много чего еще, и, не понимая, что это и зачем, начинают создавать свои странички, закачивать странные картинки, редактировать тексты, которые не защищены от правки (их приходится потом восстанавливать, простота этого действия тоже заслуга wiki).
Валентин Любимов, руководитель проекта LiveInternet.ru
История и современность
Первый вики-движок, WikiWikiWeb, был разработан в 1994 году и в 1995 впервые появился в Интернете. Первым вики-сайтом стало Портлендское хранилище образцов, созданное Уордом Каннингемом (Ward Cunningham), где собирались фрагменты программного кода.
Вики в течение нескольких лет был удобным, но относительно малоизвестным типом приложений, заметная часть инсталляций которого была упрятана за файрволлами корпоративных сетей. Знаменитой эта технология стала после того, как была запущена Wikipedia, крупнейшая энциклопедия, бесплатная и открытая. Впрочем, о ней речь пойдет дальше. Вики прекрасно подходят для создания справочников, баз знаний, разработки документации, регламентов. В большинстве случаев, вики также может заменить систему управления контентом для обычного веб-сайта, даже не претендующего на особо активное участие пользователей — администраторы могут по старинке запретить правку страниц и оставить эту привилегию только себе.
На волне популярности Википедии появилось и множество не совсем обычных приложений. Скажем, в JotSpot вы можете работать не только с текстами, но и с электронными таблицами, календарями, фото-галереями, файлами и т. д. По wiki-принципу можно строить и картографические сервисы — посмотрите на wikimapia.org. Этот сайт делает достаточно простую и нужную вещь: позволяет пользователям добавлять описания любых объектов на карте. Cовместная работа над описаниями, хранение промежуточных версий, возможность отката к предыдущему состоянию записи — типичная вики. Аналогичными возможностями обзавелись и некоторые блоггерские движки (или наоборот, некоторые вики обзавелись возможностями блогов), породив множество терминов для обозначения такого комбайна: «блики», «блоки» (блог+вики) и т. д.
Появились компании, занимающиеся разработками вики-приложений для корпоративной среды — такие, как Confluence, Jot, CentralDesktop или Near-Time — их решения зачастую позиционируются как замена сложным системам документооборота. Вики занялись и в Microsoft — посмотрите на обзоры SharePoint Portal Server 2007. На основе JotSpot построен крупнейший коммерческий вики-сайт, принадлежащий eBay. Сегодня Wiki используется в таких компаниях, как Lockheed Martin, Telenor, Citigroup, Sony или Toshiba.
Многие особенности и функции вики, которые мы здесь упомянули, полезны не только для совместной работы над документами. Скорость создания материалов, простота установки гиперссылок, контроль версий — разве это не перечень функций для идеальной программы, соединяющей в себе персональный органайзер и записную книжку?
Таких «настольных» вики-блокнотов немало, но в основном это замкнутые решения с небольшим числом пользователей и разработчиков. Зачастую «настольность» заключается в переделке обычного дистрибутива, предназначенного для установки на веб-сервер. В таком случае сервер включается в инсталлятор, а сама вики работает в браузере — примером может служить десктопная версия MoinMoin или проект Wiki on a stick, позволяющий разместить движок MediaWiki на USB-флэшке.
Сделано в России
Каково будущее Wiki-разметки, не будет ли она вытеснена WYSIWYG’ом?
— Вики-разметка — это инструмент не для всех. Это инструмент для тех, кто хочет контролировать разметку текста на совсем другом уровне — в любом WYSIWYG-редакторе слишком много неочевидных моментов и, несмотря на название, далеко не всегда в результате получается то, что вы видели в редакторе.
То есть вики-разметку (или аналогичные ей инструменты наподобие Markdown или Textile) WYSIWYG-редакторы не вытеснят никогда, но вряд ли ее популярность будет расти. В принципе, инструментов с поддержкой тех или иных аналогов вики-разметки с каждым днем появляется все больше — это и Mozilla Thunderbird, и GTalk, и многие другие программы для общения — где важна скорость создания текста — ведь для многих куда проще написать *привет*, чем выделить слово «привет» и щелкнуть в кнопку «Bold».
Каких функций не хватает в сегодняшних wiki?
— Боюсь, что все функции, которые я мог бы перечислить, либо слишком специальны, либо их не хватает только в некоторых движках. Например, возможность inplace-редактирования каждого отдельного абзаца или пункта списка есть в deskDo — маленьком десктопном todo-органайзере, базирующемся на waka31 — порте вики-форматтера WackoWiki на javascript. Возможность комментирования произвольного кусочка картинки есть в Wikimapia или Flickr. Возможность вставки математических формул есть в OpenWiki и еще паре движков. Возможность создания форм и простых баз и приложений на их основе есть, кажется, в JotSpot.
Назовите, пожалуйста, самый интересный, по вашему мнению, wiki-движок.
— Просто интересный? Так не бывает, все зависит от задачи. Для созданий энциклопедий лучше всего брать MediaWiki. Для интранет-сред и баз знаний в России в основном используют WackoWiki, иногда Confluence или NPJ. Для персонального использования хороши WikidPad, deskDo и тот же WackoWiki. Если вы принципиальный любитель Python или ASP — вам придется взять MoinMoin и OpenWiki соответственно. Для использования в условиях отсутствия Интернета я бы выбрал TiddlyWiki или deskDo.
Любой развивающийся движок старается включать в себя интересные решения и возможности, так что самый интересный, боюсь, мне не назвать.
Планируется ли продолжать разработку WackoWiki, и если да, то какие функции будут добавлены?
— С разработкой WackoWiki, к сожалению, все не очень просто. У меня лично времени на разработку не хватает вообще. Я пару раз пытался найти энтузиастов, которые бы смогли подхватить выпадающее из рук знамя, но безрезультатно. Возможно, если я внезапно стану богатым, смогу нанять одного-двух разработчиков для развития движка. Мне бы этого хотелось, но пока такой возможности нет — я не заработал на WackoWiki ничего (пожертвований удалось собрать примерно двести долларов, это не окупает даже хостинг сайта wackowiki.com.)
Каковы сферы наиболее эффективного использования вики?
— Очевидно, что онлайн-энциклопедия и база знаний (как интранет, так и Интернет) — наиболее очевидные области. Кроме того — средство для создания (в том числе совместного) документации, книги или другого текста; инструмент ведения персональных или групповых todo-списков и других проектных работ.
А насколько перспективны индивидуальные органайзеры, такие, как ZuluPad или deskDo?
— Ну, все же ZuluPad не органайзер, а примитивный вики-блокнотик, куда примитивнее того же WikidPad. Инструмент для легкого управления списками дел лично мне нужен очень сильно, поэтому я субъективно оцениваю перспективы deskDo как высокие. Но, возможно, я нерепрезентативен (смеется).
Роман Иванов, разработчик WackoWiki, ныне руководитель отдела коммуникационных сервисов в Яндексе
Википедия, народный монстр
Говоря о вики, нельзя не упомянуть Wikipedia. Попытка создать энциклопедию, чье содержание смог бы корректировать каждый, казалась полным сумасшествием. Тем не менее выбранная стратегия оказалась крайне эффективной — Википедия стремительно превратилась в крупнейшую энциклопедию в мире. Национальные версии Википедии существуют примерно на сотне языков. Крупнейшим разделом является английский (на начало октября этого года он содержал более 1,4 млн. статей), второй по числу статей — немецкий. Одиннадцать разделов содержат больше ста тысяч статей (в конце лета этот психологический порог перешагнула и русская Википедия). При желании вы можете скачать все содержание Википедии к себе на компьютер. Правда размер… Размер такой, что объявляется приз для тех, кто сумеет создать самораспаковывающийся архив Википедии размером хотя бы в 100 мегабайт.
В связи с Википедией появились довольно любопытные виды бизнеса — скажем, компания MyWikiBiz пытается зарабатывать… на написании статей для свободной энциклопедии по заказу. Создать хорошую статью о свой компании, да еще и соответствующую правилу нейтральности, может оказаться довольно непросто — к тому же, вики-сообщество весьма подозрительно относится к статьям о коммерческих организациях, защищая проект от превращения в рекламную площадку. С другой стороны, качественная информационная статья, не содержащая рекламы, может сослужить хорошую службу бизнесу. Впрочем, никакого «портфолио» на сайте компании нет, так что оценить качество ее работы не представляется возможным.
Сейчас поддержанием Википедии занимается фонд Wikimedia, созданный в июне 2003 года. Одной из важнейших задач фонда является поддержка разработки MediaWiki, движка, на котором работают проекты Викимедии и множество других вики-сайтов (например, WikiTravel). MediaWiki открыт, так что при желании вы можете построить собственный сайт на том же движке, что и Википедия, и использовать технологии, проверенные на практике в экстремальных условиях. Благодаря своей популярности, MediaWiki «оброс» множеством расширений (extensions), дополняющих удобный, но несколько минималистичный основной функционал. Впрочем, следует отметить, что главная задача MediaWiki — все-таки поддержка Википедии, и этот факт накладывает свои ограничения. Например, в движке до сих пор нет возможности ограничить чтение каких-то страниц для групп пользователей — подобные предложения противоречат принятой вики-философии и регулярно отвергаются сообществом разработчиков. Впрочем, «неофициальные» решения этой проблемы существуют.
Вики и образование
Мы выбрали вики из своего предыдущего опыта, потому что хотели уйти от плоских единоличных презентаций к многомерному миру коллективного гипертекста. Делали такие гипертексты и вне Вики, но в Вики — наиболее радикально и последовательно. Мы не хотим повторять и дублировать Википедию. «Летопись» — это площадка для экспериментов: «как это может быть сделано?», «какие новые возможности открывает среда?»
Встречаются и трудности — например, и для детей, и для взрослых очень непросто не использовать "я", «мое» и подобные эгоцентричные обороты.
Из неожиданного — растущий мир расширений среды MediaWiki. Особенно впечатлила возможность графического представления связей между объектами и страницами — пакет Graphviz. В «Летописи» про него есть статья «Графвиз» и масса примеров в построении генеалогических деревьев школьников.
Еще одна замечательная возможность MediaWiki — собирать статьи из кусочков уже существующих текстов, используя механизм шаблонов — и преподаватели, и студенты ценят эту возможность вторичного использования готовых текстов.
Складывается впечатление, что не только тексты растут и меняются, но и доска, на которой мы эти тексты пишем, меняется во времени. Такая удивительная «педагогика нестабильности», в которой, чтобы удержаться, нужно постоянно совершать действия и отслеживать действия других людей.
Да, еще один результат — по мере развития «Летописи» создаются региональные Вики — в Хабаровске, Саратове, Пскове, Нижнем Новгороде, Мурманске. С одной стороны, некоторые авторы теряются — начинают больше писать внутри своего региона, а с другой — технология пошла по России, что очень приятно.
Евгений Патаракин, координатор образовательного проекта Letopisi.Ru
Выбор вики
Создать собственный сайт на основе какого-нибудь вики-движка — задача довольно простая, и основная проблема, с которой здесь можно столкнуться — это проблема выбора. В первую очередь требуется определиться с целями создания сайта и необходимым функционалом, а для начала решить, нужна ли вам своя вики на собственном сервере (и есть ли он у вас?) или же сторонний вики-сервис. На Западе подобных сервисов довольно много: компании, занимающиеся корпоративными вики-решениями (см. выше), частенько предлагают бесплатно завести аккаунт с ограниченным доступом у них на сайте. Для корпоративного пользователя это будет не более, чем тест-драйв, а для пользователя рядового, частного, может оказаться вполне достаточным. Другой вопрос, что на русскую локализацию можно и не рассчитывать — в силу неразвитости у нас рынка корпоративных вики. Существуют и просто вики-хостинги (как платные, так и бесплатные), ориентированные на обычных пользователей — но тут уж будьте готовы мириться с рекламой или платить.
В любом случае, вики-хостинг поможет вам, как минимум, понять, подходит ли эта технология для решения ваших задач и какие возможности действительно необходимы. Ну а дальше предстоит выбор платформы и основных функций. Здесь может очень пригодиться сайт WikiMatrix.org, в базе которого собраны данные более чем по шести десяткам вики-движков. Контроль версий, ограничения доступа, RSS-ленты с информацией об изменении страниц, подписка на изменения конкретных страниц и т. д. — количество параметров для сравнения внушительно. Впрочем, если интересно, посмотрите на таблицу на en.wikipedia. org/wiki/Comparison _of_wiki_software.
Когда говорят о Веб 2.0, традиционно вспоминают про участие пользователей в создании информации, в ее редактировании и актуализации. Все это стало уже настолько общим местом, что и говорить не хочется. Вики, появившиеся больше 10 лет назад, прекрасно реализуют ту концепцию, которая вынесена на знамена самых модных стартапов. Простота, доступность, одновременно — четкий контроль и возможность структурирования материалов. Еще один яркий пример Веб 2.0, появившийся задолго до самого термина.