Book a Demo

Author Topic: V12 and V11 compatibility  (Read 6894 times)

ssands

  • EA User
  • **
  • Posts: 91
  • Karma: +0/-0
    • View Profile
V12 and V11 compatibility
« on: March 05, 2015, 05:30:13 am »
Apologies in advance if this has been addressed elsewhere.

Are there any compatibility issues if I have some users on a shared model (MS SLQ Server & SVN) running V11 and one (me!) using V12?

Thanks!

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: V12 and V11 compatibility
« Reply #1 on: March 05, 2015, 08:15:22 am »
No known issues so far. The basis is very stable. You just will get problems in training since the UI has changed quite a bit.

q.

ssands

  • EA User
  • **
  • Posts: 91
  • Karma: +0/-0
    • View Profile
Re: V12 and V11 compatibility
« Reply #2 on: March 05, 2015, 09:16:53 am »
Thanks, q!

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: V12 and V11 compatibility
« Reply #3 on: March 05, 2015, 06:18:17 pm »
The only thing I got in trouble with was a change in the API when retrieving Elements or Packages.
The operation used to throw an exception if something was not found, and  in v12 it suddenly returns an empty object.
I had to update the EA Navigator code to take this into account.

Geert

ssands

  • EA User
  • **
  • Posts: 91
  • Karma: +0/-0
    • View Profile
Re: V12 and V11 compatibility
« Reply #4 on: March 06, 2015, 06:47:48 am »
Thanks, Geert! I think I'll take the plunge. The rest of my team can't upgrade until our support staff rolls it out to them. Fortunately, I have the permissions to do that on my own.

heba

  • EA User
  • **
  • Posts: 44
  • Karma: +0/-0
    • View Profile
Re: V12 and V11 compatibility
« Reply #5 on: March 08, 2015, 08:59:07 pm »
Quote
The only thing I got in trouble with was a change in the API when retrieving Elements or Packages.
The operation used to throw an exception if something was not found, and  in v12 it suddenly returns an empty object.

Seems that I've run into exactly this problem.  EA12 reliably crashes with with my add-ins.  I'll start to investigate, thanks for pointing this out!

-Heiko



Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8110
  • Karma: +119/-20
    • View Profile
Re: V12 and V11 compatibility
« Reply #6 on: March 10, 2015, 09:16:10 am »
I would love to see an example of code that crashes in EA 12 that didn't in EA 11. In the last thread I did describe ways that issues could happen, but to the best of my knowledge they were theoretical, no such change should have been included in v12 precisely because we shouldn't be causing this kind of problem.

Doug Blake

  • EA User
  • **
  • Posts: 102
  • Karma: +0/-0
    • View Profile
Re: V12 and V11 compatibility
« Reply #7 on: March 10, 2015, 07:47:47 pm »
There is a small problem with TFS integration of Version Control. See following quote from the answer to my bug report.
Quote
There have been some changes to TFS integration in EA 12. When opening your existing project (which has TFS integration) with EA 12 you will need to open the Version Control settings and enter a "Display Name" (see the "TFS Settings" help topic). This should be entered as shown in the User column of the Visual Studio Source Control Explorer when you checkout a file. This change was implemented to avoid potential data loss when integrating with TFS.
DGB Using 12.0.1214 / eaDocX 3.6.2.1 / MSSQL / TFS / Windows 7 / IE11

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: V12 and V11 compatibility
« Reply #8 on: March 11, 2015, 08:01:08 pm »
Quote
I would love to see an example of code that crashes in EA 12 that didn't in EA 11. In the last thread I did describe ways that issues could happen, but to the best of my knowledge they were theoretical, no such change should have been included in v12 precisely because we shouldn't be causing this kind of problem.
Simon they where very much NOT theoretical. I had to fix the code for my add-ins at my client as well.

Here's the cullprit:
Code: [Select]
       /// <summary>
        /// returns the element witht the given ID
        /// </summary>
        /// <param name="elementID">the id of the element</param>
        /// <returns>the element with the given id</returns>
        public EAElement findElementByID(int elementID)
        {
            object elementFound = null;
            EAElement returnedElement;
            //first look in the cache
            if (!this.elementCache.TryGetValue(elementID, out returnedElement))
            {
                //if not found in the cache then look in the repository
                try
                {
                    elementFound = wrappedModel.GetElementByID(elementID);
                }
                catch (COMException)
                {
                    //nothing could be found, return null
                    return null;
                }
                returnedElement = EAWrapperFactory.createEAWrapper(this, elementFound) as EAElement;
            }
            return returnedElement;
        }

In my code I create wrappers for the EA.Element objects.
This code behaves differently in v11 and in v12.
In v11 I get an exception, which I catch and return null.
In v12 I don't get an exception and I go on to create my wrapper using EAWrapperFactory.createEAWrapper using the null object.
Later on when I try to use the wrapped EA.Element object I get NullpointerExceptions, which make EA go down hard.

Geert

PS. Yes I agree that this piece of code could have been written more defensively.   :-[

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8110
  • Karma: +119/-20
    • View Profile
Re: V12 and V11 compatibility
« Reply #9 on: March 12, 2015, 09:01:47 am »
Quote
Simon they where very much NOT theoretical.
Maybe theoretical wasn't the right word. I knew that if anyone here changed the error behavior for a function from throwing an exception to returning null it would cause crashes in some add-ins. But that's as far as my knowledge went.

Speaking as an individual rather than a Sparx Systems representative. I didn't think that such a change had been made to version 12. Even seeing your code, I can't find anywhere that could have changed that behavior. But I believe you that you are seeing a change in behavior. I am personally embarrassed about it, and when I find out where it is and the person responsible they will feel my displeasure.

Anyway, thanks for the sample code. Is wrappedModel.GetElementByID just calling Repository.GetElementByID?

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: V12 and V11 compatibility
« Reply #10 on: March 12, 2015, 10:13:31 am »
Cheers! We stand with you, Simon!

q.

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: V12 and V11 compatibility
« Reply #11 on: March 12, 2015, 03:38:05 pm »
Quote
Is wrappedModel.GetElementByID just calling Repository.GetElementByID?

Yes, I have an attribute called wrappedModel that contains an object of type EA.Repository

Thanks for your support Simon  :)

Geert