понедельник, 21 июля 2014 г.

факи по CBS-4

Команда CBS-4
Icon
В данной статье собраны некоторые знания по CBS-4 в форме вопрос-ответ.

Где лежит документация по CBS-4?
Примечание:  Дополнительную информацию о процессе выпуска версий можно найти в документах:«Регламент написания сценария для патча» и «Установка патча».
Внимание! Для просмотра видео, записанного в:

Где посмотреть пример создания/использования того или иного функционала?
Перечень примеров со ссылками на документ либо презентацию приведен здесь: Реестр примеров по CBS-3plus.

Кто может мне помочь?
Если в документации нет ответа на Ваш вопрос или вы его не можете найти или у вас просто ничего не получается целый день, то есть возможность обратиться за консультацией.
Для этого воспользуйтесь списком контактов для консультаций.

Работает ли Code Review в CBS-4/3plus?
Да. Как его настроить здесь.

Какая версии платформы вышли и какой мне нужно пользоваться?

Какие версии модулей, ядра и баз данных совместимы между собой?
Раздел в разработке.


Как узнать о планах и сроках по проекту CBS-4?
  • CBS4-Roadmap.xlsm - Дорожная карта проекта, с указанием плановых сроков, фактических сроков и предметов поставки.
  • CBS4-Features.xlsm - Перечисление требований, с указанием в рамках какого релиза будут выполнены, какова их трудоемкость и др.

pyQT vs Qx (Web) клиенты?
До релиза ядра CBS-4 r.0.3, вся отладка и работа с CBS-3plus/4 должна вестись в pyQT, как в единственно работающем клиенте. После релиза ядра r.0.3 его сменит Qx клиент (Web) и на QT останется только дизайнер форм, который будет поставляться как отдельное приложение.

Как настроить QT клиента?
В меню pyQT клиента нужно выбрать пункт "Исполнитель->Настройка". 
Там нужно указать сервера приложений, с которыми он будет работать.
В поле "приложение" нужно указать пул подключений к БД (настроенный на сервере приложений). Имена пулов фиксированы и привязаны к двум институтским приложениям (cbs и cbs4) + пул cbs3 - он используется всеми модулями для cbs3+. 

Как организован процесс документирования CBS-4?
Разработка документации в рамках проекта CBS-4 осуществляется в Atlassian Confluence с использованием прилагаемых к инструменту макросов и плагинов.
Детальное описание процесса управлением документацией содержится в документе «Методические рекомендации для управления документацией в проекте CBS4».

Как включить сжатие на сервере http?
  1. Зайти в консоль управления веб-сервером.
  2. Выбрать Server -> Web Server
  3. Выбрать изменяемый коннектор (HTTP или HTTPS)
  4. Установить значения compressableMimeType = text/html,text/xml,text/plain,application/json и compression = force
  5. Сохранить изменения нажав Save
  6. Перезапустить коннектор нажав Restart
Сжатие ускоряет работу клиентов на удаленных каналах (в этих случаях критичен объем передаваемой информации). Если сервер и клиент расположены на одной машине (или в одной подсети) подключение сжатия не требуется.
QA Comment: ошибки в логе при изменении и сохранении параметров коннекторов:
09:52:05,510 ERROR [BasePortlet] Unable to set property proxyName on org.apache.geronimo.management.StatisticsProvider$$EnhancerByCGLIB$$da7d2c5f
09:52:05,525 ERROR [BasePortlet] Unable to set property server on org.apache.geronimo.management.StatisticsProvider$$EnhancerByCGLIB$$da7d2c5f
TODO Тестеру: выяснить, стандартные значения входящего/исходящего трафика, для операций первого/второго входа, выбора из списка, редактирования деталей со сжатием и без.

Применение Генератора отчетов
  1. Как настроить среду iReport для разработки шаблонов отчетов?
Ответ: Описание настройки iReport приведено в документе "Разработка отчетов для CBS-3plus". 
     2. Что необходимо сделать, чтобы использовать подотчет?
