Re: Calc function names saved to file and backward compatibility

2015-02-27 Thread Eike Rathke
Hi Winfried,

darn, another mail in the queue..

On Thursday, 2015-02-19 10:19:57 +0100, Winfried Donkers wrote:

 OK, then I suggest the following. 
 Current situation:
 Calc UI ODF Excel
 FDIST   LEGACY.FDISTFDIST
 F.DIST  COM.MICROSOFT.F.DISTF.DIST
 F.DIST.RT   COM.MICROSOFT.F.DIST.RT F.DIST.RT
 
 New situation:
 Calc UIODF-old names, kept   ODF  Excel
 FDISTLEGACY.FDIST FDIST  (no 
 change)
 F.DIST COM.MICROSOFT.F.DIST  FDISTF.DIST
 F.DIST.RTCOM.MICROSOFT.F.DIST.RT  F.DIST.RT  (no 
 change)
 To be done in two steps.

Looks good to me.

 Shall I prepare step 1 for branch 4-4 and step 2 for master?

Yes, as you already did ;)

I'll review.

  Eike

-- 
LibreOffice Calc developer. Number formatter stricken i18n transpositionizer.
GPG key ID 0x65632D3A - 2265 D7F3 A7B0 95CC 3918  630B 6A6C D5B7 6563 2D3A
Better use 64-bit 0x6A6CD5B765632D3A here is why: https://evil32.com/
Care about Free Software, support the FSFE https://fsfe.org/support/?erack


pgpzI4MInPLiL.pgp
Description: PGP signature
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


RE: Calc function names saved to file and backward compatibility

2015-02-19 Thread Winfried Donkers
Hi Eike,

 Looks good to me. However, we should keep the F.DIST.RT also in the UI for
 the case of loading it from OOXML, to prevent user worries or for users
 being used to it and resave it to OOXML as it was, and only map it to
 LEGACY.FDIST when writing to ODF, so that it will be UI FDIST when loaded
 from ODF.
 [...]
 I don't think we should change UI names in this case. FDIST is what users
 are used to since ages, suddenly naming something else FDIST is just
 confusing. Maybe add a hint in scfuncs.src, ala this is OpenFormula
 FDIST and this is OpenFormula LEGACY.FDIST.

OK, then I suggest the following. 
Current situation:
Calc UI ODF Excel
FDIST   LEGACY.FDISTFDIST
F.DIST  COM.MICROSOFT.F.DISTF.DIST
F.DIST.RT   COM.MICROSOFT.F.DIST.RT F.DIST.RT

New situation:
Calc UIODF-old names, kept   ODF  Excel
FDISTLEGACY.FDIST FDIST  (no change)
F.DIST COM.MICROSOFT.F.DIST  FDISTF.DIST
F.DIST.RTCOM.MICROSOFT.F.DIST.RT  F.DIST.RT  (no change)
To be done in two steps.
Shall I prepare step 1 for branch 4-4 and step 2 for master?

Winfried 
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: Calc function names saved to file and backward compatibility

2015-02-18 Thread Eike Rathke
Hi Winfried,

On Wednesday, 2015-02-18 13:08:30 +0100, Winfried Donkers wrote:

 Ok, I suggest the following:
 
 Calc UI  ODF-old names to be kept  ODF-new names  Excel
 F.DIST   COM.MICROSOFT.F.DIST  FDIST  _xlfn.F.DIST
 FDISTCOM.MICROSOFT.F.DIST.RT   LEGACY.FDIST   _xlfn.F.DIST.RT and FDIST 
 (import only)

Looks good to me. However, we should keep the F.DIST.RT also in the UI
for the case of loading it from OOXML, to prevent user worries or for
users being used to it and resave it to OOXML as it was, and only map it
to LEGACY.FDIST when writing to ODF, so that it will be UI FDIST when
loaded from ODF.

 Excel's FDIST is now obsolete, but still supported by Excel (how long?).

My guess is forever..

 I think the change could be done in one go for UI FDIST and F.DIST.RT, as new 
 files can be read by older versions.
 Only for UI F.DIST a 2 step change will be needed.

