Author Topic: Query tagged value from user during element creation  (Read 58 times)

martin1

  • EA User
  • **
  • Posts: 37
  • Karma: +0/-0
    • View Profile
Query tagged value from user during element creation
« 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?

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 8677
  • Karma: +211/-26
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Query tagged value from user during element creation
« Reply #1 on: January 14, 2019, 11:06:26 pm »
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
Quote
<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

martin1

  • EA User
  • **
  • Posts: 37
  • Karma: +0/-0
    • View Profile
Re: Query tagged value from user during element creation
« Reply #2 on: January 14, 2019, 11:59:59 pm »
Exactly, this is the behaviour I'm looking for. If someone comes across this, it's described on page 1507 in the EaUserGuide.

Thanks!

martin1

  • EA User
  • **
  • Posts: 37
  • Karma: +0/-0
    • View Profile
Re: Query tagged value from user during element creation
« Reply #3 on: January 15, 2019, 03:43:56 am »
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?

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 8677
  • Karma: +211/-26
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Query tagged value from user during element creation
« Reply #4 on: January 15, 2019, 05:40:23 am »
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