Ответ: 
В основном отчете:
- в детализации отчета на закладке "Подотчет" указать задействованные подотчеты.
В подотчетах:
- в детализации отчета на закладке "Описание" указать признак "Подотчет".
В шаблоне указать подотчет (делается в дизайнере iReport), например:
      
    new com.colvir.report.jasper.datasource.JRColvirDataSource("Z_TST_SOKOLOV_HDR")
    $P{Z_TST_SOKOLOV_HDR}
    3.  Как следует поступить, чтобы мой шаблон отчета работал и в среде iReport, и из приложения?
Ответ: 
Для этого необходимо задать переменную:
COLVIR_CONTEXT_NAME
Подробнее смотри раздел "Создание шаблона отчета" в документе "Разработка отчетов для CBS-3plus".
     4. Как правильно написать, если требуется передать два или три параметрапри вызове подотчета из шаблона отчета (subreport)?
Ответ:
new String[]{"key1", "value1", "key2", "value2", ...} – это формат принятый в Системе, new String[]{} – конструкция создания стрингового массива в java.
    5.  Если нет необходимости передавать параметры в подотчет?
Ответ: конструкция new String[]{} – создание пустого массива.


Есть ли стандарты форматирования кода и как они обеспечиваются?
Для Java кода используются стандартные соглашения по оформлению (Code Conventions). Например, желательно, чтобы запись выражения if всегда имела следующий вид (т.е. всегда была блоком, даже если оператор один):
if (condition) {
    statements;
}
Из не оговоренного в соглашении:
  • для всех файлов используется кодировка UTF-8, символ переноса строки стандарта Unix (настройка в Eclipse: Windows→Preferences→General→Workspace, "Text file encoding": Other:UTF-8; "New text file line delimiter":Other:Unix);
  • табуляция выполняется пробелами (настройка в Eclipse: Windows→Preferences→General→Editors→Text Editors, check "Insert spaces for tabs"). Число пробелов для табуляции - 4.

Какие общесистемные задачи CBS-3plus уже реализованы и как их интегрировать в модуль?
  1. "Журнал операций CBS-3". Для подключения задачи необходимо вызвать сценарий B3COM_UOPJRN по дуге list. При этом, если будет передан параметр PROC_ID, то отобразится форма журнала операций для данного процесса. Вызов сценария без параметров приведет к запуску стандартной задачи списка с фильтром.
  2. "Список извещений по оплате/получению сумм для договора". Сценарий B3COM_DEAPAYSELFLST.PAS, дуга list.
    Для независимого запуска задач из пункта меню, созданы следующие объекты:
    1. B3COM_DEAPAY - задача "Суммы к оплате/получению". Необходимо указывать значения обязательных параметров
    2. B3COM_DEAINPAY - задача "Суммы к получению". Параметры проинициализированы значениями по умолчанию. Значения можно переопределять
    3. B3COM_DEAOUTPAY - задача "Суммы к оплате". Параметры проинициализированы значениями по умолчанию. Значения можно переопределять
  3. "Санкционирование". Сценарий CBS3_SANCTION_SCN$, дуга view. Если переданы параметры DEP_ID, ID, то кроме возможности установки/снятия санкции, будет также доступна возможность просмотра формы детализации документа. Сам сценарий следует запускать из активити. Пример процесса активити - CBS3_sanction.bpmn


Какие общесистемные справочники уже реализованы в CBS-3plus и как их добавить?
Реестр общесистемных справочников с описанием правил наполнения можно найти здесь: Реестр общесистемных справочников CBS-3plus.

Сервер приложений не запускается/выдает постоянные ошибки при разворачивании (деплойменте)
Если сервер приложений пришел в состояние, при котором повторные установки артефактов не приводят к рабочему состоянию - лучше вернуть сервер в исходное состояние. Для этого:
  • в запущенном состоянии удалите все содержимое директории deploy на сервере приложений
  • дождитесь окончания процесса со стороны сервера приложений (сервер следит за директорией и автоматически удалит приложения, которые сможет, процесс будет виден в консоли)
  • остановите сервер
  • зайдите в директорию сервера приложений repository/colvir
  • удалите все директории, кроме директории oracle (это драйвер Oracle, он не поставляется артефактами и не деплоится обычным методом)
  • запустите сервер приложений
  • убедитесь, что запуск сервера приложений прошел без лишних сообщений (если сообщения все же остались, то попробуйте также почистить упоминания артефактов colvir в файле var/config/config.xml предварительно остановив сервер и не удаляя из этогоconfig.xml пулы соединений)
  • повторно запустите процесс деплоймента для всех артефактов (включая артифакты диагностики, которые могут ставиться в директориюlib)
  • перезапустите сервер
