Компиляция и установка модуля для онлайн-редактирования документов в 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) Добавить переменные окружения:
Для создания своего проекта для Alfresco необходимо в командной строке ввести
Нам же потребуется скачать исходники модуля с гитхаба и распаковать их. Также крайне рекомендую ознакомиться со списком нерешенных проблем для текущей версии модуля. В частности, в 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> добавляем:
Если все прошло успешно, то на странице сведений о документе появится пункт
Благодарю за внимание! :)
После прочтения документации по интеграции 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
Если все прошло успешно, то на странице сведений о документе появится пункт
Благодарю за внимание! :)
Прикрепленные файлы | Размер |
---|---|
lo_edit.png | 1.01 кб |
Комментарии
13/07/2014 - 06:34
после установки alfresco 4.2.d, не запуская сервер, скопировал его в amps_share.
подключал ./apply_amps.sh (ошибок не выдал)
напрочь пропала функция предварительного просмотра. волшебного пункта
нет, причем libre запущен. при создании проекта указал версию 4.2.d.
18/07/2014 - 18:29