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 - kjourdan

Pages: 1 [2] 3 4 5
General Board / How to visualize hyperlinks as hyperlinks?
« on: November 01, 2017, 11:55:30 pm »
I am creating activity diagrams with structured activities (simple composite).  I want these structured activities to still show as activities (no change here).  When I double click on these structured activities, the associated diagram is opened.

I would like to add hyperlinks to the parent activity diagram to move back and forth between diagrams.  When the parent activity diagram is dropped onto an activity diagram as a hyperlink, it is visualized as an activity.  Is there a way to have these hyperlinks visualized the same as hyperlinks (eg. symbol for a hyperlink shown on a class diagram).

Automation Interface, Add-Ins and Tools / Add-in Usage with Citrix
« on: October 06, 2017, 11:33:06 am »
Is there a way to use locally developed add-ins with EA accessed via Citrix?  The Citrix server host many different databases for different products / projects so the add-in should only be accessible to myself and others that are working on the same project.  When I access the models through the thick client, my add-in is available but the performance is slow because of the location of the database.  Accessing through Citrix, I have good performance but my add-in not available.

Automation Interface, Add-Ins and Tools / Invoking script from Add-In?
« on: August 07, 2017, 11:11:56 pm »
Is it possibly to invoke a user script from an Add-In?  I would like to add buttons to the user control for my add-in and have those buttons invoke scripts stored in the model.  Is this possible?

Had a feeling this was the case.  Thanks for the feedback.

Currently, when a new element is added through the New Element button on the Project Browser, EA remembers the last selected toolset and type.  Is there a way for add-ins to manipulate this information?

Feedback from Sparx:

Thank you for your enquiry.

As you have observed, unfortunately there is no built-in functionality in the MDG DOORS add-in to allow import of a specific baseline version at this time. We have noted this as a feature request for consideration in the future, but there are no current plans to implement this feature.

Suggestions and Requests / DOORS Add-In Improvements
« on: June 14, 2017, 09:02:21 pm »
1) Need the ability to import a specific baseline of a DOORS module.  These baselines are created a formal released versions of requirements. New requirements could be added or requirements could be modified/removed at the time that requirements are being imported but the EA model should only contain the specific (baselined) requirements that were planned.

2) Need the ability to define (load) profiles for DOORS import that can be applied automatically. Process of configuring the mapping each time is inconvenient and could be inconsistent.  After disconnecting from DOORS, the connection string should be retained (and potentially re-used when reconnecting).

3) Capture baseline version (and path) of the DOORS module being imported as a tagged value on the import package in EA.  This aids in traceability between EA and the requirements in DOORS.

It appears that importation of requirements from DOORS always imports the latest requirements.  The potential exists that requirements may change between when a baseline is created (and released) and when the requirements are imported into EA. This potential increased as the time between baselining of requirements and importing of requirements increases.

Is there a mechanism or planned mechanism that allows importing a specific baseline version of a DOORS module?

Hi All,

I have begun working with the DOORS Add-In and have some questions to the community on automation.  Is is possible to configure the import settings (eg. filter view and which attributes to import and how) via scripting and run the import?  I would like a consistent way of setting the filter and configuring the mappings using EA 12.1. Is there a way to extract the baseline of the DOORS module being imported and save this off in the model?


I have created a stereotype that includes 9 tagged values.  Using "Edit with Profile Helper" in EA 12, I created a tag group and moved 7 of the tagged values into that group. Looking at the tagged values from the Stereotype Properties tab, the group shows my 7 tagged values properly with 2 tagged values outside of the group; collapsing the tagged value group shows the 2 tagged values that are not in the group. No issues here.

When the stereotype is applied in my model, the tagged value group is not displayed properly.  The tagged value group only contains 5 of the tagged values.  Outside of the tagged value group, there are 4 tagged values now. 2 of the tagged values that should have been within a tagged value group have been moved outside of the tagged value group.

Thanks all for the help.  Curious if anyone knows how the CX and CY values are calculated. Is there a formula for CX assuming CY is 13?

It is indeed related to the Style. What is peculiar is that if you set the Style to a bad string (eg. CX=NaN: CY=NaN) then manually move the label, the Style is not corrected but the label is where it placed.

The problem is related to the Style attribute after creating the diagram object.  After creation of the diagram object, the Style is set to its default of "".  My port placement scripts were retrieving the Style attribute and setting the OX, OY and ROT to fixed values.  The CX and CY values were intended to be unaltered.  My logic for parsing the Style to extract CX and CY and did not take into account that Style may not be populated; Style is always populated when elements are manually added to the diagram. Since no CX or CY values exist in the Style, the parsing would result in NaN (not a number). The value written to Style would then have CX and CY as NaN.

I have scripts that I use to position component ports and corresponding labels on diagrams; one script places the labels inside the component boundary next to the port and one script places the labels outside the component boundary next to the port.

On diagrams that I create manually (drag component onto diagram, enable ports of interest, etc), these scripts properly move the ports and their labels as expected. I can move these ports and labels around, run the scripts and the ports and labels are moved back to their position. Nothing unusual here.

I created a script that creates a diagram, adds components and their ports to the diagram.  Running my port/label placement scripts results in the ports being moved to their expected positions on the component boundaries.  The labels however appear to at their default position (outside the component, slightly below the port and extending away from the component).  If I move the port manually, the label remains that the same positional offset from the port.  I can manually move the label on the diagram.  When I run my scripts, the port is moved back into position but the label does not move where I expect; the label remains at the same positional offset from the port after I had manually moved them.

If I hide the ports for a given component on that diagram (select component, right-click, Structural Elements, None) and then show the ports (select component, right-click, Structural Elements, All), the ports and labels go to the positions that would occur if I manually dragged the component onto the diagram.  When I run my scripts, these ports and labels get moved into proper position; the labels for ports on other components continue to remain in their default positions.

Is there an attribute for these diagram objects that needs to be set to allow the labels to be moved?

Thanks Geert. 

I have prototyped a similar "work-around" using SQLQuery but don't like the fact that the APIs provided don't support very large models and don't provide feedback that the Collection can not hold the number or elements returned. I would like to see the old Collection class and APIs superceded or at least updated to provide user feedback regarding error; new APIs / classes should be created to support large complex models. 

If the Count field is going to be declared as a short, return count as -1 to indicate the number of results is too great and can not be contained in a container; otherwise, why use a short to begin with?  Returning -1 would at least allow the automation to detect the condition and operate in a predictable manner (generate an error if count if <0 to indicate the tools must be updated to use SQLQuery or new APIs/Container classes).

Pages: 1 [2] 3 4 5