На данный момент существует множество систем управления активами предприятия (EAM — Enterprise Asset Management). Наиболее известной и полной системой этого класса является IBM Maximo, но так как моим клиентом является государственное учреждение, мне были интересны системы с открытым исходным кодом. Среди них я нашла два работающих решения: это Apache Ofbiz и CalemEAM. Дистрибутив продукта Apache весит треть гигабайта, и в нём реализовано достаточно много возможностей в дополнение к EAM: там можно найти готовый Интернет-магазин и систему планирования производства. Вторая система узко направлена на управление активами, реализует специфичные функции для данной предметной области, в 100 раз легче и немного красивее. Далее я постараюсь беспристрастно остановиться на сравнении систем.
Apache Ofbiz Vs CalemEAM
Согласно следующей таблице, Apache Ofbiz мне пришлось бы сильно кастомизировать для использования в целях управления активами. CalemEAM же подходит в своем почти первозданном состоянии. Сначала, впрочем, CalemEAM отказался запускаться, но после выключения печати ошибок и передачи сжатых javascript библиотек я смогла войти в систему.
| Требуемая функциональность | CalemEAM | Apache Ofbiz |
|---|---|---|
| Ведение складского учета | + | + |
| Поддержка специфичных для оборудования атрибутов (отказоустойчивость, гарантия и т. д.) | + | - |
| Возможность создания иерархической структуры оборудования (одно оборудование содержит в себе другое) | + | - |
| Создание плана графика регламентных работ по обслуживанию оборудования | + | - |
| Создание задания на проведение внеплановых работ, поддержка статуса выполнения данного задания | + | - |
| Учёт информации по вендорам оборудования | + | - |
| Учёт информации по контрактам с вендорами | + | - |
| Возможность создания документации | + | - |
| Учёт проводимых проверок | + | - |
Для наших российских чиновников использовать систему управления активами на английском языке было бы достаточно проблематично и понизило бы ожидаемый эффект от внедрения. Поэтому я решила локализовать CalemEAM.
Итак, локализация CalemEAM на примере настройки русского языка.
- Создаем файлы
AjxMsg_ru.properties,CalemMsg_ru.properties,I18nMsg_ru.properties,I18nMsg_ru_RU.propertiesи кладем их в каталогCalemEAM\client\lang. Причем создать эти файлы лучше всего путём копирования из исходных файлов, например,AjxMsg.properties,CalemMsg.properties,I18nMsg_en.properties,I18nMsg_en_UK.properties. В этих файлах собственно и находятся текстовые поля, которые необходимо перевести на требуемый язык. - Изменяем настройки кастомизации в файле
CalemEAM\server\conf\calem.custom.php, а именно добавляем в конец следующий код:/** Add Russian */ $_CALEM_dist['client_lang_list']['CalemMsg_ru.js']=array('AjxMsg'=>array('AjxMsg_ru'), 'I18nMsg'=>array('I18nMsg', 'I18nMsg_ru', 'I18nMsg_ru_RU'), 'CalemMsg'=>array('CalemMsg_ru', 'CalemMsgCustom_ru')); $_CALEM_dist['client_language']='ru'; - Запускаем скрипт
deploy.sh(илиdeploy.batbuild для Windows) изCalemEAM\bin. В результате этой операции вCalemEAM\client\launchpad\resourceдолжны сгенерироваться следующие файлы:CalemMsg_ru.js,CalemMsg_ru.js.min,CalemMsg_ru.js.gz,CalemMsg_ru.phpo. - Изменяем строку под номером 51 в
CalemEAM\client\launchpad\CalemIncludeJsPkg.php, а именно$lang=isset($_REQUEST['lang'])?$_REQUEST['lang']:$_CALEM_conf['client_language'];заменяем на$lang=isset($_REQUEST['lang'])?$_REQUEST['lang']:null; - Для того чтобы при выборе языка при входе в программу появился пункт Russian изменяем файл
CalemEAM\server\cong\calem.php. Находим объявление массиваclient_lang_list(строка 196) и добавляем в него следующее'CalemMsg_ru.js'=>array('AjxMsg'=>array('AjxMsg_ru'), 'I18nMsg'=>array('I18nMsg_ru','I18nMsg_ru_RU'), 'CalemMsg'=>array('CalemMsg_ru','CalemMsgCustom_ru'))Далее в массивclient_lang_select(строка 243) добавляем код:'Russian'=>array('id'=>'ru').
На этом настройки закончены. Теперь поддержка русского включена. В следующей таблице приведены возможные проблемы и их решение.
| Проблема | Решение |
|---|---|
После выполнения скрипта deploy.sh заявленные файлы не генерируются. |
Установить в файле deploy.sh переменную CALEM_BUILD равной 1. |
| При входе в программу появляется ошибка pattern is undefined. | В скрипте CalemEAM\client\launchpad\resource\Ajax.jsнайти функцию AjxDateFormat (строка 1233):function AjxDateFormat(pattern) и перед циклом for (строка 1244) добавить код:pattern=I18nMsg.formatDateShort; |
+7 916 562 8095
Комментариев нет :
Отправить комментарий