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 ... 16
Bugs and Issues / What's the deal with the «enum» stereotype?
« on: March 27, 2018, 04:29:05 pm »
For a while now I've noticed something strange.
On some models, when I add a value to an enumeration, this new value automatically gets the stereotype «enum»

On other models the stereotype is not there.

Does anyone know where this stereotype is coming from, and why I have this on some models an not on others?


Bugs and Issues / GetLatest/Check-out removes tagged value references
« on: March 22, 2018, 08:44:58 pm »
We recently added version control to one of our model in order to share it in a controlled fashion with other models.

The source model is a BPMN model that uses a lot of tagged value references (i.e. MessageRef)
After a user had checked out a package containing messages that were referenced by MessageRef tagged values, those tagged values where emptied, effectively loosing the reference to the message object.
Doing a getlatest on the process package re-instates the tagged value.
This is of course a SERIOUS issue as it slowly destroys our model.
I tried playing with the settings, but nothing seemed to work.

Steps to Reproduce:

  ProcessB with messageFlow containing tagged value MessageRef referencing MessageA

- Version control both packageA as PackageB and check-in both packages.
- Do a getLatest on packageA
- Notice that the messageRef tagged value has been cleared.

Reported and hoping for a quick solution as this is destroying our BPMN model


General Board / EA v14 beta - The new Features window is awkward!
« on: March 08, 2018, 06:32:29 pm »
I was just trying to create some operations, but the old popup dialog to edit operations and attributes has been replaced by a docked window called "Features".
Problem is that you can only edit part of the operation here (only list view part of the old dialog is here) the other properties you have to edit in the docked properties window.

Aside from the fact that you now don't have an explicit save anymore (as you had with the modal dialog) it is really awkward to have to use two different docked windows to achieve a single thing.

I hope there's a way to revert back to the old style (or at least make editing operations less awkward)


When a class has two associations with the same association name, only one of them will show up in the schema composer.

Steps to Reproduce:
- Create class A, B and C
- Add an association from A to B with name "test"
- Add an association from A to C with name "test"
- Create a new schema composer schema
- drag class A into the schema
- notice that only one (random) association with name "test" will show up with no warning at all.
- remove the names from the associations
- notice that now both associations are visible in the schema composer



Bugs and Issues / v14 BETA: Docked windows tabs icons missing
« on: March 07, 2018, 09:09:23 pm »
Before v14, if you docked several windows on the same location there were helpful icons on the tabs to indicate which window to select.
These icons are gone in v14, making it harder to identify the correct tab.


General Board / EA v14 beta - Where are the release notes?
« on: March 07, 2018, 06:01:10 pm »
The long awaited version 14 beta is finally been released, but unfortunately I can't find the release notes.

Yes sure there is a marketing page, but that is not the same as actual release notes that list each and every change.


I have the following situation
Package A
  - Class A
Package B
 Diagram B -> contains Class A

Both Package A and Package B are version controlled separately and checked in separately
Now I
- check out Package B
- remove Class A from my Diagram B
- save Diagram B
- check in Package B

Then I get a dialog saying that there are possibly missing cross references with an entry saying Diagram Contents with a count of 1 By default the checkbox is checked.
Since I have no means to figure out which diagram contents EA is talking about, the safe thing seems to be to accept the default setting and click OK.

Nothing weird happens, so I'm happy... that is until (might be months later) I do a checkout of Package B
Suddenly I notice that class A is back on my diagram B, although I removed it previously.
I think that is a clear bug.
I can imagine having safeguards for situation where I would be editing package B in a model that doesn't contain Package A, but in this case it the diagram object is part of Package B, so whether or not it is deleted has nothing to do with external references.


Bugs and Issues / RefGUIDList tagged value not saved
« on: January 04, 2018, 07:39:54 pm »
If you select another entity in a RefGUIDList tagged value with the same name as the previous entity then the new value is not saved.

Steps to Reproduce:
Create RefGUIDList tagged value that references attributes like this
Add this tagged value to an attribute.
Select an attribute with name "A"
Select something else
Now select the same attribute again and select a different attribute with name "A"
Select something else
Go back to the attribute with the tagged value
Notice that the tagged value still references the first attribute with name "A"



Bugs and Issues / Exclude filter does not exclude initial state node
« on: December 19, 2017, 07:48:53 pm »
When you set the exclude filter to exclude everything except for StateMachine and Activity then you still get entries for Initial Statenode entities.
Only after setting the element filter to ObjectType oneOf 'StateMachine','Activity' did it filter out the Initial nodes.


-- Reported --

