Re: [api-dev] Re: Missing interfaces in OOo 3.2: Why not a blocker?

2009-12-16 Thread Matthias B.
On Thu, Nov 26, 2009 at 6:00 PM, Michael Stahl michael.st...@sun.com wrote:

 yes, i removed the XTextField interface at the writer's SwXTextPortion

Could you give a list of all interfaces that were removed (at least
XTextContent and XTextField) so that we can check our code.

Matthias

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



Re: [api-dev] Re: Missing interfaces in OOo 3.2: Why not a blocker?

2009-12-02 Thread Daniel B.
Hi,

On Fri, Nov 27, 2009 at 1:48 PM, Juergen Schmidt
juergen.schm...@sun.com wrote:
 Daniel B. wrote:
 Since our (and potentially a lot of other) extension breaks with this
 change this is a major issue that prevents us from rolling out OOo
 3.2. Reverting the change until OOo 4.0 would give us enough time to
 update our extension and roll out the updated version. So I support
 Michael's suggestion to re-implement the interfaces that are missing,
 at least temporary, and document the change so that people are aware
 of the issue and can adapt their macros/extensions.

 until now you are the only one with this problem. How many places using this
 code do you have in your extension? We gave you the necessary info to do it
 correct. It should be not really a big change i guess but anyway. I let it
 up to others to decide if it is a showstopper or not.

 But how can we prevent you from rolling out 3.2 when it is not already final
 and released? Either you change your broken or wrong extensions or we do the
 changes back. You have to do it anyway in the near future whereas we have
 double work. Sounds not really optimal ;-)

We really shouldn't argue this based on who has the most work because
of this change but based on what is the right thing to do in this
case. The fact of the matter is that multiple interfaces were removed
without advance notice. Sure, these interfaces may have been included
in error in the first place but since neither the wrong interfaces
nor the right way to do it were documented how could someone have
known that he used something that wasn't even supposed to be there? So
you can't really blame someone for using those interfaces. Okay, maybe
you CAN blame them for using _anything_ that isn't documented but in
this case that would have meant to just completely do without this
functionality which wasn't really a good option either.
So, removing the interfaces in general is fine, but not without giving
people ample time to react to this change and to learn how to do it
right. Just breaking their extensions/macros from one minor version to
the next isn't very nice.

But yes, I'm biased because our extension is affected. You are right
that it's not such a big change, and I may have exaggerated a bit. But
you must understand that it's a bit of a shock when you realize that
some interfaces suddenly just disappear from OOo 3.1 to 3.2 without
any warning or explanation. It also has the effect that you begin to
wonder what else could have gone missing that maybe you didn't notice
in your test cases.

Anyway, we now have an explanation what happened and we can do the
necessary changes. I still think it would be better to postpone the
removal of the interfaces to a later version, but if really noone else
has a problem with it I'm not going to argue any further.


Regards,
Daniel

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



Re: [api-dev] Re: Missing interfaces in OOo 3.2: Why not a blocker?

2009-12-02 Thread Juergen Schmidt

Daniel B. wrote:

Hi,

On Fri, Nov 27, 2009 at 1:48 PM, Juergen Schmidt
juergen.schm...@sun.com wrote:

Daniel B. wrote:

Since our (and potentially a lot of other) extension breaks with this
change this is a major issue that prevents us from rolling out OOo
3.2. Reverting the change until OOo 4.0 would give us enough time to
update our extension and roll out the updated version. So I support
Michael's suggestion to re-implement the interfaces that are missing,
at least temporary, and document the change so that people are aware
of the issue and can adapt their macros/extensions.


until now you are the only one with this problem. How many places using this
code do you have in your extension? We gave you the necessary info to do it
correct. It should be not really a big change i guess but anyway. I let it
up to others to decide if it is a showstopper or not.

But how can we prevent you from rolling out 3.2 when it is not already final
and released? Either you change your broken or wrong extensions or we do the
changes back. You have to do it anyway in the near future whereas we have
double work. Sounds not really optimal ;-)


