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 - Richard Freggi

Pages: [1] 2 3 ... 21
There's two ways to solve this

1. Start Chrome with the parameter to allow local access "--allow-file-access-from-file" (thus exposing you to that security risk)
2. Publish the html model with a webserver like IIS (or upload them to sharepoint)


I thought the html documentation would not work in sharepoint because sharepoint disables javascript and hyperlinks between files?  Asking for a friend.

You can just ignore the database type and column datatype and you can hide datatype in diagrams to get a perfectly good conceptual or logical level data model.  It's a small kludge but never created problems for me.

I just set the *package* type as data model and <<table>> as class stereotype.  Then on the attribute submenu (columns) you get to choose PK and FK separately, and if it's a foreign PK (identifying relationship) if will show as pfK in the diagram!

I'm modeling some database views as classes using the <<view>> stereotype and it's nice that if I double click on the view, a menu comes up showing database, dependencies, definition (DML) and name of the view.

I'd like to access this info using SQL query on EA internal tables, can anyone advise which tables I can find them?  I don't see them in t_object or t_objectproperties.

I had good results by sticking to open source tools whenever doing a project with external partners.
No haggling, no vendors to get in the way, no approvals, no tool wars.
Eclipse Papyrus UML is the best open source UML tool in my opinion.  If you need something really elementary to use, WhiteStarUML is also OK, but it's not fully UML 2.5 compliant and its model metadata and reporting capabilities are very limited.

General Board / Re: Where can I see the GUID of an element in EA 15.1?
« on: August 30, 2020, 12:37:38 pm »
In the properties window, Project section

Thank very much everybody, much food for thought and very useful for my project!


When doing XMI export/import (as long as it from EA and to EA) each element keeps it's own GUID
That never changes, not even when you move it to another package.

EA uses the guid to link the existing elemnets to the elements in the import file.

So your diagrams will not be changed except for
- elements that have been deleted
- relations that have been deleted or added.

You'll want to do a baseline compare to know which elements have been added, so you can add them to the relevant diagrams.


