Projects:User Data Synchronisation/Functional Specification
User Data Synchronisation project aims to add a project to synchronise data from Openbravo using the Funambol synchronisation server. And then write documentation on how to synchronise the data (email, tasks, contacts, etc...) from one user with his communication devices or his accounts.
This project will require to add the client funambol library. It needs the development of various functions to get the emails, tasks, events, notes and contacts descriptions from the current user, generate the funambol objects (vcard and sift objects) and send them to the funambol server. It needs also various functions to get the emails, tasks, events, notes and contacts descriptions from the funambol server, and register them in the openbravo ERP server.
It will require to create a new tab in User options window with three fields, five check buttons and one button.
- one field for username, one field for password on the funambol server and one field to now the periodicity of the synchronisation
- five check buttons to activate each synchronisation type (email, task, event, note, contact)
- one field to start the synchronisation with the funambol server
No existing functionality of Openbravo ERP will be modified.
This project depends on the Funambol project
In this document I call a device, whatever type of object with which we can do a synchronisation of data (Laptop, iphone, outloock, gmail, google calendar, mozilla thunderbird, etc...)
User roles & profiles
Today user have an intense use of devices to register their contacts, events, email. They are wasting a lot of time to get all their devices data synchronised. The use of a synchronisation server like funambol allow them to save it.
Business process definition
- Synchronisation from device to openbravo ERP server
- Synchronisation from openbravo ERP server to device
- User synchronise its device with the openbravo server and knows he has a meeting tomorrow with a client.
- Next day user goes to the meeting and learn their is a new business partner on the client side.
- User registers the phone and the mail of this new business partner in his device.
- Back to the office, User synchronise its device with openbravo and all the company knows their is a new business partner in the relation with the client.
Functional requirements based on business processes
To achieve the desired functionalities the following elements need to be added.
|1.1|| Create a new tab in User options called 'Funambol Sync' with the fields
||Must have||To be done|
|1.2||Functions to use Funambol library and synchronises the different objects between Openbravo and Funambol server. This functions must be a periodic background process||Must have||To be done|
|1.3||Documentation on how to install and use Funambol server.||Must have||To be done|
User Interface Mockups
Application Dictionary elements as well as all type of files involved in Model - View - Controller (MVC) stucture (*.html, *.xml, *.java and *.xsql files) will have to be created. Besides, communication functions using funambol API will also be created.
Creation of documentation to know how to install and use funambol server with other devices
Open Discussion Items
- IMHO, it would be clearer having a new window to synchronize devices and not use the User Options - Session Options window. I would create a new one called "User Data Synchronization" or "Funambol Synch". I agree, I should create a new session options window.
- The Synchronize button makes both synchronizations (Dev-Ob, Ob-Dev) at the same time or it should need both buttons? Yes the synchronise button makes both synchronizations at the same time.
- I need to upload a document to specify the mapping between an Openbravo contact, task, notes,... object and the vcard, sift field.
- I would like also to have the way to configure this synchronization as a task, and to be able to do it periodically without user interaction. What do you think? This could be done easily as a Periodic background process (like any of the existing periodic background processes).
- Synchronise (more British) or Synchronize? Take into account that base language for Openbravo ERP's design is en_US.