I don't think we should change UI names in this case. FDIST is what
users are used to since ages, suddenly naming something else FDIST is
just confusing. Maybe add a hint in scfuncs.src, ala this is
OpenFormula FDIST and this is OpenFormula LEGACY.FDIST.

  Eike

-- 
LibreOffice Calc developer. Number formatter stricken i18n transpositionizer.
GPG key ID 0x65632D3A - 2265 D7F3 A7B0 95CC 3918  630B 6A6C D5B7 6563 2D3A
Better use 64-bit 0x6A6CD5B765632D3A here is why: https://evil32.com/
Care about Free Software, support the FSFE https://fsfe.org/support/?erack


pgpWKl_i5h4jP.pgp
Description: PGP signature
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


FW: Calc function names saved to file and backward compatibility

2015-02-18 Thread Winfried Donkers
Resending to the dev-list...

Winfried


-Oorspronkelijk bericht-
Van: Winfried Donkers 
Verzonden: woensdag 18 februari 2015 12:14
Aan: 'Eike Rathke'
Onderwerp: RE: Calc function names saved to file and backward compatibility

hi Eike,

 What we usually do is add a compatibility name to older release 
 branches so the next release there can read both, the new name and the 
 old name, but continues to write the old name so earlier releases of 
 the same (usually two) branches are not affected.
 
 Then for the next release branch (now master) switch from writing the 
 old name to writing the new name, but still accept the old name forever.
 

Ok, I suggest the following:

Calc UI  ODF-old names to be kept  ODF-new names  Excel
F.DIST   COM.MICROSOFT.F.DIST  FDIST  _xlfn.F.DIST
FDISTCOM.MICROSOFT.F.DIST.RT   LEGACY.FDIST   _xlfn.F.DIST.RT and FDIST 
(import only)

(current situation is
Calc UI ODF Excel
FDIST   LEGACY.FDISTFDIST
F.DIST  COM.MICROSOFT.F.DIST_xlfn.F.DIST
F.DIST.RT   COM.MICROSOFT.F.DIST.RT _xlfn.F.DIST.RT
-   FDIST (not used)  )

The ODF FDIST is identical with Excel2010's F.DIST, except for the optional 4th 
argument, which is handled in the code already.
The ODF LEGACY.FDIST is identical with Excel's FDIST and Excel2010's F.DIST.LT.
Excel's FDIST is now obsolete, but still supported by Excel (how long?).

I think the change could be done in one go for UI FDIST and F.DIST.RT, as new 
files can be read by older versions.
Only for UI F.DIST a 2 step change will be needed.

Can you agree with my plans?

Winfried
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


RE: Calc function names saved to file and backward compatibility

2015-02-17 Thread Winfried Donkers
Hi Eike,

 What we usually do is add a compatibility name to older release branches
 so the next release there can read both, the new name and the old name,
 but continues to write the old name so earlier releases of the same
 (usually two) branches are not affected.
 
 Then for the next release branch (now master) switch from writing the old
 name to writing the new name, but still accept the old name forever.
 
 You can find examples of that in sc/source/core/tool/compiler.cxx
 ScCompiler::IsOpCode() in aOdffAliases.

Thank you for your explanation.

I will start with it.

Winfried
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: Calc function names saved to file and backward compatibility

2015-02-16 Thread Eike Rathke
Hi Winfried,

