Author Topic: versioning best practices  (Read 1033 times)

IvanP

  • EA Novice
  • *
  • Posts: 1
  • Karma: +0/-0
    • View Profile
versioning best practices
« on: August 05, 2010, 06:46:42 pm »
Does anyone has information on best practices for versioning project documentation (in EA) in a way that anytime you can look at current version of documentation, any previous version (baseline) of documentation and changes between succeeding versions.

We need this information in order to be able to provide programmers with enough information on changes in the specification (in EA) which they have to introduce in the software.

As far as we know, baseline manager does not provide functionality for looking at previous versions (baselines) of packages, but only for comparing and merging differences among versions. However, beside the latest version, programmers need to look both at old version and differences.

We thought of making snapshots (baselines) of entire project for each software version but we do not know how to look at both old and new project at the same time and also see the differences (by comparing baseline with the current version). Furthermore, we do not know how to reload two old succeeding versions and see the differences between them. As the comparing utility in baseline manager does not provide any printing feature, it is not possible to make printed documentation on changes either.

Any suggestion is welcome.

Ivan

mvinca

  • EA User
  • **
  • Posts: 37
  • Karma: +0/-0
    • View Profile
Re: versioning best practices
« Reply #1 on: January 06, 2011, 03:29:08 am »
I also have the same question (or at least a subset). I have 5 baselines in my project right now. If I say "Show Differences" with baseline 5 selected, it shows me the differences between the Current and 5. If I say "Show Differences" with baseline 4 selected, it shows me the differences between the Current and 4. How do I see the differences between 4 and 5? If you can't do this, what is the point of even allowing more than one baseline?

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 9547
  • Karma: +275/-27
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: versioning best practices
« Reply #2 on: January 06, 2011, 08:12:33 pm »
Technically it is possible, but it is far from user friendly.
First thing you need is version control integration with a version control system.
Then, if you need a previous version (say version 1) you can create a copy of the model, download the required xmi files from your version control system (outside of EA) and then import those xmi files into your model copy.
Then, if you want to compare version 1 with version 2 you can download the xmi(s) from version 2, and do a compare between the copy of the model (version 1) and the xmi (version 2) file on the disk.

Geert

mvinca

  • EA User
  • **
  • Posts: 37
  • Karma: +0/-0
    • View Profile
Re: versioning best practices
« Reply #3 on: January 06, 2011, 10:06:25 pm »
I can't use their Visual Compare screen when I do two XMIs from the disk, right?

So I think this is the way I'll have it setup...

We'll have the Master and Replica EAP files in SVN. When doing a baseline, we'll have to follow this manual process:
1) Check all Replica's into SVN
2) Person in charge of the Master updates and synchronizes with all replicas.
3) Check Master into SVN
4) Check Master back out
5) Make Baseline
6) Check Master back in

This gives us a before and after baseline snapshot in the SVN repo. Now I can create a tag or revert my current working copy to anything in the repo. So while EA supports:
- Diff Current with Baseline X
Now I can also support
- Diff Baseline n with Baseline n-1 via SVN and EA
Of course this does not solve
- Diff Baseline n with Baseline X where x > n + 1 OR x < n - 1

In any case, it is complicated.

I'm thinking what I would really like is an Automation interface into the EA compare utility where I would just supply it two XMI files. Then I could pick up the pieces however. But then they would have to rethink their status of "Model only" and "Baseline only" because the phrases imply you are always comparing the current model to something.

</rant>

qwerty

  • EA Guru
  • *****
  • Posts: 10634
  • Karma: +234/-196
  • I'm no guru at all
    • View Profile
Re: versioning best practices
« Reply #4 on: January 10, 2011, 11:46:41 pm »
This kind of version comparison is non-trivial per se! You'll need a lot of brain to compare two models. A graphical representation will only help you in case of minimal changes (where it's trivial and obvious even without a graphical aid). As soon as you have a complicated change you need means of semantic traceability. This will be very individual per project. You will not easily find a simple suitable solution. Instead you have to develop the right (or best suitable) process via a number of workshops etc.

q.