Funambol SyncML setup
- Note about usernames with Funambol
- Installation instructions
- Setting up the synchronization sources
- Principal synchronization
- Setting up OpenPSA authentication
- Client configuration
OpenPsa uses the Funambol SyncML server for synchronizing calendar and contact data with mobile devices.
Note about usernames with Funambol
If you wish to use Funambol your usernames must not contain the @-character, and when concatenated with the sitegroup name they must be shorter than 32 characters (so keep usernames and sitegroup names in sensible lenghts).
Installation instructions
- Download the stable Funambol server bundle (version 2.3, including Tomcat)
- Install the server bundle by running the downloaded installer
- Edit the
BUNDLE_HOME/server/bin/sync4j-tomcat.shscript to allow both stopping and starting the server- Change the
./catalina startrow to./catalina $*
- Change the
- Get OpenPsa connector file
sync4j-openpsa-connector-1.0.s4jand copy it toserver/modules- In case you don't have a binary handy, use
maven s4jto compile it from the CVS source.
- In case you don't have a binary handy, use
- Edit the install.properties file within the Sync4J directory (
server/install.properties)- add
sync4j-openpsa-connector-1.0to themodules-to-installlist - configure the sync4j database (the OpenPSA connector supports only MySQL)
- For MySQL 4.1 (available for Debian stable at dotdeb.org)
- Change the dbms line to mysql
- Uncomment the mysql lines
- Edit to fit, pay special attention to the path of the MySQL JDBC connector JAR
- comment out the hypersonic jdbc lines near end of file, leave user and password which should be filled with the username and password to be used with the MySQL db of your choice
- Create the MySQL database and grant the user full privileges.
- edit the server-name property
- add
- Stop the server that was started during installation (run
bin/sync4j-tomcat.sh stopinBUNDLE_HOME/server) - In
BUNDLE_HOME/server(you must be there) runbin/install.sh tomcat- Note that this will overwrite any existing configuration, make a backup copy if needed
- Start server again (run
bin/sync4j-tomcat.sh start, try restarting again if there are problems) - Use the Sync4j Admin tool (you can use it to connect to remote server as well no need to be on local console) to verify the OpenPSA module is loaded.
Setting up the synchronization sources
- To avoid any complications, clear the
sync4j_sync_sourcetable in thesync4jdatabaseDELETE FROM sync4j_sync_source
- Add rows for the OpenPSA contact and calendar synchronization sources
INSERT INTO sync4j_sync_source (uri, config, name, sourcetype) VALUES ('card', 'org/openpsa/sync4j/ContactSyncSource.xml', 'contact', 'openpsa-contact')INSERT INTO sync4j_sync_source (uri, config, name, sourcetype) VALUES ('cal', 'org/openpsa/sync4j/CalendarSyncSource.xml', 'calendar', 'openpsa-calendar')
- Copy the
ContactSyncSource.xmlandCalendarSyncSource.xmlXML configuration files from the connector distribution toBUNDLE_HOME/server/config/org/openpsa/sync4j/ - Edit the configuration files to set the correct OpenPSA database configuration parameters
- Restart the server
Principal synchronization
The Funambol Sync4J server requires that all user accounts used for synchronization are entered into the sync4j database and linked to a client profile. Thus the OpenPSA user accounts need to be copied to the sync4j database to enable the SyncML feature for the users. The sync4j-openpsa-principals.pl script included in the connector release (folder addons/funambol/src/unix/) can be used to automatically copy the OpenPSA user accounts to the sync4j database. Enter the database connection parameters in the configuration variables located at the beginning of the script and configure cron to run the script periodically to keep the user accounts up to date.
Setting up OpenPSA authentication
The principal synchronization script only copies the user accounts but not the authentication passwords from OpenPSA to the Funambol database. You can either set custom passwords for the users in the Funambol database, or configure the OpenPSAOfficer component to use OpenPSA authentication. Note that the OpenPSAOfficer component only supports native Midgard authentication, not NTLM or PAM.
- Place the
sync4j-openpsa-connector-1.0.jarfile inBUNDLE_HOME/server/lib/ - Copy the
OpenPSAOfficer.xmlXML configuration file from the connector distribution toBUNDLE_HOME/server/config/org/openpsa/sync4j - Edit the configuration file to set the correct OpenPSA database configuration parameters
- Change the
officerproperty inBUNDLE_HOME/server/config/Sync4j.xmltoorg/openpsa/sync4j/OpenPSAOfficer.xml - Restart the server
Client configuration
- You can configure a mobile phone or a desktop PIM client to synchronize itself with OpenPSA through the SyncML server.
- Many recent phones have built-in SyncMML support, and you can download client plug-ins for clients like Outlook and Mozilla.
- The server address is normally
http://example.com:8080/sync4j/syncand the server databases arecalfor the calendar andcardfor contacts.- Note that some clients (Nokia Communicator for example) require the port to be specified separately and it must not be specified as part of the URL (this will lead to error in resolving the name of the server and in some cases these errors are incorrectly reported as invalid user/password). So examine your client manual on the correct way to specify URLs with ports and experiment with various combinations of specifying the port only in url, both url and separate field etc.
- The username is
username@sitegroupwhereusernameis your normal OpenPSA username andsitegroupis the name of the Midgard sitegroup that contains your OpenPSA instance. - The password is your normal OpenPSA password (or a password provided to you by the server administrator)
