On 1/25/13 12:44 AM, Andrea Pescetti wrote:
> Rob Weir wrote:
>> I also like the idea of marking a function as deprecated, maybe even
>> supporting the new and old together for a release, to give time for
>> transition.
> 
> If at all feasible, I would be for this. Ideally, we should be able to
> install a legacy extension by: recognizing it's using legacy APIs or
> conventions; displaying a warning; running it anyway, trying to be as
> compatible as possible.

this would be indeed nice and if easy possible we would probably do
that. But the reality is that we don't have the resources to spent
enough time on this.

We have as deprecated marked API's and I am sure that people will still
use it. These API's are probably deprecated since > 3-4 versions and we
should be save to remove them. But I am sure people would complain about
it if there macro, solution won't run anymore.

We discussed incompatible changes probably 2 years ago and all people
participated in this discussion agreed on incompatible changes in a
major release. We agreed also that incompatible changes are allowed only
if a migration path is available and clearly documented.

For example merging interface XMyInterface, XMyInterface2, XMyInterface3
should be straight forward for Basic developers because the binding hide
the interface hierarchy anyway. For Java/C++ developers it means minor
code changes (removing the pseudo version number) and recompiling the code.

Other changes require potentially bigger changes but if they are well
documented it should be also possible with moderate effort.

It is really a tightrope walk to find the right balance but I believe
that we have to look forward and should improve things.

The API is of course not easy and far to complex and it is a shame that
we didn't put more effort in the past into better and well designed
API's. The overall idea of having one API for internal usage as well as
external (extensions, macros etc. from different languages) is of course
a good one. But is not complete and some things are still missing.

For some things it would be probably good to have some additional high
level API's with good defaults that cover 80% of all use cases (this is
for example the big plus of VBA).

A much better tooling like the NetBeans plugin that simplifies the
development a lot. Bernards XRay tool or the idea of the
InstanceInspector .... A more powerful Basic IDE or an
integrated/bundled power IDE for Python would be also nice. Some core
work and API's for such integration is available but the developers who
are interested to help here are missing.

Eclipse which is probably more popular as NetBeans lacks of support for
OO development at the moment. I see there good opportunities but we need
help to work on such things.


> 
> Then of course I don't know how much of this is realistically
> feasible... but Hans is right, the ecosystem is extremely important and
> even unsupported extensions can have a high value for end users (while
> from a technical point of view it's hard to disagree with Juergen and
> Ariel).

The eco system is of course important but it is also important that we
work together. With a little more effort developers can help to improve
the user experience and can use version dependencies to ensure that
extensions work with the latest office. The auto update mechanism should
help to easy provide new tested versions after an office upgrade.

We have potentially detail problems here but this can and should be
fixed. I am nowadays a big friend of min/max dependencies because that
gave me the opportunity to satisfy my customers with always working
extensions.

There is probably no 100% correct way but I am for innovation and making
things better over time.

The key element for me with all this changes is a clear and well
documented migration path.

Juergen










> 
> Regards,
>   Andrea.

Reply via email to