В версии 4 через файлы локализации (.properties) в процессах по умолчанию локализуется не всё

Например во многих процессах есть кнопка Next которой в .properties файлах нет

Также например в процессе Adhoc сообщение(message) во втором шаге процесса автоматически приобретает значение "Verify the arbitrary task was completed.". Искал в содержимых файлов спецпрогой - обнаружил что это наименование второго таска процесса в xml описания процесса, переименовал чтобы было по-русски - все равно "Verify the arbitrary task was completed.".

Также никак не желают русифицироваться шаблоны писем-оповещений о задачах. Шаблон описан в файле wf-email.html.ftl. Переделал его, убрал ненужные картинки - результата нет - приходят те же старые письма на английском.

Может кто сталкивался и знает как справиться с проблемой?..

Комментарии

"Verify the arbitrary task was completed" случайно с гиперссылкой копирнулся:)

avasyukov аватар

Сходил по ссылке. Увидел окошко логина:

Вы уверены, что хотите в серьезную систему ставить Community 4.0? Сама Alfresco еще не считает ее достаточно стабильной, чтобы на этой кодовой базе выпустить хотя бы один релиз Enterprise. Если делать на базе 3.4 - вся работа с бизнес-процессами, включая локализацию, очень хорошо описана в этих статьях - www.ossportal.ru/technologies/alfresco/blogs/64 + www.ossportal.ru/technologies/alfresco/blogs/141.

Это всего лишь тестовый стенд для выявления ошибок и багов

avasyukov аватар

Ок. В общем, пока не вышла 4.0 Enterprise - я бы 4-ую ветку в продакшн не брал. Просто скорость патчинга в ней сейчас такова, что постоянно устраняют старые баги и вносят не менее забавные новые.

Если делать надо быстро - рецепт от sserg, приведенный ниже, будет применим к 3.4, только шаг 1 не потребуется, в ветке 3.х jBPM и так включен.

 Ещё можно глянуть сюда и туда.

Судя по проблеме - вы используете Activiti. Ей сейчас можно нормально пользоваться, только если не смущает собирать самостоятельно из исходников. Те же кнопки допилили только 2 недели назад, а одобрили вообще только в этот понедельник - issues.alfresco.com/jira/browse/ALF-10279. Ни в какой 4.0.a или 4.0.b этого еще нет - только в ночных сборках.

 

Если готовности разбираться нет - лучше переключитесь на jBPM и сделайте все как было на 3.4. Сделать это можно так (рецепт для 4.0.b).

 

1. В tomcat/shared/classes/alfresco-global.properties раздел BPM Engine приведите к виду:

### BPM Engine ###
system.workflow.engine.jbpm.enabled=true
system.workflow.engine.activiti.enabled=true
system.workflow.engine.jbpm.definitions.visible=true
system.workflow.engine.activiti.definitions.visible=true 

Теперь включены одновременно и Activiti, и jBPM.

 

2. Поправьте описание процесса adhoc в tomcat/webapps/alfresco/WEB-INF/classes/alfresco/workflow/adhoc_processdefinition.xml Назовите переходы как вам нравится. Например: 

   <task-node name="adhoc">
      <!--Other code-->
      <transition name="done" to="completed">
         <!--Other code-->
      </transition>
   </task-node>
 
   <task-node name="completed">
      <task name="wf:completedAdhocTask" swimlane="initiator"/>
      <transition name="checked" to="end"/>
   </task-node>

 

3. Добавьте локализацию, секции Adhoc Task Workflow и Adhoc Task Definitions приведите примерно к такому виду.

В tomcat/webapps/alfresco/WEB-INF/classes/alfresco/workflow/workflow-messages_en_US.properties

[collapse collapsed=workflow-messages_en_US.properties]
#
# Adhoc Task Workflow
#
wf_adhoc.workflow.title=Adhoc Workflow
wf_adhoc.workflow.description=Assign arbitrary task to colleague using JBPM workflow engine
 
