Considerations when adding new nodes / constructs
When adding a new item to the palette, such as a new node type or other construct, there are multiple parts of the tool that require adjustment and expansion. Before addition of a new item can be considered completed, these must all have been done.
- Adding the tool to the palette. This involves addition of the CreateFeature and the AddFeature (for the business object and graphical representation respectively)
- Add feature is listed in the ActivitiBPMNFeatureProvider#getAddFeature() method
- Create feature is listed in the ActivitiBPMNFeatureProvider#getCreateFeatures() method
- Adding a new icon to the icons folder of the gui bundle and adding the correct reference to the ActivitiImageProvider class
- Adding the tool to the list of features that can be disabled when creating palette entries with CustomServiceTasks. To do this:
- Create an entry in the PaletteEntry enum
- In the constructor of the ActivitiToolBehaviorProvider class, add a toolmapping for this new entry to the CreateFeature
- Add the appropriate entry in the ActivitiToolBehaviorProvider#getPalette() method
- Adding a clone implementation for the underlying business object in the CloneUtil class
- Adding any validations required to the BPMN20ProcessValidator in the validation.bpmn20 bundle
- Adding any BPMN export output for the construct to the BPMN20ExportMarshaller in the export.bpmn20 bundle
Feature ideas notepad
- Camelcased process name instead of Helloworld
- Create unit test from project -> select processes in the project. Combine with a feature that checks for the unit test's existence and prompts for conflict resolution if a unit test already exists.