Исходный код вики Установка и настройка XWiki - Windows+Oracle+Glassfish
Редактировал(а) Eugen Colesnicov 2012/08/29 13:06
Последние авторы
author | version | line-number | content |
---|---|---|---|
1 | {{box cssClass="floatinginfobox" title="**Содержание**"}} | ||
2 | {{toc start="2" depth="2"/}} | ||
3 | {{/box}} | ||
4 | |||
5 | == Вступление == | ||
6 | |||
7 | Данная инструкция содержит последовательное описание процесса первоначальной установки и оптимальной настройки XWiki Enterprise в варианте под Windows + GlassFish + OracleXE. | ||
8 | |||
9 | Исходным материалом послужили инструкции по инсталляции с сайта xwiki.org. Однако они являются более абстрактными и часто не учитывают специфики настроек под русские условия. Именно это и послужило стимулом к написанию данной инструкции. | ||
10 | |||
11 | Инструкция делалась "под себя" - для обеспечения простой возможности повторить быстрое развертывание системы (в т.ч. другими администраторами). Инструкция составлена не по принципу "если - то" (как например, составлены инструкции по инсталляции на xwiki.org), а более жестко - "делать так" - поэтому многие вещи указываются без подробных объяснений, почему именно так. | ||
12 | |||
13 | Имеется [[старая версия данной инструкции>>UNA.XWikiInstalationJetty&Glassfish]], которая начинала писаться еще когда XWiki была версией 2.0 или 2.1 и под Jetty, потом туда добавился GlassFish. Но все равно там осталось много не используемого сейчас. Новый вариант инструкции писался под версию XWiki - 2.7, 3.0. | ||
14 | |||
15 | Из нового варианта инструкции убрано много лишнего, в 1-ую очередь - все что касается Jetty. Изначально я пытался развертывать XWiki в варианте Windows + Jetty + OracleXE, но потом понял, что Jetty не годится для рабочей эксплуатации. Из принципиальных минусов - зависания сервиса и медленная скорость работы с аттачами. | ||
16 | |||
17 | Потом стал искать что-то вместо Jetty - и остановился на GlassFish. Понравилось - web-интерфейс настройки, то что не надо так сильно тюннить его как Jetty, ну и конечно скорость - файлы аттачились почти со скоростью, как если бы они копировались в локалке (jetty раз в 10 хуже)! | ||
18 | |||
19 | Новый вариант инструкции пока не полный. Еще будут добавляться разделы касаемо настройки LDAP, настройки соединения со сторонней базой Oracle и пр. Также планируется перевод на английский и румынский языки. | ||
20 | |||
21 | == ПО, необходимое для загрузки == | ||
22 | |||
23 | * **[[XWiki Enterprise>>http://www.xwiki.org/xwiki/bin/view/Main/Download#HXWikiEnterprise]]**: | ||
24 | ** берем war-файл - собственно само приложение, | ||
25 | ** и также xar-файл - содержит начальные настройки и базовые страницы wiki. | ||
26 | |||
27 | * **[[Java Development Kit (JDK)>>http://www.oracle.com/technetwork/java/javase/downloads/index.html]]** - необходимо для работы сервера приложений. | ||
28 | |||
29 | * **[[Glassfish Application Server>>http://glassfish.java.net/]]** - сервер приложений. | ||
30 | |||
31 | * **[[Oracle JDBC Drivers>>http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html]]** - оптимальный выбор **ojdbc5.jar** от Oracle 11G. | ||
32 | |||
33 | * Для работы приложения "импорт офисных документов" требуется: | ||
34 | ** **[[OpenOffice>>http://download.openoffice.org/index.html]]** - офисный пакет, используемый для конвертации. | ||
35 | ** **[[windows server 2003 resource kit>>http://go.microsoft.com/fwlink/?LinkId=4544]]** - позволяет создать сервис. | ||
36 | |||
37 | * В случае, если СУБД Oracle будет устанавливаться локально, то также будет необходимо **[[Oracle Database Express Edition>>http://www.oracle.com/technology/software/products/database/xe/index.html]]**. | ||
38 | {{info}}Следует закачивать т.н. //Universal//-версию OracleXE для обеспечения поддержки UTF-8 (мультиязычности) на уровне БД.{{/info}} | ||
39 | |||
40 | == Установка базового набора приложений == | ||
41 | |||
42 | **Оглавление раздела:** | ||
43 | |||
44 | {{toc start="5" depth="5" scope="local"/}} | ||
45 | |||
46 | ===== **OracleXE** (если будем использовать локальную БД). ===== | ||
47 | |||
48 | * просто инсталлируем через Setup. | ||
49 | {{info}}В OracleXE, при инсталляции, отсутствуют возможности настройки языковых параметров БД. А для XWiki, для обеспечения мультиязычности, нужно чтобы они были настроены в UTF8 (например, ##NLS_CHARACTERSET## должен быть ##AL32UTF8##). Для этого необходимо чтобы OracleXE устанавливалась на версию Windows, где изначально все языковые настройки были сделаны в English. При этом недостаточно, чтобы эти настройки были настроены перед установкой OracleXE - они должны быть изначально такими именно при инсталляции Windows. Попытки настройки "по ходу дела" не дали результата.{{/info}} | ||
50 | |||
51 | ===== **Java Development Kit (JDK)** ===== | ||
52 | |||
53 | * Запускаем installer | ||
54 | * JavaDB можно отключить | ||
55 | * дальше все автоматически | ||
56 | |||
57 | ===== **GlassFish application server** ===== | ||
58 | |||
59 | * запускаем installer | ||
60 | * должен найти установленную версию JDK | ||
61 | * дополнительный компонент Update Tool выбираем | ||
62 | * меняем порт по умолчанию, т.к. он пересекается с портом web-консоли Oracle (8080). Ставим, например - //8008//. | ||
63 | * дальше все автоматически | ||
64 | |||
65 | == Установка XWiki Enterprise == | ||
66 | |||
67 | **Оглавление раздела:** | ||
68 | |||
69 | {{toc start="5" depth="5" scope="local"/}} | ||
70 | |||
71 | ===== **Установка XWiki в GlassFish** ===== | ||
72 | |||
73 | * запускаем GlassFish командой ##C:\glassfishv3\bin\asadmin start-domain## (останавливать командой ##stop-domain##). | ||
74 | * В браузере набираем http://localhost:4848 и заходим в админ-консоль GlassFIsh (имя и пароль задаются при инсталляции, например, как в XWiki - //Admin/admin//). | ||
75 | * Выбираем в дереве слева ##Applications## а в правой части - ##Deploy##. | ||
76 | * Открываем с диска war-файл XWiki. | ||
77 | * Устанавливаем: ##Type = Web Application, Context Root = xwiki, Application name = xwiki##. | ||
78 | * Остальные параметры можно не менять и жмем OK. | ||
79 | |||
80 | ===== **Настройка соединения с Oracle** ===== | ||
81 | |||
82 | |||
83 | |||
84 | * создаем схему для XWiki: | ||
85 | ** подключаемся к Oracle dba-юзером | ||
86 | ** создаем схему ##create user xwiki identified by xwiki;## | ||
87 | ** назначаем привелегии ##grant all privileges to xwiki;## | ||
88 | {{info}}Можно не назначать полные привилегии, а оставить //по умолчанию//. Полные привилегии могут потребоваться для режима multi-wiki (когда устанавливается XEM) (пока в точности не известно).{{/info}} | ||
89 | |||
90 | * Копируем файл JDBC-драйвера (##ojdbc5.jar##) в ##\xwiki\WEB-INF\lib## (подпапка в папке приложений GlassFish для домена1). | ||
91 | |||
92 | * Редактируем файл настроек соединения XWiki с БД ##\xwiki\WEB-INF\hibernate.cfg##: | ||
93 | ** Закомментировать строки не относящиеся к Oracle (general database). | ||
94 | ** Разкомментировать ту часть, где касается Oracle. | ||
95 | ** Указываем параметры коннекта к базе (SID и host). | ||
96 | {{info}}Если локально установлен OracleXE можно ничего не менять - а только разкомментировать и закомментировать соответствующие места.{{/info}} | ||
97 | |||
98 | * Возможно еще следует включить UTF-8 для Oracle (точно не известно насколько это нужно или нет) | ||
99 | ** Открываем файл настроек соединения XWiki с БД ##\xwiki\WEB-INF\hibernate.cfg## | ||
100 | ** перед строкой ##<mapping resource="xwiki.oracle.hbm.xml"/>## добавляем 2 строки: | ||
101 | {{code language="none"}}<property name="connection.useUnicode">true</property> | ||
102 | <property name="connection.characterEncoding">UTF-8</property>{{/code}} | ||
103 | |||
104 | * Перезапускаем GlassFish командами ##stop-domain## и ##start-domain##. | ||
105 | |||
106 | * {{info}}В случае проблем с запуском OracleXE, проявляемых в виде ошибки ORA-12514 можно попробовать стартовать instance вручную. Для этого выполните следующие команды: | ||
107 | {{code}} | ||
108 | ** sqlplus /nolog | ||
109 | ** conn / as sysdba | ||
110 | ** startup | ||
111 | {{/code}}{{/info}} | ||
112 | |||
113 | ===== **Дополнительная настройка GlassFish и запуск как windows-сервис** ===== | ||
114 | |||
115 | **Дополнительная настройка GlassFish** | ||
116 | |||
117 | * Следует добавить дополнительную опцию для JVM ##-Xrs## | ||
118 | {{info}}Данная настройка необходима, т.к. в противном случае, GlassFish windows-сервис будет завершаться всегда при logout пользователя на сервере.{{/info}} | ||
119 | ** Заходим в админ-консоль GlassFish | ||
120 | ** В дереве слева выбираем ##Configuration##, ##JVM Settings## | ||
121 | ** На открывшейся страничке выбираем закладку вверху ##JVM Options## | ||
122 | ** Откроется страница с параметрами JVM. Нажимаем кнопку вверху списка параметров ##Add JVM Options## | ||
123 | ** В добавленном поле пишем -Xrs и нажимаем на ##Save## | ||
124 | |||
125 | * Еще одна необходимая вещь - настройка UTF-8 в GlassFish | ||
126 | ** Также из admin-консоли, в дереве слева выбираем ##Enterprise Server## | ||
127 | ** На открывшейся странице выбираем закладку вверху ##Advanced##, a потом подзакладку ##Domain attributes## | ||
128 | ** В поле ##Locale## пишем ##en_US.UTF-8## | ||
129 | |||
130 | **Установка GlassFish как windows-сервиса** | ||
131 | |||
132 | * Останавливаем GlassFish командой ##stop-domain## | ||
133 | |||
134 | * Затем установить GlassFish как windows-сервис командой ##asadmin create-service##. | ||
135 | {{info}}Для выполнения этой команды на компьютере должен быть установлен Net Framework v.2.{{/info}} | ||
136 | |||
137 | * И запустить GlassFish через стандартную оснастку windows - управление сервисами. | ||
138 | {{info}}Помимо windows-оснастки, управление сервисом можно осуществлять из командной строки, следующими командами: | ||
139 | {{code language="none"}} | ||
140 | Start Command: C:\glassfishv3\glassfish\domains\domain1\bin\domain1Service.exe start | ||
141 | Stop Command: C:\glassfishv3\glassfish\domains\domain1\bin\domain1Service.exe stop | ||
142 | Uninstall Command: C:\glassfishv3\glassfish\domains\domain1\bin\domain1Service.exe uninstall | ||
143 | Install Command: C:\glassfishv3\glassfish\domains\domain1\bin\domain1Service.exe install | ||
144 | {{/code}}{{/info}} | ||
145 | |||
146 | * Пробуем открыть xwiki:##{{{http://localhost:8008/xwiki}}}##. Если все нормально, то откроется начальная страница xwiki. | ||
147 | {{info}}- GlassFish в реальности запускается не сразу после старта windows-сервиса - следует подождать еще 2-5 минут. | ||
148 | - Если вместо начальной страницы XWiki открылась страница с сообщениями об ошибках - то следует устранить ошибку и обязательно перезапустить GlassFish. | ||
149 | - Из типовых проблем можно выделить: а) забыли jdbc-драйвер Oracle; b) неправильно отредактировали файл настроек соединения с БД; c) не так как нужно для XWiki настроены языковые параметры (NLS) Oracle (см. комменты по этому поводу выше).{{/info}} | ||
150 | |||
151 | ===== **Импорт xar-файла с базовыми страницами XWiki** ===== | ||
152 | |||
153 | * На открывшейся после установки XWiki Enterprise странице, вверху, выбираем меню ##Wiki##, а затем ##Administration##. | ||
154 | |||
155 | * Откроется страница Import, с возможностью выбора файла с диска. Выбираем с диска xar-файл от xwiki и нажимаем ##Upload##. | ||
156 | |||
157 | * Ваш xar-пакет с начальными страницами XWiki появиться в списке ##Available packages##. Кликаем на него. | ||
158 | |||
159 | * После клика, через некоторое время, в правой части будет открыт список страниц, содержащихся внутри xar-пакета, а внизу него кнопка ##Import##. Жмем на нее. | ||
160 | |||
161 | * После завершения импорта начального xar-файла следует залогиниться для продолжения работы. | ||
162 | {{info}}первоначально логиниться следует под пользователем ##Admin##, а пароль ##admin##.{{/info}} | ||
163 | |||
164 | ===== **Начальные настройки wiki** ===== | ||
165 | |||
166 | * Для группы, куда входит юзер Admin (это группа ##XWikiAdminGroup##) следует дать права на programming (в разделе ##Administration##, ##Rights##) | ||
167 | |||
168 | * Также следует настроить XWiki на работу в MultiLanguage режиме. | ||
169 | ** Выберите раздел ##Administration##, ##General## | ||
170 | ** На открывшейся странице установите ##true## для опции ##Multilingual## | ||
171 | ** В поле languages установите перечень желаемых языков через запятую, например ##en,ru,ro## | ||
172 | |||
173 | == Установка и настройка сервера OpenOffice.org == | ||
174 | |||
175 | {{warning}} | ||
176 | XWiki поддерживает работу с версиями OpenOffice.org 3.0x, 3.1x, 3.2x. Версия 3.3 на текущий момент не поддерживается. | ||
177 | {{/warning}} | ||
178 | |||
179 | Установка OpenOffice.org и настройка на работу с XWiki возможна 2 способами: | ||
180 | |||
181 | * internal - XWiki непосредственно работает с установленной версией OpenOffice.org | ||
182 | * external - OpenOffice.org запускается как windows-сервис, а XWiki работает уже с ним | ||
183 | |||
184 | Каждый из этих способов следует рассматривать отдельно. Нами будет приведен internal-вариант, как более простой. | ||
185 | |||
186 | ===== **Установка OpenOffice.org и настройка для XWiki в варианте internal** ===== | ||
187 | |||
188 | * Запускаем инсталлятор, отвечаем на вопросы, путь по умолчанию лучше не менять. | ||
189 | * После завершения запускаем Openoffice хотя бы один раз, чтобы выполнился мастер регистрации. | ||
190 | |||
191 | * Заходим в опции OpenOffice.org, раздел ##Open/Save##, дальше ##HTML Compatibility## | ||
192 | * Устанавливаем параметр ##Character set## в ##UTF-8## и сохраняем | ||
193 | |||
194 | * Открываем файл ##\xwiki\WEB-INF\xwiki.properties##, разкоментируем и меняем в нем следующие переменные: | ||
195 | ** переменную ##openoffice.autoStart=true## | ||
196 | ** а также ##openoffice.profilePath=C:/Documents and Settings/Administrator/Application Data/OpenOffice.org/3## - это путь куда пишутся настройки для текущего пользователя - именно они и будут использоваться в дальнейшем. | ||
197 | |||
198 | * Теперь надо перезапустить GlassFish и в XWiki, ##Administration## открыть раздел ##OpenOffice Server##. Если все нормально - в поле ##server state## будет стоять ##Connected##. | ||
199 | |||
200 | == Дополнительный тюннинг XWiki == | ||
201 | |||
202 | **Оглавление раздела:** | ||
203 | |||
204 | {{toc start="5" depth="5" scope="local"/}} | ||
205 | |||
206 | ===== **Настройка длинны имен прикрепленных файлов** ===== | ||
207 | |||
208 | * Если требуется чтобы имена прикрепленных файлов показывались полностью (по умолчанию показывается только 1-ые 25 символов), следует в attachmentsinline.vm в папке templates добавить первую строку ###set($maxnamelength = 256)## | ||
209 | |||
210 | ===== **Настройка элементов в Print preview** ===== | ||
211 | |||
212 | * Для того, **чтобы в Print preview показывалось только собственно содержимое страницы** и ничего более следует открыть файл ##print.css## в папке с используемым скином и в раздел ##/* Hide unneeded stuff */##, после строки ###globallinks, #footerglobal,## добавить строку: | ||
213 | |||
214 | {{code language="none"}} | ||
215 | #headerglobal, #navigationMenu, #hierarchy, #document-title, #document-info, #xdocFooter, #docextrapanes, | ||
216 | {{/code}} | ||
217 | |||
218 | ===== **Настройка иконок в wysiwyg-редакторе** ===== | ||
219 | |||
220 | * Для того, **чтобы вывести все иконки на тулбар в wysiwyg-редакторе** необходимо: | ||
221 | ** открываем ##templates\macros.vm## | ||
222 | ** находим строку ##plugins: '$xwiki.getXWikiPreference("wysiwyg.plugins",## - в этой строке указываются те плагины, которые будут подгружаться, но сам вид тулбаров настраивается ниже. | ||
223 | ** в найденную строку добавляем через пробелы (место не имеет значения) - ##color font justify## - только этих трех плагинов нету в варианте по умолчанию. | ||
224 | ** Теперь в строке ##toolbar: '$xwiki.getXWikiPreference("wysiwyg.toolbar"## добавляем сами иконки. Вот полный вариант: | ||
225 | |||
226 | {{code language="none"}} | ||
227 | bold italic underline strikethrough teletype | subscript superscript | justifyleft justifycenter justifyright justifyfull | unorderedlist orderedlist | | ||
228 | outdent indent | undo redo | format | fontname fontsize forecolor backcolor | hr removeformat symbol | paste | ||
229 | {{/code}} | ||
230 | |||
231 | - символ "|" означает строчный разделитель, символ "/" - разбивает тулбар на несколько строк. | ||
232 | |||
233 | ===== **Настройка сортировки прикрепленных файлов** ===== | ||
234 | |||
235 | * Для того, **чтобы обеспечить сортировку прикрепленных файлов по дате изменения**, следует в файле attachmentsinline.vm в папке templates после строки ###set($attachments = $doc.attachmentList)## (и соответственно перед ##<div id="attachmentscontent" class="xwikiintracontent">##) добавить: | ||
236 | |||
237 | {{code language="none"}} | ||
238 | #set($attachmentsMap = $util.hashMap) | ||
239 | #foreach($a in $attachments) | ||
240 | #if(!$attachmentsMap.containsKey($a.date)) | ||
241 | #set($discard = $attachmentsMap.put($a.date, $util.arrayList)) | ||
242 | #end | ||
243 | #set($discard = $attachmentsMap.get($a.date).add($a)) | ||
244 | #end | ||
245 | #set($dates = $util.arrayList) | ||
246 | #foreach($date in $attachmentsMap.keySet()) | ||
247 | #set($discard = $dates.add($date)) | ||
248 | #end | ||
249 | #set($dates = $util.sort($dates)) | ||
250 | #set($dates = $util.reverseList($dates)) | ||
251 | #set($attachments = $util.arrayList) | ||
252 | #foreach($date in $dates) | ||
253 | #set($discard = $attachments.addAll($attachmentsMap.get($date))) | ||
254 | #end | ||
255 | {{/code}} | ||
256 | |||
257 | ===== **Настройка совместимости в IE для форматов MSOffice2007 и OpenOffice.org** ===== | ||
258 | |||
259 | * **Аттачи-файлы MS Office 2007 и OpenOffice в IE сохраняются как zip-архивы (с расширением zip).** Проблема имеет место только в IE. Решение такое - в файл web.xml, который лежит в папке WEB-INF приложения добавить в соответствующем месте (поискать по ##mime##) содержимое из [[приложенного текстового файла>>attach:MIMETypes4XWiki.txt]]. В XWiki последних версий в файле web.xml уже вставлены MIME-типы под некоторые форматы файлов, но далеко не под все. | ||
260 | |||
261 | * **Проблемы с импортом xar-файлов, проявляющиеся на версиях XWiki 2.3, 2.4 на Glassfish v.3** (выдается ошибка: //number 0 in 11: Uncaught exception Wrapped Exception: org.apache.commons.codec.binary.Base64)//, связаны с тем, что Glassfish и XWiki имеют разные версии одной и той же библиотеки. Для решения проблемы следует скопировать файл ##commons-codec-1.4.jar## из ##\xwiki\WEB-INF\lib## в папку ##\glassfishv3\glassfish\modules## а оттуда удалить ##commons-codec-repackaged.jar##. | ||
262 | {{info}}В версии XWiki 3.0 данной проблемы уже не возникло.{{/info}} | ||
263 | |||
264 | ===== **Настройка максимального размера прикрепляемых файлов** ===== | ||
265 | |||
266 | * **Ограничение в 10MB для upload-а**. В XWiki имеется ограничение на upload. Для его регулирования следует: | ||
267 | ** edit the XWiki.XWikiPreferences class and add a NumberProperty field of type long, named upload_maxsize; if the field already exists, you can skip this step | ||
268 | ** edit the XWiki.XWikiPreferences object and specify the desired maximum attachment size (in bytes) | ||
269 | |||
270 | ===== **Отключение кэша аттачей** ===== | ||
271 | {{info}} | ||
272 | В некоторых случаях (например IE 7.0) происходит следующее. пользователь сделал attach файлу к странице XWiki, после чего другой пользователь также выполнил аттач этого файла к этой же странице XWiki (измененная версия файла). Сценарий вполне типичен для совместной работы с документами. У 1-го пользователя в этом случае, при попытке download-а загружается старая (1-ая) версия файла. Так происходит, вследствие того, что файл был запомнен в кэше браузера. | ||
273 | {{/info}} | ||
274 | |||
275 | Следует отключить кэш браузера, поменяв в файле attachmentsinline.vm в папке templates строку (22 строка в оригинальном файле) | ||
276 | {{code}} | ||
277 | <span class="name"><a href="$doc.getAttachmentURL(${attach.filename}, 'download')" title="$msg.get('core.viewers.attachments.download')">$escapetool.xml($attach.filename)</a></span> | ||
278 | {{/code}} | ||
279 | |||
280 | на строку | ||
281 | {{code}} | ||
282 | <span class="name"><a href="$doc.getAttachmentURL(${attach.filename}, 'download', "t=$util.getDate().getTime()")" title="$msg.get('core.viewers.attachments.download')">$escapetool.xml($attach.filename)</a></span> ## the 't=' part of the URL is a IE7 hack (see http://jira.xwiki.org/browse/XWIKI-106 or http://extensions.xwiki.org/xwiki/bin/view/Extension/Disable+browser+cache+for+attachments) | ||
283 | {{/code}} | ||
284 | |||
285 | Источник: [[http://extensions.xwiki.org/xwiki/bin/view/Extension/Attachments+Macro]] | ||
286 | |||
287 | ===== **Дополнительный тюннинг SMTP** ===== | ||
288 | {{info}} | ||
289 | В некоторых случаях стандартных возможностей настройки SMTP-опций, описанных в [[документации>>http://platform.xwiki.org/xwiki/bin/view/AdminGuide/Configuration#HConfiguringtheSMTPserver]] может не хватать. | ||
290 | {{/info}} | ||
291 | |||
292 | Дело в том, что отправка email-ов производиться от адреса "no-reply@<xwiki hostname>". Чтобы это исправить, следует в файле shareinline.vm (папка templates), в соответствующем месте, расскоментировать соответствующие строки (которые почему-то закомментированы) и тогда отправка будет производиться от email-а администратора, указанного в настройках XWiki. | ||
293 | |||
294 | |||
295 | == Настройка соединения со сторонней базой Oracle == | ||
296 | |||
297 | {{info}} | ||
298 | Сторонняя база данных может использоваться, например, как источник информации, для визуализации на страницах XWiki (при необходимости можно выполнять и update данных). | ||
299 | {{/info}} | ||
300 | |||
301 | ===== Настройка GlassFish ===== | ||
302 | |||
303 | * Необходимо скопировать ojdc-драйвер Oracle (тот же файл, что и при инсталляции XWiki - ##ojdbc5.jar##) в папку ##\glassfishv3\glassfish\domains\domain1\lib\ext##, а затем перезапустить GlassFish. | ||
304 | |||
305 | * Далее открываем admin-консоль GlassFish (##http://server:4848##) и выбираем в дерева справа ##Resources##, затем ##JDBC##, затем ##Connection Pools## и на открывшейся странице нажимаем ##New##.## | ||
306 | |||
307 | * Будет отрыт интерфейс добавления нового Connection Pool, где: в поле ##Name## вводим ##OraclePool##, в поле ##Resource Type## выбираем ##javax.sql.CoonectionPoolDataSource##, а в поле ##Database Vendor## выбираем ##Oracle## и нажимаем ##Next##. | ||
308 | |||
309 | * На следующем шаге настройки, следует включить ##Ping## (даст возможность потом протестировать соединение), а в разделе ##Additional Properties## необходимо заполнить следующие параметры: ##user## и ##password## - пишется имя схемы Oracle и пароль к ней, а в поле ##URL## - пишется стринг соединения в формате jdbc (точно также он записывался и в конфигурационном файле, где настраивали базу данных для XWiki). Пример - ##jdbc:oracle:thin:@localhost:1521:XE##. После заполнения этих полей нажимаем ##Finish##. | ||
310 | |||
311 | * Connection Pool создан и мы можем протестировать соединение. В дереве слева кликаем на ##OraclePool## - и на открывшейся странице кликаем на кнопку ##Ping## - должно появиться сообщение ##Ping Succeeded##. | ||
312 | |||
313 | * Если тест успешный, то слева в дереве кликаем на ##JDBC Resources## и на открывшейся странице нажимаем ##New##. В поле ##JNDI Name## вводим ##jdbc/ora1##, а в ##Pool Name## выбираем ##OraclePool## и нажимаем ##Ok##. На этом конфигурирование GlassFish закончено. | ||
314 | |||
315 | ===== Настройка XWiki ===== | ||
316 | |||
317 | Далее необходимо выполнить настройку XWiki. | ||
318 | |||
319 | * Необходимо добавить ссылку на созданное соединение в файл ##\xwiki\WEB-INF\web.xml##. Почти в самом конце файла уже есть шаблон блока, который следует разкомментировать и вписать туда имя нашего JDBC-соединения: | ||
320 | {{code}}<resource-ref> | ||
321 | <description>DB Connection</description> | ||
322 | <res-ref-name>jdbc/ora1</res-ref-name> | ||
323 | <res-type>javax.sql.DataSource</res-type> | ||
324 | <res-auth>Container</res-auth> | ||
325 | </resource-ref>{{/code}} | ||
326 | |||
327 | * Следующим шагом следует добавить специальный плагин, который повышает удобство работы с внешними данными. Домашний сайт - http://xwikisql.gradsoft.ua/docs/XWikiSqlPluginGuide.html. Скачиваем плагин и копируем его в папку ##\xwiki\WEB-INF\lib##. | ||
328 | |||
329 | * Затем следует в файле ##\xwiki\WEB-INF\xwiki.cfg## найти раздел с перечислением плагинов (по ключевому слову ##xwiki.plugins##) и добавить туда строку ##ua.gradsoft.xwikisql.SqlPlugin##. | ||
330 | |||
331 | * Для завершения настройки следует перезапустить GlassFish. Подробная информация по использованию плагина для извлечения информации из сторонней базы данных и визуализации на страницах XWiki на сайте плагина - http://xwikisql.gradsoft.ua/docs/XWikiSqlPluginGuide.html. Обращение к источнику данных по имени - ##jdbc/ora1## (так настроили в нашем примере). | ||
332 | |||
333 | == Дополнительные макросы и приложения == | ||
334 | |||
335 | Содержит краткий список дополнительных полезных макросов и приложений, не входящих в основную поставку XWiki Enterprise и используемых автором данного руководства. Источник большинства из них - http://extensions.xwiki.org. Устанавливать их необходимо после установки и настройки XWiki Enterprise. | ||
336 | |||
337 | **Оглавление раздела:** | ||
338 | |||
339 | {{toc start="5" depth="5" scope="local"/}} | ||
340 | |||
341 | {{info}} | ||
342 | Обычно макросы и приложения для платформы XWiki реализуются в виде xar-файлов, которые следует импортировать в XWiki стандартным образом, через раздел ##Administration##, а потом ##Import## - для таких доп. компонентов специального описания процесса установки приводиться не будет. Также, некоторые из добавок имеют доп. компоненты или же им требуется доп. настройка - в этом случае в описании также будут приведены краткие инструкции по установке. | ||
343 | {{/info}} | ||
344 | |||
345 | ===== **Admin Tools** - содержит список различных добавок для администраторов: статистика, экспорт и пр. ===== | ||
346 | |||
347 | * http://extensions.xwiki.org/xwiki/bin/view/Extension/AdminTools | ||
348 | * Установка - стандартно | ||
349 | * Домашняя страница ##Admin.Tools## | ||
350 | * Ставиться в раздел Admin, для которого отсутствует WebHome. Имеет смысл создать WebHome и вынести на него другие полезные функции, связанные с администрированием (удаление разделов, копирование разделов и пр.) | ||
351 | |||
352 | ===== **LDAP Tools** - содержит утилиты для работы с LDAP: а) настройка взаимодействия, job для синхронизации ===== | ||
353 | |||
354 | * http://extensions.xwiki.org/xwiki/bin/view/Extension/LDAP+Tools | ||
355 | * Установка стандартно, но после установки обязательно открыть ##XWiki.AdminLdapSyncSheet## или ##XWiki.AdminLdapSheet## (не помню точно) для того чтобы в ##Administration## добавился соответствующий раздел | ||
356 | * Управлять - через ##Administration##, где после установки будет специальный раздел ##LDAP-tools## | ||
357 | |||
358 | ===== **PlantUML Macro** - макрос для построения UML-диаграмм. ===== | ||
359 | |||
360 | * http://extensions.xwiki.org/xwiki/bin/view/Extension/PlantUML+Macro | ||
361 | |||
362 | * Установка: | ||
363 | ** Качаем **Grapviz** отсуда http://www.graphviz.org/Download_windows.php и устанавливаем на сервере (нужно для некоторых типов диаграмм) | ||
364 | ** Добавляем в переменные окружения Windows переменную ##GRAPHVIZ_DOT## со значением ##C:\Program Files\Graphviz2.26.3\bin\dot.exe## (путь к файлу dot.exe) | ||
365 | ** Также пришлось перезагрузить сервер (возможно - будет достаточно перезапустить GlassFish) а то в дальнейшем эта переменная окружения была не видна. | ||
366 | ** Дальше стандартно устанавливаем xar-файл. | ||
367 | ** на странице Macros.plantUMLMacro можно убедиться хорошо ли все поставилось. | ||
368 | |||
369 | * Использование PlantUML: | ||
370 | {{code}}{{plantuml}} | ||
371 | content here... | ||
372 | {{/plantuml}}{{/code}} | ||
373 | Полное описание plantUML языка смотрите на http://plantuml.sourceforge.net/, а в разделе ##Downloads## есть даже [[pdf-вариант>>http://freefr.dl.sourceforge.net/project/plantuml/PlantUML%20Language%20Reference%20Guide.pdf]] | ||
374 | |||
375 | * Кстати, есть даже вариант PlantUML для MS Word! (в виде word-макроса). | ||
376 | * Еще кстати, есть другой макрос для рисования UML-диаграмм в XWiki, [[UML Macro>>http://extensions.xwiki.org/xwiki/bin/view/Extension/YUML+Macro]], однако он имеет ряд недостатков: а) работает только при наличии online-соединения с сайтом http://www.yuml.me/ b) варианты диаграмм ограничены (только самые основные) | ||
377 | |||
378 | ===== **Tabs Macro** - макрос для визуализации на странице табов ===== | ||
379 | |||
380 | * http://extensions.xwiki.org/xwiki/bin/view/Extension/Tabs+Macro | ||
381 | * Установка - стандартно | ||
382 | * Добавляет раздел ##Macro##, а в нем домашнюю страничку ##Macro.TabsMacro## - где описан синтаксис | ||
383 | |||
384 | * Использование: | ||
385 | {{code}}{{tabs idsToLabels='tabId11=My xwiki-wide tabs, tabId12=My working tabs :)' /}} | ||
386 | (%id="tabId11"%)((({{box cssClass="tabId11div"}} | ||
387 | First tab! | ||
388 | {{/box}} | ||
389 | I can post any content here | ||
390 | ))) | ||
391 | |||
392 | (%id="tabId12"%)((({{box cssClass="tabId12div"}} | ||
393 | Second tab! | ||
394 | {{/box}} | ||
395 | And here too | ||
396 | ))){{/code}} | ||
397 | |||
398 | ===== **LiveTable Macro** - макрос для удобного построения таблиц по технологии LiveTable ===== | ||
399 | |||
400 | * http://extensions.xwiki.org/xwiki/bin/view/Extension/Livetable+Macro+2.0 | ||
401 | * Установка - стандартно | ||
402 | * Домашняя страничка ##Macros.LiveTable## - где описан синтаксис | ||
403 | |||
404 | * Использование: | ||
405 | {{code}}{{livetable classname="XWiki.XWikiUsers" fields="first_name,last_name,doc.name,address" tags="false" | ||
406 | selectedColumn="first_name" defaultOrder="desc" rowCount="11" maxPages="9" resultPage="" /}}{{/code}} | ||
407 | |||
408 | * В составе макроса также имеется страничка ##Macros.LiveTableScriptGenerator## - которая позволяет сгенерировать полный скрипт построения LiveTable - что удобно для использования в собственных разработках | ||
409 | |||
410 | ===== **Calc Macro** - макрос для простых подсчетов в таблицах XWiki ===== | ||
411 | |||
412 | * http://extensions.xwiki.org/xwiki/bin/view/Extension/Calc+Macro | ||
413 | * Установка - стандартно | ||
414 | * фактически состоит из 3-х макросов: ##calc## macro, ##sum## macro, ##summary## macro. Синтаксис каждого из макросов - на соответствующей странице в разделе ##Macros##. | ||
415 | |||
416 | ===== **Todo Macro** - макрос для добавления прямо на страницы списков дел ===== | ||
417 | |||
418 | * http://extensions.xwiki.org/xwiki/bin/view/Extension/Todo+Macro | ||
419 | * Установка - стандартно, после - посетить страницу - ##XWiki.TodoMacroInstall## для завершения инсталляции. | ||
420 | * Примеры использования - ##Todo.WebHome##. | ||
421 | |||
422 | ===== **Spoiler Macro** - макрос для добавления на страницу скрытых элементов ===== | ||
423 | |||
424 | * http://extensions.xwiki.org/xwiki/bin/view/Extension/Spoiler+Macro | ||
425 | * Установка - стандартно. | ||
426 | * Домашняя страница ##Macros.Spolier## | ||
427 | * Использование: | ||
428 | {{code}}{{spoiler title="Show me the truth"}} | ||
429 | I am your father | ||
430 | {{/spoiler}}{{/code}} | ||
431 | |||
432 | ===== **Lightbox Macro** - макрос создает презентацию из картинок ===== | ||
433 | |||
434 | * http://extensions.xwiki.org/xwiki/bin/view/Extension/Lightbox+Macro | ||
435 | * Установка - стандартно. | ||
436 | * Домашняя страница ##XWiki.LightboxMacro## | ||
437 | * Использование: | ||
438 | {{code}}{{lightbox image="cat.jpg" group="g0" /}} | ||
439 | {{lightbox image="cat2.jpg" group="g0" /}}{{/code}} | ||
440 | |||
441 | ===== **MBox, MCode, MNote Macros** - макросы создающие специальные box-ы с красивым видом ===== | ||
442 | |||
443 | * http://asiri.rathnayake.org/xwiki/ | ||
444 | * Установка - стандартно. | ||
445 | * Домашние страницы ##Macro.MBox##, ##Macro.MNote##, ##Macro.MCode## | ||
446 | * Использование MBox: | ||
447 | {{code}}{{mbox title="A Title" subTitle="An Optional **Sub-Title**"}} | ||
448 | Any **xwiki** content. | ||
449 | {{/mbox}}{{/code}} | ||
450 | |||
451 | ===== **Copy Space Snippet** - данный код позволяет скопировать Раздел в другой Раздел ===== | ||
452 | |||
453 | * http://extensions.xwiki.org/xwiki/bin/view/Extension/Copy+Space+Snippet | ||
454 | * для использования - скопируйте представленный код на любую страницу | ||
455 | |||
456 | ===== **Delete Space Snippet** - данный код позволяет выполнить удаление разделов ===== | ||
457 | |||
458 | * http://extensions.xwiki.org/xwiki/bin/view/Extension/Delete+Space | ||
459 | * для использования - скопируйте представленный код на любую страницу | ||
460 | |||
461 | ===== **SpaceExplorer Panel Application** - добавляет панельку, с деревом разделов и страниц в них ===== | ||
462 | |||
463 | * http://extensions.xwiki.org/xwiki/bin/view/Extension/Space+Explorer+Panel+Application | ||
464 | * Установка - стандартно, а для вывода панели на экран - используйте ##Panel Wizard## в ##Administration## |