Manage Your Consulting Business

Funambol SyncML setup

  1. Note about usernames with Funambol
  2. Installation instructions
  3. Setting up the synchronization sources
  4. Principal synchronization
  5. Setting up OpenPSA authentication
  6. Client configuration

OpenPsa uses the Funambol SyncML server for synchronizing calendar and contact data with mobile devices.

Jump to client configuration

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.sh script to allow both stopping and starting the server
    • Change the ./catalina start row to ./catalina $*
  • Get OpenPsa connector file sync4j-openpsa-connector-1.0.s4j and copy it to server/modules
    • In case you don't have a binary handy, use maven s4j to compile it from the CVS source.
  • Edit the install.properties file within the Sync4J directory (server/install.properties)
    • add sync4j-openpsa-connector-1.0 to the modules-to-install list
    • 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
  • Stop the server that was started during installation (run bin/sync4j-tomcat.sh stop in BUNDLE_HOME/server)
  • In BUNDLE_HOME/server (you must be there) run bin/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_source table in the sync4j database
    • DELETE 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.xml and CalendarSyncSource.xml XML configuration files from the connector distribution to BUNDLE_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.jar file in BUNDLE_HOME/server/lib/
  • Copy the OpenPSAOfficer.xml XML configuration file from the connector distribution to BUNDLE_HOME/server/config/org/openpsa/sync4j
  • Edit the configuration file to set the correct OpenPSA database configuration parameters
  • Change the officer property in BUNDLE_HOME/server/config/Sync4j.xml to org/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/sync and the server databases are cal for the calendar and card for 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@sitegroup where username is your normal OpenPSA username and sitegroup is 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)
Tagged
syncml
sync4j
funambol
OpenPsa is a web-based management suite for consultancies. It has been developed by Nemein and is available under a Free Software license.