Toad World® Forums

Unexpected Confirm Prompt


#1

I’m experiencing an unexpected confirmation dialog box when editing entities in a physical model. The text reads “Changes have not been confirmed yet. Do you want to confirm them now?”

This box shows up at various times, but here’s one sequence that leads to it…

  1. Edit an entity.
  2. Click Attributes tab.
  3. Enter a new attribute name and click Add.
  4. Double click on the new attribute name in the list.

Apparently, clicking Yes in the dialog box commits the changes to the entity so that then clicking Cancel in the Entity Properties window does not cancel the change. I’d expect that any changes made to the Entity properties are not saved until either the OK button or the Apply button is clicked.

Rodney


#2

Hello Rodney,

If you add a new attribute (key, index or anything), you have to confirm creating the new item - press OK or Apply. If you don’t do it, you cannot edit the newly created item (see the item status on the right in the Entity form). So, if you click Add to create a new attribute and do not confirm OK or Apply, the notification will appear: “Changes have not been confirmed yet. Do you want to confirm them now?”

You need to click “Yes” to be able to edit the item. The “Yes” is the same as if you clicked Apply previously.

While editing e.g. the new attribute, you can switch between the tabs, select options, define properties etc., and all the changes you make will not be saved until you click OK or Apply. If you click Cancel, all the changes will be lost.

This is how TDM 3 behaves.

If you have any comments or questions, please write us back.

Thanks.

Regards,

Vladka


#3

Hi Vladka,

The necessity of clicking Apply each time I’m creating new attribute may be a little bit irritating probably for more users. My first impression was very similar: “Grrrrr… why do I have to click this boring Apply each time I’m creating new attribute?!?” My collegue said exactly the same, when I had shown him TDM3 Beta in action :slight_smile:

Could you add a check-box somewhere in Settings->Options: “Don’t ask for confirmation of add attribute operation”?

Regards,
Marcin.


#4

Hello Marcin,

Could you add a check-box somewhere in Settings->Options: “Don’t ask for confirmation of add attribute operation”?

Thanks for your enhancement request. Our developers will consider it. The CR # is 29 665.

A few notes to this:

  • If you know you need to add three or more attributes, you don’t have to click Apply each time. Click Add three times to create three new items, and finally confirm Apply once.
  • At the moment TDM 3 behaves this way: You can switch among tabs of particular dialog and change properties at your convenience, and finally you can confirm all the changes OK or Apply. However, if you create a new item (it needn’t be only attribute, check constraint, or index in the Entity Properties dialog, but also view, function, category, domain etc. in appropriate dialogs*), you have to confirm creating the new items so as to be able to edit them. You can create more items at one jump and then confirm Apply once.
  • Note: You can create items in the Model Explorer as well.

In any case, thanks very much for your suggestions. We will deal with all of them. If you have more ideas on this issue, please let us know.

Regards,

Vladka


#5

Hi all,

While talking about adding attributes, I think you might find helpful the following tip:

Situation: You’ve created several attributes in the Entity Properties form and while defining properties of the last attribute in its dialog, you’ve found out you need to add other, let’s say, three attributes.

Best Practice:

  1. DO NOT CLOSE the Attribute Properties dialog but simply click Add three times in the Entity Properties form. -> Three new items will appear there.

  2. Confirm Apply in the Entity Properties form. -> The status of the new items will change. Now you know, you can edit them.
    (Note: You also have to confirm Apply so as the new items appear in the object navigator combo-box - see the following step.)

  3. Click the still opened Attribute Properties dialog and unfold its object navigator combo-box. -> The three new items will be displayed there.
    (Note: See the attached screeshot and Attributes 1,2 and 3.)

  4. Now you can select one attribute after another from the object navigator combo-box and define their properties comfortably from one place.
    (Before you select another item from the combo-box, do not forget to confirm the changes via the Apply button.)

===========
Another hint: Feel free to watch the “Add, Edit Attributes” movie where options on how to add attributes and edit them quickly are shown:
http://modeling.inside.quest.com/entry.jspa?externalID=721&categoryID=30

Well, I hope you find this information a bit helpful.

