Компиляция и установка модуля для онлайн-редактирования документов в LibreOffice

Здравствуйте!

После прочтения документации по интеграции Alfresco с LibreOffice я был очень удивлен, почему при наличии поддержки CMIS  с обеих сторон нет реализации онлайн-редактирование документов, как это сделано для MS Office (правда, там используется другой протокол, да не суть важно). К моей величайшей радости, существует бесплатный модуль для Alfresco, реализующий этот функционал. Называется он alfresco-libreoffice-online-edit. К сожалению, доступен он только в виде исходников на гитхабе (github.com/Redpill-Linpro/alfresco-libreoffice-online-edit) и собирается в Maven. Ну что ж, будем осваивать Maven!

На самом деле, все это совсем нестрашно и не займет много времени даже у начинающего администратора. Для знакомства с Maven рекомендую ознакомиться с замечательной статьей на хабре (habrahabr.ru/post/77382/). Там же расписана установка для Windows. Также процесс установки описан на официальном сайте Maven (www.apache-maven.ru/install.html). Кратко приведу описание установки на Windows:

1) Скачать и распаковать архив с бинарниками Maven (apache-maven-3.1.1-bin.zip), например в C:\Maven.
2) Установить Java Development Kit (JDK).
3) Добавить переменные окружения:
M2_HOME = C:Maven
M2 = %M2_HOME%bin
К Path добавить ;%M2%
JAVA_HOME = C:Program FilesJavajdk1.7.0_25

Для создания своего проекта для Alfresco необходимо в командной строке ввести
mvn archetype:generate -DarchetypeCatalog=https://artifacts.alfresco.com/nexus/content/groups/public/archetype-catalog.xml -Dfilter=org.alfresco.maven.archetype:
Для создания нового проекта выбрать опцию 2 (alfresco-allinone-archetype), а также указать groupId и artifactId для нового проекта (все это описано здесь: artifacts.alfresco.com/nexus/content/repositories/alfresco-docs/alfresco-lifecycle-aggregator/latest/archetypes/alfresco-allinone-archetype/index.html).

Нам же потребуется скачать исходники модуля с гитхаба и распаковать их. Также крайне рекомендую ознакомиться со списком нерешенных проблем для текущей версии модуля.  В частности, в Alfresco 4.2.e изменился URL для CMIS, поэтому необходимо в строке 161 файла libreoffice-actions.js изменить "/cmisws/RepositoryService?wsdl" на "/service/cmis" (github.com/Redpill-Linpro/alfresco-libreoffice-online-edit/issues/15). Еще наш соотечественник сделал коммит с добавлением файла руссификации (github.com/Redpill-Linpro/alfresco-libreoffice-online-edit/pull/21). Я этот файлик (libreoffice_ru.properties) скачал и положил в нужное место к другим файлам локализации (libreoffice-online-edit-share\src\main\amp\config\alfresco\messages). Теперь все готово для сборки модуля!

Для сборки пакета необходимо перейти в папку с исходниками (там, где находится pom.xml) и выполнить команду mvn clean package. Если вы все сделали правильно, то после загрузки всего необходимого и компиляции в папке target проекта должен появиться файл libreoffice-online-edit-share-1.1.0.amp.

Дальше все делаем согласно инструкции к модулю (дальнейшие мои действия происходят в Linux, <alfresco> - путь к Alfresco). Предварительно рекомендуется внести изменения в конфигурацию Share. Открываем файл <alfresco>/tomcat/shared/classes/alfresco/web-extension/share-config-custom.xml и внутри тега <alfresco-config> добавляем:
<!--
   LibreOffice Online Edit Configuration
-->
<config evaluator="string-compare" condition="DocumentLibrary" replace="true">
   <libreoffice-cmis-base-url>http://<yourhost>:8080/alfresco</libreoffice-cmis-base-url>
</config>
Копируем модуль и останавливаем Alfresco:
cp libreoffice-online-edit-share-1.1.0.amp <alfresco>/amps_share/
service alfresco stop
Устанавливаем модуль:
<alfresco>/java/bin/java -jar <alfresco>/bin/alfresco-mmt.jar install <alfresco>/amps_share/libreoffice-online-edit-share-1.1.0.amp <alfresco>/tomcat/webapps/share.war -force
Удаляем временные файлы Share и распакованный share.war:
rm -Rf <alfresco>/tomcat/webapps/share
rm -Rf <alfresco>/tomcat/work/Catalina
Запускаем Alfresco:
service alfresco start
И, наконец, заходим на страницу Share Module Deployment и активируем наш модуль:
http://<yourhost>:8080/share/page/modules/deploy

Если все прошло успешно, то на странице сведений о документе появится пунктРедактировать в LibreOffice

Благодарю за внимание! :)
2722
Прикрепленные файлыРазмер
lo_edit.png1.01 кб

Комментарии

собрал модуль.
после установки alfresco 4.2.d, не запуская сервер, скопировал его в amps_share.
подключал ./apply_amps.sh (ошибок не выдал)
напрочь пропала функция предварительного просмотра. волшебного пунктаРедактировать в LibreOffice
нет, причем libre запущен. при создании проекта указал версию 4.2.d.
Все пункты установки выполняли? Модуль активировали?