Установка модуля отчетов ZuckerReports

Доброго времени суток, всем почитателям SugarCRM.

Расскажу в свою очередь, как установить такой полезный для CRM модуль, как модуль отчетов, так как в бесплатную версию crm он не включен. Выбор пал на ZuckerReports. Здесь вся история развития этого проекта.

Буду исходить из того, что сам SugarCRM у вас уже стоит, владелец, группа и их права расставлены правильно (в случае с Linux).

Скачайте и установите Java Virtual Machine:

sudo apt-get install sun-java6-jdk

— в консоли, либо

http://java.sun.com/javase/downloads/widget/jdk6.jsp

Скачиваем сам модуль отчетов:

wget http://www.sugarforge.org/frs/download.php/6616/ZuckerReportsCE_1.12_module_corrected1.zip

Устанавливаем данный модуль через загрузчик модулей в админ панели.

Если вы планируете использовать отчеты Microsoft Office в модуле, у вас должен быть установлен рабочий Microsoft.NET Framework и Microsoft Office, естественно.

Если вы хотите работать с JasperReports в модуле, скачайте и установите для них визуальный редактор: iReport.

Я устанавливал iReport-3.0.0, так как та немногая, что можно достать бесплатно, литература, писалась под эту (либо старше) версию программы. Начиная с  iReport NB Release 3.1.2, поддерживается JavaScript как внутренний язык для выражений. Тут решать вам, мне было проще писать выражения на Groovy.

Также имеет смысл почитать мануал по zuckerreports, пусть он и для версии 1.6. Пропадут (или не возникнут) сразу несколько вопросов, поиск ответов на которые занимает немало времени.

Выделю ключевые моменты установки (SugarCRM у меня установлена в /home/www/sugar, OC — Ubuntu ):
1. Напоминаю еще раз про права для владельца и группы пользователей для Ubuntu. Для смены владельца и группы для директории SugarCRM в моем случае:

sudo chown -R www-data: www-data /home/www/sugar

Переходим в директорию SugarCRM:

cd /home/www/sugar

Назначаем права:

sudo chmod -R 766 .

2. Подправьте php.ini:

post_max_size = 4M меняем на  post_max_size = 40M.

Если не изменить, то при попытке загрузить модуль ZuckerReports в ModuleLoader страница обновится, SugarCRM не выдаст ни одной ошибки, но модуль в загруженных не появится.

3. Иногда надо раскомментировать «java_cmdline» для вашей ОС:

sudo gedit /home/www/sugar/modules/ZuckerReports/config.php

4. Проследите, чтобы Temp-директория для PHP была без пробелов.

5. Если после установки ZuckerReports не появился во вкладках SugarCRM, заходите Administration: -> Configure Tabs: и там перетащите ZuckerReports из Hidden Tabs в Displayed Tabs.

И последний шаг — скопируйте библиотеки из iReport в папку jasper в модуле ZuckerReports:

sudo cp -R /home/makoviy/downloads/iReport-3.0.0/ireport/modules/ext/ /home/www/sugar/modules/ZuckerReports/jasper

Если вы хотите посмотреть примеры отчетов из DemoPack, то для их запуска вам все равно понадобится библиотека jasperreports-3.0.0.jar, так как последние версии iReport как-то по-другому формируют XML.

Как видим, установка ZuckerReports, хотя и имеет много нюансов, на самом деле включает в себя максимум 3 шага
— скачать и установить Java Virtual Machine;

— скачать и установить ZuckerReports;

— скопировать библиотеки из iReport в директорию «modules/ZuckerReports/jasper».

В следующий раз я расскажу подробнее про редактор JasperReports, разберу несколько типичных ошибок и постараюсь ответить на вопросы, касающиеся ошибок, с которыми вы столкнулись.

Высказать своё мнение о статье Вы можете в комментариях, если Вас интересуют какие либо вопросы или дополнения, то обсуждение по данной теме доступно на нашем форуме.

Вы можете оставить комментарий, или поставить трэкбек со своего сайта.

