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 - Aaron B

Pages: 1 2 [3] 4 5 ... 58
General Board / Re: EA installation on MacOS
« on: October 07, 2016, 01:43:25 pm »
For information about how to install EA under Linux and Mac operating systems, please see:

General Board / Re: Migration from Rhapsdody to EA
« on: September 22, 2016, 02:43:40 pm »

General Board / Re: MDG SYSML Installation
« on: September 20, 2016, 10:11:20 am »
The SysML add-in is obsolete and should not be installed.  SysML functionality is now built-in with Enterprise Architect and should automatically be available when an appropriate license key is detected.  (E.g. EA Ultimate, EA Systems Engineering, or a combination of EA Corporate/Professional + MDG Technology for SysML license keys).

General Board / Re: EA 11 and Anniversary Edition Update
« on: September 15, 2016, 09:33:50 am »
Official support for Windows 10 was first added in EA 12.1 (Build 1224).  EA 11 is not supported for Windows 10.

Bugs and Issues / Re: Co-Exist EA 13 and 12.1?
« on: September 02, 2016, 12:54:39 pm »
See "Can you install Enterprise Architect 13 alongside an older version?" below the Audience Questions on the following page from the recent EA 13 Release Highlights webinar:

General Board / Re: Drawing a square on a diagram
« on: September 01, 2016, 09:47:15 am »
y-position goes to negative, not positive.
Top and Bottom when stored in the database will be negative values, but when you are passing them to DiagramObjects.AddNew you specify them as positive values.  You will need to change the values you are passing though - at the moment you have the left, right, top and bottom all on the same x/y position.

The actual problem in the code sample you provided is that you are only creating a DiagramObject.  You haven't created the actual Element for the boundary.

Try something like this instead:

Code: [Select]
EA.Package ParentPackage = repository.GetPackageByID( MyDiagram.PackageID );
EA.Element NewElement = (EA.Element)ParentPackage.Elements.AddNew("", "Boundary");

leftPos = 100;
rightPos = 300;
topPos = 100;
bottomPos= 200;

EA.DiagramObject NewDiagramObject = (EA.DiagramObject)MyDiagram.DiagramObjects.AddNew("l=" + leftPos + ";r=" + rightPos + ";t=" + topPos + ";b=" + bottomPos + ";", "");
NewDiagramObject.ElementID = NewElement.ElementID;

Creating Foreign Keys via automation is a bit more complicated.  Here is some VBScript code I wrote a while ago which should do the job, or at least provide some further guidance.  Hope that helps.

Code: [Select]
' Create a foreign key relationship between two database columns (attributes)
' @param[in] fkField (EA.Attribute)
' @param[in] pkField (EA.Attribute)
sub DefineForeignKey(fkField, pkField)
    dim pkOpName, fkOpName
    dim fkTable as EA.Element
    dim keyTable as EA.Element
    dim fkConnector as EA.Connector
    dim fkOperation as EA.Method
    dim op as EA.Method
    dim param as EA.Parameter

    set fkTable = Repository.GetElementByID(fkField.ParentID)
    set keyTable = Repository.GetElementByID(pkField.ParentID)
    ' get target Primary Key name
    for each op in keyTable.Methods
        if op.Stereotype = "PK" Then
            for each param in op.Parameters
                if param.Name = pkField.Name then
                    pkOpName = op.Name
                    exit for
                end if
        end if
    ' define Foreign Key Name
    fkOpName = "FK_" & fkTable.Name & "_" & keyTable.Name
    ' define connector
    Set fkConnector = fkTable.Connectors.AddNew("", "Association")
    fkConnector.SupplierID = pkField.ParentID
    fkConnector.StyleEx = "FKINFO=SRC=" & fkOpName & ":DST=" & pkOpName & ":;"
    fkConnector.StereotypeEx = "EAUML::FK"
    fkConnector.ClientEnd.Role = fkOpName
    fkConnector.ClientEnd.Cardinality = "0..*"
    fkConnector.SupplierEnd.Role = pkOpName
    fkConnector.SupplierEnd.Cardinality = "1"
    ' define fk operation
    set fkOperation = fkTable.Methods.AddNew(fkOpName, "")
    fkOperation.StereotypeEx = "EAUML::FK"
    set param = fkOperation.Parameters.AddNew(fkField.Name, fkField.Type)
    'set "On Delete" and "On Update" (optional)
    SetMethodTag fkOperation, "Delete", "Cascade"
    SetMethodTag fkOperation, "Update", "Set Null"
    SetMethodTag fkOperation, "property", "Delete Cascade=1;Update Set Null=1;"

    ' update attribute details
    fkField.IsCollection = true
