Book a Demo

Author Topic: CM question  (Read 3458 times)

medved

  • EA Novice
  • *
  • Posts: 16
  • Karma: +0/-0
    • View Profile
CM question
« on: February 01, 2011, 01:09:13 am »
Hi - I'm evaluating EA for a set of projects at my company and I've got a quick CM/version control question.

What I'd like to do is have a package that a bunch of other packages reference.  My base package contains a whole bunch of classes that a new project will subclass.  Let's say there is a class in my base package, AwesomeClass.  When you start a new project, you will make your own package and subclass the one in the base package and call it ProjectAwesomeClass or something like that.

My question is this - if I have 20 projects do that, do I have to have each project keep all the other projects in their EAP file?  I ask because it looks like when you make the reference to the base class, it wants to add some data to the base package and not just the subclass package.  So if 20 projects subclass this class, must I have all 20 loaded in my EA project or else risk corrupt/missing links?

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: CM question
« Reply #1 on: February 01, 2011, 01:21:24 am »
I don't think you'll have that issue with generalisation.
There are some other issues with links going missing, but if you are very careful with package dependencies you should be ok.

Geert

PS. the next version of EA (v9) promises some major fixes for the VC problems, so keep an eye out for v9 in the next few weeks.

Frank Horn

  • EA User
  • **
  • Posts: 535
  • Karma: +1/-0
    • View Profile
Re: CM question
« Reply #2 on: February 01, 2011, 06:57:33 am »
If you just create new classes which inherit from classes within the base package, EA should not "try to add some data to the base package". Actually it MUST not change the base package.

And when you keep the base package checked in, EA CANNOT change it.

medved

  • EA Novice
  • *
  • Posts: 16
  • Karma: +0/-0
    • View Profile
Re: CM question
« Reply #3 on: February 02, 2011, 02:22:32 am »
It definitely wants to.  After I add the link, if I do a compare against the base package it wants to add a link in the base class.  Obviously it won't change the package unless I check it out.

Now, perhaps it isn't a problem and if just ignore it everything will be fine.

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8110
  • Karma: +119/-20
    • View Profile
Re: CM question
« Reply #4 on: February 02, 2011, 08:52:01 am »
Yes, it wants to add a relationship to the base class.  But adding a new subclass (or dependent class) in no way changes the base class.  The relationship belongs to (and is controlled with) the subclass.

That's what is logically happening.  As far as the details...

EA will allow the relationships to be created to the parent class.  I think that if the relationship exists while the package containing that class is checked out, when the package is checked in it will contain a record of the relationship in the XMI.  However, the presence or absence of this relationship will never override the connector (or possibly that it was removed) from the other package.

Moreover, the package comparison tool will report differences on that connector (including presence or absence) in the base class package.

I don't think there is a problem here.