Введение

Структурированное вики-приложение на основе Perl, персонаж-робот

TWiki — это структурированное вики-приложение на основе Perl, которое обычно используется для организации платформы совместной работы, системы управления знаниями или документами, базы знаний или командного портала. Пользователи могут создавать вики-страницы, используя язык разметки TWiki, а разработчики могут расширять функциональность приложения с помощью плагинов. Проект TWiki был основан Питером Тёни в 1998 году как платформа приложений с открытым исходным кодом на основе вики. В октябре 2008 года компания TWiki.net, созданная Тёни, взяла полный контроль над проектом TWiki, в то время как значительная часть сообщества разработчиков перешла в проект Foswiki.

Расширения TWiki

TWiki имеет API плагинов, благодаря которому было создано более 300 расширений для подключения к базам данных, создания диаграмм, меток, сортировки таблиц, работы с электронными таблицами, создания галерей изображений и слайд-шоу, рисования, ведения блогов, построения графиков, интеграции с различными схемами аутентификации, отслеживания проектов, реализуемых по методологии Extreme Programming, и многого другого.

Платформа приложений TWiki

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

Пользовательский интерфейс

Интерфейс TWiki полностью настраивается с помощью шаблонов, тем и CSS (для каждого пользователя). Он поддерживает интернационализацию ("I18N"), включая несколько кодировок символов и URL в кодировке UTF-8. Пользовательский интерфейс переведен на китайский, чешский, датский, голландский, французский, немецкий, итальянский, японский, польский, португальский, русский, испанский и шведский языки.

Развертывание TWiki

TWiki в основном используется на рабочем месте как корпоративная вики для координации работы команд, отслеживания проектов, реализации рабочих процессов и в качестве интранет-вики. Сообщество TWiki оценивает количество корпоративных вики-сайтов в 40 000 по состоянию на март 2007 года, а также 20 000 публичных сайтов TWiki. Среди клиентов TWiki – компании из списка Fortune 500, такие как Disney, Motorola, Nokia, NYU, Oracle Corporation и Yahoo!, а также малые и средние предприятия, такие как ARM Holdings и DHL. TWiki также использовался для создания совместных интернет-ресурсов, например, вики FutureMelbourne города Мельбурн, где граждане могут совместно работать над планом развития города.

Реализация

TWiki реализован на Perl. Страницы вики хранятся в обычных текстовых файлах. Все, включая метаданные, такие как настройки контроля доступа, находятся под контролем версий с использованием RCS. RCS является необязательным, поскольку предусмотрена система управления версиями, написанная на Perl. TWiki достаточно хорошо масштабируется, несмотря на использование обычных текстовых файлов и отсутствие реляционной базы данных для хранения данных страниц. Многие корпоративные установки TWiki насчитывают несколько сотен тысяч страниц и десятки тысяч пользователей. Для повышения производительности на сайтах с высокой посещаемостью можно использовать балансировку нагрузки и кэширование. В движок TWiki встроены функции, подобные базам данных. Форма TWiki с запросом, похожим на SQL, может быть встроена в страницу для динамического представления данных с нескольких страниц. Это позволяет создавать вики-приложения и определяет концепцию структурированной вики в TWiki.