Book a Demo

Author Topic: Is it possible to disable autosave and have better undo/redo support?  (Read 11439 times)

aledmb

  • EA Novice
  • *
  • Posts: 18
  • Karma: +0/-0
    • View Profile
Hi everyone,

I'm impressed by the ammount of functionality EA puts in our hands, but I'm really disappointed that, after 2 weeks searching for these, I'm not able to find a way to:

1) Disable auto save: You know that blue floppy disk icon on the main toolbar? It's useless. If I delete a whole branch of requirements in the Specification Manager, it's gone. EA should give me the option to, at the minimum, close the project without saving my changes.

2) Have better undo/redo: The same example above (deleting a whole branch of requirements in the Specification Manager) applies to the undo/redo issue. The way I see, I should be able to revert a mistake immediately by pressing CTRL+Z. Just make the last one reversible, no history support needed. But being able to reverse the last change is the minimum acceptable for ANY piece of software. Even the Windows Notepad or Calculator has better undo/redo support than EA!

Telling me to back my files up or using a versioning system is not the way to go. I'm a lone developer and I want to be productive and focused on the task at hand, not putting up with a workaround for a inexistent feature.

I'm sorry if this sounds like a rant. It's not. I'm just baffled that an AMAZING tool like EA has such problems (or features if they're meant to be).

Is there any option in the software for me to solve those two issues I mentioned?

Thanks in advance for any help!  ;)

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
This has been asked for many times. It's probably not that easy. You work directly on a database, except for your diagram. So database changes are directly visible to other people (when the reload the appropriate part). The "good old blue floppy" works only for diagrams. Those changes are only sent to the database when you click the save icon (most likely because of performance reasons). So the undo works only for diagramming.

q.

Uffe

  • EA Practitioner
  • ***
  • Posts: 1859
  • Karma: +133/-14
  • Flutes: 1; Clarinets: 1; Saxes: 5 and counting
    • View Profile
Hello,


Well the short answer is "no."
And the long answer is "you're doing it wrong." :)

EA strictly separates the stored model content from its visualization, and the client is essentially stateless. This is a good thing.

What this means is that the only things you can undo/redo are purely visual changes, ie moving things around in a diagram. Anything to do with actual content changes, such as adding / deleting elements, moving classes in the package structure, modifying attributes, all that is write-through: it gets stored in the underlying database immediately. (There's always a database, even in an .EAP file: that's good ol' Access in there, my friend.)

[The above is mostly true, however there are some undoings / redoings going on with connectors. Best ignored.]


Part of the reason for this behaviour is that EA comes with team support built in, meaning that several modellers can work in the same model simultaneously.

You may also have noticed the absence of a search-and-replace function. This is because if you change a name, or some other property, in an element, all diagrams are immediately updated to reflect this. The diagrams display model content, but the content exists regardless of how many diagrams display it.

So maybe it helps if you get in the mindset of a database manager instead. How much undo functionality does SQL Server Management Studio offer? Can you simply Ctrl-Z after issuing a "delete from table"? That is in fact what you're doing, just using a fancy graphical client.

Ways to manage this:
  • Use baselines.
  • Make a copy of your project for "what-if" type changes.
  • Enable User Security and lock those parts of the model you wish to protect from accidental changes.
So essentially, yes, back up your files and/or use EA's version control or its locking mechanism. I'm sorry if that's not what you want to hear, but this is a case of "you've got to understand how the tool works, and it's not Notepad" sort of thing.

HTH,


/Uffe
My theories are always correct, just apply them to the right reality.

aledmb

  • EA Novice
  • *
  • Posts: 18
  • Karma: +0/-0
    • View Profile
Yeah, I totally understand it. Thanks for the answers, guys!

But again, what I would expect from the tool is that it can take complete control over my undo/redo history.

I mean, the same way as it updates the whole model (all affected views) when I make a single change, it should give me an option to do the same with CTRL + Z (update the whole model again and automatically save it).

It's a bit harder to get into a work flow like this.  :(

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Modelling is not editing/coding. When you make a change it's do to a longer discussion/decision process. Even when coding I use git to make commits and go back only to commits. Ctrl-z is for brain-to-keyboard hackers.

q.

aledmb

  • EA Novice
  • *
  • Posts: 18
  • Karma: +0/-0
    • View Profile
Yeah, but I accidentally deleted a whole branch from my requirements trying to "delete" a note from under a requirement.

You can imagine how bad that was for me.

Anyway, thanks guys, I think I can adapt.  :D

StefanPears

  • EA User
  • **
  • Posts: 119
  • Karma: +6/-0
  • Unwissenheit schützt vor Erkenntnis nicht
    • View Profile
Well, I guess I second this idea since more than 10 years.

It would be a nice feature if Sparx will enhence the message box (WARNING: This action cannot be undone) with a list of all elements that will be deleted forever. So if you accidentally mark a directory instead of an element you will see a really long list ;-)

aledmb

  • EA Novice
  • *
  • Posts: 18
  • Karma: +0/-0
    • View Profile
That's a good idea, yeah.

But the problem is still there if you edit a requirement, for example. You have no way to get back to the text you had before, once you press ENTER or ESC.

Now, as it stands, I have to be more aware of my typing and everything I do on the tool than on the requirement itself.

aledmb

  • EA Novice
  • *
  • Posts: 18
  • Karma: +0/-0
    • View Profile
Besides, continuing with my rant :P...

When I'm editing a requirement in the Specification Manager, hitting ESC should cancel any changes to it's text, not confirm what I've entered.

That's just common sense for any application. ESC should never be used to confirm changes to anything.

It's just dangerous and inappropriate to ask the user to get used to this behavior.

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
You already figured it out. EA's user interface is called EA Unique Interface (EAUI).

q.