Regards,

Vladka

Given more details on step 2 so as to be clearer.

Message was edited by: vladka


#6

Vladka,

Just to clarify my previous post: Using Apply button is somewhat annoying and unnecessary (IMHO) just during adding attributes, not after editing. Nevertheless I already used to clicking this button again and again :slight_smile:

Regards,
M.


#7

Hello Marcin,

I’ve understood, and also discussed this issue with our developers. -> Here I’m with an update (some information will be repeated, sorry…):

  • If you like to add an attribute in the Entity Properties form, you can:
    A: Click Add (or write the attribute name and click the small Add button) and confirm OK. -> A new attribute will be created and the Entity form will close.

B: Click Add and confirm Apply. -> A new attribute will be created and the Entity form will remain opened.

  • You can add several attributes at one jump - click Add as many times as many attributes you need, and confirm Apply once only.

When you create (add) a new item of attribute, check constraint, domain, category, schema, user… in TDM3, the confirmation is necessary so as modeless dialogs can work properly. (Please see the tip/hint I’ve described above (concurrent work in the Entity and Attribute Properties dialogs).


Current situation:
If you do not confirm adding a new attribute, the following message appears:
“Changes have not been confirmed yet. Do you want to confirm them now?”

  • Now you need to click Yes.

Solution we suggest:
If you click Add and then Edit straight away, the same message will appear, however, with the following check-box “Do not display next time”.

If you have any ideas or questions, please write me back.
Thanks.

Vladka


#8

Hi,

Here I’m with another tip on adding attributes if the Apply button annoys you. - Possibly better provided that you do not add many attributes at one jump but gradually, as it comes necessary. This time, Model Explorer will be used.

Example:

  1. Unfold the Entity 1 folder in Model Explorer.
  2. Right-click the Attributes folder and select Add Attribute. -> A new Attribute 1 item will be listed.
  3. Double-click the Attribute 1. -> Its Properties dialog will open.
  4. Define the Attribute 1 properties, confirm them Apply and leave the dialog opened.
  5. Add another attribute to the Entity 1 in Model Explorer. (See step 2.)
  6. Go back to the still opened Attribute 1 Properties dialog and check out the object navigator combo-box. -> Attribute 2 item will be displayed there.
  7. Select it and define its properties. Confirm Apply, or OK if you like to close the dialog.

Well, this is another way. Maybe, you will prefer this method, using the Model Explorer.

Vladka


#9

Vladka,

Thanks for all your tips’n’tricks. I’ve just recalled that you and Vaclav have shown most of this magic tricks in your movies. Maybe I have too strong habits after using another tools before for a long time. Or maybe that means that I should be more concentrated watching your movies :slight_smile:

Some time ago I’ve seen results of the statistical survey which shown that a huge percentage of Poles don’t understand what they watch on TV news. Am I the one of those who increase this percentage? :wink:

Regards,
M.


#10

Marcin,

Thanks for all your tips’n’tricks. I’ve just recalled that you and Vaclav have shown most of this magic tricks in your movies. Maybe I have too strong habits after using another tools before for a long time. Or maybe that means that I should be more concentrated watching your movies :slight_smile:

It’s all right.

It’s great when you ask and tell us your ideas. We can consider whether the solution (feature or any functionality) already implemented in TDM 3 is good enough, or should be changed or more improved. It doesn’t matter if we discuss a confirmation dialog, button or anything.
By the way, that’s why we released BETA - to get some feedback and shape the product for you - potential (or real?) TDM 3 users.

We’ve shown some of the tricks in movies, however might have missed anything that is interesting or significant for you.
When you ask, you give us ideas on new topics that we could show in movies or should implement to the documentation.
Thanks for all this.

Some time ago I’ve seen results of the statistical survey which shown that a huge percentage of Poles don’t understand what they watch on TV news. Am I the one of those who increase this percentage? :wink:

Greetings to Poland!

Have a nice weekend.

Vladka & all TDM Team


#11

Sorry to be stubborn about this, but I still think it’s wrong. :slight_smile:

Myproblem isn’t really with the confirmation prompt (the new check box tohide the confirmation solves that), but with the fact that the changesmust be applied before I’m really done making my changes.

Internally,TDM might very well treat attributes, indexes, etc. as separate items,but as a user I see those things all as properties of theentity/table. When I’m editing the properties of the entity, I expectall of the changes I make to any of those things to not be applieduntil I click OK or Apply. That means that I should be able to add anew column and use that column in an index or write a comment for thecolumn without having to first save the column to the model. Afterall, I’m just switching tabs or opening a detail window, I’m notclosing the Edit Properties window.

What if I’ve made severalchanges and then realize that I’m taking the wrong approach? What if Irealize partway through the changes that I’ve been stupidly applyingthe changes to the wrong entity? What if I suddenly have to save themodel, but I don’t have time to finish the changes I’ve begun to anentity and don’t want to save it in a half-done state?

I wouldhope that I could just click Cancel in these situations, but that isn’tthe case here. To really cancel, I have to undo each of the changes Imade, one by one.

Just my opinion though this Microsoft Vista Property Window guidelines page might be interesting: http://msdn2.microsoft.com/en-us/library/aa511266.aspx.

Rodney


#12

Hello Rodney,

Thank you for your feedback. Here I am with my comments: What you suggest would be useful if modal dialogs were used in TDM3. But TDM3 works with modeless dialogs and this fact has plenty of advantages.

With modeless dialogs, you can edit numerous objects in your ERD without the necessity to close currently open forms. You can, for example, open one Entity dialog, from this dialog you can open Attribute properties dialog, from this Used Sequences dialog then, and from this the Schema dialog… etc. All changes made to Schemas will be immediately available in other places across the model. (with no regard whether you press OK, Apply or Cancel on the Entity dialog.)

Yes, objects (also entities, attributes, indexes…) are treated separately, however not from the reason that it’s easier for the developers. It has its own logic, and as you can see, there are numerous advantages of this approach.

Let me mention several examples that might better describe how the application works, and that we have to think of:

  1. Edit an entity, edit an attribute. Then go back to the Entity dialog and select another entity from the combo box on top of the dialog. What should happen then? Should the Attributes dialog be closed and should the changes be saved, canceled or should some confirmation dialog appear?

  2. Edit an entity, edit one of its attributes. On tab General, you can click buttons to open other dialogs, like Domains, Default Rules, Used Sequence (trigger) etc. You can define such objects directly, there is no need to close neither the Attribute nor Entity dialogs. What should happen if you click Cancel on the Entity dialog. Should all the changes and newly created objects like Used Sequences and Domain or User Data Types be erased automatically?

  3. Open the Model Explorer, select any attribute(column) of selected entity and press F2 to rename it. Once you confirm the change, what should happen with the Entity dialog if it’s opened?

And so on.

Modeless dialogs and working with objects separately have more advantages, I believe.

You’ve mentioned an example what might happen if you add attributes to a wrong entity. I see another problem: what happens if you add attributes to a right entity, however click the Cancel button on the Entity dialog mistakenly. Again, troubles will come… :slight_smile:
Let’s speak about situations which occur frequently, and deal with issues on how the application should behave if you do things right (not mistakenly or in error :slight_smile: )

Regards,

Vaclav


#13

Vaclav,

Thanks for responding and clarifying TDM’s behavior. I did not realizethat all these property windows are independent of one another.

Unfortunately, I remain unconvinced that this user interface is betterthan what I expected. I will never understand why I should have tocommit the addition of an attribute to an entity before I can define anindex that uses that attribute or, even worse, why I should have tocommit the addition of the attribute before I can set all of theproperties of that attribute.

You mention a couple of times that there are many advantages to thisinterface. However, it seems to me that you’ve only given one: you canwork with multiple things at once. I will grant you that’s a strongone. I can especially see the advantage of working with two differententities at once.

  1. Edit an entity, …
  2. Edit an entity, …
  3. Open the Model Explorer, …

These are all examples of situations that would not arise if theproperty windows were modal, so the questions you ask are not relevant. That’s the advantage of modal: reduced complexity.

You’ve mentioned an example what might happen if you add attributes toa wrong entity. I see another problem: what happens if you addattributes to a right entity, however click the Cancel button on theEntity dialog mistakenly. Again, troubles will come… :)

