Hi Zolnai, On Monday, 2016-11-21 22:30:42 +0100, Zolnai Tamás wrote:
I wrote down my opinion. Sorry if I went to far with that word "ridiculous". Ignore that paragraph and you have what I should say on an ESC call. I would not bother with this API stability/instability anymore in general. I'm interested in only this specific case. Discuss it on ESC if needed and send me your decision. I can't do anything more with that.
Then let me explain why I consider changing this enum a non-acceptable incompatible change. For Java, receiving an unknown UNO API enum value results in a null value. That can happen if an external Java process not knowing about the new enum value using older LO jar files connects against a LibreOffice process. The css::sheet::GeneralFunction is marked 'published', which means we strive to keep it stable and external applications can rely on it. Specifically the pivot table context API is something which I think is used mainly in larger organizations to extract data groups in preset environments. As we don't know who is using a published API for which purposes and what the implications might be if we break it, we should not. With commit https://gerrit.libreoffice.org/gitweb?p=core.git;a=commitdiff;h=50244309501d738e7314fa79785db139c826f8d7 I reverted the incompatible change before we branch off to 5-3, keeping all places that use GeneralFunction_MEDIAN in #if 0 so they can be easily grep'ed for and adapted and where the new value was returned I used GeneralFunction_NONE instead. What now needs to be done is * come up with a new css::sheet constant type (not enum) that can be extended * an additional optional property for services where GeneralFunction is used * sheet::DataPilotField * sheet::DataPilotSourceLevel * sheet::DataPilotSourceDimension * an internal mapping between the enum and the constant * use the new constants in datapilot code * return both properties to be read from services * when evaluating properties written to services, if the new constant is present let it override the old enum * document that fact in the service's .idl files Hope this helps. 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
Attachment:
signature.asc
Description: PGP signature