Last modified by Eugen Colesnicov on 2010/08/09 08:23

Show last authors
1 {{box cssClass="floatinginfobox" title="**Абстракт**"}}
2 В данной работе приведен пример универсальной методологии сравнительного отбора wiki-систем. Базой для применения методологии сравнения являются исходные требования к wiki-системам, сам же отбор производится путем пошагового рассмотрения каждого из условий при постепенном уменьшении числа рассматриваемых вариантов. Помимо собственно сравнения и отбора дается краткая вводная информация по wiki-технологиям и wiki-системам. Результатом отбора стал выбор в качестве наиболее удовлетворяющего исходным требованиям продукта - **XWiki**. Приводиться краткое описание XWiki и полная таблица возможностей данной системы. Делается заключение об универсальности XWiki, что, благодаря открытой платформе и поддержке всех современных стандартов и средств делает XWiki идеальным средством быстрого развертывания любых web-приложений и сайтов, как с поддержкой wiki-технологий, так и без такой поддержки, а также действующих в смешанном режиме. Особенно удобным XWiki будет являться для научных сообществ, благодаря поддержке LaTeX и UML.
3 {{/box}}
4
5 {{toc start="2"/}}
6
7 == 1 Введение ==
8
9 Данная работа представляет собой отчет о проведенном **сравнительном анализе wiki-движков**.
10 **Цель анализа** - выбор удовлетворяющего заданным требованиям wiki-движка для последующего использования в качестве базового (центрального) средства работы для:
11
12 * членов рабочих групп и команд разнообразных научных, социальных и культурных проектов.
13
14 * сотрудников компаний-поставщиков и компаний-заказчиков, работающих совместно в рамках единых проектов.
15
16 * научных организаций, которые призваны обеспечить накопление научных знаний, их прозрачность и совместное использование.
17
18 * научных, коммерческих и государственных структур, для обеспечения централизованного места хранения и совместного использования внутренней документации (intranet-портал).
19
20 Данная работа и ее результаты не претендуют на абсолютность и полную универсальность, так как сравнительный анализ был проведен исходя из определенных //исходных условий (заданных требований)//. В случае выбора других исходных условий, вполне допускается, что результаты анализа могли бы быть совсем иными. Однако, важность данной работы состоит в том, что предлагается определенная //методика//, которая может быть с успехом применена, даже в случае наличия других исходных условий и заданных требований.
21
22 В отчете будут приведены общие определения класса wiki-систем, описаны примеры, зафиксированы и указаны основные требования (исходные условия) к wiki-движкам, показаны последовательно все шаги постепенного отбора и приведены подробные обзоры и сравнительные характеристики отобранных решений.
23
24 === 1.1 Понятие wiki-технологий ===
25
26 **Вики (англ. Wiki)** - технология взаимодействия пользователя с веб-сайтом, предназначенная для коллективной разработки, хранения и структуризации информации (в основном гипертекста), фактически являющиеся одним из вариантов организации CMS (Content Management System). Важнейшим отличительным свойством wiki является обеспечение совместной работы множества людей на основе web-технологий.
27
28 Основные идеи, реализуемые wiki-технологией:
29
30 * возможность редактирования содержимого страниц сайта непосредственно в браузере, упрощение процесса публикации текста до 2-х щелчков (редактировать - сохранить);
31
32 * автоматизированная генерация и поддержание актуальности гиперссылок между страницами сайта и использование упрощенной разметки для текста, вместо HTML;
33
34 * хранение всех изменений, произошедших со всеми wiki-статьями с момента их создания - история правок;
35
36 * возможность редактирования wiki-статей любым желающим (иногда - только после специальной регистрации и/или решения администратора);
37
38 Исходя из того, что wiki является фактически подмножеством CMS-систем, многие из существующих CMS-движков поддерживают полностью или частично wiki-технологию:
39
40 * TikiWiki - http://TikiWiki.org
41 * XOOPS - http://www.xoops.org
42 * Plone - http://plone.org
43 * Joomla! - http://Joomla.org
44 * Mambo
45 * Drupal - http://drupal.org
46 * Phpgroupware
47 * Egroupware - http://www.egroupware.org
48 * Xaraya - http://ru.xaraya.com/
49 * MyLivePage - http://www.mylivepage.org/
50
51 Помимо CMS-движков, поддерживающих wiki-технологии, существуют и автономные wiki-движки. Несмотря на то, что все они работают придерживаясь единой wiki-технологии, методики и принципы построения систем во многих случаях абсолютно разные. На текущий момент на рынке представлено **более сотни** wiki-движков, обладающих самыми различными свойствами и параметрами. Для наглядного представления об этом приведем выборочный список достаточно популярных wiki-движков, поддерживающих русский язык, с их кратким описанием:
52
53 * Wikipedia - http://sf.net/projects/wikipedia, он же MediaWiki, наиболее знакомый простым пользователям движок, во многом благодаря тому, что используется в википедии.
54
55 * WackoWiki - полностью русифицированный движок (http://wackowiki.com), лёгкий и мощный.
56
57 * MoinMoin - http://moinmoin.wikiwikiweb.de/
58
59 * PmWiki - http://www.pmwiki.org/wiki/PmWikiRu/PmWikiRu — небольшой и весьма гибкий вики-движок, написанный на PHP и хранящий страницы в отдельных файлах. Лёгок в установке и сопровождении. Имеет хорошо развитый язык разметки страниц. Позволяет работать автономно на локальном компьютере с обрезанным PHP 4.4 - сервером. Не требует базы данных, все записи хранит в файлах. Развитые средства доступа. Русифицирован.
60
61 * WikidPad - простой вики-движок, для Windows. Позволяет создать свою собственную википедию на домашнем компьютере. Представляет собой текстовый редактор, совмещенный с базой данных и возможностью экспорта страниц в HTML/XML.
62
63 * TiddlyWiki - http://TiddlyWiki.com — вики-органайзер, написанный на JavaScript. Представляет собой 1 HTML-файл, который все изменения сохраняет сам в себе. Для работы требует только браузер. Есть русифицированный вариант.
64
65 * Open Site Code - http://open-site.org/code/ - вики-движок, вобравший в себя многие идеи Open Directory Project.
66
67 === 1.2 Методология проведения сравнительного анализа ===
68
69 Как видно, даже из представленного выше краткого списка, варианты построения систем самые разные. Исходя из технологического разнообразия и большого предложения сравнительный анализ wiki-движков является достаточно нетривиальной задачей. В таких условиях, крайне важно реализовать определенную методологию проведения исследования, которая бы обеспечила требуемый результат.
70
71 Ключевыми свойствами такой методологии являются:
72
73 * **Заданная цель проведения исследования** - по нашему мнению, в условиях, когда технологии wiki-движков принципиально разные, такой целью не могут являться задачи типа: //выбор лучшего wiki-движка//, //выбор самого мощного wiki-движка// и пр., так как рассуждения на тему //самый лучший// фактически превратятся в выбор лучшей технологии реализации, что также бесперспективно, т.к. технологии реализации в своем большинстве просто не сопоставимы. В соответствии с этим, единственной реально достижимой целью исследования может быть - **выбор wiki-движков удовлетворяющих заданным критериям и требованиям**
74
75 * **Исходные условия и требования** - в соответствии с вышесказанным, заданные критерия и требования являются отправной точкой для проведения исследования и достижения заданной цели.
76
77 * **Пошаговое рассмотрение каждого требования** - это значит, что соответствие wiki-движков заданным требованиям будет рассматриваться в отдельности для каждого требования, а при рассмотрении соответствия следующему требованию, будут участвовать только те wiki-движки, которые "прошли" предыдущую проверку на соответствие.
78
79 * **Ранжирование исходных условий и требований** - необходимо с целью определения последовательности рассмотрения условий, т.к. определено, что условия будут рассматриваться пошагово. Основным критерием для ранжирования исходных условий может быть важность исходных требований. Однако, здесь могут быть нюансы, связанные с тем, что т.к. на каждом шаге часть wiki-движков будут отсеиваться, то может оказаться, что к последнему-предпоследнему шагу (т.е. рассмотрению последнего или предпоследнего условия) абсолютно все wiki-движки будут отсеяны. Или же наоборот, если окажется, что заданные критерии недостаточно конкретны, то после прохождения всех шагов все равно большинство wiki-движков не будут отсеяны.
80
81 В общем, исходные требования и приоритеты их рассмотрения должны быть такими, чтобы с одной стороны производилось постоянное уменьшение количества "оставшихся" wiki-джвиков, и не возникла ситуация, когда к концу окажется, что отобранных движков более 2-3, а с другой стороны, нельзя допустить и того, того, чтобы были отсеяны все потенциальные кандидаты - wiki-движки.
82
83 В качестве 1-го шага, далее будут зафиксированы исходные требования к wiki-движкам.
84
85 === 1.3 Заданные требования к wiki ===
86
87 Как было сказано выше, wiki-технология должна стать в любой рабочей группе или команде, а также на предприятии или научном или государственном учреждении центральной технологией, объединяющей всех работников, привлекаемых сторонних специалистов, подрядчиков и партнеров а также пользователей в условиях территориальной разделенности с целью совместного формирования и поддержания документации, научных материалов, законодательства и прочих информационных материалов.
88
89 С одной стороны, источниками наполнения wiki, помимо собственно пользователей, могут стать другие средства коллективной работы, которые так или иначе, используются в настоящее время – (например, Open Ticket Request System, Google Groups, Google Talk, ICQ, форумы и пр.). При этом, в дальнейшем, можно предполагать постепенную миграцию всех средств совместной работы в Wiki, но не обязательно. С другой стороны, и получателем информации, помимо собственно пользователей, которые непосредственно будут работать с wiki, может стать другое прикладное ПО, например, средства подготовки электронной документации в формате CHM (Help&Manual и др.). Таким образом, wiki-система должна агрегировать все возможные информационные материалы, как вносимые в нее непосредственно, так и поступающие из других информационных систем и средств, а также wiki-система должна обеспечить возможность извлечения из нее информации как конечными пользователями, так и другими информационными системами и средствами.
90
91 Пример такой идеологии работы wiki-системы представлен на рисунке:
92 [[image:image001.png||height="394" width="564"]]
93
94 Помимо идеологических установок, определим в качестве исходных требований и технические условия к wiki-системе, обусловленные как предполагаемым масштабом системы, значительным количеством пользователей, так и некоторыми технологическими особенностями. Порядок расположения требований будет соответствовать порядку их рассмотрения, т.е. сразу же проведем ранжирование исходных требований.
95 Итак, заданными требованиями к wiki-движку являются:
96
97 * **Базовые:**
98 ** **Возможность работы на реляционных СУБД, включая Oracle** - преимущества хранения и манипулирования данными посредством реляционных СУБД в настоящее время ни у кого не вызывают сомнений, и отступление от этого может быть сделано только с целью сознательного упрощения в весьма ограниченном круге задач, поэтому варианты wiki-систем, которые вообще не используют реляционных СУБД должны быть в первую очередь исключены из рассмотрения. Что же касается СУБД Oracle, то обязательность поддержки данной СУБД объясняется тем, что это станет как бы //лакмусовой бумажкой// универсальности и масштабируемости wiki-движка. Действительно, если в области web-приложений и web-сервисов Oracle и менее распространена чем MySQL, то в области корпоративных приложений крупного масштаба СУБД Oracle является практически промышленным стандартом, благодаря уникальным возможностям по масштабируемости и производительности, а также развитым средствам управления и разработки.
99 ** **Бесплатность** - под бесплатностью понимается не только отсутствие платы за сам продукт, но и наличие лицензии класса open-source. Программное обеспечение open-source имеет огромные преимущества, связанные с низкой стоимостью владения, обеспечению повышенного уровня информационной безопасности и независимости. Использование именно open-source wiki-систем особенно необходимо для научных групп, команд а также научных и государственных учреждений.
100 * **Прочие:**
101 ** Поддержка широких возможностей по ведению и управлению версиями
102 ** Возможность поддержки и организации многоуровневых структур и каталогов
103 ** Широкие возможности по поддержке прикрепленных файлов-приложений
104 ** Гибкая настраиваемая система прав пользователей
105 ** Экспорт в html, xml и другие форматы
106
107 == 2 Отбор wiki ==
108
109 Как было сказано ранее, отбор и анализ wiki движков будет построен по принципу пошагового уменьшения количества рассматриваемых вариантов, исходя из определенных выше требований. Подобная методика существенно упростит процесс, так как цель работы заключается не в анализе ВСЕХ движков, а в отборе одного или двух, наиболее полно удовлетворяющих вышеназванным требованиям.
110
111 === 2.1 Общий перечень рассматриваемых wiki-движков ===
112
113 Всего в анализе и отборе участвуют 121 wiki-движок:
114
115 |@Wiki|Hatta|PBwiki|Triki-Wiki
116 |bitweaver|IkeWiki|Personal PPC Wiki|TWiki
117 |bLADE Wiki|ikiwiki|PhpWiki|UniWakka
118 |BoltWire|Incentive|PicoWiki|UseMod
119 |BrainKeeper|Instiki|Pie|VQWiki
120 |BusinessWiki|Intodit|Pier|WackoWiki
121 |ButorWiki|Jacwiki|Pimki|Wagn
122 |CanvasWiki|JAMWiki|PmWiki|Wala Wiki
123 |CentralDesktop|JaWiki|PodWiki|Wetpaint
124 |Clearspace|JOTWiki|Portili Team Wiki|Wicked
125 |ClearWiki|JSPWiki|ProjectForum|Wiclear
126 |codeBeamer|KeheiWiki|ProntoWiki|WiGit
127 |Confluence|KWikiKWiki|ProWiki|Wikepage
128 |ConnectedText|LionWiki|PukiWiki|Wiki Spot
129 |Corendal Wiki|Luminotes|Riki|Wiki-Toolkit
130 |Cospire|LunaWiki|SamePage|Wikia
131 |Daisy|MediaWiki|ScrewTurn Wiki|WikiASP
132 |DokuWiki|Metadot Wiki|SharePoint Wiki Plus|WikiCrowd
133 |EditMe|MicKI|Socialtext|WikiDoc
134 |ErfurtWiki|Midgard Wiki|Springnote|Wikidot
135 |FlexWiki|MindTouch|Sputnik|WikiNi
136 |Foswiki|miniWiki|SubWiki|WikiSH
137 |Friki|MoinMoin|Swirrl|Wikispaces
138 |Gazest|MojoMojo|Sycamore|WikkaWiki
139 |GeboGebo|MoniWiki|telepark.wiki|WikyBlog
140 |GeniusWiki|Netcipia|ThoughtFarmer|wxWikiServer
141 |Giki|nexdo|TiddlyWiki|XoWiki
142 |Git-Wiki|Oddmuse|TikiWiki CMS-Groupware|XWiki
143 |gitit|OpenWikiNG|Traction TeamPage|yawiki
144 |Groupswiki|PAUX|TracWiki|Zoho Wiki
145 |(% class="xwiki-document" %)
146 (((
147
148 )))|(% class="xwiki-document" %)
149 (((
150
151 )))|(% class="xwiki-document" %)
152 (((
153
154 )))|Zwiki
155
156
157 \\
158
159 === 2.2 Wiki-движки на базе СУБД Oracle ===
160
161 Как было определено, в качестве 1-го ключевого признака была изучена возможность работы вышеуказанных wiki-движков с СУБД Oracle. Оказалось что количество wiki-движков, поддерживающих в той или иной степени СУБД Oracle, не очень значительно (24 из 121), что позволило сразу же существенно уменьшить количество рассматриваемых вариантов на последующих шагах. Результаты отбора представлены в таблице:
162
163 (% style="text-align: center;" %)|(% style="text-align: center;" %)**Wikis**|(% style="text-align: center;" %)**Oracle support**
164 |bitweaver|(% style="text-align: center;" %)Yes
165 |Clearspace|(% style="text-align: center;" %)Yes
166 |codeBeamer|(% style="text-align: center;" %)Yes
167 |Confluence|(% style="text-align: center;" %)Yes
168 |Corendal Wiki|(% style="text-align: center;" %)Yes
169 |Gazest|(% style="text-align: center;" %)Yes
170 |GeniusWiki|(% style="text-align: center;" %)Yes
171 |JAMWiki|(% style="text-align: center;" %)Yes
172 |JSPWiki|(% style="text-align: center;" %)Plugin
173 |KeheiWiki|(% style="text-align: center;" %)Plugin
174 |MojoMojo|(% style="text-align: center;" %)Patch
175 |OpenWikiNG|(% style="text-align: center;" %)Yes
176 |PAUX|(% style="text-align: center;" %)Optional
177 |PhpWiki|(% style="text-align: center;" %)Yes
178 |Pimki|(% style="text-align: center;" %)Yes
179 |SamePage|(% style="text-align: center;" %)Yes
180 |telepark.wiki|(% style="text-align: center;" %)Optional
181 |Traction TeamPage|(% style="text-align: center;" %)Optional
182 |VQWiki|(% style="text-align: center;" %)Yes
183 |Wicked|(% style="text-align: center;" %)Yes
184 |XoWiki|(% style="text-align: center;" %)Yes
185 |XWiki|(% style="text-align: center;" %)Yes
186 |yawiki|(% style="text-align: center;" %)Yes
187 |Zwiki|(% style="text-align: center;" %)Plugin
188
189 Интересно, что в числе прочих из списка "выпал" и такой популярный движок как MediaWiki (Wikipedia). Это показывает, что при выборе того или иного средства некорректно пользоваться исключительно критерием популярности (хотя и полностью пренебрегать этим тоже не следует). Самое главное - насколько продукт соответствует вашим заданным требованиям и определенным критериям.
190
191 === 2.3 Бесплатные wiki ===
192
193 Аналогично и другим типам программного обеспечения, wiki-движки бывают платные и бесплатные. Соответственно следующим шагом был проведен отбор, из 24 поддерживающих Oracle, тех wiki-движков, которые являются бесплатными и исходный код которых полностью открыт (open-source). После проведенных исследований были выявлены 9 движков, использование которых платное или как-то ограничено лицензиями: Clearspace, codeBeamer, Confluence, GeniusWiki, PAUX, Pimki, SamePage, telepark.wiki, Traction TeamPage.
194
195 Соответственно, исключив из списка 24 wiki-движков платные, имеем 15 open source движков поддерживающих Oracle:
196
197 (% style="text-align: center;" %)|(% style="text-align: center;" %)**Wikis**|(% style="text-align: center;" %)**License type**
198 |bitweaver|LGPL
199 |Corendal Wiki|GPL
200 |Gazest|GPL v3
201 |JAMWiki|LGPL
202 |JSPWiki|Apache License
203 |KeheiWiki|LGPL
204 |MojoMojo|Artistic License
205 |OpenWikiNG|Crediting the original authors
206 |PhpWiki|GPL
207 |VQWiki|LGPL
208 |Wicked|GPL 2
209 |XoWiki|BSD
210 |XWiki|LGPL
211 |yawiki|BSD
212 |Zwiki|GPLv2
213
214 === 2.4 Wiki с широкими возможностями по настройке прав доступа ===
215
216 Возможности настройки прав доступа имеют очень большое значение с учетом использования web-технологий. Причем, помимо собственно возможности настройки прав доступа существует целый комплекс элементов информационной безопасности применяемых в wiki. Это Page Permissions (собственно права доступа к страницам), ACL (Access Control Lists – списки доступа), Authentication Backends (возможности идентификации внешними средствами, например, Active Directory, LDAP и пр.), Host Blocking (возможность блокирования/разрешения по IP, например, редактирования), Mail Encryption (шифрование паролей), nofollow (возможность выделения красным цветом сторонних линков для предотвращения спама), Blacklist (возможность ведения черных и белых списков), Delayed Indexing (отложенное индексирование для предотвращения спама), и пр.
217
218 Список из 15 вышеуказанных движков был проанализирован на предмет поддержки ими вышеперечисленных возможностей. Оказалось, что ни один движок не поддерживает абсолютно все security-технологии, или же информация о такой поддержке отсутствует. Возможно, это связано с принципиальными технологическими различиями движков, в рамках которых многие из свойств просто не будут иметь смысла, или же с различными обозначениями одних и тех же технологий у разных производителей, при котором сравнение теряет смысл. Поэтому на данном этапе был убран только 1 wiki-движок - Gazest, который не поддерживает даже элементарного минимума, определенного в задании – настройки прав доступа.
219
220 Список 14 оставшихся:
221
222 (% style="text-align: center;" %)|(% style="text-align: center;" %)**Security/Anti-Spam**|(% style="text-align: center;" %)**Page Permissions **|(% style="text-align: center;" %)**ACL **|(% style="text-align: center;" %)**Authentication Backends **|(% style="text-align: center;" %)**Host Blocking **|(% style="text-align: center;" %)**Mail Encryption **|(% style="text-align: center;" %)**nofollow **|(% style="text-align: center;" %)**Blacklist **|(% style="text-align: center;" %)**CAPTCHA **|(% style="text-align: center;" %)**Delayed Indexing **
223 (% style="text-align: center;" %)|bitweaver|(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |LDAP, Cusomization API for Proprietary Systems |(% style="text-align: center;" %) |(% style="text-align: center;" %) |(% style="text-align: center;" %) |(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)
224 (% style="text-align: center;" %)|Corendal Wiki|(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |Active Directory or Local Accounts |(% style="text-align: center;" %)No |(% style="text-align: center;" %)No |(% style="text-align: center;" %)No |(% style="text-align: center;" %)No |(% style="text-align: center;" %)No |(% style="text-align: center;" %)No
225 (% style="text-align: center;" %)|JAMWiki|(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |Acegi Security System used for authentication, experimental LDAP support available |(% style="text-align: center;" %)No |(% style="text-align: center;" %)No |(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Optional |(% style="text-align: center;" %)No |(% style="text-align: center;" %)No
226 (% style="text-align: center;" %)|JSPWiki|(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |JAAS |(% style="text-align: center;" %)Optional |(% style="text-align: center;" %)Plugin |(% style="text-align: center;" %)Optional |(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)No
227 (% style="text-align: center;" %)|KeheiWiki|(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |Apache |(% style="text-align: center;" %) |(% style="text-align: center;" %)No |(% style="text-align: center;" %)No |(% style="text-align: center;" %)No |(% style="text-align: center;" %)No |(% style="text-align: center;" %)Plugin
228 (% style="text-align: center;" %)|MojoMojo|(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes | |(% style="text-align: center;" %) |(% style="text-align: center;" %) |(% style="text-align: center;" %) |(% style="text-align: center;" %) |(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)
229 (% style="text-align: center;" %)|OpenWikiNG|(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)No |Windows |(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)No |(% style="text-align: center;" %)Optional |(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Plugin |(% style="text-align: center;" %)No
230 (% style="text-align: center;" %)|PhpWiki|(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |db, session, pop, imap, ldap, file, webserver |(% style="text-align: center;" %)No |(% style="text-align: center;" %)No |(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)No
231 (% style="text-align: center;" %)|VQWiki|(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)No |LDAP |(% style="text-align: center;" %)Optional |(% style="text-align: center;" %)No |(% style="text-align: center;" %)No |(% style="text-align: center;" %)No |(% style="text-align: center;" %)No |(% style="text-align: center;" %)No
232 (% style="text-align: center;" %)|Wicked|(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |25 different backends |(% style="text-align: center;" %)No |(% style="text-align: center;" %)No |(% style="text-align: center;" %)No |(% style="text-align: center;" %)No |(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)No
233 (% style="text-align: center;" %)|XoWiki|(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |PAM, LDAP, Active Directory (LDAP) |(% style="text-align: center;" %)Patch |(% style="text-align: center;" %) |(% style="text-align: center;" %) |(% style="text-align: center;" %) |(% style="text-align: center;" %) |(% style="text-align: center;" %)
234 (% style="text-align: center;" %)|XWiki|(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |XWiki, LDAP, eXo Platform, custom (Open API) |(% style="text-align: center;" %)No |(% style="text-align: center;" %)No |(% style="text-align: center;" %)No |(% style="text-align: center;" %)No |(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes
235 (% style="text-align: center;" %)|yawiki|(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes | |(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)No |(% style="text-align: center;" %)No |(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)No |(% style="text-align: center;" %)No
236 (% style="text-align: center;" %)|Zwiki|(% style="text-align: center;" %)Yes|(% style="text-align: center;" %)Yes|any supported by Zope authentication plugins|(% style="text-align: center;" %)Patch|(% style="text-align: center;" %)Yes|(% style="text-align: center;" %) |(% style="text-align: center;" %)Yes|(% style="text-align: center;" %)No|(% style="text-align: center;" %)Patch
237
238 === 2.5 Wiki с широкими возможностями по управлению и поддержке версий ===
239
240 Возможность сохранения нескольких вариантов содержимого страницы (версии) является одной из принципиальных возможностей, заложенных в самой технологии wiki. Однако уровень ее реализации может быть различным. Аналогично вопросам безопасности, существует множество свойств и технологий работы с версиями. Preview (просмотр изменений перед сохранением), Minor Changes (могут ли незначительные изменения быть помечены как второстепенные), Change Summary (может ли редактор добавить краткий обзор изменений), Page History (собственно история версий по страницам), Page Revisions (поддерживаемое количество версий), Revision Diffs (возможность просмотра различий между двумя версиями), Page Index (имеется ли индексирование на все страницы) и др.
241
242 Список из 16 вышеуказанных движков был проанализирован на предмет их поддержки данных свойств. Как оказалось, достаточно у многих wiki возможности по работе с версиями крайне ограничены и не простираются далее базовой поддержки версий. В результате были отсеяны 7 движков из 14: Corendal Wiki, JSPWiki, KeheiWiki, MojoMojo, VQWiki, yawiki, Zwiki. Все они обладают различными ограничениями в возможностями по поддержке работы с версиями. Так например, все перечисленные, кроме VQWiki, не поддерживают такой возможности, как Minor Changes. KeheiWiki и yawiki не поддерживают режима предварительного просмотра. KeheiWiki, MojoMojo и VQWiki не позволяют добавить краткий обзор изменений, а Corendal Wiki не позволяет производить сравнение версий.
243
244 Таким образом, осталось 7 движков:
245
246 (% style="text-align: center;" %)|(% style="text-align: center;" %)**Wikis**|(% style="text-align: center;" %)**Preview **|(% style="text-align: center;" %)**Minor Changes **|(% style="text-align: center;" %)**Change Summary **|(% style="text-align: center;" %)**Page History **|(% style="text-align: center;" %)**Page Revisions **|(% style="text-align: center;" %)**Revision Diffs **
247 (% style="text-align: center;" %)|bitweaver|(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |Unlimited |To current
248 (% style="text-align: center;" %)|JAMWiki|(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |Unlimited |Between all
249 (% style="text-align: center;" %)|OpenWikiNG|(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |Restricted by Number |To current
250 (% style="text-align: center;" %)|PhpWiki|(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |Unlimited |Between all
251 (% style="text-align: center;" %)|Wicked|(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |Unlimited |Between all
252 (% style="text-align: center;" %)|XoWiki|(% style="text-align: center;" %)Yes |(% style="text-align: center;" %) |(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |Unlimited |Between all
253 (% style="text-align: center;" %)|XWiki|(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |Unlimited |Between all
254
255 === 2.6 Wiki с дополнительными ключевыми возможностями (оповещения, категории, метки FAQ) ===
256
257 Помимо общепринятых и указанных в первоначальных требованиях свойств, требующих обязательного наличия, мы посчитали возможным провести отсев еще по нескольким (из более чем 200), на наш взгляд, достаточно важным свойствам. А именно: Email notification (информирование авторов по e-mail), Categories (поддержка категорий), Conflict Handling (какой механизм предотвращения конфликтов используется для одновременных сессий). Результаты этого анализа следующие – 3 wiki-движка, как оказалось, не поддерживают, по крайней мере, одну из этих возможностей. JAMWiki и OpenWikiNG не поддерживают Email notification, а Wicked – категории и Conflict Handling.
258
259 В результате осталось только 4 wiki-движка, которые поддерживают все данные технологии. Это:
260
261 (% style="text-align: center;" %)|(% style="text-align: center;" %)**Wikis**|(% style="text-align: center;" %)**Email notification **|(% style="text-align: center;" %)**Categories **|(% style="text-align: center;" %)**Conflict Handling **
262 (% style="text-align: center;" %)|bitweaver|(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |Page Locking
263 (% style="text-align: center;" %)|PhpWiki|(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |Conflict Resolution
264 (% style="text-align: center;" %)|XoWiki|(% style="text-align: center;" %)Yes |(% style="text-align: center;" %)Yes |
265 (% style="text-align: center;" %)|XWiki|(% style="text-align: center;" %)Yes|(% style="text-align: center;" %)Yes|Page Locking
266
267 === 2.7 Wiki с поддержкой присоединения файлов, а также экспорта в html, xml ===
268
269 Последним, не рассмотренным требованием, является возможность работы с прикрепляемыми файлами и возможность экспортировать в html и xml файлы. Уровень работы разных систем с прикрепляемыми файлами также существенно различается, хотя базовую возможность прикрепления файлов и встраивания flash и video файлов в wiki-страницы поддерживают все 4 рассматриваемых на данном шаге wiki-движка. В отношении прикрепленных файлов существенными свойствами являются: Media Revisions (версионность присоедененных файлов) и Media Search (поиск по содержимому прикрепленных файлов). В отношении же экспорта - целесообразно рассматривать обеспечение wiki-движками возможности экспорта в xml, html и pdf. Экспорт в xml важен, с точки зрения обмена с прочими информационными системами, т.к. xml-формат фактически является стандартом в этом отношении. Все 4 wiki-движка были проанализированы на предмет обеспечения ими данных требований. Как оказалось, **ТОЛЬКО XWIKI СООТВЕТСТВУЕТ ВСЕМ УСТАНОВЛЕННЫМ ТРЕБОВАНИЯМ** в отношении присоедененных файлов и экспорта. Полные результаты по всем четырем wiki-движкам представлены в таблице:
270
271
272 |=Wikis|=File
273 Attachments|=Embedded
274 Flash|=Embedded
275 Video|=Media
276 Revisions|=Media
277 Search|=HTML
278 Export |=XML
279 Еxport|=PDF
280 Export
281 | **bitweaver**| Yes|Yes| Yes| | | | | Yes
282 | **PhpWiki**| Yes| Yes| Yes| Yes| No| Yes| No| Yes
283 | **XoWiki**| Yes| Yes| Yes| Yes| Contents| | |
284 | **XWiki**| Yes| Yes| Yes| Yes| Contents| Yes| Yes| Yes
285
286
287 == 3 Отобранный wiki-движок Xwiki ==
288
289 Как видим, методология, использованная в настоящем анализе, позволила достаточно быстро, за 7 итераций, из более чем сотни разнообразнейших wiki-движков выбрать один - удовлетворяющий всем нашим требованиям. Естественно, как было сказано в начале, если бы начальные требования были бы иными - и результат был бы принципиально иной. Действительно, если бы на начальном этапе было бы установлено, что 1-ое требование - это возможность хранения данных в текстовых файлах, то из 4-х, дошедших до последнего этапа, wiki-движков, прошел бы на 2-ой этап сравнения только phpWiki. А если бы, не ставя ограничений по способу хранения данных, мы бы установили обязательным критерием не open-source лицензии, а коммерческой лицензии (что также может иметь свои плюсы), то вообще список wiki-движков, участвующих в дальнейших этапах рассмотрения, был бы кардинально другим.
290
291 Далее будет проведен более индивидуальный анализ и описание XWiki, а также приведена полная таблица всех свойств и возможностей этого продукта.
292
293 === 3.1 Движок XWiki – описание ===
294
295 [[XWiki>>http://www.xwiki.org/xwiki/bin/view/Main/WebHome]] - 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 является то, что она позволяет создавать объекты и классы внутри себя. В этом случае формы могут быть созданы за очень короткое время и использованы для ввода данных на базе некоторого шаблона.
296
297 XWiki не так сильно распространена в русскоязычном секторе, о чем можно судить по практически полному отсутствию всяких обсуждений и упоминаний о ней на русском языке в Internet. Однако, в этом wiki-движке поддерживается полная многоязычность, как в отношении содержимого страниц, так и в отношении самого интерфейса. В числе прочих языков присутствуют румынский и русский, а также и почти все европейские. XWiki участвует во многих очень масштабных проектах, например таких как [[XWiki Concerto Project>>http://concerto.xwiki.com/xwiki/bin/view/Main/]] – совместный научно-исследовательский проект XWiki, INRIA (ECOO и ATLAS), ENST, Mandriva и EISTI. Спонсируемый Французским Исследовательским Агентством (ANR).
298
299 Прекрасная обзорная статья о возможностях и достоинствах XWiki находится по адресу http://www.theserverside.com/tt/articles/article.tss?l=XWiki (хоть статья и несколько устаревшая). Очень наглядно представлена общая идеология построения (концепция) системы и наглядно показан пример построения собственного web-приложения на базе xwiki. Также на собственном сайте xwiki имеется раздел с чрезвычайно развитой и подробной документацией, помимо этого пользователям доступен форум для обсуждения.
300
301 К XWiki существует множество дополнений различных видов и уровней (макросы, плагины, приложения и пр.). Многие из них достаточно уникальны. Например, один из макросов позволяет строить **UML-диаграммы**, что будет чрезвычайно полезно в процессе проектирования процессов в IT. Другой инструмент позволяет отображать **формулы** на странице, причем в качестве языка описания используется **LaTeX**, который является фактически стандартом для научных документов. Эти свойства являются уникальнейшими и очень востребованными для научных учреждений.
302
303 Из полноценных дополнительных приложений, доступных для установки можно назвать: Blogs, Forums, Photo Albums, Calendars и пр.
304
305 Еще одна достаточно интересная возможность XWiki - поддержка множественных wiki (wiki-farms), что позволяет организовывать собственный хостинг wiki. Вы можете самостоятельно развернуть свой массив wiki или же воспользоваться бесплатными хостингами: http://www.myxwiki.org/ или http://www.netcipia.com/xwiki/bin/view/Corporate/Techno
306
307 Некоторые сайты, где используется XWiki: [[http://club.mandriva.com]], [[http://www.webtopproject.de]], [[http://wikipeople.elle.fr]], [[http://opensolaris.org]].
308
309 Таким образом, можно сделать вывод о том, что:
310
311 * Система XWiki является достаточно развитым wiki-средством, позволяющем организовывать совместную работу посредством internet-технологий группы людей любого масштаба, как небольших рабочих групп, так и целых компаний. XWiki может быть использована и в качестве web-сайта, даже без использования технологий wiki или в комбинированном варианте, что позволяет применять эту систему как универсальное средство развертывания приложений в web. Особенно полезным XWiki будет для научных сообществ и рабочих групп, благодаря open-source лицензированию, обеспечению поддержки LaTex, UML.
312
313 === 3.2 Таблица свойств и возможностей XWiki ===
314
315 Приведем полную таблицу с перечнем всех важнейших свойств и возможностей XWiki:
316
317 |**General Features**|
318 | - Version |2.0.5, 2.1
319 | - Last Release Date |2009-12-09
320 | - Author |XWiki Development Team
321 | - URL |www.xwiki.org
322 | - Free and Open Source |Yes
323 | - License |LGPL
324 | - Programming Language |Java
325 | - Data Storage |Database
326 | - License Cost/ Fee |0
327 | - Development status |Mature
328 | - Intended Audience |Enterprise, Workgroups, Developers
329 |**System Requirements**|
330 | - Operating System |Any platform supporting JDK 1.5 or greater
331 | - Root Access |No
332 | - Webserver |Any Servlet 2.3+ container (up to XWiki 1.9), Servlet 2.4+ for XWiki 2.0 and above
333 | - Other Requirements |Java 1.4 (XWiki 1.0) and Java 1.5 (XWiki 1.1+), MySQL/HSQLDB/etc (JDBC Driver required)
334 |**Datastorage**|
335 | - Text Files |No
336 | - MySQL |Yes
337 | - PostgreSQL |Yes
338 | - Oracle |Yes
339 | - SQLite |No
340 | - BerkeleyDB |No
341 | - RCS |No
342 | - Other |JDBC any Databases supported by Hibernate; any custom implementation
343 |**Security/Anti-Spam**|
344 | - Page Permissions |Yes
345 | - ACL |Yes
346 | - Authentication Backends |XWiki, LDAP, eXo Platform, custom (Open API)
347 | - Host Blocking |No
348 | - Mail Encryption |No
349 | - nofollow |No
350 | - Blacklist |No
351 | - CAPTCHA |Yes
352 | - Delayed Indexing |Yes
353 |**Development/Support**|
354 | - Commercial Support |Yes, 3 listed
355 | - Preconfigured Hosting |Yes
356 | - Code Repository |svn.xwiki.org
357 | - Issue Tracker |jira.xwiki.org
358 | - Mailing List |dev.xwiki.org
359 | - Support Forum |Through the mailing list/JIRA/IRC/Nabble
360 | - IRC Channel |conference.jabber.org (room: xwiki), irc.freenode.net (channel: #xwiki)
361 |**Common Features**|
362 | - Preview |Yes
363 | - Minor Changes |Yes
364 | - Change Summary |Yes
365 | - Page History |Yes
366 | - Page Revisions |Unlimited
367 | - Revision Diffs |Between all
368 | - Page Index |Yes
369 | - Plugin System |Yes
370 |**Special Features**|
371 | - Unicode Support |Yes
372 | - Right-to-Left Support |No
373 | - Interface Languages |21 languages
374 | - Email notification |Yes
375 | - Comments |Threaded
376 | - Categories |Yes
377 | - Namespaces |Yes
378 | - Page Redirection |Yes
379 | - Conflict Handling |Page Locking
380 | - Search |Full Text
381 | - Wiki Farming |Yes
382 | - Structured Data |Yes
383 |**Links**|
384 | - CamelCase |Optional
385 | - Freelinks |Yes
386 | - Backlinks |Yes
387 | - InterWiki |Yes
388 | - SisterWiki |Yes
389 | - Image Links |Yes
390 | - Windows Shares |No
391 | - Page Redirects |Yes
392 |**Syntax Features**|
393 | - HTML Tags |All
394 | - Math formulas |Yes
395 | - Tables |simple + complex
396 | - CREOLE support |Yes
397 | - Markdown Support |No
398 | - Textile Support |No
399 | - BBCode Support |No
400 | - Emoticon Images |Plugin
401 | - Syntax Highlighting |Yes
402 | - Footnotes |Yes
403 | - Quoting |Yes
404 | - Internal Comments |Yes
405 | - Custom styles |Yes
406 | - FAQ Tags |Plugin
407 | - Scripting |velocity, groovy, ruby, jython, generic JSR223 & very powerful API
408 | - Content Includes |Yes
409 | - Feed Aggregation |Yes
410 |**Usability**|
411 | - Section Editing |Yes
412 | - Page Templates |Yes
413 | - Double-Click Edit |No
414 | - Toolbar |Yes
415 | - WYSIWYG Editing |Yes
416 | - Access Keys |Yes
417 | - Auto Signature |No
418 |**Statistics**|
419 | - Recent Changes |Yes
420 | - Wanted Pages |Yes
421 | - Orphaned Pages |Yes
422 | - Most/Least Popular |Yes
423 | - Recent Visitors |Yes
424 | - Analysis |Yes
425 |**Output**|
426 | - HTML |XHTML 1.0 Strict
427 | - CSS Stylesheets |Yes
428 | - Printer Friendly |Print View
429 | - Mobile Friendly |No
430 | - Themes & Skins |Yes
431 | - RSS Feeds |Yes
432 | - ATOM Feeds |Optional
433 | - Abbreviations |Plugin
434 | - Auto-TOC |Optional
435 | - Raw Export |Yes
436 | - HTML Export |Yes
437 | - XML export |Yes
438 | - PDF Export |Yes
439 |**Media and Files**|
440 | - File Attachments |Yes
441 | - Media Revisions |Yes
442 | - Embedded Flash |Yes
443 | - Embedded Video |Yes
444 | - Image Editing |No
445 | - SVG Editing |No
446 | - MindMap Editing |Optional
447 | - Media Search |Contents
448 |**Extras**|
449 | - Calendar |Plugin
450 | - Image Galleries |Plugin
451 | - Forums |Plugin
452 | - Blogs |Yes
453 | - Ticket System |Plugin
454
455 == 4 Вебография ==
456
457 * **[[Wikipedia>>http://wikipedia.org]]** - http://wikipedia.org
458
459 * **[[WikiMatrix>>http://www.wikimatrix.org]]** - http://www.wikimatrix.org
460
461 * **[[Xwiki>>http://xwiki.org]]** - http://xwiki.org