參考了前輩的一些國際化支持做法,加上自己對流程的一些理解,做了activiti5.14版本的國際化支持。發現有若干bug,比如屬性設置彈出窗口里的grid里的下拉列表不支持顯示中文(要修改oryx.debug.js文件里的buildColumnModel方法中type == ORYX.CONFIG.TYPE_CHOICE部分的optionTmpl屬性才可以)
附:stencilset.json 文件的國際化中文支持代碼(注意對應org.activiti.rest.editor.main.StencilsetRestResource.java里讀的資源文件路徑):

{ "title" : "流程組件", "namespace" : "http://b3mn.org/stencilset/bpmn2.0#", "description" : "This is the BPMN 2.0 stencil set specification.", "propertyPackages" : [ { "name" : "elementbase", "properties" : [ { "id" : "overrideid", "type" : "String", "title" : "編號", "value" : "", "description" : "編碼", "popular" : true } ] }, { "name" : "baseattributes", "properties" : [ { "id" : "name", "type" : "String", "title" : "名稱", "value" : "", "description" : "BPMN元素名稱", "popular" : true, "refToView" : "text_name" }, { "id" : "documentation", "type" : "Text", "title" : "描述", "value" : "", "description" : "BPMN元素描述", "popular" : true } ] }, { "name" : "diagrambase", "properties" : [ { "id" : "process_id", "type" : "String", "title" : "流程編號", "value" : "process", "description" : "流程的特殊唯一的名稱標識", "popular" : true }, { "id" : "process_author", "type" : "String", "title" : "流程作者", "value" : "", "description" : "流程定義者姓名", "popular" : false }, { "id" : "process_executable", "type" : "Choice", "title" : "是否可執行", "value" : "Yes", "description" : "定義流程是否可以執行", "popular" : true, "items" : [ { "id" : "no", "title" : "否", "value" : "No" }, { "id" : "yes", "title" : "是", "value" : "Yes" }] }, { "id" : "process_version", "type" : "String", "title" : "流程版本", "value" : "", "description" : "流程版本", "popular" : false }, { "id" : "process_namespace", "type" : "String", "title" : "流程分類", "value" : "root", "description" : "工作流流程分類,填入流程分類的編號", "popular" : true } ] }, { "name" : "usertaskbase", "properties" : [ { "id" : "formkeydefinition", "type" : "String", "title" : "表單信息", "value" : "", "description" : "節點綁定的表單信息", "popular" : true }, { "id" : "duedatedefinition", "type" : "String", "title" : "到期時間", "value" : "", "description" : "人工任務到期時間", "popular" : true }, { "id" : "prioritydefinition", "type" : "String", "title" : "優先級", "value" : "", "description" : "人工任務優先級", "popular" : true } ] }, { "name" : "usertaskassignment", "properties" : [ { "id" : "usertaskassignment", "type" : "Complex", "title" : "分配用戶", "value" : "", "description" : "給人工任務分配用戶", "popular" : true, "complexItems" : [ { "id" : "assignment_type", "name" : "用戶類型", "name_de" : "Typ", "type" : "Choice", "value" : "", "width" : 100, "optional" : false, "items" : [ { "id" : "c1", "title" : "委托人", "title_de" : "Performer", "value" : "assignee", "refToView" : "" }, { "id" : "c2", "title" : "候選用戶", "title_de" : "HumanPerformer", "value" : "candidateUsers", "refToView" : "" }, { "id" : "c3", "title" : "候選群組", "title_de" : "PotentialOwner", "value" : "candidateGroups", "refToView" : "" } ] }, { "id" : "resourceassignmentexpr", "name" : "資源賦值表達式", "name_de" : "Zuordnungs-Ausdruck", "type" : "String", "description" : "定義資源賦值表達式", "description_de" : "Definiert den Ausdruck, der f?r die Zordung von Ressourcen genutzt wird.", "value" : "", "width" : 200, "optional" : true } ] } ] }, { "name" : "formdefinition", "properties" : [ { "id" : "formproperties", "type" : "multiplecomplex", "title" : "表單屬性", "value" : "", "description" : "定義表單屬性", "popular" : true, "complexItems" : [ { "id" : "formproperty_id", "name" : "屬性編號", "name_de" : "Typ", "type" : "String", "description" : "屬性編號", "description_de" : "Definiert den Ausdruck, der f?r die Zordung von Ressourcen genutzt wird.", "value" : "", "width" : 150, "optional" : false }, { "id" : "formproperty_name", "name" : "名稱", "name_de" : "Typ", "type" : "String", "description" : "屬性名稱", "description_de" : "Definiert den Ausdruck, der f?r die Zordung von Ressourcen genutzt wird.", "value" : "", "width" : 150, "optional" : false }, { "id" : "formproperty_type", "name" : "屬性類型", "name_de" : "Typ", "type" : "Choice", "value" : "", "width" : 100, "optional" : false, "items" : [ { "id" : "c1", "title" : "字符串", "title_de" : "String", "value" : "string", "refToView" : "" }, { "id" : "c2", "title" : "日期", "title_de" : "Date", "value" : "date", "refToView" : "" }, { "id" : "c3", "title" : "數值", "title_de" : "Long", "value" : "long", "refToView" : "" }, { "id" : "c4", "title" : "布爾型", "title_de" : "Boolean", "value" : "boolean", "refToView" : "" }, { "id" : "c5", "title" : "枚舉", "title_de" : "Enum", "value" : "enum", "refToView" : "" } ] }, { "id" : "formproperty_expression", "name" : "屬性表達式", "name_de" : "Typ", "type" : "String", "description" : "定義屬性取值表達式", "description_de" : "Definiert den Ausdruck, der f?r die Zordung von Ressourcen genutzt wird.", "value" : "", "width" : 200, "optional" : false }, { "id" : "formproperty_variable", "name" : "變量", "name_de" : "Typ", "type" : "String", "description" : "定義變量", "description_de" : "Definiert den Ausdruck, der f?r die Zordung von Ressourcen genutzt wird.", "value" : "", "width" : 200, "optional" : false }, { "id" : "formproperty_required", "name" : "是否必填", "name_de" : "Typ", "type" : "Choice", "value" : "No", "width" : 100, "optional" : false, "items" : [ { "id" : "yes", "title" : "是", "value" : "Yes" }, { "id" : "no", "title" : "否", "value" : "No" } ] }, { "id" : "formproperty_readable", "name" : "是否可讀", "name_de" : "Typ", "type" : "Choice", "value" : "Yes", "width" : 100, "optional" : false, "items" : [ { "id" : "yes", "title" : "是", "value" : "Yes" }, { "id" : "no", "title" : "否", "value" : "No" } ] }, { "id" : "formproperty_writeable", "name" : "是否可寫", "name_de" : "Typ", "type" : "Choice", "value" : "Yes", "width" : 100, "optional" : false, "items" : [ { "id" : "yes", "title" : "是", "value" : "Yes" }, { "id" : "no", "title" : "否", "value" : "No" } ] }, { "id" : "formproperty_formvalues", "name" : "表單屬性值", "name_de" : "Typ", "type" : "Complex", "width" : 300, "optional" : false, "complexItems" : [ { "id" : "formproperty_formvalue_id", "name" : "編號", "type" : "String", "value" : "", "width" : 100, "optional" : false }, { "id" : "formproperty_formvalue_name", "name" : "名稱", "type" : "String", "value" : "", "width" : 200, "optional" : false } ] } ] } ] }, { "name" : "tasklistenersbase", "properties" : [ { "id" : "tasklisteners", "type" : "multiplecomplex", "title" : "任務監聽器", "value" : "", "description" : "人工任務監聽器", "popular" : true, "complexItems" : [ { "id" : "task_listener_event_type", "name" : "事件類型", "type" : "Choice", "value" : "", "width" : 100, "optional" : false, "items" : [ { "id" : "c1", "title" : "創建", "value" : "create", "refToView" : "" }, { "id" : "c2", "title" : "分配", "value" : "assignment", "refToView" : "" }, { "id" : "c3", "title" : "完成", "value" : "complete", "refToView" : "" }, { "id" : "c4", "title" : "所有事件", "value" : "all", "refToView" : "" } ] }, { "id" : "task_listener_class", "name" : "監聽類", "type" : "String", "description" : "事件監聽處理類", "value" : "", "width" : 200, "optional" : true }, { "id" : "task_listener_expression", "name" : "監聽表達式", "type" : "String", "description" : "定義事件監聽表達式", "value" : "", "width" : 200, "optional" : true }, { "id" : "task_listener_delegate_expression", "name" : "監聽委托類表達式", "type" : "String", "description" : "定義監聽委托類表達式", "value" : "", "width" : 200, "optional" : true }, { "id" : "task_listener_fields", "name" : "監聽器參數", "type" : "Complex", "width" : 100, "optional" : false, "complexItems" : [ { "id" : "task_listener_field_name", "name" : "參數名", "type" : "String", "value" : "", "width" : 200, "optional" : false }, { "id" : "task_listener_field_value", "name" : "字符串值", "type" : "String", "value" : "", "width" : 200, "optional" : false }, { "id" : "task_listener_field_expression", "name" : "表達式值", "type" : "String", "value" : "", "width" : 200, "optional" : false } ] } ] } ] }, { "name" : "servicetaskbase", "properties" : [ { "id" : "servicetaskclass", "type" : "String", "title" : "處理類", "value" : "", "description" : "定義處理的java類,需要實現service task logic接口", "popular" : true }, { "id" : "servicetaskexpression", "type" : "String", "title" : "處理類表達式", "value" : "", "description" : "用表達式方式定義處理的java類,需要實現service task logic接口", "popular" : true }, { "id" : "servicetaskdelegateexpression", "type" : "String", "title" : "委派處理類表達式", "value" : "", "description" : "定義處理類的委派表達式", "popular" : true }, { "id" : "servicetaskresultvariable", "type" : "String", "title" : "結果存儲變量", "value" : "", "description" : "定義一個變量用於存儲任務處理結果", "popular" : true }, { "id" : "servicetaskfields", "type" : "Complex", "title" : "處理類參數", "value" : "", "description" : "定義參數", "popular" : true, "complexItems" : [ { "id" : "servicetask_field_name", "name" : "參數名", "type" : "String", "value" : "", "width" : 200, "optional" : false }, { "id" : "servicetask_field_value", "name" : "字符串參數值", "type" : "String", "value" : "", "width" : 200, "optional" : false }, { "id" : "servicetask_field_expression", "name" : "表達式參數值", "type" : "String", "value" : "", "width" : 200, "optional" : false } ] } ] }, { "name" : "scripttaskbase", "properties" : [ { "id" : "scriptformat", "type" : "Choice", "title" : "腳本類型", "value" : "", "description" : "定義腳本類型,需兼容JSR-223", "popular" : true, "items" : [ { "id" : "Javascript", "title" : "Javascript", "value" : "Javascript" }, { "id" : "groovy", "title" : "groovy", "value" : "groovy" } ] }, { "id" : "scripttext", "type" : "Text", "title" : "腳本內容", "value" : "", "description" : "腳本任務的腳本內容", "popular" : true } ] }, { "name" : "ruletaskbase", "properties" : [ { "id" : "ruletask_class", "type" : "String", "title" : "規則處理類", "value" : "", "description" : "規則任務的處理類", "popular" : true }, { "id" : "ruletask_variables_input", "type" : "String", "title" : "規則任務參數", "value" : "", "description" : "規則任務輸入參數", "popular" : true }, { "id" : "ruletask_result", "type" : "String", "title" : "結果存儲變量", "value" : "", "description" : "定義存儲規則任務結果的變量", "popular" : true }, { "id" : "ruletask_rules", "type" : "String", "title" : "規則", "value" : "", "description" : "定義規則任務的規則,多個之間逗號隔開", "popular" : true }, { "id" : "ruletask_exclude", "type" : "Choice", "title" : "排除規則", "value" : "No", "description" : "定義是否除規則中定義的規則之外全部執行,為否表示只執行規則中定義的規則,為是表示值執行所有規則中未定義的規則", "popular" : true, "items" : [ { "id" : "no", "title" : "否", "value" : "No" }, { "id" : "yes", "title" : "是", "value" : "Yes" } ] } ] }, { "name" : "mailtaskbase", "properties" : [ { "id" : "mailtaskto", "type" : "Text", "title" : "收件人", "value" : "", "description" : "收件人郵箱地址列表,郵箱間用英文分號隔開", "popular" : true }, { "id" : "mailtaskfrom", "type" : "Text", "title" : "發件人", "value" : "", "description" : "發件人郵箱地址", "popular" : true }, { "id" : "mailtasksubject", "type" : "Text", "title" : "主題", "value" : "", "description" : "郵件發送的主題", "popular" : true }, { "id" : "mailtaskcc", "type" : "Text", "title" : "抄送", "value" : "", "description" : "郵件抄送郵箱地址列表,郵箱間用英文分號隔開", "popular" : true }, { "id" : "mailtaskbcc", "type" : "Text", "title" : "暗送", "value" : "", "description" : "郵件暗送郵箱地址列表,郵箱間用英文分號隔開", "popular" : true }, { "id" : "mailtasktext", "type" : "Text", "title" : "郵件正文內容", "value" : "", "description" : "郵件的內容,在需要使用原始文字(非富文本)的郵件時使用。 可以與html一起使用,對於不支持富客戶端的郵件客戶端。 客戶端會降級到僅顯示文本的方式。", "popular" : true }, { "id" : "mailtaskhtml", "type" : "Text", "title" : "Html", "value" : "", "description" : "作為郵件內容的HTML", "popular" : true }, { "id" : "mailtaskcharset", "type" : "String", "title" : "字符集", "value" : "", "description" : "定義郵件內容的字符集", "popular" : true } ] }, { "name" : "callactivitybase", "properties" : [ { "id" : "callactivitycalledelement", "type" : "String", "title" : "調用的流程", "value" : "", "description" : "定義調用的流程", "popular" : true }, { "id" : "callactivityinparameters", "type" : "Complex", "title" : "輸入參數", "value" : "", "description" : "定義調用流程的輸入參數", "popular" : true, "complexItems" : [ { "id" : "ioparameter_source", "name" : "原參數", "type" : "String", "value" : "", "width" : 200, "optional" : false }, { "id" : "ioparameter_sourceexpression", "name" : "原參數表達式", "type" : "String", "value" : "", "width" : 200, "optional" : false }, { "id" : "ioparameter_target", "name" : "目標參數", "type" : "String", "value" : "", "width" : 200, "optional" : false } ] }, { "id" : "callactivityoutparameters", "type" : "Complex", "title" : "輸出參數", "value" : "", "description" : "定義調用流程的輸出參數", "popular" : true, "complexItems" : [ { "id" : "ioparameter_source", "name" : "原輸出參數", "type" : "String", "value" : "", "width" : 200, "optional" : false }, { "id" : "ioparameter_sourceexpression", "name" : "原輸出參數表達式", "type" : "String", "value" : "", "width" : 200, "optional" : false }, { "id" : "ioparameter_target", "name" : "目標參數", "type" : "String", "value" : "", "width" : 200, "optional" : false } ] } ] }, { "name" : "sequenceflowbase", "properties" : [ { "id" : "conditionsequenceflow", "type" : "Text", "title" : "流轉條件", "value" : "", "description" : "流轉條件", "popular" : true }, { "id" : "defaultflow", "type" : "Choice", "title" : "默認順序流", "value" : "None", "description" : "設置該流轉為默認流轉,當設置為默認流轉時,流轉條件設置無效", "popular" : true, "items" : [ { "id" : "none", "title" : "標准", "title_de" : "Standard", "value" : "None" }, { "id" : "default", "title" : "默認流轉", "title_de" : "Standardfluss", "value" : "Default", "icon" : "connector/list/type.default.png", "refToView" : "default" } ] }, { "id" : "conditionalflow", "type" : "Choice", "title" : "條件順序流", "value" : "None", "description" : "設置該流轉為條件流轉,只要滿足流轉條件才會通過生效", "popular" : true, "items" : [ { "id" : "none", "title" : "標准", "title_de" : "Standard", "value" : "None" }, { "id" : "default", "title" : "條件順序流", "value" : "Conditional", "icon" : "connector/list/type.expression.png", "refToView" : "conditional" } ] } ] }, { "name" : "cancelactivityattribute", "properties" : [ { "id" : "cancelactivity", "type" : "Choice", "title" : "取消中斷", "value" : "yes", "description" : "定義是否取消中斷", "popular" : true, "items" : [ { "id" : "yes", "title" : "是", "title_de" : "Yes", "value" : "yes" }, { "id" : "no", "title" : "否", "title_de" : "No", "value" : "no" } ] } ] }, { "name" : "timerdefinition", "properties" : [ { "id" : "timerdurationdefinition", "type" : "String", "title" : "等待時間", "value" : "", "description" : "指定定時器之前要等待多長時間,可以設置為timerEventDefinition的子元素。 使用ISO 8601規定的格式", "popular" : true }, { "id" : "timerdatedefinition", "type" : "String", "title" : "觸發時間", "value" : "", "description" : "使用 ISO 8601 格式指定一個確定的時間,觸發事件的時間,如 2013-12-05T12:13:14", "popular" : true }, { "id" : "timercycledefinition", "type" : "String", "title" : "重復間隔", "value" : "", "description" : "指定重復執行的間隔,可以用來定期啟動流程實例,或為超時時間發送多個提醒。可以使用兩種格式:ISO 8601標准或cron表達式", "popular" : true } ] }, { "name" : "messagerefdefinition", "properties" : [ { "id" : "messageref", "type" : "String", "title" : "引用的消息", "value" : "", "description" : "定義引用的消息名稱", "popular" : true } ] }, { "name" : "signalrefdefinition", "properties" : [ { "id" : "signalref", "type" : "String", "title" : "引用的信號", "value" : "", "description" : "定義引用的信號名稱", "popular" : true } ] }, { "name" : "errorrefdefinition", "properties" : [ { "id" : "errorref", "type" : "String", "title" : "引用的錯誤", "value" : "", "description" : "定義引用的錯誤名稱", "popular" : true } ] }, { "name" : "nonestarteventbase", "properties" : [ { "id" : "initiator", "type" : "String", "title" : "初始化變量", "value" : "", "description" : "定義存儲流程啟動時當前登陸用戶的變量", "popular" : true }, { "id" : "formkeydefinition", "type" : "String", "title" : "表單信息", "value" : "", "description" : "定義開始節點的表單信息", "popular" : true }] }, { "name" : "textannotationbase", "properties" : [ { "id" : "text", "type" : "String", "title" : "文本", "value" : "", "description" : "文本注釋內容", "popular" : true, "refToView" : "text" } ] }, { "name" : "asynchronousbase", "properties" : [ { "id" : "asynchronousdefinition", "type" : "Choice", "title" : "異步任務", "value" : "No", "description" : "定義為異步任務", "popular" : true, "items" : [ { "id" : "no", "title" : "否", "value" : "No" }, { "id" : "yes", "title" : "是", "value" : "Yes" } ] }, { "id" : "exclusivedefinition", "type" : "Choice", "title" : "互斥任務", "value" : "Yes", "description" : "Define the activity as exclusive.", "popular" : true, "items" : [ { "id" : "no", "title" : "否", "value" : "No" }, { "id" : "yes", "title" : "是", "value" : "Yes" } ] } ] }, { "name" : "executionlistenersbase", "properties" : [ { "id" : "executionlisteners", "type" : "multiplecomplex", "title" : "執行監聽器", "value" : "", "description" : "Listeners for an activity, process, sequence flow, start and end event.", "popular" : true, "complexItems" : [ { "id" : "execution_listener_event_type", "name" : "事件類型", "type" : "Choice", "value" : "", "width" : 200, "optional" : false, "items" : [ { "id" : "c1", "title" : "開始", "value" : "start", "refToView" : "" }, { "id" : "c2", "title" : "結束", "value" : "end", "refToView" : "" }, { "id" : "c2", "title" : "通過", "value" : "take", "refToView" : "" } ] }, { "id" : "execution_listener_class", "name" : "監聽類", "type" : "String", "description" : "監聽類", "value" : "", "width" : 200, "optional" : true }, { "id" : "execution_listener_expression", "name" : "監聽類表達式", "type" : "String", "description" : "監聽類表達式", "value" : "", "width" : 200, "optional" : true }, { "id" : "execution_listener_delegate_expression", "name" : "委托類表達式", "type" : "String", "description" : "委托類表達式", "value" : "", "width" : 200, "optional" : true }, { "id" : "execution_listener_fields", "name" : "參數", "type" : "Complex", "width" : 100, "optional" : false, "complexItems" : [ { "id" : "execution_listener_field_name", "name" : "名稱", "type" : "String", "value" : "", "width" : 200, "optional" : false }, { "id" : "execution_listener_field_value", "name" : "字符串值", "type" : "String", "value" : "", "width" : 200, "optional" : false }, { "id" : "execution_listener_field_expression", "name" : "表達式值", "type" : "String", "value" : "", "width" : 200, "optional" : false } ] } ] } ] }, { "name" : "customformdefinition", "properties" : [ { "id" : "customformdefinition", "type" : "Choice", "title" : "自定義表單", "value" : "", "description" : "描述", "popular" : true, "items" : [ { "id" : "1", "title" : "表單1", "value" : "1" }, { "id" : "2", "title" : "表單2", "value" : "2" }, { "id" : "3", "title" : "表單3", "value" : "3" } ] } ] }, { "name" : "loopcharacteristics", "properties" : [ { "id" : "looptype", "type" : "Choice", "title" : "循環類型", "value" : "None", "description" : "定義循環類型", "popular" : false, "items" : [ { "id" : "c1", "title" : "無", "title_de" : "Keine Schleife", "value" : "None", "refToView" : "none" }, { "id" : "c2", "title" : "標准", "title_de" : "Standard", "value" : "Standard", "icon" : "activity/list/looptype.standard.png", "refToView" : "loop" }, { "id" : "c3", "title" : "並行", "title_de" : "MI parallel", "value" : "Parallel", "icon" : "activity/list/mi.parallel.png", "refToView" : "parallel" }, { "id" : "c4", "title" : "順序", "title_de" : "MI sequentialisiert", "value" : "Sequential", "icon" : "activity/list/mi.sequential.png", "refToView" : "sequential" } ] } ] }, { "name" : "activity", "properties" : [ { "id" : "multiinstance_sequential", "type" : "Choice", "title" : "順序(多實例)", "value" : "Yes", "description" : "定義為多實例", "popular" : true, "items" : [ { "id" : "no", "title" : "否", "value" : "No" }, { "id" : "yes", "title" : "是", "value" : "Yes" } ] }, { "id" : "multiinstance_cardinality", "type" : "String", "title" : "指定數量(多實例)", "value" : "", "description" : "定義實例的個數", "popular" : true }, { "id" : "multiinstance_collection", "type" : "String", "title" : "集合(多實例)", "value" : "", "description" : "定義多實例生成的集合", "popular" : true }, { "id" : "multiinstance_variable", "type" : "String", "title" : "變量(多實例)", "value" : "", "description" : "定義多實例中的變量,每個實例都有該變量", "popular" : true }, { "id" : "multiinstance_condition", "type" : "String", "title" : "任務完成的條件(多實例)", "value" : "", "description" : "多實例任務完成的條件", "popular" : true }, { "id" : "isforcompensation", "type" : "Choice", "title" : "是否為補償", "value" : "false", "description" : "一個標志,標識是否這個活動的目的是為了補償", "popular" : false, "items" : [ { "id" : "no", "title" : "否", "value" : "false" }, { "id" : "yes", "title" : "是", "value" : "true" } ] } ] } ], "stencils" : [ { "type" : "node", "id" : "BPMNDiagram", "title" : "BPMN對話框", "description" : "BPMN2.0對話框", "view" : "diagram.svg", "icon" : "diagram.png", "groups" : [ "Diagram" ], "mayBeRoot" : true, "hide" : true, "propertyPackages" : [ "baseattributes", "diagrambase", "executionlistenersbase" ], "roles" : [ ] }, { "type" : "node", "id" : "StartNoneEvent", "title" : "開始", "description" : "開始組件", "view" : "startevent/none.svg", "icon" : "startevent/none.png", "groups" : [ "開始事件" ], "propertyPackages" : [ "elementbase", "baseattributes", "formdefinition", "nonestarteventbase", "executionlistenersbase" ], "roles" : [ "Startevents_all", "sequence_start", "StartEventsMorph", "all" ] }, { "type" : "node", "id" : "StartTimerEvent", "title" : "定時器", "description" : "定時觸發組件", "view" : "startevent/timer.svg", "icon" : "startevent/timer.png", "groups" : [ "開始事件" ], "propertyPackages" : [ "elementbase", "baseattributes", "timerdefinition", "executionlistenersbase" ], "roles" : [ "Startevents_all", "sequence_start", "StartEventsMorph", "all" ] }, { "type" : "node", "id" : "StartMessageEvent", "title" : "事件觸發", "description" : "由事件觸發的組件", "view" : "startevent/message.svg", "icon" : "startevent/message.png", "groups" : [ "開始事件" ], "propertyPackages" : [ "elementbase", "baseattributes", "messagerefdefinition", "executionlistenersbase" ], "roles" : [ "Startevents_all", "sequence_start", "StartEventsMorph", "all" ] }, { "type" : "node", "id" : "StartErrorEvent", "title" : "異常捕捉", "description" : "捕捉BPMN異常后開始", "view" : "startevent/error.svg", "icon" : "startevent/error.png", "groups" : [ "開始事件" ], "propertyPackages" : [ "elementbase", "baseattributes", "errorrefdefinition", "executionlistenersbase" ], "roles" : [ "Startevents_all", "sequence_start", "StartEventsMorph", "all" ] }, { "type" : "node", "id" : "UserTask", "title" : "人工任務", "description" : "人工處理的任務節點", "view" : "activity/usertask.svg", "icon" : "activity/list/type.user.png", "groups" : [ "任務節點" ], "propertyPackages" : [ "elementbase", "baseattributes", "usertaskbase", "usertaskassignment", "formdefinition", "tasklistenersbase", "asynchronousbase", "loopcharacteristics", "activity" ], "roles" : [ "sequence_start", "Activity", "sequence_end", "ActivitiesMorph", "all" ] }, { "type" : "node", "id" : "ServiceTask", "title" : "Java服務任務", "description" : "是一個自動任務,它會調用一些服務, 比如web service,java service等等", "view" : "activity/servicetask.svg", "icon" : "activity/list/type.service.png", "groups" : [ "任務節點" ], "propertyPackages" : [ "elementbase", "baseattributes", "servicetaskbase", "asynchronousbase", "executionlistenersbase", "loopcharacteristics", "activity" ], "roles" : [ "sequence_start", "Activity", "sequence_end", "ActivitiesMorph", "all" ] }, { "type" : "node", "id" : "ScriptTask", "title" : "腳本任務", "description" : "腳本任務時一個自動任務,當到達這個任務的時候 流程引擎會執行一個腳本。", "view" : "activity/scripttask.svg", "icon" : "activity/list/type.script.png", "groups" : [ "任務節點" ], "propertyPackages" : [ "elementbase", "baseattributes", "scripttaskbase", "asynchronousbase", "executionlistenersbase", "loopcharacteristics", "activity" ], "roles" : [ "sequence_start", "Activity", "sequence_end", "ActivitiesMorph", "all" ] }, { "type" : "node", "id" : "BusinessRule", "title" : "規則任務", "description" : "支持配置處理規則,任務自動處理", "view" : "activity/businessruletask.svg", "icon" : "activity/list/type.business.rule.png", "groups" : [ "任務節點" ], "propertyPackages" : [ "elementbase", "baseattributes", "ruletaskbase", "asynchronousbase", "executionlistenersbase", "loopcharacteristics", "activity" ], "roles" : [ "sequence_start", "Activity", "sequence_end", "ActivitiesMorph", "all" ] }, { "type" : "node", "id" : "ReceiveTask", "title" : "等待任務", "description" : "任務處於等待狀態直到被某個信號觸發", "view" : "activity/receivetask.svg", "icon" : "activity/list/type.receive.png", "groups" : [ "任務節點" ], "propertyPackages" : [ "elementbase", "baseattributes", "asynchronousbase", "executionlistenersbase", "loopcharacteristics", "activity" ], "roles" : [ "sequence_start", "Activity", "sequence_end", "ActivitiesMorph", "all" ] }, { "type" : "node", "id" : "ManualTask", "title" : "手工任務", "description" : "手工任務時一個由外部人員執行的任務,但是沒有指定是 一個BPM系統或是一個服務會被調用。在真實世界里,有很多例子: 安裝一個電話系統,使用定期郵件發送一封信, 用電話聯系客戶等", "view" : "activity/manualtask.svg", "icon" : "activity/list/type.manual.png", "groups" : [ "任務節點" ], "propertyPackages" : [ "elementbase", "baseattributes", "asynchronousbase", "executionlistenersbase", "loopcharacteristics", "activity" ], "roles" : [ "sequence_start", "Activity", "sequence_end", "ActivitiesMorph", "all" ] }, { "type" : "node", "id" : "MailTask", "title" : "郵件任務", "description" : "發送郵件", "view" : "activity/sendtask.svg", "icon" : "activity/list/type.send.png", "groups" : [ "任務節點" ], "propertyPackages" : [ "elementbase", "baseattributes", "mailtaskbase", "asynchronousbase", "executionlistenersbase", "loopcharacteristics", "activity" ], "roles" : [ "sequence_start", "Activity", "sequence_end", "ActivitiesMorph", "all" ] }, { "type" : "node", "id" : "SubProcess", "title" : "子流程", "description" : "子流程", "view" : "activity/subprocess.expanded.svg", "icon" : "activity/expanded.subprocess.png", "groups" : [ "子流程" ], "propertyPackages" : [ "elementbase", "baseattributes", "asynchronousbase", "executionlistenersbase", "loopcharacteristics" ], "roles" : [ "sequence_start", "Activity", "sequence_end", "all" ] }, { "type" : "node", "id" : "EventSubProcess", "title" : "事件觸發子流程", "description" : "由特殊事件觸發的子流程,比如定時觸發", "view" : "activity/event.subprocess.svg", "icon" : "activity/event.subprocess.png", "groups" : [ "子流程" ], "propertyPackages" : [ "elementbase", "baseattributes", "asynchronousbase", "executionlistenersbase" ], "roles" : [ "sequence_start", "Activity", "sequence_end", "all" ] }, { "type" : "node", "id" : "CallActivity", "title" : "調用活動", "description" : "調用活動", "view" : "activity/callactivity.svg", "icon" : "activity/task.png", "groups" : [ "子流程" ], "propertyPackages" : [ "elementbase", "baseattributes", "callactivitybase", "asynchronousbase", "executionlistenersbase", "loopcharacteristics", "activity" ], "roles" : [ "sequence_start", "Activity", "sequence_end", "all" ] }, { "type" : "node", "id" : "ExclusiveGateway", "title" : "互斥網關", "description" : "選擇性網關", "view" : "gateway/exclusive.databased.svg", "icon" : "gateway/exclusive.databased.png", "groups" : [ "網關" ], "propertyPackages" : [ "elementbase", "baseattributes" ], "roles" : [ "sequence_start", "sequence_end", "GatewaysMorph", "all" ] }, { "type" : "node", "id" : "ParallelGateway", "title" : "並行網關", "description" : "並行網關", "view" : "gateway/parallel.svg", "icon" : "gateway/parallel.png", "groups" : [ "網關" ], "propertyPackages" : [ "elementbase", "baseattributes" ], "roles" : [ "sequence_start", "sequence_end", "GatewaysMorph", "all" ] }, { "type" : "node", "id" : "InclusiveGateway", "title" : "相容網關", "description" : "相容網關", "view" : "gateway/inclusive.svg", "icon" : "gateway/inclusive.png", "groups" : [ "網關" ], "propertyPackages" : [ "elementbase", "baseattributes" ], "roles" : [ "sequence_start", "sequence_end", "GatewaysMorph", "all" ] }, { "type" : "node", "id" : "EventGateway", "title" : "事件網關", "description" : "事件網關", "view" : "gateway/eventbased.svg", "icon" : "gateway/eventbased.png", "groups" : [ "網關" ], "propertyPackages" : [ "elementbase", "baseattributes" ], "roles" : [ "sequence_start", "sequence_end", "GatewaysMorph", "all" ] }, { "type" : "node", "id" : "BoundaryErrorEvent", "title" : "邊界錯誤事件", "description" : "一個捕捉BPMN異常的邊界事件", "view" : "intermediateevent/error.svg", "icon" : "catching/error.png", "groups" : [ "邊界事件" ], "propertyPackages" : [ "elementbase", "baseattributes", "errorrefdefinition" ], "roles" : [ "sequence_start", "BoundaryEventsMorph", "IntermediateEventOnActivityBoundary" ] }, { "type" : "node", "id" : "BoundaryTimerEvent", "title" : "定時邊界事件", "description" : "一個定時觸發的邊界事件", "view" : "intermediateevent/timer.svg", "icon" : "catching/timer.png", "groups" : [ "邊界事件" ], "propertyPackages" : [ "elementbase", "baseattributes", "cancelactivityattribute", "timerdefinition" ], "roles" : [ "sequence_start", "BoundaryEventsMorph", "IntermediateEventOnActivityBoundary" ] }, { "type" : "node", "id" : "BoundarySignalEvent", "title" : "邊界信號事件", "description" : "一個信號觸發的邊界事件", "view" : "intermediateevent/signal.catching.svg", "icon" : "catching/signal.png", "groups" : [ "邊界事件" ], "propertyPackages" : [ "elementbase", "baseattributes", "cancelactivityattribute", "signalrefdefinition" ], "roles" : [ "sequence_start", "BoundaryEventsMorph", "IntermediateEventOnActivityBoundary" ] }, { "type" : "node", "id" : "CatchTimerEvent", "title" : "中間定時器捕獲事件", "description" : "定時器觸發的中間捕獲事件", "view" : "intermediateevent/timer.svg", "icon" : "catching/timer.png", "groups" : [ "中間捕獲事件列表" ], "propertyPackages" : [ "elementbase", "baseattributes", "timerdefinition", "executionlistenersbase" ], "roles" : [ "sequence_start", "sequence_end", "CatchEventsMorph", "all" ] }, { "type" : "node", "id" : "CatchSignalEvent", "title" : "中間信號捕獲事件", "description" : "信號觸發的捕獲事件", "view" : "intermediateevent/signal.catching.svg", "icon" : "catching/signal.png", "groups" : [ "中間捕獲事件列表" ], "propertyPackages" : [ "elementbase", "baseattributes", "signalrefdefinition", "executionlistenersbase" ], "roles" : [ "sequence_start", "sequence_end", "CatchEventsMorph", "all" ] }, { "type" : "node", "id" : "CatchMessageEvent", "title" : "中間消息捕獲事件", "description" : "一個消息觸發的中間捕獲事件", "view" : "intermediateevent/message.catching.svg", "icon" : "catching/message.png", "groups" : [ "中間捕獲事件列表" ], "propertyPackages" : [ "elementbase", "baseattributes", "messagerefdefinition", "executionlistenersbase" ], "roles" : [ "sequence_start", "sequence_end", "CatchEventsMorph", "all" ] }, { "type" : "node", "id" : "ThrowNoneEvent", "title" : "中間拋出事件", "description" : "無觸發器的中間拋出事件", "view" : "intermediateevent/none.svg", "icon" : "throwing/none.png", "groups" : [ "中間拋出事件" ], "propertyPackages" : [ "elementbase", "baseattributes", "executionlistenersbase" ], "roles" : [ "sequence_start", "ThrowEventsMorph", "sequence_end", "all" ] }, { "type" : "node", "id" : "ThrowSignalEvent", "title" : "信號中間拋出事件", "description" : "一個信號觸發的中間拋出事件", "view" : "intermediateevent/signal.throwing.svg", "icon" : "throwing/signal.png", "groups" : [ "中間拋出事件" ], "propertyPackages" : [ "elementbase", "baseattributes", "signalrefdefinition", "executionlistenersbase" ], "roles" : [ "sequence_start", "ThrowEventsMorph", "sequence_end", "all" ] }, { "type" : "node", "id" : "EndNoneEvent", "title" : "結束任務", "description" : "一個無觸發器的結束任務", "view" : "endevent/none.svg", "icon" : "endevent/none.png", "groups" : [ "結束任務列表" ], "propertyPackages" : [ "elementbase", "baseattributes", "executionlistenersbase" ], "roles" : [ "EndEventsMorph", "sequence_end", "all" ] }, { "type" : "node", "id" : "EndErrorEvent", "title" : "結束錯誤任務", "description" : "一個拋出錯誤事件的結束任務", "view" : "endevent/error.svg", "icon" : "endevent/error.png", "groups" : [ "結束任務列表" ], "propertyPackages" : [ "elementbase", "baseattributes", "errorrefdefinition", "executionlistenersbase" ], "roles" : [ "EndEventsMorph", "sequence_end", "all" ] }, { "type" : "edge", "id" : "SequenceFlow", "title" : "順序流", "description" : "順序流定義活動的執行順序", "view" : "connector/sequenceflow.svg", "icon" : "connector/sequenceflow.png", "groups" : [ "連接對象" ], "layout" : [ { "type" : "layout.bpmn2_0.sequenceflow" } ], "propertyPackages" : [ "elementbase", "baseattributes", "sequenceflowbase" ], "roles" : [ "ConnectingObjectsMorph", "all" ] }, { "type" : "edge", "id" : "Association", "title" : "注釋", "description" : "連接一個注釋到指定元素", "view" : "connector/association.undirected.svg", "icon" : "connector/association.undirected.png", "groups" : [ "連接對象" ], "layout" : [ { "type" : "layout.bpmn2_0.sequenceflow" } ], "propertyPackages" : [ "elementbase", "baseattributes" ], "roles" : [ "ConnectingObjectsMorph", "all" ] }, { "type" : "node", "id" : "TextAnnotation", "title" : "文本注釋", "description" : "給指定元素添加文本注釋", "view" : "artifact/text.annotation.svg", "icon" : "artifact/text.annotation.png", "groups" : [ "其他組件" ], "propertyPackages" : [ "elementbase", "baseattributes", "textannotationbase" ], "roles" : [ "all" ] } ], "rules" : { "cardinalityRules" : [ { "role" : "Startevents_all", "incomingEdges" : [ { "role" : "SequenceFlow", "maximum" : 0 } ] }, { "role" : "Endevents_all", "outgoingEdges" : [ { "role" : "SequenceFlow", "maximum" : 0 } ] } ], "connectionRules" : [ { "role" : "SequenceFlow", "connects" : [ { "from" : "sequence_start", "to" : [ "sequence_end" ] } ] }, { "role" : "Association", "connects" : [ { "from" : "sequence_start", "to" : [ "TextAnnotation" ] } ] }, { "role" : "Association", "connects" : [ { "from" : "TextAnnotation", "to" : [ "sequence_end" ] } ] }, { "role" : "IntermediateEventOnActivityBoundary", "connects" : [ { "from" : "Activity", "to" : [ "IntermediateEventOnActivityBoundary" ] } ] } ], "containmentRules" : [ { "role" : "BPMNDiagram", "contains" : [ "all" ] }, { "role" : "SubProcess", "contains" : [ "sequence_start", "sequence_end", "from_task_event", "to_task_event", "EventSubprocess", "TextAnnotation" ] }, { "role" : "EventSubProcess", "contains" : [ "sequence_start", "sequence_end", "from_task_event", "to_task_event", "TextAnnotation" ] } ], "morphingRules" : [ { "role" : "ActivitiesMorph", "baseMorphs" : [ "UserTask" ], "preserveBounds" : true }, { "role" : "GatewaysMorph", "baseMorphs" : [ "ExclusiveGateway" ] }, { "role" : "StartEventsMorph", "baseMorphs" : [ "StartNoneEvent" ] }, { "role" : "EndEventsMorph", "baseMorphs" : [ "StartNoneEvent" ] }, { "role" : "CatchEventsMorph", "baseMorphs" : [ "CatchTimerEvent" ] }, { "role" : "ThrowEventsMorph", "baseMorphs" : [ "ThrowNoneEvent" ] }, { "role" : "TextAnnotation", "baseMorphs" : [ "TextAnnotation" ] } ] } }