Open letter for Client API specification.

Hi all,

I'd like a moment of your time to consider some issues I've been bumping into lately, the difference between the current clients available for OpenERP.
Some of you might not have bumped into serious issues when you are coding for either the web- or GTK client alone but there are actually quite a few differences in the implementation of these clients.

I've just recently addressed one such difference with OpenERP SA and would like to take this opportunity to show why exactly the community needs a fixed API specification.

Here's a link to a video showing exactly how the client behavior differs today in 6.1 series in a (although harmless) but decisively different manner.
http://www.youtube.com/watch?v=bEGe_3HdXIc&hd=1

I've also isolated this problem with a small module which is available for download here: (OpenERP 6.1 required)
http://ubuntuone.com/5UZxt8VF4XQOYmmjPBnXbH

The technical issue (in a nutshell) is this:
Do we expect the client to call the on_change event for every field that was changed?
(a) by the user
(b) by the return value from another on_change function called

Currently in 6.1 the web-client does both (a) and (b) cases. The GTK client however only does this for the (a) case.

The point I'm trying to make here is that this behavior is currently unspecified and not conclusively specified anywhere and is something we should address as remote interaction with OpenERP will become an ever increasing important part if OpenERP wishes to profile itself as a modern day software component able to be extended and remotely controlled by one uniform API.

Hoping to start a productive discussion,
Niels Huylebroeck

Please note, this is a copy of the mail sent to the openerp-expert-framework mailing list, please join the discussion there