O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Funambol Mobile Open Source

Book Description

Sync your email and other data with mobile devices using Funambol 7.1

About This Book

  • Provide push email capabilities and synchronization services for mobile devices and PC software using Funambol
  • Develop your own Funambol extensions
  • Many examples explaining all functionalities provided by the Funambol platform
  • An easy reading for system administrators and developers who want to keep in sync enterprise data

Who this book is for

If you are looking forward to install and get started with Funambol, this book is for you. You need to have a technical background and be confident with a bit of code tweaking, but not a developer.

General server administration skills are assumed and familiarity with Java will be a benefit in places.

What You Will Learn

  • Install the server on both Linux and Windows environment, and learn how to start/stop Funambol services
  • Sync your data with other devices and get notified of new emails or other personal data changes
  • Start synchronization automatically to receive changes made with another application or device using push synchronization
  • Connect to the Data Synchronization Service using Funambol administration tool
  • Synchronize all different devices with a central PIM database and email system using the different push mechanisms
  • Access a database on a separate machine instead of the local database by configuring Funambol
  • Restrict access to specific users, add new users, and track registered users using the Funambol Administration Tool
  • Set up and start the PIM Connector and PIM Listener Service, and learn how it works in a complex scenario using a Windows Mobile phone
  • Develop a custom connector to access an external data source by following a simple tutorial-styled example

In Detail

Funambol is a free and open source mobile synchronization server that provides push email, address book and calendar (PIM) data synchronization, and device management for wireless devices. Are you looking to sync your email and other data with mobile devices for easy access? This book will show you how to do that via the Internet cloud.

With the help of this complete, practical guide you will learn how to access your email, calendar, contacts, important notes a lot more easily and quickly using Funambol. You will be able to sync a large number of online applications with your mobile devices. You will also be able to develop, deploy, and manage any mobile project.

This book will show you how to provide a full-featured PIM synchronization and push email service with Funambol.

You will start by installing Funambol on a personal computer, and then move on to acquire detailed information on the Funambol architecture and the network requirements for deploying it. You will cover several components of Funambol such as Data Synchronization Server, Device Management, Client Plugins, and more.

As you reach the end of the book, you will delve deeper to explore the wide range of possibilities of the Funambol platform beyond the immediate needs of personal data synchronization and mobile email. The book is also a great starting point for anyone who aims to extend Funambol. This book was targeted at version 7.1 of Funambol, but is also applicable to version 8.

Style and approach

The book is composed of two parts. The first part will take you through the steps required to fully understand and deploy Funambol to provide PIM synchronization and push email solution to your mobile users. This is done step-by-step, starting from a simple personal usage scenario to a more complex environment that must serve thousands of users. All components of the platform are smoothly introduced and explained, starting from the functionality they provide. The second part of the book is more informative and will assist you in building Funambol extensions. In particular, it contains an easy-to-follow tutorial that will allow you to write a Funambol connector in a few easy steps.

Downloading the example code for this book You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

