This module is based on the socket.io real time implementation. It inherit Of the modules web_longpolling and web_socketio on bitbucket.
How Install the module web_im
Make your Nginx/Apache conf
example conf for nginx:
worker_processes 1; events { worker_connections 1024; } http { server { listen 80; server_name www.myopenerp.fr; location /socket.io { proxy_pass http://127.0.0.1:8068; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; proxy_redirect off; } location / { proxy_pass http://127.0.0.1:8069; } } }
/etc/hosts:
127.0.0.1 www.myopenerp.fr
the port:
8069: the OpenERP server 8068: the SocketIO server
/socketio is the default path to dispatch the poll
With buildout
Example of buildout configuration:
[buildout] parts = openerp versions = versions extensions = gp.vcsdevelop vcs-extend-develop = git+http://github.com/buildout/buildout.git#egg=zc.buildout vcs-update = true develop = web_socketio/oe_web_socketio [openerp] recipe = anybox.recipe.openerp[bzr]:server version = bzr lp:openobject-server/7.0 openerp-server last:1 addons = bzr lp:openobject-addons/7.0 openerp-addons last:1 bzr lp:openerp-web/7.0 openerp-web last:1 subdir=addons hg http://bitbucket.org/anybox/web_socketio web_socketio default hg http://bitbucket.org/anybox/web_im web_im default eggs = oe.web.socketio openerp_scripts = nosetests=nosetests command-line-options=-d oe_web_socketio=oe_web_socketio [versions] lxml = 2.3.3 docutils = 0.9 collective.recipe.sphinxbuilder = 0.7.3 pyparsing = 1.5.6 Werkzeug = 0.8.3
Build the buildout:
bin/buildout -c buildout.cfg
Run the OpenERP server in the first shell:
bin/start_openerp -d mydb -i web_im
Run the Gevent SocketIO server in the second shell:
./bin/oe_web_socketio -d mydb
Without buildout
You must get the modules web_socketio, web_longpolling and web_im:
hg clone http://bitbucket.org/anybox/web_socketio hg clone http://bitbucket.org/anybox/web_im
Install the python eggs needed for gevent_socketio:
pip install gevent pip install gevent_psycopg2 pip install gevent_socketio
Run the OpenERP server in the first shell:
oe -d mydb -i web_im
Run the Gevent SocketIO server in the second shell:
python web_socketio/web_socketio/server.py -d mydb
Configuration
In the web client the Instant Massaging is loaded only if the user is connected and this user has got a IM user linked.
By administrator
Only the administrator can add new IM user. You can configure IM user in Instant Messaging/Setting/Users`. Filled the name and the user linked.
In the consiguration of the user, in the page Instant Messaging of the notebook. You can configure the advanced configuration for this user:
-
Group of Instant Messaging: The IM group for the IM user, If no group are selected then the user will have the No group group
- Display the other Instant Messaging user (default ALL):
-
- All: All the user are display in the user list
- Ònly connected: Display the connected or busy user.
- Filter (default None): Apply a domain to filter the user in user list
-
- None: See all the user
- User List: Selected the user to see
- List of user groups: See all the user come from the selected res.groups
- List from Instant Messaging groups: Sell all the user come from the selected im.group
- Custom configuration: Need to write a function which return a domain on im.user
The administrator can also create new IM group in Instant Messaging/Setting/Groups.
By user
TODO
Web client interface
Connectio state
TODO
Users list
TODO
Rooms
TODO
ROADMAP
Version: 0.1
- Add documentation to configure and use web_im
Version: 0.2
Refactor the user list:
-
Sort the user by connection state
-
Add an icon to show the state of the connection of the user list
-
let the color of the user in black
-
replace the select html by ul and li node
-
move the advanced configuration from res.user to im.user
-
add image on im.user, if not filled then take on the res.users
- Make 2 view for the im.user
-
- Complete: only state is readonly
- user own configuration: Can change only the name and the image
Update the documentation
Version: 0.3
Add multichater room notion
Update the documentation
Version: 0.4
- Add action bar on the user in user's list and room menu
- Add action webcan, use the webcam module which already exist
Update the documentation