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 - Paolo F Cantoni

Pages: [1] 2 3 ... 89
Automation Interface, Add-Ins and Tools / v15.1 Glossary improvements
« on: December 10, 2019, 06:18:14 pm »
The v15.1 Glossary improvements look very interesting, but it is not clear if they have solved the problem of term forms - Singular vs Plural, tenses etc.

Is anybody able to shed any light on this?

My experience says that you need multiple terms pointing to the same definition, but that doesn't seem to have been done (except by brute force - physically duplicating the definition for each term form).


Previously, if I selected multiple items on the browser and purged them, any diagrams under the items would be purged also.  Now they aren't.  I have to undertake a two-step process to clear our a set of items from the browser.  Purging an entire folder still seems to work OK.

Anyone else seen this?


I'm going to have a look at creating a language-specific definition for shapescript files in Notepad++, but before I do, I thought I'd ask two questions:
  • Has anybody already done this, and will share
  • Is there an interest in it, if I create one?


We've had success reverse engineering several SQL Server databases which are later than SQL Server 2012 (using the SQL Server 2012 model and Database Builder).

We reverse-engineered a new DB and found that the View, Function and Constraint definitions didn't import (the objects did, but no data in the appropriate tag).  Investigating, we found that this was a very old SQL Server 2008 DB.

Is there anything we can do to get it to import the definitions correctly?  We've tried using the SQL Server 2008 model - to no avail!  :(


In the past (pre v15) we used to export packages and then re-import with [X] Strip GUIDs as a mechanism to change the abstraction level (using the "Code as Design" paradigm).

If the items in the package had our "Neighborhood" Diagrams as their composite diagrams, they also had a tag with a RefGuid pointing back to the diagram involved.  When the items were p[reviously imported, these RefGUIDs were NOT updated and for the imported package would point back to the original diagram in the original package.  We had to run some direct SQL to fix this up.  No biggy, but still until we did, bedlam could ensue as more than one item tried to update the same diagram ;)

Yesterday  I went through the same export/import process and discovered that the RefGuids had been "fixed" already!  Has anybody else seen this?  It's possible that I made a mistake in my process, but before I tried to run the "Fixer", I ran a query to see how many items were affected and the query said none.  Randomly checking a few items seemed to confirm this!

Can a Sparxian, confirm or deny my observation?


When we run long-running tasks in EA (such as a large XML export - some of which can take tens of minutes to hours) the screen locks up because there is no mechanism to minimize EA during the run.

Can we please have a Minimize button on the appropriate dialog, which will minimize the whole of EA.

An example of what I mean can be seen on the Vice Versa Pro product from TGRMN (Another Aussie company - and an excellent product).  Once I start the synchronization going, I can press the minimize button on the active window and VVP will minimize until the synchronization is completed.


I suspect I may have used the Database Builder (DBB) incorrectly when reverse-engineering a database.  Does DBB create the view dependencies back to the source objects (that is what you find in the SQL Object Properties Dependencies box)?  If it doesn't, are these dependencies stored as repository items (and where) or are they calculated "on the fly" by the internal SQL parser?  My model doesn't have these dependencies as t_connector objects, but that may be because I mis-manipulated the import.


Bugs and Issues / v15 – DBB – can’t operate on sub selection
« on: October 14, 2019, 02:47:04 pm »
When comparing databases with Database Builder (DBB) there may be a lot of differences - perhaps in the thousands!  As is usual with EA dialogs, the user experience is less than optimal.

I read the insightful book "Don't Make Me Think" by Steve Krug, over a decade ago.  I would have thought that the standard pattern for any dialog, where there is a list of items that can be selected would be:
  • Select one,
  • Select ALL,
  • Select None,
  • Make a multiple selection (whether by dragging or selecting with keystrokes.)
Having made your selection, you would then select the action you wanted to be taken.

This seems to have eluded the DBB interface.  You, too, can spend an hour manually selecting which option you wanted to apply to the specific subset of the differences.  You can't even call it "mind-numbing" since you had to be alert to your mouse accidentally selecting the WRONG action (I discovered you CAN'T use the keystrokes to select the actions since, on planet Sparx, selection by keystroke within the actions dropdown is inconsistent and does not follow any of the standard patterns for option selection)

