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.

Messages - Geert Bellekens

Pages: [1] 2 3 ... 521
It would take a real "Sherlock Holmes" effort to find why the two queries are producing different results.
And not a very fun effort at that.

Sorry I pass :-\

But it is a fact that the new query is 100 x more readable then the old one.


Could somebody tell me, why it is better to use PutDiagramImageOnClipboard to PutDiagramImageToFile? Is it just because of working memory?

I don't think it's better, I think it's much worse. I hate it when programs hijack my clipboard. >:(
But it might indeed be faster then using the file approach.



If you export you UML profile from the package instead of the diagram the order in the project browser will be used instead of the z-order.
That is my preferred way of working.

No, I don't know of another way to verify the results.


You can manipulate the color by setting the default color of your stereotype element, and then make sure you include the appearance when saving your UML profile.


PS. Are you sure you are extending the Archimate stereotype correctly? I seem to remember that you need to use the base metaclass as well.


I use virtual documents for that purpose.
And I use a script to create the virtual document with all it's sections. Often a section only reports on a single (part of) an element, so I can control very precisely what will be generated, with which templates, and in which order.

The advantage is that you have an inbetween step where a user can still change something (like choose another template for a section, change the order, remove a section, etc..)

I wrote an article about this:


Apparently the option exists already. It was just hidden very well ;)

From Sparx support:
Please refer to the "Report Deletion of Cross Package References" help topic:

As mentioned...

Note that if all users are connecting directly to the same repository then detection of missing cross references should not be necessary, and you can disable the feature by deselecting the 'Report Cross Package Reference Deletions (XMI 1.1)' checkbox.

This option can be accessed via 'Start > Workspace > Preferences > XML Specifications > Report Cross Package Reference Deletions (XMI 1.1)'.

Problem solved


Automation Interface, Add-Ins and Tools / Re: Repository.Models.Refresh()
« on: January 12, 2018, 10:55:42 pm »
you have to pass the package ID. Use "0" for whole model.


Automation Interface, Add-Ins and Tools / Re: Repository.Models.Refresh()
« on: January 12, 2018, 09:28:03 pm »
Could it be that you have mixed up Repository.Models.Refresh() with Repository.RefreshModelView()

I think the latter is the one you need to reflect changes in the order of packages in the project browser.


Changes done in the GUI will be saved to the database immediately upon pressing OK on the dialog.

When using the API object this effectively gets the object from the database and then you are (mostly) working on a cached version of it.
The operation Refresh() on the EA collection will actually reload the the entire collection from the database.

You can also do a Repository.GetXXXByGUID() type of operation to "refresh" your object in memory.

The EA application also keeps a cache of objects, so changes you make to the API object may not appear immediately in the EA GUI.


Automation Interface, Add-Ins and Tools / Re: Document Bookmarks
« on: January 11, 2018, 07:54:27 pm »
As I understood it this procedure will replace the bookmark in Work by the contents of a generated RTF report.
Is that what you are looking for?


General Board / Re: SQL to find mult connectors between to elements
« on: January 11, 2018, 12:45:11 am »
That will output all elements with more than one connector. I guess the OP is after a list of connectors for two distinct element?

No it won't, see the grouping.
It will output all element/connector details for all elements that have 2 or more of the same kind of connector to the same element (which makes them a candidate for duplicate connectors, although there might be valid exceptions)


General Board / Re: SQL to find mult connectors between to elements
« on: January 10, 2018, 11:51:39 pm »
try this:

Code: [Select]
select os.ea_guid AS CLASSGUID, os.Object_Type AS CLASSTYPE, os.Name as SourceObject, os.ea_guid as SourceGUID,
c.Connector_Type as ConnectorType, ot.Name as TargetName, ot.ea_guid as targetGUID, count(*)
from ((t_connector c
inner join t_object os on os.Object_ID = c.Start_Object_ID)
inner join t_object ot on ot.Object_ID = c.End_Object_ID)
group by os.ea_guid , os.Object_Type , os.Name , os.ea_guid , c.Connector_Type , ot.Name , ot.ea_guid
having count(*) > 1
order by count(*) desc


General Board / Re: Running script from an specific Element
« on: January 10, 2018, 06:15:13 pm »
Hello Paolo,

We can use context item event to get the script from an element.

We can execute the script using Script Control Class (there are certain limitations)


Thanks, Nabil,

so it's not via the UI directly.


You can use a script to execute the script stored in the tagged value ;) or an add-in.


General Board / Re: Running script from an specific Element
« on: January 10, 2018, 04:52:52 am »
Scripts are stored in the model.
Depending on the script group the script will appear as an option in the context menu.


Hi Henrik,

Als qwerty indicated there is no very easy way.

The somewhat harder way is to write a script that changes the value. You can probably use the snippet provided by Nabil.
In the help there is some information about scripting, and I have a fairly large open source library with all kinds of scripts for EA:
The script will update the fields at the moment it is executed.

The somewhat harder option is to write an add-in. The add-in can react to the event of creating a new attribute and react accordingly, setting the value as default value.
For information on add-ins see

Another option is to use one of my add-ins called EA-Matic That add-in can forward the attribute creation event to a script. That allows you to define in the script what needs to happen when a new attribute is created.



Pages: [1] 2 3 ... 521