openerp-expert-framework team mailing list archive
-
openerp-expert-framework team
-
Mailing list archive
-
Message #00571
RFC Using the new web client as a set openerp-server module
We are currently wsgifying the openerp-server:
https://code.launchpad.net/~openerp-dev/openobject-server/trunk-xmlrpc-vmt/+merge/71827
Openerp-server only listen to 8069 and any module is able to map a an url to
it's own wsgi handler. /openerp is a reserved namespace and the following
routes is setup by default.
/openerp/jsonrpc -> jsonrpc api dispacher
/openerp/xmlrpc -> xmlrpc api dispacher
For example the webdav module will register to route:
/webdav -> webdav wsgi handler
The trunk webclient is currently using cherrypy as http server, http request
object and http session object, we plan to switch to werkzeug (branch to
merge). The file openerp-web.py simply setup a cherrpy http server and
dispatch request to the 'base' web module (i plan to rename base* into web*).
http://bazaar.launchpad.net/~openerp/openerp-web/trunk/view/head:/openerp-web.py
Once the openerp-server is wsgi ready we could put the webmodules in
addons-path and have the 'base' web module register a wildcard route
/ -> web handler
In this mode the rpc communication between the web client and openerp server
is replaced by direct function calls. See the files backendrpc.py vs.
backendlocal.py here:
http://bazaar.launchpad.net/~openerp/openerp-web/trunk/files/head:/addons/base/common/
The advantages are:
- speed rpc replace by function calls
- no more downloading modules from openerp-server as zip file into web addons
(something i really dislike), the 'web' module scans for other addons in
addons-path.
- in multiprocessing mode workers are managed by the same dispatcher as the
regular openerp-server worker
- there is only one openerp-server. it's an http server. no more confusing
name like 'web client'.
Of course the standalone mode is still available, so it's the best of both world.
Any feedback ?
Antony Lesuisse
Follow ups