Flowable moddle extensions for CMMN 1.1
npm install flowable-cmmn-moddle

Flowable moddle extensions for CMMN 1.1. This package provides Flowable-specific extensions for cmmn-moddle, enabling support for Flowable's custom CMMN elements and attributes in cmmn-js based applications.
``bash`
npm install flowable-cmmn-moddle
`javascript
import CmmnModeler from 'cmmn-js/lib/Modeler';
import flowableDescriptor from 'flowable-cmmn-moddle/resources/flowable';
const modeler = new CmmnModeler({
container: '#canvas',
moddleExtensions: {
flowable: flowableDescriptor
}
});
`
`javascript
import CmmnModeler from 'cmmn-js/lib/Modeler';
import propertiesPanelModule from 'cmmn-js-properties-panel-flowable';
import propertiesProviderModule from 'cmmn-js-properties-panel-flowable/lib/provider/flowable';
import flowableDescriptor from 'flowable-cmmn-moddle/resources/flowable';
const modeler = new CmmnModeler({
container: '#canvas',
propertiesPanel: {
parent: '#properties-panel'
},
additionalModules: [
propertiesPanelModule,
propertiesProviderModule
],
moddleExtensions: {
flowable: flowableDescriptor
}
});
`
This package extends the CMMN 1.1 meta-model with Flowable-specific elements and attributes:
- Set history time to live for cases
- flowable:initiatorVariableName - Define initiator variable name
- flowable:candidateStarterGroups - Set candidate starter groups$3
- flowable:assignee - Task assignee
- flowable:candidateUsers - Candidate users
- flowable:candidateGroups - Candidate groups
- flowable:dueDate - Task due date
- flowable:followUpDate - Task follow-up date
- flowable:priority - Task priority
- flowable:formKey - Associated form key
- flowable:formFieldValidation - Form field validation$3
- flowable:processBinding - Process binding type
- flowable:processVersion - Process version
- flowable:processTenantId - Process tenant ID
- flowable:fallbackToDefaultTenant - Fallback to default tenant
- flowable:sameDeployment - Use same deployment$3
- flowable:caseBinding - Case binding type
- flowable:caseVersion - Case version
- flowable:caseTenantId - Case tenant ID$3
- flowable:decisionBinding - Decision binding type
- flowable:decisionVersion - Decision version
- flowable:decisionTenantId - Decision tenant ID
- flowable:mapDecisionResult - Result mapping
- flowable:resultVariable - Result variable$3
- flowable:caseExecutionListener - Case execution listeners
- flowable:taskListener - Task listeners
- flowable:variableListener - Variable listeners$3
- flowable:in - Input variable mapping
- flowable:out - Output variable mapping$3
- flowable:repeatOnStandardEvent - Repeat on standard event
- flowable:counterVariable - Counter variable
- flowable:maxInstanceCount - Maximum instance count$3
- flowable:milestoneVariable - Milestone variableCMMN XML Namespace
This extension uses the namespace
http://flowable.org/cmmn with the prefix flowable:.Example CMMN XML with Flowable extensions:
`xml
xmlns:flowable="http://flowable.org/cmmn"
targetNamespace="http://flowable.org/cmmn">
flowable:assignee="${initiator}"
flowable:candidateGroups="managers"
flowable:formKey="taskForm"/>
`Development
$3
- Node.js 16+
- npm or yarn$3
`bash
git clone https://github.com/jylups/flowable-cmmn-moddle.git
cd flowable-cmmn-moddle
npm install
`$3
`bash
npm test
`$3
`bash
npm run lint
`Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
1. Fork the repository
2. Create your feature branch (
git checkout -b feature/AmazingFeature)
3. Commit your changes (git commit -m 'Add some AmazingFeature')
4. Push to the branch (git push origin feature/AmazingFeature`)This project is licensed under the MIT License - see the LICENSE file for details.
- cmmn-js - CMMN 1.1 modeling for the web
- cmmn-moddle - CMMN 1.1 meta-model
- Flowable - Open source business process engine
- Based on camunda-cmmn-moddle
- Built on top of the excellent bpmn.io toolkit