We really shouldn't argue this based on who has the most work because
of this change but based on what is the right thing to do in this
case. The fact of the matter is that multiple interfaces were removed
without advance notice. Sure, these interfaces may have been included
in error in the first place but since neither the wrong interfaces
nor the right way to do it were documented how could someone have
known that he used something that wasn't even supposed to be there? So
you can't really blame someone for using those interfaces. Okay, maybe
you CAN blame them for using _anything_ that isn't documented but in
this case that would have meant to just completely do without this
functionality which wasn't really a good option either.
i don't want to blame anybody but i wanted to raise more awareness. If 
an API is not documented (which should be fixed always) ask before you 
use it. That would prevent situations like this. Nobody should rely on 
the given implementation when it is not documented. If yes than they 
have to live with changes.


The users of our API can help a lot to improve APIs and the 
documentation by communicating their problems, their ideas etc. Don't 
hesitate to submit an issue. It's always a valuable contribution and 
don't take it personal if an issue/feature request won't be fixed.




So, removing the interfaces in general is fine, but not without giving
people ample time to react to this change and to learn how to do it
right. Just breaking their extensions/macros from one minor version to
the next isn't very nice.
i agree at least a note on interface-announce should have taken place. 
But the developer forget it and didn't thought about the relevance i guess




But yes, I'm biased because our extension is affected. You are right
that it's not such a big change, and I may have exaggerated a bit. But
you must understand that it's a bit of a shock when you realize that
some interfaces suddenly just disappear from OOo 3.1 to 3.2 without
any warning or explanation. It also has the effect that you begin to
wonder what else could have gone missing that maybe you didn't notice
in your test cases.
i agree again and yes we should try to improve the overall situation. We 
need also better tests. When we allow even incompatible changes in the 
future it should never happen without a clear communication and a well 
documented workaround.




Anyway, we now have an explanation what happened and we can do the
necessary changes. I still think it would be better to postpone the
removal of the interfaces to a later version, but if really noone else
has a problem with it I'm not going to argue any further.
as i mentioned before it's up to you to put it on or suggest it for the 
showstopper list on the relea...@openoffice.org list


Regards

Juergen




Regards,
Daniel

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




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



Re: [api-dev] Re: Missing interfaces in OOo 3.2: Why not a blocker?

2009-11-27 Thread Daniel B.
Hi,

On Thu, Nov 26, 2009 at 6:46 PM, Juergen Schmidt
juergen.schm...@sun.com wrote:
 Hi,

 if we can all agree i would suggest that we don't change the code back.

 The correct way will work with older versions of OOo as well and the code
 have to be changed in the near future anyway.

 What's your opinion? I can also live with Michaels suggestion to implement
 this interface until OOo 4.0 but it's probably easier and better to change
 the code now as later and potentially forget it.

Since our (and potentially a lot of other) extension breaks with this
change this is a major issue that prevents us from rolling out OOo
3.2. Reverting the change until OOo 4.0 would give us enough time to
update our extension and roll out the updated version. So I support
Michael's suggestion to re-implement the interfaces that are missing,
at least temporary, and document the change so that people are aware
of the issue and can adapt their macros/extensions.

Regards,
Daniel

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



Re: [api-dev] Re: Missing interfaces in OOo 3.2: Why not a blocker?

2009-11-27 Thread Juergen Schmidt

Daniel B. wrote:

Hi,

On Thu, Nov 26, 2009 at 6:46 PM, Juergen Schmidt
juergen.schm...@sun.com wrote:

Hi,

if we can all agree i would suggest that we don't change the code back.

The correct way will work with older versions of OOo as well and the code
have to be changed in the near future anyway.

What's your opinion? I can also live with Michaels suggestion to implement
this interface until OOo 4.0 but it's probably easier and better to change
the code now as later and potentially forget it.


Since our (and potentially a lot of other) extension breaks with this
change this is a major issue that prevents us from rolling out OOo
3.2. Reverting the change until OOo 4.0 would give us enough time to
update our extension and roll out the updated version. So I support
Michael's suggestion to re-implement the interfaces that are missing,
at least temporary, and document the change so that people are aware
of the issue and can adapt their macros/extensions.

