Сравнительный отбор и анализ wiki-систем
В данной работе приведен пример универсальной методологии сравнительного отбора wiki-систем. Базой для применения методологии сравнения являются исходные требования к wiki-системам, сам же отбор производится путем пошагового рассмотрения каждого из условий при постепенном уменьшении числа рассматриваемых вариантов. Помимо собственно сравнения и отбора дается краткая вводная информация по wiki-технологиям и wiki-системам. Результатом отбора стал выбор в качестве наиболее удовлетворяющего исходным требованиям продукта - XWiki. Приводиться краткое описание XWiki и полная таблица возможностей данной системы. Делается заключение об универсальности XWiki, что, благодаря открытой платформе и поддержке всех современных стандартов и средств делает XWiki идеальным средством быстрого развертывания любых web-приложений и сайтов, как с поддержкой wiki-технологий, так и без такой поддержки, а также действующих в смешанном режиме. Особенно удобным XWiki будет являться для научных сообществ, благодаря поддержке LaTeX и UML.
- 1 Введение
- 2 Отбор wiki
- 2.1 Общий перечень рассматриваемых wiki-движков
- 2.2 Wiki-движки на базе СУБД Oracle
- 2.3 Бесплатные wiki
- 2.4 Wiki с широкими возможностями по настройке прав доступа
- 2.5 Wiki с широкими возможностями по управлению и поддержке версий
- 2.6 Wiki с дополнительными ключевыми возможностями (оповещения, категории, метки FAQ)
- 2.7 Wiki с поддержкой присоединения файлов, а также экспорта в html, xml
- 3 Отобранный wiki-движок Xwiki
- 4 Вебография
1 Введение
Данная работа представляет собой отчет о проведенном сравнительном анализе wiki-движков.
Цель анализа - выбор удовлетворяющего заданным требованиям wiki-движка для последующего использования в качестве базового (центрального) средства работы для:
- членов рабочих групп и команд разнообразных научных, социальных и культурных проектов.
- сотрудников компаний-поставщиков и компаний-заказчиков, работающих совместно в рамках единых проектов.
- научных организаций, которые призваны обеспечить накопление научных знаний, их прозрачность и совместное использование.
- научных, коммерческих и государственных структур, для обеспечения централизованного места хранения и совместного использования внутренней документации (intranet-портал).
Данная работа и ее результаты не претендуют на абсолютность и полную универсальность, так как сравнительный анализ был проведен исходя из определенных исходных условий (заданных требований). В случае выбора других исходных условий, вполне допускается, что результаты анализа могли бы быть совсем иными. Однако, важность данной работы состоит в том, что предлагается определенная методика, которая может быть с успехом применена, даже в случае наличия других исходных условий и заданных требований.
В отчете будут приведены общие определения класса wiki-систем, описаны примеры, зафиксированы и указаны основные требования (исходные условия) к wiki-движкам, показаны последовательно все шаги постепенного отбора и приведены подробные обзоры и сравнительные характеристики отобранных решений.
1.1 Понятие wiki-технологий
Вики (англ. Wiki) - технология взаимодействия пользователя с веб-сайтом, предназначенная для коллективной разработки, хранения и структуризации информации (в основном гипертекста), фактически являющиеся одним из вариантов организации CMS (Content Management System). Важнейшим отличительным свойством wiki является обеспечение совместной работы множества людей на основе web-технологий.
Основные идеи, реализуемые wiki-технологией:
- возможность редактирования содержимого страниц сайта непосредственно в браузере, упрощение процесса публикации текста до 2-х щелчков (редактировать - сохранить);
- автоматизированная генерация и поддержание актуальности гиперссылок между страницами сайта и использование упрощенной разметки для текста, вместо HTML;
- хранение всех изменений, произошедших со всеми wiki-статьями с момента их создания - история правок;
- возможность редактирования wiki-статей любым желающим (иногда - только после специальной регистрации и/или решения администратора);
Исходя из того, что wiki является фактически подмножеством CMS-систем, многие из существующих CMS-движков поддерживают полностью или частично wiki-технологию:
- TikiWiki - http://TikiWiki.org
- XOOPS - http://www.xoops.org
- Plone - http://plone.org
- Joomla! - http://Joomla.org
- Mambo
- Drupal - http://drupal.org
- Phpgroupware
- Egroupware - http://www.egroupware.org
- Xaraya - http://ru.xaraya.com/
- MyLivePage - http://www.mylivepage.org/
Помимо CMS-движков, поддерживающих wiki-технологии, существуют и автономные wiki-движки. Несмотря на то, что все они работают придерживаясь единой wiki-технологии, методики и принципы построения систем во многих случаях абсолютно разные. На текущий момент на рынке представлено более сотни wiki-движков, обладающих самыми различными свойствами и параметрами. Для наглядного представления об этом приведем выборочный список достаточно популярных wiki-движков, поддерживающих русский язык, с их кратким описанием:
- Wikipedia - http://sf.net/projects/wikipedia, он же MediaWiki, наиболее знакомый простым пользователям движок, во многом благодаря тому, что используется в википедии.
- WackoWiki - полностью русифицированный движок (http://wackowiki.com), лёгкий и мощный.
- MoinMoin - http://moinmoin.wikiwikiweb.de/
- PmWiki - http://www.pmwiki.org/wiki/PmWikiRu/PmWikiRu — небольшой и весьма гибкий вики-движок, написанный на PHP и хранящий страницы в отдельных файлах. Лёгок в установке и сопровождении. Имеет хорошо развитый язык разметки страниц. Позволяет работать автономно на локальном компьютере с обрезанным PHP 4.4 - сервером. Не требует базы данных, все записи хранит в файлах. Развитые средства доступа. Русифицирован.
- WikidPad - простой вики-движок, для Windows. Позволяет создать свою собственную википедию на домашнем компьютере. Представляет собой текстовый редактор, совмещенный с базой данных и возможностью экспорта страниц в HTML/XML.
- TiddlyWiki - http://TiddlyWiki.com — вики-органайзер, написанный на JavaScript. Представляет собой 1 HTML-файл, который все изменения сохраняет сам в себе. Для работы требует только браузер. Есть русифицированный вариант.
- Open Site Code - http://open-site.org/code/ - вики-движок, вобравший в себя многие идеи Open Directory Project.
1.2 Методология проведения сравнительного анализа
Как видно, даже из представленного выше краткого списка, варианты построения систем самые разные. Исходя из технологического разнообразия и большого предложения сравнительный анализ wiki-движков является достаточно нетривиальной задачей. В таких условиях, крайне важно реализовать определенную методологию проведения исследования, которая бы обеспечила требуемый результат.
Ключевыми свойствами такой методологии являются:
- Заданная цель проведения исследования - по нашему мнению, в условиях, когда технологии wiki-движков принципиально разные, такой целью не могут являться задачи типа: выбор лучшего wiki-движка, выбор самого мощного wiki-движка и пр., так как рассуждения на тему самый лучший фактически превратятся в выбор лучшей технологии реализации, что также бесперспективно, т.к. технологии реализации в своем большинстве просто не сопоставимы. В соответствии с этим, единственной реально достижимой целью исследования может быть - выбор wiki-движков удовлетворяющих заданным критериям и требованиям
- Исходные условия и требования - в соответствии с вышесказанным, заданные критерия и требования являются отправной точкой для проведения исследования и достижения заданной цели.
- Пошаговое рассмотрение каждого требования - это значит, что соответствие wiki-движков заданным требованиям будет рассматриваться в отдельности для каждого требования, а при рассмотрении соответствия следующему требованию, будут участвовать только те wiki-движки, которые "прошли" предыдущую проверку на соответствие.
- Ранжирование исходных условий и требований - необходимо с целью определения последовательности рассмотрения условий, т.к. определено, что условия будут рассматриваться пошагово. Основным критерием для ранжирования исходных условий может быть важность исходных требований. Однако, здесь могут быть нюансы, связанные с тем, что т.к. на каждом шаге часть wiki-движков будут отсеиваться, то может оказаться, что к последнему-предпоследнему шагу (т.е. рассмотрению последнего или предпоследнего условия) абсолютно все wiki-движки будут отсеяны. Или же наоборот, если окажется, что заданные критерии недостаточно конкретны, то после прохождения всех шагов все равно большинство wiki-движков не будут отсеяны.
В общем, исходные требования и приоритеты их рассмотрения должны быть такими, чтобы с одной стороны производилось постоянное уменьшение количества "оставшихся" wiki-джвиков, и не возникла ситуация, когда к концу окажется, что отобранных движков более 2-3, а с другой стороны, нельзя допустить и того, того, чтобы были отсеяны все потенциальные кандидаты - wiki-движки.
В качестве 1-го шага, далее будут зафиксированы исходные требования к wiki-движкам.
1.3 Заданные требования к wiki
Как было сказано выше, wiki-технология должна стать в любой рабочей группе или команде, а также на предприятии или научном или государственном учреждении центральной технологией, объединяющей всех работников, привлекаемых сторонних специалистов, подрядчиков и партнеров а также пользователей в условиях территориальной разделенности с целью совместного формирования и поддержания документации, научных материалов, законодательства и прочих информационных материалов.
С одной стороны, источниками наполнения wiki, помимо собственно пользователей, могут стать другие средства коллективной работы, которые так или иначе, используются в настоящее время – (например, Open Ticket Request System, Google Groups, Google Talk, ICQ, форумы и пр.). При этом, в дальнейшем, можно предполагать постепенную миграцию всех средств совместной работы в Wiki, но не обязательно. С другой стороны, и получателем информации, помимо собственно пользователей, которые непосредственно будут работать с wiki, может стать другое прикладное ПО, например, средства подготовки электронной документации в формате CHM (Help&Manual и др.). Таким образом, wiki-система должна агрегировать все возможные информационные материалы, как вносимые в нее непосредственно, так и поступающие из других информационных систем и средств, а также wiki-система должна обеспечить возможность извлечения из нее информации как конечными пользователями, так и другими информационными системами и средствами.
Пример такой идеологии работы wiki-системы представлен на рисунке:
Помимо идеологических установок, определим в качестве исходных требований и технические условия к wiki-системе, обусловленные как предполагаемым масштабом системы, значительным количеством пользователей, так и некоторыми технологическими особенностями. Порядок расположения требований будет соответствовать порядку их рассмотрения, т.е. сразу же проведем ранжирование исходных требований.
Итак, заданными требованиями к wiki-движку являются:
- Базовые:
- Возможность работы на реляционных СУБД, включая Oracle - преимущества хранения и манипулирования данными посредством реляционных СУБД в настоящее время ни у кого не вызывают сомнений, и отступление от этого может быть сделано только с целью сознательного упрощения в весьма ограниченном круге задач, поэтому варианты wiki-систем, которые вообще не используют реляционных СУБД должны быть в первую очередь исключены из рассмотрения. Что же касается СУБД Oracle, то обязательность поддержки данной СУБД объясняется тем, что это станет как бы лакмусовой бумажкой универсальности и масштабируемости wiki-движка. Действительно, если в области web-приложений и web-сервисов Oracle и менее распространена чем MySQL, то в области корпоративных приложений крупного масштаба СУБД Oracle является практически промышленным стандартом, благодаря уникальным возможностям по масштабируемости и производительности, а также развитым средствам управления и разработки.
- Бесплатность - под бесплатностью понимается не только отсутствие платы за сам продукт, но и наличие лицензии класса open-source. Программное обеспечение open-source имеет огромные преимущества, связанные с низкой стоимостью владения, обеспечению повышенного уровня информационной безопасности и независимости. Использование именно open-source wiki-систем особенно необходимо для научных групп, команд а также научных и государственных учреждений.
- Прочие:
- Поддержка широких возможностей по ведению и управлению версиями
- Возможность поддержки и организации многоуровневых структур и каталогов
- Широкие возможности по поддержке прикрепленных файлов-приложений
- Гибкая настраиваемая система прав пользователей
- Экспорт в html, xml и другие форматы
2 Отбор wiki
Как было сказано ранее, отбор и анализ wiki движков будет построен по принципу пошагового уменьшения количества рассматриваемых вариантов, исходя из определенных выше требований. Подобная методика существенно упростит процесс, так как цель работы заключается не в анализе ВСЕХ движков, а в отборе одного или двух, наиболее полно удовлетворяющих вышеназванным требованиям.
2.1 Общий перечень рассматриваемых wiki-движков
Всего в анализе и отборе участвуют 121 wiki-движок:
| @Wiki | Hatta | PBwiki | Triki-Wiki |
| bitweaver | IkeWiki | Personal PPC Wiki | TWiki |
| bLADE Wiki | ikiwiki | PhpWiki | UniWakka |
| BoltWire | Incentive | PicoWiki | UseMod |
| BrainKeeper | Instiki | Pie | VQWiki |
| BusinessWiki | Intodit | Pier | WackoWiki |
| ButorWiki | Jacwiki | Pimki | Wagn |
| CanvasWiki | JAMWiki | PmWiki | Wala Wiki |
| CentralDesktop | JaWiki | PodWiki | Wetpaint |
| Clearspace | JOTWiki | Portili Team Wiki | Wicked |
| ClearWiki | JSPWiki | ProjectForum | Wiclear |
| codeBeamer | KeheiWiki | ProntoWiki | WiGit |
| Confluence | KWikiKWiki | ProWiki | Wikepage |
| ConnectedText | LionWiki | PukiWiki | Wiki Spot |
| Corendal Wiki | Luminotes | Riki | Wiki-Toolkit |
| Cospire | LunaWiki | SamePage | Wikia |
| Daisy | MediaWiki | ScrewTurn Wiki | WikiASP |
| DokuWiki | Metadot Wiki | SharePoint Wiki Plus | WikiCrowd |
| EditMe | MicKI | Socialtext | WikiDoc |
| ErfurtWiki | Midgard Wiki | Springnote | Wikidot |
| FlexWiki | MindTouch | Sputnik | WikiNi |
| Foswiki | miniWiki | SubWiki | WikiSH |
| Friki | MoinMoin | Swirrl | Wikispaces |
| Gazest | MojoMojo | Sycamore | WikkaWiki |
| GeboGebo | MoniWiki | telepark.wiki | WikyBlog |
| GeniusWiki | Netcipia | ThoughtFarmer | wxWikiServer |
| Giki | nexdo | TiddlyWiki | XoWiki |
| Git-Wiki | Oddmuse | TikiWiki CMS-Groupware | XWiki |
| gitit | OpenWikiNG | Traction TeamPage | yawiki |
| Groupswiki | PAUX | TracWiki | Zoho Wiki |
| Zwiki |
2.2 Wiki-движки на базе СУБД Oracle
Как было определено, в качестве 1-го ключевого признака была изучена возможность работы вышеуказанных wiki-движков с СУБД Oracle. Оказалось что количество wiki-движков, поддерживающих в той или иной степени СУБД Oracle, не очень значительно (24 из 121), что позволило сразу же существенно уменьшить количество рассматриваемых вариантов на последующих шагах. Результаты отбора представлены в таблице:
| Wikis | Oracle support |
| bitweaver | Yes |
| Clearspace | Yes |
| codeBeamer | Yes |
| Confluence | Yes |
| Corendal Wiki | Yes |
| Gazest | Yes |
| GeniusWiki | Yes |
| JAMWiki | Yes |
| JSPWiki | Plugin |
| KeheiWiki | Plugin |
| MojoMojo | Patch |
| OpenWikiNG | Yes |
| PAUX | Optional |
| PhpWiki | Yes |
| Pimki | Yes |
| SamePage | Yes |
| telepark.wiki | Optional |
| Traction TeamPage | Optional |
| VQWiki | Yes |
| Wicked | Yes |
| XoWiki | Yes |
| XWiki | Yes |
| yawiki | Yes |
| Zwiki | Plugin |
Интересно, что в числе прочих из списка "выпал" и такой популярный движок как MediaWiki (Wikipedia). Это показывает, что при выборе того или иного средства некорректно пользоваться исключительно критерием популярности (хотя и полностью пренебрегать этим тоже не следует). Самое главное - насколько продукт соответствует вашим заданным требованиям и определенным критериям.
2.3 Бесплатные wiki
Аналогично и другим типам программного обеспечения, wiki-движки бывают платные и бесплатные. Соответственно следующим шагом был проведен отбор, из 24 поддерживающих Oracle, тех wiki-движков, которые являются бесплатными и исходный код которых полностью открыт (open-source). После проведенных исследований были выявлены 9 движков, использование которых платное или как-то ограничено лицензиями: Clearspace, codeBeamer, Confluence, GeniusWiki, PAUX, Pimki, SamePage, telepark.wiki, Traction TeamPage.
Соответственно, исключив из списка 24 wiki-движков платные, имеем 15 open source движков поддерживающих Oracle:
| Wikis | License type |
| bitweaver | LGPL |
| Corendal Wiki | GPL |
| Gazest | GPL v3 |
| JAMWiki | LGPL |
| JSPWiki | Apache License |
| KeheiWiki | LGPL |
| MojoMojo | Artistic License |
| OpenWikiNG | Crediting the original authors |
| PhpWiki | GPL |
| VQWiki | LGPL |
| Wicked | GPL 2 |
| XoWiki | BSD |
| XWiki | LGPL |
| yawiki | BSD |
| Zwiki | GPLv2 |
2.4 Wiki с широкими возможностями по настройке прав доступа
Возможности настройки прав доступа имеют очень большое значение с учетом использования web-технологий. Причем, помимо собственно возможности настройки прав доступа существует целый комплекс элементов информационной безопасности применяемых в wiki. Это Page Permissions (собственно права доступа к страницам), ACL (Access Control Lists – списки доступа), Authentication Backends (возможности идентификации внешними средствами, например, Active Directory, LDAP и пр.), Host Blocking (возможность блокирования/разрешения по IP, например, редактирования), Mail Encryption (шифрование паролей), nofollow (возможность выделения красным цветом сторонних линков для предотвращения спама), Blacklist (возможность ведения черных и белых списков), Delayed Indexing (отложенное индексирование для предотвращения спама), и пр.
Список из 15 вышеуказанных движков был проанализирован на предмет поддержки ими вышеперечисленных возможностей. Оказалось, что ни один движок не поддерживает абсолютно все security-технологии, или же информация о такой поддержке отсутствует. Возможно, это связано с принципиальными технологическими различиями движков, в рамках которых многие из свойств просто не будут иметь смысла, или же с различными обозначениями одних и тех же технологий у разных производителей, при котором сравнение теряет смысл. Поэтому на данном этапе был убран только 1 wiki-движок - Gazest, который не поддерживает даже элементарного минимума, определенного в задании – настройки прав доступа.
Список 14 оставшихся:
| Security/Anti-Spam | Page Permissions | ACL | Authentication Backends | Host Blocking | Mail Encryption | nofollow | Blacklist | CAPTCHA | Delayed Indexing |
| bitweaver | Yes | Yes | LDAP, Cusomization API for Proprietary Systems | Yes | Yes | ||||
| Corendal Wiki | Yes | Yes | Active Directory or Local Accounts | No | No | No | No | No | No |
| JAMWiki | Yes | Yes | Acegi Security System used for authentication, experimental LDAP support available | No | No | Yes | Optional | No | No |
| JSPWiki | Yes | Yes | JAAS | Optional | Plugin | Optional | Yes | Yes | No |
| KeheiWiki | Yes | Yes | Apache | No | No | No | No | Plugin | |
| MojoMojo | Yes | Yes | Yes | ||||||
| OpenWikiNG | Yes | No | Windows | Yes | No | Optional | Yes | Plugin | No |
| PhpWiki | Yes | Yes | db, session, pop, imap, ldap, file, webserver | No | No | Yes | Yes | Yes | No |
| VQWiki | Yes | No | LDAP | Optional | No | No | No | No | No |
| Wicked | Yes | Yes | 25 different backends | No | No | No | No | Yes | No |
| XoWiki | Yes | Yes | PAM, LDAP, Active Directory (LDAP) | Patch | |||||
| XWiki | Yes | Yes | XWiki, LDAP, eXo Platform, custom (Open API) | No | No | No | No | Yes | Yes |
| yawiki | Yes | Yes | Yes | No | No | Yes | No | No | |
| Zwiki | Yes | Yes | any supported by Zope authentication plugins | Patch | Yes | Yes | No | Patch |
2.5 Wiki с широкими возможностями по управлению и поддержке версий
Возможность сохранения нескольких вариантов содержимого страницы (версии) является одной из принципиальных возможностей, заложенных в самой технологии wiki. Однако уровень ее реализации может быть различным. Аналогично вопросам безопасности, существует множество свойств и технологий работы с версиями. Preview (просмотр изменений перед сохранением), Minor Changes (могут ли незначительные изменения быть помечены как второстепенные), Change Summary (может ли редактор добавить краткий обзор изменений), Page History (собственно история версий по страницам), Page Revisions (поддерживаемое количество версий), Revision Diffs (возможность просмотра различий между двумя версиями), Page Index (имеется ли индексирование на все страницы) и др.
Список из 16 вышеуказанных движков был проанализирован на предмет их поддержки данных свойств. Как оказалось, достаточно у многих wiki возможности по работе с версиями крайне ограничены и не простираются далее базовой поддержки версий. В результате были отсеяны 7 движков из 14: Corendal Wiki, JSPWiki, KeheiWiki, MojoMojo, VQWiki, yawiki, Zwiki. Все они обладают различными ограничениями в возможностями по поддержке работы с версиями. Так например, все перечисленные, кроме VQWiki, не поддерживают такой возможности, как Minor Changes. KeheiWiki и yawiki не поддерживают режима предварительного просмотра. KeheiWiki, MojoMojo и VQWiki не позволяют добавить краткий обзор изменений, а Corendal Wiki не позволяет производить сравнение версий.
Таким образом, осталось 7 движков:
| Wikis | Preview | Minor Changes | Change Summary | Page History | Page Revisions | Revision Diffs |
| bitweaver | Yes | Yes | Yes | Yes | Unlimited | To current |
| JAMWiki | Yes | Yes | Yes | Yes | Unlimited | Between all |
| OpenWikiNG | Yes | Yes | Yes | Yes | Restricted by Number | To current |
| PhpWiki | Yes | Yes | Yes | Yes | Unlimited | Between all |
| Wicked | Yes | Yes | Yes | Yes | Unlimited | Between all |
| XoWiki | Yes | Yes | Yes | Unlimited | Between all | |
| XWiki | Yes | Yes | Yes | Yes | Unlimited | Between all |
2.6 Wiki с дополнительными ключевыми возможностями (оповещения, категории, метки FAQ)
Помимо общепринятых и указанных в первоначальных требованиях свойств, требующих обязательного наличия, мы посчитали возможным провести отсев еще по нескольким (из более чем 200), на наш взгляд, достаточно важным свойствам. А именно: Email notification (информирование авторов по e-mail), Categories (поддержка категорий), Conflict Handling (какой механизм предотвращения конфликтов используется для одновременных сессий). Результаты этого анализа следующие – 3 wiki-движка, как оказалось, не поддерживают, по крайней мере, одну из этих возможностей. JAMWiki и OpenWikiNG не поддерживают Email notification, а Wicked – категории и Conflict Handling.
В результате осталось только 4 wiki-движка, которые поддерживают все данные технологии. Это:
| Wikis | Email notification | Categories | Conflict Handling |
| bitweaver | Yes | Yes | Page Locking |
| PhpWiki | Yes | Yes | Conflict Resolution |
| XoWiki | Yes | Yes | |
| XWiki | Yes | Yes | Page Locking |
2.7 Wiki с поддержкой присоединения файлов, а также экспорта в html, xml
Последним, не рассмотренным требованием, является возможность работы с прикрепляемыми файлами и возможность экспортировать в html и xml файлы. Уровень работы разных систем с прикрепляемыми файлами также существенно различается, хотя базовую возможность прикрепления файлов и встраивания flash и video файлов в wiki-страницы поддерживают все 4 рассматриваемых на данном шаге wiki-движка. В отношении прикрепленных файлов существенными свойствами являются: Media Revisions (версионность присоедененных файлов) и Media Search (поиск по содержимому прикрепленных файлов). В отношении же экспорта - целесообразно рассматривать обеспечение wiki-движками возможности экспорта в xml, html и pdf. Экспорт в xml важен, с точки зрения обмена с прочими информационными системами, т.к. xml-формат фактически является стандартом в этом отношении. Все 4 wiki-движка были проанализированы на предмет обеспечения ими данных требований. Как оказалось, ТОЛЬКО XWIKI СООТВЕТСТВУЕТ ВСЕМ УСТАНОВЛЕННЫМ ТРЕБОВАНИЯМ в отношении присоедененных файлов и экспорта. Полные результаты по всем четырем wiki-движкам представлены в таблице:
| Wikis | File Attachments | Embedded Flash | Embedded Video | Media Revisions | Media Search | HTML Export | XML Еxport | PDF Export |
|---|---|---|---|---|---|---|---|---|
| bitweaver | Yes | Yes | Yes | Yes | ||||
| PhpWiki | Yes | Yes | Yes | Yes | No | Yes | No | Yes |
| XoWiki | Yes | Yes | Yes | Yes | Contents | |||
| XWiki | Yes | Yes | Yes | Yes | Contents | Yes | Yes | Yes |
3 Отобранный wiki-движок Xwiki
Как видим, методология, использованная в настоящем анализе, позволила достаточно быстро, за 7 итераций, из более чем сотни разнообразнейших wiki-движков выбрать один - удовлетворяющий всем нашим требованиям. Естественно, как было сказано в начале, если бы начальные требования были бы иными - и результат был бы принципиально иной. Действительно, если бы на начальном этапе было бы установлено, что 1-ое требование - это возможность хранения данных в текстовых файлах, то из 4-х, дошедших до последнего этапа, wiki-движков, прошел бы на 2-ой этап сравнения только phpWiki. А если бы, не ставя ограничений по способу хранения данных, мы бы установили обязательным критерием не open-source лицензии, а коммерческой лицензии (что также может иметь свои плюсы), то вообще список wiki-движков, участвующих в дальнейших этапах рассмотрения, был бы кардинально другим.
Далее будет проведен более индивидуальный анализ и описание XWiki, а также приведена полная таблица всех свойств и возможностей этого продукта.
3.1 Движок XWiki – описание
XWiki - http://xwiki.org - это целый пакет программных средств wiki. В числе прочего имеется Enterprise wiki – профессиональная wiki-система для крупных предприятий, система wiki-приложений позволяющая создавать собственные приложения (включая структуры и скрипты) через wiki-интерфейс. XWiki написана на Java и использует реляционные технологии для хранения данных (MySQL и другие через HSQLDB/JDBC). Помимо большого разнообразия функций (user rights management, PDF export, Full-text search, Version Control, Plugins, API, Programming), отличительной чертой XWiki является то, что она позволяет создавать объекты и классы внутри себя. В этом случае формы могут быть созданы за очень короткое время и использованы для ввода данных на базе некоторого шаблона.
XWiki не так сильно распространена в русскоязычном секторе, о чем можно судить по практически полному отсутствию всяких обсуждений и упоминаний о ней на русском языке в Internet. Однако, в этом wiki-движке поддерживается полная многоязычность, как в отношении содержимого страниц, так и в отношении самого интерфейса. В числе прочих языков присутствуют румынский и русский, а также и почти все европейские. XWiki участвует во многих очень масштабных проектах, например таких как XWiki Concerto Project – совместный научно-исследовательский проект XWiki, INRIA (ECOO и ATLAS), ENST, Mandriva и EISTI. Спонсируемый Французским Исследовательским Агентством (ANR).
Прекрасная обзорная статья о возможностях и достоинствах XWiki находится по адресу http://www.theserverside.com/tt/articles/article.tss?l=XWiki (хоть статья и несколько устаревшая). Очень наглядно представлена общая идеология построения (концепция) системы и наглядно показан пример построения собственного web-приложения на базе xwiki. Также на собственном сайте xwiki имеется раздел с чрезвычайно развитой и подробной документацией, помимо этого пользователям доступен форум для обсуждения.
К XWiki существует множество дополнений различных видов и уровней (макросы, плагины, приложения и пр.). Многие из них достаточно уникальны. Например, один из макросов позволяет строить UML-диаграммы, что будет чрезвычайно полезно в процессе проектирования процессов в IT. Другой инструмент позволяет отображать формулы на странице, причем в качестве языка описания используется LaTeX, который является фактически стандартом для научных документов. Эти свойства являются уникальнейшими и очень востребованными для научных учреждений.
Из полноценных дополнительных приложений, доступных для установки можно назвать: Blogs, Forums, Photo Albums, Calendars и пр.
Еще одна достаточно интересная возможность XWiki - поддержка множественных wiki (wiki-farms), что позволяет организовывать собственный хостинг wiki. Вы можете самостоятельно развернуть свой массив wiki или же воспользоваться бесплатными хостингами: http://www.myxwiki.org/ или http://www.netcipia.com/xwiki/bin/view/Corporate/Techno
Некоторые сайты, где используется XWiki: http://club.mandriva.com, http://www.webtopproject.de, http://wikipeople.elle.fr, http://opensolaris.org.
Таким образом, можно сделать вывод о том, что:
- Система XWiki является достаточно развитым wiki-средством, позволяющем организовывать совместную работу посредством internet-технологий группы людей любого масштаба, как небольших рабочих групп, так и целых компаний. XWiki может быть использована и в качестве web-сайта, даже без использования технологий wiki или в комбинированном варианте, что позволяет применять эту систему как универсальное средство развертывания приложений в web. Особенно полезным XWiki будет для научных сообществ и рабочих групп, благодаря open-source лицензированию, обеспечению поддержки LaTex, UML.
3.2 Таблица свойств и возможностей XWiki
Приведем полную таблицу с перечнем всех важнейших свойств и возможностей XWiki:
| General Features | |
| - Version | 2.0.5, 2.1 |
| - Last Release Date | 2009-12-09 |
| - Author | XWiki Development Team |
| - URL | www.xwiki.org |
| - Free and Open Source | Yes |
| - License | LGPL |
| - Programming Language | Java |
| - Data Storage | Database |
| - License Cost/ Fee | 0 |
| - Development status | Mature |
| - Intended Audience | Enterprise, Workgroups, Developers |
| System Requirements | |
| - Operating System | Any platform supporting JDK 1.5 or greater |
| - Root Access | No |
| - Webserver | Any Servlet 2.3+ container (up to XWiki 1.9), Servlet 2.4+ for XWiki 2.0 and above |
| - Other Requirements | Java 1.4 (XWiki 1.0) and Java 1.5 (XWiki 1.1+), MySQL/HSQLDB/etc (JDBC Driver required) |
| Datastorage | |
| - Text Files | No |
| - MySQL | Yes |
| - PostgreSQL | Yes |
| - Oracle | Yes |
| - SQLite | No |
| - BerkeleyDB | No |
| - RCS | No |
| - Other | JDBC any Databases supported by Hibernate; any custom implementation |
| Security/Anti-Spam | |
| - Page Permissions | Yes |
| - ACL | Yes |
| - Authentication Backends | XWiki, LDAP, eXo Platform, custom (Open API) |
| - Host Blocking | No |
| - Mail Encryption | No |
| - nofollow | No |
| - Blacklist | No |
| - CAPTCHA | Yes |
| - Delayed Indexing | Yes |
| Development/Support | |
| - Commercial Support | Yes, 3 listed |
| - Preconfigured Hosting | Yes |
| - Code Repository | svn.xwiki.org |
| - Issue Tracker | jira.xwiki.org |
| - Mailing List | dev.xwiki.org |
| - Support Forum | Through the mailing list/JIRA/IRC/Nabble |
| - IRC Channel | conference.jabber.org (room: xwiki), irc.freenode.net (channel: #xwiki) |
| Common Features | |
| - Preview | Yes |
| - Minor Changes | Yes |
| - Change Summary | Yes |
| - Page History | Yes |
| - Page Revisions | Unlimited |
| - Revision Diffs | Between all |
| - Page Index | Yes |
| - Plugin System | Yes |
| Special Features | |
| - Unicode Support | Yes |
| - Right-to-Left Support | No |
| - Interface Languages | 21 languages |
| - Email notification | Yes |
| - Comments | Threaded |
| - Categories | Yes |
| - Namespaces | Yes |
| - Page Redirection | Yes |
| - Conflict Handling | Page Locking |
| - Search | Full Text |
| - Wiki Farming | Yes |
| - Structured Data | Yes |
| Links | |
| - CamelCase | Optional |
| - Freelinks | Yes |
| - Backlinks | Yes |
| - InterWiki | Yes |
| - SisterWiki | Yes |
| - Image Links | Yes |
| - Windows Shares | No |
| - Page Redirects | Yes |
| Syntax Features | |
| - HTML Tags | All |
| - Math formulas | Yes |
| - Tables | simple + complex |
| - CREOLE support | Yes |
| - Markdown Support | No |
| - Textile Support | No |
| - BBCode Support | No |
| - Emoticon Images | Plugin |
| - Syntax Highlighting | Yes |
| - Footnotes | Yes |
| - Quoting | Yes |
| - Internal Comments | Yes |
| - Custom styles | Yes |
| - FAQ Tags | Plugin |
| - Scripting | velocity, groovy, ruby, jython, generic JSR223 & very powerful API |
| - Content Includes | Yes |
| - Feed Aggregation | Yes |
| Usability | |
| - Section Editing | Yes |
| - Page Templates | Yes |
| - Double-Click Edit | No |
| - Toolbar | Yes |
| - WYSIWYG Editing | Yes |
| - Access Keys | Yes |
| - Auto Signature | No |
| Statistics | |
| - Recent Changes | Yes |
| - Wanted Pages | Yes |
| - Orphaned Pages | Yes |
| - Most/Least Popular | Yes |
| - Recent Visitors | Yes |
| - Analysis | Yes |
| Output | |
| - HTML | XHTML 1.0 Strict |
| - CSS Stylesheets | Yes |
| - Printer Friendly | Print View |
| - Mobile Friendly | No |
| - Themes & Skins | Yes |
| - RSS Feeds | Yes |
| - ATOM Feeds | Optional |
| - Abbreviations | Plugin |
| - Auto-TOC | Optional |
| - Raw Export | Yes |
| - HTML Export | Yes |
| - XML export | Yes |
| - PDF Export | Yes |
| Media and Files | |
| - File Attachments | Yes |
| - Media Revisions | Yes |
| - Embedded Flash | Yes |
| - Embedded Video | Yes |
| - Image Editing | No |
| - SVG Editing | No |
| - MindMap Editing | Optional |
| - Media Search | Contents |
| Extras | |
| - Calendar | Plugin |
| - Image Galleries | Plugin |
| - Forums | Plugin |
| - Blogs | Yes |
| - Ticket System | Plugin |