NetK - Система електронного документообігу Alfresco на базі FreeBSD

Система електронного документообігу Alfresco на базі FreeBSD

Мені було поставлено завдання впровадити систему електронного документообігу для територіально-розподіленої організації. Програмне забезпечення для СЕД має бути безкоштовним, з відкритим вихідним кодом, кросплатформним та призначеним для великих підприємств.

На перший погляд, все здорово - автоматизація корпоративного контенту, проте це зачіпає всіх співробітників і, як показує практика впровадження системи обліку заявок, хвилі невдоволень та опору вчитися новому з їхнього боку не уникнути.

Хочу зазначити, що успішність електронного документообігу багато в чому залежить від налагодженості процесів, які відбуваються в організації. Іншими словами, що маємо на вході, то й отримаємо на виході, а СЕД дозволяє лише прискорити цей процес.

Першим кандидатом на роль системи електронного документообігу стала ВЕД Alfresco.

  • Alfresco Community- розповсюджуються вільно без підтримки.
  • Alfresco Enterprise- поширюються за допомогою від розробників.

Для роботи Alfresсo необхідно встановити:

  • /usr/ports/java/jdk16
  • /usr/ports/databases/mysql55-server
  • /usr/ports/www/tomcat7
  • /usr/ports/graphics/ImageMagick
  • /usr/ports/print/acroread9
  • /usr/ports/editors/openoffice.org-3
  • Flash Player
  • /usr/ports/graphics/swftools

Java JDK1.6

Встановлення Java JDK займає тривалий час. На системі з 1,5Гб оперативної пам'яті та 1,8MHz CPU складання займе близько 6 годин. За ліцензійними обмеженнями кожен компонент для встановлення доведеться викачувати вручну та розміщуватиу папці /usr/ports/distfiles/: bsd-jdk16-patches-4.tar.bz2 diablo-caffe-freebsd7-i386-1.6.0_07-b02.tar.bz2 jdk-6u3 -fcs-bin-b05-jrl-24_sep_2007 jdk-6u3-fcs-mozilla_headers-b05-unix-24_sep_2007 jdk-6u3-fcs-src-b05-jrl-24_sep_20 Після розміщення необхідних пакетів можна починати зі збирання та інсталяції:

Apache Tomcat 7

Tomcat (у старих версіях — Catalina) — програма-контейнер сервлетів, написана мовою Java і реалізує специфікацію сервлетів та специфікацію JavaServer Pages (JSP), які є стандартами розробки веб-додатків мовою Java. Сервлет є Java-програмою, що виконується на стороні сервера та розширює функціональні можливості сервера.

Опція -server забезпечує запуск Tomcat із серверною версією JVM, яка відрізняється більш агресивним збирачем сміття GC, дещо іншою стратегією управління пам'яттю та JIT. Apache Tomcat запускається та прослуховує вхідні з'єднання на непривілейованих портах. Запуск Tomcat на 80 порту можливий лише від імені root'а: http://192.168.0.1:8080

Завантажуємо архів: http://process.alfresco.com/ccdl/?file=release/community/build-3370/alfresco-community-3.4.d.zip

Кладемо web-server/webapps/alfresco.war та web-server/webapps/share.war до директорії на сервері /usr/local/apache-tomcat-7.0/webapps/.

mysql-connector-java-5.1.13-bin.jar розміщуємо у папці /usr/local/apache-tomcat-7.0/lib.

Копіюємо web-server/shared в /usr/local/apache-tomcat-7.0/. Створюємо папку /usr/local/apache-tomcat-7.0/shared/lib.

Створюємо базу даних для alfresco:

Створюємо та керуємо конфігураційний файл з глобальними налаштуваннями:

# cp /usr/local/apache-tomcat-7.0/webapps/alfresco/WEB-INF/classes/alfresco-global.properties.sample /usr/local/apache-tomcat-7.0/webapps/alfresco/WEB-INF/classes/alfresco-global.properties # cp /usr/local/apache-tomcat-7.0/webapps/alfresco/WEB-INF/classes/alfresco-global.properties /usr/local/apache-tomcat-7.0/shared/classes/

/alfresco-global.properties: dir.root=/usr/local/apache-tomcat-7.0/webapps/alfresco/alf_data db.driver=org.gjt.mm.mysql.Driver db .url=jdbc:mysql://localhost:3306/alfresco?useUnicode=yes&characterEncoding=UTF-8

У файлі /usr/local/apache-tomcat-7.0/conf/catalina.properties вказуємо shared.loader= property to the following: shared.loader=$/shared/classes,$/shared/lib/*.jar

Правимо /usr/local/apache-tomcat-7.0/conf/server.xml. Встановлюємо кодування UTF-8. За замовчуванням Tomcat використовує ISO-8859-1. Це може створити проблеми при створенні, завантаженні та перейменуванні файлів в міжнародному кодуванні.

Пробуємо зайти http://192.168.0.1:8080/alfresco та облом - купа помилок у логах (/usr/local/apache-tomcat-7.0/logs/stdout.txt):

Alfresco використовує JAXB 2.1 API, а в системі встановлено JAXB 2.0 API. Розділ JAXB проект є розробкою і evolve the code base for Reference of JAXB, Java Architecture for XML Binding

За замовчуванням спочатку завантажується бібліотека з java (JAXB 2.0), тому потрібно перевизначити порядок дзвінка бібліотеки. Для цього можна розмістити jaxb-api-2.1.jar у директорії endorsed: