Wednesday, May 30, 2007

Twitterize your SunBird (Calendar)

Aren't you tired of typing all the twitter updates? But still want to let your friends know what you are doing? So here you go... I have twitterized your SunBird. SunBird is Mozilla's open source calendar. My code reads the events from the SunBird database every half hour and updates the Twitter with the first upcoming event. So, if you have a meeting at 11PM and Lunch @ 12:30 then this application will update the twitter with Meeting@11PM. So all you have to do is to update your Calendar (SunBird) with the events and Twitter will be your flash screen. Save some typing Guys!

So what do you do?
I have uploaded the entire application at the download section of ezduck.com so go ahead and download it. Cut and paste the link if the href does not work: http://www.angelfire.com/co3/ashish7s/download/s2t.jar. I have provided the source under the open GPL license, so feel free to enhance it, make it fancier and redistribute it. Just think about me before you do so

How does it work?
SunBird uses the OpenSource SQLite format for its' data storage. So, if you are using any Calendar system which uses the same format, you can use this application against it. Sorry Outlook folks! Microsoft has to open a bit. The application uses the SQLite jdbc driver to connect to the SDB file and selects the future events from the CAL_EVENTS table. It brings the title of the first upcoming calendar event and then connects to the twitter.com to log you in and publishes the message.

How to run the application?
All you need is Java. The manifest file has already been updated to set the mainClass. Open a terminal/console/command prompt and run the following command:
java -Ddb=<location_of_sdb> -Dun=<twitter_login> -Dpw=<twitter_password> -jar s2t.jar
Where,


  • db is the fully qualified location of the SDB file. Usually, Mozilla SunBird saves the calendar in $HOME/.mozilla/sunbird/<id>.default/storage.sdb file on Unix and something similar to "/c:/Documents and Settings/<username>/Application Data/Mozilla/Sunbird/Profiles/<id.default>/storage.sdb" on Windows. Make sure the location of this file is correct. Guys this is your database!

  • un stands for your twitter.com user name. Usually its' your email address.

  • pw stands for your twitter.com password. This is legible text. As SunBird runs locally on your system and so is the terminal which you are running this application on, so its not too bad to type this in. If you are geek enough then go ahead and update the code to encode it.


Future Enhancements:
1. Behind a proxy server? its simple to modify but not done in this release. [Done]
2. A properties file to save the input parameters. [Why to complicate]
3. Targetted messaging from Calendar.
4. From Twitter to your Calendar.

Keep reading the comments on this blog for more options and happy Twittering and Calendaring friends!

1 comment:

Ashish said...

Added a few more options to set the proxy server if behind a proxy server. To run the application run:
java -Ddb=<storage.sdb> -Dun=<tw_un> -Dpw=<tw_pw> -DpH=<proxy_host> -DpP=<proxy_port> -jar s2t.jar

if pP is defaults to 80 if not set. BTW, I also noticed if you click the download link the hosting site returns file not found. So cut and paste the link directly: http://www.angelfire.com/co3/ashish7s/download/s2t.jar