Sparx Systems Forum
Enterprise Architect => Automation Interface, Add-Ins and Tools => Topic started by: martin1 on January 14, 2019, 09:42:56 pm
-
I'm working with an MDG technology that was created by someone else. This MDG has a toolbox, which allows me to create an element on a diagram. This element has a tagged value. Right after I dropped the element on a diagram, it prompts me to select a value from a given list of choices for the tagged value.
How can I get this behaviour in my own MDG?
-
Is it somewhat similar to the way EA ask for an Activity type if you drag an Activity element from BPMN 2.0 on a diagram?
I believe it has something to do with the subtype property.
e.g. For BPMN 2.0 Activity I see
<AppliesTo>
<Apply type="Activity">
<Property name="_defaultDiagramType" value="BPMN2.0::Business Process"/>
<Property name="isReadOnly" value="false"/>
<Property name="isSingleExecution" value="false"/>
<Property name="parameterName" value=""/>
<Property name="postcondition" value=""/>
<Property name="precondition" value=""/>
<Property name="_subtypeProperty" value="BPMN2.0::Activity::taskType"/>
<Property name="_tagGroups" value="Base Element,Activity,Task,AdHoc,Loop,Sub-Process,Callable Element,Execution,Other"/>
<Property name="_tagGroupings" value="auditing=Base Element;categoryValue=Base Element;documentation=Base Element;monitoring=Base Element;activityType=Activity;calledActivityRef=Activity;instantiate=Activity;isACalledActivity=Activity;isATransaction=Activity;isForCompensation=Activity;resources=Activity;messageRef=Task;operationRef=Task;rendering=Task;script=Task;scriptFormat=Task;taskType=Task;adHoc=AdHoc;adHocOrdering=AdHoc;cancelRemainingInstances=AdHoc;completionCondition=AdHoc;behavior=Loop;complexBehaviorDefinition=Loop;isSequential=Loop;loopCardinality=Loop;loopCharacteristics=Loop;loopCondition=Loop;loopCounter=Loop;loopDataInputRef=Loop;loopDataOutputRef=Loop;loopMaximum=Loop;noneBehaviorEventRef=Loop;oneBehaviorEventRef=Loop;testBefore=Loop;transactionMethod=Sub-Process;transactionProtocol=Sub-Process;triggeredByEvent=Sub-Process;ioBinding=Callable Element;ioSpecification=Callable Element;supportedInterfaceRefs=Callable Element;actualOwner=Execution;completionQuantity=Execution;implementation=Execution;numberOfActiveInstances=Execution;numberOfCompletedInstances=Execution;numberOfInstances=Execution;numberOfTerminatedInstances=Execution;startQuantity=Execution;state=Execution;taskPriority=Execution;assignments=Other;sub-ProcessRef=Other;definitionalCollaborationRef=Sub-Process;"/>
<Property name="_tagGroupStates" value="Base Element=closed;Activity=open;Task=open;AdHoc=closed;Loop=closed;Sub-Process=closed;Callable Element=closed;Execution=closed;Other=closed;"/>
</Apply>
</AppliesTo>
<TaggedValues>
<Tag name="activityType" type="enumeration" description="" unit="" values="Task,Sub-Process" default="Task"/>
<Tag name="adHoc" type="boolean" description="" unit="" values="true,false" default="false"/>
<Tag name="adHocOrdering" type="enumeration" description="" unit="" values="Parallel,Sequential" default="Parallel"/>
<Tag name="cancelRemainingInstances" type="boolean" description="" unit="" values="true,false" default="true"/>
<Tag name="completionQuantity" type="int" description="" unit="" values="" default="1"/>
<Tag name="documentation" type="documentation" description="" unit="" values="" default=""/>
<Tag name="completionCondition" type="completionCondition" description="" unit="" values="" default=""/>
<Tag name="implementation" type="enumeration" description="" unit="" values="##webService,##unspecified" default="##unspecified"/>
<Tag name="instantiate" type="boolean" description="" unit="" values="true,false" default="false"/>
<Tag name="isATransaction" type="boolean" description="" unit="" values="true,false" default="false"/>
<Tag name="isForCompensation" type="boolean" description="" unit="" values="true,false" default="false"/>
<Tag name="loopCharacteristics" type="enumeration" description="" unit="" values="None,Standard,MultiInstance" default="None"/>
<Tag name="script" type="string" description="" unit="" values="" default=""/>
<Tag name="scriptFormat" type="string" description="" unit="" values="" default=""/>
<Tag name="startQuantity" type="StartQuantity" description="" unit="" values="" default="1"/>
<Tag name="state" type="enumeration" description="" unit="" values="None,Ready,Active,Cancelled,Aborting,Aborted,Completing,Completed" default="None"/>
<Tag name="taskPriority" type="int" description="" unit="" values="" default=""/>
<Tag name="taskType" type="enumeration" description="" unit="" values="BusinessRule,Manual,Receive,Service,Send,Script,User,Abstract" default="Abstract"/>
<Tag name="triggeredByEvent" type="boolean" description="" unit="" values="true,false" default="false"/>
<Tag name="rendering" type="string" description="" unit="" values="" default=""/>
<Tag name="loopCardinality" type="loopCardinality" description="" unit="" values="" default=""/>
<Tag name="behavior" type="enumeration" description="" unit="" values="None,One,All,Complex" default="All"/>
<Tag name="complexBehaviorDefinition" type="complexBehaviorDefinition" description="" unit="ComplexBehaviorDefinition" values="" default=""/>
<Tag name="loopCounter" type="int" description="" unit="" values="" default=""/>
<Tag name="numberOfInstances" type="int" description="" unit="" values="" default=""/>
<Tag name="numberOfActiveInstances" type="int" description="" unit="" values="" default=""/>
<Tag name="numberOfCompletedInstances" type="int" description="" unit="" values="" default=""/>
<Tag name="numberOfTerminatedInstances" type="int" description="" unit="" values="" default=""/>
<Tag name="loopMaximum" type="int" description="" unit="" values="" default=""/>
<Tag name="testBefore" type="boolean" description="" unit="" values="true,false" default="false"/>
<Tag name="loopCondition" type="loopCondition" description="" unit="" values="" default=""/>
<Tag name="calledActivityRef" type="calledActivityRef" description="" unit="" values="" default=""/>
<Tag name="isACalledActivity" type="boolean" description="" unit="" values="true,false" default="false"/>
<Tag name="auditing" type="string" description="" unit="" values="" default=""/>
<Tag name="monitoring" type="string" description="" unit="" values="" default=""/>
<Tag name="supportedInterfaceRefs" type="supportedInterfaceRefs" description="" unit="" values="" default=""/>
<Tag name="resources" type="resources" description="" unit="" values="" default=""/>
<Tag name="actualOwner" type="string" description="" unit="" values="" default=""/>
<Tag name="ioBinding" type="ioBinding" description="" unit="" values="" default=""/>
<Tag name="oneBehaviorEventRef" type="oneBehaviorEventRef" description="" unit="" values="" default=""/>
<Tag name="noneBehaviorEventRef" type="noneBehaviorEventRef" description="" unit="" values="" default=""/>
<Tag name="transactionMethod" type="string" description="" unit="" values="" default=""/>
<Tag name="transactionProtocol" type="string" description="" unit="" values="" default=""/>
<Tag name="assignments" type="assignments" description="" unit="" values="" default=""/>
<Tag name="isSequential" type="boolean" description="" unit="" values="true,false" default="false"/>
<Tag name="categoryValue" type="categoryValue" description="" unit="" values="" default=""/>
<Tag name="sub-ProcessRef"/>
<Tag name="ioSpecification"/>
<Tag name="operationRef"/>
<Tag name="messageRef"/>
<Tag name="loopDataInputRef"/>
<Tag name="loopDataOutputRef"/>
<Tag name="definitionalCollaborationRef"/>
</TaggedValues>
And that is exactly what EA prompts you for when creating a new Activity from the toolbox
Geert
-
Exactly, this is the behaviour I'm looking for. If someone comes across this, it's described on page 1507 in the EaUserGuide.
Thanks!
-
One more question: Does this only work for elements or also for relationships? I did a quick test and I think it only works for elements. Maybe there is some trick?
-
One more question: Does this only work for elements or also for relationships? I did a quick test and I think it only works for elements. Maybe there is some trick?
I'm not sure, I've never seen it in action for relationships.
Geert