During the ADOxx Training on June 25th and 26th 2013 we have started implementing the basic functionality mentioned in the request:
1. We created a new model type called "Law Paragraphs" in an already existing library that included basic process modelling functionality (Sample_BPMN_Library_ADOxx1-3-UL1_1-0.abl)
2. We created a new class, called "Paragraph"and included it in the model type "Law Paragraphs"
3. For the class "Paragraph" we added the attributes "Abstract" - LONGSTRING, "Short Text" - STRING, "Paragraph Status" - ENUMERATION (with values: Good, Changed, Unavailable), "Link to the paragraph" - PROGRAMCALL
4. We added two attributes to the existing class "Task": "Paragraph Status" - ENUMERATION (with values: Good, Changed, Unavailable) and "Related paragraphs" - INTERREF (pointer to the class "Paragraph" in model type "Law Paragraphs")
5. We implemented an event handler for changing the value of the attribute "Paragraph Status" for class "Paragraph" after every change in the value of the attribute "Link to the paragraph"
6. We added the menu item "Update tasks law status" in the menu "BPMN mechanisms" available in the modelling component; by clicking this menu item, the "Paragraph Status" of every
task in the current process model is updated according to the values of the attribute "Paragraph Status" of the "Paragraph" objects referenced by that task.
7. The scripts developed at 5. and 6. have been added to the library's file container and referenced in the library attribute "External Coupling" accordingly.
The application library package, including the AdoScript code implemented can be downloaded below.