Bug 85587 - Convert distinct, multiple save operations in database ODB file to single save operation
Summary: Convert distinct, multiple save operations in database ODB file to single sav...
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Base (show other bugs)
Version:
(earliest affected)
4.2.6.3 release
Hardware: All All
: lowest enhancement
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: Base-UX
  Show dependency treegraph
 
Reported: 2014-10-29 07:39 UTC by Ηλίας Ηλιάδης
Modified: 2018-05-28 09:08 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ηλίας Ηλιάδης 2014-10-29 07:39:21 UTC
I understand that requirung of "double" saving anything maybe is due to the ability of having multiple instances of the same "anything".
But this is a very strange and dangerous behaviour.
What I mean.
Open any odb file with at least one table.
Select to edit the table. (Table Design)
Make any change (lets say, rename a field)
Save it.
Close the "Table Design" window.
Now you are back to the main window of odb.
Although you have saved all changes you made,
when you try to close the main window the program is asking the user if he/she wants to save the changes!!!
(USER ASKS:)But I already have saved all my changes!!!
Which are the "new" changes that program wants me to save?

This may create unpredictable results in case user has already other opened windows which he may or may not want to save.
Comment 1 Robert Großkopf 2014-10-29 20:34:50 UTC
(In reply to Ηλίας Ηλιάδης from comment #0)
> (USER ASKS:)But I already have saved all my changes!!!
> Which are the "new" changes that program wants me to save?

If you change a table the format of the table could be affected. Saving the table in the table-design saves only the table inside the database, not the formatting of the table, which is saved inside the content.xml from the *.odb-file.

Try, for example, the following: Create a table "table" with fields "ID" and "Text". Save it. Close Base, ignore second saving. Open again. The table with both fields could be used.
Open again for editing. Set the default (GUI-default in the table-design) of the field "Text" to 'Hallo'. Save it in the table-design-window. Close Base and ignore second saving. Open again. The GUI-default is gone when reopening the table for editing.
Open the table and put some content in it. Set the width column for "Text" much bigger. Dont save the Base-file. It's the same behavior.

There are some special cases where it mustn't be saved again. But most you will do in the *.odb-file works the same way: Save a form and you have to save again the *.odb-file, because the form must be saved together with the file. Save a query - the same. Save a report - the same. Only the content, which has been saved in the database mustn't be saved again in the main-window of Base.

I wouldn't call this a bug. But could be a good enhancement to save all directly, when, for example, a form is saved you haven't to press save again.
Comment 2 Alex Thurgood 2014-11-04 11:22:05 UTC
I would not consider this to be a bug either, it works as designed. Changing table or query definitions saves data in a different part of the database container file, which then has to be saved globally for the odb container.

I also agree that this could be a request for enhancement, setting as such.
Comment 3 Ηλίας Ηλιάδης 2014-11-05 08:14:12 UTC
Maybe it's working as designed. But if the form is changing anything (anywhere) it's form's "obligation" to save it.
Or, at least, inform the user that due to his actions changes had to be done elsewhere. Which I consider as a bad gui desgin,
but at least user is informed that 
   this specific form made the change
and not some other from the opened so far forms.
Comment 4 Alex Thurgood 2015-01-03 17:38:55 UTC Comment hidden (no-value)
Comment 5 Ηλίας Ηλιάδης 2018-05-28 09:08:07 UTC
In addition the "save button" from the BASIC IDE saves «blindly» everything. This is not in accordance with "saves data in a different part of the database container file, which then has to be saved globally for the odb container."