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] 4 5 ... 521
General Board / Re: Compact Repository model
« on: January 05, 2018, 08:59:10 pm »

In modern databases there is not really a linear correlation between database size and performance.
You DBA might be able to reduce the size by removing unallocated space, but I'm pretty sure that won't do anything for your performance.

One of the things you might want to look as is the auditing feature. That is known to bloat the database and cause performance issues.
Other then that, it is often more of a network issue then it is a database issue.
If you ask your DBA to monitor the performance on the database he will probably say that there is nothing wrong on the database side and that everything runs smoothly.

EA typically sends hundreds of tiny queries to the database, so you might want to ask your DBA to tune the server for this type of usage


General Board / Re: Data Domains
« on: January 05, 2018, 04:54:22 am »
I think traditionally things like data domains are defined in the logical model rather then the database model. Usually these are defined using UML Datatypes and UML Enumerations.
You would then need an MDA transformation to translate that to database terminology.

I'm not sure if EA can generate code for user defined datatypes. Possible workaround is to define your user defined datatypes in the list of DBMS datatypes.


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"



I'm a bit confused.
Why would you want to use MS Access to run queries on a firebird database?


No, I think it is indeed not possible.

But given the fact that scripts are not in the API at all I highly doubt whether Sparx will be willing to implement such a feature.
I can imagine that they would reason that there is only a very limited number of users that would benefit from such a feature.


General Board / Re: Understanding External References
« on: January 04, 2018, 03:50:38 am »

Have you also considered using RASS to ascertain dependencies for the package you are exporting from the source model?
If Project transfer isn't an option, you need to understand all dependencies using RASS and import that into your new model.


Thank you for responding, Nazim. I'm not sure what RASS is. Is it a 3rd-party utility? If so, there's no chance of us being able to use it.

I know of RAS which stands for Reusable Asset Service. See
I guess that is what Nizam meant.


Bugs and Issues / Re: Orphaned EA.exe process - Interop.EA.dll
« on: January 04, 2018, 12:47:30 am »
I think you need to call Repository.Exit()


General Board / Re: Understanding External References
« on: January 03, 2018, 03:41:35 pm »

How are you trying to "copy" the model?
Have you tried model transfer? That process will basically do a table per table copy of the model resulting in an identical copy.

And also, run a project integrity check (fixing all the errors) before trying to transfer.


General Board / Re: EA Sucks?
« on: January 02, 2018, 11:23:13 pm »
Hi Saeed,

Generally speaking the performance of the tool is quite acceptable for most users.
There are however specific things to look at when trying to solve performance issues for EA.

- Database: Oracle is known for having bad performance with EA.
- Network: The software is pretty chatty with the database. When opening a large diagram it might execute a few hundreds of very small queries on the database. If you have a limited network bandwidth that might be the bottleneck. I've heard complaint from people when using their corporate Wifi when the speed was no issue at all when using a wired network.

If upgrading the network is not an option you might want to consider a terminal (citrix, remote desktop,...) solution or look into the cloud solution.


Although I've written a few document generators in my time, with the current state of affairs of the standard document generator, I cannot with good conscience recommend rolling your own anymore.
With virtual documents, SQL and scripting fragments, you can do almost anything you need using the standard RTF generator.
I agree, it not as much fun as writing your own, and it may not be in a fancy academic format as Latex, but most clients I work with don't care too much about my fun-level, or Latex. They just need Word documents with the contents they need from the model, and preferably in such a way that they can make (small) adjustments to the templates themselves.

I wrote a small article about the way I do document generation these days:

If you still want to go for writing your own generator, you can take a look at my open source C# repositories on Github:


I'm not sure of Geert's Message Composer, but it sounds like it may be an unnecessary step.

That would be in case if
- The standard subset feature would not be flawed (try redefining a class and see what happens)
- The standard subset feature would have more options (like collapsing inheritance, traceability to source elements and features,...)
- The XSD generation from a profile would have the same options as the standard XSD generation in terms of tweaking the result.

With the current state of affairs the Schema Composer out of the box is not flexible enough to be used in a professional context to define messages and generate xsd's (or JSON's)


General Board / Re: Simulate save (ctrl s) in Addin
« on: January 01, 2018, 06:36:29 pm »
The documentation does have a search function you know. :o
Have you tried anything? Like searching for "SaveDiagram"
Or did you just think it was easier if someone else did the searching for you?



I think the exceptions (showing where another scenario starts) themselves are a relative recent addition to the RTF templates, so there's a good chance that Sparx hasn't implemented the join step in the RTF templates.
Worth a feature request I think.

If you can't wait for Sparx to implement it as a new feature then you are looking at using a fragment, but that is not going to be easy.
The structured scenario information is hidden in an xml field in the database, so unless you are a wizard with SQL you are probably looking at a script fragment to get the information you need.


Automation Interface, Add-Ins and Tools / Re: Scripting to get all diagrams
« on: December 24, 2017, 06:28:03 pm »
For those stumbling onto this topic when searching for a solution, it would be nice if you included the actual solution as well :)


It's better to use proper syntax for comparing values incl. NULLs. For example
Code: [Select]

Since I've never used IS DISTINCT FROM  I did a little research.
It is a standard SQL feature, but it it does not seem to be supported by Oracle, SQL server. see
I haven't tried ms-access, (.eap files) and the website doesn't mention access sql syntax.


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