Где найти модуль cbs3-common?
Его нужно скомпилировать самостоятельно из проекта http://src.colvir.ru/hg/cbs3plus/com 
Если Вы не программист - требуемые вам модули(в том числе и common) можно собрать отсюда: http://1.1.1.72:8180/hudson/view/CBS3Plus/ . Собранные модули будут лежать тут: m:\FreshHG\cbs3plus\last_build\ .
Если требуемого вам модуля в списке нет или он собирается с ошибками - можете попросить скомпилировать программиста, работающего с CBS-3plus.
Параметры настройки пулов
Настройка пулов производится согласно Инструкции по установке серверной части. Различаются настройки пулов для стабильной версии (не default) и версии, разработчиков (default).
Настройки стабильной версии:
Пул
Параметры
JDBC URL
cbs
host1.1.1.100
port1521
sidc4appdev
usercss$inst$001
passwordcolvir
 jdbc:oracle:thin:@1.1.1.100:1521:c4appdev
cbs4
host1.1.1.100
port1521
sidc4appdev
usercss$main
passwordcolvir
jdbc:oracle:thin:@1.1.1.100:1521:c4appdev
cbs3
host1.1.1.40
port1521
sidhgdev
usercolvir
passwordcolvir
jdbc:oracle:thin:@1.1.1.40:1521:hgdev

Настройки default версии:
Пул
Параметры
JDBC URL
cbs
host1.1.1.100
port1521
sidcbs40
usercss$inst$001
passworddraft
 jdbc:oracle:thin:@1.1.1.100:1521:cbs40
cbs4
host1.1.1.100
port1521
sidcbs40
usercss$main
passworddraft
jdbc:oracle:thin:@1.1.1.100:1521:cbs40
cbs3
host1.1.1.40
port1521
sidhgdev
usercolvir
passwordcolvir
jdbc:oracle:thin:@1.1.1.40:1521:hgdev

Запуск одновременно 2-х инстансов аппсервера
Как включить автозамену CRLF на LF при фиксации изменений?
В файле .hg\hgrc добавить строки

.hg\hgrc
[extensions]
hgext.eol=
Правила автозамены настраиваются в файле .hgeol в корне рабочей копии, который, как правило, помещается под версионный контроль.
Пример настройки
.hgeol
[repository]
native = LF
[patterns]
java/**.java = LF
java/**.xml = LF
java/**.js = LF
java/**.json = LF
java/**.html = LF
qx/**.xml = LF
qx/**.js = LF
qx/**.json = LF
qx/**.html = LF

В центральном хранилище включается контроль правильности переводов строк в соответствии с настройками .hgeol. Если а ветке нет .hgeol - контроль отключается.
Если при отправке на сервер получена ошибка

remote: error: pretxnchangegroup.eol hook failed: end-of-line check failed:
remote: qx/static.js in 4032661da628 should not have CRLF line endings
remote: transaction abort!
remote: rollback completed
следует заменить концы строк CRLF на LF, зафиксировать исправление, повторить отправку и включить расширение hgext.eol, чтобы в дальнейшем работала автозамена.

2 Комментариев

  1. Где найти модуль cbs3-common?
    Его нужно скомпилировать самостоятельно из проекта http://src.colvir.ru/hg/cbs3plus/com или, если Вы не программист, попросить скомпилировать программиста, работающего с CBS-3plus.

    Не программисты могут скомпилировать отсюда: http://1.1.1.72:8180/hudson/view/CBS3Plus/
  2. В связи с выпуском релизов модулей (Инструкция по выпуску релизов модулей CBS-3Plus), хотелось бы узнать точное предназначение каталога m:\FreshHG\cbs3plus\last_build\ , что там конкретно  должно быть?

Комментариев нет:

Отправить комментарий