Frank Schönheit - Sun Microsystems Germany wrote:
Juergen, Ariel,

to make it short, i would support you to add it. If we make the change we should start with a new wiki page to document the change and a migration path even if it would be trivial.

okay. What location do you suggest? Do we already have an entry point in
the wiki to the overall topic "incompatible API changes"?
ooh, we have http://wiki.services.openoffice.org/wiki/API/Concepts_API_changes which is currently empty and where i wanted summarize and document the outcome of our discussions :-(

I would suggest
http://wiki.services.openoffice.org/wiki/API/Changes with a display title

{{DISPLAYTITLE:Incompatible API changes}}
...
* API changes in OpenOffice.org 3.2
<DPL>category=APIChanges_v3.2</DPL>
...
[[Category:API]]
[[Category:APIChanges]]


And for your specific change
http://wiki.services.openoffice.org/wiki/API/Changes/css_awt_XView
{{DISPLAYTITLE:Incompatible API change of com.suns.star.awt.XView}}
...
[[Category:API]]
[[Category:APIChanges]]
[[Category:APIChanges_v3.2]]

With a specific category for each version we can easy collect a list of all API changes for a specific version and with the general APIChanges category we can collect all API changes...

It's a quick idea to put the whole stuff in some organized structure. What do you think?



was there an agreement on that? I didn't have time to understand the reasons given for adding a FilterOperator2, carrying with it a TableFilterField2 and a XSheetFilterDescriptor2; but the names just tell me there was no agreement.

I think that there was an agreement to allow incompatible changes for major releases.

Yes.

And we talked about some specific changes that might be also allowed for minor releases. But this changes are not yet defined in detail...

And that's what I'm trying to find out - where's the line to be drawn
between "allowed for majors only" and "allowed for minors, too". We
already agreed that making optional properties on old-style services
non-optional is below that line, i.e. allowed for minors.

Adding a method to an existing interface as Frank suggested would be of course such a change. No influence on Basic or other languages using invocation. Only build incompatible in C++ as long as you don't implement the interface on your own...

The "as long as" is the tricky part in such cases. For instance,
grokking for XView gave me implementations of this interface in the
presenter console, which is delivered as a C++ extension. So, in such a
case, I would have a hard time arguing that adding a method is no
problem at all. Luckily, this was css.frame.XView, not css.awt.XView :)

The given XView interface is effectively *only* implemented in the
toolkit module, and chances that it's implemented outside the OOo code
base are rather low (since all the code around it does not really allow
for pure UNO components outside the OOo code, but that's another topic).
So, I'd say we're on the safe side here.
i agree that we are probably safe here. But it shows also that a general rule is or can be problematic. Whereas a change like yours is probably harmless other changes of the same category can break many external solutions depending on the usage of the changed interface. That is the reason why we should discuss the changes in public and find a common agreement for the proposed changes...

Juergen


Ciao
Frank



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@api.openoffice.org
For additional commands, e-mail: dev-h...@api.openoffice.org

Reply via email to