On Thursday, 2015-02-12 11:22:04 +0100, Winfried Donkers wrote:

 In Calc, the current situation is:
 Calc UIODF  Excel
 FDIST  LEGACY.FDIST FDIST
 F.DIST COM.MICROSOFT.F.DIST _xlfn.F.DIST
 F.DIST.RT  COM.MICROSOFT.F.DIST.RT  _xlfn.F.DIST.RT
 (ODF's FDIST is not used)
 
 I think the desired situation is:
 Calc UIODF Excel
 FDIST  COM.MICROSOFT.FDIST FDIST

No, the UI FDIST is actually the ODF LEGACY.FDIST which was specified
after those implementations.

 F.DIST FDIST   _xlfn.F.DIST 
 F.DIST.RT  LEGACY.FDIST_xlfn.F.DIST.RT
 (in case of UI's F.DIST, on export to Excel add argument cum=true, if absent)

Correct, I think (if the F.DIST.RT is actually the LEGACY.FDIST,
I didn't check now).


 These F-distribution functions are not unique having this problem, at least 
 (ISO)WEEKNUM (tdf#50950) and probably other distribution functions share this.

Actually this one is easier, as it involves only some renaming of
function names written to files, not functionality or changes in
parameters and add-in vs. built-in function.

 I think an agreed method should be used to fix these problems, with the 
 method to be determined (or is the method already defined?).

In practice yes, in theory no ;-)
I still wanted to have that written that down somewhere. IIRC I even
created almost empty wiki pages but then got distracted.. have to
retrieve them again.

What we usually do is add a compatibility name to older release branches
so the next release there can read both, the new name and the old name,
but continues to write the old name so earlier releases of the same
(usually two) branches are not affected.

Then for the next release branch (now master) switch from writing the
old name to writing the new name, but still accept the old name
forever.

You can find examples of that in sc/source/core/tool/compiler.cxx
ScCompiler::IsOpCode() in aOdffAliases.

So for older release branches you'd add FDIST with ocFDist_LT there, and
in master you'd add COM.MICROSOFT.F.DIST with ocFDist_LT and in
formula/source/core/resource/core_resource.src section
RID_STRLIST_FUNCTION_NAMES_ENGLISH_ODFF replace COM.MICROSOFT.F.DIST
with FDIST for SC_OPCODE_F_DIST_LT.

 AKAICS, this method ranges from one code change (breaking compatibility with 
 older versions and documents), via stepped code changes (maintaining 
 compatibility for e.g. 2 Lo versions) to (but excluding) not changing 
 anything.

It's maintaining compatibility for the last two release branches.
We did the same for erroneously written ODF attributes btw.

  Eike

-- 
LibreOffice Calc developer. Number formatter stricken i18n transpositionizer.
GPG key ID 0x65632D3A - 2265 D7F3 A7B0 95CC 3918  630B 6A6C D5B7 6563 2D3A
Better use 64-bit 0x6A6CD5B765632D3A here is why: https://evil32.com/
Care about Free Software, support the FSFE https://fsfe.org/support/?erack


pgpI4TwgTEgkL.pgp
Description: PGP signature
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Calc function names saved to file and backward compatibility

2015-02-12 Thread Winfried Donkers
Hi,

I'm working on tdf#40835 again and experience a problem that is easily solved 
in the code, but does present backward compatibility problems in the saved 
(ods) documents.

There are 2 ODF functions (FDIST and LEGACY.FDIST) and 3 Excel functions 
(FDIST, F.DIST and F.DIST.RT).

In Calc, the current situation is:
Calc UIODF  Excel
FDIST  LEGACY.FDIST FDIST
F.DIST COM.MICROSOFT.F.DIST _xlfn.F.DIST
F.DIST.RT  COM.MICROSOFT.F.DIST.RT  _xlfn.F.DIST.RT
(ODF's FDIST is not used)

I think the desired situation is:
Calc UIODF Excel
FDIST  COM.MICROSOFT.FDIST FDIST
F.DIST FDIST   _xlfn.F.DIST 
F.DIST.RT  LEGACY.FDIST_xlfn.F.DIST.RT
(in case of UI's F.DIST, on export to Excel add argument cum=true, if absent)

These F-distribution functions are not unique having this problem, at least 
(ISO)WEEKNUM (tdf#50950) and probably other distribution functions share this.

I think an agreed method should be used to fix these problems, with the method 
to be determined (or is the method already defined?).
AKAICS, this method ranges from one code change (breaking compatibility with 
older versions and documents), via stepped code changes (maintaining 
compatibility for e.g. 2 Lo versions) to (but excluding) not changing anything.

I don't know if this is a developer/UX/ESC matter.

Looking forward to suggestions :-)


Winfried


___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice