This tutorial will explain how to use the Google Calendar plugin for OpenSync. However, please refer to what I believe to be a better way to synchronize KDE-PIM with Google Calendar: GCalDaemon.
This guide will assume that the synchronization will take place between Google Calendar and KDE-PIM.
Installing the OpenSync Google Calendar Plugin
(Caveat: this guide is purely theoretical, in that I have not actually followed the steps in practice, to perform a real-life synchronization. I prefer using GCalDaemon, which I will explain later in this post.)
Assuming OpenSync, MultiSync, and KitchenSync are installed and working, in order to synchronize Google Calendar, install the following plugin:
- opensync-plugin-google-calendar
(OpenSync plugin for Google Calendar)
The rest of the instructions are pretty similar to the original guide.
Configuring the OpenSync Google Calendar Plugin
Using msynctool (Command Line)
We will use msynctool, which we previously installed, to set up the synchronization via the command line. I found the msynctool manpage documentation to be incredibly helpful. To set up the synchronization via msynctool, at the command line type the following:
msynctool --addgroup GCal
msynctool --addmember GCal google-calendar
msynctool --addmember GCal kdepim-sync
You have just created a group called “GCal” that contains two members: a Google Calendar and KDE-PIM. The KDE-PIM member requires no configuration; however, the Google Calendar member does require configuration - namely, the gmail credentials and private feed URL of the calendar to by synchronized. To see the group configuration, at the command line type the following:
msynctool --showgroup GCal
The command will return information that member 1 (google-calendar) is not configured, and that member 2 (kdepim-sync) does not require configuration. To configure google-calendar, type the following at the command line:
msynctool --configure Gcal 1
The “1" at the end of the command indicates “member 1", which is google-calendar (if you followed the above instructions). This command brings up the configuration file for the google-calendar member of the “GCal” group. Optionally, you can edit the file (using Kate or your editor of choice), by opening the file directly.
Currently, the OpenSync configuration files are located in:
~/.opensync-0.22/.
If you followed the previous guide, and already have another sync group configured, then this group’s configuration files should be found in:
~/.opensync-0.22/group2/
If you defined google-calendar as member 1, then the google-calendar configuration files should be found in:
~/.opensync-0.22/group2/1/.
In this directory, open and edit the barry-sync.conf file. You will only need to edit one line, as indicated by the instructions in the file. The line to edit begins with “Device” and should look something like:
<url>
http://www.google.com/calendar/feeds/USER@gmail.com/private/full
</url>
<username>USER@gmail.com</username>
<password>PASSWORD</password>
Edit to add your gmail credentials, as follows:
- USER@gmail.com: Replace with your gmail address
(Be sure to replace both instances: in <url> and in <password>.) - PASSWORD: Replace with your gmail password
Edit, save, and close the configuration file, and your synchronization group should be ready to go. To verify using msynctool, type the following at the command line:
msynctool --showgroup GCal
This time, the command should return the configuration information you just entered.
Now comes the moment of truth: performing the synchronization. First, make sure that KDE-PIM is not running (otherwise the process will generate errors). Again using msynctool, at the command line type the following:
msynctool --sync GCal
That’s it. You should see the synchronization process in the command shell, and once the process completes, you should see your KDE-PIM (Kalendar) calendar events on your Google Calendar, and vice versa.
Using KitchenSync (GUI)
To begin, go to KMenu -> Utilities -> KitchenSync, which will launch the KitchenSync application.
The process of creating groups and group members is pretty straight-forward. (Note: if you have already created a sync group in the previous step, you will see this group displayed within KitchenSync.) To configure:
- Click the “Add Group” button.
- Assign a name to the group in the dialogue that appears, and click “OK”. The Configure Synchronization Group dialogue will appear.
- Select the object types to be synchronized. Since our focus is Google Calendar, we will select only "events" and de-select "Contacts", "Notes", and "To-Dos".
- At the bottom of the dialogue, click “Add Member”. The Select Member Type dialogue appears.
- Select "Google Calendar” and click “OK”. The configuration dialogue will appear. Enter the information as follows:
- Name: leave as-is, or customize to your needs
- Username: your gmail username (full gmail email address)
- Password: your gmail password
- Calendar URL: the event feed URL for the Google Calendar you wish to synchronize<. Replace "USER" in "USER@gmail.com" with your gmail username.
- Again click “Add Member”. The Select Member Type dialogue appears.
- The second member is KDE-PIM. Select “KDE Desktop” and click “OK”.
- Click “OK” again, and you will be returned to the main screen.
You should now see the group you just configured, along with two links: “Synchronize Now” and “Configure.”
Click “Synchronize Now” (or, click the “Synchronize” button on the toolbar), and the synchronization should commence, with indications of its progress. At this point, you should see the synchronization progress indication, and once the process completes, you should see your KDE-PIM (Kalendar) calendar events in your Google Calendar, and vice versa.
Again, I can't confirm that this method works; but if anyone would like to try, and report, please let me know.