until now you are the only one with this problem. How many places using 
this code do you have in your extension? We gave you the necessary info 
to do it correct. It should be not really a big change i guess but 
anyway. I let it up to others to decide if it is a showstopper or not.


But how can we prevent you from rolling out 3.2 when it is not already 
final and released? Either you change your broken or wrong extensions or 
we do the changes back. You have to do it anyway in the near future 
whereas we have double work. Sounds not really optimal ;-)


But don't get me wrong try to put it on the showstopper list.


Juergen

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



Re: [api-dev] Re: Missing interfaces in OOo 3.2: Why not a blocker?

2009-11-26 Thread Juergen Schmidt

Hi,

if we can all agree i would suggest that we don't change the code back.

The correct way will work with older versions of OOo as well and the 
code have to be changed in the near future anyway.


What's your opinion? I can also live with Michaels suggestion to 
implement this interface until OOo 4.0 but it's probably easier and 
better to change the code now as later and potentially forget it.


Juergen

Michael Stahl wrote:

On 26/11/2009 16:58, Ariel Constenla-Haile wrote:

Hello Jürgen, *

On Thursday 26 November 2009, 12:36, Juergen Schmidt wrote:

mmh, it seems that we have a classical problem where you have
implemented a macro based on a not documented implementation detail. But
the implementation gets cleaned up for 3.2.


yes, i removed the XTextField interface at the writer's SwXTextPortion
implementation because:
- it is documented nowhere
- it is only implemented in writer, not in svx/editengine
- there is the TextField property which gives access to the field of the
  portion
- the SwXTextPortion does not implement any interface of any other portion
  type (XFootnote...) except this XTextField
- the original implementer of SwXTextPortion claimed that this interface
  was probably included in error
- none of our regression tests broke


The problem is that the correct way is also not well documented :-(


indeed; i have just looked at the relevant parts of the dev. guide,
and it is not documented how to access the field of a TextPortion of type
TextField.


In this case it would be correct to check the TextPortionType and in
case of a text field ask for the property TextField. It should be
possible to ask for the property always and do the necessary checks...


yes, this is the proper way, and should work on all OOo versions.


I am not sure if we can or should mark this as a show stopper because it
was an implementation detail. And the clean up of the code makes sense
and we don't really want to change it back.


considering the lack of documentation, now i actually believe that this is
indeed an issue that should be fixed: if the proper way of doing something
is not documented, we cannot really complain that someone found a
non-proper way that happens to work. (which is why i'm not replying here
with an RTFM rant like i originally intended :) )

but in any case, undoing this change would only be temporary:
in the next major OOo release (4.0), this interface will definitely not be
supported.
that should give people plenty of time to adapt their macros and stuff.


Maybe the responsible developer can shed some light on this and give us
some more reasons for the change.

We have definitely to fix the documentation to reflect the correct way.


indeed. i can update the dev guide:
http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/Text/Iterating_over_Text

btw, is it possible to automatically generate lists of properties in the
dev guide from the IDL file?


To avoid such problems in the future it is probably a good idea to ask
here on this list first before you use an API that is not documented.
Often enough the documentation is simply missing or incomplete.

We should be careful with the available introspection tools. They
provide great help and are necessary but the user of these tools should
at least check the documentation too. This way we can improve the
documentation as well.
this issue has the same background as the one with the TextCursor properties 
http://www.openoffice.org/issues/show_bug.cgi?id=100798


For the TextPortion issue, on a DEV300_m65 the documentation seems corrected 
(though I didn't check every property) 
http://svn.services.openoffice.org/opengrok/xref/DEV300_m65/offapi/com/sun/star/text/TextPortion.idl#130


yes, i did that.
(but unfortunately not at the same time as the XTextField removal...)

IMHO common properties should be moved to the TextRange service (both a 
TextCursor and a TextPortion are TextRanges).


not necessarily: i think there are TextRanges which are neither
TextPortion nor TextCursor.

regards,
michael




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