activiti5.14版本在線流程設計器的國際化中文支持


參考了前輩的一些國際化支持做法,加上自己對流程的一些理解,做了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" ]
    } ]
  }
}
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM