Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Geert Bellekens

Pages: 1 2 [3] 4 5 ... 15
Bugs and Issues / EA.ConnectorEnd.IsNavigable sometimes wrong
« on: June 26, 2016, 05:30:55 pm »
When setting the navigability using the direction field on the association the navigability in the EA.ConnectorEnd is not reported correctly.

This is probably due to the fact that EA stores this information in two places (t_connector.DestIsNavigable and t_connector.DestStyle).
When setting the navigability with the direction field only the DestIsNavigable is filled in where the DestStyle remains Navigable=Unspecified;

When setting the navigability with the Role field then the opposite is true, DestIsNavigable remains 0 where DestStyle gets filled in with Navigable=Navigable;

In the first case the EA.ConnectorEnd.IsNavigable and EA.ConnectorEnd.Navibility fields are not filled in correctly.

Bug reported


I have created some RTF script fragments  and I wanted to deploy the lot via an MDG.
Unfortunately the script fragment looses the link to the script if deployed via an MDG.
The only solution was to import the script using Import Reference Data, breaking my whole nice MDG deployment scheme.

Digging a bit into the details I noticed that the template references the script by its GUID, but the script int he MDG doesn't have a GUID at all, so logically that doesn't work.

Reported as bug


I'm trying to make a template fragment that show the details for the internal requirements in a nice table.

But I have internal requirements of two different types (Business Rules and User Messages) and I would like to have one fragment showing the Business Rules and the other fragment showing the User Messages.

But I can't seem to find a filter that I can use in the Other Filters section. Is this filter set missing, or am I not finding it?


I would like to be able to build Schema Composer schema's using the API.

Currently the API only allows to read the Schema Composer schema when generating a schema, but I would like to be able to create and modify Schema's using an add-in or scripts as well.


Bugs and Issues / RefGUID tags info lost when doing xmi import
« on: June 01, 2016, 06:47:25 pm »
We are using RefGUID tagged values to reference Change requests from our model elements as a way to do change management.
(keep track of which things are changed because of a CR).

We ran into a problem when retrofitting some of our changes to a branch model.
The idea was that we could simply export a set of existing CR's from our main trunk to our branch model, and because of the GUID's the import would not break any existing links.

That assumption is true, but only if you import the elements in the same package!
If you import them into a subpackage (effectively moving existing elements to another package) then EA deletes the elements and recreates them in the subpackages (instead of updating the existing elements).
Now for regular connectors this is not a problem as the xmi import mechanism keeps track of the connectors and reconnects them after the creation, but for tagged values this is a problem. All the tagged values referencing a CR where cleared when the CR was deleted, and the guid was not filled in again after the recreation, leaving a bunch of tags pointing no nowhere anymore.

So now we have to manually reconnect a few hundred tagged values to their respective CR's, not the most enjoyable tasks imaginable :/

Reported as bug


For IBAN Account numbers there's a pattern that is 848 characters long.
But the tagged value on the XSDSimpleElement only allows for 255 characters.

The usual workaround for things like this is to use <memo> as value so you can type in the longer content into the notes window.
Unfortunately the XSD generation is not smart enough to recognize this and simply generates &lt;memo&gt; as pattern

Can we please make the XSD generation a bit smarter so it can handle large patterns?


PS. The current workaround for this problem at my client is to change the database structure to enlarge the t_objectproperties.Value column. Unfortunately I cannot offer an alternative (yet).

When dragging an Action onto an Activity Diagram, or a BPMN Activity onto a Business Process Diagram I get a little menu that allows me to select the type of Action/Activity.

The result of my choice is an element with the same stereotype, but with values for the tagged values.

I would like to replicate that for my own profile, but I don't know how. With the hidden toolbox feature I can do that for different stereotypes, but not for differences in the tagged values.

Does anyone know the secret recipe to do that?



According to the EA.ConnectorClass should contain a property called AssociationClass, but I get a compile error when trying to use that.

Bug reported


Since one of the newer versions, if you add a state machine to class it adds the statemachine, adds the state machine diagram, but then it also adds the statemachine to the diagram looking like a diagram reference.

Why is this happening all of a sudden? The feature was working fine as it was.

If it ain't broke, don't fix it!
I'll report it as a bug


I have a client who would like to have a specific stereotype for the Association Class, but combine that with another stereotype for the association itself.

I created a stereotype extending AssociationClass, but now both the Association as the AssociationClass get the same stereotype (and the same tagged values, of which I only want one set)

I haven't found a way to tell EA that the stereotype for the association should be «a» but the stereotype for the association class should be «b»

Any idea's (using standard MDG approach)?


When making an BPMN2.0 Business process Diagram you typically create the BusinessProcess element and have a diagram nested under that element.
Now typically when creating things on a diagram these things are located at the same place as the diagram.
So if I add something on the diagram it will be nested under the Business Process element.

That is true for everything except for BPMN2.0 Messages. They get moved out of the business process to be on that same level.
I don't know why that is, and if there is a good reason for it, but that in itself wouldn't be a big problem for me.

Now because we want to depict Messages on a diagram more then once (we put the message icon next to the MessageFlow to make navigation to the composite diagram of the message easy) we use Message Instances.
I created a stereotype Message for Object as well (with a shapescript that makes it look like a BPMN Message) so our Message instances look like messages. (a script takes care of the composite diagram for the instances)