Table of Contents

  1. Funambol Mobile Open Source
  2. Credits
  3. About the Author
  4. Acknowledgement
  5. About the Reviewer
  6. Preface
    1. Structure of the book
    2. What this book covers
      1. PART 1— Deploying Funambol
      2. PART 2— Extending Funambol
    3. What you need for this book
    4. Who this book is for
    5. Conventions
    6. Reader feedback
    7. Customer support
      1. Errata
      2. Piracy
      3. Questions
  7. I. Deploying Funambol
    1. 1. The First Sync
      1. Overview
      2. Working with Maria's personal computer
        1. Minimum system requirements
        2. Obtaining and installing the Funambol Server package
          1. Preparing the e-mail client
          2. Preparing the computer for Internet access
      3. Preparing the mobile phone
      4. Completing the first synchronization
      5. Installing Funambol on Linux
        1. Verifying the Funambol Server startup
      6. Summary
    2. 2. Deploying Funambol
      1. Funambol architecture
        1. Device
        2. Funambol Server
          1. Data Synchronization Service
          2. E-mail Connector
          3. Inbox Listener Service
          4. PIM Connector
          5. PIM Listener Service
          6. Push Connection Service
        3. Web Load Balancer
        4. IP load balancer
        5. Database
        6. E-mail Provider
      2. Funambol push
        1. Server-to-client push
        2. Connection-less push
        3. Connection-oriented push
        4. Life cycle of a push notification
      3. Summary
    3. 3. Mastering Data Synchronization
      1. Starting and stopping the Data Synchronization Server
      2. General server settings using the Funambol Administration Tool
        1. Server settings
          1. Server capabilities
          2. Engine settings
      3. Logging
        1. Logger settings
        2. Logging the activity of a single user
        3. Appenders
            1. Log entry pattern
        4. Logging configuration examples
          1. Using daily rotating log
          2. Changing the location of log files
          3. Changing the log entry pattern
      4. Using a remote database
        1. Working with the database
          1. Creating and initializing a PostgreSQL database
          2. Creating and initializing a MySQL database
          3. Configuring Funambol to use the remote database
      5. Changing the administrator user's password
      6. Using an Apache frontend
      7. Funambol over HTTPS
      8. Funambol configuration concepts
        1. Configuration path
        2. Funambol.xml
      9. Summary
    4. 4. Administrating Users and Devices
      1. Users, devices, and principals
      2. Auto and manual provisioning
        1. Auto users provisioning
        2. Manual user provisioning
        3. Adding a new user
      3. Other administration tasks
        1. Searching users, devices, and principals
        2. Deleting users, devices, and principals
        3. Inspecting device capabilities
      4. Summary
    5. 5. Funambol E-mail
      1. E-mail Connector
      2. Setting up Funambol mobile e-mail
        1. E-mail Provider
        2. Funambol authentication with e-mail
        3. E-mail account setup
      3. Inbox Listener Service
        1. Inbox Listener Service Configuration
        2. Inbox Listener troubleshooting
      4. Mobile e-mail at work
        1. Mobile e-mail client configuration
      5. Improving Funambol e-mail authentication
        1. Detecting authentication problems
          1. Successful authentication
          2. Funambol authentication failure
          3. E-mail provider authentication failure
      6. Summary
    6. 6. Funambol PIM Data Push
      1. The PIM connector
      2. The PIM Listener Service
      3. PIM push at work
      4. What if connection-less push is impossible
        1. Push Connection Service configuration
        2. Verifying push activity
      5. Summary
    7. 7. Synchronizing Devices and Desktops
      1. Mark: Outlook and BlackBerry sync clients
        1. Funambol Outlook Sync Client
        2. Funambol BlackBerry clients
          1. Funambol BlackBerry Sync Client
          2. Funambol BlackBerry E-mail Client
      2. Andrew: Outlook and a Java phone
      3. Sonia: MacOS and a SyncML phone
        1. E-mail on the Nokia E61
      4. Brian: MacOS and iPhone
      5. Summary
    8. 8. Making the Most of Funambol: Community and its Projects
      1. Integrating Funambol and SugarCRM
        1. Installation and configuration
          1. SugarCRM Community Edition installation
          2. SugarCRM Funambol Connector installation and configuration
        2. PIM synchronization
      2. The Funambol community
        1. Funambol Forge
          1. Software download
          2. Getting help
          3. Participate
          4. As a member of the community, Funambol:
          5. Users and members of the open source community
          6. News and information
          7. Personal workspace
          8. Projects
        2. Funambol community programs
          1. Code Sniper
          2. Lion Sniper
          3. Phone Sniper
      3. Funambol license
      4. Summary
  8. II. Extending Funambol
    1. 9. Introduction to SyncML
      1. The SyncML initiative
      2. The SyncML protocol
        1. SyncML client and server
        2. Synchronization modes
        3. SyncML basics
          1. Sync anchors
          2. ID mapping
          3. Conflicts
          4. Security
          5. Addressing
          6. Device capabilities
        4. SyncML synchronization
          1. A Synchronization example
      3. SyncML device management
        1. OMA DM protocol
          1. Transaction 1: Alert phase
          2. Transaction 2: Setup phase (from client)
          3. Transaction 3: Setup phase (from server)
          4. Transactions 4 and 5: Device management
        2. Device management tree
          1. The device management node ./DevInfo
          2. Device management commands
        3. Funambol Device Management server
      4. Summary
    2. 10. Extending the Funambol Data Synchronization Service
      1. Funambol development
        1. Data synchronization
          1. ID handling
          2. Change detection
          3. Modification exchange
          4. Conflict detection
          5. Conflict resolution
          6. Synchronization modes: Full or fast
      2. Extending Funambol
        1. Building a Funambol module
        2. Modules, connectors, listeners, and SyncSource types
          1. Registering modules, connectors, and SyncSource types
      3. Getting started on connector development
        1. Getting started
        2. Overview
        3. Create the connector project
          1. MyMergeableSyncSource type
          2. MySynclet
          3. MySyncSourceAdminPanel
        4. Creating and installing the connector package
        5. Creating a SyncSource
        6. Testing the connector
        7. Debugging
      4. Summary