Yes but the source of the model not from EA, is is a query on the repository of the system, which is then imported into a temporary package using Sparx Office integration MDG + your excellent Bellekens Excel importer, then I export this package to XMI and I import it into the "Import" model (I need to do this because both Office MDG and Excel importers work on *eap and my model is *feap (Firebird).
 So the elements have an ad-hoc GUID.  Also, I need XMI import because if an element is deleted in the system, MDG or Excel importer will not remove it from the Import model (they will just add or override, but not remove).

Yes as Geert says, rejecting a change is not really necessary, because my "Import" model needs to show the current system.  My concern is to ensure minimum breaking of my diagrams in the "Report" model (I'm OK to manually fix them a little if needed).  For example if a classifier is moved from one package to another in the import or  merge, will it disappear from my diagram?  I guess so as it may be imported with a different GUID.

I need a way to keep manual fixes in the Report model to a minimum, via the right import and/or merge strategy...

Hi Geert
If I just import the XMI directly in the "Import" package it will synchronize?  Wow I did not think of that.  Will try it right away!

[Edit 10 minutes later]
Per Geert's suggestions I'm reading up on setting my Import as controlled package, then use Scan XMI and Reconcile model during the XMI import into the controlled package, and I should be able to manually accept/reject changes and get a report of all changes made.  Does this sound like a good approach?

I've been reading the user manual but I'm still not clear on what is the best approach to meet my requirement.  Any advice is warmly welcome!

I have two models in my project (each with its root package):  an "Import" model containing complex package hierarchy and classes of a system, and a "Reporting" model consisting of package hierarchy and diagrams.  The diagram elements come from the Import model.

The system is updated on a weekly basis, so every week I need to extract an XMI file from the system and import the XMI into my "Import" package.  I need to make sure that elements that are changed or deleted are represented correctly in my diagrams (if an element is added, I can manually drag it into my diagram).

The most common changes are moving elements from one package to another, adding new packages and elements, and renaming elements.

It's not clear to me what is the right way to do this in EA.  Should I set my Import package as baseline, then import the XMI in a temporary package, then use package compare utility and manually merge the temporary package in the Import package?  Then delete the temporary package.

I think this should be a common scenario, so there must be some straightforward way to do it, but right now I'm confused by the user manual and can't find the right way of doing it - if anybody has experience please share! Thanks!

EA version 1310

General Board / Re: components and artifacts
« on: August 24, 2020, 01:44:44 am »
Hi Ngong, by "displayed in" I mean "displayed in".

General Board / Re: components and artifacts
« on: August 23, 2020, 12:20:08 pm »
My understanding is that artifacts should be displayed in Nodes (deployment diagram), not in Components.

General Board / Re: Import controlled lists from say Excel
« on: August 16, 2020, 02:45:50 am »
There is a built in CSV importer/exporter but unfortunately it doesn't do attributes.
The other options are;
  • Look at Office integration MDG add-in which will cost a few $$. The on-line help indicates you can import attributes from an excel file but I've not tried it for importing attributes but I can confirm it works for packages and objects.
  • Write a Script in JavaScript, JScript or VBScript. If you look at EAScript Lib you'll see some CSV library scripts that would help get you started.
  • Write a JavaScript-Addin - similar to the previous option but implemented slightly differently.
  • Write a C# .Net Plug-in

If you are not a programmer then option 1 is probably the way to go. You can down load a free trial first to see if it does what you want. If you are a programmer and have time then it will be fun doing one of the other options.

Hope that helps.

I just bought the office integration MDG and started using it.

Yes you can import attributes with it, it's a 2-step first import the elements then repeat the import again for the attributes.  I can share the process but it would take me several pages to explain it.  It's painful, complex and error-prone.  Each import needs a different profile, template sheets etc.  It took me a few days to learn to use it and a few emails to Sparx support (Sparx support did a great job by the way - prompt and useful replies, I'm very happy with it). You can see my recent posts documenting my troubles.

The Office MDG is incredibly slow - I think it re-scans the whole eap database for every transaction in the 2nd import.  I can only import 1 attribute every 40 - 60 seconds with Office MDG.  My import sheet has about 170,000 attributes over 13,000 classes. (My computer is pretty powerful with with SSD and 32G RAM so it's not a resource issue).  If your model has thousands, not tens or hundred of thousands of elements, then speed should not be a big issue.

I have done the same import with Geert's Excel importer and it works a breeze (plus it took me only 1 hour to figure it out how it works and make some light customization, with zero knowledge of Excel macros).  The full 170,000 + 13,000 import takes maybe 20 minutes (fractions of seconds per item vs. 40 seconds+ for the MDG).  Excellent!

So, if you have the time to learn EA scripting that would be the best route. 

I use both the Excel importer and the MDG because the MDG allows me to import complex package hierarchies, associations and other stuff and I don't plan to learn EA scripting.

General Board / Is there a way to change a class into an attribute??
« on: July 30, 2020, 06:36:48 pm »
So I'm evaluating the Office integration MDG to import ~ 150K elements including classes, attributes and their dependencies into EA v. 1310.
You can read about my misadventures using this MDG in its own thread.
By now I can import Packages, classes and dependencies, but no way to import attributes (UML class properties) if I have the Element type specified.  The MDG documentation mentions importing attributes but they are really properties of EA's internal data structures like Style, IsDerived etc.  There is a choice to import attributes only in the MDG if you select "sample document has no data type" but I've not been able to import the attributes this way (cannot nest them in the parent class).

But it's straightforward to import nested *classes* (or other EA element types: requirements, contraints etc.)  as surrogates for the attributes.  The result is a class containing nested classes with all the names and properties of the attributes.  If I could then convert these to real SParx attributes, I'd be OK.  Does anybody know it this is possible, thanks!!!

Pages: [1] 2 3 ... 21