Thunderbird with Lightning & Sunbird Sharing Calendars Online & Offline

 Status: Work-In-Progress (not complete)

My goal is to be able to sync calendars between my own systems and share calendars with the other members of my family. I want to be able to be able to work both online & offline and have things updated easily.

I have the following systems:

  • Home Laptop (shared calendar(s))
  • Netbook (shared calendar(s) )
  • Work Laptop (different calendar but visible on other systems)

Other Calendars / Family Members:

  • Wife’s Laptop / Calendar (r/o)
  • Son’s Laptop / Calendar (r/o)

I am looking at running a WebDav server (Ubuntu w/ Apache) on my home LAN and sync primarily at home. May use my broadband occasionally but primarily sync @ home. I would like to use Sunbird / Lightning. Sunbird has experimental caching and lighting does not seem to have any. I have not worked this out yet.

I am using subversion to sync another data file, so I might do that with these as well, but I don’t think that would be the best solution.

Things to sync

  • Calendar / tasks
  • Address book
  • bookmarks (Firefox)
  • kee database

SQL Prepared Statements

I have not used prepared statements before, this looks like a great feature for repetitive queries.

MySQL :: Prepared Statements

So in pseudo code:

prepare sql
do
     set parameter(s)
     execute
     actions….
done
release

Did this on a fairly involved php page and quite honestly the data was inconclusive at best:

CASE              Queries    Run 1    Run 2     Run 3
Baseline            4013       41s        42s         42s
Prepare             5019       41s        40s         39s
More Optimize   4019       42s        40s         40s

I think it helped but it really went to show that the SQL part of the page was not making that much difference (this had one major table with about 42,000 rows)

This was done on a VM test server platform(linux) from the host os as the browser (Mac).  Before Run 1 each time I restarted both Apache & MySQL to eliminate the possibility of caching effects.