Bug Hunting Session
Bug 109283 - DDE Link in Calc file cannot be changed from Manual to Automatic update any more
Summary: DDE Link in Calc file cannot be changed from Manual to Automatic update any more
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Documentation (show other bugs)
Version:
(earliest affected)
3.6.7.2 release
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-07-23 08:06 UTC by Cor Nouws
Modified: 2018-01-18 10:05 UTC (History)
4 users (show)

See Also:
Crash report or crash signature:


Attachments
screen shots dialog Edit Links in versions 330 and 367 (79.25 KB, application/pdf)
2017-07-23 08:09 UTC, Cor Nouws
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Cor Nouws 2017-07-23 08:06:07 UTC
1. start spreadsheet,
   add some numbers
   save as sourceDataTest.ods

2. start spreadsheet,
   add some text
   save as targetDataTest.ods

3. Copy from sourceDataTest.ods

4. in targetDataTest.ods:
   Paste Special > Link
   save

5. Look at Edit > Links
   link is set to manual,
   changing is not possible

According to Help DDE links should be/could be set to automatic

Was possible in version 3.3.0
Comment 1 Cor Nouws 2017-07-23 08:09:20 UTC
Created attachment 134791 [details]
screen shots dialog Edit Links in versions 330 and 367
Comment 2 Eike Rathke 2017-07-23 08:29:41 UTC
Pasting as Link doesn't create a DDE link but a normal external reference, these don't have an automatic update mode (and afair never had). A DDE link would be =DDE("soffice","/path/to/file.ods","Sheet1.A1") for example.
Comment 3 Cor Nouws 2017-07-23 20:07:08 UTC
(In reply to Eike Rathke from comment #2)
> Pasting as Link doesn't create a DDE link but a normal external reference,
> these don't have an automatic update mode (and afair never had). 

Still I see a different behavior in 3.3.0 and 3.6.7 (and recent master)

> A DDE link
> would be =DDE("soffice","/path/to/file.ods","Sheet1.A1") for example.

The HELP (opened from dialog Edit > Links) reads:
"Automatic
[...]
The Automatic option is only available for DDE links. You can insert a DDE link by copying the contents from one file and pasting by choosing Edit - Paste Special, and then selecting the Link box. As DDE is a text based linking system, only the displayed decimals are copied into the target sheet."
Comment 4 Cor Nouws 2017-07-23 20:13:47 UTC
(In reply to Eike Rathke from comment #2)

> A DDE link
> would be =DDE("soffice","/path/to/file.ods","Sheet1.A1") for example.

Ah in 3.3.0 paste special results in 
 {=DDE("soffice";"<file-full-name>";"sheet.range")}
and in later versions
 {='<file-full-name>'#$'sheet'.range"}
Comment 5 Cor Nouws 2017-07-24 08:43:50 UTC
@Eike: mind to comment?
(I can install some versions between 3.3.0 and 3.6.7 to see how it works there.)
Comment 6 Cor Nouws 2017-07-24 09:39:01 UTC
3.3.4rc1 and 3.4.6rc2 give similar results as 3.3.0, i.e. paste special, check 'Link', results in valid DDE.
In 3.5.7rc2 the behavior has changed: no DDE links as result from paste special, check 'Link'.
So the change is introduced somewhere between 3.4.6 and 3.5.7.

(this all on Ubuntu Linux 64 bits)
Comment 7 Eike Rathke 2017-07-24 11:52:06 UTC
That change was on purpose, pasting as Link should not result in a DDE link because
a) such DDE link works only with the soffice executable whereas a general
   (external) reference works in any application that consumes ODF .ods
b) DDE is a Windows-only solution, only LibreOffice/OOo handle that internally
   as an own implementation on other platforms
c) DDE is deprecated anyway ;-)

So this is actually outdated documentation, reassigning to component.
Comment 8 Cor Nouws 2017-08-23 11:57:50 UTC
(In reply to Eike Rathke from comment #2)
> Pasting as Link doesn't create a DDE link but a normal external reference,
> these don't have an automatic update mode (and afair never had).

It seems to work in master copying from (1) Writer to Writer and (2) Calc to Writer.

> A DDE link would be =DDE("soffice","/path/to/file.ods","Sheet1.A1") for example.

(1) looks as 
<text:section text:style-name="Sect1" text:name="soffice2" text:protected="true"><office:dde-source office:dde-application="soffice" office:dde-topic="/<path>/link-from.odt" office:dde-item="__DdeLink__498_4036932267" office:automatic-update="true"/><text:p text:style-name="P4">Link Source Document</text:p><text:p text:style-name="P3"><text:span text:style-name="T3">Text body UPDATED</text:span></text:p></text:section><text:p text:style-name="Standard">
<text:bookmark text:name="__DdeLink__498_40369322671"/><text:bookmark text:name="__DdeLink__498_40369322673"/><text:bookmark text:name="__DdeLink__498_40369322672"/><text:bookmark text:name="__DdeLink__498_4036932267"/></text:p></office:text>

(2) looks as
<table:table table:name="Table1" table:style-name="Table1"><office:dde-source office:name="soffice1" office:dde-application="soffice" office:dde-item="/<path>/testLINK.ods" office:dde-topic="&apos;Server - Mail&apos;.A64:C64" office:automatic-update="true"/>

NB Not disputing that DDE is deprecated and soffice only, of course.