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

Pages: 1 2 [3] 4 5 ... 36
Hi All

I am developing a script and using JScript (this the choice of the client for whom I am developing the script).

This is my code

   projectInterface.GenerateXSD(thePackage.PackageGUID, "C\EA-Projects\Generated1.xsd", "Unicode (UTF-8)", "GenGlobalElement=1");
   Session.Prompt("Error " + projectInterface.GetLastError(), promptOK);

Upon execution I receive an Error from EA informing me that Access is Denied. I certainly have write access to the file specified.
The result of the GetLastError is

Please specify output file name.

Which clearly I have.

Using the same file path and options, via invoking Generate XML Schema from the Project Browser package works just fine.

I get the same error whether the filename is hardcoded or accepted from Save As dialog, and no matter what the file path is.

The PackageGUID is definitely the root package of an XSD schema.

Ah just noticed the User Guide specifies that the PackgeGUID must be in XML format, but does not state what that should look like.
I am simply passing the GUID as a string, so this maybe the cause.

What should the PackageGUID string look like in XML format?

Any ideas?



Uml Process / Re: Specification Manager
« on: September 06, 2016, 10:21:11 pm »
Hi Amy_N

If you are using EA version 13, then tagged values can be added as follows:

1) Open the specification manager
2) Set the Default Type by choosing the Set Default Type section of the Specification Ribbon
3) Select an element that contains the tagged values within the Project Bowser
4) Right-click the Specification Manager title bar and select Add Tagged Value Column
5) In the resultant dialog ensure the check box Tagged Values from Selected Element is selected
6) Choose you Tagged Value from the drop down list

I would imagine a similar process would work in earlier versions of EA.



Bugs and Issues / Glossary Tool Tip
« on: September 02, 2016, 11:43:23 pm »
I do not use the glossary feature very often, but in EA version 12.1 and before the glossary meaning for a term was displayed in a tool tip upon a mouse rollover.

However when using EA version 13 build 1304 I found this tool tip has been replaced with

CTRL + Click to follow link.

This opens the Glossary Detail dialog where upon this glossary term can be modified or even deleted (provided the User has privileges to do so!).

Please revert back to the previous before, which oddly is how it is documented in the EA Version 13 help (that is EA version 13 glossary tool tips behave differently to that specified in the help).



Bugs and Issues / Re: EA Version 13 - GetMenuItem IsChecked issue
« on: August 30, 2016, 08:25:02 am »
Bug reported to Sparx, which they have confirmed, and just received a reply that this has been fixed in the next release.


General Board / Re: Set Page size in a Documentation Template
« on: August 26, 2016, 06:18:37 pm »
Thanks for your reply

I have found the solution

Using EA version 13 Beta to set the page size:

Use the Document | Edit Ribbon
Select Edit followed by Edit section...

Complete the dialogue for page settings for this template (or section within template)

Using this it should be possible to use mixed paged sizes with a template and within a document (using master and model documents) although I have not tried this.



General Board / Set Page size in a Documentation Template
« on: August 25, 2016, 07:16:48 pm »

This is a basic question and I should know the answer, but what I try does not appear to work.

Question : How do you set the page size for a Documentation template to be A3?

I have tried Using the Document Ribbon / Edit / File / Printer Setup, but the document still prints A4.

Cannot find anywhere else to set the page size for the Template.

Using EA version 13 beta



General Board / Re: Distribute MDG Technology via Cloud Services?
« on: August 19, 2016, 06:30:42 pm »
Using Project (Repository) options you can specify which set of MDGs must be loaded into EA so that the repository will open.

This feature maybe a way to load you MDG conditionally.

Try this:

