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 ... 106
We use patterns to create toolbox entries that will create vertices with multiple stereotypes and specific property settings (Tags).

Is it possible to do the same with arcs?  We'd like to be able to select a toolbox item and create a relationship between two vertices that has multiple stereotypes and/or additional properties.

I've had a look at the documentation, but it wasn't clear to me one way or the other.



We drag and drop Features (attributes, operations etc.) between the browser and diagrams.  It's a speedy and easy way to create comprehensive models easily, except for a couple of related problems (that may just be the tip of the iceberg).
If the DuplicatesAllowed column is set to True, EA displays the "{bag}" token on the target attribute.  If the IsStatic column is set to True, the column name is underlined in the target.
If you don't wish for these renderings to be present on the target attribute, there doesn't appear to be any way to reset them since they aren't available on the UI for attribute properties.
It makes it especially difficult to correct!

EA has started to restrict what appears on the various property pages to make it simpler for the new user in more recent times.  For some types of items (say Database related items), there used to be a tab that allowed the user to gain access to the properties that EA had suppressed in the simplified views.  I'd like to plea to have this functionality restored on all property pages.  While I'm in request mode, it would be REALLY cool to have another tab that gave you access to EVERY column in the data structure (even if not generally used by EA these days).



General Board / EA and SQL Server v2019
« on: March 03, 2022, 02:01:29 pm »
Our SQL Server-based repositories are currently running on SQL Server Express 2016.  We need to upgrade the version so we are looking at SQL Server Standard 2019.  I couldn't find any formal reference to it being supported by EA.  I presume many of you are running on it without problems - a confirmation would be nice.  Are there any gotchas in the uplift process?

As an aside, did you do an in-place upgrade or not?


We maintain our own repository structure which is compatible with the standard installation.  We have tried to make the changes as minimal as we needed, for example, making column types and sizing as consistent as we could.

We need (for our own internal processes) to use 3 columns that currently are (always?) empty (as q mentions in his vademecum book - Always NULL ?!).  However, we need to index these columns and they are currently nvarchar(MAX).  nvarchar(MAX) columns in SQL Server cannot be indexed; so we are proposing to make them nvarchar(255) and then index them.

We don't believe this will cause any issues but we'd be interested in any thoughts.  We are interested in any potential "show stoppers"; we have no fear of the changes we're making, and we're not interested in "you won't have a standard installation", we haven't had one for over a decade and a half.


Under versions prior to v16, one could use the toolbox to create the Extension relationship between a Stereotype and its Metaclass.  However, this wasn't available in the QuickLinker.  We tried to create our own QuickLinker addition to do the same, but it would only work sporadically.  Under v16RC, the QuickLinker now has this relationship available.  It seems to work even with our MDG disabled, but given the magical way EA works, we can't be sure.

Can anyone confirm that it is now available in Standard EA v16RC and not some manifestation of our MDG?


You may be aware of the setfontcolor() command. The Help defines this as:
setfontcolor(int red, int green, int blue) or setfontcolor(Color newColor)
Sets the font color of a text string.
You can specify the required color by defining RGB values or using a color value returned by any of the Color Queries such as:
     GetUserFontColor() or GetUserFillColor()
You can use this command with any of the text print commands.

In your use of the setfontcolor you may have noticed that unlike the setpencolor command (with which one can say "draw a blue line, then a red line etc"), the setfontcolor command applies to the entire subshape (and in behaviour typical of Sparxian coding, "the last man standing gets the guernsey").
Notwithstanding this unintuitive behaviour, that's not the reason for this post (although it may save some poor users from scratching their head when their shapescript doesn't behave as expected).
What I'm writing about is an even more anomalous behaviour.
We recently "solved" (actually only partially) a problem that we've had for nearly a decade.  We have an extensive piece of automation that allows us to place one of many names for a given element on a diagram on a per-diagram basis using the Label shape.  However, that only works in the non-rectangular form.  In rectangular form, the name compartment value can't be suppressed.  Last week, we realised that if we set the font colour to the user fill colour, the name field effectively "disappears".  We can then deploy our automation in rectangular mode!

So far so good!  We could use shape Label both in rectangular and non-rectangular mode. We have two setfontcolor commands one in shape Main (setfontcolor(getUserFillcolor()) ;) to suppress the Name field.  And one in shape Label (setfontcolor(getuserfontcolor()) ;) The intent being that the user can control the colour of the font in the label (simulating the Set Label Color menu item).

So further so good!  Font colour seems right, we can change the default font colour using [F4] and the colour changes!

