Kontact/Kontact Palm Pre Sync

    From KDE UserBase Wiki

    How to sync your Palm Pre with Kontact and Google Calendar

    I've setup my system so I can enter a calendar event in any of the following places and the event gets sync'ed to all three calendars:

    • The Palm Pre device
    • A calendar in Kontact
    • My Google Calendar


    My current setup auto-sync's between my Google Calendar and my Kontact Calendar every 5 minutes. To sync the Palm Pre device I need to go to the calendar, choose Preferences & Accounts from the Calendar menu at the top/left of the screen scroll to the bottom and tap the Sync Now button. Once I do a manual sync from the device any Calendar events I added on the device show up on my Google calendar immediately and on my Kontact Calendar within 5 minutes. So far it's been flawless.


    Credit Due to the original author(s)

    All of my information originally came from an article on soft.zoneo.net, so in order to credit the real author, here's the original page I followed to set this up.


    http://soft.zoneo.net/Linux/ggcal_and_kontact.php


    I've tweaked the settings below only per my installation details


    Here's how:

    1) Make sure you have a Google Calendar account (and make sure it works). Mine is tied to my own email/domain so it doesn't mean you have to have a gmail.com account


    2) Download the GCALDaemon from Source Forge


    3) Unzip the gcaldaemon-linux-* file


    4) Move the new GCALDaemon directory to /usr/local (or a similarly appropriate place)


    5) Change permissions so an ordinary user has rights to read/write to the GCALDaemon directory and all sub-directories/files. The normal user MUST be able to create new files in /usr/local/GCALDaemon


    6) Generate an encoded password string Open a terminal (as the user who runs Kontact) and execute this:

    cd /usr/local/GCALDaemon/bin
     ./password-encoder.sh


    Enter your Google password and copy the encoded password from the output. If you get an error message, there is a problem with your permissions.


    7) copy your Google Private URL (ICAL)

    • Go to your Google Calendar
    • Click the arrow/pulldown icon to the right of the calendar you want to use listed in the My Calendars box on the left side of the page and choose Calendar Settings
    • Click on the ICAL icon in the Private Address section
    • Copy the link shown


    8) Configure GCALD

    • Edit /usr/local/GCALDaemon/conf/gcal-daemon.cfg
    vi /usr/local/GCALDaemon/conf/gcal-daemon.cfg
    • Change the following lines as shown:


    http.enabled=false 
    # Enable iCalendar file listener/synchronizer file.enabled=true
    # Full path of the local iCalendar file file.ical.path=/usr/local/GCALDaemon/google.ics
    # Gmail user (your full email address) file.google.username=YOUR ADDRESS
    # Gmail password (use password encoder!) file.google.password=The encrypted passwd string copied in step 6
    # URL (without hostname) of the Google Calendar's private ical file file.private.ical.url=/calendar/ical/XXXXXX/basic.ics (The Private ICS Google Calendar Address you Copied in step 7) WITHOUT the hostname (leave off the 'http://www.google.com')
    # Local iCalendar file polling interval (recommended is "10 sec") file.polling.file=10 sec
    # Google Calendar polling interval (recommended is "10 min") file.polling.google=5 min
    # Turn it on when you use dial-up connection (default is "true") file.offline.enabled=true


    9) Start the Sync

    /usr/local/GCALDaemon/bin/standalone-start.sh &


    10) Make sure the sync process starts at login

    • Create the file ~/.kde/Autostart/googleCal.sh with the following content


    #!/bin/bash 
    /usr/local/GCALDaemon/bin/standalone-start.sh &
    exit


    11) Add the new Calendar to Kontact

    • Open the Kontact Calendar page and add a new Calendar resource at the bottom-left of the screen
    • When you click the add (+) icon you'll be prompted for the resource type, choose Calendar in Local File
    • in the next dialog box that shows up add the following :
      • new resource name
      • The file location: /usr/local/GCALDaemon/google.ics


    12) Add the google account to you Palm Pre Device

    • Go to the Calendar
    • choose Preferences & Accounts from the Calendar menu at the top/left of the screen
    • Scroll to the bottom, tap the Add An Account button
    • Tap the Google button
    • Enter your Google calendar info


    That's it

    Note when you add a Kontact event you'll be prompted to use the default calendar resource, or the new Google calendar resource. Only events added to the new Google calendar resource will be sync'ed. Any event added to any of the 3 calendars (the new Kontact Google calendar resource, the Google calendar itself, or your Palm Pre device) will now sync to all 3 calendars.