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 ... 76
1
Automation Interface, Add-Ins and Tools / XSD Generation and Relationships
« on: February 19, 2018, 11:06:33 am »
We are experimenting with XSD round-tripping (but principally generation).  With RDBMS round-tripping there is the option of suppressing or including relationships are part of the process.

We have noticed that if we try and "visualise" the relationships between the XSD componentry (via composition and other relationships) when we generate we find an entry for the attribute and an entry for the relationship.  In the example below, the entries where the name and the type are the same are from the relationship, the others are from the attribute.
Is there any way to suppress/control the use of relationships?
Code: [Select]
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="Message">
<xs:sequence>
<xs:element name="Header" type="StandardMessageHeader" minOccurs="1" maxOccurs="1"/>
<xs:element name="Status" type="StandardStatusMetadata" minOccurs="1" maxOccurs="1"/>
<xs:element name="Payload" type="MessageSpecificPayload" minOccurs="1" maxOccurs="1"/>
<xs:element name="StandardMessageHeader" type="StandardMessageHeader" minOccurs="1" maxOccurs="1"/>
<xs:element name="StandardStatusMetadata" type="StandardStatusMetadata" minOccurs="1" maxOccurs="1"/>
<xs:element name="MessageSpecificPayload" type="MessageSpecificPayload" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="MessageSpecificPayload">
<xs:sequence>
<xs:element name="element1" minOccurs="1" maxOccurs="1"/>
<xs:element name="element2" minOccurs="1" maxOccurs="1"/>
<xs:element name="element3" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="StandardMessageHeader">
<xs:sequence>
<xs:element name="element1" minOccurs="1" maxOccurs="1"/>
<xs:element name="element2" minOccurs="1" maxOccurs="1"/>
<xs:element name="element3" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="StandardStatusMetadata">
<xs:sequence>
<xs:element name="element1" minOccurs="1" maxOccurs="1"/>
<xs:element name="element2" minOccurs="1" maxOccurs="1"/>
<xs:element name="element3" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
TIA,
Paolo

2
Automation Interface, Add-Ins and Tools / Can we hijack «trace»?
« on: February 16, 2018, 11:04:18 am »
Time Aware Modelling (TAM) uses the «trace» relationship to link the "doppelganger" to the "base" item.  The instantiated trace relationship is a "local" stereotype (not connected to an MDG).

We wish to "hijack" this relationship and create an MDG based «trace» relationship (so that its t_xref value changes from @STEREO;Name=trace;GUID={<guid>};@ENDSTEREO; to @STEREO;Name=trace;FQName=<MDG>::trace;@ENDSTEREO;), to allow us to alter the rendering and to add additional properties. It would appear that "with no loss of generality" this is possible.  Can anyone confirm?

TIA,
Paolo

3
Anybody else attempted to create shapescripts for RequiredInterface or ProvidedInterface elements?  They SURE are different, aren't they?

