Book a Demo

Author Topic: Different Streams (Model) - Versioning?  (Read 3546 times)

Kaspatoo

  • EA Novice
  • *
  • Posts: 19
  • Karma: +0/-0
    • View Profile
Different Streams (Model) - Versioning?
« on: December 06, 2013, 01:15:59 am »
Hi,

I have an EA repository where I want to store/ display a datamodel. This datamodel changes from time to time. For each version I create a own model, because there are different developers working on different versions. Due to the development activities there are more than one version being valid at the same time.

A problem occurs when there are eg two versions A and B while B was created as duplicate from B. Both will be developed. Changes in A must be merged into B but with considering conflicts (is some feature in A is changed while in B it still has been deleted, then it should not re-created in B).

Having a model with simple versioning will result in having only one final/ valid revision. Theres no considering of development streams.

I am now looking for a way/ tool/ process to manage this. I heard about some keywords like audit or package versioning but I did not found a way I am looking for.

It would be grateful if someone knows something (useful) :)
Thanks in advance.

Edit: If there arent any "full automated" tools available, other tools which supports are also welcome. EG a tool which shows me the difference between two given packages (but different models) were a great step forward. Because if there aren any tools, the developer has to do it manually and some supporting tools would then be veryhelpful.
« Last Edit: December 06, 2013, 01:30:58 am by Kaspatoo »

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: Different Streams (Model) - Versioning?
« Reply #1 on: December 06, 2013, 04:00:05 am »
The simple but sad answer: it's a piece of hard manual labor  :(

There is actually no kind of any (semi-) automatic merge available. No matter what anyone tells you about baseline comparison. You may try that, but don't put too much hope in it.

q.

Kaspatoo

  • EA Novice
  • *
  • Posts: 19
  • Karma: +0/-0
    • View Profile
Re: Different Streams (Model) - Versioning?
« Reply #2 on: December 06, 2013, 07:17:30 pm »
thanks, I was afraid of this
I am still trying with Baseline Comparison but I need it for more than one model...

Kaspatoo

  • EA Novice
  • *
  • Posts: 19
  • Karma: +0/-0
    • View Profile
Re: Different Streams (Model) - Versioning?
« Reply #3 on: December 07, 2013, 12:15:59 am »
well maybe Baseline Comparison istnt that bad I thought but still makes trouble.
When placing different version into different EAs, then all Elements keep their GUID.
Create new version: export current model to xmi, import it into a new eap

Merge changes of previous version into new one:
export previous version to xmi and then do baseline comparison with new version.
It niceley shows me differences (new, changed, deleted).
When right-clicking on a change or use button above of that tool-window "merge to model      merge change from baseline to model"
and on right click its named with "merge from baseline     "
i guess as baseline the compared xmi is meant while model is my current opened model.
The first question were: what would this option do?
the second question: why does it nothing on click??

in my case I changed the note-text of a package
originally (model) it was "Hello"
in the prevoius model (xmi file now) it was changed to "out"
I would expect somthing like "Hello out", out Hello or overwrite the model "Hello" with "out"

It doesnt have any effect.

The other ways (delete or add to model are functioning well)
« Last Edit: December 07, 2013, 12:18:31 am by Kaspatoo »

Helmut Ortmann

  • EA User
  • **
  • Posts: 970
  • Karma: +42/-1
    • View Profile
Re: Different Streams (Model) - Versioning?
« Reply #4 on: December 07, 2013, 02:20:50 am »
Hello,

let's summarize the task at hand.
  • Compare EA datamodels
  • You know which differences you want to know

EA datamodels have a limited complexity. The simplist way would be to generate a DDL and seeing what's different with a simple diff tool.

Another possibility:
Generate a text based model of your database (in fact a DDL with some more information). This text is structered and a compare would tell you the differences (diff tool).

Summary:
If you can define not to complex rules you can manage it. Generating the text isn't a complex task. You may write an addin and use your favorite diff tool.

Helmut






Coaching, Training, Workshop (Addins: hoTools, Search&Replace, LineStyle)