Bug 91345 - Updating data from a DDE link is not considered a file change (even if it affects formula results)
Summary: Updating data from a DDE link is not considered a file change (even if it aff...
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
4.4.3.2 release
Hardware: Other All
: medium enhancement
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: OLE-Objects
  Show dependency treegraph
 
Reported: 2015-05-17 13:52 UTC by gmarco
Modified: 2022-01-27 13:04 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments
file before open (55.30 KB, image/jpeg)
2015-06-15 08:43 UTC, gmarco
Details
fie after save with no change (53.90 KB, image/jpeg)
2015-06-15 08:46 UTC, gmarco
Details
odt document for test (16.33 KB, application/vnd.oasis.opendocument.text)
2017-01-13 21:18 UTC, gmarco
Details
ods file for test (15.20 KB, application/vnd.oasis.opendocument.spreadsheet)
2017-01-13 21:19 UTC, gmarco
Details

Note You need to log in before you can comment on or make changes to this bug.
Description gmarco 2015-05-17 13:52:34 UTC
For the sake of brevity please refer to my post in forum
http://ask.libreoffice.org/en/question/48734/inserire-e-collegare-aree-di-foglio-di-calcolo-in-un-doc/?answer=50706#post-id-50706
where you can find foundamental samples.

There I posted:
Warning 2: opening the ODT doc you are asked if you wish updating YES|NOT. Replying YES every change applied to the Calc sheet willl be reflected into the Writer doc ... but if now you want to save the file, the "SAVE" menu option is inhibited and clicking on "X" also the file will not saved; you have to exit by "Save As". 

Substantially, if I don't apply a change to the text part of the doc, Writer forgets he had updated some linked object.
Comment 1 gmarco 2015-05-17 14:00:58 UTC
(In reply to gmarco from comment #0)
> For the sake of brevity please refer to my post in forum
> http://ask.libreoffice.org/en/question/48734/inserire-e-collegare-aree-di-
> foglio-di-calcolo-in-un-doc/?answer=50706#post-id-50706
> where you can find foundamental samples.
> 
> There I posted:
> Warning 2: opening the ODT doc you are asked if you wish updating YES|NOT.
> Replying YES every change applied to the Calc sheet willl be reflected into
> the Writer doc ... but if now you want to save the file, the "SAVE" menu
> option is inhibited and clicking on "X" also the file will not saved; you
> have to exit by "Save As". 
> 
> Substantially, if I don't apply a change to the text part of the doc, Writer
> forgets he had updated some linked object.

Emendation: my SW is Win 8.1 X86
Comment 2 Buovjaga 2015-05-18 15:30:59 UTC
(In reply to gmarco from comment #0)
> Substantially, if I don't apply a change to the text part of the doc, Writer
> forgets he had updated some linked object.

What do you mean by "forgets"? Writer asks the update question every time we open the file, regardless of whether we have saved the Writer file after updating.

Set to NEEDINFO.
Change back to UNCONFIRMED after you have provided more information.
Comment 3 gmarco 2015-05-18 16:22:45 UTC
(In reply to Beluga from comment #2)
> What do you mean by "forgets"? Writer asks the update question every time we
> open the file, regardless of whether we have saved the Writer file after
> updating.

Yes, Writer asks the update question, I reply YES and can see the occurred update, after that I wish to save the updated file (even without having made other changes), but the "SAVE" menu option is inhibited and clicking on "X" the file goes saved in the previous version (not updated); I am forced to exit by selecting "Save As".
Comment 4 Buovjaga 2015-05-18 16:37:14 UTC
(In reply to gmarco from comment #3)
> (In reply to Beluga from comment #2)
> > What do you mean by "forgets"? Writer asks the update question every time we
> > open the file, regardless of whether we have saved the Writer file after
> > updating.
> 
> Yes, Writer asks the update question, I reply YES and can see the occurred
> update, after that I wish to save the updated file (even without having made
> other changes), but the "SAVE" menu option is inhibited and clicking on "X"
> the file goes saved in the previous version (not updated); I am forced to
> exit by selecting "Save As".

So what is the use case or the problem you are trying to prevent?

The only thing I can think of is:
You make changes to the spreadsheet.
You open the .odt, answer yes to update.
Now you want to save the .odt just to preserve the state of the spreadsheet data.
Next you make some changes to the spreadsheet again.
You open the .odt, but answer no to update, because you want to work with the data that existed when you last opened the .odt.

Is this what you want?
Comment 5 gmarco 2015-05-18 17:43:14 UTC
(In reply to Beluga from comment #4)
> So what is the use case or the problem you are trying to prevent?
> 
> The only thing I can think of is:
> You make changes to the spreadsheet.
> You open the .odt, answer yes to update.
> Now you want to save the .odt just to preserve the state of the spreadsheet
> data.
> Next you make some changes to the spreadsheet again.
> You open the .odt, but answer no to update, because you want to work with
> the data that existed when you last opened the .odt.
> 
> Is this what you want?

Well, normally if I apply any change to a doc, when I have done I need to close it saving that changes too; for that I usually click on "X" or on "File->Save" and get my doc saved in the last updated version.
I could click on "File->Save As" when I wish save that doc with a different name.

If I have applied changes to the spreadsheet and that spreadsheet is linked someway in the doc.ODT, when I open it I am asked if want to update with the changes applied to the spreadsheet. Usually (it's logic) I reply YES and the doc displays updated. Now (even without applying any other change to the doc) I wish to close it saving too the changes subsequent updates previously said (objects linked to the spreadsheet).
The usual procedure is to close clicking on "X" but if I do so Writer closes without re-writing the file and I unknowingly "lose" these updates (I think this is incorrect).
Comment 6 Buovjaga 2015-05-18 17:55:40 UTC
(In reply to gmarco from comment #5)
> Well, normally if I apply any change to a doc, when I have done I need to
> close it saving that changes too; for that I usually click on "X" or on
> "File->Save" and get my doc saved in the last updated version.
> I could click on "File->Save As" when I wish save that doc with a different
> name.
> 
> If I have applied changes to the spreadsheet and that spreadsheet is linked
> someway in the doc.ODT, when I open it I am asked if want to update with the
> changes applied to the spreadsheet. Usually (it's logic) I reply YES and the
> doc displays updated. Now (even without applying any other change to the
> doc) I wish to close it saving too the changes subsequent updates previously
> said (objects linked to the spreadsheet).
> The usual procedure is to close clicking on "X" but if I do so Writer closes
> without re-writing the file and I unknowingly "lose" these updates (I think
> this is incorrect).

Well, I will set to NEW, but put to low priority. Some devs can decide, if this is relevant.

When you open an ODT with linked spreadsheet, it asks you every time, if you want to update. Not only, when you have changed the spreadsheet.
Comment 7 gmarco 2015-05-19 10:18:02 UTC
(In reply to Beluga from comment #6)
> Well, I will set to NEW, but put to low priority. Some devs can decide, if
> this is relevant.
> 
> When you open an ODT with linked spreadsheet, it asks you every time, if you
> want to update. Not only, when you have changed the spreadsheet.

"To be, or not to be, that is the question ...",  knowing the problem it can be a NON problem, but not knowing ...
It is true that Writer always asks for updating or not, but needing a saved doc last updated I can do that only saving it by "Save As" and I need to know this.
You could ask: when/why do you need that? Well: I daily update the sheet and weekly I have to send the doc.odt (and not the ods also) to some employees, and the doc must be today updated (they can open the odt alone).

Finally, as a comparison, WinWord does not  present these anomalies: the Save menu is not inhibited and closing (by clicking "X" too) it asks anyway if you want to save.
A last suggestion: opening the odt in absense of the linked sheet (lost, deleted, moved), replying YES to the ask for updating, Writer opens the file without any warning; a notice about would be more correct (anyway WinWord too has this problem).
Comment 8 Buovjaga 2015-06-13 11:01:34 UTC
Tools -> Options -> LibreOffice -> General:  Document Status, Allow to save document even when the document is not modified.

I guess that would solve the problem for you?
Comment 9 gmarco 2015-06-13 20:48:14 UTC
(In reply to Beluga from comment #8)
> Tools -> Options -> LibreOffice -> General:  Document Status, Allow to save
> document even when the document is not modified.
> 
> I guess that would solve the problem for you?

No, I think this is not the solution.
Setting that Tools-Option I'll force the rewriting for every doc every time I open/close it.
Do not misinterpret my words (my mother language is not English) if I repeat that I consider more correct the WinWord way of working (WinWord, among other things, does not have that Tools-Option):
"Save" has never inhibited but
- if I have not made any changes the file is not rewritten anyway
- if the doc was modified, even only updating linked data, the updated file is rewritten.
This does not mean that WinWord is better and that every other program should copy, LO is a great product, but if a remark is shared can always be improved: this too may just be an opinion of mine.
That said, LO can stay as it is, what is important is the cognition of that.
Comment 10 Buovjaga 2015-06-13 20:54:32 UTC
(In reply to gmarco from comment #9)
> Setting that Tools-Option I'll force the rewriting for every doc every time
> I open/close it.

This is not true. I just tried it and it *does not* modify the document on open or close. It simply allows you to save at any time.
Comment 11 gmarco 2015-06-14 20:05:05 UTC
(In reply to Beluga from comment #10)
> (In reply to gmarco from comment #9)
> > Setting that Tools-Option I'll force the rewriting for every doc every time
> > I open/close it.
> 
> This is not true. I just tried it and it *does not* modify the document on
> open or close. It simply allows you to save at any time.

Sorry, I don't know what else to say.
I didn't say that the doc gets modified (as no change has been applied) but I think it *is rewritten*.
What is certain is that the date of the file gets updated, that is not the case ending with "X".
Confirming what already said about Word/LO, Word does not do this so.
Comment 12 Buovjaga 2015-06-15 05:13:17 UTC
(In reply to gmarco from comment #11)
> (In reply to Beluga from comment #10)
> > (In reply to gmarco from comment #9)
> > > Setting that Tools-Option I'll force the rewriting for every doc every time
> > > I open/close it.
> > 
> > This is not true. I just tried it and it *does not* modify the document on
> > open or close. It simply allows you to save at any time.
> 
> Sorry, I don't know what else to say.
> I didn't say that the doc gets modified (as no change has been applied) but
> I think it *is rewritten*.
> What is certain is that the date of the file gets updated, that is not the
> case ending with "X".
> Confirming what already said about Word/LO, Word does not do this so.

The date of the file is not updated, that is what I meant. I specifically observed the modified date & time of the file and it remained unchanged.

Did you observe a different result?
Comment 13 gmarco 2015-06-15 08:43:25 UTC
Created attachment 116544 [details]
file before open

last-modified-date before opening the file: gg/mm/aaaa = 17/05/2015
Comment 14 gmarco 2015-06-15 08:46:44 UTC
Created attachment 116546 [details]
fie after save with no change

last-modified-date after saving (not modified): gg/mm/aaaa = 15/06/2015
Comment 15 gmarco 2015-06-15 09:09:40 UTC
> > (In reply to Beluga from comment #12)

> The date of the file is not updated, that is what I meant. I specifically
> observed the modified date & time of the file and it remained unchanged.
> 
> Did you observe a different result?

YES, look at the two attached file-explorer snipped.

I can add some further comments:
- usually, when changes have been applied to a file, exiting by "X" or File-Exit I am asked if wish to save the document before closing: if I have updated only linked objects, this does not verify.
- clicking on "Save" having the option in question setted, instead, the doc gets really saved updated (alike clicking on "save As" as I said initially).

Then I repeat: for my part LO can stay as it is, what is important is the cognition of that ("To know or NOT to know, this is ...").
Comment 16 Buovjaga 2015-06-15 09:17:33 UTC
(In reply to gmarco from comment #14)
> Created attachment 116546 [details]
> fie after save with no change
> 
> last-modified-date after saving (not modified): gg/mm/aaaa = 15/06/2015

You say "after saving" - surely you won't expect the modified date to remain unchanged when actually saving?

I thought you meant that the modified date changed simply due to opening and closing activities without any explicit saving action.
Comment 17 gmarco 2015-06-15 10:11:11 UTC
(In reply to Beluga from comment #16)
> (In reply to gmarco from comment #14)
> > Created attachment 116546 [details]
> > fie after save with no change
> > 
> > last-modified-date after saving (not modified): gg/mm/aaaa = 15/06/2015
> 
> You say "after saving" - surely you won't expect the modified date to remain
> unchanged when actually saving?
> 
> I thought you meant that the modified date changed simply due to opening and
> closing activities without any explicit saving action.

Well, I surely may expect that, not having updated/modified the doc, its modified-date remains unchanged.
Nevertheless this can be a false problem: s far as I know the "File-Save" command is rarely used, it is usual to exit clicking on "X" and, so doing, the date remains unchanged; we can then consider correct that, forcing the "Save" the date too might be forced and changed.

But, remember, if anyone update has been applied (opening the doc I replied YES to the ask for updating linked objects) when I exit (X or File-Exit) I *have to be asked* if I wish to save the updates before closing!
I cannot consider this problem of low-trivial importance.
Do you agree?  what's your opinion?
Comment 18 gmarco 2017-01-13 21:17:18 UTC
Retested. Summary (01/13/2017):
The question was: having an ODT doc with embedded (linked as DDE) some connected objects (Spreadsheet Areas), opening it you are asked if you wish updating YES|NOT. Replying YES every change applied to the Calc sheet will be reflected into the Writer doc ... but now if you want to save the updated file getting an ODT rewritten with the mentioned updates, the "SAVE" menu option is inhibited and also clicking on "X" (the most usual method) the file will not saved; in order to rewrite an updated ODT file you can only exit by "Save As" getting a new file with a new name. 

Substantially, if I update only the linked objects without applying any change to the text part of the doc, exiting by "X", Writer closes without asking if I want save it YES|NOT and does not rewrite the ODT file without we have awareness of that.
I do not think it's of trivial importance. 

Re-testing in LO 5.2.3.3 and updating the issue:
it seems that something has changed, SAVE is no longer inhibited and clicking on it, the file is rewritten regularly updated.

But, exiting by "X", nothing has yet changed, all is as already said.
A further problem: established that the objects links embedded in the document are dependent on the drive and folder where the source files were when linked, if the spreadsheet file source was renamed / moved / deleted (however is not found from Writer), opening the ODT file a window appears asking "do you want to edit and update all the connections?" but, answering YES, it does not appear no warning message about the not found objects and the document opens (consequently not updated) without we have awareness of that.
I think that a warning about would be more correct (anyway WinWord too had this problem): were this SW improvement not possible, what you think of a notice, at least, in the help?
To facilitate the verification of the foregoing I attach two files already prepared ("LO W-C odssample.ods" and "LO W-C odtsample.odt").
  Note: The ODS file must be loaded in D:\ (root), as ODT links point there; if needed you can open the ODT and change the links drive-id from Edit-Links.
Comment 19 gmarco 2017-01-13 21:18:39 UTC
Created attachment 130400 [details]
odt document for test
Comment 20 gmarco 2017-01-13 21:19:27 UTC
Created attachment 130401 [details]
ods file for test
Comment 21 Buovjaga 2017-09-09 14:12:08 UTC
gmarco: there is a person complaining that *the save is active after updating links*: bug 111983

So has the behaviour changed, making it possible to close this report as WORKSFORME?
Comment 22 gmarco 2017-09-09 20:47:08 UTC
(In reply to Buovjaga from comment #21)
> gmarco: there is a person complaining that *the save is active after
> updating links*: bug 111983
> 
> So has the behaviour changed, making it possible to close this report as
> WORKSFORME?

Buovjaga, I think NO.
I am running now 5.3.4.2 but nothing has changed in respect to my comment#18 and cannot well understand the question as posted in bug 111983: it seems a bit confusing (full cock and drunk wife?).

Recapitulating:

1) as already said, SAVE is no longer inhibited and clicking on it, the file is rewritten regularly updated. This means that, exiting clicking on File-Save (or CTRL+S) all goes as expected but it is not a good method as it forces LO to phYsically rewrite anyway the file even if no change has taken place.

2) I think you can easily test yourself, try this please using the two files ods and odt already attached on 2017-01-13:
- open the ods, change the cell A5 to xxxxxxxx, exit saving
- open now the odt, reply YES to update links (you will see that data regularly updated), now click on the "X" button to exit as usual: the file is closed without any save request and is not updated as it should (MS office does it!). You can verify reopening the odt and replying NO to update links: you still see the old data.
- I said:
<<Substantially, if I update only the linked objects without applying any change to the text part of the odt document, exiting by "X", Writer closes without asking if I want to save it (YES|NOT) and does not rewrite the odt file without we have awareness of that. I do not think it's of trivial importance. >>
Then, retry opening again the odt, reply YES to update links, update now also any text data (a word in the first line, for example), then click on the "X" button to exit as usual: LO now asks if you want to save or not as expected.

WARNING! Remember that the objects links embedded in the document are dependent on the drive and folder where the source files were when linked (in the sample the odt may reside everywhere but the ods has to reside on the D: root, as the odt links point there; if needed you can open the odt and change the links drive-id from Edit-Links).
And here the last further question:

3) established that the objects links embedded in the document are driver/folder dependent, if the spreadsheet file source was renamed / moved / deleted (however is not found from Writer), opening the odt file, also replying YES when requested if you want to update the linked data, the file gets opened without any warning message about the not found objects (but consequently not updated) without we have awareness of that.
Then, I think that a warning about would be more correct (anyway WinWord too had this problem): were this SW improvement not possible, what you think of a warning notice, at least, in the help?

I hope so that I have been more than explanatory.
Comment 23 Buovjaga 2017-09-10 09:30:46 UTC
(In reply to gmarco from comment #22)
> 2) I think you can easily test yourself, try this please using the two files
> ods and odt already attached on 2017-01-13:
> - open the ods, change the cell A5 to xxxxxxxx, exit saving
> - open now the odt, reply YES to update links (you will see that data
> regularly updated), now click on the "X" button to exit as usual: the file
> is closed without any save request and is not updated as it should (MS
> office does it!). You can verify reopening the odt and replying NO to update
> links: you still see the old data.
> - I said:
> <<Substantially, if I update only the linked objects without applying any
> change to the text part of the odt document, exiting by "X", Writer closes
> without asking if I want to save it (YES|NOT) and does not rewrite the odt
> file without we have awareness of that. I do not think it's of trivial
> importance. >>
> Then, retry opening again the odt, reply YES to update links, update now
> also any text data (a word in the first line, for example), then click on
> the "X" button to exit as usual: LO now asks if you want to save or not as
> expected.
> 
> WARNING! Remember that the objects links embedded in the document are
> dependent on the drive and folder where the source files were when linked
> (in the sample the odt may reside everywhere but the ods has to reside on
> the D: root, as the odt links point there; if needed you can open the odt
> and change the links drive-id from Edit-Links).

Yes, I can reproduce. Indeed, I first have to manually modify the links to match my own location. Then I can do a new round of modifying the .ods contents, opening the .odt, clicking Yes to update and it does not ask me to save.

Arch Linux 64-bit, KDE Plasma 5
Version: 6.0.0.0.alpha0+
Build ID: 09122a537318f7ada075820f3b1ef83a64e56751
CPU threads: 8; OS: Linux 4.12; UI render: default; VCL: kde4; 
Locale: fi-FI (fi_FI.UTF-8); Calc: group
Built on September 10th 2017
Comment 24 gmarco 2017-09-11 16:37:08 UTC
(In reply to Buovjaga from comment #23)
> 
> Yes, I can reproduce. Indeed, I first have to manually modify the links to
> match my own location. Then I can do a new round of modifying the .ods
> contents, opening the .odt, clicking Yes to update and it does not ask me to
> save.
> 
Happy to finally read that.
Happy to read in another bug that Cor Nouws has my same opinion ("To me, by the way, it is more natural that a file asks to be saved, after links are updated").

Further, about point 3) in my comment #22, considering the matter quite relevant, do you prefer I open an explicit enhancement request bug?
Please consider what it's like to open a document by keeping it up to date (it is not so, but I do not know as I'm not warned) and continue unknowingly in the job (saving and perhaps distributing to others the document considered to be up to date) and only after n time find out the damage!
Comment 25 Buovjaga 2017-09-11 16:45:02 UTC
(In reply to gmarco from comment #24)
> Further, about point 3) in my comment #22, considering the matter quite
> relevant, do you prefer I open an explicit enhancement request bug?
> Please consider what it's like to open a document by keeping it up to date
> (it is not so, but I do not know as I'm not warned) and continue unknowingly
> in the job (saving and perhaps distributing to others the document
> considered to be up to date) and only after n time find out the damage!

I found there is already bug 105006 for that.
Comment 26 gmarco 2017-09-11 20:23:44 UTC
(In reply to Buovjaga from comment #25)
> I found there is already bug 105006 for that.

Wright, but there the component is CALC and the anomaly is true for WRITER too.
Comment 27 Stéphane Guillou (stragu) 2022-01-27 13:04:12 UTC
Still reproducible in this version:

Version: 7.3.0.2 / LibreOffice Community
Build ID: f1c9017ac60ecca268da7b1cf147b10e244b9b21
CPU threads: 8; OS: Linux 5.4; UI render: default; VCL: gtk3
Locale: en-AU (en_AU.UTF-8); UI: en-US
Calc: threaded

I do agree that this is a problem.

Here are my steps, which hopefully make the issue more obvious:

0. Download both attachment 130400 [details] and attachment 130401 [details]
1. Open the ODT file
2. Make sure DDE links point to the right spreadsheet in "Edit > Edit Links to External Files..."
3. Add a table or a field that uses values in the linked tables, e.g. a sum of the first table's column "a"
4. Save and close Writer
5. Open the ODS file and change a value in that "a" column
6. Save and close the ODS file
7. Open the ODT file, click "Yes" when given the opportunity to update the data from the linked files
8. Observe that the values have changed in the linked table as well as in the result of the formula that was added in step 3
9. Close Writer

Actual results:
No prompt to save the changes. If the source spreadsheet is modified again in that column, this actually is a case of data loss: opening the ODT will either show the old data (if linked files are not updated) or different, new data (if linked files are updated).

Expected results:
User is prompted to save the changes.

I'd say this should be considered as a dataloss bug, not an enhancement.

Not 100% sure about the meta bug, as I could not find one specific to DDE.

Also tried to make bug description more precise.