Connect to your cloud repository and set the list of MDGs (including your custom MDG) and then disconnect. (In EA version 13 this the Configure Ribbon / Model / Options

Start EA and configure the MDGs to exclude your custom MDGs



Bugs and Issues / EA Version 13 - GetMenuItem IsChecked issue
« on: August 18, 2016, 07:55:35 pm »
Hi All

I have an extension that uses the IsChecked option for its menu.

In previous versions of EA, the IsChecked option when set to true rendered the menu with a tick mark, however this does not appear to work in EA version 13.

Regardless of the setting of IsChecked (within the method GetMenuItem) the extension is always rendered with no tick marks.

Anyone else noticed this?



General Board / Re: Show/Hide SysML Diagram Frame
« on: July 28, 2016, 05:51:25 pm »
Well the SysML diagram does appear in the diagram that you are constructing in the following circumstances

  • Creating an Internal Block Diagram from a Block
    Creating a Parametric Diagram from a Block
    Creating an Activity Diagram from an Activity

In all these cases right-click the element, select New Child Diagram and the select Internal Block Diagram, Parametric Diagram or Activity Diagram from the list

Any Ports, or Activity Parameters will appear on the border of this frame as per the specification of SysML.

I have found that, this diagram must remain as a direct child of its parent, otherwise this frame will disappear and be replaced with its element.

I realise this is different situation to what you are describing in your post, but you may find this information useful.



Yes, open the diagram properties (double-click on the diagram background)
Select Element from the left hand side
Uncheck the checkbox named Attributes
Uncheck the checkbox named Operations

Close the dialog

You should now be left with just the classes




I have just tried a small experiment

I created an MDG with nothing other than a toolbox.

I then added a toolbox page, and then added two elements by:

Added two Built-in Type elements, where I selected Activity from the list of stereotypes

I then overwrote the entries so that

Alias = My own text
Stereotype = BPMN2.0::Activity (BPMN2.0::Gateway, etc)

Upon exiting, check that the attributes in the Toolbox page look as follows:

+ BPMN2.0::Activity=Activity

I then generated the MDG in the usual manner

Upon testing (I assume you have the MDG for BPMN 2.0 checked), I simply created a new BPMN Process Diagram, and changed to my toolbox, whereupon both my elements appeared and both where able to be added to the diagram and exhibited the standard BPMN 2.0 behaviour

Hope this makes sense

Send me a PM if you would like my MDG eap file



Hi All,

The following is the code I used within my EA Extension EA SafeDelete

        private bool isStructuralElement(EA.Repository repository, EA.Element contextElement)
            // Get the object type
            switch (contextElement.Type)
                case "Port":
                    return true;
                case "ActionPin":
                    return true;
                case "ProvidedInterface":
                    return true;
                case "RequiredInterface":
                    return true;
                case "ActivityParameter":
                    return true;
                case "ExpansionNode":
                    return true;
                case "ObjectNode":
                    return true;
                case "Part":
                    return isNotReferencePart(repository, contextElement);
                    return false;

        private bool isNotReferencePart(EA.Repository repository, EA.Element contextElement)

            // To find this out, we need to extract and examine the Description field in the
            // contextElement's corresponding entry in the t_xref table

            String tXrefDescription = null;

            string sqlSearch = "SELECT t_xref.Description AS [Description]" +
                               "FROM t_object, t_xref " +
                               "WHERE t_object.ea_guid = '" + contextElement.ElementGUID + "'" +
                               "AND   t_object.ea_guid = t_xref.Client";

            string queryResult = string.Empty;
            queryResult = repository.SQLQuery(sqlSearch);

            XmlDocument requirement = new XmlDocument();

            // Examine the result
            XmlNode description = requirement.SelectSingleNode("//Row/Description");
            if (description != null)
                tXrefDescription = description.InnerText;

                // Now, the fun begins, we need to
                // First extract the parts of description (delimited by ;)
                // Extract the value that tells us if the element is a reference Part

                String[] descriptionParts = tXrefDescription.Split(new char[] { ';' });

                // We need the eighth part (index 7)
                // This has the format @VALU=n @ENDVALU
                // So we can just test for a contains of 0 for not a reference part

                return descriptionParts[7].Contains('0');
            return true;

This appears to work for me, don't think I missed any Structural Elements (embedded elements).



Thanks Roy, that's helped a lot.


Bugs and Issues / Re: EA Version 13 Beta - EA-GetMenuItems issue
« on: July 08, 2016, 05:38:44 pm »
Thanks Simon, that's good to know


Bugs and Issues / EA Version 13 Beta - EA-GetMenuItems issue
« on: July 08, 2016, 01:01:51 am »
Here's a good one for you EA guys.

I have two EA Extensions which when used with EA version 13 Beta, are placed on the Extend ribbon. One extension works just fine, the other threw a null pointer exception and caused EA to crash when the extension was selected on its ribbon entry.

The exception was being thrown in the event EA_GetMenuItems.

Upon some investigation I discovered what the problem was. It was due to the value in the parameter menuLocation

When the extension was clicked on its ribbon, the value returned in menuLocation is Diagram ... :-[ and of course as there is no repository open let alone any diagram, its not surprising I get a null pointer!

Surely, when selecting an Extension from the Ribbon, I would expect the menuLocation to be MainMenu (or even a new value Ribbon), but Diagram? No way.

Worked around it now, but thought you like to know in case the same problem occurs in your extensions in EA version 13.



Pages: 1 2 [3] 4 5 ... 36