Indeed, but that’s expected. A Cancel button is supposed to cancel. That’s part of my original argument. In TDM, the Cancel button willnot cancel my changes if those changes happen to include both thecreation of an attribute and the use of that attribute in an index. Understanding exactly what Cancel means in TDM requires specialknowledge, but using something as ubiquitous as a Cancel button shouldnot.

Let’s speak about situations which occur frequently, and deal withissues on how the application should behave if you do things right (notmistakenly or in error :) )

People make mistakes frequently. If not, why do Cancel buttons exist? Why does an Undo feature exist? And why on earth do you need a betaprogram? :slight_smile:

Thanks again for your response.

Rodney


#14

Hi Rodney,

I am going to convince you that the user interface where modeless dialogs are used is better :wink: even though there are some minor (at least from my point of view) disadvantages.

“…These are all examples of situations that would not arise if the property windows were modal, so the questions you ask are not relevant. That’s the advantage of modal: reduced complexity. …”

Yes, modal dialogs reduces complexity, but you have to close modal forms whenever you wish to open another dialog (even a dialog that has no relation to the currently edited object). Do you wish to see relationship details when an Entity dialog is opened? In TDM2 it’s impossible. In TDM3 it’s OK.

If you open the SQL script generation dialog and define settings for your model (let’s say 200 entities) and find out, that it would be fine to add another entity to the diagram, then in TDM2 you must close the SQL script generation dialog and all settings will be lost. In TDM3 you can leave the SQL script generation dialog open, you can add new entity to the ERD, define attributes and whatever you want, and once you are ready, you can simply switch to your still-opened SQL script generation dialog and just press the Generate button. The same works for HTML reports generation and plenty of other cases.