Please Rectify!  {and, if possible, make this a standard pattern for dialogs going forward and the rectification of existing dialogs - as time and resources permit}

Search in Help is finally starting to get its act together, but one anomaly that I fell over today is that the online search starts off as case insensitive, whereas the local Help search starts off as case sensitive.  Thus entering the same text in both will yield different results.  Local help should ALSO default to a case insensitive search.

Please rectify!


Bugs and Issues / v15 – DBB – [Set Synchronize All] – confusing
« on: October 14, 2019, 02:12:19 pm »
When you use the Database Builder (DBB) to compare databases, some of the options on the User Interface are [Set Import All] and [Set Synchronize All].  They are confusing, notwithstanding, the Help (the subject of a separate bug report).

The term Synchronize refers to making things the same at the end of both processes (which apply to ALL) differences, the origin and destination of the comparison will be the same.

The options are ACTUALLY [Synchronise Live to Model]  and  [Synchronise Model to Live].  If UI space is at a premium, then [Model <==== Live] and [Model ====> Live] can be used and, not surprisingly are more aligned with the explanation in the help.

Please rectify!

Is there any way to set the multiplicities for a relationship in the MDG?
When one creates an associative relationship (Association, Aggregation, Composition etc.)  you have to set the multiplicities at both ends to fully specify the nature of the relationship.  We'd like to have the ability to set some of the more common multiplicities (perhaps via hidden menu) to save the user having to use multiple mouse/keyclicks to set it up.


A long time ago, I worked this out, but I didn't put it somewhere easy to find.

I know there is a MOFProps connector property that shows a GUID of the Set, but I don't know which table it references.  Can anyone help?


Uml Process / v15 - Specialized metatypes - "Tables ain't tables"
« on: September 24, 2019, 03:37:33 pm »
Still playing with specializing standard MDG items.

This time, I tried to specialize a database Table (EAUML::Table).  Seemed to work fine initially.  Here is the entry in our MDG:
Code: [Select]
<Stereotype name="Table" metatype="Database Table" notes="" cx="151" cy="80" bgcolor="16709622" fontcolor="-1" bordercolor="-1" borderwidth="-1" hideicon="0" generalizes="EAUML::Table" baseStereotypes="EAUML::Table" redefines="EAUML::Table">
<Image type="EAShapeScript 1.0" xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64">UEsDBBQAAAAIAKJmOE87Vwpx/AAAAJYCAAAHABEAc3RyLmRhdFVUDQAH3RGKXd0Ril3dEYpd
The shapescript merely draws the native shape and overlays some stuff from the tagged value list.

So, the icon is correct, the colour is correct etc.  The overlay works.

However, when I try to connect our table to another of our tables, the PK dialog is NOT triggered.  It is only triggered if both items are EAUML::Table.  Is there something I'm missing or is it a bug?  It smells like another of those behaviours NOT triggered by the MDG metatype.

As Boss would say in the famous Castrol advertisement:  "Sol, Tables ain't tables"


The Database Builder is supposed to be able to track the changes to the live DB and maintain a synchronised model (See: Database Compare).

Has anybody used this functionality "in anger"?  As noted in some previous posts, we've reverse-engineered our Data Warehouse and now it's evolved and we're ready to update our model.

Any gotchas or tips would be much appreciated.


Uml Process / Generalization Sets How should they work?
« on: September 20, 2019, 04:28:39 pm »
I received the following response from Sparx:

The intended behaviour is when multiple sets are defined, generalization sets are drawn as comma-separated on the diagram and the generalization dialog loads corresponding subtypes for with respect to the selected set

It is my understanding that it is NOT possible for there to be more than one Generalization Set (because you can only define one PowerType) per Specialization/Generalization arc.  Consequently, the notion of comma-separated Generalization Sets is invalid.

I accept that a given specialized item may be a member of more than one Generalization Set to the generalized item, but that requires more than one PowerType and therefore more than one arc.

Thoughts?  I know very few users use Generalization Sets, but you should!  ;)

Pages: [1] 2 3 ... 89