This is not a step-by-step guide and it makes many assumptions about your environment and requirements. It will, however, give you an idea of the basic steps required to set up a Funambol/sync4j server and use it with Outlook and Blackberry devices. My experience is that it plays well with the Scalix Outlook plugin.
I originally posted this how-to at the Blackberry Forums:
Originally posted by Cameron Clark (cdclark on Scalix forums, Camarones on Blackberryforums.com)
Funambol Installation Guide
This is by no means definitive, but since there have been so many requests for a tutorial I'm going to go over the basic installation steps and do a brain dump of anything else that comes to mind. I would say to read the manual, but the manuals don't really help! However, the client software usually does have a manual available, so read over those!
First of all you need to select and download and install the following:
- Funambol or Sync4j server (Windows and unix versions available)
- Funambol or Sync4j Outlook client
- Funambol or Sync4j device (Blackberry?) client
You are on your own to select the server version based on the requirements of your environment. I chose to use the Windows server because all my linux machines already have web application servers running on :8080
Now that you have the 3 software components, you need to perform some infrastructure tasks to make sure each client can contact the server.
A couple of notes: You'll probably have to modify your firewall to enable Internet clients to access TCP port 8080 on the machine you installed the Funambol Server on. This is how the clients will connect to sync. You might have to update your DNS host to make the Funambol server available by name from the Internet (if you care to do so). I made sync.mycompany.com point to my firewall, which then redirects to the internal host.
Lets get started... Launch (start) the Funambol server (in Windows, there is a status icon on the taskbar to indicate its running state).
- From the start menu open up the Administration Tool. It is here that you'll need to set up the user accounts, and associations with devices, that will enable syncing.
- Double-click on Funambol Administration Tool to open the Login window. I think it will default to the local machine's name and port 8080, so enter check to make sure that is correct and click Login. Now you will see an item in the tree representing your Funambol Server.
- Click on the + to expand your server's item, and double click on Server Settings
- Look for the Server URI value. It may be incomplete or missing. This is the URL by which clients will contact the server, and serves as a root (base folder) of operations. Funambol expects clients to connect to a URL in the form of: http://sync.yourcompany.com:8080/funambol/ds so you'll need to enter you server's IP or hostname in place of “sync.yourcompany.com”.
- Double Click on the Users item. Add a user for testing (fill in username, password, and select type User)
- Double Click on Devices. For now, you won't need to add a device, because both of the clients you will be using (assuming you're syncing Outlook with a Blackberry) already has devices defined in the default Funambol server.
- Double Click on Principals. Principals are configuration objects that associate usernames or devices with sync clients. This way you must define a potential sync scenario to enable a user to use a particular client type.
- Click on Add. You will see two sets of blank fields. Click on both Search buttons. Select the username you added earlier in the box on the left, and select sc-outlook-pim in the box the right, then click Add Principal. This will enable the username to connect using the Outlook client. Repeat the task for the sc-pim-blackberry and syncml-phone devices.
- Go back to the Principals section again and click search, you should now see listed the default “guest” principals and three new principals for your username.
At this point you've basically done all you need to on the server to enable a single client to connect via Outlook, sync4j Blackberry client, and generic syncml-phone (which is how the Funambol Blackberry client identifies itself to the server!). You're ready to configure the clients and test.
The Outlook client configuration is pretty basic.
- Look for a Funambol or Sync4j item on the Outlook menu bar.
- Go to Communication Settings and enter the full URL for the server (again it will be something like http://sync.yourcompany.com:8080/funambol/ds). Enter your username and password
- Go to Syncronization Settings and select the PIM items you wish to sync with the server. I chose them all. Now, stop for a moment and get ready for some disappointment. Not all clients support all PIM items.
- Click on Synchronize on the main menu. If it reports errors, view the error log through Help --> View Logs. That should provide you some insight as to why it didn't work.
Now for the Blackberry client...
- Use the Blackberry Desktop Manager to install the Blackberry Client.
- Configure the Blackberry client in the same way as the Outlook client, providing the server URL and selecting the PIM items you want to sync. What, you want to sync more than just Contacts? Sorry!
- Ensure that you have set the APN in your Blackberry's TCP configuration screen. This varies by carrier. For T-Mobile US its “wap.voicestream.com”.
- Save your settings and attempt to sync. If its going to be successful it will take a while to sync the first time, so be patient. You'll see the upload/download activity arrows in the upper right of your BB screen.
If it fails you must rely on the SERVER's error log to troubleshoot because you can't view the BB client's log.
That's about it. I tried to include pointers around all the minor issues that hung me up for a while. I spent hours examining the server logs to determine what needed to change, tweaking settings, and testing again in order to make it all work, so I hope this helps!
A further note about client software...
I should note that I've been testing some other clients as well. I've tried the following BB-specific clients so far, all with some success:
- Sync4j 1.1.5 (syncs Calendar and Contacts)
- Sync4j 1.2.4 (syncs Contacts)
- Funambol 3.0.0 (Syncs Contacts + email (haven't tried the mail part)
- SyncJe-BB (Syncs Contacts, Calendar and Tasks (I haven't gotten the task part to work yet but I just started trying yesterday) 15-day trial
SyncJe-BB is a commercial, generic syncML client for Blackberry. It appears to have much promise, as it supports "any SyncML server," which includes Funambol.