Many of TDM2 users consider modal dialogs to be annoying. In TDM3, you don’t have to close dialogs when you wish to see other objects’ definitions, move workarea behind opened dialogs, write scripts, switch from one object to another in the same form (using top positioned combo box) etc. All that is possible just thanks to the fact that dialogs are modeless.

“…I will never understand why I should have to commit the addition of an attribute to an entity before I can define an index that uses that attribute or, even worse, why I should have to commit the addition of the attribute before I can set all of the properties of that attribute. …”

Because you can take advantage of the Cancel button. And here I am fueling fire, right? :slight_smile:

If you add new attributes to your entity and don’t click the Apply button, all newly added attributes will be in the not-confirmed state. When you click Apply, the attributes will be available for indexes and you will be allowed to define their properties, also, they will appear in the ERD, in the model explorer etc.

But if you click Cancel on the Entity dialog, all attributes in the not-confirmed state will not be added to the ERD, model explorer etc.

I agree with you that the what Cancel exactly means requires special knowledge. It’s a tax for the ability to work with other objects (like Schemas, Defaults). Cancel on the Entity dialog is related just to entity properties, not separate objects, like keys, indexes etc (I know you consider them to be properties, but they are separate objects, and this fact results in the ability to edit indexes and keys from the Model explorer, for example.). I know Microsoft has standards, but I think you will hardly find features like the top positioned combo box (Entity or Attribute dialogs) for switching from one object to another in Microsoft’s applications.

“…People make mistakes frequently. If not, why do Cancel buttons exist? Why does an Undo feature exist? And why on earth do you need a betaprogram? :slight_smile: …”

I know and I agree with you that people make mistages frequently. What I wanted to say is that people should do normal, correct actions more frequently than mistakes. I would be unemployed or dead if I were doing mistakes all the day, and more frequently than correct actions :wink:

Finally let me thank you once again for sending us your comments. We really appreciate it.

I guess you see that we are not going to make our application modal, or make some modal-modeless mixture because we believe it would result in making unnecessary limits for end-users or in bigger chaos than the one related to the Cancel button :slight_smile:

Thank you, Rodney and please feel free to continue with the discussions and keep posting new suggestions to our community.

Vaclav