Difference between revisions of "Uno/API Deprecation"

From Apache OpenOffice Wiki
< Uno
Jump to: navigation, search
(If/How to Deprecate/Change/Remove UNO API)
(If/How to Deprecate/Change/Remove UNO API)
Line 1: Line 1:
 
= If/How to Deprecate/Change/Remove UNO API =
 
= If/How to Deprecate/Change/Remove UNO API =
  
Discussion has been going on for years what to do with known-stale/badly designed/un-used UNO IDL types.
+
Discussion has been going on for years what to do with known-stale/badly designed/un-used UNO IDL types. Here's an attempt to collect some ideas.
  
 
Random ideas:
 
Random ideas:
* decide on rules when published types may be removed or changed
+
* decide on rules when published types may be removed or changed:
 
** number of clients in OOo
 
** number of clients in OOo
** (estimated) use outside OOo project (i.e. people that don't read interface-discuss)
+
** (estimated) use outside OOo project (i.e. people that don't read interface-announce)
 
** how "bad" is the API - i.e. if everybody agrees it plainly sucks, remove anyway despite points above
 
** how "bad" is the API - i.e. if everybody agrees it plainly sucks, remove anyway despite points above
 
* deprecate in one feature release (add a suitable warning mechanism when using such API)
 
* deprecate in one feature release (add a suitable warning mechanism when using such API)
 
* remove in the following feature release
 
* remove in the following feature release
* limit impact considerations on non-ABI-dependent UNO bindings (i.e. the assumption is that c++ components break randomly anyway for every other release, so they shouldn't block API changes)
+
* limit impact considerations to non-ABI-dependent UNO bindings (i.e. the assumption is that c++ components break randomly anyway for every other release, so they shouldn't block API changes)
  
== Kill list ==
+
== Kill file ==
  
 
List of problematic API that should be considered for deprecation/change/removal:
 
List of problematic API that should be considered for deprecation/change/removal:
 
* css::document::XDocumentInfo [[User:mst]]
 
* css::document::XDocumentInfo [[User:mst]]
 
* css::beans::StringPair - there's the generic beans::Pair<> type now [[User:thorsten]]
 
* css::beans::StringPair - there's the generic beans::Pair<> type now [[User:thorsten]]

Revision as of 17:58, 30 January 2009

If/How to Deprecate/Change/Remove UNO API

Discussion has been going on for years what to do with known-stale/badly designed/un-used UNO IDL types. Here's an attempt to collect some ideas.

Random ideas:

  • decide on rules when published types may be removed or changed:
    • number of clients in OOo
    • (estimated) use outside OOo project (i.e. people that don't read interface-announce)
    • how "bad" is the API - i.e. if everybody agrees it plainly sucks, remove anyway despite points above
  • deprecate in one feature release (add a suitable warning mechanism when using such API)
  • remove in the following feature release
  • limit impact considerations to non-ABI-dependent UNO bindings (i.e. the assumption is that c++ components break randomly anyway for every other release, so they shouldn't block API changes)

Kill file

List of problematic API that should be considered for deprecation/change/removal:

  • css::document::XDocumentInfo User:mst
  • css::beans::StringPair - there's the generic beans::Pair<> type now User:thorsten
Personal tools