Book a Demo

Author Topic: When exactly is an EA DBMS repository updated?  (Read 4774 times)

ChrisBD

  • EA User
  • **
  • Posts: 60
  • Karma: +0/-0
    • View Profile
When exactly is an EA DBMS repository updated?
« on: May 04, 2010, 08:56:21 pm »
Much as the title suggests.

If a user makes changes to an EA model that resides on a MySQL database, are the changes only commited (in the form of SQL commands) when they select to save the changes or are changes submitted on a more granular basis?

If two users are looking at a shared model, when does each user see what changes have been made by the other?

We'll ignore the version control system as all I'm interested in is the process by which EA caches the model to the client and updates that cache.

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: When exactly is an EA DBMS repository updated?
« Reply #1 on: May 04, 2010, 09:13:49 pm »
Chris,

Most of the changes are persisted at the moment the user clicks the apply or OK button on a properties dialog.
Other windows such as the separate notes window save on losing focus (I think).
The big exception to that rule is the diagram persistence. The layout of the diagram is only saved when the user explicitly saves it using the save button. (changes to the elements shown on the diagrams follow the previous rules, so they are persisted immediately).

When the other users see the changes depend on what they have already loaded in memory. Some changes (such as adding elements) only become visible when the user reloads the package or model.
There are two commands that you can use to reload:
- File/Reload Current Project
- Package Context Menu/Contents/Reload Current Package

Which changes require a reload of the model to become visible is somewhat vague. It depends on whether EA uses the cached in-memory model, or if it goes to the database.
As an example: searching the project browser happens in-memory, where searching the model is a database operation.

Geert

ChrisBD

  • EA User
  • **
  • Posts: 60
  • Karma: +0/-0
    • View Profile
Re: When exactly is an EA DBMS repository updated?
« Reply #2 on: May 04, 2010, 09:28:48 pm »
Thanks Geert,
I had a feeling that it would be a complicated case.

So if a user makes a lot of diagram, layout changes and they forget to save the changes before closing EA, then its possible that the positional data for those changes won't be saved.

A case in point here would be a component with many ports.
The user complains that they do not stay in the positions intended between EA sessions.

If the user adds the ports to the diagram and closes EA without saving then it is possible that when the diagram is reopened all of the ports will reappear in the default location (top left in this case).

If this is the case then I need to ensure that users save their work before exiting EA.

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: When exactly is an EA DBMS repository updated?
« Reply #3 on: May 04, 2010, 09:42:28 pm »
Quote
So if a user makes a lot of diagram, layout changes and they forget to save the changes before closing EA, then its possible that the positional data for those changes won't be saved.

Yes, whenever you see elements piled up in the top left of a diagram you can be damn sure they forgot to save.

Geert
[edit]darn => d a m n (stupid YaBB) ::)[/edit]
« Last Edit: May 04, 2010, 09:43:37 pm by Geert.Bellekens »