BUT (there had to be a but) if we set the local font colour using the Paintbrush Widget, both the Label AND the Name fields take on the colour (Notwithstanding the instruction in shape Main to use the fill colour)!  The only way to avoid this is to set the local colour to the default colour in which case the rendering returns to the expected.

Some really weird behaviour.  Is there some rational explanation for this or is it (as it appears) a defect?



If you need to create two subshapes within the shape Label and set the attributes accordingly and conditionalise the call as in:

Code: [Select]
} else
shape bolder
   printwrapped("#Alias# b");
shape notbold
   printwrapped("#Alias# n");

You can no longer select the label and move it!


Via the UI you can set the label colour and you can set the text to bold.  Within a shapescript, you can set the colour via setfontcolor(), but there doesn't seem to be a method to make the font bold.

Is there a method or is this another 80% solution?


The Shapescript help says:
polygon(int centerx,int centery, int numberofsides, int radius, float rotation)
Draws a regular polygon with center at the point (centerx, centery), and numberofsides number of sides.

In the past, I believe we used the rotation angle in some of our shape scripts.  You will note that the definition does not contain an entry for rotation.
We tried to set up a rotated square as:
but the shapescript delivers an unrotated square of the correct dimensions.

Has anybody recently used the rotation angle?  Is there a "secret sauce"?

TIA & Reported,

General Board / v15.2 - Unexpected script related message on Project Reload
« on: February 08, 2022, 06:56:24 pm »
When we issue a Project Reload under v15.2 we get a message:
"Choose Remove to unload script from the scripter.
Choose Delete to permanently delete file from the disk."
Three buttons:
[Remove] [Delete] [Cancel]

Cancel has NO effect.  So we are using Remove as the appropriate action.

The message doesn't seem to occur with v16.  However, we're concerned that a user may obliterate a script file, accidentally (by pressing the [Delete] button).   :(

Does anyone know why the message occurs and whether it has been removed in v16 by design or by accident?


General Board / Bistro Guillaume
« on: January 28, 2022, 12:10:34 pm »
As can be seen from the photo, when our colleague Guillaume is not posting here, he's masquerading as a bistro owner.

 ;D :D


If you copy an element (for example to place it into an email or word document as a "diagram frame") you automatically get any reflexive relationships shown on the diagram. However, if those reflexive relationships have interrelationships (relationship to relationship relationships - try saying that after 3 pints!). They are NOT copied, even though visible on the diagram.

Please rectify.


Automation Interface, Add-Ins and Tools / Element Names and Notes
« on: January 17, 2022, 02:48:59 pm »
We have the ability, with our Shapescripts to apply additional names to an element besides those in the Name and Alias fields (via the use of the Label subshape).  We also have the ability to render more than one shape when in non-rectangular (i.e. icon) mode.  However, while all this is useful, the one thing we CAN'T do at present is to show the Notes field in non-rectangular mode.  Neither can we shoe a name other than the name or alias fields in rectangular (i.e. compartment) mode.

Does anyone know how we could accomplish either being able to use an additional name in rectangular mode or render the notes (preferably in rich text) in non-rectangular mode?


Automation Interface, Add-Ins and Tools / v16β - new .EAPX schema?
« on: January 13, 2022, 03:29:06 pm »
We have a number of .eapx files that are generating a
"DAO.Database [0x00000d0e]

Invalid Memo, OLE, or Hyperlink Object in subquery 't_object.PDATA2'"
error under v16β (both versions).

Searching the Net doesn't bring up anything as to what the error means.

We have (in the past) "hijacked" t_object.PDATA2 and this has caused NO problems up to and including v15.2.

Since null is a valid value for PDATA2 we ran a test making the column null for all objects.  The problem persists and the upshot is that NO diagrams show ANY objects (whether PDATA2 is null or not).

Did we miss a schema change between v15 and v16β?  If not, what can this error mean?  Anyone else seeing this?


BTW: in the past, we have had error messages from EA that are spurious - that is the error is NOT what is claimed.  Unfortunately, as in this case, the actual problem can't be determined since the message provides no direction for the investigation.

When I started up one of the repositories we have this morning, I got the message:

"Ignoring metaconstraints for Stereotype from profile: <our profile>"

Is "Stereotype" the affected element[1]?  Or is the affected stereotype not shown?


Our profile does have a metaclass called "Stereotype" as shown below.
Code: [Select]
<Metaclass name="Stereotype" notes="">
      <metarelationship metaclass="UML::Extension" constraint="StandardProfileL2::Metaclass"/>
      <stereotypedrelationship stereotype="PrIME::SeeAlso" constraint="Stereotype"/>

Pages: [1] 2 3 ... 106