The problem is that EA moves my Message Instances out of the Business Process element as well.

So please, if possible remove the strange behaviour that moves messages out of the business process.
If that is not possible then at least check the type of the element (Class) as to leave objects alone when moving.


Reported as bug.


Bugs and Issues / Extending BPMN stereotype doesn't work (properly)
« on: April 22, 2016, 04:53:37 pm »
My client needed a special type of BPMN 2.0 messages with some extra information -> Functional Information Stream
So what I did was create the stereotype «FIS» that specializes BPMN 2.0::Message.

So far so good, I added my extra attribute and a shapescript to differentiate «FIS» from a regular Message

This all worked fine up until we needed to model messageFlows. The tagged value messageRef only accepts BPMN2.0::Message stereotypes, but doesn't allow to select my «FIS» stereotype (which IS a BPMN2.0::Message)

So bye bye elegant solution, back to adding random tagged values with a script to a subset of all BPMN Messages  :(

Reported as bug.


Suggestions and Requests / Association classes in Schema Composer
« on: April 21, 2016, 05:11:30 pm »
If I select an association that is linked to an Association Class, I would expect the Schema Composer to recognize this and add the Association Class to the list of classes so I could select attributes from that Association Class.

Feature request sent.


Sometimes it would be useful to apply a diagram filter when reporting a diagram in an RTF template.

We have a case where monitoring items are added to business process diagrams, but we don't want the business process documents to be impacted by the monitoring items.
Using diagram filters we can filter the monitoring items out of the diagrams, but unfortunately there's no facility to apply those diagram filters when generating a document.


Bugs and Issues / Script fragment error only on first try
« on: February 26, 2016, 06:28:50 pm »
I have  a weird problem that I can't seem to get my head around.

I'm using RTF templates with some script fragments. Now usually the first time I generate a document I get an error (or more) and some of the content from the script fragments has not been generated. Not all of it mind you. Some parts (using the same script fragment template) generate just fine, but other don't.

When I try that a second time it (almost always) generates perfectly fine.
What do they say again about someone who does exactly the same thing but expects a different outcome ???

It feels like the script engine has to "warm up" before it is ready to really do the job. :-\
Running the script manually always works just fine.

Anyone had the same problem, or has an idea how to solve it?

Anyway here's the script I use in the script fragment

Code: [Select]
'[path=\Projects\Project A\Template fragments]
'[group=Template fragments]
option explicit

!INC Local Scripts.EAConstants-VBScript
!INC Atrias Scripts.Util

' Script Name:
' Author:
' Purpose:
' Date:
function MyPackageRtfData(packageID, tagname)
dim package as EA.Package
dim element as EA.Element
set package = Repository.GetPackageByID(packageID)
if not package is nothing then
set element = Repository.GetElementByGuid(package.PackageGUID)
if not element is nothing then
MyPackageRtfData = MyRtfData (element.ElementID, tagname)
end if
end if
end function

function MyRtfData (objectID, tagname)

dim xmlDOM
'set  xmlDOM = CreateObject( "Microsoft.XMLDOM" )
set  xmlDOM = CreateObject( "MSXML2.DOMDocument.4.0" )
xmlDOM.validateOnParse = false
xmlDOM.async = false

dim node
set node = xmlDOM.createProcessingInstruction( "xml", "version='1.0'")
    xmlDOM.appendChild node
dim xmlRoot
set xmlRoot = xmlDOM.createElement( "EADATA" )
xmlDOM.appendChild xmlRoot

dim xmlDataSet
set xmlDataSet = xmlDOM.createElement( "Dataset_0" )
xmlRoot.appendChild xmlDataSet

dim xmlData
set xmlData = xmlDOM.createElement( "Data" )
xmlDataSet.appendChild xmlData

dim xmlRow
set xmlRow = xmlDOM.createElement( "Row" )
xmlData.appendChild xmlRow

dim element as EA.Element
set element = Repository.GetElementByID(objectID)

dim formattedAttr
set formattedAttr = xmlDOM.createAttribute("formatted")

dim descriptionfull
descriptionfull = getTagContent(element.Notes, tagname)

dim xmlDescNL
set xmlDescNL = xmlDOM.createElement( "DescriptionNL" )

xmlDescNL.text = getTagContent(descriptionfull, "NL")
xmlRow.appendChild xmlDescNL

set formattedAttr = xmlDOM.createAttribute("formatted")

dim xmlDescFR
set xmlDescFR = xmlDOM.createElement( "DescriptionFR" )
xmlDescFR.text = getTagContent(descriptionfull, "FR")
xmlRow.appendChild xmlDescFR

MyRtfData = xmlDOM.xml
end function

'msgbox MyPackageRtfData(3357,"")
function test
dim outputString
dim fileSystemObject
dim outputFile

outputString =  MyRtfData(62899, "definition")

set fileSystemObject = CreateObject( "Scripting.FileSystemObject" )
set outputFile = fileSystemObject.CreateTextFile( "c:\\temp\\NLFRtest.xml", true )
outputFile.Write outputString
end function


Pages: 1 2 [3] 4 5 ... 15