Book a Demo

Author Topic: Synchronize stereotype without user lock  (Read 4581 times)

Oliver F.

  • EA User
  • **
  • Posts: 573
  • Karma: +2/-1
  • Aren´t we all in the model business ?
    • View Profile
    • Karl Storz homepage
Synchronize stereotype without user lock
« on: September 29, 2009, 06:38:30 pm »
Well, it seems as if the stereotype synchronization operates without having the need to apply a user lock on elements.

After acknowledging the dialog it runs through and does not care who has locked an element. It simply sets the tagged values and constraints.

Wondering if this is by intention.

Oliver

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Synchronize stereotype without user lock
« Reply #1 on: September 29, 2009, 06:42:16 pm »
Oliver,

I found that anything except an Element.Update() doesn't care about whether or not the element is locked.
On the GUI some of those functions (like adding tagged values) are disabled when an element is locked, but apparently that security check is only done on the GUI and not on the internal objects themselves.

Yes I agree, major design flaw :o

Geert

Oliver F.

  • EA User
  • **
  • Posts: 573
  • Karma: +2/-1
  • Aren´t we all in the model business ?
    • View Profile
    • Karl Storz homepage
Re: Synchronize stereotype without user lock
« Reply #2 on: September 29, 2009, 09:19:12 pm »
Quote
Yes I agree, major design flaw :o

Guess what I did?  8-)
Gave Sparx something to do and filed a bug report:

Code: [Select]
The user lock is not considered for various activities which are not directly applied via user interface.
Eg. synchronizing tagged values and constraints is applied immediately without considering user locks.
This looks like a major design issue and is highly dangerous im multi user scenarios.

Apply a stereotype from eg. a UML profile to several elements.
Then change the stereotype by adding constraints and tagged values, recreate the UML profile.
After ativating the new profile version apply user lock to some elements and to others not. When synchronzing the stereotype all elements are adapted to the new tagged values regardless their locking state.

BTW I once created an external program which writes information and taged values into elements and here I ran into a user locking error.
From my experience it is not consistent.

Oliver

Dave.B

  • EA User
  • **
  • Posts: 94
  • Karma: +0/-0
    • View Profile
Re: Synchronize stereotype without user lock
« Reply #3 on: September 29, 2009, 11:14:59 pm »
Sparx have got to ensure that the model database reflects the associated checked in XMIs otherwise chaos will take over and everyone will get cross.

Sometime ago a told them that the model based spell check would allow corrections to be made to checked in packages. I think they fixed this, but as I haven't tried it in a while it would be worth checking!

Dave B.

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Synchronize stereotype without user lock
« Reply #4 on: September 30, 2009, 02:46:57 am »
I actually found that there is a difference when a package is checked out using version control, or whether a package is locking using the build-in security feature.
The build-in locking allows you to add any relation you want to read-only classes, where the version control locking only allows to add a relation when the read-only class is the target.
Through the API it allows you to add issues to elements, add/update/delete attributes and operations, and more. (I haven't tried everything).
It could be that in general EA is more strict when version control is used to lock elements.

Geert