wf_adhoc.task.wf_adhocTask.title=Adhoc Task
wf_adhoc.task.wf_adhocTask.description=Do this adhoc task
wf_adhoc.node.adhoc.transition.done.title=Done
wf_adhoc.node.adhoc.transition.done.description=Task is done
 
wf_adhoc.task.wf_completedAdhocTask.title=Verify adhoc task
wf_adhoc.task.wf_completedAdhocTask.description=Adhoc task done, please check it
wf_adhoc.node.completed.transition.checked.title=Finish
wf_adhoc.node.completed.transition.checked.description=Close this task
 
#
# Adhoc Task Definitions
#
wf_workflowmodel.type.wf_submitAdhocTask.title=Start Adhoc Task
wf_workflowmodel.type.wf_submitAdhocTask.description=Allocate task to colleague
wf_workflowmodel.property.wf_notifyMe.title=Notify Me
wf_workflowmodel.property.wf_notifyMe.description=Notify me when task is complete
wf_workflowmodel.type.wf_adhocTask.title=Adhoc Task
wf_workflowmodel.type.wf_adhocTask.description=Adhoc Task allocated by colleague
wf_workflowmodel.type.wf_completedAdhocTask.title=Adhoc Task Completed
wf_workflowmodel.type.wf_completedAdhocTask.description=Adhoc Task Completed
[/collapse]

 

В tomcat/webapps/alfresco/WEB-INF/classes/alfresco/workflow/workflow-messages_ru.properties

[collapse collapsed=workflow-messages_ru.properties]
#
# Adhoc Task Workflow
#
wf_adhoc.workflow.title=Произвольная задача
wf_adhoc.workflow.description=Назначить произвольную задачу коллеге
 
wf_adhoc.task.wf_adhocTask.title=Выполнить задачу
wf_adhoc.task.wf_adhocTask.description=Выполнить произвольную задачу
wf_adhoc.node.adhoc.transition.done.title=Сделано
wf_adhoc.node.adhoc.transition.done.description=Задача выполнена
 
wf_adhoc.task.wf_completedAdhocTask.title=Проверить выполнение задачи
wf_adhoc.task.wf_completedAdhocTask.description=Проверить выполнение назначенной задачи
wf_adhoc.node.completed.transition.checked.title=Завершить
wf_adhoc.node.completed.transition.checked.description=Завершить эту задачу
 
#
# Adhoc Task Definitions
#
wf_workflowmodel.type.wf_submitAdhocTask.title=Назначить произвольную задачу
wf_workflowmodel.type.wf_submitAdhocTask.description=Назначить произвольную задачу коллеге
wf_workflowmodel.property.wf_notifyMe.title=Оповестить меня
wf_workflowmodel.property.wf_notifyMe.description=Оповестить меня когда задача будет выполнена
wf_workflowmodel.type.wf_adhocTask.title=Выполнить произвольную задачу
wf_workflowmodel.type.wf_adhocTask.description=Выполнить произвольную задачу, поставленную коллегой
wf_workflowmodel.type.wf_completedAdhocTask.title=Задача выполнена
wf_workflowmodel.type.wf_completedAdhocTask.description=Задача выполнена
 
[/collapse]

 

4. Перезапустите Tomcat. Все должно работать - плюс к процессам Activiti появятся процессы jBPM, которые уже локализованы нормально.

 

P.S. Когда убедитесь что все хорошо - замените system.workflow.engine.activiti.definitions.visible=true на system.workflow.engine.activiti.definitions.visible=false, чтобы убрать процессы Activiti из интерфейса и оставить только jBPM.

 

P.P.S. Насколько я понимаю, вы сейчас работате в ЦОС. Если это так, искренний совет - прокачивайтесь (хоть по Alfresco, хоть еще по какой теме) и бегите. С этими людьми нереально работать нормально.