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.

  1. Adding the tool to the palette. This involves addition of the CreateFeature and the AddFeature (for the business object and graphical representation respectively)
    1. Add feature is listed in the ActivitiBPMNFeatureProvider#getAddFeature() method
    2. Create feature is listed in the ActivitiBPMNFeatureProvider#getCreateFeatures() method
  2. Adding a new icon to the icons folder of the gui bundle and adding the correct reference to the ActivitiImageProvider class
  3. Adding the tool to the list of features that can be disabled when creating palette entries with CustomServiceTasks. To do this:
    1. Create an entry in the PaletteEntry enum
    2. In the constructor of the ActivitiToolBehaviorProvider class, add a toolmapping for this new entry to the CreateFeature
    3. Add the appropriate entry in the ActivitiToolBehaviorProvider#getPalette() method
  4. Adding a clone implementation for the underlying business object in the CloneUtil class
  5. Adding any validations required to the BPMN20ProcessValidator in the validation.bpmn20 bundle
  6. Adding any BPMN export output for the construct to the BPMN20ExportMarshaller in the export.bpmn20 bundle

Feature ideas notepad