Oh poor XWiki, put in a word - 2
- Tutorial
In the first part of the article, I talked about how to make the standard interface more comfortable, but since then enough water has flowed that both new versions of the xWiki engine will be released , and the interface will change in the direction of improving usability . Therefore, in a new article, I propose to discuss tuning and finer tuning of xWiki for a portable client (based on the Jetty and HSQLDB bundle). I will make a reservation right away, I do not consider this the best implementation possible, but given the convenience of deploying a portable version (copied to the right folder and launched), I think that for individual work or the work of a small team in Spartan conditions, this is the best option.
Welcome under cut
Exposure
First, a few comments:
1. In order for xWiki to start, it is necessary that Java is installed on the PC used as the host 2. The portable version, which will be discussed, is launched on both Windows and Linux PCs, however a couple of points, which will be discussed separately, the tuning will be different.
3. In the author’s opinion, based on his empirical experience, it is desirable to have a separate dual-core processor of the Intel / AMD family and at least 3-4 GB of RAM or a similarly configured virtual machine for comfortable work for a separate host. If the host is a PC / laptop for office work, then I recommend that the RAM upgrade to at least 4GB, as well as put the i3 processor (or its analogue) or higher.
4. To correctly make changes to the configuration files of the wiki engine, use Notepad ++ or a similar one.
5. After each change, I recommend making an intermediate backup of the versions, just in case.
6. The program was tuned for itself, for the convenience of structuring the results of work as a technical engineer / estimator.
Tie
Download the latest, at the time of writing, version of XWiki at the following link:
enterprise.xwiki.org/xwiki/bin/view/Main/Download
Installation
Варианты установки поддерживают: Windows, Debian, веб-контейнер (веб-сервер) — *.war, мультисистемный формат — *.jar и портативную версию вики на базе связки Jetty+HSQLDB, которая, ИМХО, наиболее удобна для настройки/эксплуатации Пользователем как в Windows, так и в Linux.
Для начала работ по настройке и тюнингу необходимо распаковать файлы из архива ZIP в корень диска (также рекомендуется переименовать папку до более короткого пути, например так: «D:\xwiki»).
Запуск осуществляется файлом start_xwiki.bat для Windows (start_xwiki.sh для Linux через терминал), в котором уже прописаны все необходимые настройки. Окно консоли при этом рекомендуется свернуть. Теперь нам необходимо открыть окно web-браузера (окно консоли при этом закрывать категорически не рекомендуется), и ввести указанный URL из консоли (терминала), вида: http://localhost:8080/xwiki/bin/view/Main/
Теперь можно работать
Для начала работ по настройке и тюнингу необходимо распаковать файлы из архива ZIP в корень диска (также рекомендуется переименовать папку до более короткого пути, например так: «D:\xwiki»).
Структура файлов и каталогов
. .
DIR data_____________Данные и БД
DIR jetty_____________Jetti
DIR META-INF_________Лицензия и замечания по ПО
DIR webapps__________движок xWiki
start_xwiki.bat
start_xwiki.sh
start_xwiki_debug.bat
start_xwiki_debug.sh
stop_xwiki.bat
stop_xwiki.sh
DIR data_____________Данные и БД
DIR jetty_____________Jetti
DIR META-INF_________Лицензия и замечания по ПО
DIR webapps__________движок xWiki
start_xwiki.bat
start_xwiki.sh
start_xwiki_debug.bat
start_xwiki_debug.sh
stop_xwiki.bat
stop_xwiki.sh
Запуск осуществляется файлом start_xwiki.bat для Windows (start_xwiki.sh для Linux через терминал), в котором уже прописаны все необходимые настройки. Окно консоли при этом рекомендуется свернуть. Теперь нам необходимо открыть окно web-браузера (окно консоли при этом закрывать категорически не рекомендуется), и ввести указанный URL из консоли (терминала), вида: http://localhost:8080/xwiki/bin/view/Main/
Теперь можно работать
The default administrator username and password are:
Login: Admin
Password: admin
Development
I. The structure of information storage.
Для хранения данных портативная версия основанная на Jetti использует базу HSQLDB со всеми ее плюсами и минусами, в частности стоит программное ограничение на вложения превышающие 32Мб (которое можно увеличить при желании, но не с этой БД). Возможно в конкретно Вашем случае этого будет более чем достаточно, но если забить HSQLDB мелкими файлами (фото 1..30Мб) до более чем 4Гб, то система начинает работать медленнее, а в какой-то момент попросту отказывается принимать новые вложения. Для того что бы разделить текст и вложения, а так же лучше всего подойдет следующий метод, а именно: xWiki поддерживает хранение файлов в папках на жестком диске.
Первым делом мы меняем расположение хранение вложенных файлов с БД на файловую систему, для этого необходимо внести изменения в xwiki.cfg (..\webapps\xwiki\WEB-INF\) (Последовательность символов #-# и # в файлах конфигурации означает комментарий)
Первая переменная здесь означает что вложения будут писаться на жесткий диск. Вторая означает, что версии вложений так же будут хранится на жестком диске, третья означает что корзина с удаленными файлами так же будет хранится на жестком диске. Минус данного решения состоит в нагрузке на путь к файлам, которые ложатся на файловую систему
Так же в документации на сайте следует замечание, что руками в этой структуре файлов ковыряться не надо, иначе произойдет рассогласование между данными и ссылками, а так же можно получить ошибку.
Т.к. в пользовательском интерфейсе в корзине удаленные вложения не значатся (к удаляемым страницам это не относится) я рекомендую отключить корзину для удаленных файлов и их версий, пока этот баг не будет исправлен:
Для того что бы действие вступило в силу — перезапустить XWiki
Теперь изменяем ограничение в 32Мб на размер вложений, т.к. оно более не актуально, для этого необходимо:
1. Перейти по адресу: http://«yourwiki»/xwiki/bin/edit/XWiki/XWikiPreferences?editor=object
2. Раскрыть список «XWikiPreferences 0»
3. Проскроллировать вниз до пункта «Maximum Upload Size» и изменить его на любое другое значение (в байтах!!!)
4. Проскроллировать вниз до кнопки «Save»
Для того что бы действие вступило в силу — принудительно обновить страницу.
Первым делом мы меняем расположение хранение вложенных файлов с БД на файловую систему, для этого необходимо внести изменения в xwiki.cfg (..\webapps\xwiki\WEB-INF\) (Последовательность символов #-# и # в файлах конфигурации означает комментарий)
xwiki.store.attachment.hint = file
xwiki.store.attachment.versioning.hint = file
xwiki.store.attachment.recyclebin.hint = file
Первая переменная здесь означает что вложения будут писаться на жесткий диск. Вторая означает, что версии вложений так же будут хранится на жестком диске, третья означает что корзина с удаленными файлами так же будет хранится на жестком диске. Минус данного решения состоит в нагрузке на путь к файлам, которые ложатся на файловую систему
Так же в документации на сайте следует замечание, что руками в этой структуре файлов ковыряться не надо, иначе произойдет рассогласование между данными и ссылками, а так же можно получить ошибку.
известный Баг
There is a bug in XWiki, that prevents restoring attachments from the recycle bin via UI: you will find empty LiveTable. Attachment delete action brings new version to the document, so, the correct way to restore the attachment is to rollback to the necessary version. If you delete the document with the attachment and then click delete again to permanently expunge the document from history, the attachment will be removed from your system together
One of the options to avoid mess with attachments in the filesystem until this bug would be fixed, just turn off recycle bin for attachments at all.
примерный перевод
Существует ошибка в XWiki, которая мешает восстановить удаленные вложения из корзины через пользовательский интерфейс: вы найдете пустой LiveTable. Действие по удалению вложения сбивает счетчик версии документа, поэтому, правильный путь, чтобы восстановить вложение — это откат до нужной версии. Если удалить документ с приложением, а затем нажмите кнопку еще раз, чтобы удалить навсегда удалялись документ из истории, вложенный файл будет удален из системы вместе. Один из вариантов, чтобы избежать путаницы с вложениями в файловой системе, пока эта ошибка не будет исправлена, просто отключить корзины для всех удаленных вложений
One of the options to avoid mess with attachments in the filesystem until this bug would be fixed, just turn off recycle bin for attachments at all.
примерный перевод
Существует ошибка в XWiki, которая мешает восстановить удаленные вложения из корзины через пользовательский интерфейс: вы найдете пустой LiveTable. Действие по удалению вложения сбивает счетчик версии документа, поэтому, правильный путь, чтобы восстановить вложение — это откат до нужной версии. Если удалить документ с приложением, а затем нажмите кнопку еще раз, чтобы удалить навсегда удалялись документ из истории, вложенный файл будет удален из системы вместе. Один из вариантов, чтобы избежать путаницы с вложениями в файловой системе, пока эта ошибка не будет исправлена, просто отключить корзины для всех удаленных вложений
Т.к. в пользовательском интерфейсе в корзине удаленные вложения не значатся (к удаляемым страницам это не относится) я рекомендую отключить корзину для удаленных файлов и их версий, пока этот баг не будет исправлен:
storage.attachment.recyclebin=0
xwiki.store.attachment.versioning=0
Для того что бы действие вступило в силу — перезапустить XWiki
Теперь изменяем ограничение в 32Мб на размер вложений, т.к. оно более не актуально, для этого необходимо:
1. Перейти по адресу: http://«yourwiki»/xwiki/bin/edit/XWiki/XWikiPreferences?editor=object
2. Раскрыть список «XWikiPreferences 0»
3. Проскроллировать вниз до пункта «Maximum Upload Size» и изменить его на любое другое значение (в байтах!!!)
4. Проскроллировать вниз до кнопки «Save»
Для того что бы действие вступило в силу — принудительно обновить страницу.
II. Interface setup
Общий тюнинг интерфейса XWiki осуществлялся в предыдущей статье, по-этому автор не будет на этом останавливаться подробно, а сосредоточится на подборке новой информации.
III. Configure Office Integration
Конечно же имеется ввиду Open Office/Libre Office. Для начала необходимо установить один из пакетов в систему. Далее необходимо внести изменения в xwiki.properties (..\webapps\xwiki\WEB-INF\) и установить параметр:
а так же прописать пути к каталогам установленного офисного пакета в следующих переменных:
прим. Ссылка на подробное описание установок на англ.
openoffice.autoStart=true
а так же прописать пути к каталогам установленного офисного пакета в следующих переменных:
openoffice.homePath=C:/Users/{user}/AppData/Roaming/openOffice.org/3
openoffice.profilePath=C:/Program Files/OpenOffice.org 3
Известный баг и способ его обхода
Из-за бага XWiki bug 7164, XWiki игнорирует переменную openoffice.homePath для office server в файле xwiki.properties. Для этого необходимо дополнительно в Windows модифицировать файл start_xwiki.bat в каталоге XWiki, вставив в него следующую строку (с учетом Вашего пути к установленному пакету офис):
для Linux модифицировать файл start_xwiki.sh
и перезапустить XWiki.
set XWIKI_OPTS=%XWIKI_OPTS% -Doffice.home=«C:\Program Files\LibreOffice 3.4»
для Linux модифицировать файл start_xwiki.sh
set XWIKI_OPTS=%XWIKI_OPTS% -Doffice.path=/usr/lib/libreoffice/
и перезапустить XWiki.
прим. Ссылка на подробное описание установок на англ.
IV. Extensions for comfortable work and administration
Общий перечень расширений доступен следующей ссылке:
extensions.xwiki.org/xwiki/bin/view/Main
Установка всех расширений осуществляется из админки. Всего есть 2 способа установит расширение:
1. Зайти в «Administer Wiki» -> «Extension Manager» -> «Add Extensions». Далее вводится в строку для поиска название или часть названия/функционала на латинице и нажимается «Enter», в выведенных результатах, база расширений как и сами расширения находится на сайте XWiki, кликаем «Install», «Continue»
2. Загружаем с сайта файл(ы) с расширением *.xar, заходим в «Administer Wiki» -> «Content» -> «Import», выбираем и загружаем файл, кликаем по нему в окне и следом соглашаемся импортировать.
extensions.xwiki.org/xwiki/bin/view/Main
Установка всех расширений осуществляется из админки. Всего есть 2 способа установит расширение:
1. Зайти в «Administer Wiki» -> «Extension Manager» -> «Add Extensions». Далее вводится в строку для поиска название или часть названия/функционала на латинице и нажимается «Enter», в выведенных результатах, база расширений как и сами расширения находится на сайте XWiki, кликаем «Install», «Continue»
2. Загружаем с сайта файл(ы) с расширением *.xar, заходим в «Administer Wiki» -> «Content» -> «Import», выбираем и загружаем файл, кликаем по нему в окне и следом соглашаемся импортировать.
Администрирование: Экспорт вложений - Export All Attachments
Описание на английском доступно по следующей ссылке:
extensions.xwiki.org/xwiki/bin/view/Extension/Export+All+Attachments
Удобно для того что бы массово сохранять все вложения в каждой конкретной Wiki/СубWiki. Для этого создается отдельная страница с любым наименованием, затем копируется код, страница сохраняется и в получившейся объекте вручную заполняются поля формы.
Минусы решения — заполнение происходит вручную, из-за того что XWiki работает в кодировке UTF-8 имена файлов на кириллице трансформируются набор букв и цифр, что вызывает неудобства. Как это решить? На текущий момент автор находится в творческом поиске.
extensions.xwiki.org/xwiki/bin/view/Extension/Export+All+Attachments
код доступный по ссылке
=Export Attachments=
{{info}}
By default, the export is made from the **current database** and from **all spaces**.
{{/info}}
{{velocity}}
{{html}}
; Database:
: />
; Space name:
: />
; Path to directory to write to:
: />
; /> Confirm
: />
{{/html}}
{{/velocity}}
{{groovy}}
import com.xpn.xwiki.*;
import com.xpn.xwiki.api.*;
import com.xpn.xwiki.doc.*;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.net.URL;
class ExportedAttachments {
static attachmentsNo = 0;
}
// Export attachments
def void exportAttachments(XWikiContext context) {
def dirPath = request.dirpath + "/";
def dir = new File(dirPath);
String hqlDocCount = "select distinct count(doc.name) from XWikiDocument as doc";
String hqlDocList = "select doc.fullName from XWikiDocument as doc";
if(request.spaceName && request.spaceName != ''){
hqlDocCount += " where doc.web='" + request.spaceName + "'";
hqlDocList += " where doc.web='" + request.spaceName + "'";
}
XWiki wiki = context.getWiki();
int total = wiki.getStore().search(hqlDocCount, 0, 0, context).get(0);
println "**" + total + "** documents to search for attachments";
List documentNames = null;
int offset = 0;
while (documentNames == null || documentNames.size() == 100) {
documentNames = wiki.getStore().search(hqlDocList, 100, offset, context);
for (docName in documentNames) {
try {
XWikiDocument doc = context.getWiki().getDocument(docName, context);
exportDocAttachments(doc, dir, context);
} catch (Exception e) {
println "{{error}} Error : " + e + "{{/error}}";
}
}
offset += documentNames.size();
}
println "";
println "((({{info}}Export done.{{/info}})))";
println "**" + ExportedAttachments.attachmentsNo + "** attachments exported.";
}
// Export attachments for the given document
def void exportDocAttachments(XWikiDocument doc, File dir, XWikiContext context) {
if(doc.getAttachmentList().size() > 0){
println "* **" + doc.fullName + "**";
for (XWikiAttachment attach in doc.getAttachmentList()) {
println "** " + attach.filename;
try {
// Create file
File spaceDir = new File(dir, java.net.URLEncoder.encode(doc.web));
File docDir = new File(spaceDir, java.net.URLEncoder.encode(doc.name));
File destinationFile = new File(docDir, java.net.URLEncoder.encode(attach.filename));
def attachmentURL = doc.getExternalAttachmentURL(attach.filename, 'download', context);
// Copy attachment from URL
URL url = new URL(attachmentURL);
FileUtils.copyURLToFile(url, destinationFile);
ExportedAttachments.attachmentsNo++;
}catch(Exception e){
println "{{error}} Error: Could not create file: " + e + "{{/error}}";
}
}
}
}
// Handle request
if(request.confirm && request.dirpath){
// Set database
def currentDatabase = xcontext.getDatabase();
def newDatabase = currentDatabase;
if(request.dbName && request.dbName != ''){
newDatabase = request.dbName
}
xcontext.setDatabase(newDatabase);
println "=Exporting attachments from **" + newDatabase + "** wiki=";
// Export
exportAttachments(xcontext.context);
// Reset database
xcontext.setDatabase(currentDatabase);
}
{{/groovy}}
Удобно для того что бы массово сохранять все вложения в каждой конкретной Wiki/СубWiki. Для этого создается отдельная страница с любым наименованием, затем копируется код, страница сохраняется и в получившейся объекте вручную заполняются поля формы.
Минусы решения — заполнение происходит вручную, из-за того что XWiki работает в кодировке UTF-8 имена файлов на кириллице трансформируются набор букв и цифр, что вызывает неудобства. Как это решить? На текущий момент автор находится в творческом поиске.
Галерея для вложений - Lightbox Macro
Описание на английском доступно по следующей ссылке:
extensions.xwiki.org/xwiki/bin/view/Extension/Lightbox+Macro
Установка и настройка рассматривались в предыдущей статье
Описание на английском доступно по следующей ссылке:
extensions.xwiki.org/xwiki/bin/view/Extension/Lightbox+Macro
Установка и настройка рассматривались в предыдущей статье
Менеджер задач - Task Manager Application
Описание на английском доступно по следующей ссылке:
extensions.xwiki.org/xwiki/bin/view/Extension/Task+Manager+Application
Самый что ни наесть менеджер задач. Плюсы в том что бесплатен и, относительно, гибок, минусы упираются в ограничения длины пути для вложенных файлов, из-за чего рекомендуется, если запускать под Windows, имена файлам вложений давать покороче, как и сами названия задач и Project'ов. Так же рекомендуется избегать символа «кавычки», т.к. при редактировании редактор все норовит обрезать имя задачи на конец фразы после первой «кавычки».
Внешнее отображение колонок можно менять, на взгляд автора там несколько больше ненужной для личного пользования информации, а вот важный пункт — "% выполнения" в стандартном отображении отсутствует. Таким образом заходим на страницу Task Manager'а, выбираем Правку страницы обычным редактором, не WYSIWYG и копируем следующий текст:
Чего данный Task Manager не умеет, так это уведомлять о просроченном задании и вообще сигнализировать. Возможно авторы добавят это в следующей версии или выйдет новый Task Manager с улучшенным функционалом. Однако для структурирования информации и общей работы с платформой Wiki — он хорош. Из минусов так же стоит отметить отсутствие WYSIWYG редактора при создании и редактировании задач, однако макросы и код программирования эти страницы выполняют корректно.
Описание на английском доступно по следующей ссылке:
extensions.xwiki.org/xwiki/bin/view/Extension/Task+Manager+Application
Самый что ни наесть менеджер задач. Плюсы в том что бесплатен и, относительно, гибок, минусы упираются в ограничения длины пути для вложенных файлов, из-за чего рекомендуется, если запускать под Windows, имена файлам вложений давать покороче, как и сами названия задач и Project'ов. Так же рекомендуется избегать символа «кавычки», т.к. при редактировании редактор все норовит обрезать имя задачи на конец фразы после первой «кавычки».
Внешнее отображение колонок можно менять, на взгляд автора там несколько больше ненужной для личного пользования информации, а вот важный пункт — "% выполнения" в стандартном отображении отсутствует. Таким образом заходим на страницу Task Manager'а, выбираем Правку страницы обычным редактором, не WYSIWYG и копируем следующий текст:
Код
Здесь добавляется поле 'progress': 'progress': {«type»:«number»,«size»:10, «html»:true},, т.е. прогресс в строке #set ($columns = ['number', 'name', 'project', 'progress', 'status', 'severity', 'reporter', 'assignee', 'duedate', '_actions']) этот параметр добавляется после project, в случае если на Ваш взгляд некоторые колонки лишние, то их отображение можно убрать именно здесь, отредактировав строку.
{{velocity}}
#set ($discard = $services.localization.use('document', 'TaskManager.TaskManagerTranslations'))
#set ($discard = $xwiki.ssfx.use('uicomponents/widgets/userpicker/userPicker.css'))
#set ($columnsProperties = {
'number': {"type":"number","size":10},
'name': {"type":"text","size":10, "link":"view"},
'project': {"type":"list","size":10},
'status': {"type":"list","size":10,"html":true},
'severity': {"type":"list","size":10,"html":true},
'reporter': {"type":"text","size":10,"html":true},
'assignee': {"type":"text","size":10,"html":true},
'duedate': {"type":"text","size":10},
'progress': {"type":"number","size":10, "html":true},
'_actions': {"sortable":false,"filterable":false,"html":true,"actions":["edit","delete"]}
})
#set ($options = {
'className': 'TaskManager.TaskManagerClass',
'resultPage': 'TaskManager.TaskManagerLiveTableResults',
'translationPrefix': 'taskmanager.livetable.',
'tagCloud': true,
'rowCount': 1000,
'maxPages': 100,
'selectedColumn': 'number',
'defaultOrder': 'asc'
})
#set ($columns = ['number', 'name', 'project', 'progress', 'status', 'severity', 'reporter', 'assignee', 'duedate', '_actions'])
#livetable('taskmanager' $columns $columnsProperties $options)
{{/velocity}}
Здесь добавляется поле 'progress': 'progress': {«type»:«number»,«size»:10, «html»:true},, т.е. прогресс в строке #set ($columns = ['number', 'name', 'project', 'progress', 'status', 'severity', 'reporter', 'assignee', 'duedate', '_actions']) этот параметр добавляется после project, в случае если на Ваш взгляд некоторые колонки лишние, то их отображение можно убрать именно здесь, отредактировав строку.
Чего данный Task Manager не умеет, так это уведомлять о просроченном задании и вообще сигнализировать. Возможно авторы добавят это в следующей версии или выйдет новый Task Manager с улучшенным функционалом. Однако для структурирования информации и общей работы с платформой Wiki — он хорош. Из минусов так же стоит отметить отсутствие WYSIWYG редактора при создании и редактировании задач, однако макросы и код программирования эти страницы выполняют корректно.
Файловый менеджер - File Manager Application
Описание на английском доступно по следующей ссылке:
extensions.xwiki.org/xwiki/bin/view/Extension/File+Manager+Application
Вариант для хранения под рукой необходимых файлов — личное/общественное мини-облако. В отличие от Export All Attachments корректно обрабатывает кириллицу при выгрузке файлов на ПК.
Описание на английском доступно по следующей ссылке:
extensions.xwiki.org/xwiki/bin/view/Extension/File+Manager+Application
Вариант для хранения под рукой необходимых файлов — личное/общественное мини-облако. В отличие от Export All Attachments корректно обрабатывает кириллицу при выгрузке файлов на ПК.
Мастер Диаграмм - Diagram Application
Описание на английском доступно по следующей ссылке:
extensions.xwiki.org/xwiki/bin/view/Extension/Diagram+Application
Описание на английском доступно по следующей ссылке:
extensions.xwiki.org/xwiki/bin/view/Extension/Diagram+Application
Планировщик встреч - Meeting Application
Описание на английском доступно по следующей ссылке:
extensions.xwiki.org/xwiki/bin/view/Extension/Meeting+Application
Планировщик встреч, имеет встроенный графический интерфейс календаря, а так же привязывается картинку из GoogleMaps к месту встречи.
еще картинки
Описание на английском доступно по следующей ссылке:
extensions.xwiki.org/xwiki/bin/view/Extension/Meeting+Application
Планировщик встреч, имеет встроенный графический интерфейс календаря, а так же привязывается картинку из GoogleMaps к месту встречи.
Календарь - Mocca Calendar Application
Описание на английском доступно по следующей ссылке:
extensions.xwiki.org/xwiki/bin/view/Extension/MoccaCalendar
Календарь — ежедневник.
Описание на английском доступно по следующей ссылке:
extensions.xwiki.org/xwiki/bin/view/Extension/MoccaCalendar
Календарь — ежедневник.
Элементы интерфейса - XWiki Back To Top
Описание на английском доступно по следующей ссылке:
extensions.xwiki.org/xwiki/bin/view/Extension/Back+To+Top
При прокрутке текста, занимающего больше одной страницы, в правом нижнем углу окна появляется кнопка «Вверх»
extensions.xwiki.org/xwiki/bin/view/Extension/Back+To+Top
При прокрутке текста, занимающего больше одной страницы, в правом нижнем углу окна появляется кнопка «Вверх»
Элементы интерфейса - Tabs Macro
Описание на английском доступно по следующей ссылке:
extensions.xwiki.org/xwiki/bin/view/Extension/Tabs+Macro
Макрос позволяющий добавить в редактируемую страницу вкладки
Описание на английском доступно по следующей ссылке:
extensions.xwiki.org/xwiki/bin/view/Extension/Tabs+Macro
Макрос позволяющий добавить в редактируемую страницу вкладки
Код для примера
{{tabs idsToLabels='tabId11=My xwiki-wide tabs, tabId12=My working tabs :)' /}}
(%id="tabId11"%)((({{box cssClass="tabId11div"}}
First tab!
{{/box}}
I can post any content here
)))
(%id="tabId12"%)((({{box cssClass="tabId12div"}}
Second tab!
{{/box}}
And here too
)))
Элементы интерфейса - ShowHide Macro
Описание на английском доступно по следующей ссылке:
extensions.xwiki.org/xwiki/bin/view/Extension/Ajax+and+Show+Hide+Macro
Настраиваемый спойлер для текста.
Описание на английском доступно по следующей ссылке:
extensions.xwiki.org/xwiki/bin/view/Extension/Ajax+and+Show+Hide+Macro
Настраиваемый спойлер для текста.
Аннотации (интегрированный макрос)
Описание на английском доступно по следующей ссылке:
extensions.xwiki.org/xwiki/bin/view/Extension/Annotations+Application
вместо тысячи слов…
Описание на английском доступно по следующей ссылке:
extensions.xwiki.org/xwiki/bin/view/Extension/Annotations+Application
вместо тысячи слов…
The culmination of
XWiki is the second-generation wiki, written in Java, the LGPL distribution license , functionality includes a blog, API tools, comments, LDAP authentication, page export to PDF. Used by many companies around the world. 25 interface languages, including Russian.
The purpose of the second article is to describe the settings for working in field conditions, for example, on a business trip. What does a VET engineer need? A laptop with a 15 "display, a package of office programs, some system for storing and structuring information and, at least for 2-3 hours a day, an Internet access point for receiving and sending mail. Why Wiki? Because the executive documentation is regularly edited and rewritten , i.e., versioning is required, which is easy to organize on a hard OS, but at the same time comments on versions are sometimes more valuable than files, as well as an application that allows you to keep a certain diary of events and microevents, which all applications successfully solve track (Calendar) and tasks (Tasks).
Result of work:
Now we have a Wiki-engine including functionality:
- Blog;
- WYSIWIG editor;
- Image galleries;
- Possibilities of editing and creating new macros;
- Possibilities for programming scripts (Velocity, Groovy, Python, Ruby and PHP) and syntax support for popular Wiki engines (Confluence, JSPWiki, Creole, MediaWiki, and TWik);
- Calendar and meeting planner;
- task manager;
- charting;
- Integration with Office applications;
- file manager.
Thanks for attention. :)