Плагин предназначен для привязки процессов к темам форума PHPBB с возможностью изменения статуса процессов по появлению новых сообщений в теме.

Конфигурация

Каждый интегрируемый форум должен быть настроен отдельным типом сообщения. Сообщение считается входящего типа.

Пример настройки:

messageType.<id>.title=<title>
messageType.<id>.class=MessageTypeForumPost
messageType.<id>.userNameParamId=<userParamId>
messageType.<id>.topicMark=<markText>
messageType.<id>.topicMarkClosed=<markTextClosed>
messageType.<id>.url=<forumUrl>
messageType.<id>.db.driver=com.mysql.jdbc.Driver
messageType.<id>.db.url=<jdbcUrl>
messageType.<id>.db.user=<jdbcUser>
messageType.<id>.db.pswd=<jdbcPswd>

Параметры, отличные от прочих типов сообщений:

  • <userParamId> - код параметра пользователя в BGERP, в котором указан пользователь форума, необходим для определения, кого оповещать о новых сообщениях;

  • <markText> - строка, добавляемая в конце наименований тем форума, для отметки их связи с BGERP;

  • <markTextClosed> - строка, добавляемая в конце наименований тем форума, для отметки их связи с BGERP, если процесс закрыт;

  • <forumUrl> - URL форума, необходим для генерации корректной ссылки в сообщении, позволяющей быстро перейти в тему форума из интерфейса BGERP;

  • <jdbcUrl>, <jdbcUser>, <jdbcPswd> - параметры подключения к БД форума с правами SELECT, UPDATE.

Пример конфигурации:

messageType.7.title=Форум BiTel
messageType.7.class=MessageTypeForumPost
messageType.7.userNameParamId=30
messageType.7.topicMark= (CRM)
messageType.7.topicMarkClosed= (CRM:CLOSED)
messageType.7.url=http://forum.bitel.ru
messageType.7.db.driver=com.mysql.jdbc.Driver
messageType.7.db.url=jdbc:mysql://sql.bgbilling.ru/forum
messageType.7.db.user=xxxx
messageType.7.db.pswd=xxxx

Синхронизация с форумом производится стандартной задачей обработки сообщений.

При появлении в привязанной к процессу теме сообщения для процесса генерируется событие идентичное добавлению в него сообщения. По данному событию возможно уведомление исполнителя, переключение статуса. Пример с простым обработчиком процессов:

onProcessEvent.1.events=messageAdded
onProcessEvent.1.ifExpression=process.getStatusId() != 1
onProcessEvent.1.commands=setStatus:1
#
onProcessEvent.2.events=messageAdded
onProcessEvent.2.commands=<<END
    text = "Новое сообщение в процессе, в котором вы числитесь исполнителем." + NEW_LINE2 + '
       "Сообщение:" + NEW_LINE + event.getMessage().getText() + NEW_LINE2 +
       "Открыть процесс: http://my.bgcrm.ru/user/process#" + process.getId();

    email.sendMessageToExecutors(0, "Новые сообщения в процессе", text);
END

Интерфейс пользователя

Привязка к теме форума добавляется как обычное сообщение. В качестве параметра указывается код темы. Привязанная тема отмечается текстовым маркером (CRM), что позволяет быстро определить, что тема уже заведена в системе. Добавленное сообщение отображается с ссылкой быстрого перехода непосредственно в форум.

phpbb general