Bugs and Issues / How to delete a style in version 13+?
« on: December 07, 2017, 07:48:28 pm »
Since version 13 I don't seem to be able to delete styles anymore.
In version 12 there was a delete button on the "Edit Stylesheet" dialog, but in version 13 that button is no longer there.
(I now open the stylesheet in v12 in order to delete a style)

Anyone know if this has been moved to another location, or is that just an oversight?


Very often when writing scripts I have to do something with a selection of elements in the selected package or or nested packages.
Because iterating all elements of all packages recursively is very slow, I usually try to get the elements I need using an SQL query.

Now when using SQL searches you can use the macro #Branch# to get all package ID's of the currently selected package and all nested packages. Because that macro can't be used in scripting I'm making the package ID string myself. This works ok, but it is not super fast. In the model I was using it on this function alone took about 4 minutes (of the 11 minutes of the whole script)
Does anyone have an idea for a more efficient implementation?
I guess I could bypass the API completely and rely only on database queries to get the ID's of all the packages.

Code: [Select]
'get the package id string of the given package tree
function getPackageTreeIDString(package)
'initialize at "0"
getPackageTreeIDString = "0"
dim packageTree
dim currentPackage as EA.Package
if not package is nothing then
'get the whole tree of the selected package
set packageTree = getPackageTree(package)
' get the id string of the tree
getPackageTreeIDString = makePackageIDString(packageTree)
end if
end function

'returns an ArrayList of the given package and all its subpackages recursively
function getPackageTree(package)
dim packageList
set packageList = CreateObject("System.Collections.ArrayList")
addPackagesToList package, packageList
set getPackageTree = packageList
end function

'add the given package and all subPackges to the list (recursively
function addPackagesToList(package, packageList)
dim subPackage as EA.Package
'add the package itself
packageList.Add package
'add subpackages
for each subPackage in package.Packages
addPackagesToList subPackage, packageList
end function

'make an id string out of the package ID of the given packages
function makePackageIDString(packages)
dim package as EA.Package
dim idString
idString = ""
dim addComma
addComma = false
for each package in packages
if addComma then
idString = idString & ","
addComma = true
end if
idString = idString & package.PackageID
'if there are no packages then we return "0"
if idString = "" then
idString = "0"
end if
'return idString
makePackageIDString = idString
end function


Bugs and Issues / attribute order messed up
« on: November 16, 2017, 07:12:04 pm »
When deleting attributes the positions of the attributes are not recalculated. This results in inconsistent behavior when adding attributes and changing their order.

This is a serious problem for anyone doing any type of code generation (xml, DDL)

Current workaround is to move the new attribute all the way to the first position and then back. This triggers a recalculation of the position for all attributes.

Steps to Reproduce:
- turn off alphabetic ordering for attributes
- Create class with following attributes
Pos name
----------- ----
0 z
1 q
2 n
3 h
4 a

- Delete "n" and "h" I'm and notice the missing pos 2 and 3

Pos name
----------- ----
0 z
1 q
4 a

- Add "m" to the end and save
- Notice that m has gotten pos 3 and is therefore placed between q and m instead of at the end.

Pos name
----------- ----
0 z
1 q
4 a
3 m

Automation Interface, Add-Ins and Tools / Repository.SaveImageToPath
« on: November 09, 2017, 09:54:54 pm »
I just found this operation on the EA.Repository class, but it doesn't seem to be documented.
Does anyone have any idea what it does?


Bugs and Issues / Bug when copying package
« on: October 19, 2017, 12:31:55 am »
When copying a package you can get nasty side effect if other classes are depending on classes in the copied package.
E.g. classes in other packages that have a generalization to classes being copied now have two generalizations. One to the original, and one to the copied class.

Steps to Reproduce:
- create packageA with classA
- create packageB with classB
- create generalization from classB to classA
- copy packageA (full structure for duplication)
- paste packageA resulting in a copy of packageA
- notice that classB now has two generalizations. One to the original ClassA, and one to the copied ClassA.



I just got a change request for one of my add-ins to export a .png of every diagram in scope (selected package tree), along with the xmi export it is already doing.

Now I'm a bit concerned about the performance. I'm afraid export diagram images for each and every diagram is going to be very slow, and if I remember correct EA will also open each and every single diagram before exporting its image to a file.
So that would not be a good user experience.

Now with EA 13 there is an option to cache the diagram images upon saving a diagram.
I was thinking that that might be a much quicker way to get the export I need since the images are already there and I just need to pour them into the right file format.

Has anyone done something similar before?
Where does EA store the cache? (in t_document?)

Any helpful hint is much appreciated.



Pages: 1 [2] 3 4 ... 16