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 - Jacob Vos

Pages: [1] 2 3 ... 6
@Uffe: Thx, this indeed speeds it up.

(And yes, I was aware of the 'chain' Class - Linked Document Artifact - Linked Document.)

Sometimes I'm working on a subject description and would like to link it to e.g. database table elements. And sometimes I'm working on Database tables and would like to link it to a subject description.

@Eve: Sorry, I don't completely understand what you mean.

What I want to reach (with that metaconstraint) is that the 'Subject description link' connector can only be used to set a relationship from source "RZ::Subject description" element to target "Class" element.

And when drawing the connector, I would like to be able to start from the "RZ::Subject description" element or from the "Class" element, but the source and target should always be set to "RZ::Subject description" and "Class" element respectively. (Maybe this related to what you wrote "explicitly reversed"???)

Is this even possible? Should I do this in another way than I did, and if yes, how?

BTW: I notice now that when selecting the custom connector in my custom Toolbox and then trying to draw from Class to "RZ::Subject description" element, it's not allowed. But when from Class I use quick linker functionality and select the same custom connector, it is allowed! - however with a wrong layout (see first post).

The situation: In Document Artifacts, several subjects are described. The Document Artifacts are all on one Diagram. Double clicking on a artifacts opens a 'main page' (don't know how to name it - it's a tab besides the tabs with diagrams).

Each Document Artifacts is connected to one ore more classes, dependent on the subject.

At selecting a class, the Traceability window shows the related Document Artifacts. Now I want to open the document concerned on a 'main page'. How to do this? The quickest way I found:
1. Right-click the Document Artifacts in the Traceability window;
2. Select 'Find in all diagrams';
3. Double-click the diagram;
4. Close the 'find diagrams' windows;
5. Double-click the selected Document Artifact.

Is there a quicker way?

Note that right-clicking in the Traceability window, then 'Switch to related element' and opening the Document windows is not an acceptable alternative, because there are hyperlinks in the document to other elements, and clicking those links will show the Document window with contents for that element.

Another work-around is to temporarily place the Document Artifact on the diagram on which the class is (by clicking in the Traceability window on 'Place element in diagram'). However this probaby won't work in the Sparx Lite version.

OK. Scripting in Sparx EA is a 'new chapter' for me, so I'll have to investigate.

I will explain my use case - maybe someone has an advice.

For documentation, I create Document artifacts. So consciously not a linked document per element. I created a diagram on which I will put all Documents artifacts.

Then I want to link to other kind of elements in my model to that Documentation artifacts. E.g. classes that is are on diagrams with the conceptual data model. E.g. tables athat are on diagrams with the physical data model (created with Database Builder).

That's why I thought that the easiest way to create those links would be: right-click on the Document artifact and search for the elements to be linked.

An alternative, scrolling in the project browser to find the elements (in several (sub)packages) one by one and use 'Create Link...' is time consuming. Also time consuming is to put those elements on the diagram with Document artifacts, draw connectors, then remove the elements.

@Eve: The base UML connector is 'Association'. When I draw an Association from Class to custom type, direction = "Unspecified". But so when I draw a stereotyped connector from Class to custom type, direction = "Source -> Destination" and the arrow points to Class (= the source).

However when I draw an Association, no arrow head appears (and direction = 'Unspecified').

This is the profile:

Code: [Select]
<Stereotype name="Subject description link" metatype="Onderwerpbeschrijving-link" notes="" cx="220" cy="80" bgcolor="-1" fontcolor="-1" bordercolor="-1" borderwidth="-1" hideicon="0" strictness="all">
<metaconstraint umlRole="source" constraint="RZ::Subject description"/>
<metaconstraint umlRole="target" constraint="Class"/>
<Image type="EAShapeScript 1.0" xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64">UEsDBBQAAAAIABaBj1BE5KFUfQAAAPAAAAAHABEAc3RyLmRhdFVUDQAHazGXXmsxl15rMZde
<Apply type="Association">
<Property name="compositionKind" value="none"/>
<Property name="direction" value="Unspecified"/>
<Property name="_MeaningForwards" value="beschrijft"/>
<Property name="_MeaningBackwards" value="is beschreven in"/>

A custom connector, of metaclass 'Association', has the following shape script:

Code: [Select]
shape main
label middlebottomlabel

When I draw the connector from an element of a custom type to an element of type Class, the line is drawn like I want. However, when drawing the connector from a Class element to my custom type, it shows an arrow pointing to the class.

At the metaclass for the connector I specified: direction: Direction = Unspecified.

When applied (via Quick Linker):
- a connector drawn from custom type to Class shows Unspecified;
- a connector drawn from Class to custom type shows Source -> Destination.

Why is this? How to change this?

(I didn't play around yet with _SourceNavigability and _TargetNavigability because the help text tells that it's better to use the direction attribute.)

Indeed I was looking for a non-manual way of doing this. Thank you for your suggestions.

Yes, I can drag it on the diagram, etc. I consider that as a non-efficient work-around.

I defined a custom (stereotyped) element based on the metaclass 'Class'. My model has both elements of that metaclass and of the custom type. Alas in the project browser they are 'mixed up' - because they are all of the metatype 'Class'.

Is there a way to first show the Classes and below that the elements of the custom type?

If not with Sparx EA, with an add-on?

I would like to add a relationship between elements not being on the same diagram, but I would like to add the relationship when working with the elements on a diagram (so relationship matrix is not a nice solution). It's like the option 'Create Link...' that is present on a RMB-click on the Browser window.

i couldn't find it, so probably it doesn't exist.

Maybe there is an add-on by which you can do this?

Thank you Geert, this was the solution.

(So setting on the stereotype the Default Appearance, no color in the shapescript, and at publishing the profile choosing to include 'Color and Appearance'.)

I saved the profile without 'Color and Appearance', but still no result.

BTW: Whether I saved the profile with or without color: when I change the fill color for a drawn element, then the color of the element does not change, but when selecting such an element, the fill button (in menu 'Style') changes to the color that I tried to apply. So it looks that the color someway is applied, but is 'overwritten' by the other fill color.

Can this have something to do with the presence of subshapes?

@qwerty: I adjusted the shapescript as suggested by you, but still the color is not adjustable. Do you have any idea why? I saved 'Color and Appearance' with the profile.

Pages: [1] 2 3 ... 6