Есть 30 коммент. к “Установка модуля отчетов ZuckerReports”

  1. Владимир:

    а у меня модуль не хочет устанавливаться — при загрузке

    zip файла 3 раза пытается загрузится, доходит до 5% и пишет в итоге:

    Веб-страница по адресу

    .../crm/index.php?module...on=UpgradeWizard,

    возможно, временно недоступна или постоянно перемещена по новому адресу.

    Что не так? Версия Sugar — 6.0.1

    • Шуга Админ:

      Добрый день, Владимир. Насколько я понял из ваших предыдущих комментариев, для SugarCRM вы используете обычный шаред хостинг, т.к. не имеете доступа к php.ini http://sugartalk.ru/add-photo-to-record.html/comment-page-1#comment-135 . Как вы тогда смогли установить виртуальную java машину? Причина невозможности установить модуль скорее всего кроется в невыполнении одного из пунктов описанных здесь, например, не установили java машину или не отредактировали параметр post_max_size.

  2. Konstantin:

    День добрый, странная ситуация... Сделал все по инструкции установил Яву, раздал права, но модуль не ставится. Он даже не появляется в списке загруженных модулей.

    Шуга стоит на рабочем компе для тестов, система Ubuntu 10.04, post_max_size = 40M.

    З.Ы. Отличный ресурс, очень помогли разобраться в мире CRM и определиться с выбором.

  3. Konstantin:

    Да забыл Шуга 6.0.2

  4. Konstantin:

    Разобрался, upload_max_filesize=40M, модуль загрузился, но теперь выдает «Загружаемый файл не совместим с установленной версией Sugar Suite: 6.0.2», есть решение или ставить Шугу старее?

    • Шуга Админ:

      Можете попробовать поменять параметр acceptable_sugar_versions на нужную версию в файле manifest.php данного модуля. Данная версия модуля с SugarCRM 6.0 работает, так что по идее Zucker Reports должен корректно работать и на 6.0.2 версии. К сожалению на практике пока не проверяли.

  5. Konstantin:

    спасибо помогло.

  6. Konstantin:

    Доброго времени суток, Zucker Reports встал, но при попытке создать jasper отчет в шаблонах, появляется пустая страничка с верхним меню SugarCRM. Не могу разобраться в чем дело.

    • Шуга Админ:

      Я только что установил все в соответствии с приведенными выше инструкциями... Всё работает =)

      Включите отображение об ошибках в php.ini и посмотрите на что ругается. Если не исправите — напишите сюда точную последовательность Ваших действий и текст ошибки.

      • Konstantin:

        Спасибо помогло отображение об ошибках в php.ini, в логах Апача посыпались errorы, причем в разных местах но из-за одной функции get_validate_js (), поправил, теперь вроде нормально, продолжаем тестирование :) . Большое спасибо

  7. Konstantin:

    1. Устанавливал точно по инструкции.

    2. [Wed Oct 06 16:43:51 2010] [error] [client 127.0.0.1] PHP Fatal error: Call to undefined function get_validate_js () in /var/www/sugarcrm/modules/ZuckerReportTemplate/EditView.php on line 52

  8. Andrew:

    Те же грабли. Непонятная функция, где оно должно обитать?

  9. Andrew:

    Спасибо за репортс под 6-ю sugarcrm. Все заработало.

  10. Sergey:

    Установил, как описано выше, но при запуске вываливает это вместо отчета.

    Error while running Report

    cmdline: java -Djava.awt.headless=true -classpath "custom/ZuckerReports/resources/:custom/ZuckerReports/resources/Activity.jasper_files/:modules/ZuckerReports/jasper/jasperreports-fonts-3.6.1.jar:modules/ZuckerReports/jasper/js_commons-httpclient-3.1.jar:modules/ZuckerReports/jasper/rhino-1.7R1.jar:modules/ZuckerReports/jasper/batik-svggen.jar:modules/ZuckerReports/jasper/poi-3.2-FINAL-20081019.jar:modules/ZuckerReports/jasper/js_mail-1.4.jar:modules/ZuckerReports/jasper/batik-gvt.jar:modules/ZuckerReports/jasper/batik-awt-util.jar:modules/ZuckerReports/jasper/log4j-1.2.15.jar:modules/ZuckerReports/jasper/jaxen-1.1.1.jar:modules/ZuckerReports/jasper/jdt-compiler-3.1.1.jar:modules/ZuckerReports/jasper/cglib-2.1.jar:modules/ZuckerReports/jasper/asm.jar:modules/ZuckerReports/jasper/mysql-connector-java-3.1.11-bin.jar:modules/ZuckerReports/jasper/bcel-5.2.jar:modules/ZuckerReports/jasper/jta.jar:modules/ZuckerReports/jasper/barcode4j-2.0.jar:modules/ZuckerReports/jasper/cincom-jr-xmla.jar:modules/ZuckerReports/jasper/batik-bridge.jar:modules/ZuckerReports/jasper/commons-math-1.0.jar:modules/ZuckerReports/jasper/commons-collections-3.2.1.jar:modules/ZuckerReports/jasper/batik-anim.jar:modules/ZuckerReports/jasper/js_axis-1.4patched.jar:modules/ZuckerReports/jasper/sqleonardo-2007.03.jar:modules/ZuckerReports/jasper/jasperreports-chart-themes-3.6.2.jar:modules/ZuckerReports/jasper/slf4j-log4j12.jar:modules/ZuckerReports/jasper/js_wsdl4j-1.5.1.jar:modules/ZuckerReports/jasper/hibernate3.jar:modules/ZuckerReports/jasper/eigenbase-resgen-1.3.0.11873.jar:modules/ZuckerReports/jasper/js_activation-1.1.jar:modules/ZuckerReports/jasper/ejb3-persistence.jar:modules/ZuckerReports/jasper/castor-1.2.jar:modules/ZuckerReports/jasper/js_commons-discovery-0.2.jar:modules/ZuckerReports/jasper/xml-apis.jar:modules/ZuckerReports/jasper/hibernate-annotations.jar:modules/ZuckerReports/jasper/js_jasperserver-common-ws-3.5.0.jar:modules/ZuckerReports/jasper/hibernate-commons-annotations.jar:modules/ZuckerReports/jasper/asm-attrs.jar:modules/ZuckerReports/jasper/commons-dbcp-1.2.2.jar:modules/ZuckerReports/jasper/jfreechart-1.0.12.jar:modules/ZuckerReports/jasper/commons-vfs-1.0.jar:modules/ZuckerReports/jasper/dom4j-1.6.jar:modules/ZuckerReports/jasper/jcommon-1.0.15.jar:modules/ZuckerReports/jasper/js_commons-codec-1.3.jar:modules/ZuckerReports/jasper/spring.jar:modules/ZuckerReports/jasper/batik-ext.jar:modules/ZuckerReports/jasper/hsqldb-1.8.0-10.jar:modules/ZuckerReports/jasper/iTextAsian.jar:modules/ZuckerReports/jasper/jpa.jar:modules/ZuckerReports/jasper/commons-javaflow-20060411.jar:modules/ZuckerReports/jasper/ehcache-1.1.jar:modules/ZuckerReports/jasper/jasperreports-extensions-3.5.3.jar:modules/ZuckerReports/jasper/swingx-2007_10_07.jar:modules/ZuckerReports/jasper/jxl-2.6.jar:modules/ZuckerReports/jasper/iText-2.1.0.jar:modules/ZuckerReports/jasper/js_saaj-api-1.3.jar:modules/ZuckerReports/jasper/commons-pool-1.3.jar:modules/ZuckerReports/jasper/batik-css.jar:modules/ZuckerReports/jasper/batik-util.jar:modules/ZuckerReports/jasper/barbecue-1.5-beta1.jar:modules/ZuckerReports/jasper/ant-1.7.1.jar:modules/ZuckerReports/jasper/commons-logging-1.1.jar:modules/ZuckerReports/jasper/groovy-all-1.5.5.jar:modules/ZuckerReports/jasper/batik-parser.jar:modules/ZuckerReports/jasper/batik-svg-dom.jar:modules/ZuckerReports/jasper/saaj-api-1.3.jar:modules/ZuckerReports/jasper/slf4j-api.jar:modules/ZuckerReports/jasper/js_jaxrpc.jar:modules/ZuckerReports/jasper/batik-dom.jar:modules/ZuckerReports/jasper/javassist-3.4.GA.jar:modules/ZuckerReports/jasper/eigenbase-properties-1.1.0.10924.jar:modules/ZuckerReports/jasper/png-encoder-1.5.jar:modules/ZuckerReports/jasper/olap4j-0.9.7.145.jar:modules/ZuckerReports/jasper/commons-beanutils-1.8.2.jar:modules/ZuckerReports/jasper/rex-20080421.jar:modules/ZuckerReports/jasper/commons-digester-1.7.jar:modules/ZuckerReports/jasper/batik-xml.jar:modules/ZuckerReports/jasper/antlr-2.7.6.jar:modules/ZuckerReports/jasper/mondrian-3.1.1.12687-Jaspersoft.jar:modules/ZuckerReports/jasper/jasperreports-3.7.1.jar:modules/ZuckerReports/jasper/batik-script.jar:modules/ZuckerReports/jasper/bsh-2.0b4.jar:modules/ZuckerReports/jasper/jakarta-bcel-20050813.jar:modules/ZuckerReports/jasper/xml-apis-ext.jar:modules/ZuckerReports/jasper/zuckerreports-1.0.jar:modules/ZuckerReports/jasper/eigenbase-xom-1.3.0.11999.jar:modules/ZuckerReports/jasper/javacup.jar:" at.go_mobile.zuckerreports.JasperBatchMain custom/ZuckerReports/temp/7b8166a5-6352-da59-ff9e-4ccac562ee5e/cmd.properties 2>&1
    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/poi/ss/util/CellRangeAddress
    at at.go_mobile.zuckerreports.JasperBatchMain.getJRExporter(JasperBatchMain.java:227)
    at at.go_mobile.zuckerreports.JasperBatchMain.main(JasperBatchMain.java:80)
    Caused by: java.lang.ClassNotFoundException: org.apache.poi.ss.util.CellRangeAddress
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    ... 2 more
    

Написать комментарий

Вы должны войти чтобы комментировать.