Википедия своими руками, история и обзор движков

Я не зря упомянул в анонсе к настоящему материалу: на данный момент это, пожалуй, самый популярный в Интернете ресурс, функционирующий целиком и полностью на базе вики. Когда все только начиналось, скептики в один голос кричали, что из затеи ничег

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

Однако ситуация сложилась куда более благоприятно, причем не только для отдельно взятой "Википедии", но и для модного тренда в целом. К примеру, когда заходит речь о Web 2.0, то одним из его элементов всегда называют вики. Удобство и эффективность этого подхода уже оценили многие, а что будет дальше, предсказать не так уж и сложно: к хорошему люди привыкают быстро, поэтому через год или два мы будем относиться к свободно изменяемому контенту как к обязательному атрибуту.

История

Все, в том числе и странное название, началось с Варда Каннингема (Ward Cunningham) и его проекта WikiWikiWeb. Строчка wiki wiki была услышана Каннингемом в международном аэропорту Гонолулу (Гавайи), и в том контексте (в переводе с гавайского языка) она означала "быстро". Также многие считают, что wiki еще является и акронимом фразы "What I Know Is", которая отражает хранение и обмен знаниями.

Разработку первой в мире вики можно отсчитывать с конца 80-х годов прошлого века, когда Каннингем работал над проектом HyperCard. Позже, в конце 90-х, многие из тех идей воплотились в WikiWikiWeb. В то же время была открыта первая публичная веб-энциклопедия, и называлась она Nupedia. А уже в январе 2001 года свет увидела не раз упомянутая в этой статье "Википедия". Поначалу ее разработчики использовали программное обеспечение, называвшееся UseMod, но вскоре перешли на собственный движок, который сегодня используется для огромного количества разношерстных проектов.

В начале двадцать первого века вики распространились достаточно, для того чтобы уже можно было говорить не о разовых случаях успешного применения, а о вполне массовой тенденции. В декабре 2002 года компания Socialtext запустила первый коммерческий вики-проект, а количество закачек open-source-движков достигло одного миллиона в 2004 году. Сегодня многие компании используют вики не только для публичных целей, но и для внутренних.

Преимущества

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

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

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

Как это работает

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

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

Но это еще не все: современные тенденции вынуждают разработчиков делать веб-приложения еще более дружелюбными, поэтому многие вики сегодня имеют встроенные или устанавливаемые в качестве дополнения WYSIWYG-редакторы. С их помощью пользователи вообще не утруждают себя изучением какого бы то ни было синтаксиса. Кроме того, вики позволяет не только набивать тексты, но и строить таблицы, вставлять изображения, создавать документы с достаточно сложной структурой и даже прикреплять к страницам файлы. К слову, большое число разработчиков на данный момент используют вики не только в качестве инструмента для совместной работы с контентом, но и в качестве систем управления контентом. Маневр, конечно, спорный, но однозначно имеющий право на жизнь.

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

Редактирование документа в TikiWikiНо сама философия технологии в ее классическом понимании накладывает ряд определенных ограничений. К примеру, это четко прослеживается, когда мы говорим о навигации. Общественность привыкла, что любая страница портала может быть относительно легко доступна через главное меню (два-три обращения, если речь идет о глубине документа), но во многих вики подход другой: есть поиск, структура разделов может вообще отсутствовать, а обновления отслеживаются с помощью функции "Последние изменения".

Еще одна проблема - это так называемый вики-вандализм. Свобода редактирования и добавления контента порой оборачивается весьма плачевными последствиями, когда недоброжелатели или просто не самые умные люди намеренно портят документы. Конечно, любое изменение в вики можно отменить при помощи одного клика мышки, но когда такие ситуации возникают систематически и лавинообразно, то владельцам ресурса рано или поздно приходится его попросту закрывать. К примеру, в 2005 году Los Angles Times запустили экспериментальный проект Wikitorial, но его вскоре пришлось отменить как раз из-за постоянных актов вики-вандализма.

Движки

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

TitiWiki

Первым по списку у нас очень компактный продукт от Toutateam. Рассчитан он в первую очередь на использование в качестве модуля для систем управления контентом, но также может быть установлен и как отдельный ресурс. Для его работы потребуется сервер с поддержкой PHP4 и доступ к MySQL. Грубо говоря, TitiWiki - это минимальный движок без каких-либо излишеств.

Из обязательных характеристик выделим расширенные возможности для работы с шаблонами, часть движка, отвечающую за меню, что позволит выстроить полноценную навигацию по сайту, и менеджмент пользователей с разграничением полномочий. Кроме того, TitiWiki поддерживает достаточно популярный сегодня WYSIWYG-редактор под названием TinyMCE.

PmWiki

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

Джентльменский набор характеристик на месте: шаблоны, администрирование и управление доступом к каждому документу. Но PmWiki хороша именно своей способностью к расширению и даже видоизменению. На официальном сайте проекта имеется раздел cookbook, где собраны, во-первых, советы по настройке движка, а во-вторых, огромное количество модулей, которые способны серьезным образом добавить ресурсу функциональности. Там можно найти и галерею изображений, и WYSIWYG-редактор, и даже форум. Все это добро устанавливается добавлением пары строчек PHP-кода в файл конфигурации.

MediaWiki

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

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

TikiWiki

Еще один очень амбициозный проект, описываемый разработчиками как движок для управления контентом. Да, TikiWiki ориентирован не на ведение документации, а на создание полноценных веб-сайтов и порталов с очень богатыми возможностями. От этого он выглядит несколько громоздким, а во всех доступных функциях с непривычки можно легко запутаться.

Однако стоит помнить, что любой действительно серьезный проект требует времени на ознакомление, а после этого способен творить чудеса. То же самое можно сказать и о TikiWiki. Достаточно пары часов, чтобы сей движок превратился из неповоротливого тяжеловеса в удобный и эффективный инструмент. Многим он придется по душе еще и по причине внимания, уделенного разработчиками вопросам взаимодействия внутри групп. Для этих целей тут найдутся communication center, чат, встроенная веб-почта и так далее. Думаю, что всем будет полезно хотя бы взглянуть на TikiWiki и знать, что такой продукт существует и бесплатно доступен в любую минуту.

Подводя итог, имеет смысл сказать: не стоит относиться к вики со скепсисом или пренебрежением. Тренд действительно полезный и очень интересный. Более того, для каких-то целей он практически незаменим, ибо предоставляет свободу создания и редактирования контента. Но, с другой стороны, вики - это не панацея от всех бед, и об этом также следует помнить.

http://softobzor.ru/

25 августа 2006, в 14:39
Другие статьи по темам

Главные тульские новости за день от Myslo.ru

Мы будем присылать вам на почту самые просматриваемые новости за день