end sub

function SetMethodTag(theMethod, tagName, tagValue)
    dim tag as EA.MethodTag
    set tag = theMethod.TaggedValues.GetByName(tagName)
    if tag is nothing then
        set tag = theMethod.TaggedValues.AddNew(tagName, "")
    end if
    tag.Value = tagValue

    set SetMethodTag = tag
end function

General Board / Re: Use attributes in behavior description
« on: July 26, 2016, 05:15:26 pm »
As qwerty mentioned, the Behavior field is only plain text so you can't put hyperlinks in there.  Instead, perhaps put hyperlinks to the referenced attributes in the Notes field for your operation?

You should be able to connect to your cloud server via automation.

The below code sample will connect to the "Sydney Cloud" server which is described on the following page
Code: [Select]
Repository.OpenFile( "Sydney Cloud --- ;Connect=Cloud=protocol:http,,port:80;Data Source=Example;DSN=Example;" );
Replace the various parts of that connection string with the relevant details of your own server.

General Board / Re: EA 12.1 keeps asking for password on startup
« on: July 26, 2016, 09:52:09 am »
Hi Eamonn,

You mention that the server was "restarted".  Is it possible that the repository may have been moved?  Are the other repositories you mentioned that are still working on the same server?  You might need to toggle the "Use Windows Authentication" option off and on again.

As a security measure, the Window Authentication is automatically deactivated if the project file is moved to a different location; once the file has been relocated, you can toggle the 'Accept Windows Authentication' checkbox to reactivate Windows Authentication.

As Helmut mentioned, the default username/password creating when you first enable security is 'admin' and 'password'.  If that account has been modified or deleted however and you have no other way to login, you may need to go in via the back-end to disable security.  If that's the case, qwerty's suggestion will probably work, but is overkill.  You only need to delete the row from t_secpolicies where [Property] = 'UserSecurity'

See one of qwerty's previous answers here which is more accurate:,4593.msg121076.html#msg121076

The filter you have enabled in the Diagram Filters window might be overriding what you are trying to do via the API.  Try setting the value of Diagram.FilterElements again without anything ticked in the Diagram Filters window.

To clear the existing stereotype, you need to set StereotypeEx = "".

Assigning a value to Element.Stereotype is additive.  E.g. if the element already has a stereotype "a" and you set Stereotype = "b", then "b" becomes the primary stereotype, but "a" will still remain as a secondary stereotype.  If you set StereotypeEx = "b" however, the "a" stereotype would be completetly removed and replaced by "b".

Hope that helps.

Just a guess, but those just look like placeholder topics that were never filled in.  Seems like they might have since been removed in the updated EA 13 help.  I'll check with our resident help guru.

If you are looking for general API reference documentation, see:

Otherwise, is there something specific that you are having trouble with?  Are you trying to use scripting for Diagrams?  Elements?  Model Search?  Simulation?

If you are having trouble generally creating and running scripts, can you please confirm whether you have EA Corporate editon or higher?

Bugs and Issues / Re: Build 1301 - What's been fixed?
« on: June 21, 2016, 01:05:58 pm »
As with previous EA beta releases, we don't produce release notes for each individual beta build.  If you want to find what has specifically changed between betas, the best you could do is to perform a text diff between the readme.txt files from those builds.  See:,26763.msg207902.html#msg207902,22720.msg191441.html#msg191441

General Board / Re: Keystore service with AUTHMETHOD=AM_SSKSGROUP
« on: June 21, 2016, 12:50:56 pm »
Individual Windows login names are not relevant when using the AM_SSKSGROUP authentication method.  When using this method, each user must include the name of the group they are authenticating with as part of the keystore address.

We suggest naming your groups more generally.  For example instead of having UserName=g52873, specify it as UserName=sysml.  Any users that require the Systems Engineering edition of EA can then connect to your keystore server using an address like: ssks://mykeystore?user=sysml

Create another group in your ssksgroupconfig file named "corp" (UserName=corp) which has an entitlement for Product=Corporate.  All other users in your scenario would then connect to the keystore using an address like: ssks://mykeystore?user=corp

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