Among some of the issues we've found is that there is NO real distinction between Rectangular form and non-Rectangular form.  In fact, the drawnativeshape() only works for the Rectangular mode.
You can't change some of the drawing properties from within the shapescript - so that the behaviour of drawnativeshape() behaves differently than for most other element types.
Regardless of whether you define the MDG to have the base type in the metatype definition, it pops up the Provided/Required dialog (and it doesn't even change the radio button to the correct one)!

As part of our consistent modelling environment, we require each metatype to have a unique stereotype - so the stereotype is a proxy for the metatype.  If the user isn't watching what they are doing when they will create an inconsistent metatype.  Does anybody know how to suppress that dialog or at least to be able to specify the right interface type?

Thoughts?  (Before I report a set of bugs?)
Paolo



4
I'm pretty sure I know the answer  ;), but just in case, has anyone used the API to do any time aware modelling?

As mentioned in another thread, we're looking to intercept the cloning process to add some additional functionality post process.

Also, is the element.Clone() the only method used?

TIA,
Paolo

5
Bugs and Issues / TAM - Incorrect item cloned!
« on: January 22, 2018, 12:57:13 pm »
We've found what we consider a SERIOUS defect in TAM (Time Aware Modelling).

Scenario:  We have a set of current items, in diagrams in a branch versioned "Curr".

We intend to make a RoadMap branch indicating the "To Be" state.  We clone the Current Branch - which gives us new Folder structure and Diagrams (but not the items) - which is what we want; to a branch versioned "RdMp".  Since we only want to clone items that will change in the future.  We clone an item in a RdMp diagram to version "RdMp".  The item is cloned correctly; so far, so good.

As part of our on-going repository management, every year (at the end of the year) we intend to clone Current into a "Past" "snapshot" that describes the state at the end of that year; giving us the ability to "compare and contrast" over time.  So I select the Current branch and say Clone structure (in this case, to a folder structure versioned "Past").  Again, folders and diagrams cloned, no items, as desired.  This time, however, to achieve our goal of snapshotting the entire Current branch we have to clone ALL the items in the "Curr" version.  We select all the items in the diagram in "Past" diagram (which are all namespaced "Curr::") and say Clone to new version (to "Past").

Imagine our surprise when for the item in "Curr" that had been cloned to "RdMp", instead of getting a new item in "Past", we got the "RdMp" item on the "Past" diagram!  :'(

We confirmed that the original item on the Current diagram was still the "Curr" item and that that item WAS NOT CLONED into Past as a new item.  This is a defect, the original "Curr" item (on the diagram) should have been cloned, not the "RdMp" item (which was nowhere to be seen).  We also confirmed it's not a caching problem since we exited Sparx and re-entered and then cloned the structure. This needs to be fixed urgently!

Reported,
Paolo

6
We are about to embark on a serious implementation of Time Aware Modelling (TAM) in our corporate repository.

As we understand TAM, if we have the different versions (of items) in their individual branches, we can use items from another version in the diagrams for a specific version.  So far, so good.

When we clone an element (from another branch from within a diagram in this branch), a clone of the external element will be created in the current diagram branch.  The external element in the diagram will be replaced by the cloned element in that diagram.

Question:  Is there any mechanism to replace the external element in every diagram in the appropriate version, or will we have to "roll our own"?

TIA,
Paolo

7
I just did my first DB schema import for a while (just two tables).  I ticked every option I could find on the import, but the Associations that represent the Foreign Key Constraints didn't import.  What did I do wrong?

IIRC, there used to be an option to show the FKs as Associations or not or is my memory failing me?

TIA,
Paolo


8
General Board / Can you use multiple values in <Search Term>
« on: November 16, 2017, 03:28:09 pm »
We have a Project Search that uses the IN operator:
TaggedValue.Value IN ('<Search Term>')

If a single value is supplied, it works fine.  Is there any way to get multiple values in?

I even tried "tricking" the query by making <Search Term>= value1', 'value2
hoping the resulting '<Search Term>' phrase would look like:
'value1', 'value2'
which works; if I hardcode it.  But to no avail!

Is there any way to achieve the multiple values?  Is it actually the expression of a defect?

TIA,
Paolo

9
If I search for the search term "Party"; in our repository, I get 66 results only 6 of which are for the exact term "Party".  The search is a contains search, so the effective search term is "*Party*".  Is there any mechanism short of adding a new exact match search that allows me to change the contains to an equals search?

Paolo

10
This has already been reported, but there is now a workaround!

When you create a Virtual Connector End (VCE) the Doppelganger if you try to hide the arc by pressing the delete key, the VCE will also be removed from the diagram (even though it is not selected)! Since one of the principal use cases (at least in our view) is to have multiple instances of an item visually embedded in a number of encompassing elements, this causes problems!  Interestingly, you can hide the connector itself by using the Set Visible Relations [Ctrl+Shift+I] and hiding the arc using that dialog.  Consequently, why can't we do it with just the delete key?

These types of problems could be overcome by having REAL t_diagramobjects marked as Doppelgangers.

Reported,
Paolo

11
When you create a Virtual Connector End (VCE) the Doppelganger (if visually embedded within an encompassing element) does not have the ability be moved with the encompassing element, even if its Z-order is correct.  Since one of the principal use cases (at least in our view) is to have multiple instances of an item visually embedded in a number of encompassing elements, this causes problems!

These types of problems could be overcome by having REAL t_diagramobjects marked as Doppelgangers.

Reported,
Paolo

12
When you create a Virtual Connector End (VCE) the Doppelganger does not have the ability to have its Z-order changed independently.  Since one of the principal use cases (at least in our view) is to have multiple instances of an item visually embedded in a number of encompassing elements, this causes problems!  Interestingly, you can adjust the Z-order of the Doppelganger by changing the Z-order of the master.  However, as will be appreciated, this could cause problems for the master vis-a-vis its Z-order.

These types of problems could be overcome by having REAL t_diagramobjects marked as Doppelgangers.

Reported,
Paolo

13
Apart from writing an Add-In function, is there any way to get at the Virtual Inheritance property for a Generalization Arc?

TIA,
Paolo

14
The "Recent Portal" on the Start Page lists Open and also Recent Diagrams.  It would be good if the Node Path of the Diagram were made available as a tooltip.  Similarly, the file path to the "Recent Source Files" could be provided as a tooltip.

Reported,
Paolo

15
Using the Query Builder, is it possible to create searches that can use more than one tagged value?  (Property=P1, Value=V1) and (Property=P2, Value=V2) - Don't need to use <search Term> for the present.

When you try to add the second TV, the editor gets confused.
Property=P1
Property=P2
Value=V1
Value=V2

TIA,
Paolo

Pages: [1] 2 3 ... 76