Main

November 3, 2009

1.0 beta 1 is One Step Closer!

Finally! Since July, we have been working on bug 470430. After lots of testing, reviewing and frustration, we have finally checked in the bug's patch. This bug is of quite central importance since we want to make sure that calendar data is not broken on an upgrade between versions, which was sometimes the case.

I would appreciate if everyone could take a look at the current nightlys to see if anything fails. Especially if you have an old profile (i.e from Sunbird/Lightning 0.8 or earlier) around, it would be nice to find out if upgrading from that profile works flawlessly.

If you have ever used Sunbird, please also check if you have the following directory:

  • Windows Vista: C:\Users\<your username>\AppData\Roaming\Mozilla\Extensions\{718e30fb-e89b-41dd-9da7-e25a45638b28}\calendar-timezones@mozilla.org
  • Windows XP or earlier: C:\Documents and Settings\<your username>\Application Data\Mozilla\Extensions\{718e30fb-e89b-41dd-9da7-e25a45638b28}\calendar-timezones@mozilla.org
  • Linux: ~/.mozilla/extensions/{718e30fb-e89b-41dd-9da7-e25a45638b28}/calendar-timezones@mozilla.org
  • MacOS: ~/Library/Mozilla/Extensions/{718e30fb-e89b-41dd-9da7-e25a45638b28}/calendar-timezones@mozilla.org

If you do have this directory and it is empty, please report on bug 470430. Having it causes the upgrade process to fail, since the timezones files can not be found. My hopes are that this directory was created in error due to something in the development build process.

Now all we have left for our beta release is bug 494140, which will hopefully make it into the tree a bit sooner. Also, some locales need a few more strings. When all that is taken care of, then we can finally bring out release candidates for this beta release!

I'm looking forward to hearing from you and am excited that the beta is now one giant step closer.

UPDATE: We had a small regression, bug 526264. Upgrading from an older profile should work again after tomorrow's nightlys.

October 3, 2009

[October 03, 2009] Lightning/Sunbird Status Update

Ok, I have seen all the comments declaring the project is dead. Let me just say that rumours about our death are slightly exaggerated. Over the last six weeks we have fixed 31 bugs, which are listed below.

  • Bug 351321: Italic and bold font for high and low priority
  • Bug 397888: Get rid of anonymous functions
  • Bug 401032: Would be nice to be able to view calendar in a separate toplevel window
  • Bug 413387: Today-pane is broken in SeaMonkey+Lightning
  • Bug 443752: Dialog specific files should be moved into /calendar/base/content/dialogs/
  • Bug 461744: Missing icon on minimonth dropdown button in miniday in today pane
  • Bug 466288: Make use of type="number" for textboxes representing integer preferences
  • Bug 466439: calIRelation/calIAttachment need proper cloning facility
  • Bug 482131: UTF-8 encoded invitation subject not displayed correctly
  • Bug 485890: Splitter styles vary. Splitter between mini-month and calendar view is too narrow.
  • Bug 494783: Switching view range or editing events doesn't update view content and displayed events
  • Bug 500244: Update internal timezone database to version 2009l
  • Bug 502337: Menu "View > Today Pane" always disabled in Mail tab, Today Pane can't be configured
  • Bug 506322: Today pane collapse/expand buttons should always react to first click
  • Bug 507215: Creating repeating event/task fails
  • Bug 507432: Hong Kong Holidays update (2007-2010)
  • Bug 510348: Sunbird Mac l10n builds failing due to requiring license unpack
  • Bug 511246: All-day events don't get deleted from calendar-multiday-view onCalendarUnregistering
  • Bug 511412: Vietnam Holidays for 2009 - 2013
  • Bug 511476: Calendar-event-dialog-freebusy.xml: Remove obsolete range check
  • Bug 511505: SOGo not listed on the "Calendar Related" links page
  • Bug 512123: Lebanon Calendar 2009
  • Bug 512811: React to tab controller parameter change in bug 500506
  • Bug 514843: Xpcshell unittest fails in file test_relation.js line 59
  • Bug 515178: Luxembourg Calender
  • Bug 515399: Cannot add attendees to event invitation
  • Bug 516398: No Lightning pref UI in SeaMonkey
  • Bug 516405: Lightning error in SeaMonkey because of missing gFolderDisplay
  • Bug 516407: Lightning 1.0pre doesn't install in SeaMonkey 2.0b2
  • Bug 516681: Lightning disables SeaMonkey's throbber
  • Bug 517013: Package nssdbm3.chk and update the Windows packaging file

As always, our thanks go to all developers, contributors, localizers, testers, and supporters that have made this possible.

September 2, 2009

Radio interview covering the Calendar Project (in German)

Two weeks ago, I was interviewed by the Bavarian broadcasting station here in Germany for their weekly computer radio show. The interview went pretty well and we covered a lot of areas, including:

  • Current project situation
  • History of the project
  • Major pain points of radio listeners with our applications (enterprise features vs. small business feature set, mobile phone synchronization)
  • Project roadmap
  • Contributing to an open source project

You can listen to the podcast of the show by downloading the mp3 file (the interview covers the last eight minutes). As this was a German radio station, the interview was conducted in German as well. Sorry to all our non-German-speaking folks about that.

Nevertheless, this gives us some much needed publicity, for which we are grateful. We are already discussing some followup actions with the radio folks. More about this, when things get more concrete.

August 24, 2009

[August 24, 2009] Lightning/Sunbird Status Update

More than one month has gone by without a status update. Obviously it's vacation time :-)) We're hard at work to finally get our next release out of the door for Lightning and Sunbird. More on that in a separate post. Over the last six weeks we have fixed 22 bugs, which are listed below.

  • 328216: It is not possible to assign duration to a task
  • 378951: [Mac] non-functional button in About Sunbird dialog
  • 411849: Default date for add New Task is current day rather than the selected day
  • 430090: Collapsed state of Today pane is not remembered when dragging the splitter
  • 445304: Today-pane: width should be set mode-dependently
  • 459381: Calendar and task tabs should be persistent
  • 471860: Use .trim*() in Calendar
  • 483643: Strict JavaScript warnings "reference to undefined property"
  • 500718: (scalability) useless refresh of unchanged calendars in onCalendarAdded/-Removed
  • 501402: Day View not updated correctly after deleting multiple events
  • 501613: Croatia holidays
  • 506461: Change the menupopup id in messenger-overlay-toolbar.xul
  • 506608: View, task list, and toolbar broken after startup
  • 507105: Task list doesn't update correctly when adding/removing calendars
  • 507170: Removing calendar breaks unifinder
  • 507700: WARNING: Illegal character in window name calendar-properties-dialog
  • 508295: Task list: creating new task via double click or context menu entry fails
  • 509335: Make use of zoom controls for calendar views
  • 509345: US Holidays file uses inconsistent categories
  • 509405: Calendar builder tinderboxen down? starting 2009-08-10
  • 509936: Warning: undeclared variable in minimonth.xml
  • 510499: Correcting grammar on Sunbird homepage

As always, our thanks go to all developers, contributors, localizers, testers, and supporters that have made this possible.

August 6, 2009

Merike's developer comments: Writing smoketests for Calendar

In February 2008 I wasn't even a user of Lightning yet as it becomes obvious from looking at my home calendar. Four months later I was researching how to translate it so I could have Thunderbird and Lightning in the same language because an Estonian localization didn't exist. A year later being familiar with the localization side of Mozilla and using Lightning regularly the option to write tests for calendar looked really appealing when I noticed it in the wiki. In April I found myself participating in the testday for Mozmill 1.1. (There's another one coming where you could participate by the way!)

Now that I've written smoketests for bug #500469 I find Mozmill relatively similar to Selenium as I expected. Both of these tools test user interface functionality and therefore the basic three types of steps are common to both:

  • Locating elements to act on
  • Specifying actions to be done
  • Checking the results

Element location in a Mozilla application can be done either by using Mozmill's inspector which gives you a ready to use locator or with the help of DOM inspector if you need to access an element that is further down in the hierarchy of UI elements than what Mozmill's inspector gives you. Locators in Lightning are quite long but mostly relatively easily accessible. There are exceptions to this though: bug #505336 being an example of an element that is fighting against automation.

As UI responsiveness is always slower than script speed pauses between test actions are essential to let UI load properly. Failing to do that can result in an otherwise fine-looking test not working and once in a while I'm still able to forget that despite of knowing it. There are also some inconsistencies between platforms support of Mozmill which made it impossible to stick to the Linux environment I mostly use but it also gives both the Mozmill and Calendar development version stress on both platforms which can only make these more bulletproof.

Result checking is the most important part of functional tests even if running a test without any asserts can reveal some of the bugs too. This is also the part of Mozmill code that recently reminded me of just how quickly Mozmill is developed. I was looking for a way to assert that a certain element is not hidden and found a assertPropertyNotExist function by scrolling through the available methods on Google Code. This seemed like a good way to make sure that there's no hidden attribute attached to an element. To my surprise the first call to this method caused a failure which stated that there's no such function. It had been added only a couple of hours earlier and the version installed didn't have it yet!

Active development of Mozmill and fantastic people on both the #qa and #calendar IRC channels make the difference between a person merely checking things out and a new participant in the project. That's what it takes to get a new person to participate.

August 2, 2009

How to Save Sunbird

Since the last blog post, many people have asked what can be done to keep Sunbird alive. I'd like to attempt to answer this question, and also tell you how to bring Sunbird forward (i.e attracting new users).

What's needed to keep Sunbird alive

On the development side, whenever a Lightning bug is fixed that touches shared code, extra testing and possibly some coding is needed to make sure that the bug is also fixed in Sunbird. In most cases no additional work is necessary, but once in a while Sunbird acts a bit differently. Similarly, when a new feature is added to Lightning, some extra work may be needed to make sure Sunbird can also benefit from it.

Extra testing is also needed for Sunbird. This includes regular testing of nightly builds and writing or adapting automated tests to work with Sunbird. Also some triage work needs to be done. When a bug is filed and there is no note if the bug relates to Sunbird or Lightning, the reporter needs to be asked just this question. Appropriate bugs should then be moved into the Sunbird Only component, which should be looked after in case of duplicate or obsolete bugs.

Some release engineering work also needs to be done when nearing a release. This includes configuring the automatic update servers and moving around builds on the ftp servers.

Note however you don't necessarily have to do all of this on your own. Depending on how many people are interested in actively working on Sunbird it's quite possible that you can split the work similar to how we've been doing it (backend, frontend development, user experience, release engineering, testing).

Sunbird's possible future vision

What Sunbird needs is a vision of its own. That means, that new Lightning features should no longer be incorporated into Sunbird by default. Instead Sunbird needs to get its own identity to attract new users. If you have experience with user interfaces, Sunbird could use your help to create a new and innovative way for users to manage their appointments.

A vision we have come up with and other users have also brought up is to make Lightning modify Thunderbird so far that starting from a new profile gives you the option of either a calendar or mail account (or both). If you choose Calendar, then you will be presented with only calendar relevant UI (i.e similar to what Sunbird is today). You will not be bothered with mail features unless you need them (i.e you want to invite attendees and send invitations to them). This would have the benefit of shared features like the address book being available without much extra work.

If you would like to save Sunbird, please drop me an email and I'll help you get started. Please be sure to tell me what area you'd like to work on and if I can forward your Email address to other people interested in helping with Sunbird.

July 17, 2009

Donations update - How we spend our money

It's been three months since I last posted a donations update. And it's more than time to update our community on the current state of things, because two exciting things have happened or are about to happen.

  1. Back in April we had accumulated roughly 1150$ of donations and we were heavily contemplating what to do with it. At the same time, a long-term localization contributor, Merike Sell, offered to create an automated testing framework for the calendar applications as part of Google's Summer of Code. Unfortunately the project was not accepted (only a few of the dozens of worthy projects were accepted by Google), but the offer was too good to let it slip.

    So we decided to use our money to fund Merike's project outside of Google's summer of code. Unfortunately our money was not enough to fund Merike for the three months period, but David Ascher (CEO of Mozilla Messaging) graciously agreed to cover the remaining 3350$.

    Merike is already hard at work. You can watch her progress in Bug 500469. Her mentor, Clint Talbert, will post an introductory posting explaining the overall goal of her project. And hopefully Merike will post here as well with a short introductory post and a status update once in a while.

  2. The mozilla.org add-ons site has finally introduced the possibility to ask for donations (or contributions as they call them) directly on the add-on page of each participating add-on. The Calendar Project to participate in this program in the hope of increasing its donations through this avenue. Let me state clearly that these donations/contributions will be optional.

Let me close by aying "thank you" to everybody who has donated to the Calendar Project so far and to everyone who is planning on doing this in the future. As you can see, these donations can really do some good, so donate now!

July 14, 2009

[July 14, 2009] Lightning/Sunbird Status Update

Three weeks after the last status update, it's time for another. We're hard at work to finally get our next release (1.0 beta) out of the door for Lightning and Sunbird. Over the last three weeks we have fixed 12 bugs, which are listed below.

  • Bug 392021: Event dialog: Option to delete event/task
  • Bug 413594: move alarm indication icon to the extreme right
  • Bug 431126: Revise calIItipTransport::defaultIdentity
  • Bug 435168: New Calendar Wizard shows empty focus box next to "Show Alarms" check box
  • Bug 455281: Color of drag-and-drop shadow in day/week and multiweek/month view is different
  • Bug 459478: Tooltips in main view don't work anymore
  • Bug 460967: Sorting of tasks to their title in the task-tree is not working
  • Bug 483582: Multiple requests for master password on startup of Sunbird
  • Bug 485912: Recurring events with monthly rule: "every" + "day of the month" show wrong recurrence summary
  • Bug 499542: View menu entries Rotate View and Workweek Days Only are always disabled
  • Bug 500488: Can't open Calendar and Tasks tabs; adopt Lightning to openTab API changes in Bug 467768
  • Bug 500908: Find events button keeps its own state and may work invertedly

As always, our thanks go to all developers, contributors, localizers, testers, and supporters that have made this possible.

June 23, 2009

[June 22, 2009] Lightning/Sunbird Status Update

It's time for another status update again. We're hard at work to finally get our next release (1.0 beta) out of the door for Lightning and Sunbird. Over the last three weeks we have fixed 31 bugs, which are listed below.

  • Bug 273279: no visual status mark on tentative or cancelled events/tasks
  • Bug 387014: While reloading remote calendars, Thunderbird windows are unresponsive
  • Bug 389088: Use default alarms defined in Google Calendar
  • Bug 395281: Attendee icons in Free Busy Pane need tooltips to be understandable
  • Bug 404902: View calendar while refreshing remote calendar
  • Bug 410050: description is taken from wrong e-mail message
  • Bug 433847: Update w.m.o build guide
  • Bug 448291: Optionally disable scroll through calendar months
  • Bug 449197: 'Calendar -> Publish' menu item is always disabled
  • Bug 453067: Eventboxes with and without icons have different height
  • Bug 453122: Newlines not trimmed from description when converting from email
  • Bug 453145: Using ctrl+s or 'Save' while editing a occurrence changes whole series
  • Bug 456385: Thunderbird3: Integrate Calendar and Task mode menu items into new menu
  • Bug 459018: 'self.stopEditing is not a function' while creating an event
  • Bug 462824: clean up calendar/test/homegrown
  • Bug 466170: Extra separator in View menu
  • Bug 480266: Switching mail and tasks tabs duplicates the account list
  • Bug 485891: Bottom Border under Column Day Labels is missing.
  • Bug 489773: Invitation dialog has flaws
  • Bug 491326: Non-ascii calendar names are displayed wrong after restart
  • Bug 491868: print card/contact is completely unstyled and hard to read
  • Bug 492723: Error "favoriteFolderMenu is null" opening the Edit menu from Lightning
  • Bug 494160: Event dialog: Add accesskeys for menuitems in menu "Options - Status"
  • Bug 495859: Lightning notification bar appears at the bottom of the message pane.
  • Bug 496413: faulty PROPFIND will not declare the request as complete
  • Bug 498158: Context edit menu (undo/cut/copy/paste) has got no icons
  • Bug 498700: imip bar is not displayed, error "GetLoadedMessage is not defined"
  • Bug 498779: Outdated information in /calendar/lightning/nightly/README.html
  • Bug 499500: Error "GetFirstSelectedMessage is not defined"
  • Bug 499540: Multiweek View: changing Number of Weeks via View menu fails
  • Bug 499588: TB3 integration: Fix accesskeys for File -> New menu items

As always, our thanks go to all developers, contributors, localizers, testers, and supporters that have made this possible.

PS: We've read and noticed the repeated requests for a more high-level plan of our future goals (some call it a "roadmap"). Philipp is currently working on a blog post, that will hopefully satisfy those of you, who were kind enough to get in contact with us and ask us for such a high-level plan. Stay tuned!

June 22, 2009

String freeze for the upcoming Lightning/Sunbird 1.0beta release on June 23

It's been a long time, but it seems that we're finally getting near to a new release. Yay!

Philipp tells me, that we now have only five open bugs on the blocking list that are needed for the 1.0 beta release. All of those bugs have no localization impact, which means that we are ready for a string freeze.

We will therefore freeze all application strings by tomorrow, Wednesday, June 23 at 23:59 PST. That means that all strings will then be entirely frozen until we release Lightning and Sunbird 1.0beta. I will open up a separate opt-in thread for localizers in the mozilla.dev.l10n newsgroup soon.

One additional note to localizers:
Please take a close look at the status of your tinderbox (at http://tinderbox.mozilla.org/showbuilds.cgi?tree=Mozilla-l10n-locale where "locale" must be replaced with your locale code (e.g. es-ES or de). I've seen some locales having a red Windows tinderbox (and therefore broken Windows builds), because those locales didn't follow this change to our installer strings. Please check if this applies to you and make the necessary changes.

June 17, 2009

Nightly builds now available from a slightly different place

Our regular nightly build testers may already have noticed. If you haven't here's a heads-up for you.

Bug 481685 was just fixed. The aim of that bug was to align the nightly build directory structure on the mozilla.org ftp server of Thunderbird, Sunbird and Lightning. Here's a n overview of the changes:

Sunbird

Application (Gecko version)Old LocationNew Location
Sunbird 1.0pre (1.9.1) latest-comm-central-sunbird latest-comm-1.9.1
Sunbird 1.0pre (1.9.1) localized latest-comm-central-sunbird-l10n latest-comm-1.9.1-l10n
Sunbird 0.6pre (1.9.0) localizedlatest-trunk-l10n-cvsDeleted
Directorylatest-trunkDeleted

Lightning

Application (Gecko version)Old LocationNew Location
Lightning 1.0pre (1.9.1) latest-comm-central-calendar latest-comm-1.9.1
Directorylatest-comm-centralDeleted
Directorylatest-trunkDeleted

May 29, 2009

[May 29, 2009] Lightning/Sunbird Status Update

Sorry for the long hiatus here in the blog. We haven't forgotten you. Here are the 37 bugs that we fixed since the last status update in mid-April:

  • Bug 238632: Dates become 1 day earlier after leap day in non-millenial century years
  • Bug 258551: Alarm should not fire for cancelled event
  • Bug 343268: Uncaught exception if Drag and Drop is aborted with Escape key
  • Bug 388399: China holiday file by Mr. Fu Yang Yong - reloaded
  • Bug 396819: Event Summary Dialog doesn't show important information to user
  • Bug 427617: ics import fails if event has RDATE property with value type PERIOD
  • Bug 450933: Today Pane doesn't remember state between restarts
  • Bug 455939: Offline cache should synchronize in the background (hang every 4 minutes)
  • Bug 459352: No progress bar in '% complete' column
  • Bug 466535: Sunbird/Lightning should get RTL compatible theme
  • Bug 470934: Better handling of server-side deleted calendars when getting the ctag
  • Bug 479973: Agenda List Box Item in Today Pane is always white
  • Bug 482460: Recurrence summary in Edit Event dialog can't be correctly translated
  • Bug 483189: Armenia Holidays
  • Bug 484877: Update internal timezone database to version 2009f
  • Bug 486186: Reminder based on end/due date changes to start date after restart
  • Bug 486678: Calendar summary dialog is borked
  • Bug 487008: Wrong rendering of event invitation
  • Bug 487400: Preference 'calendar.alarms.indicator.show' doesn't work anymore.
  • Bug 488720: Recurrence dialog doesn't work well when editing an event with monthly rule
  • Bug 489590: Make views more extensible
  • Bug 489966: Bogus registry keys added
  • Bug 490240: reference to undefined property this.mData[aName]
  • Bug 490243: reference to undefined property this.mExceptionMap
  • Bug 490309: Implement asynchronous ical parsing
  • Bug 490526: Win2k3 c-c sunbird l10n is orange
  • Bug 491051: Holiday Calendar for Guyana
  • Bug 491207: Icon files for event/task dialog windows
  • Bug 491226: reference to undefined property unifinderObserver.prototype
  • Bug 491270: Holiday file for Iceland
  • Bug 492192: Opening local ics files breaks views
  • Bug 492640: Fix misc js warnings
  • Bug 493250: Greek Holidays file (1978-2045)
  • Bug 493812: Some css file have selectors related to classes\rules that don't exist
  • Bug 493998: Attendee in iTIP REQUEST always have role REQ-PARTICIPANT
  • Bug 494312: Remove the locale from updater.ini
  • Bug 494476: In month/multiweek views, event boxes are misplaced by 1px

As always, our thanks go to all developers, contributors, localizers, testers, and supporters that have made this possible.

April 16, 2009

Calendar Project donations update

One month ago, I reported that the Calendar Project is now finally able to accept donations through the community giving program of the Mozilla Foundation. So I guess it's time to reveal how we have done so far.

I currently have only received the numbers for the last two weeks of March (we started accepting donations on March 16 2009) and those numbers look quite promising. In the first five days after the initial announcement people donated $698.05 to Calendar using PayPal. For the remaining 10 days of March we took in another $437.05 bringing us to a total of $1135.10 for March through PayPal*.

We will now discuss internally on how to allocate this money in the most effective and efficient manner for the project. We will also be thinking hard about further fund raising possibilities.

Let me use this opportunity to thank everybody who has donated to the Calendar Project so far and to everyone who is planning on doing this in the future. I would also be interested in any ideas that you (our community) might have on how to raise our fund-raising capabilities.

* Please note that the total donation number should be higher than that since this doesn't include any donations this month (April) or any check donations.

[April 16, 2009] Lightning/Sunbird Status Update

Sorry for the 7-week hiatus. I was quite busy personally and the project is busy as well. That doesn't mean however, that Philipp and his crew aren't fixing bugs anymore. To the contrary, a sizable chunk of bugs was squashed in the last seven weeks.

Here's the total list:

  • Bug 308538: Foreign X-Props in VALARMs are lost during roundtrip
  • Bug 329570: Concurrent editing ICS calendars by multiple users can lose data
  • Bug 353492: support multiple alarms per events/task and absolute alarms with fixed date/time
  • Bug 363085: Not possible to enter a webdav share that requires SSLVerifyClient
  • Bug 367469: ICS x-property should allow VALUE=type parameter
  • Bug 389160: Editing color makes category list loose focus
  • Bug 392572: Correct comments in calIDateTime.idl
  • Bug 428538: Startup notice for calendars of uninstalled/removed providers
  • Bug 447824: Fix caldav ticket-based authentication
  • Bug 455515: Local calendar tasks are not shown when a remote CalDAV calendar is unavailable
  • Bug 460252: Today Pane Integration in the new Thunderbird tab model
  • Bug 463978: Details/Description textbox missing from create/edit event/task dialog
  • Bug 464133: CalDAV deletes against Zimbra server often (always?) fail
  • Bug 465019: Copy, cut, paste from context menu in calendar views do not work
  • Bug 466979: Clicking on the "Today" button in the minimonth doesn't refresh the calendar view
  • Bug 468846: Recurring all day event -> duplicate event created
  • Bug 471774: Update calendar copyright dates to 2009
  • Bug 473366: Basque calendar
  • Bug 474025: Changing a recurring/repeating event to non-recurring doesn't work
  • Bug 474552: Error: Assert failed: TypeError: logins[0].clone is not a function
  • Bug 475715: Create a binding for the calendar list
  • Bug 476132: Impossible to move event by drag&drop if another event is selected
  • Bug 476234: a calendar that shows the Mexican Holidays 2009
  • Bug 477248: Calendar hangs - Syntax error calProviderUtils.jsm (new XML(...))
  • Bug 478612: Add ta-LK to calendar/all-locales
  • Bug 479316: Task list and task view are empty [JavaScript Error]
  • Bug 479614: faq.html: how to publish/serve calendars should mention CalDAV (& WCAP)
  • Bug 480005: Estonian holiday calendar
  • Bug 480383: Creating new profile fails, calendar list and views are empty
  • Bug 480390: Include Lightning BuildID in install.rdf for easier QA work
  • Bug 480702: Add ifdef MOZ_UPDATER for the app update preferences UI and Help menu
  • Bug 480731: Calendar events showing reminder after scheduled event instead of before
  • Bug 480930: Calendar List not sorted according to "calendar.list.sortOrder"
  • Bug 480933: Events are shown transparent, calendar and category color is missing
  • Bug 481428: Error parsing XML streamReferenceError: getTimezoneService is not defined
  • Bug 481450: new XML() to cal.safeNewXML()
  • Bug 481472: Add Vietnamese (vi) to Calendar all-locales list
  • Bug 481499: Rename menu entry "Address Book Card" to "Address Book Contact"
  • Bug 481825: No loading of CalDav Calendar due to errors regarding parsing eTags
  • Bug 482001: Update the Iranian Holidays Calendar (in Persian and English)
  • Bug 482108: "Invalid alarm for item" errors when reading alarms from older releases
  • Bug 482116: Views are not updated after changing category color, restart required
  • Bug 482149: Today pane splitter still showing when pane is hidden in certain cases
  • Bug 482456: empty/blank status of calendar task
  • Bug 482612: too small textbox for custom snooze time in reminder dialog
  • Bug 482636: /usr/lib/sunbird Directory Requires World-writable Permissions
  • Bug 482864: Build does not generate chrome.manifest files for extensions
  • Bug 484160: Migration wizard starts with very small width/height.
  • Bug 484871: Sunbird and Lightning homepage content messed up
  • Bug 485570: absolute alarm with fixed date/time is reset to relative alarm
  • Bug 485571: absolute alarm with fixed date/time is lost after application restart
  • Bug 486676: Unnecessary alarm load on startup for all subscribed calendars
  • Bug 486709: Display of date/time of absolute reminder is confusing
  • Bug 486789: JavaScript Error "exc is not defined" in calStorageCalendar.js

As always, our thanks go to all developers, contributors, localizers, testers, and supporters that have made this possible.

March 27, 2009

Heading towards Calendar 1.0 Beta 1

The original plan regarding Thunderbird 3 Beta 2 was to release a beta of Sunbird/Lightning that fits together well. Due to other obligations this goal has slipped quite a bit. We have tagged the list of blocking bugs by bugs needed for the beta and those we can move into the next beta.

Currently, there is only one bug left that we really need to solve for this beta. It has a preliminary patch and will require string changes. Unfortunately, the mentioned bug is not quite trivial, since a lot of UI changes need to be done and we haven't quite agreed on some aspects.

This means we will announce a string freeze as soon as the bug has been fixed and release 2 weeks afterwards, or sooner if all strings have been translated earlier.

Nevertheless, we'd like to provide a beta as soon as possible. To help make this possible what we need most at the moment is testing! Please download Thunderbird 3 Beta 2 at:

http://www.mozillamessaging.com/en-US/thunderbird/3.0b2/

And our latest nightly version of Lightning:

ftp://ftp.mozilla.org/pub/calendar/lightning/nightly/latest-comm-central/

Be sure to back up your data before using this version, since it upgrades your local storage database. Downgrading is not easily possible afterwards without creating a new profile.

IMPORTANT:Note however as we've announced in an earlier blog post this will be the last release for the time being that includes Sunbird. This means that now more than ever, testing is needed to make sure that Sunbird doesn't contain any critical bugs.

If you want future Sunbird releases to happen and either have experience with the Mozilla build architecture or are willing to learn, please do send me an Email and I'll send you some information to get you started.

We will make an effort towards releasing more beta versions of Lightning on the road towards 1.0 to make sure the next release will be as bug-free as possible and still contain the nice new features we have been working on. Remember that we need you to fulfill this goal! Without your valuable testing, we will surely be up for a surprise in case a critical bug has made it into the final version without notice.

March 16, 2009

Support the Calendar Project with a donation

One of the most often made statements within the last few years from our users and supporters was that people would really like to support us by donating a few bucks to the Calendar Project.

That wasn't possible until now. But thanks to the Mozilla Foundation and the efforts of its employees, particularly David Boswell, it's now finally possible to support the Calendar Project by donating to our cause.

All the necessary details are on our donation web page. You can support us via:

  • a one time donation online (using Paypal or a Credit Card)
  • a recurring donation each month (using Paypal or a Credit Card)
  • a personal check

If you are a regular user of our software, please consider donating to our cause.

Thanks in advance
The Calendar Project team

February 25, 2009

[February 25, 2009] Lightning/Sunbird Status Update

After all the bad news in the last few days, here are some good news at last: Our recent bugfixes. Everything considered, the last 28 days were pretty good in terms of the number of bugfixes. Hopefully we can keep this up as more people will step up and help us with bringing the Calendar Project forward.

Here's the list of the 47 bugfixes in the last 28 days:

  • Bug 345607: Copy recurring event and paste to another day appears to work but event is not saved
  • Bug 357332: Holidays in Chile
  • Bug 358217: Catalan holiday calendar
  • Bug 379097: Export should default to ics
  • Bug 405033: Remember last selected task when sorting list in Task mode
  • Bug 421329: Freebusy information is not loaded for multiday events beginning previous to look-up date
  • Bug 429126: Infinite loop at refresh when a calendar is deleted from the server outside of Lightning
  • Bug 449567: 'Dismiss all' alarms of recurring events -> error console output
  • Bug 457823: Mini-month vs datepicker on calendar pane
  • Bug 463273: Error: Failed to read 'repeatDetailsOrdinal0'
  • Bug 463679: Two email notifications sent for cached CalDAV calendar
  • Bug 463960: Cannot refresh cached CalDAV calendars
  • Bug 463961: Unnecessary fetch of all etags for cached calendars
  • Bug 468723: Incorrect doModifyItem for CalDAV servers where the inbox matches the calendar uri
  • Bug 469605: Incorrect handling of mBatchCount
  • Bug 469767: Very slow etags parsing
  • Bug 472314: Add some documentation to calendar code
  • Bug 474361: Remove and rename calendar-decorated panes
  • Bug 474630: Alarms don't work for recurring events
  • Bug 474632: Update internal timezone database to version 2009a
  • Bug 475170: LDAP Lookup broken in Invite Attendees dialog
  • Bug 475549: ICS file for Norwegian holidays 2009-2013
  • Bug 475599: Create the backup files in calendar-data folder instead of the backupData folder
  • Bug 475745: Updated English Holidays calendar
  • Bug 475803: Cal.fromRFC3339 matches fails to set timezone correctly
  • Bug 475887: ${BrandFullName} needs to be quoted in shared.nsh
  • Bug 476219: Drag and drop of event works but MODIFICATION_FAILED dialog is shown
  • Bug 476262: alarms don't fire/show up/no reminder (alarmDate is not defined)
  • Bug 476331: Replace InfoText with Info in updater.ini using sed in locales Makefile.in
  • Bug 476518: Sunbird debug symbols for crash reports seem to be missing
  • Bug 476867: Download links for Sunbird 0.7 and older releases do not work
  • Bug 477009: Unable to get directory path for directories immediately under some symlinks
  • Bug 477064: Recurrence description for weekly event uses repeatDetailsOrdinal* where should be weekday
  • Bug 477207: Remove installer code that adds unused registry key values
  • Bug 477445: What is this "orientation" of which you speak?
  • Bug 477474: Remove searchplugins occurrences from locales/Makefile.in
  • Bug 477664: No vertical space between label and underline indicating accesskey
  • Bug 479327: On startup, icon in statusbar shows offline mode
  • Bug 479513: task description box vanishes when dragging scrollbar in task list
  • Bug 479577: Creating event/task with alarm on end/due date throws exception NS_ERROR_OBJECT_IS_IMMUTABLE
  • Bug 479578: Creating task with alarm doesn't automatically enable the required start or due date anymore
  • Bug 479599: Bugs.html: request review from module owner
  • Bug 479605: FAQ: local file steps are out of date
  • Bug 479606: FAQ: how to tinker: change "cvs" to comm-central
  • Bug 479610: FAQ: netscape server -> sun server
  • Bug 479695: Canceling Custom Reminder dialog trows error "customItem.reminders is undefined"
  • Bug 479707: Error notification dialog: "Error number" should be "Error code"
Many thanks go to all developers, contributors, localizers, testers, and supporters that have made this possible.

February 24, 2009

Even more on the Sunbird/Lightning decision

There have been a lot of questions asked since our announcement, that we're discontinuing Sunbird, because several main contributors can no longer work full-time on the project. I want to use this post to try to answer as many questions as I can.
  • Various people have asked for the Mozilla Foundation or Mozilla Messaging to step in and help us out.
    Short answer: They already are helping us out.
    Long answer: Mozilla Messaging is already helping us out on the build engineering side and the Mozilla Foundation is actively working with us to make it possible for people to donate to the Calendar Project via the Mozilla Foundation.
  • Raffael asked: "How close are you working together with Spicebird? Are there other projects like Spicebird that could contribute code to Lightning?
    We are working together with the Spicebird people. Their calendar code is mostly based on our code. We are also working closely together with the folks from SoGo.
  • Sunbirduser said: "The most important question is not whether sunbird or lightning will be stopped, but how to get new interesting people into the project and how to get more developers. This is the work of the project leader!
    Like Philipp said in his original announcement
    Our next release will include Sunbird, but subsequent releases won't unless new contributors take on the work.
    and
    This is really a tremendous opportunity for anyone who is interested and willing to help make a difference here for the project and its hundreds of thousands of users -- get involved!
    Things will happen if someone actually steps up and makes them happen. That is how it works in the open source space. Philipp is very important as the project's lead developer, but he's not anyone's boss and can't command anyone to do something. Interested people will need to step up and do something, then Sunbird can live on.
I hope this answers most questions. Let me know if you have more.

February 19, 2009

More on the Sunbird/Lightning decision

Our announcement that we're very short on actual developers has already raised quite a stir. I want to give some feedback to some of the questions that were already raised and also elaborate a little more on the situation that we're in. First the feedback part:

  • Cantalou asked: In your opinion, did you get so far enough support from Mozilla Messaging?
    Yes. Absolutely.
  • Various users suggested that we should dump Lightning in favor of Sunbird
    That would be worse than what we're doing right now. Looking at the download numbers, Lightning is about twice as popular than Sunbird nowadays, so dumping Lightning would probably turn away many more people than dumping Sunbird. In addition Lightning, due to its integrated nature, has many features that Sunbird currently lacks, which would need to be re-implemented in Sunbird to make it a viable option (e.g. addressbook integration, LDAP integration, ability to send and receive mails).
  • jakyra asked: Could you make the next version of Lightning work on Ubuntu?
    Lightning already works fine on Ubuntu. The problem is that Lightning needs some system libraries that aren't installed by default on Ubuntu. Our system requirements page lists the necessary requirements. If you make sure everything is in place *before* installing Lightning, everything should work fine.
  • neandr asked: Can Lightning 1.x be installed ontop of Firefox/Thunderbird/XULrunner?
    It would certainly be possible to develop Lightning in such a way, that it would be easily installable into Firefox, Thunderbird or every other XULrunner-based application. However, we do not think that this would be an effective use of our development time. That being said, if you (neandr) or someone else is interested in making this happen, you're more than welcome to do this!

Various users were forthcoming with ideas about feature additions. To answer this let me use a quote from Philipp's blog post yesterday:

This is really a tremendous opportunity for anyone who is interested and willing to help make a difference here for the project and its hundreds of thousands of users -- get involved!

The bottom line is: With no full-time developers on board and only a handful of part-time contributors, there's no way that we're going to implement stuff like Exchange support, improved task management, device synchronization, far-reaching performance improvements, etc. in the foreseeable future.

This can only happen, if you make it happen. New features do not materialize out of thin air, they appear because someone is willing and committed enough to invest time and effort to make something happen. Or to use a famous (and slightly adjusted) quote from JFK: "Ask not what the Calendar project can do for you, ask what you can do for the Calendar project!"

So get in touch, either on IRC (#calendar channel on irc.mozilla.org), our developer newsgroup (mozilla.dev.apps.calendar) or via an e-mail to Philipp or me (our mail addresses can be found on our team page).

I hope to hear from you soon Simon

February 18, 2009

Calendar Project at a critical juncture

The Calendar project, which for several years has been working on the Lightning add-on to Thunderbird and the standalone Sunbird project, is at a critical juncture. We feel it's important to communicate this to our users and contributor community, as your input will determine how the project continues.

Recently, several contributors who were working on the project full-time have left the project or have shifted to free-time contributor status due to other obligations. This means their contributions will be limited to their spare time, which is quite sparse given a full-time job and family. This is a significant change from recent years, and if no new contributors come on board, it means that the rate of change will decrease dramatically. Our releases will necessarily have to become less frequent, and the amount of bug fixes and new features per release will decrease.

As a result of this, we have to take stock, and figure out how we're going to go forward.

First, as much as it pains us, we have decided to step back from Sunbird maintenance. Our next release will include Sunbird, but subsequent releases won't unless new contributors take on the work. Trying to support both takes too much time, so we had to make a painful prioritization decision.

Second, our next major goal is to have a version of Lightning that will work well with Thunderbird 3. Lightning won't be built-in to Thunderbird 3 for a variety of reasons (see this post by David Ascher for more on the topic), but we're still on track to have a release that gives users of Thunderbird 2 & Lightning a migration path. That version will be a significant upgrade from Lightning 0.9, including notable performance and usability improvements.

There's a lot of work to do to reach our goals, and as a result we're not yet planning much beyond that. This is where we need your input, both in terms of direction-setting -- given limited resources, where should we focus and why? and in terms of more directly useful help -- if you've been using Lightning for a while, and know a bit about mozilla technologies (any of XUL, JavaScript, CSS), or want to help test, write documentation, or do something else not listed here -- get in touch!

This is really a tremendous opportunity for anyone who is interested and willing to help make a difference here for the project and its hundreds of thousands of users -- get involved!

I hope to hear more from you soon!

Philipp Kewisch (Calendar Project - lead developer)

January 28, 2009

[January 28, 2009] Lightning/Sunbird Status Update

We're hard at work to fix many bugs in anticipation of our next release, so it's no wonder that 43 bugs were fixed within the last 16 days by our developers.

Of particular importance are 2 bugfixes, which have bothered our users for quite some time:

  • Bug 266249: Can't re-order or sort Calendars list
    This a long-standing request by our users that dates back to the old days of the Calendar extension for the Mozilla Suite. Philipp and Daniel finally made a fix possible. Thanks guys!
  • Bug 460988: OS settings for time format (12H/24H) and date format not respected
    Due to a backend change in Mozilla Core code, we were no longer using the date and time formats of the underlying operating system for a few months. This backend change was reversed last week, so things should again be as they should be.

Here's the list of all the 43 bugs that were fixed within the last 16 days:

  • Bug 266249: Can't re-order or sort Calendars list
  • Bug 328603: Calendar sqlite database issues; renaming of storage.sdb
  • Bug 357980: Slovak Holidays calendar
  • Bug 365404: Updater should use brand name string and not hardcode Sunbird
  • Bug 370519: Calendar file for Peruvian holidays
  • Bug 378754: Calendar Auto Configuration/Deployment
  • Bug 416138: Moving of all-day-events in weekview not possible, but shows possibility
  • Bug 460988: OS settings for time format (12H/24H) and date format not respected
  • Bug 462838: Using the 'Status' column in unifinder to sort events/tasks leads to an exception
  • Bug 463058: Remove remaining traces of Mozilla 1.8 compatibility
  • Bug 465319: Show Short Version of Navigation Pane String for small resolutions
  • Bug 466095: Text description still appears after task is deleted
  • Bug 466283: Remove gopher support from Calendar code
  • Bug 467338: Closing task or calendar tab with other tab focussed breaks the focussed tab
  • Bug 468420: Consolidation of the navigation bar
  • Bug 469146: Drag and drop tasks in month and multiweek views, doesn't change tasks' due date.
  • Bug 469477: Move fromRFC3339 from calGoogleUtils.js to calProviderUtils.js
  • Bug 469664: Selected tasks (with start/due date) are unreadable on windows with black desktop
  • Bug 470197: Update installer for Sunbird
  • Bug 471973: Make use of alarm interface in backend code
  • Bug 473012: Get Lightning to use nsIObserver for overlaying mailContext menus
  • Bug 473431: Latvia Holidays calendar
  • Bug 473518: Vanuatu Holidays Calendar 2009
  • Bug 473547: 'Start the week on' functionality is broken in multiweek/month view
  • Bug 473661: Use popupshowing event to hook Lightning into mailContext menus
  • Bug 473973: Calendar Functions failing (unable to log in)
  • Bug 473980: Colombian holidays
  • Bug 474207: Faked master items are missing calendar
  • Bug 474228: Fix calendar mode borders (again)
  • Bug 474275: Alarms don't store on storage calendar
  • Bug 474276: Add windowtype to all calendar dialogs
  • Bug 474322: Add tests for default alarms
  • Bug 474325: Google calendars disabled on startup
  • Bug 474332: Enable package-compare step on the Sunbird win32 nightly builds
  • Bug 474361: remove and rename calendar-decorated panes
  • Bug 474451: Dragging the scrollbar grip in the calendar list doesn't scroll the list
  • Bug 474561: Add pa-IN to list of supported calendar locales
  • Bug 474576: Error: Error parsing XML streamReference: Error: UTC is not defined
  • Bug 474596: New Task button in Tasks tab displays the icon from the New Event button
  • Bug 474638: Snooze or dismiss of alarms doesn't work
  • Bug 474646: Multiple alarm/reminder windows/pop-ups/popups (should get merged)
  • Bug 474814: Add data: to necko protocols default for Sunbird
  • Bug 475170: LDAP Lookup broken in Invite Attendees dialog

Many thanks go to all developers, contributors, localizers, testers, and supporters that have made this possible.

January 12, 2009

[January 12, 2009] Lightning/Sunbird Status Update

Happy new year to all our readers!
Here is the first installment of our status update in 2009. We fixed 30 bugs since Silvester 2008, many of those were new and updated holiday calendars, of which I wrote about extensively a week ago. Still a few important bugs were fixed, on which I will write about in more detail in the coming week.

Here's the list of the 30 bugs that were fixed within the last 12 days:

  • Bug 364487: Argentina Holidays
  • Bug 376139: Sri Lanka Holiday Calendar
  • Bug 377845: Decouple calendar manager from storage provider
  • Bug 383470: Russian public holidays
  • Bug 388000: Singapore Public Holiday
  • Bug 389787: Event dialog: Customizing toolbar mode (full, icons, text) not working
  • Bug 395770: Algeria Holidays (without religious holidays)
  • Bug 396881: Holiday Calendar for Pakistan [Only national days]
  • Bug 397180: South African Holidays
  • Bug 401458: Malaysia Holidays
  • Bug 403006: Pref driven calendar registration
  • Bug 410287: calICalendar.getProperty returns always value type string
  • Bug 415247: Support all free/busy time types (FBTYPE) defined in rfc2445
  • Bug 416190: Privacy of a meeting should not impact transparency
  • Bug 439620: Calendars w/o provider deployment should be marked as disabled
  • Bug 447683: Use full weekday name in Day and Week views' captions
  • Bug 456938: Add information about date range for holiday calendars to website
  • Bug 457586: Export calendar to HTML fails if task without due date exists
  • Bug 464705: No notification if attendee deletes a single event of a recurrence rule
  • Bug 469691: Unnecessary refresh of views
  • Bug 471329: Update Dutch Holidays calendar
  • Bug 471807: Italian Holidays calendar for 2000/2020
  • Bug 471813: Remove item attribute from calIAlarm to avoid cyclic references
  • Bug 471860: Use .trim*() in Calendar
  • Bug 472098: Update context menu code after checkin of bug 462684
  • Bug 472300: Consolidation of the Multiday-view and month-view
  • Bug 472306: Brazilian Holidays
  • Bug 472833: Frisian Holidays
  • Bug 472927: Add Indonesian locale for Calendar
  • Bug 473053: Missing QI causes exclamation mark and DAV_REPORT_ERROR

Many thanks go to all developers, contributors, localizers, testers, and supporters that have made this possible.

January 9, 2009

Calendar leadership changes

Hi,

almost two years have passed since I took over as calendar lead from mvl, and I think it's time for a change. So I am stepping back from this role. There are two main reasons why I think this is necessary:

  • I am going to have less time for calendar work in the future, and I fear I can't meet the requirements of that role in the future
  • I think it's simply refreshening to have a change in lead from time to time, to gather new views on things and do them differently

So who's my successor?
I am grateful that Philipp Kewisch has volunteered to step in. He's both smart and a great guy to work with, and has already done a lot for the project. So he feels like the natural choice to me. Please support Philipp in his new role!

Finally, I'd like to thank the whole team for supporting me during this time. It's been a great time for me and I learned a lot. I am sure we continue to have great releases! Having less time does not mean I am leaving the project ;-) I will certainly do a few features/bugfixes/reviews. Stay tuned!

best regards,
Daniel

PS: Philipp is at the top of the "2008 bug fix ranking"!!

December 31, 2008

[December 31, 2008] Status update and 2008 bugfixing stats

Ok, 34 days without a status update :-( Some of you might think, that there's nothing to report... which is wrong. We're still there, we're still fixing bugs, we're still working hard to on the next release. In fact, even with the Christmas holidays, the Christmas shopping, the year-end preparations and celebrations we still fixed 46 bugs in the last 34 days.

But before I come to that, let's look at 2008 as a whole. 2008 was the year, where we fixed 866 bugs. The highest count since the creation of the project eight years ago. Our leading bug-fixer that year was Philipp Kewisch (Fallen) with 190 bugs fixed. Right on his heels was Daniel Boelzle (dbo) with 176 fixed bugs, followed by Berend Cornelius (berend) with 96 bugfixes on third place. Congratulations guys!

One thing is bothering me though. As I already said yesterday we're way to dependent on very few precious souls, which do most of the development work in the project. If you look at the numbers 53,35% of all fixed bugs in 2008 were fixed by the top3 bugfixers. 63,39% were fixed by the top5 and nearly 77% (76,91% to be exact) were fixed by our top10 development contributors. Hopefully in 2009 we can broaden our base some more while still retaining the extraordinary talent that we have in our current developer base.

That said, here's the list of the 46 bugs fixed since the last status update:

  • Bug 353696: View/Number-of-weeks is not updated with Option weeks-to-show
  • Bug 384554: Kazakhstan Holidays Calendar
  • Bug 402336: Luxembourg Holidays 2008/2009
  • Bug 402365: Tabs break calendar mode view
  • Bug 404039: New added tasks don't appear in task list
  • Bug 405650: Integer overflow during creating custom reminders
  • Bug 420340: Snooze icons not transparent, grey background
  • Bug 432704: Drag and Drop in Month/Multiweek view fails
  • Bug 445729: Enable compare-locales for Calendar
  • Bug 451821: X-Props are not roundtripped (dismiss or snooze alarms doesn't work)
  • Bug 456379: Thunderbird3: Remove lightning calendar/task toolbars
  • Bug 458564: "Mail with no Date header not accepted here" failure
  • Bug 460266: 'Open task' menu via context menu is broken
  • Bug 461124: Mode/Tab doesn't change when using Alt+[1234]
  • Bug 462048: Monthly recurrence rule "Last Day Of Month" breaks Custom Recurrence Dialog
  • Bug 462109: Convert eMail to event/task -> Recipient should not added to the attendees list
  • Bug 462278: Week view should default to being scrolled to the "Day Starts At" time
  • Bug 463014: Columns in task list are not persistent
  • Bug 463050: Slight improvements to calIAlarm
  • Bug 465551: Additional localization comments needed in calendar-event-dialog.properties
  • Bug 466009: Calendar property page is missing Cancel/Ok
  • Bug 466655: Organizer adds an alarm and/or a category -> notification eMail dialog pops up
  • Bug 466664: Using Lightning makes text on Thunderbird's tabs too large
  • Bug 466981: Delete a single instance of a recurring event -> exceptions are gone
  • Bug 467001: itip exception
  • Bug 467069: Consolidate decorated-month-view-binding and decorated-multiday-view-binding
  • Bug 467156: Fix calendar mode borders
  • Bug 467330: Shortcalendarweek and shortCalendarWeek used in the same file
  • Bug 467336: Recurrence dialog: datepicker elements are missing a backround graphic
  • Bug 467351: Get rid of bug fix for bug 348009
  • Bug 467546: Consolidate calendar-multiday-view.xml and calendar-month-view.xml
  • Bug 467652: Reproducible hang when retrieving remote ICS calendar
  • Bug 467724: Sunbird win32 l10n builds missing since 25-Nov-2008
  • Bug 467756: Thunderbird versions on beta1 branch do not accept Lightning anymore
  • Bug 467909: Remove datepicker in Lightning sidebar
  • Bug 468020: Regex used to parse RFC3339 dates is incorrect
  • Bug 468077: Add gl to calendar/locales/all-locales file
  • Bug 468999: Add calendar.debug.log and calendar.debug.log.verbose to default prefs
  • Bug 469355: Frequent hangs of "win2k3 comm-central sunbird" buildbot
  • Bug 469554: Use pluralForm in Task tree - Due In column
  • Bug 469840: Recurring Sundays incorrect
  • Bug 470394: Guard all SQL transactions in case of database corruption
  • Bug 470623: Change the property name WARN_UNSUPPORTED_MSG to WARN_MIN_SUPPORTED_OS_MSG
  • Bug 470894: Finnish holidays for 2009
  • Bug 470987: Sunbird.exe should have the manifest with requestedExecutionLevel="asInvoker"
  • Bug 471195: 2009 Holiday File for India

Speaking on behalf of the Mozilla Calendar project, I want to say a big thank you to everyone, who has contributed to our project in 2008, be it by providing bug fixes, doing QA work, writing documentation, writing bug reports or just telling some friends about our software. Thank you very much! I hope you stay with us in 2009. Happy new year to everyone!

December 30, 2008

Looking back at 2008 from a calendar perspective

We're just two days away from 2009, so this is probably a good time to look back on 2008 and some of the good and some of the not so good stuff that happened in that year from my own perspective.

First the good stuff:

  • We released two fine releases this year with 0.8 in early April and 0.9 in late September. Both releases were well received by our users and had a considerable amount of new features and UI improvements, which most people loved.
  • Our development transition from the MOZILLA_1_8_BRANCH on CVS to the current Gecko 1.9.1 backend on Mercurial (the trunk) went very smoothly. Given the fact, that we had essentially abandoned the trunk for nearly 18 months and had had close to no testing on the trunk during our time on the branch, everything went very well. I think this speaks well with regards to the skills of our developers as well as the maturity of the mozilla platform that this was so rather painless.
  • We're well on our way to our 1.0 release and the integration of Lightning into Thunderbird 3. We've made some great progress on the road to integrate Lightning better into Thunderbird. The emergence of Mozilla Messaging and the energy that David Ascher and his newly assembled team have brought into the Thunderbird community make it much more exciting today to work on extending Thunderbird's capabilities than was the case 12 or 18 months ago.
  • We had some great team-building events this year. The 3rd face-to-face meeting in Hamburg, the Mozilla summit in Whistler and the Mozilla Camp Europe in Barcelona were great highlights of 2008 that both excited the community as well as the developers and other contributors that were part of these events. My thanks go to Sun for hosting the frist event and to the Mozilla Corporation/Mozilla Europe for hosting the last two.

Now the not so good stuff:

  • We have not yet come to the point where Lightning is part of the default Thunderbird installation. We're having some sort of a chicken-egg problem right now. The Thunderbird crew currently does not want to enable Lightning by default in Thunderbird 3 nightly builds because of quality reasons. But we want them to enable Lightning by default ASAP because that would broaden our testing and QA coverage significantly, thereby enabling us to remove those bugs faster and more easily, that the Thunderbird crew currently sees as blocking the activation of Lightning. We'll probably need to work this out early in 2009.
  • We have not managed to increase our development community in a significant way. I'm actually very concerned about this one, because right now the 3,75 people that Sun Microsystems has assigned to the project (2 full-time developers, 1 full-time QA engineer, 1 part-time (50%) build engineer, 1 part-time (25%) user experience lead) do most of the work in the project. That is not bad in itself, but looking at it from a medium- to long-term perspective, we really need to work much harder on attracting new talent to the project to place it on a much more solid foundation. We've started some efforts with regards to that in 2008 with (hopefully) improved communication activities between the core team and the community, but we obviously need to do much more in 2009 to make a significant change happen.

That is my perspective on 2008. I would be interested in hearing your take on the Up's and Down's of our project in 2008. Until that I wish everyone of our blog readers a happy new year 2009!

December 5, 2008

Sunbird/Lightning needs t-shirts!

We need great t-shirts!

Dear designers, we now have a great new community store, where anyone can upload designs, and t-shirts come out the other end.

We would really appreciate it, if you could help us with some cool designs for Sunbird-wear or Lightning-wear.

November 28, 2008

[November 28, 2008] Lightning/Sunbird Status Update

22 days with no update here :-(
Some of you may think that this is, because we're not making much progress, but this couldn't be farer from the truth. Actually we have fixed 57 bugs in the last three weeks, which is is really an impressive feat.

Because of the large amount of changes, we're asking everybody to go and download a nightly build and test it intensively and report all the bugs that you find in bugzilla.

As a reference, here's the list of the 57 bugs that were fixed within the last 22 days:

  • Bug 349892: No validation what (kind of data) is pasted
  • Bug 355927: Make description in install.rdf localizable
  • Bug 357399: Import of iCalendar with (invalid?) RECURRENCE-ID is incomplete
  • Bug 380289: Warning: Error in parsing value for property 'max-height'
  • Bug 390922: File | Exit menu item in Event dialog is misleading and should be removed
  • Bug 392465: Accept meeting invitation fails (has RECURRENCE-ID but no parent item)
  • Bug 405529: Event dialog: Typed start time or end time reset to default after moving focus
  • Bug 417585: Find Event toolbar button doesn't restore collapsed unifinder
  • Bug 419807: After closing task dialog now save-messagebox pops up
  • Bug 423861: No email prepared when the timeslice of an event is changed from the calendar view
  • Bug 437982: No accept/Decline buttons and NS_ERROR_NOT_INITIALIZED in calIItipItem::getItemList
  • Bug 453138: Display 'Last day of the month' recurrence rule as clear text
  • Bug 454933: Move month, day, week mode buttons into calendar view
  • Bug 455752: Update internal timezone database to version 2008i
  • Bug 456671: Hong Kong holidays updated with 2009 holidays added
  • Bug 457467: Sunbird/Lightning 0.9 source missing folder: mozilla/security/nss-fips
  • Bug 458828: Many errors when setting up zimbra calendar
  • Bug 459184: Timezone for Australia/Perth is wrong
  • Bug 459371: Convert eMail to event, try to add attendees -> Attendees dialog is read only
  • Bug 459402: Provide Sunbird l10n builds from comm-central
  • Bug 459645: Open Timezone dialog in attendees dialog -> error output
  • Bug 460041: Modifying an event remove its category
  • Bug 460413: Incorrect mail when accepting invitations with line breaks in subject
  • Bug 462326: Thunderbird with Lightning leaks on Shutdown.
  • Bug 462837: WARNING: Illegal character in window name prompt-occurrence-modification
  • Bug 462990: Outlook 2003 Calendar UID are line wrapped when added to Calendar
  • Bug 463047: Use js 1.7 iterators for properties bag and ical components
  • Bug 463060: Clean-up and move clipboard.js
  • Bug 463195: CalEvent/calTodo icalComponent setter: make sure object is properly reset
  • Bug 463267: Adding or modifying event throws exception
  • Bug 463282: Tasks cannot be created or imported
  • Bug 463401: Invitations dialog is empty
  • Bug 463407: eMail notification dialog on attendee side after first event change is wrong
  • Bug 463507: Add currentAppVersion to extensions.update.url default pref
  • Bug 463680: L10n windows builds are broken
  • Bug 463716: Icon and preview image for default theme missing in add-on manager
  • Bug 463784: Copy and multiple paste is broken, fails with DUPLICATE_ID error
  • Bug 463790: Do not pass compiler flags to --enable-optimize
  • Bug 464102: When closing Edit Task dialog, it will not prompt to save
  • Bug 464344: Deleted events from the server are still shown in Lightning after a refresh
  • Bug 464348: Adding Hebrew locale to Sunbird all-locales
  • Bug 464365: Selecting Write Button -> Message brings up two compose windows
  • Bug 464444: No event notification eMail when organizer deletes the last attendee
  • Bug 464560: Error: "this.setProperty is not a function" in calAttachment.js
  • Bug 464751: Missing button icons in Customize Toolbar dialog of Event/Task dialog
  • Bug 465227: Updated 2009 spanish holidays calendar for Mozilla Calendar project website
  • Bug 465285: Indonesian Holidays 2009
  • Bug 465717: WCAP calendars are not available in lightning/sunbird build 20081118
  • Bug 465739: Attempting to close a new task dialog with no changes asks if I want to save
  • Bug 465896: Many timezone startup errors on fresh profile
  • Bug 465911: Invite Attendees dialog shows no free/busy information
  • Bug 466119: Add Sinhala (si) to calendar/locales/all-locales
  • Bug 466164: Icon for calendar-timezones.xpi
  • Bug 466301: Make it easier to restore collapsed sidebar by adding a grippy to the splitter
  • Bug 466308: Sunbird Mac OS X nightly builds are failing since 19-Nov-2008
  • Bug 466367: Receiving acceptation from a Windows Lightning to a Linux version results in a garbled e-mail
  • Bug 466996: Implement single / plural form in alarmWindowTitle

Many thanks go to all developers, contributors, localizers, testers, and supporters that have made this possible.

November 6, 2008

[November 06, 2008] Lightning/Sunbird Status Update

Two weeks have gone by and the Calendar developers are fixing bugs like crazy, as evidenced by the 44 bugs that we could fix in the last 14 days.

Because of the large amount of changes, we're asking everybody to go and download a nightly build and test it intensively and report all the bugs that you find in bugzilla.

As a reference, here's the list of the 44 bugs that were fixed within the last 14 days:

  • Bug 281690: Days are shown two times in Minimonth (depending on timezone)
  • Bug 303663: Should ICS calendar always bumps DTSTAMP on all events when writing?
  • Bug 305432: Setting nativeTime sets timezone to UTC
  • Bug 351880: Selecting repeating event in Unifinder does not select events in Main View
  • Bug 358498: calAttendee::icalProperty bug with rsvp
  • Bug 361634: imip-bar should consider local status of iTIP/iMIP invitations
  • Bug 394902: Update libical
  • Bug 401597: Provide Sunbird nightly updates via aus2-community.mozilla.org server
  • Bug 412096: "New Event" button should have the same disabled state everywhere
  • Bug 414949: Add AMO integration pane for Sunbird
  • Bug 418345: Decide how to handle Generation property properly
  • Bug 431127: Move email-specific itip processor code to the transport
  • Bug 431383: Replace GIF with APNG throbber
  • Bug 445769: iMIP bar isn't updated after declining an invitation
  • Bug 446172: Add tentative invites to invites-counter
  • Bug 450565: When accepting an invitation the 'Default alarm setting' is not considered
  • Bug 452759: Tracking bug for 0.9 RC cleanup
  • Bug 456354: Get rid of "Today" toolbarbutton
  • Bug 456377: Integrate New Event, New Task into Write Button
  • Bug 457024: Crash during shutdown
  • Bug 457203: iTIP overhaul
  • Bug 458190: Broken unit tests
  • Bug 460263: Postflight on macosx fails when building thunderbird with lightning
  • Bug 460408: Shutdown crash at nsXPConnect::GetRuntime()
  • Bug 460649: Make use of new search textbox widget in unifinder
  • Bug 461166: e4x parser borks on surrounding white spaces and certain response elements
  • Bug 461328: Errors because chooseCalendarDialog.xul and calErrorPrompt.xul aren't packaged
  • Bug 461337: Sunbird tinderboxen need more disk space to stay green
  • Bug 461628: Failed to load jar:calendar.jar!/content/calendar/calendar-minimonth-busy.js
  • Bug 461709: Remove ctrl-q for quit on Windows (like Thunderbird)
  • Bug 461826: .ics attachments from Thunderbird/Lightning not compatible with iCal
  • Bug 461941: [404] link to http://www.mozilla.org/projects/calendar/lightning/build.html
  • Bug 461944: Selected event in unifinder is not highlighted in calendar view
  • Bug 462026: 301 and 302 redirects not done properly with caldav provider
  • Bug 462317: Crash [@strlen][@icalmemory_strdup] when closing a recursive event
  • Bug 462393: Sunbird tinderboxen busted [Error: mozilla/dist/bin/js: Not a directory]
  • Bug 462426: Throbber icon not visible in Customize Toolbar dialog
  • Bug 462447: Remove CVS leftovers from new buildbot mozconfig files
  • Bug 462490: Today pane -> 'new event' icon is defect
  • Bug 462837: WARNING: Illegal character in window name prompt-occurrence-modification
  • Bug 463060: Clean-up and move clipboard.js
  • Bug 463067: Small icons for Cut/Copy/Paste toolbar buttons are truncated
  • Bug 463079: Assertion failure, can't load any remote calendars
  • Bug 463082: Update screenshot section to Sunbird 0.9 release

Many thanks go to all developers, contributors, localizers, testers, and supporters that make this possible.

November 4, 2008

Philipp's Developer Notes: Our business has moved to a new location...

This post is mainly of interest to Sunbird/Lightning extension developers. Due to the recently fixed bug 290747, the chrome:// URL of the Sunbird main window has changed. This was long overdue, since we don't want to be shipping Sunbird-only code with Lightning.

For you as an extension developer, this means you will need to change the URL in your chrome.manifest when overlaying the Sunbird window. For the lazy, here a line to copy, paste and modify:

overlay chrome://sunbird/content/calendar.xul chrome://myext/content/myext.xul application={718e30fb-e89b-41dd-9da7-e25a45638b28}

If you use the Mozilla Build System to build your extensions (see this page for an intro on how to do that), then you should use this line in your jar.mn:

% overlay chrome://sunbird/content/calendar.xul chrome://myext/content/myext.xul application={718e30fb-e89b-41dd-9da7-e25a45638b28}

Of course this change is only needed now if you want to keep your extension compatible with the current nightlys, but at latest with the next version (1.0), you will need to take care.

October 23, 2008

[October 23, 2008] Lightning/Sunbird Status Update

Another week has gone by and we are making good progress with bugfixing and driving the integration into Thunderbird forward. Here's the list of the 19 bugs that were fixed within the last 8 days:

  • Bug 290747: Use sunbird.jar for sunbird specific files
  • Bug 329582: Remove gCalendarWindow
  • Bug 332796: Incorrect behavior of up/down arrow keys in unifinder
  • Bug 348481: Unifinder: focus is lost when moving between events via up & down key
  • Bug 351145: Entry unreadable in unifinder/task list
  • Bug 404468: Can not review calendar whilst reviewing invitations
  • Bug 412817: Improve ASSERT macro output or remove the macro
  • Bug 415509: Only the last event of a day is selectable by mouse click in day/weekview
  • Bug 451018: Change "Send attendees invitations via email"
  • Bug 452381: Don't pass strings to setTimeout
  • Bug 454543: Calendar Multiday-View: Performance improvement is required
  • Bug 456364: Thunderbird3: Remove Find Events, Delete, Print, Reload from Toolbar
  • Bug 459500: Cleanup packages-static, add missing and remove unnecessary entries
  • Bug 459803: Searching with unifinder causes error output and doesn't work
  • Bug 459908: Error "gCalendarStatusFeedback is not defined" when some dialogs
  • Bug 460234: Sunbird fails to load a calendar if HTTP Auth is required
  • Bug 460994: Crash Reporter is not enabled in Sunbird
  • Bug 461121: Thunderbird3: Move Invitations link into status bar
  • Bug 461162: Port bug 451466 to calendar [make -C calendar/locales wget-en-US]

Many thanks go to all developers, contributors, localizers, testers, and supporters that make this possible.

Meeting minutes of the Calendar developer status call (2008-10-22)

  • Participants: mschroeder, dbo, clarkbw, sipaq, fallen
  • Simon (sipaq):
    • sent email to gozer about l10n builds for trunk: gozer mentioned pretty near to l10n builds for sunbird, lightning more complicated. Localizers keep on asking sipaq about localized builds
    • L10n work on Thunderbird, finding unused strings.
  • Martin (mschroeder):
    • done some cleanup recently, removed gCalendarWindow
    • litmus test case cleanup with Andreas
  • Daniel (dbo):
    • has been left sick most of the week, but started working again yesterday
    • more on iTIP overhaul
    • some investigations into recent tb/ltn crasher
    • thinks about a parentless occurrences solution
  • Bryan (clarkbw):
  • Philipp (fallen):
    • getting rid of the toolbar items, either just removing or replacing them
    • posted bugs about what needs to be discussed
    • everything P1 that's in work
    • probably after barcelona: unifinder tied to gloda/exptoolbar
  • Simon reminds of blogging!
    • Daniel will try to write something up on the iTIP overhaul
    • Philipp will try to blog about the toolbar work or on integrating into gloda
    • Martin will come up with a topic by the weekend

October 15, 2008

Calendar code moving to comm-central and status update (October 14)

It's been a while since my last status update on September 19 and I want to give you an update on what we've been up to in the last four weeks.

But before I do that, I want to move your attention to the fact that all calendar code development has been moved away from the MOZILLA_1_8_BRANCH to our new repository comm-central, that we share with the Thunderbird and SeaMonkey developers.

This benefits us in various ways:

  • We get all the benefits of the Gecko platform development over the last two years (e.g. better memory management, faster javascript execution, better performance, etc.)
  • The platform is actually developed further, while only security and crash fixes were added to the 1.8 branch, which allows us to remove a lot of workarounds and ugly hacks in our codebase
  • We can now actively focus on getting Lightning in shape for the next Thunderbird release (TB 3) in early 2009. Before our move to comm-central Lightning on TB3 nightlies was broken in various ways and it's getting better every day now

There is one major downside as well:

  • As announced earlier on various occasions, Lightning 0.9 was the last release for Thunderbird 2.0.0.x releases and Sunbird 0.9 was the last release for Windows 98, Windows ME and MacOS 10.2 and 10.3.

    The reason for this is, that with the very small development team that we are having, we can only support one platform in an optimal way. For us this is Thunderbird 3, which we hope will feature a fully integrated Lightning extension in its default install. Everything else has to come after this longstanding goal of our project. There will still be Sunbird releases of course and we are planning to release Sunbird 1.0 together with Thunderbird 3

With that being said, it's time to mention the tremendous work of our developers in the last four weeks, where 63 bugs where fixed. Here's the complete list:

  • 386432:
    Unify front-end code of Lightning and Sunbird
  • 393748:
    Active tasks are dimmed in task list while completed tasks are shown in black
  • 405196:
    Unifinder: selecting event in unifinder doesn't select it in day or week view
  • 407961:
    Google sends Email reminders to all non-google attendees, 24 hours before the event
  • 414336:
    Last day in minimonth view is always not bold, independent whether events exist or not
  • 414957:
    Missing link on the Plugins pane of the Add-ons manager dialog
  • 419007:
    Invalid ics files don't trigger INVALID_TIMEZONE error, times are assumed as floating
  • 428091:
    Unifinder close button icon is misaligned/misplaced
  • 431775:
    Remove unused gopher files
  • 432440:
    A new calendar file of Israel holidays - 2008-2009
  • 435166:
    Better error handling for repeating tasks without start date
  • 437418:
    Libical shouldn't add extra linefeed after inner components of VTIMEZONE.
  • 437441:
    Finalize calendar-timezones.xpi
  • 437622:
    Upgrade via update mechanism fails, restart results in error on local calendars
  • 438807:
    Introduce "Meeting" category
  • 438964:
    Closing Edit Event window without modifications prompts Save Event dialog
  • 448753:
    Lightning and GData Provider are incompatible to Thunderbird 3.0b1pre
  • 450147:
    Some locales need to add "of" to the yearly-period-absolute-controls
  • 450391:
    Remove workaround for Task context menu
  • 451035:
    Remove the strings time.1 - time.23
  • 451912:
    Major update not offered when some language packs are installed
  • 453330:
    Make it possible to build Sunbird from comm-central
  • 453422:
    Add et (Estonian) locale for Calendar
  • 455182:
    Problems refreshing multiple Digest-authed CalDAV calendars
  • 455221:
    Graphic glitch on invitations-pane
  • 455262:
    Use PROPFIND instead of REPORT in CalDAV refresh()es
  • 455512:
    Dom_events.xpt differences bettwen ppc and i386 architectures breaks builds
  • 455728:
    Consolidate sort mechanisms in different views and trees
  • 455733:
    Consolidate filter mechanisms in different views and trees
  • 455768:
    Convert calendar/ from application/x-javascript to application/javascript
  • 455837:
    Support for re-enabling disabled calendars
  • 455863:
    Select event in unifinder scrolls multiday-view to time in its timezone
  • 455868:
    Update Sunbird and Lightning version numbers for comm-central builds
  • 455869:
    Remove MOZILLA_1_8_BRANCH ifdefs from calendar trunk code
  • 456037:
    Provide Sunbird nightly builds from comm-central
  • 456102:
    Minimonth should generally be able to show free-busy states
  • 456170:
    Cannot change authentication information for GData Provider
  • 456362:
    Thunderbird3: Move Today Pane Button into Status Bar
  • 456715:
    Remove COMM_BUILD ifdefs from calendar code
  • 456724:
    Add fy-NL to calendar all-locales list
  • 456865:
    Select Calendar dialog doesn't show Google Calendars when accepting invitations
  • 456923:
    Add a build target to compare bin/ and the package list
  • 457078:
    Incorrect Icelandic language name on download page
  • 457692:
    Switch the invites dialog to use local Address Book autocomplete on toolkit interfaces
  • 457755:
    Add l10n.ini file for Calendar for new python-based compare-locales
  • 457830:
    Delete extended properties
  • 457854:
    Drag Shadow doesn't disappear after event resize
  • 457890:
    Lightning 0.9/Google Calendar 0.5 do not synchronize Google Alarms anymore
  • 458078:
    Sunbird-bin shouldn't try and link directly with libtracemalloc anymore
  • 458163:
    Lightning 0.9 source tarball is missing on FTP server
  • 458201:
    Link to 64-bit Linux version of Lightning is incorrect
  • 458368:
    Move and integrate calendar/prototypes to calendar/base
  • 458404:
    Remove -moz-pre-wrap from calendar-views.css
  • 458492:
    Llink to lightning/nightly/latest-comm-central/ builds
  • 458589:
    Drag and drop ical (.ics) attachments onto calendar icon does nothing
  • 458611:
    windows nightly build link is broken
  • 458808:
    Remove some unused entities from calendar.dtd
  • 458830:
    Lightning build instructions are obsolete
  • 458858:
    Lightning keeps asking for password on startup
  • 459107:
    Sunbird startup error (NS_ERROR_FILE_NOT_FOUND - nsIXPCComponents_Utils.import)
  • 459182:
    Syntax error in iCal file for Israeli holidays
  • 459432:
    Please move to Gecko 1.9
  • 459951:
    Update to links and description for CSV to iCal tool

Many thanks go to all developers, contributors, localizers, testers, and supporters that make this possible.

October 14, 2008

Fred's developer comments: Cleaning up the trees - the first step

A few days ago, a new Calendar contributor, Fred Jendrzejewski, fixed bug 455728 and bug 455733. I believe that what he experienced here might be beneficial for other would-be contributors, so I asked him to write about his experience in the calendar codebase. Here is his report:

  • Some introducing things
    Few weeks ago I started to work on the mozilla calendar code. My first interesting patches became available in the nightly builds last week and I would like to report about my experience. As this is my first blog post for the mozilla community, I will introduce myself shortly. I am a German 22-year-old physic student in his last year. Since two years I have the great pleasure to live in Paris and to get to know the French way of life (I love it).

    A few months ago, I started to work on the Spicebird project, but the problems in the calendar code also catched my attention. I began working on the task / event lists and didn't like that everything was written twice. The idea was that tasks and events are very similar. This property is used almost everywhere in the code( by the calIItemBase object), except those trees. So I decided, highly motivated, to rewrite the two trees and to work on the simpler code.

    So, I asked Philipp and Berend for there opinions and they liked it, but over time, the tree code became so complex that it was almost impossible to review the patches nicely. I had to step back and simplify the code first. Following Berends proposition, I started to sort out the hole mechanism for sorting and filtering items in the trees.

  • The new way of sorting and filtering
    So I sorted out functions, modified the code and abstracted it. If you want to sort a item array now, you don't need to write this function completely by your own: you can use a preset of sort functions in the calUtils.js file. Even more practical is the solution for the filtering. We now have a calFilter object, which can handle the most common filtering mechanisms for you. We now have built-in solutions for property filtering and date filters.

    First, you can associate a text field for text search to the filter object, just by passing the id as a string to the text-field to the filter. Another possibility is to set a property filter out of the property filter bag (a predefined set of filter functions) in the calFilter object. This code is just one string away from usage, as the text-field filter. If you don't like any of the built-in functions, you also can write your own filter function and set it as the property filter of the calFilter object. Here again, the date filter can use a predefined set of times (today, this week...). But you can also write your own date filter. To filter out the next 8 days you have to pass the string to the calFilter and it should work already. You'll still have the possibility to set the start and the end date manually. This is done in only one line.

    Why is it nicer? I think that these are some nice functions that developers of the core code and for extensions can use. If they find other very common filter functions the filter bags can be extended easily. So actually I have cleaned up the trees now and we have created a first common set of filter and sort functions in the calendar code, that can be used as a standard implementation.

  • What will come?
    Now I started to work on a unification of observers and tree internal mechanisms. It seems possible to have only one tree implementation with only minor modifications for the event or task tree. Wait and see...

October 2, 2008

L10n dashboard now available to Calendar localizers as well

Thanks to gozer, Mozilla Messaging's build guru, we now have a working l10n dashboard for the calendar localizations. Localizers, who also do l10n work for Firefox or Thunderbird should already be familiar with the dashboard, for the others here's a quick explanation of the dashboard table:

  • Locale: The locale code for each calendar locale
  • Tree: The tree ID, the Mozilla Messaging dashboard currently knows two trees:
    • tb3x: Information on the localization status of the Thunderbird localization of a given locale
    • cal3x: Information on the localization status of the Sunbird/Lightning localization of a given locale
  • %: Percentage of completion of a locale (Please note, that this will probably never reach 100%, because there are some strings in each localization which shouldn't be translated)
  • Errors: Number of localization errors
  • Missing: Number of missing strings
  • Unchanged: Number of unchanged strings excl. access- and commandkeys (this relates to the % number mentioned above)
  • Stats: Graphical history of locale status (H) and compare-locales output (C)
  • Status: Graphical indicator for the current state of the localization

I hope this helps our localizers in working even more effectively than they have already done in the past (if that's even possible). Thanks again, gozer!

September 23, 2008

Lightning 0.9 and Sunbird 0.9 are out!

The Calendar Project is proud to report, that the 0.9 release of Lightning and Sunbird has been completed and is now available via AMO and the Calendar Project website.

Five and a half months after the 0.8 release we move one step closer to our 1.0 release, currently planned for early 2009. Notable improvements of this release are:

  • Events spanning days now have a visual indicator indicating them as connected events
  • When reloading a remote calendar a progress indicator is now shown
  • The so-called "minimonth" (small calendar month in the upper left) has been given a visual overhaul
  • The calendar views (day, week, multiweek, month) have been given a visual overhaul
  • The today pane can now be displayed in calendar mode and task mode as well [Lightning-only]
  • CalDAV support and interoperability with various CalDAV servers has been improved
  • iMip/iTip support (support for email invitations) has been greatly improved [Lightning-only]
  • The application stability and memory consumption has been greatly improved
  • Lightning 0.9 is intended to be the last release for the Thunderbird 2 series. For the future we are planning to integrate Lightning fully into the upcoming Thunderbird 3 release [Lightning-only]
  • Icelandic, Romanian and Traditional Chinese were added as new languages. Unfortunately no builds in Macedonian or Turkish are available for 0.9
  • A full list of all the 397 changes that have gone into this release can be found on the Rumbling Edge website

Lightning 0.9 and Sunbird 0.9 are available for Windows, Mac OS X (universal builds), Linux, Solaris (Intel) and Solaris (Sparc) in 31 different languages including English.

Please use the following links to download the release:

Please read the release notes for Lightning 0.9 and Sunbird 0.9 before downloading.

Thank you again to all our developers, contributors, localizers, testers, and supporters. We would not be able to do this without your assistance!

September 19, 2008

Lightning/Sunbird 0.9 RC2 is out!

The second release candidate (RC2) of our 0.9 release is available! We really think that this is it. If nothing serious shows up during the next few days, this RC will become the 0.9 final release. Here are the links:

The Lightning builds contain all available locales (30). To download a localized Sunbird build, you'll need adjust the link and replace the "en-US" string with the locale code of your locale, e.g. "ko" for Korean.

Here are the fixes that went into this 2nd RC:

  • Bug 416195: Selected calendar not highlighted in import and export
  • Bug 454664: Events not displayed after opening ics file
  • Bug 454691: Exception occuring when multiple transactions are occuring
  • Bug 454757: Wrong usage of this/thisCalendar
  • Bug 454983: Error when editing repeating event with exceptions
  • Bug 454998: Free/Busy lookups don't work
  • Bug 455049: Toggling offline results in uncaught exception
  • Bug 455128: Exception on cached caldav calendars
  • Bug 455130: Potential transaction mismatch between sqlite databases
  • Bug 455132: Pasting event to disabled calendar deletes all events
  • Bug 455133: Dragging repeating event to the date of a previous deletion deletes it too
  • Bug 455182: Problems refreshing multiple Digest-authed CalDAV calendars
  • Bug 455232: Egroupware installation gives error when querying for tasks
  • Bug 455289: Offer WCAP experimental caching
  • Bug 455298: Impossible to load remote caldav
  • Bug 455462: Hovering over event in week view causes visual bug

September 11, 2008

[September 11, 2008] Lightning/Sunbird Status Update

Now that 0.9 RC1 is out, I thought some of you might be interested in the latest news on what patches made it into the RC1. We fixed 34 bugs in the last two weeks and most of the bugs in the list below made it into the RC1 (I'm not 100% sure, which bugs didn't make it, sorry). So that is really good news and with you guys out there testing the hell out of those builds, I'm sure we can make it to the RC2 and the final release in a very short timeframe.

Here are the 34 bugs fixed within in the last two weeks:

  • Bug 202360: Color Coding of Tasks and Events (multiple classification)
  • Bug 348009: Drag and Drop in Month view freezes Un*x desktops
  • Bug 354979: Timezone names sorted by their English names
  • Bug 363218: Migrator: migrating evolution files not working
  • Bug 392561: Need to revise provider error notifications
  • Bug 428544: Unable to dismiss reminder for repeating events that are sync'ed with Google Calendar Sync
  • Bug 428851: Accepting Meeting Invites Does Not Update Google Calendar
  • Bug 433772: Edit/New Task Dialog resets Due Date if Start Date is modified
  • Bug 437318: optimize caldav queries for "long" calendars
  • Bug 437441: Finalize calendar-timezones.xpi
  • Bug 437944: Memory leakage in the calendar Status-Observer
  • Bug 438964: Closing Event window without modifications prompts Save dialog
  • Bug 445736: Wcap event/non-server attendee -> organizer gets no Update button in reply mail
  • Bug 446002: Tooltips in calendar list always show the first readonly calendar name
  • Bug 449574: aDOMWindow errors
  • Bug 450034: Month view shows weekends like out-of-current-month days
  • Bug 450104: insertion of data is extremely slow compared to other platforms
  • Bug 452214: CalDAV provider interop issues with newer CalendarServers
  • Bug 452231: Colliding events: events collide with special invitation status;
  • Bug 452610: Disable CalDAV scheduling (make pref-based)
  • Bug 452759: bump sunbird version
  • Bug 453195: Allow providers to disable imip
  • Bug 453198: Allow arbitrary reminder times
  • Bug 453250: turning calendars off not working
  • Bug 453409: Calendar list scrollbar hides read-only icons
  • Bug 453453: Error in calAttendee.js when opening properties dialog
  • Bug 453454: Principal namespace list will always be empty with multiple home sets
  • Bug 453794: Cannot update/create any event on a Google calendar
  • Bug 454180: Support for server-based auto-scheduling
  • Bug 454195: calendar overlapp when floating timezone is involved
  • Bug 454213: Parsing errors if server doesn't return valid XML on getetag
  • Bug 454478: No drag shadow displayed in month/multiweek view anymore
  • Bug 454540: [CalDAV] Ensuring trailing slash with replace fails
  • Bug 454637: firstInRealm always false

Many thanks go to all developers, contributors, localizers, testers, and supporters that make this possible.

0.9 RC1 Available - We Need You!

Finally! The first release candidate (RC!) of our 0.9 release is available! I know you've been waiting a long time for it, so grab yourself a build. Here are the links:

The Lightning builds contain all available locales (30). To download a localized Sunbird build, you'll need adjust the link and replace the "en-US" string with the locale code of your locale, e.g. "ko" for Korean.

We really need your help to complete the rest of the L10N Checks and the Update testing, as you can see from our Test Plan.

The Update Testing is of special concern to us, because historically this has always been where we have found critical issues in our release candidate builds. So, please take a look. Feel free to update the test plan wiki or leave a comment on this post with what you tested, so we can track what has been done versus what is still remaining to do.

If you have problems or questions, please drop by #calendar-qa on IRC.

Happy Testing!

August 31, 2008

Berend's developer notes: My XBL adventures in the calendar views

I recently fixed some issues around the event boxes in the calendar views (see calendar-multiday-view.xml and calendar-view-core.xml). They are implemented by means of XBL and although they are certainly a very sophisticated use case I found that the implemented bindings do not always utilize all features of this markup language. Probably some of these features are also missing in many other bindings around the world and so I thought this is worth a blog entry :)

Basically an XBL binding contains several elements: One 'content' element where the structure of the binding is defined, one 'implementation' element, that controls the behavior and one 'handlers' element that listens to events.

For the maintenance of an arbitrary XBL binding it is imperative to keep as much information as possible within its 'content' element. This way it is far easier for the developer to perceive the structure and logic of the binding and it also helps to avoid redundant information that may lead to bugs during the development process. If the developer should decide to modify the structure of a binding binding he will most likely run into problems when he then has to adjust the 'implementation' code at many places, too. In this context the 'attribute inheritance' feature executed by the 'xbl:inherits' attribute proves to be very helpful. This attribute takes care that modifications are forwarded down to the appropriate child elements. When it is done like this, attributes may be directly set at the binding without any internal knowledge about it.

In some cases anonymous elements were added unnecessarily to the bindings. For example quite often one box element can be removed just by extending a binding to a 'xul:box' or whatever. 'Spacer' elements may be exchanged by setting the 'pack' or 'align' attribute to the parental element.

I observed that there is also some redundancy in the code. I remember that this has not been resolved with regards to the possible performance loss. From all I have read and heard about XBL this argument is to be taken seriously, but I believe that the use of the 'children' tag within a binding could be an elegant solution, because it allows to add various anonymous content at a defined insertion point.

XBL goes hand in hand with cascading stylesheets - whereupon one should pay close attention to move all style settings to '.css' files. In my struggle with the calendar views I was frequently confronted with completely unexpected problems and side effects caused by seemingly harmless style attributes. For example I could see that setting attributes at certain elements seem to force a distinctive relayout and consequently trash the whole view because of too many other 'compact' widgets involved. This and some other side-effects have made me occasionally become anxious to destroy the layout by merely looking at the .css files!

Last but not least I certainly don't get around to admit that the views have always run quite reliable and offer a vast functionality with an appealing design! As we all know a lot of blood, sweat and tears have accompanied their implementation...

I hope that we will find some time to give the code its finishing touch at the beginning of the next release cycle so that we have time to react to the inescapable regressions that will come up.

August 29, 2008

[August 29, 2008] 0.9 release status update

I guess it's time to give you an update on our efforts to finally nail down the 0.9 release.

The major newsitem is, that we have decided on our last developer conference call that we will cut CalDAV scheduling from the list of 0.9 features. The reason behind this is, that we have found that this feature is still too immature for wide-spread consumption and the list of regressions would likely put the release date a few weeks (or even months) in the future. Therefore CalDAV scheduling will be disabled by default in 0.9, but interested users can enable it, by setting a hidden preference via about:config.

With that out of the way, we are now down to nine release blockers, where only four of the nine blockers will require code changes and the other five covering tasks to be done during the release preparation process by our build and documentation crew.

So hopefully, we can fix the four remaining code issues during the next week and give you first release candidate (0.9 RC1) shortly thereafter. We also have fixed some other bugs (15) during the last week. Here's a list of last week's bug fixes:

  • Bug 326792: 'Next' button doesn't change to active when dragging URL into text field
  • Bug 366482: "Edit as new" for opened eml files results in a broken compose window
  • Bug 409166: Missing crop attribute in agenda checkbox
  • Bug 437412: Zero-length and short events are shown at the wrong times in timegrid
  • Bug 446303: Use the "RELATED-TO" property
  • Bug 447800: Month View is missing a right border
  • Bug 447814: Reloading remote calendars shows wrong progress in status bar
  • Bug 449449: Invitations Link: CPU usage every three minutes
  • Bug 450563: Attendee gets organizer alarm setting if he accepts iTip/iMip invitation
  • Bug 451585: Use ICS service for ics parsing in CalDAV
  • Bug 451827: no local storage calendar, error at startup
  • Bug 451937: Titlebar changes to text of Calendar Mode at midnight
  • Bug 452379: Accepting an invitation on caldav (Bedework) doesn't work (regression)
  • Bug 452392: Minimum height of eventboxes is too little
  • Bug 452417: Readonly events should not show grippies on hover event

Many thanks go to all developers, contributors, localizers, testers, and supporters that make this possible.

August 22, 2008

Philipp's Developer Notes: Using CalDAV with Google Calendar

When I arrived at the Mozilla Firefox+ Summit 2008 on the 28th, I was surprised to hear, that Google announced the release of CalDAV support for Google Calendar while I was up in the air. At first I thought Simon was joking when he told me, but he was not!

I had very mixed feelings on this step. On one side this is a really great step. Supporting CalDAV means that more applications will be able to natively read and write to Google Calendar, without the need for third party applications that proxy the write process through the web-based API. In the long run this means less work for me since at some point the Provider for Google Calendar will not be needed anymore. Instead of fixing the Provider for Google Calendar, I can focus on CalDAV bugs, which benefits both Google users and those of other servers. Also this is something I've been hoping for a while now and have asked Google employees about in the past.

On the other side, I was of course a bit disappointed, that all the work and pain I've put into the Provider for Google Calendar is now being made obsolete. This didn't last long though, since thats just the way it goes with software and I was always aware that at some point something like this would happen. Nevertheless I have no regrets since I think I've done a great deal for users of the Provider and the feedback I've gotten was overwhelming (and mostly positive). Writing the Provider also taught me a great deal about the Mozilla codebase and how the calendar application works, so it was definitely worth it!

Since the above sounds much like I'm going to drop work on the Provider right away and suggest to use CalDAV, let me tell you that it is quite the contrary. As noted in Google's blog post, the release of CalDAV support is developer-focused. There are a number of known issues and application support is currently quite minimal. At the time of release, as far as I know only Apple iCal actually works. Therefore, I'd still suggest to use the Provider for Google Calendar until Google's CalDAV server is more mature.

Using a few workarounds introduced in bug 448561 and bug 451455 I was able to make Sunbird/Lightning's CalDAV work with Google. If you are interested in testing, please feel free to take a look at the latest nightlies (Sunbird / Lightning).

Philipp

[August 22, 2008] Lightning/Sunbird Status Update

We're getting nearer and nearer to our first 0.9 release candidate. With 31 bugs fixed in the last 10 days, many of them release blockers, we're now down to only 11 release blockers at the time of writing. 8 of those 11 bugs currently still need a patch, so if anyone of our readers wants to help out, now would be a great time.

On the localization front it looks like the Macedonian and Turkish localizations will not be able to make it, but Slovenian will, so we'll still be in better shape l10n-wise than we were during the time of the 0.8 release.

For anyone interested, here are the 31 bugs fixed within in the last 10 days:

  • Bug 316927
    Fix dataloss, when importing events/tasks with multiple categories
  • Bug 405222
    Time format not respected in prefs window
  • Bug 406581
    Enhance cal::detectTimezone() to dump errors
  • Bug 409921
    Implement CalDAV scheduling
  • Bug 417629
    Import ICS file to CalDAV server fails to handle recurrence-id correctly
  • Bug 435447
    Today pane events don't change color when calendar color is changed
  • Bug 444532
    Select 'Convert to->Task/event' in the preview pane in mailmode causes an uncaught exception
  • Bug 447996
    Month View doesn't display the full month anymore
  • Bug 448205
    Calendar mode does not set Thunderbird Application title (regression)
  • Bug 448561
    Allow CalDAV provider to work with Google Calendar's new CalDAV
  • Bug 448771
    Open task context menu in calendar view -> output in error console
  • Bug 448946
    Switching calendar views via keys ALT+[1-4] is broken
  • Bug 449019
    Mouse over event in unifinder
  • Bug 449401
    Storage provider does cleanly separate items of the same id across different calendars
  • Bug 449573
    Deleting item/items from local ics file fails with MODIFICATION_FAILED, items missing
  • Bug 450107
    View -> Tasks in View command behaves erratic in Month view
  • Bug 450285
    Startup Error: mozStorage exception: createStatement failed (regression)
  • Bug 450381
    Itip email are not sent while being offline
  • Bug 450398
    Add Icelandic (is) and Chinese Traditional (zh-TW) to shipped-locales
  • Bug 450447
    Remove pa-IN (Punjabi) and mn (Mongolian) from all-locales
  • Bug 450451
    Remove mk (Macedonian) and tr (Turkish) from shipped-locales
  • Bug 450611
    Add space between icon and button text in occurrence selection dialog
  • Bug 451020
    Support for mixed server/non-server attendees
  • Bug 451162
    Organizer's email address isn't in iMIP invitation request
  • Bug 451174
    CalDAV provider can fail to check inbox
  • Bug 451327
    Move mouse to the unifinder, but not over an event -> error output
  • Bug 451353
    Emphasize open/unanswered invitations
  • Bug 451383
    Tooltips are not updated and display wrong information (regression)
  • Bug 451455
    CalDAV provider can delete items mistakenly
  • Bug 451529
    Deleting invitation copy sends out CANCEL to all attendees
  • Bug 451539
    Recurring items and attachments

Many thanks go to all developers, contributors, localizers, testers, and supporters that make this possible.

August 20, 2008

Bruno's developer notes: CalDAV Scheduling Needs You!

One of the things we're excited about for the 0.9 release is the addition of CalDAV scheduling support. CalDAV scheduling is an emerging standard; the first widespread use of it was in Mac OS 10.5, where it allows iCal users not only to store their calendars on a shared server, but also check each other's free/busy schedules, send each other meeting invitations, respond to meeting invitations, and so forth.

With 0.9, people using Sunbird and Lightning will be able to do all these things, using not only Mac OS 10.5 servers but also a growing number of other CalDAV servers, both open-source and otherwise. And they'll be able to do so regardless of whether the other calendar users they are interacting with are using Sunbird, Lightning, iCal - or some other CalDAV client we haven't even heard of yet.

CalDAV scheduling support has just started to appear in nighlies over the last few days. It will be filled out further over the next few, but what it really needs most right now is TESTING! We're really hoping the community will give this new code a serious workout and help us find whatever bugs remain so that it will be rock-solid for the 0.9 release. As Daniel has noted, testing nightly builds can be dangerous to both your profile and your data - so be careful but please do bang at it and let us know what you find.

August 14, 2008

Daniel's developer notes: Be careful when using nightly builds...

There has been some trouble with an accidental SQLite database schema change I've backed out on monday (see bug 446303), which has forced people (which have updated to that specific nightly) to manually restore their storage.sdb.

I'd like to remind everybody that the nightly builds of Sunbird and Lightning are development versions that might break your profile and data. Even though the recent case didn't bring any dataloss (at least I am not aware of any) and a workaround is available, please take care and do backups before updating.

To prevent SQLite database schema trouble in the future, we've decided to require an additional second review on schema changes, and may add a bug keyword to tag those important changes.

I hope you understand...

August 12, 2008

[August 12, 2008] Lightning/Sunbird Status Update

We're getting nearer and nearer to our first 0.9 release candidate. With 34 bugs fixed in the last two weeks, many of them release blockers, we're now down to only 18 release blockers at the time of writing. 10 of those 18 bugs currently still need a patch, so if anyone of our readers wants to help out, now would be a great time.

On the localization front, 30 of our 33 are ready for the release (hopefully Macedonian, Slovenian and Turkish will still be able to make it), so we'll likely be in better shape l10n-wise than we were during the time of the 0.8 release.

For anyone interested, here are the 34 bugs fixed within in the last two weeks:

  • Bug 199732
    Events spanning days are seen as multiple events (display)
  • Bug 311773
    Initial landing of the Islandic Calendar localization
  • Bug 348264
    ORGANIZER property lost after import + export
  • Bug 363932
    Delete Warning should be redesigned
  • Bug 390313
    Tooltip too narrow with some Windows themes, text is truncated (regression)
  • Bug 412606
    Storage provider does not store X-params of attendees
  • Bug 421716
    CalDAV provider should support getctag
  • Bug 434354
    CalDAV provider should cope with multiple principal-collection-sets
  • Bug 435174
    Today Pane not displayed after startup when using Spamato extension [Error: LOG is not a function]
  • Bug 437412
    Zero-length and short events are shown at the wrong times in the timegrid (regression)
  • Bug 437420
    Wrong display of WCAP all day events in the unifinder
  • Bug 440106
    Editing of an event on a cached calendar in online mode isn't possible
  • Bug 444276
    Try to accept a iTIP/iMIP invitation (open Mail in a separate window) -> select calendar dialog is empty
  • Bug 440358
    No WCAP calendar events visible after restart of sunbird
  • Bug 440700
    [Trunk] Cannot switch back from Calendar to Mail Mode [Error: mailToolbarMenuItem is null] (regression)
  • Bug 442915
    Warning: reference to undefined property this.mTaskArray[aRow]
  • Bug 445287
    Cache combined with read-only calendar spawns error flood
  • Bug 445492
    Use 'DEL' key to delete an event of a rule -> 'Deleting Repeating Event' dialog starts two times.
  • Bug 445731
    Editing an saved event with an attendee -> 2 mails were send, one 'Event Invitation', one Event Canceled'
  • Bug 445995
    Event dialog also contains elements from task dialog (regression)
  • Bug 446512
    Recent nightlies of Lightning cause NULL-pointer dereference crash in TB
  • Bug 447997
    Multiweek View doesn't update when changing menu View -> Number of Weeks selection
  • Bug 448206
    Calendar creation wizard acting weird when creating a calendar with duplicate URI
  • Bug 448325
    Today Pane context menu: Delete command inside 'Convert To'
  • Bug 448453
    Caldav Calenders working with 0.8 don't load under 0.9pre
  • Bug 448753
    Lightning and GData Provider are incompatible to Thunderbird 3b1pre (Gecko 1.9.1) builds
  • Bug 448803
    CalDAV provider should not query-by-uid for moved items
  • Bug 448886
    Unable to edit event: comes up with attendee confirmation
  • Bug 448946
    Switching calendar views via keys ALT+[1-4] is broken
  • Bug 449031
    Add meta data API to memory/storage
  • Bug 449177
    Support free-busy querying for the GData Provider
  • Bug 449424
    Error "Component is not defined" in calendar-dnd-listener.js and sun-calendar-event-dialog-recurrence.js
  • Bug 449917
    Opening context menu without having selected an item reveals blank entry
  • Bug 449964
    2008-08-07 gdata-provider is last one that works

Many thanks go to all developers, contributors, localizers, testers, and supporters that make this possible.

August 5, 2008

Daniel's developer notes: How to present infinite recurring event series?

Sunbird and Lightning both have a feature called the "unifinder". It's the box at the top if you click the toolbar "Find Events". Next to the search text field you can select different time ranges to be scanned matching your search (or just present all matching the range if you leave it blank). The drop down box offers several time ranges, such as "All Events", "Today's Events", "Next 7 Days", ...

While the ranges look sensible, they cause me some headache, more specifically the unbounded ranges "All Events" and "All Future Events" w.r.t. infinite recurring events. If you select one of the unbounded ranges (e.g. "All Events"), the current implementation will only show the master items of recurring events, because there's no finite range to expand into. It shows the events in their condensed (unexpanded) form. While this approach misaligns the UI a bit (the other filters show recurring events in expanded form), it looks like a feasible way at first glance (modulo bugs around it). But there's yet a further problem with this approach: You could override´single occurrences of a recurring series, e.g. modify the start and end of an occurrence. Those are currently left out.

The latter and the inconsistent UI let me doubt that showing event series in condensed form is really what we want here, moreover because IMO showing expanded occurrences is far more intuitive. Solving the problem, I can imagine two solutions:

  • We simply drop the unbounded ranges (no "All Events", no "All Future Events").
  • We dynamically expand the list as the user is scrolling it down, if this feels good.

For the moment, until we have a good solution, I'd vote to remove the unbounded ranges.

I hope there are more options that we could consider, and would like to hear your feedback on this topic...

August 1, 2008

Simon's developer notes: Back from Mozilla summit

So I'm back from the Mozilla summit and hope to get out of my jet lag within the next few days. It was really a great adventure with bears, a power outage and a rockslide which got me first floatplane flight ever.

While many people seem to believe that Microsoft is behind all of this, I believe that this was all carefully planned out by Dan Portillo and John Lilly of MoCo :) My hat goes off to dan, who did a perfect job of organizing this whole event for over 400 people.

The summit was great in every aspect. I met lots of people, who I had only known online for years like Gary from the Rumbling Edge, Robert Kaiser (KaiRo) of SeaMonkey fame, Wayne Mery (Thunderbird QA), Axel Hecht (Pike), Mitchell Baker, the hopefully soon to be appointed MoFo Executive Director Mark Surman and many more who I can't possibly all name, because then this post would get a few pages longer.

The sessions were great (I went to most of the Calendar/Thunderbird related ones) and I even got to hold one session myself, where I could introduce myself to a lot of localizers in my new role as Thunderbird localization coordinator.

Besides the sessions, I also got the chance to talk with some people more in depth about some issues, most notably with Mitchell Baker, David Boswell and Mark Surman about sorting out the issues of getting the Calendar Project into the Mozilla Foundation directed giving program, the Mozilla Foundation vision and more ways of cooperating with the Mozilla Foundation and leveraging its assets to move the Calendar Project forward. We also did some product planning regarding the necessary steps for enabling Lightning in Thunderbird.

There's much more, that I could talk about, but I will just close this post by saying that this was a really great event, that many people will likely be talking about for years to come. Thanks Mozilla for organizing this!

July 29, 2008

Simon's Developer notes: Showing our bug fixing progress

Recently I was thinking about how we could show to people the progress in terms of activity, feature work and bug fixing that the Calendar Project has seen in the last few years. I came up with a number of bugzilla reports showing the number of bugs fixed per quarter since the inception of the Calendar Project.

I put all those numbers into a spreadsheet and created a graph from that and here it is:

While it's important to note that not all bugs are equal (A very complex thing like "Support device sync" would be one bug as would be something trivial as "Change window title from 'Edit event' to 'Open event'"), I think it still gives a good sense on the kind of increased activity that one could notice within the last few years in the Calendar project.

If anyone is wondering why we had such a huge drop of fixed bugs in Q2 2007, that was due to one of our key contributors being away for a few weeks in that time frame and the other developers waiting for him fixing a particular bug that was blocking the 0.5 release that was supposed to be released in that time frame.

July 28, 2008

[July 28, 2008] Lightning/Sunbird Status Update

As promised here is a new status update.

As you can see, the last 16 days have brought us a huge load of 45 bug fixes in anticipation of the upcoming 0.9 release. Unfortunately, due to the high amount of remaining blocking bugs (28 at the time of writing) we had to postpone the originally planned release date of 0.9 RC1 to a later date. I'll keep you posted on this.

Here's the list of all the 45 bug fixes:

  • Bug 319909
    Failure to properly serialize/unserialize ics ATTACH properties
  • Bug 352213
    Localizability issues with newevent.recurrence.every.label in calendar.dtd
  • Bug 374464
    Context menu: rename Edit Item / Delete Item entry to Edit / Delete
  • Bug 409845
    'Preferences' and 'Quit Thunderbird' are disabled in Calendar mode and Task mode
  • Bug 409921
    Implement CalDAV scheduling
  • Bug 411799
    fixing potential etag PROPFIND / PUT race
  • Bug 412962
    The filters of task pane should contain 'Open Tasks' or 'Not Completed Tasks
  • Bug 412971
    Bad formating of invitations - Weblinks in invitation unusable
  • Bug 413103
    Unify and localize string building for time intervals [start + ' - ' + end]
  • Bug 416239
    Crash on quit seems to point to libwebdav; eliminate use of webdav extension"
  • Bug 423172
    Leaks in calRecurrenceInfo
  • Bug 426153
    Add link to event page in event editing dialog
  • Bug 428035
    Freebusy requests repeated on related scheduling outbox of every configured calendar
  • Bug 428324
    Creating new profile fails on some systems; error in reading from storage.sdb"
  • Bug 429255
    Lightning not emailing invites for CalDAV calendars
  • Bug 430382
    Updated calendar views
  • Bug 432417
    calRecurrenceInfo::onStartDateChange leaves wrong RECURRENCE-IDs
  • Bug 435390
    Style sheet missing from iMip/iTip (regression)
  • Bug 437441
    Finalize calendar-timezones.xpi
  • Bug 437442
    Update timezone definitions
  • Bug 438534
    Remove processor define for windows x64 build
  • Bug 440017
    include config.mk before using INSTALL_LIGHTNING so that var can be set
  • Bug 440022
    ensure that Lightning doesn't have empty min/maxVersion in install.rdf
  • Bug 442220
    WCAP event: Timezone UTC/GMT changed automatically to Europe/London
  • Bug 442566
    make Lightning build on new shared calendar/mail/suite repository
  • Bug 443722
    Add possiblity to change elements order in Edit Recurrence window
  • Bug 444551
    Select an event in a readonly calendar and use the delete key -> error message
  • Bug 444748
    Get rid of custom timezone service
  • Bug 444822
    Add documentation to UI code and some UI code fixes
  • Bug 444827
    Add binding for calendar captions
  • Bug 445400
    Startup Error: ics-service doesn't recognize own tzid: Asia/Choibalsan
  • Bug 445488
    Mind default alarm setting if replying via invitations or event summary dialog
  • Bug 445527
    Some keyboard shortcuts are not shown in menu (regression)
  • Bug 445545
    Port Firefox/Thunderbird Bug 378598 to Sunbird
  • Bug 445728
    Delete an single event of a recurring event with attendees -> 'Notify Attendees' dialog pops up 2x
  • Bug 445982
    Task invitation via iTIP/iMIP doesn't work (Disable task invitations)
  • Bug 445997
    No email identity in calendar properties selected
  • Bug 446170
    Lightning build bustage from bug 440017, remove config.mk inclusion on 1.8 only
  • Bug 446190
    alarm service should mind disabled calendars
  • Bug 446366
    Header of multiweek view always assumes the week to begin with Sunday
  • Bug 446558
    Show tooltips in summary dialog
  • Bug 446559
    Set CSS classes for invitations
  • Bug 446666
    "Send attendees invitations via email" checkbox is disabled (grayed out)"
  • Bug 447621
    All day event -> tooltip shows wrong date (start and end)
  • Bug 447913
    CalDAV provider should avoid query-by-uid on after-PUT fetches

Many thanks go to all developers, contributors, localizers, testers, and supporters that make this possible.

July 25, 2008

Simon's developer notes: Off to the Mozilla summit

I'll be leaving today for the Mozilla summit in Whistler, Canada. Daniel, Philipp and Martin are also coming from the Calendar team as are hundreds of other key contributors from all major mozilla projects and products.

I hope to have some good discussions on the future of Mail & Calendar, localization and other issues that I've been pursuing. This will be a good time to finally meet in person many of the people that I've only been in contact with via newsgroups, mail and IRC.

You guys can also expect a new status update within the next few days. Until then...

July 11, 2008

[July 11, 2008] Lightning/Sunbird Status Update

With all the developers talking here now, it probably makes sense to also show you, what we've done in terms of real bug-fixing in the last few weeks. So within the last three weeks 28 bugs were fixed. Here's the list of all these changes:

  • Bug 358695:
    Week/Multiday view: vertical time column too wide, should be narrower
  • Bug 370150:
    API enhancement: additions for group scheduling
  • Bug 375631:
    New TASK column: Days to Due
  • Bug 392561:
    Need to revise provider error notifications
  • Bug 396819:
    Event Summary Dialog doesn't show important information to user
  • Bug 416594:
    Priority and progress buttons are broken after customizing toolbar
  • Bug 429488:
    Email drag'n'drop populates attendee list and causes failure to save event
  • Bug 431522:
    Can't add an invitation to an event if the same event is already in one of your calendars
  • Bug 432579:
    Enabling cache for public calendar causes entries to dissappear
  • Bug 437451:
    Menu "File -> New -> Calendar" is disabled in Mail Mode
  • Bug 437939:
    Invitation counter needs restart for update
  • Bug 438546:
    "Select All" (Ctrl+A) & "Undo" (Ctrl+Z) in Mail mode doesn't work
  • Bug 438963:
    All day event is shown on the day before the actual day of the event
  • Bug 440126:
    Error during timezone guessing [ReferenceError: navigator is not defined]
  • Bug 440550:
    XML prologue in calendar-occurrence-prompt.dtd confuses compare-locales
  • Bug 440715:
    Selecting event in the unifinder doesn't scroll view to event
  • Bug 441246:
    Add support for categories in Google Calendar
  • Bug 441748:
    deleting a single occurrence of a 'non floating' all day rule is not possible
  • Bug 442003:
    Create a binding to easily add notification bars to emails
  • Bug 442392:
    Expected errors are notified via dialog box
  • Bug 442571:
    Integrate "Create a new Calendar" into the account central pane
  • Bug 442651:
    No organizer in the attendees dialog
  • Bug 443157:
    Task invitation leads to exceptions on startup
  • Bug 443361:
    Misleading logon prompt when subscribing to multiple Google calendars
  • Bug 444292:
    Replace Decorated Header (Nav Bar) by standard Items
  • Bug 444407:
    Progressbar should not be shown if column is to narrow or progress is 0%
  • Bug 444713:
    Allow providers to provide a set of supported timezones

Many thanks go to all developers, contributors, localizers, testers, and supporters that make this possible.

July 10, 2008

Philipp's Developer Notes: Alarms and Invitations

String freeze is coming up so I've decided to give an overview of what's on my radar and what has been. Aside from calendar work my semester is about to end but that unfortunately doesn't mean I have more time.

I have put a fair amount of work into bug 353492 in hopes of supporting multiple alarms and different alarm types for the provider for Google Calendar. Due to the large amount of code and the high possibility for regressions I don't think this will make it into the next release. There is still an open issue regarding repeating alarms which has kept me from requesting review on that bug. If you are interested in helping out I have summed up the problems in the bug quite well. Nevertheless I think its reasonable to already check in the strings before the string freeze in case we come to a solution. If you are interested in testing (as an end user) I have a linux xpi attached to the bug. Be sure to back up your profile though since a database upgrade takes place.

Something mentioned in our roadmap for the next release is "better interoperability". Of course this is a very wide topic and I'd like to tell you a bit about what I have planned. Something that was (almost violently) discussed after the last release was a number of problems with accepting invitations. I'm looking to improve the situation a bit also in hopes that I can fix a few Provider for Google Calendar bugs regarding invitations too.

<rant>
Note however that this motivation does not come from the newsgroup discussions. I must say these were quite annoying and it aggravated me to see that users were insisting on us developers dropping everything and fixing the bug that annoys them most. Of course its annoying if something that you were used to broke in the next version but the way things were demanded was just wrong. The way things were discussed made me think for quite some time that I should not do a da** thing for invitations, but there are other reasons I'd like to go forward. I don't want to offend anyone but next time something doesn't work as you'd like it to, please be gentle and understanding instead of trying to force me into things. That works better and usually lets you reach your goals quicker.
</rant>

Recently Daniel fixed a bug that allows me to display invitations from Google Calendar in the invitations dialog. This patch was also checked in on that bug so it would be nice if you guys could give it a whirl to see if it works. Please be sure to enable "display invitations in your calendar" on calendar.google.com.

The next thing that would be nice for the Provider for Google Calendar w.r.t interoperability is managing sending invitations automatically when saving events. Currently this is globally disabled via an advanced preference option. It would be better to instruct the server to send invitations only when needed.

I hope this gives you a better understanding of whats going on in my (calendar) world.

Until next time
Philipp

July 9, 2008

Berend's Developer notes: Final Modifications of the Calendar Views

I recently dedicated a good portion of my time improve the calendar views. Initially I wanted to solve a nasty regression bug dealing with overlapping events, but as I delved into the quite monolithic code I got entangled by other issues that caught my attention.

For example I found it not so easy to keep track of all the shadow elements of the event boxes. Also I noticed – certainly like other users too - that the shadows sometimes seem to be sort of tattered at the corners. For this reason I was not too annoyed when Christian (our UI expert) told me that he already had in mind to change the appearance of the shadows anyway. So our common idea was remove the current shadow elements and only denote a slight shadow with a 1Pixel border around the events. I am currently working on this.

As we have discussed on our last F2F meeting in Hamburg we wanted to improve the look and feel of the calendar views in various respects. From the design point of view the decorated view header has the greatest backlog. Christian and me are working on this (Bug 444292). Christian also is currently heavily engaged to modernize the styling of the calendar views that spread a flair of the last century.

So I can promise you that you will hear and see more about the calendar views in the coming weeks even though we are approaching the final round of our 0.9 roadmap. One last note about the monolithic code: I won't change too much about this shortly, although it is certainly better for the project in the long run if we do this. But with the lack of a compiler I have developed a certain respect for such challenges...

July 3, 2008

Simon's Developer notes: On the importance of communication

Yesterday we had a pretty interesting developer conference call, which was basically about the issue that only a very small team is currently developing on Lightning and Sunbird (basically just three people), that it is hard to reach community expectations with regards to bugfixes and feature work with so small a team and what would be necessary to attract more outside developers.

From my point of view one of our shortcomings in the past has been on the communication front. With that I don't mean the communication between different people on certain bug characteristics or code issues (that works great), but the communication between the calendar project and our community.

Currently our channels of communication are:

  • This blog, which just gets a post every one to two weeks with a bug fix status update
  • our developer and support newsgroups (mozilla.dev.apps.calendar and mozilla.support.calendar), which are not exactly buzzing with activity
  • IRC, which not many people are watching

The result - at least as far as I see it - is that

  • the core people from the project come across as a closed circle to which it is hard to get in to (the opposite is true)
  • what's going on in the project is not exactly transparent. Instead I would call it opaque.

So what can we do to improve our situation, to make the project more transparent, to raise the interest in the project and by that to gain more outside contributors? A few things come to my mind:

  • We need to talk more about what we are doing. Therefore every core contributor will try to commit himself to at least blog about various stuff at least once a week from now. These posts will probably range from developer-oriented topics (interesting or disgusting pieces of code, recent bugfixes, UI considerations, QA problems/successes/challenges) and project-related topics (PR issues, community relations, ...) to basically anything that the people find worthwhile to blog about.

    In my opinion a great example to follow here is the Firefox community. Where nearly everybody involved in the project (developers, build engineers, QA staff, PR and marketing people, management) tries to blog regularly about various Firefox stuff or other stuff that interests them. The outside image that this creates is the image of a beehive, where everybody is doing lots of stuff to improve Firefox and in my opinion stuff like this also attracts outside people, because everybody would like to contribute to a project that is alive and well instead of a project that is stalling or dead.
  • We need to raise the awareness of the project in the outside world. I'll try to contact a few people to get some press contacts, in the hope to do some interviews with some people interested in open source. We hope that this will raise the awareness of Lightning and Sunbird and bring in outside contributors.
So these are my ideas. I would be interested in getting feedback and suggestions from you. Do you have more ideas to attract new talent for the calendar project? Is my analysis correct or do you see other areas that we could improve on? I would love to hear from you on that...

June 19, 2008

[June 19, 2008] Lightning/Sunbird Status Update

Sorry for the long delay folks! I haven't really kept up with all the changes lately due to some private matters, but that doesn't mean that we're not going full-steam ahead towards the 0.9 release. Within the last three weeks nearly 40 bugs were fixed, which is an impressive thing I have to say. Here's the list of all the 39 changes within the last three weeks:
  • Bug 363191:
    Handle Timezones more efficiently (Timezone Database)
  • Bug 367153:
    Event text not readable in calendar view during inline editing (due to unselection)
  • Bug 387398:
    Missing (Client, Server) Certificate support
  • Bug 387402:
    Short or zero-length events are hard or not selectable in Day/Week view
  • Bug 389251:
    Cannot dismiss alarm on single overridden instance of recurring item
  • Bug 391495:
    calRecurrenceInfo::getNextOccurrence/getNextOccurrenceDate have bugs
  • Bug 395017:
    Event & Task dialog for read-only calendars don't show start time and end/due date and time
  • Bug 399762:
    Task dialog: Error opening Invite Attendees dialog
  • Bug 408240:
    Reading backup preferences fails [Error: backupBranch is not defined]
  • Bug 413326:
    Read only calendar, use 'Click Here to Add a New Task' text field -> nothing happens
  • Bug 413847:
    Timezone preference changes require restart to take effect (regression)
  • Bug 413908:
    Events using internal timezones are no longer updated to recent timezone version
  • Bug 419807:
    After closing task dialog now save-messagebox pops up
  • Bug 419816:
    Task mode does not set Application title
  • Bug 428496:
    Editing event or dismissing alarm collapses Today/Tomorrow/Soon section in Agenda
  • Bug 429092:
    Borders are missing for Task List in Today Pane and Task Mode
  • Bug 429685:
    Toggling of 'Delete' - toolbarbutton in calendar-mode and task-mode does not work
  • Bug 429687:
    Follow-up features for the mode dependent today-pane
  • Bug 431536:
    Only one invitation can be accepted per Thunderbird session
  • Bug 431811:
    Context menu of tasks in today pane is broken [Error: taskTree has no properties]
  • Bug 432579:
    Enabling cache for public calendar like US Holidays causes entries to dissappear
  • Bug 435877:
    UTF-8 decoding problem breaks wcap calendar
  • Bug 436476:
    Deleting a single instance of a recurring event fails
  • Bug 437048:
    Invite an attendee to an event causes error
  • Bug 437189:
    Gdata prov: cannot delete last remaining occurence by "delete this occurence"
  • Bug 437398:
    Invitation Link broken (currently WCAP only): createXULElement is undefined
  • Bug 437593:
    invitations link should be provided in mail mode too
  • Bug 437615:
    Exceptions when creating/editing/deleting an event/task/calendar or selecting/deselecting a calendar
  • Bug 437689:
    [Trunk] Timezone definitions extension is not compatible with Sunbird 0.6a1
  • Bug 437898:
    events list can have a selector for 'later today' list. (prerequisites, actual fix done as extension, see bug)
  • Bug 437921:
    GData provider is not working with TB 3a2pre by default
  • Bug 437941:
    Task-Trees: Selection Style does not make a difference between focused/unfocused
  • Bug 437942:
    Find calendars is broken
  • Bug 437964:
    'Mark Completed' via context menu doesn't work
  • Bug 438020:
    Task list is broken [Error: document.getElementById(modeBroadcaster) has no properties]
  • Bug 438338:
    Add zh-TW language
  • Bug 439245:
    Selecting events in the unifinder doesn't scroll view to event
  • Bug 439608:
    modifyEventWithDialog cannot be called with false as third parameter
  • Bug 439633:
    Error console output in month/multiweek view when selecting events in the unifinder
Many thanks go to all developers, contributors, localizers, testers, and supporters that make this possible.

May 22, 2008

[May 22, 2008] Lightning/Sunbird Status Update

Two weeks have gone by and lots of fixes have happened since the last installment of the status update. Thanks to our developers and reviewers 41 bugs have been fixed in the last two weeks, which is really amazing. Nothing is really noteworthy. The fixes contain mostly backend fixes, cleanup work and (unfortunately) regression fixes.

Here's the list of all the 41 changes within the last three days:

  • Bug 248342:
    Alarm goes off for completed tasks
  • Bug 273600:
    Task Progress bar
  • Bug 309081:
    Sync xpfe autocomplete attributes with toolkit ones
  • Bug 357706:
    Alarms fired too late (alarm timer stopped while hibernating)
  • Bug 363932:
    Delete Warning should be redesigned
  • Bug 392561:
    Need to revise provider error notifications, enhancing onError
  • Bug 392572:
    Correct comments in calIDateTime.idl
  • Bug 400835:
    CalDAV provider should display errors
  • Bug 413101:
    Calendar view missing background
  • Bug 417457:
    Remove XPInstall leftovers from packages files
  • Bug 421886:
    iTIP/iMIP doesn't handle REPLY and CANCEL methods
  • Bug 428236:
    Selecting snooze times from alarm popup always causes the first entry to be highlighted
  • Bug 431039:
    Move only string from sun-lightning.dtd and remove file
  • Bug 431218:
    Multiple install: targets missing in calendar/ tree
  • Bug 431852:
    Move calendarProperties.xul/js from resources to base
  • Bug 432224:
    Remove more obsolete event dialog files
  • Bug 432653:
    All events in all views take the color of the last calendar in my calendars list (regression)
  • Bug 432877:
    Custom recurrence description is broken (regression)
  • Bug 432956:
    calIcsSerializer code bug
  • Bug 432985:
    Category colors are not displayed (regression)
  • Bug 432992:
    Replace getService() with createInstance() calls for nsIConverterOutputStream
  • Bug 432998:
    Creating event ignores selected date and creates event for today
  • Bug 433229:
    Remove empty /calendar/base/content/calendar-alarm-widget.css
  • Bug 433250:
    Add Norwegian (Nynorsk) localization
  • Bug 433352:
    Day/week view: category color is used for the entire event box (regression) - fixes also Bug 416604 and Bug 432957
  • Bug 433462:
    Correct calGetString() callers
  • Bug 433500:
    IMIP bar does not display anymore
  • Bug 433604:
    Error: hideElement is not defined
  • Bug 433839:
    Uncaught exception in dnd code
  • Bug 433843:
    Revise or remove getFloatingDate
  • Bug 433889:
    Fix regressions from Bug 430254 (regression)
  • Bug 433892:
    Specialize calendar list tree style
  • Bug 433906:
    Cannot dismiss alarm on Kerio server
  • Bug 433937:
    All-day items in Agenda have no styling and can't be selected via mouse click
  • Bug 433947:
    Move goToDateDialog.js/xul from resources/content to sunbird/base/content
  • Bug 434188:
    calIDatetime::icalString should enforce timezone
  • Bug 434291:
    Fix calendar-ui-utils' addMenuItem
  • Bug 434371:
    Error on deleting item from Zimbra server
  • Bug 434735:
    Consolidate auth prompts
  • Bug 434736:
    calWcapRequest: use nsIStreamLoader instead of nsiUnicharStreamLoader
  • Bug 434985:
    Remove unused entities and properties

Many thanks go to all developers, contributors, localizers, testers, and supporters that make this possible.

May 8, 2008

[May 8, 2008] Lightning/Sunbird Status Update

Only three days after the last status update, it's already time for another as the developers have fixed lots of bugs (19) in the last three days.

The most notable fixes are in the area of iMIP/iTIP (sending and receiving e-mail invites) with the fixes for bug 377761 (better compatibility with earlier Outlook releases) and bug 429938 (support for meeting cancellation).

Here's the list of all the 19 changes within the last three days:

  • Bug 202360:
    Color Coding of Tasks and Events (multiple classification)
  • Bug 322979:
    Views should not scroll the labelling columns along the non-scrolling axis
  • Bug 368976:
    Cannot undefine alarm for an exception
  • Bug 377761:
    Outlook 200x does not recognize iTIP/iMIP invitation because of MIME type issues
  • Bug 397896:
    Sync default snooze between Sunbird and Lightning
  • Bug 397913:
    Add tooltips to the miniday buttons
  • Bug 401693:
    Today pane not updated on Mac OS X after hibernation
  • Bug 426746:
    Consolidate startup code
  • Bug 427006:
    Timezone offset incorrectly calculated for negative half hour timezones
  • Bug 428715:
    Between 23:00 and 00:00, the default event start date is 00:00 of the next day
  • Bug 429938:
    No cancel message is send to attendees if event is deleted
  • Bug 430254:
    Add interfaces to GData for UI code
  • Bug 430805:
    Permit to change the default free/busy attribute policy for all-day events
  • Bug 431829:
    Moving Today Pane button on Task toolbar removes it from Calendar toolbar
  • Bug 432218:
    Remove TB 1.5 specific code in getMailBar() function
  • Bug 432499:
    Duplicate id in calendar.xul
  • Bug 432703:
    Changing month with scroll wheel throws error
  • Bug 432793:
    Get rid of "move" transaction type
  • Bug 432794:
    Allow loading chrome scripts in test cases

Many thanks go to all developers, contributors, localizers, testers, and supporters that made and make this possible.

May 5, 2008

[May 5, 2008] Lightning/Sunbird Status Update

I apologize for the long delay between status updates. It is certainly not due to a low number of bugfixes in recent day. In fact quite a large number of bugs (32) have been fixed within the last 18 days, showing that the developers have been quite active.

Three bugs are particular worth mentioning:

  • Bug 377753: Look and Feel of minimonths should be adapted
    The small monthly overview in the upper left corner has gotten a visual overhaul and is looking much better now in our opinion. Thanks go to Berend for implementing this and to Philipp and Christian for reviewing the changes.
  • Bug 389150: Display Today Pane with Task List in Calendar mode
    A lot of people have asked us to enable the today pane in Lightning's calendar mode, so that people get a quick overview over their upcoming events and tasks as well. Thanks go to Berend for implementing this and to Philipp and Christian for reviewing the changes.
  • Bug 430430: Consolidate context menus
    Users of Sunbird have long complained about the inadequacy of the context menu in Lightning, e.g. when right-clicking on an event in the views. Now the full glory of the Sunbird context menus is available in Lightning as well. Thanks go to Philipp for implementing this and to Berend and Christian for reviewing the changes.

Here's the list of all the 32 changes within the last 18 days:

  • Bug 340752:
    Undefined variable error in Makefile from using autoconf syntax for sed replacements
  • Bug 377753:
    Look and Feel of minimonths should be adapted
  • Bug 389150:
    Display Today Pane with Task List in Calendar mode too
  • Bug 390194:
    Event/Recurrence dialog: Width is too small for three minimonths
  • Bug 392855:
    'Show Today Pane' button not available with fresh profile
  • Bug 395928:
    Unify wording in event dialog by renaming Importance to Priority
  • Bug 400278:
    CalDAV provider issues requests to unselected caldav accounts at startup
  • Bug 410898:
    DTSTART/DTEND ignored in FREEBUSY response to scheduling request
  • Bug 413265:
    Some timezones not mapped correctly (both remaining patches)
  • Bug 414565:
    Show relative date string in alarms for tomorrow's events
  • Bug 414932:
    Change string name imipHtml.Comment to imipHtml.comment
  • Bug 417020:
    UTC and floating are missing in time zone picker
  • Bug 417539:
    Remove obsolete event dialog files and strings
  • Bug 417629:
    Import ICS file to CalDAV server fails to handle recurrence-id correctly
  • Bug 418414:
    Remove obsolete Jan Mayen references
  • Bug 428392:
    Accepting Events not adding event to calender - falsely reporting "not an attendee"
  • Bug 428851:
    Accepting Meeting Invites Does Not Update Google Calendar
  • Bug 429061:
    webcals scheme not supported (i.e., for https)
  • Bug 429497:
    Warning and error nsIInterfaceRequestor in the error console
  • Bug 429908:
    Minimonth broken on Trunk
  • Bug 429911:
    Year Popup in minimonth doesn't listen to scrollwheel
  • Bug 429912:
    Packaging cleanup for crashreporter.xpt
  • Bug 429927:
    Remove outdated comment from calendar/base/jar.mn
  • Bug 430062:
    Remove some 1.8.0 branch specific code from calManager
  • Bug 430249:
    Storage calendar sends out too many onOperationCompletes
  • Bug 430280:
    bad aOperationType on addItem
  • Bug 430430:
    Consolidate context menus
  • Bug 431031:
    Remove files from resources/content/converters directory
  • Bug 431041:
    Correct tooltip for Print toolbarbutton
  • Bug 431395:
    Remove ununsed files from /calendar/resources/content/
  • Bug 431732:
    Use the createEventFromIcalString helper in unit tests
  • Bug 431733:
    Remove unused images from /calendar/resources/skins/classic

Many thanks go to all developers, contributors, localizers, testers, and supporters that made and make this possible.

May 4, 2008

Next release (0.9) and beyond

Two weeks ago, we had a great face-2-face meeting, which only now I am able to post about. Among the many interesting talks and discussions particular question we've discussed was "How do we proceed with Thunderbird 3 and trunk?". I'll try to sum up the outcome of this discussion here.

There are a ton of good reasons to move on to the trunk ASAP and help Thunderbird 3 get into shape: calendar will be a core feature of it, trunk has a couple of platform improvements that make our live easier and it will lessen the load on developers and localizers, that we no longer have to think about both the 1.8 branch and the trunk.

On the other hand, we have existing users on Thunderbird 2 waiting for fixes and features. Looking at our resource situation, it was pretty clear to everyone that we can't support and develop both branch and trunk longer term in a reasonable fashion. So where and when do we make the cut?

We've agreed to do one further release on branch in the coming 4 months, namely 0.9. We will focus on the following topics:

  • Usability (our UI gurus have a lot of ideas here)
  • Performance (we will put more focus on improving our story with large remote calendars)Interoperability (better iMIP/iTIP support comes to my mind here)

More details can be found on http://wiki.mozilla.org/Calendar:Lightning09.

We hope that this release will be sufficient to be used for a longer period of time until the next Thunderbird releaseis out. There will definitely be usable betas (perhaps even alphas) of Thunderbird with integrated calendar, but we also know that some users reject to use those and stay on Thunderbird 2.

We had some further discussion about whether the naming of this last branch release shouldn't be 1.0, rounding up our development for Thunderbird 2. This seems obvious from a marketing POV, but doesn't fit into the mozilla way of promoting major releases. So we agreed that we have a thorough look at what we've reached both w.r.t. features and quality when 0.9 is almost done, postponing that decision.

To answer some obvious questions:

  • Does this imply changes on Sunbird's development?
    No, we will do parallel releases of Sunbird with the Lightning releases. So Sunbird 0.9 will come out at the same time as Lightning 0.9 and we'll move Sunbird development over to the trunk after that, too. This means we will be doing a Sunbird 1.0 release in parallel to the Thunderbird 3 release.
  • What happens if Thunderbird 3 gets delayed?
    We certainly do not hope that this will be the case, but we can react flexibly to that. This means that we might put out another release between 0.9 and TB3 (probably called something like 0.9.5) if it turns out that TB3 will take significantly longer (more than 3-4 months) than anticipated.
  • When are you planning to release 0.9? What is the release date of TB3?
    We are currently planning to release Lightning and Sunbird 0.9 in August 2008. As with all release dates, this release date is subject to change, if it turns out that we need additional time to put out a great release.
    TB3 is currently slated for December 2008/early 2009. The same caveats as said above apply here.

April 17, 2008

[April 17, 2008] Lightning/Sunbird Status Update

It's been nearly a month since my last status update and nearly two weeks since 0.8 was released, so I guess it's time to show you what we've been working on in the last days. Since 0.8 came out, we've already fixed 29 bugs. So grab yourself a nightly and help us test those fixes.

On a sidenote: Many of the calendar developers will meet in Hamburg (Germany) to discuss future plans, meet up with some of the Thunderbird developers to discuss the future integration of Lightning into Thunderbird and perhaps also do some hacking. We're hoping that this will strengthen the team spirit and give us a better vision of what we wanna do with 0.9, 1.0 and onwards.

Here's the list of bugs fixed since 0.8 was released:

  • Bug 368865:
    REG_APP_DESC should be removed from the Calendar 1.8 branch
  • Bug 393769:
    Mouseover tooltips aren't shown on trunk
  • Bug 393998:
    Next button in new calendar dialog is disabled when changes are cancelled
  • Bug 396075:
    'New Calendar' dialog: sentences should get punctuation marks
  • Bug 399599:
    Help menu has no accesskey for item Contents
  • Bug 402482:
    No scroll-bar for all-day events
  • Bug 402593:
    Sunbird lacks Ctrl+Q to exit
  • Bug 410755:
    Impossible to resize and reorder the columns of the task list on trunk
  • Bug 413333:
    Offer auto-conversion of google ICS calendars to writable Google Calendars
  • Bug 413523:
    No icon images are shown in the Customize Toolbar dialog on trunk
  • Bug 418058:
    Add tooltip to close button in unifinder
  • Bug 419184:
    "msgHeaderParser is not defined" when dragging mail to Calendar item
  • Bug 421307:
    Synchronize FilterOptions with FilterOptions in task mode Menu
  • Bug 422369:
    Make Calendar styles LTR (left-to-right) and RTL (right-to-left) agnostic
  • Bug 422630:
    Fix groupbox theme regression caused by bug 421814
  • Bug 422640:
    Enable view menu-items
  • Bug 423503:
    Memory leaks in lightning
  • Bug 424808:
    Use binary search to make addItem in month view scale better
  • Bug 426140:
    Wrong sort order for priority
  • Bug 426759:
    Create calIAlarm interface
  • Bug 427216:
    Make tools menu popup match other applications
  • Bug 427237:
    cvs remove unused files in Sunbird themes
  • Bug 427458:
    Completed task time is shown in UTC and not in local time
  • Bug 428798:
    Remove obsolete CSS rules .next-button:hover:active and .prev-button:hover:active
  • Bug 428922:
    Remove even more obsolete CSS rules
  • Bug 428933:
    Consolidate view-specific CSS rules
  • Bug 429095:
    Recurrences with no end date should be limited to a maximum of 60 instances
  • Bug 429101:
    Missing styling on navigation buttons in main calendar view
  • Bug 429313:
    Open the invitation dialog when the counter is 'Zero' -> error console output

Many thanks go to all developers, contributors, localizers, testers, and supporters that made and make this possible.

April 14, 2008

Lightning and Sunbird 0.8: Now available for Solaris, Linux x86-64 and OS/2

Since the release of 0.8 many people have asked for builds on additional platforms and we're happy to comply as our community has supplied us with builds for Linux x86-64, Solaris (Intel), Solaris (SPARC) and OS/2.

Here are the links:

Many thanks to Philipp Kewisch for the Linux x86-64 builds, to Sun Microsystems for the Solaris builds and to Walter Meinl and Peter Weilbacher for the OS/2 builds. Enjoy!

April 4, 2008

Lightning 0.8 and Sunbird 0.8 are out!

I am happy to report, that the 0.8 release of Lightning and Sunbird has been completed and is now available via AMO and the Calendar Project website.

Five months after the 0.7 release we are again one step closer to our 1.0 release, which we hope to release at the end of 2008.

Notable improvements of this release are written down:

Lightning 0.8 and Sunbird 0.8 are available for Windows, Mac OS X (universal builds) and Linux in 30 different languages including English.

Please use the following links to download the release:

Please read the release notes for Lightning 0.8 and Sunbird 0.8 before downloading.

Thank you again to all our developers, contributors, localizers, testers, and supporters. We would not be able to do this without your assistance!

April 2, 2008

Lightning/Sunbird 0.8 RC2 is out

After all the previous hassles we're happy to report, that the second release candidate for our 0.8 release (0.8 RC2) has been released. We know you've been waiting for it, so grab yourself a build. Here are the links:

We would really appreciate it, if you test those builds heavily, as we plan to push out the final release, if nothing serious comes up within the next 2-3 days. We're especially calling out to our Mac OS X community, to test these builds, as there were no recent nightly builds available for you for the last two weeks and we want to make sure, that everything looks fine on the Mac as well.

If you find a bug, that you think is serious enough to block the final 0.8 release, then please file it over in Bugzilla and make some noise in the bug report.

If you have problems or questions, please drop by in #calendar-qa on irc.mozilla.org or in the mozilla.dev.apps.calendar newsgroup available via Google.

Thanks and happy testing!

March 31, 2008

Mac nightly builds are now available (again)

Thanks to Mozilla IT and our build engineer ause, Mac builds for Sunbird and Lightning are now available again. Here are some links for our mac friends: Expect the release of our second release candidate (RC2) shortly...

March 26, 2008

0.8 RC2 unstuck again

Good news, guys!

The Camino guys have been helping us out with a spare machine of theirs. The machine is up and running and if everything works out, we'll hopefully push out the 0.8 RC2 on Friday.

Please join me, when I say a big "Thank you!" to the Camino developers. We love you guys!

March 20, 2008

0.8 RC2 is stuck

I have some bad news:

Yesterday the Apple Xserve machine producing the Mac OS X builds of Sunbird and Lightning went down and it hasn't come up since. According to Mozilla's IT department, it's a hardware failure and the machine needs to be sent to Apple for repairs, which will take a while. You can find the gory details in bug 423816 (Please don't comment in the bug unless you have something really useful to add. We don't want to piss off Mozilla IT. These guys are great!)

For us this means, that the RC2 is stuck, since we can't release without one of our major platforms. But you can still help us by testing the current nightly builds (just pretend that they are the RC2) on Linux and Windows. This will help us to shorten the time from the RC2 release (once it's out) to the final release.

Here are the links:

Thanks for staying with us!

March 19, 2008

4 million downloads for Sunbird and Lightning

Somewhere on Sunday evening, we passed the 4-million-downloads barrier for Sunbird and Lightning downloads in total, three and a half months after we reached the 3 million downloads mark.

At the moment we have 2,215,000 unique Sunbird downloads and 1,814,000 unique Lightning downloads. These numbers do not incorporate the downloads of people who updated Lightning via addons.mozilla.org or via the automatic update service in Sunbird.

Some additional information:

  • Sunbird 0.3 is still the second most popular release with 598,000 downloads
  • Sunbird 0.3.1 is third with 498,000 downloads
  • Sunbird 0.5 comes last with 490,000 total downloads
  • Sunbird 0.7 is the most popular release with 602,000 downloads

Furthermore 218,000 installations of Sunbird 0.5 have been updated to 0.7, so the total numbers of Sunbird 0.7 downloads is at 820,000 at the moment.

We currently do not have any information about the number of different Lightning releases in the wild.

Let me use the opportunity to say "Thank you" to all our users and supporters. We couldn't have done this without you. We hope to bring you a great 0.8 release soon (hopefully with even more downloads).

Lightning/Sunbird Status Update (March 19)

We're getting nearer and nearer to the final 0.8 release. We've fixed 19 bugs in the last 13 days, are now down to zero (0) blocking bugs and will release a second release candidate (RC2) within the next days.

Here's the list of bugs fixed within the last 13 days:

  • Bug 347192: Entries in agenda should appear in the same way again when starting Lightning again
  • Bug 404976: calendar.autorefresh.timeout limit to max 3-digit numbers in options
  • Bug 411958: Use tinderboxen to build gdata-provider nightlies
  • Bug 415742: Alarms on occurrences cannot be dismissed
  • Bug 418854: Undo is not possible for task/event modification
  • Bug 419817: iMip/iTip invitation mail -> No 'Accept'/'Decline' button if WCAP calendar exists
  • Bug 420695: Disable attendees by default
  • Bug 420749: CalDAV calendars must refresh twice to display server-side changes
  • Bug 420844: Only show suppress icon on events if popup alarms are supported
  • Bug 421301: getItem() doesn't include exceptions in recurring events
  • Bug 421376: New Event button in Agenda needs padding
  • Bug 421574: Get Sunbird building on BEOS
  • Bug 421616: Editing event to change calendar fails, event disappears from database
  • Bug 422233: Use METHOD:PUBLISH when publishing ics calendar files
  • Bug 422412: Accepting a iMip/iTip invitation into a WCAP calendar doesn't work
  • Bug 422898: Creation of new local calendar not possible
  • Bug 422928: Task mode, WCAP calendar: Cannot set completed Status
  • Bug 423395: onEventSweepMouseMove handler stays around after drop
  • Bug 423667: Enable multi-language (gdata) nightlies

Special thanks again go to all developers, contributors, localizers, testers, and supporters that made this possible.

March 6, 2008

0.8 RC1 Available - We Need You!

The 0.8 RC1 is available! I know you've been waiting a long time for it, so grab your self a build. Here are the links:

We really need your help to complete the rest of the L10N Checks and the Update testing, as you can see from our Test Plan.

The Update Testing is of special concern to us, because historically this has always been where we have found critical issues in our release candidate builds. So, please take a look. Feel free to update the test plan wiki or leave a comment on this post with what you tested, so we can track what has been done versus what is still remaining to do.

The test day today has been a great success, but we need to keep up the intensity and keep pounding on this build. It'd be great if we can make our next RC the final build, but we can only do that if we're sure we found all the issues with this RC.

If you have problems or questions, please drop by #calendar-qa on IRC.

Happy Testing!

Lightning/Sunbird 0.8 status update

We're getting nearer and nearer to the final 0.8 release. We've fixed 26 bugs in the last 11 days and we'll probably push out a first release candidate in the next few days.

The RC1 will come with two blocker bugs unfixed, which we will fix until the final release:

  • Bug 418854: Undo is not possible for task/event modification
  • Bug 419817: iMip/iTip invitation mail -> No 'Accept'/'Decline' button if WCAP calendar exists

We know, that releasing a release candidate with known blockers unfixed does not fit perfectly into the definition of a "release candidate", but we feel that it is the right thing to do, to get our code out to more testers, which hopefully will not find more blocker bugs.

On the positive side are, as mentioned above, 26 bug fixes within the last 11 days. A lot of the fixes were in the area of .csv file import and export, which should be greatly improved over what we had in 0.7. Here's the list of bugs fixed within the last 11 days in alphabetical order:

  • Bug 336175: Export calendar to CSV format fails if a task exists in calendar
  • Bug 337377: Fails to import Outlook CSV files that have fewer than 13 fields
  • Bug 361635: Make update invitations work by working around outlook issues
  • Bug 379198: Lightning doesn't send iTIP messages on event updates
  • Bug 394634: Double Quotes in Description not handled correctly when exported to .CSV files
  • Bug 398426: Priority icon not visible if task is selected due to row background color
  • Bug 402534: Provide a default set of categories
  • Bug 403808: Missing license header (minimonth.css & minimonth.xml)
  • Bug 407933: Initial width of the Done column too small
  • Bug 413296: Remove observers on shutdown or window close
  • Bug 418115: Wrong start & end time for new events (new event button on today pane)
  • Bug 418542: CalDAV provider forces calendar visibility on startup, refresh
  • Bug 418805: Fix modifyItem for offline calendars
  • Bug 419349: After landing of Bug 379198 decline button on imip-bar stopped working
  • Bug 419351: Redundant view refresh if tasks are not shown in view
  • Bug 419414: CSV files without CRLF line endings not importable
  • Bug 419462: CSV files contain bogus data
  • Bug 419601: Decouple calendar manager schema version from storage calendar
  • Bug 419817: iMip/iTip invitation mail -> No 'Accept'/'Decline' button if CalDAV calendar exists
  • Bug 419860: Unifinder 'All Future Events' shows past events
  • Bug 420228: Cannot dismiss alarms on CalDAV calendars
  • Bug 420326: The CalDAV provider does not refresh modified events from server
  • Bug 420364: Update to meeting requests fail with "showError is not defined"
  • Bug 420586: Move packaging of updater.ini
  • Bug 420840: Push version to 0.8
  • Bug 420854: Cannot modify events on CalDAV calendar

Special thanks again go to all developers, contributors, localizers, testers, and supporters that made this possible.

February 24, 2008

0.8 release status update

I guess some of you are asking themselves how we are doing with respect to our next major release. So here's a short update:

At the moment we are down to seven blocker bugs, which will need to be fixed before we push out the first release candidate. The status on those bugs is:

  • One tracking bug with only one outstanding issue. We could release without this bug getting fixed.
  • One documentation bug (release notes). A first draft for the release notes is ready. The notes are currently awaiting developer feedback.
  • Three bugs have a patch or a solution was proposed, so we're optimistic here
  • Two bugs, where we are currently investigating a solution

I'm sorry that we're not fixing those bugs faster, but two of our main developers are away for a few weeks and such a 33% drop in manpower is hard to handle for such a small project as ours.

But there's also something positive to mention:
A few days ago, the last outstanding localization completed the translation of newly added strings. That means that Sunbird builds for all 29 languages (including English) are now available for testing purposes. For Lightning we'll provide localized builds when the first release candidate (RC1) comes out. But all our non-English testers are encouraged to give builds in their native language a try.

English test builds for Sunbird are available here.
All other 28 languages can bei downloaded from here.

Lightning/Sunbird Status Update (February 24)

One more week has gone by and some 24 bugs got fixed. The most notable fix this week was probably:

  • Bug 366177: Memory cache for storage provider
    This patch gives us a performance improvement of somewhere between 5% to 10% on local storage calendars. Our thanks go to Daniel for implementing the patch. Philipp and Sebastian Schwieger also helped on this.

Here is the list of all the 24 bugs which were fixed within the last week:

  • Bug 366177: Memory cache for storage provider
  • Bug 379198: Make Lightning understand event updates
  • Bug 395654: Failure to renegotiate digest auth
  • Bug 401273: Alarms added to all events imported via CSV file
  • Bug 402841: Copy an event to the calendar and it shows up as the day before
  • Bug 403594: 'Last day of the month' recurrence rule has been screwed up
  • Bug 409966: 'Workweek days only' option is inversed after update from 0.7
  • Bug 410635: Task/Event to eMail conversion -> subject gets a leading 'Re:'
  • Bug 410931: Update internal timezone definitions
  • Bug 412746: Email addresses defect after event->task conversion on Mac
  • Bug 413868: Lightning forces Thunderbird to English due to shipping sunbird-only files
  • Bug 414821: Timezone dialog throws error when OS timezone doesn't fit to internal timezone
  • Bug 416240: Network ics calendar displays online but does not cache for offline access
  • Bug 417526: Task preview pane corrupts Mail mode window layout
  • Bug 417911: Fire viewloaded event when view is loaded
  • Bug 418237: Pinstripe typo, Error in parsing value for property -moz-image-region
  • Bug 418251: Categories toolbar-button popup menu are not sorted locally dependent
  • Bug 418296: Unifinder event list sort key caching speed improvement
  • Bug 418387: Task contextmenu: Mark Completed menuitem is often not correctly prechecked
  • Bug 418585: No working Sunbird 0.8pre nightly builds available for Mac OS X
  • Bug 418647: Follow-up comment on timezones
  • Bug 418657: Hide Completed Task feature is broken in task list
  • Bug 418792: L10n specific preferences not working
  • Bug 418995: CSV import creates empty fields datastores

Special thanks again go to all developers, contributors, localizers, testers, and supporters that made this possible.

February 17, 2008

Lightning/Sunbird Status Update (February 17)

Nearly three weeks have gone by since the last status update. The reason for this was me being pretty busy with my day job, not the developers being idle and not fixing bugs. In fact 51 bugs were fixed in the last 19 days.

One bugfix is of special importance:
  • Bug 327780: Need to sort out what sort of toolbar UI to offer for Lightning
    This bug enables new icons in Lightning and Sunbird which should better match the Thunderbird theme. The patch also creates a new toolbar for the task mode, which only shows task-related actions. The same goes for the menus in task mode, where all event-related functionality was removed. Our thanks go to Berend for implementing this huge patch, to Christian for his UI design work and to Mickey and Philipp for their code reviews.
Here is the list of all the 51 bugs which were fixed within the last 19 days:
  • Bug 265971: \n in SUMMARY of VEVENT not interpreted
  • Bug 321010: Need better stripping of illegal css chars from category names
  • Bug 327780: Need to sort out what sort of toolbar UI to offer for Lightning
  • Bug 340949: Server cannot cope with floating events, fallback to user default
  • Bug 389341: Tooltips too tall: only expand, don't shrink height
  • Bug 391379: Does not work behind a proxy with authentication
  • Bug 393817: Reduce network usage by CalDAV provider
  • Bug 400450: Check removed-files for wrong entries
  • Bug 402407: PNGs can be re-compressed further
  • Bug 406576: Investigate calIcalProperty::setDatetime_ for parentless properties
  • Bug 407808: Quick-add field shrinks to a few pixel height
  • Bug 408652: Task <-> event conversion: no description text
  • Bug 408786: Recurring event to task conversion is not possible
  • Bug 408968: It's not possible to convert a WCAP invitation in to a task
  • Bug 412622: Wrong display of importance icons
  • Bug 412723: reopened Add LoginManager bits to trunk win32 installer
  • Bug 412723: Fix HTTP authentication bustage on trunk
  • Bug 412737: Don't show readonly calendars in file picker
  • Bug 412918: New Tasks run out of the view
  • Bug 413128: All calendars are deselected after Lightning update
  • Bug 413159: Changing calendar for tasks via context menu doesn't work
  • Bug 413265: Some timezones not mapped correctly
  • Bug 413474: Delete button in Mail mode does not delete events or tasks
  • Bug 413484: CVS remove unused files from calendar/resources/content
  • Bug 413715: Unifinder search is broken
  • Bug 414519: Recurring event without gd:when breaks parsing
  • Bug 414537: Task preview pane should show a link to a web page
  • Bug 414573: Print button is always enabled in Mail mode
  • Bug 414790: Missing calendar-management.js in imip-bar-overlay.xul
  • Bug 414897: Correct capitalization of imipHtml.Comment
  • Bug 415081: Get rid of lightning-wcap.xpi
  • Bug 415253: Reload causes error in hidden Unifinder
  • Bug 415495: Remove calendar controllers to fix XPConnect assertions
  • Bug 415513: Add Japanese locale to Calendar
  • Bug 415654: Use different alarm icon for suppressed alarms
  • Bug 415759: Errors on sunbird startup
  • Bug 415894: Remove Punjabi as a supported locale
  • Bug 415956: Unifinder is always sorted by event title after startup
  • Bug 415987: FREEBUSY decoding does not support comma-separated entries
  • Bug 415990: JS warning: while(calGoItem = calGoPopupMenu.firstChild)
  • Bug 416158: Keyboard navigation of the event list (unifinder) is slow
  • Bug 416206: Erroneous drag'n'drop with tasks in multiweek/month view
  • Bug 416525: Add Link for task or event does not work (URL is not saved)
  • Bug 416608: Unifinder close-button seems to be in a selected state
  • Bug 416802: Additional properties to allow easy customization of days in the views
  • Bug 416851: Implement offline interfaces for GDATA
  • Bug 417056: Disable wcap caching until dependant bugs are fixed
  • Bug 417429: JS-errors when trying to Compose E-Mail to Attendees from Sunbird
  • Bug 417508: Event dialog broken, impossible to edit events and tasks
  • Bug 417515: Removing Progress or Priority button in task mode causes startup error
  • Bug 417873: CalDAV provider needs to fire onLoad
Special thanks again go to all developers, contributors, localizers, testers, and supporters that made this possible.

Due to the huge amount of bugfixes, we could really use your help in testing all the new stuff that went in lately. So if you want to help, join us on our next bugday.

January 30, 2008

Lightning/Sunbird Status Update (January 30)

Another week has gone by and another 12 bugs have been fixed in the last few days. There was nothing particularly interesting this time, just the usual bug-fixing and polishing going on.

Here's the complete list with all the 12 bug fixes:
  • Bug 386432: Unify front-end code of Lightning and Sunbird (Part 2: Toolbar consolidation)
  • Bug 388656: DATE values must not specify a TZID
  • Bug 401720: Can't add event to calendar from invitation if multiple calendars exist
  • Bug 406372: Provide easier access to prodid, prodversion
  • Bug 406441: make it possible to build lightning as universal package
  • Bug 412478: Lightning removes Open Saved Message... command from File menu
  • Bug 413214: Remove alarm image if suppressAlarms is true
  • Bug 413291: CalDAV-sched freebusy interop with Bedework
  • Bug 413516: Unifinder shows only the last modified event
  • Bug 413620: Unify/cleanup navigation menu in all modes
  • Bug 413656: Future events/tasks are reported to be 'today' in alarms
  • Bug 414230: Restart required for 'Workweek days only' and 'Task in View'
Thanks again to all our developers, contributors, localizers, testers, and supporters.

January 26, 2008

Important bugfixes in the last week - Part 2 (front-end)

As mentioned in Wednesday's status report a lot of last week's bugfixes fix important or longstanding issues and deserve special attention. In the first part on Thursday I already described the most important fixes with regards to performance and the calendar backend. Today comes the 2nd part, where I'll describe the more user-facing changes in the front-end in more detail. Of the four important fixes, three apply to Lightning's new task mode, which was got quite some polish in the last few days. Now let's get down to business:
  • Bug 257428: use alarms? -- preference on a per-calendar basis
    The ability to work with many different calendars is definitely a strong point of Lightning and Sunbird. In the past however, if you were subscribed to a calendar of one of your friends, working with different calendars could become rather annoying, because alarms for events in your friends calendar would also be displayed in your installation - whether you wanted to know about it or not.

    Thanks to Sebastian Schwieger this is now a thing of the past, because now you can enable/disable the display of alarms for every calendar that you are subscribing to. Thanks go also to Philipp who reviewed the patch.
  • Bug 408798: Optimize Menu Structure for Task Mode
    With this patch the task mode in Lightning now offers a menu structure, which is more focussed on task-related features. Before that patch went in we were using the same menu structure in task mode and calendar mode, which is clearly bad from a UI perspective as the two modes have different characteristics. The next step in the coming weeks will be restructuring of the task mode toolbar to make it also more focussed on task-related features. Thanks go to Berend for the implementation, Christian for the initial design and to Mickey for the review.
  • Bug 411497: Task mode should offer some sort of filtering
    The event list in Lightnings calendar mode offers the possibility to filter the list of events which should be displayed. A similar feature was lacking in task mode. As of now, you have the ability to filter the list of tasks in the left-hand sidebar in task mode. The selection of filters offers stuff like today's tasks, overdue tasks, completed tasks, etc.

    Thanks to Mickey for his implementation and to Berend who reviewed the patch.
  • Bug 411498: Task mode details pane doesn't show enough details
    Until now the task mode was a pretty bleak place. The lower "detail pane" would only display the task title and the description text. With Mickey's new patch (and Berend's review) many more details like priority, start date, due date, category, state of completion, recurrence, etc. will now be shown as well, giving you a much better picture on your current tasks.
I hope you are as excited as I am. With all this new stuff the upcoming 0.8 release is going to rock. Stay tuned for more!

January 24, 2008

Important bugfixes in the last week - Part 1 (backend and performance)

As mentioned in yesterday's status report a lot of last week's bugfixes fix important or longstanding issues and deserve special attention. This is the first part (of two) describing those important fixes in more details. So let's get down to business:

  • Bug 323011: Unifinder default option should not be 'all events'
    When working with larger calendars our startup time was pretty horrible. One major cause of this was "Event List" (aka unifinder), which by default would display all events of all activated calendars. This can of course take some time, especially if you have a lot of larger calendars.

    What we did to fix this is look at how people use the unifinder. We noticed that most people seem to use it to look at the events of today or maybe the next few days, but not the events of two years in the past. So from now on, the unifinder will only display today's events by default. You can of course still configure it to display other timeranges. Thanks go to Philipp for implementing this and to Daniel for his review.
  • Bug 328996: guessSystemTimezone doesn't take northern/southern hemisphere into account
    When you start Lightning or Sunbird for the first time, it tries to guess in which timezone you are working. In the past our algorithm for doing this did a poor job in some cases. While it would normally guess the time offset correctly (e.g. if you were living in central Europe, it would guess that you were in GMT+1), it did a poor job on guessing your real location. This sucks, because if you are living in Germany and Sunbird thinks that you are working in Algeria, then stuff like daylight savings time wouldn't work correctly. In addition other places in our app sometimes got confused if your configured timezone in the application was different from your system timezone.

    This bugfix should fix 99% of all those issues. We believe that it will drastically improve the reliability of Sunbird's or Lightning's time reporting and will also reduce support questions. Thanks go to gekacheka for providing the patch and to Clint for reviewing it.
  • Bug 393395: Offline Support infrastructure: Synchronization interfaces
    In the past if you were working with remote calendars, you could only use Lightning or Sunbird when you were online. With this patch we've made the first step into the world of offline support. Please note that the current state of offline support is still considered experimental. But it should already work in most cases. Thanks go to Daniel and Philipp, who implemented and reviewed this.
  • Bug 402518: Enhance storage provider to store foreign timezones
    The issue that this bug fixes is probably the most reported bug for Lightning and Sunbird to date. Until now, our apps would not recognize the timezone definitions in an .ics file, that had been created by other apps (like Outlook, iCal, Evolution, etc.). The effect was, that our apps would go berserk and simply assume that the timezone would be GMT (Greenwich Mean Time) or that there was no timezone mentioned in the imported file at all. That lead to events being displayed at the wrong time. A pretty serious issue for a Calendar application to be honest.

    This bugfix should fix this issue once and for all. However timezones are a delicate thing and it's easy to miss someting. Therefore we could need some help in testing current nightly builds, so that we're not in for a big surprise once 0.8 is released. Nevertheless we believe that it will drastically improve the reliability of Sunbird's or Lightning's time reporting and will also reduce support questions. Thanks go to Daniel for fixing this beast, that has plagued for such a long time and to Clint for reviewing the patch.
  • Bug 408727: Monthview is slow in sorting events
    In the past we have heard some reports of Lightning or Sunbird being slow with larger calendar files. We are currently investigating the roots of the performance issues. One of the first results of this investigation is this patch. We noticed that we were doing unnecessary complex calculations when building up the month view to display a calendar. While this fix alone will not suddenly make the app Lightning-fast, the positive effect should still be noticeable. Thanks go to mvl for providing the patch and to Mickey for reviewing it.
  • Bug 411690: Avoid unifinder startup load
    This is another case of us doing unneccessary work. In the past we would always update and refresh the unifinder, regardless of whether it was displayed or hidden. From now on, we will only update and refresh the unifinder when it is active. So if you don't use it at all or only sometimes, we will use the cycles of your computer more effectively. Thanks go again to Philipp for implementing this and to Mickey for reviewing the patch.
That's it for today. Tomorrow I'll present to you our recent improvements in the front-end and the UI. Stay tuned!

January 23, 2008

Lightning/Sunbird Status Update (January 23)

WOW! Just nine days have passed since the last status update and 44 bugs have been fixed in that time period. A lot of of those bug fixes fix important and/or longstanding issues and deserve special attention, but if I put everything into this posting you'll probably need a few hours to read through this post :).

Therefore I'll post one or more additional posts within the next few days dedicated to those important bugfixes.

So without much further ado here is the list of all the 44 bugs which were fixed within the last nine days:

  • Bug 195580: Can't use delete button to delete task or calendar
  • Bug 257428: use alarms? -- preference on a per-calendar basis
  • Bug 278799: Unifinder: Sorting events should use collator & precomputed keys
  • Bug 313822: adjust getMailBar() to recognize the SeaMonkey toolbar
  • Bug 328618: failure when creating calendar objects does not display an error dialog
  • Bug 328996: guessSystemTimezone doesn't take northern/southern hemisphere into account
  • Bug 352546: Build Lightning with all locales included
  • Bug 379100: Give the Unifinder an overhaul
  • Bug 384826: Double click while editing event title in multiday view should select word
  • Bug 386432: Unify code of Lightning and Sunbird (Part 1 -- Script Consolidation)
  • Bug 387863: Event Invitation by mail does not display END TIME of event
  • Bug 389952: Header of Agenda-pane should be improved
  • Bug 392936: Switching mode toolbar location from top to bottom causes duplicate icons
  • Bug 393395: Offline Support infrastructure: Synchronization interfaces
  • Bug 401546: Alarm indicator icon is not visible for recurrent events
  • Bug 402518: Enhance storage provider to store foreign timezones
  • Bug 404023: Lightning asks for a target calendar even when declining an invitation
  • Bug 405312: task mode splitter affects message pane splitter in mail mode
  • Bug 408287: Strict warnings in calendar-task-tree.xml on double click and startup
  • Bug 408291: calendar task tree shows completed date in UTC
  • Bug 408349: Add 'Click Here to Add a New Task' text field to Task List of Today-Pane
  • Bug 408473: Strict warnings in calendar-dnd-listener.js
  • Bug 408651: scroll bar in task mode is defect
  • Bug 408727: Monthview is slow in sorting events
  • Bug 408798: Optimize Menu Structure for Task Mode
  • Bug 411489: It is not possible to drop a Mail or Task into the Event List Container
  • Bug 411497: Task mode should offer some sort of filtering
  • Bug 411498: Task mode details pane doesn't show enough details
  • Bug 411690: Avoid unifinder startup load
  • Bug 412258: Category color isn't displayed if category name is longer than 2 words
  • Bug 412389: channel variable not defined in calDavCalendar.js
  • Bug 412613: Select All (Ctrl+A) in Mail mode doesn't work anymore
  • Bug 412639: Clicking offline icon throws exception
  • Bug 412671: Only build locales if calendar locale is checked out
  • Bug 412742: Try to open the invitations dialog -> XML Parsing Error
  • Bug 412757: Event dialog is broken after removing the Privacy toolbar button
  • Bug 412853: many strict warnings
  • Bug 412929: displayDeck has no properties error
  • Bug 412946: Invitations show wrong start and end time
  • Bug 412948: Tasks cannot be deleted
  • Bug 412964: Switching to calendar mode throws error
  • Bug 413245: hardcoded string 'Calendar' in Lightning sidebar
  • Bug 413450: calCalendarManager: js error NS_ERROR_INVALID_POINTER
  • Bug 413455: Task tree component does not fully implement nsITreeView

Special thanks again go to all developers, contributors, localizers, testers, and supporters that made this possible. You guys rock!!!

January 14, 2008

Lightning/Sunbird Status Update (January 14)

Another week has gone by and another 19 bugs have been fixed in the last few days. The only important change within the last week I already blogged about yesterday. Otherwise there's nothing particularly interesting this time, just the usual bug-fixing and polishing going on.

Here's the complete list with all the 19 bug fixes:

  • Bug 323011:
    Unifinder default option should not be 'all events'
  • Bug 353887:
    Calendar Internal Code has errors when calculating recurrences with all-day and non-allday items
  • Bug 362650:
    Google Calendar Provider: Support for Recurring Events
  • Bug 367186:
    Migration wizard hangs when importing an empty ICS file from calendar extension
  • Bug 376585:
    Subscription Dialog: Add search functionality and possibility to add more than one calendar at once
  • Bug 379029:
    API to reflect provider capabilities (gdata)
  • Bug 393395:
    Offline Support infrastructure: Synchronization interfaces
  • Bug 402325:
    Disable cut and paste commands when all calendars are readonly
  • Bug 402534:
    Provide a default set of categories
  • Bug 404056:
    Select Calendar dialog is empty during export/import/publish
  • Bug 405251:
    Unit tests for memory and storage providers
  • Bug 405687:
    Missing keyboard shortcut for the tasks window
  • Bug 406731:
    Event..., Task..., Calendar... items are missing in File Menu
  • Bug 409249:
    Creating Tasks should return an error
  • Bug 409968:
    Modifying all items of a recurring event runs into exceptions
  • Bug 410560:
    Quicken standalone build process
  • Bug 410755:
    It is not possible to resize and reorder the columns of the task list
  • Bug 410788:
    Remove some dumps, fix js strict errors
  • Bug 412154:
    Creating events with custom recurrence rule fails [Error: getElementValue is not defined]

Thanks again to all our developers, contributors, localizers, testers, and supporters.

January 13, 2008

Recurring events - now working in Provider for Google Calendar nightlies

Our resident GData hacker, Philipp, tells me that as of now the latest nightly builds of the Provider for Google Calendar extension support recurring events.

Here are some details:

  • Extension nightlies containing the necessary patch are availabe on http://gdataprovider.mozdev.org
  • This only works on Lightning and Sunbird nightly builds. Sorry 0.7 users, you'll have to wait until the 0.8 release comes out.
  • In the case that the deletion of a recurring event is not working, this may be due to a known bug on the Google side. Please test with another timezone.
  • Philipp hopes to release his next version (0.4) of the Provider for Google Calendar extension at the same time that Lightning and Sunbird 0.8 come out. Release 0.4 will contain recurrence support.
Any help in testing this stuff is greatly appreciated by Philipp and the whole Calendar community.

January 3, 2008

Lightning/Sunbird Status Update (January 03)

Welcome to the first status update in the new year 2008! I hope you all had a good time getting into 2008. I certainly did :-) Still, we have been busy over the christmas holidays and the Lightning/Sunbird developers have fixed quite a few bugs on the road to our 0.8 release.

Two bug-fixes are worth mentioning:

  • Bug 402177: Add functionality for hiding the unifinder easily
    The event list and search functionality (known among developers as the unifinder) can now be easily enabled or disabled by a toolbar button or the application menu. This should make working with the unifinder much more comfortable for our users.
  • Bug 410168: Circular reference in timezone references
    A lot of people have complained about the excessive memory use of Lightning or Sunbird when using remote calendars. We believe that we have found one of the causes (if not the cause) of this huge memory leak and have fixed it. Thanks go to mvl for identifying this issue and to both mvl and Daniel for fixing this bug.

Here is the list of all the 16 bugs fixed since the last status update:

  • Bug 382121: Use a javascript implementation of propertybags
  • Bug 400949: Build Lightning with Sunbird
  • Bug 402177: Add functionality for hiding the unifinder easily
  • Bug 405007: Enable unit tests on Trunk tinderboxen - Update Makefile
  • Bug 409526: Use a for loop instead of Array.some to make queryinterface a bit faster
  • Bug 409743: Add Ukrainian localization
  • Bug 409842: Remove unused journal menuitems and strings
  • Bug 409843: Unify toolbar button styles
  • Bug 410055: LAST-MODIFIED entries in an ics file are set to actual time
  • Bug 410080: Consolidate usage of ics-service
  • Bug 410086: Random events have Untitled title
  • Bug 410140: Update calendar copyright dates to 2008
  • Bug 410168: Circular reference in timezone references
  • Bug 410650: Accel+VK_DOWN for jumping to today doesn't work
  • Bug 410664: Fix typo in calendar-toolbar.css
  • Bug 410520: Add a way to prevent the migration wizard from starting

Thanks again to all our developers, contributors, localizers, testers, and supporters.

If you're interested in helping out, read this article directed at developers. People without coding experience, who would like to help as well, should read this article about our recent testing initiative or our documentation efforts. Everyone of you can really make a difference here!

December 23, 2007

Lightning/Sunbird Christmas Status Update (December 23)

Before go into the christmas break, we would like to give you the last status update of 2007. Since the last status update three days ago, seven bugs have been fixed.

Here's the list with the seven bug fixes:

  • Bug 365706: Migration wizard shows oversized progress bar on import page
  • Bug 406441: Add files for building universal lightning
  • Bug 408740: Calendar Toolbar has conflicting accesskey in Lightning
  • Bug 408743: [Mac] Today-pane close button misses active and hover states
  • Bug 408826: Errors regarding gdata's superCalendar
  • Bug 409003: Rotate View is always disabled
  • Bug 409346: Typo in CalDAV provider prevents PUT to Chandler svn

Thanks to all our developers, contributors, localizers, testers, and supporters.

We wish everyone of you a merry christmas and a happy new year. We hope that you'll stay with us in 2008. Great stuff is still to come...

String freeze postponed for 0.8 release

Just a short info, that the Calendar developers have decided to move the string freeze for the upcoming 0.8 release (currently scheduled for February 2008) one week forward.

The string freeze will now be in effect on January 14th, 2008.

We made this decision, because we need some additional time to finish some of our UI work, because pretty much everyone from the developers is away over the christmas holidays.

If you have any questions, please post them to the mozilla localizer newsgroup.

I wish everyone of our localizers a merry christmas and a happy new year. Thank you for your continuing support!

December 19, 2007

Lightning/Sunbird Status Update (December 20)

Sorry for the late status update. I was away skiing. I hope you'll forgive me. We have 23 bugfixes since the last status update, among them some pretty significant improvements.

Three bugfixes are of special importance and I'm really that we've finished those before the winter holidays. Consider them a special christmas gift from the developers:

  • Bug 341576: Improved alarm dialog
    We've been waiting very long for this one. The old alarm dialog was looking rather dull and was also pretty light in terms of functionality. You can find screenshots of the new dialog here and here. A big thanks to Philipp and Christian, who worked this out.
  • Bug 388018: Mode toolbar buttons function as drop targets
    This one may sound complicated, but is really simple. It allows you to convert an e-mail to an event, just by dragging an e-mail to the calendar icon on the mode toolbar to the left. You can also convert events to e-mail, e-mails to tasks, tasks to events and so forth. Here's a conversion table showing you the full functionality. There are some minor regressions, but it should already be usable. A big thanks to Mickey, who implemented this.
  • Bug 389854: Agenda-pane implementation
    The agenda-pane is a significant upgrade for the today-pane introduced in 0.7. Here's a screenshot showing it in all its glory. Thanks to Berend for finishing this.

Here's the complete list with all the 23 bug fixes:

  • Bug 341576:
    A better event alarm dialog
  • Bug 388018:
    Mode toolbar buttons should function as drop targets
  • Bug 389522:
    move shared code from applicationUtil.js to calUtils.js
  • Bug 389854:
    Today-pane: implement agenda-pane
  • Bug 394902:
    libical update
  • Bug 405034:
    Task list doesn't persist sort order or column selection anymore
  • Bug 405109:
    Make it impossible to use the same profile with different wcap calendar users
  • Bug 405111:
    Hidden completed tasks are visible in task list after startup or reload remote calendars
  • Bug 405417:
    New task mode remains empty
  • Bug 405418:
    Calendar color is not applied immediately to ICS calendars
  • Bug 405459:
    Task without start and due date are not displayed anymore
  • Bug 405499:
    Task list behaves erratic after deleting multiple tasks at once
  • Bug 405502:
    Imported task is displayed twice in task list
  • Bug 406804:
    Database upgrade from Sunbird 0.3 to 0.8pre fails
  • Bug 407279:
    Make CalDAV-scheduling freebusy work with Oracle server
  • Bug 407574:
    calCompositeCalendar: numToSend is not defined
  • Bug 407700:
    Need to filter [;:] for common names CN
  • Bug 407745:
    Add lightning version in user-agent string
  • Bug 407798:
    All tasks shown multiple times
  • Bug 408067:
    nsIXULAppInfo.ID case is incorrect
  • Bug 408227:
    calendar-alarm-dialog.ico file should include images for older platforms
  • Bug 408237:
    Non working code due to setting of readonly attribute generation in providers
  • Bug 408657:
    Dragging tasks/events over the calendar list causes exceptions

Thanks again to all our developers, contributors, localizers, testers, and supporters.

If you're interested in helping out, read this article directed at developers. People without coding experience, who would like to help as well, should read this article about our recent testing initiative or our documentation efforts. Everyone of you can really make a difference here!

December 7, 2007

Lightning/Sunbird Status Update (December 07)

Another week has gone by and another 19 bugs have been fixed in the last 8 days. Nothing particularly interesting this time, just the usual bug-fixing and polishing going on.

Here's the complete list with all the 19 bug fixes:

  • Bug 389522:
    move shared code from applicationUtil.js to calUtils.js
  • Bug 390492:
    events with DURATION get serialized with DURATION and DTEND
  • Bug 390495:
    datepicker combo from calendar tab is expanded after starting thunderbird
  • Bug 392584:
    Calendar-Mode menu cleanup
  • Bug 393816:
    Eliminate use of X-MOZ-LOCATIONPATH
  • Bug 396316:
    update format of stored login manager entries
  • Bug 398975:
    improvements to caldav-scheduling discovery
  • Bug 399809:
    Trim down Sunbird build
  • Bug 400950:
    Change calDatetime to reference its timezone definition
  • Bug 403058:
    Minimonth month dropdown menu misses styling on mouse hover
  • Bug 405039:
    Don't use localized prefs for Get (extensions|themes)
  • Bug 405459:
    Task without start and due date are not displayed anymore
  • Bug 405833:
    Make recurrence dialog more extension friendly (be generous with ids)
  • Bug 406433:
    Keyboard shortcut for menu View -> Week (Alt+2) doesn't work
  • Bug 406569:
    GData loader fails for lightning
  • Bug 406603:
    Add Korean locale to Calendar
  • Bug 406747:
    Exception when setting calRecurrenceRule.endDate
  • Bug 406801:
    Import and display of event with foreign timezone fails
  • Bug 406849:
    Remove unused entity calendarproperties.autorefresh.label from calendar.dtd

Thanks again to all our developers, contributors, localizers, testers, and supporters.

If you're interested in helping out, read this article directed at developers. People without coding experience, who would like to help as well, should read this article about our recent testing initiative or our documentation efforts. Everyone of you can really make a difference here!

December 3, 2007

3 million downloads for Sunbird and Lightning

Somewhere on Sunday evening, we passed the 3-million-downloads barrier for Sunbird and Lightning downloads in total. That's an increase of nearly 600,000 total downloads since we started the download counting exercise on September 12, 2007 nearly three months ago.

At the moment we have 1,784,000 unique Sunbird downloads and 1,221,000 unique Lightning downloads. Sunbird has been around longer than Lightning, so the lead is to be expected. These numbers do not incorporate the downloads of people who updated Lightning via addons.mozilla.org or via the automatic update service in Sunbird.

Some additional information:

  • Sunbird 0.3 is still the most popular release with 596,000 total downloads
  • Sunbird 0.3.1 comes second with 494,000 downloads
  • Sunbird 0.5 is hard on the heels of 0.3.1 with 474,000 total downloads
  • Sunbird 0.7 has been downloaded 193,000 times since its release five weeks ago. Furthermore 137,000 installations of Sunbird 0.5 have been updated to 0.7, so the total numbers of Sunbird 0.7 downloads is at 330,000 at the moment.

We currently do not have any information about the number of different Lightning releases in the wild.

Let me use the opportunity to say "Thank you" to all our users and supporters. We couldn't have done this without you. We hope to bring you a great 0.8 release soon (hopefully with even more downloads).

November 29, 2007

Lightning/Sunbird weekly status update (November 29)

Another week has gone by and another 13 bugs have been fixed in the last 7 days. Nothing particularly interesting this time, just the usual bug-fixing and polishing going on.

Here's the complete list with all the 13 bug fixes:

  • Bug 333363:
    Some providers return an allday event on the day of the event, and the day after
  • Bug 395051:
    Synchronize connection.dtd on MOZILLA_1_8_BRANCH and Trunk
  • Bug 398975:
    Implement calIFreeBusyProvider for CalDav Provider
  • Bug 401000:
    make helper methods (e.g. calGetString) exception safe
  • Bug 402683:
    new category layout causes colliding event boxes
  • Bug 403061:
    [Unifinder] Edit and Delete selected event via keyboard is broken
  • Bug 404813:
    No calendars can be created, failure during startup (regression)
  • Bug 404834:
    Menuitem for show/hide Search Bar is broken
  • Bug 405006:
    Strict warning in calendar-task-tree (aRow hides argument)
  • Bug 405127:
    [Task Mode] Add 'click here to add a new task' feature
  • Bug 405199:
    First day of week is always Sunday in prefs window
  • Bug 405490:
    [Task dialog] Due date picker doesn't work
  • Bug 405777:
    calUtils doQueryInterface runs into infinite recursion

Thanks again to all our developers, contributors, localizers, testers, and supporters.

Let me also point you to David Ascher's recent blog post. He's right in that we could use some helping hands. If you're interested, read this article directed at developers. People without coding experience, who would like to help as well, should read this article about our recent testing initiative or our documentation efforts. Everyone of you can really make a difference here!

November 22, 2007

Lightning/Sunbird weekly status update (November 22)

One week has passed and here's another installment of the Calendar Project's status update with the list of recent bug fixes. 12 bugs got fixed in the last 8 days.

Especially noteworthy is the implementation of a task mode for Lightning, one of the three major feature implementations that are planned for the 0.8 release. Kudos to Mickey, who implemented this and to Berend, Christian and Philipp, who did the code review. Great work guys!

Here's the complete list with all the 12 bug fixes:

  • Bug 253396: Implement Task Mode
  • Bug 328442: jsDate vs calIDateTime
  • Bug 341776: calICalendar::superCalendar attribute for calendar composition
  • Bug 374347: nsIClipboard uses the deprecated nsISupportsArray interface
  • Bug 398139: X-prop parameters get corrupted
  • Bug 399595: Remove unused entities from global.dtd
  • Bug 401704: Make Event dialog more extension friendly (be generous with id's)
  • Bug 403748: Correct misspellings in Calendar code
  • Bug 403936: Activity field in today pane does not remember its last setting
  • Bug 404007:< Remove calendar from composite in onCalendarUnregistering.
  • Bug 404085: Consolidate provider methods into a default calendar implementation
  • Bug 404763: Broken instanceof test in calUtils.js

Thanks again to all our developers, contributors, localizers, testers, and supporters.

Let me also point you again to our call for help from developers. We can really use some help to finish 0.8. We also need more people doing testing or writing documentation. So if you cannot code, let this not stop you from making Lightning and Sunbird better products. Everyone of you can really make a difference here!

November 20, 2007

Help to make 0.8 a better release

We're currently doing all the planning work for the 0.8 release. Part of the planning work is determining which bugs need to be fixed for the release and which bugfixes can wait. We call this triaging.

And here's the problem:
Right now our list of bugs we want to fix for 0.8 (bugs marked as wanted0.8+) already contains 60 bugs (at the time of writing). If you combine this with the major feature we are planning for 0.8 (foreign timezone support, task view, offline calendar support) this makes our goal of releasing 0.8 in early February a very ambitious one.

But you can help us here:
32 of those 60 bugs (at the time of writing) currently have no owner. So this is the right time for you to step up and help us in making 0.8 a great release. You can really make a difference! If you can do a little bit of programming and want to help, just stop by in the #calendar IRC channel on irc.mozilla.org or join our weekly developer confcall and ask for help there. We're counting on you!

November 14, 2007

Lightning/Sunbird Status Update (November 14)

It's been nearly four weeks since the last status update and nearly three weeks since 0.7 was released, but do not think that we've been idle in that time. We're already going full steam towards the 0.8 release and have already fixed 65 bugs since the last status update.

Three fixes deserve your special attention:

  • Bug 288496: Alarm indicator icon on event box
  • Bug 372829: Integrate unifinder into Lightning as it is in Sunbird
  • Bug 400279: Category colors should be displayed next to the event boxes

With those fixes we gain the ability to easily select lots of events based on different criteria (bug 372829), a feature present in Sunbird but not in Lightning until now. Category colors assigned to an event can now be much easier identified (bug 400279) and it is now much easier to identify events, which have an alarm set (bug 288496).

Here's the complete list with all the 65 bug fixes:

  • Bug 288496:
    Alarm indicator icon on event box
  • Bug 324440:
    Convert calendar code to frozen linkage
  • Bug 328442:
    jsDate vs calIDateTime
  • Bug 341518:
    Minimonth previous and next arrow buttons move when clicked
  • Bug 341537:
    Leaking factories/modules for some components
  • Bug 349870:
    Support building Thunderbird with preinstalled Lightning
  • Bug 354574:
    Centralize definition and getters for PRODID and VERSION
  • Bug 356569:
    Revising calendar prefs handling
  • Bug 363038:
    Recurrence preview should start at the start date of an event
  • Bug 367456:
    Memory usage increases after Reload Remote Calendars (memory leak)
  • Bug 370146:
    API enhancement: Searching for calendars
  • Bug 372829:
    Integrate unifinder into Lightning as it is in Sunbird
  • Bug 373370:
    Send If-Match / If-None-Match headers on PUT & DELETE
  • Bug 378172:
    Recurrence dialog: datepickers need a facelift
  • Bug 379174:
    readonly events should not be dragable in the views
  • Bug 379204:
    Add Open/Save As ICS in Thunderbird File Menu
  • Bug 383272:
    Recurrence dialog: weekly and monthly recurrencepattern is not in sync with minimonths
  • Bug 385155:
    Reminder /alarm dialog doesn't show times in configured timezone
  • Bug 390508:
    Unify calendar command sets
  • Bug 391300:
    Switching to mail mode does not restore collapsed elements properly
  • Bug 392853:
    Unit test: calIDateTime's subtractDate doesn't honor timezones
  • Bug 395940:
    Event Dialog: Save Changes? dialog should use descriptive button labels
  • Bug 395925:
    Revise entity reminder.due.label
  • Bug 396159:
    Unused entity lightning.context.deleteitem.accesskey
  • Bug 396337:
    Some tooltips should be improved
  • Bug 396547:
    Remove obsolete entities lightning.sidebar.showCompletedTasks.*
  • Bug 397538:
    Mac: Right-click on event in calendar brings up non-functioning pop-up menu
  • Bug 397727:
    Incorrect DateTime format for (Google) Calendar request
  • Bug 397866:
    Errors are getting announced indefinitely
  • Bug 397912:
    Switch 'app.update.url' preference to new community server
  • Bug 397917:
    Entire today pane shifts when pressing a miniday button
  • Bug 398139:
    X-prop parameters get corrupted
  • Bug 398247:
    TodayPane: toolbar button icons in miniday are left aligned
  • Bug 398309:
    Installer needs to remove obsolete files
  • Bug 398724:
    Problems with floating all-day items
  • Bug 399764:
    Attendees dialog: error during setting zoom level and strict warning
  • Bug 399864:
    calAttendee lacks mutability checks
  • Bug 399893:
    Lightning 0.7 RC 1 on Mac: Address book icon exchanged
  • Bug 400148:
    Event dialog should compare calendars by id
  • Bug 400168:
    Remove Mongolian as supported language
  • Bug 400279:
    Category colors should be displayed next to the event boxes
  • Bug 400370:
    Weektitle of miniday is not always correctly calculated
  • Bug 400407:
    Conflicting entries in removed-files.in break update process
  • Bug 400808:
    Change default preference to false for sendEventNotifications
  • Bug 400871:
    General listener is called even when not defined (gdata)
  • Bug 400951:
    Attribute calICalendar::suppressAlarms should be removed, be modeled as a calendar pref/property
  • Bug 401362:
    Recurrence dialog: uncaught exception if creating new event
  • Bug 401389:
    Task dialog shows dots beside start and due date checkboxes when given focus
  • Bug 401428:
    Google calendars do not show up in any view (missing toString)
  • Bug 401521:
    Day, Week and Multiweek View changes to Month View after restart
  • Bug 401572:
    Selective calling of onRemoveAlarmsByItem / Error Console startDate has no Properties
  • Bug 401668:
    calendar-unifinder.css changes text color in Thunderbird
  • Bug 401678:
    Gdata preferences file is not correctly added
  • Bug 401681:
    Sync calendar-event-dialog.css between trunk and branch
  • Bug 401710:
    Unable to dismiss zero duration events
  • Bug 401739:
    Thunderbird always starts in calendar mode
  • Bug 401861:
    Send freebusy results immediately
  • Bug 401878:
    Events of deselected calendars stays visible
  • Bug 401905:
    Event grippies are no longer functional
  • Bug 402038:
    Drop Lightning support for Thunderbird 1.5
  • Bug 402197:
    WCAP calendar, all day recurrence -> deleting a single event isn't possible
  • Bug 402516:
    Remove calIOperation::success
  • Bug 403221:
    Fix typo: explaination -> explanation
  • Bug 403517:
    New Event/Task (context) menu commands are always disabled
  • Bug 403676:
    Remove lock from calendar list column header
Stay with us! More good stuff is yet to come. Thanks again to all our developers, contributors, localizers, testers, and supporters. Keep up the good work!

November 1, 2007

A call to action: Lightning/Sunbird end-user documentation

We often get feedback from people that want to contribute to the Calendar apps, but lack the technical skills needed for programming.

This post is for you. We need your help!

We are currently lacking any kind of end-user documentation. We need tutorials, geared towards typical end-users like your neighbor or your grandma, explaining to them the basic tasks in a calendar app.

  • Installing Sunbird
  • Installing Lightning into Thunderbird
  • Switching between mail and calendar mode in Lightning
  • Creating a new event or a new task
  • Creating a recurring event
  • Changing the time or date of an event
  • Switching between the different calendar views
  • Inviting other people
  • Adding a holiday calendar
  • Exporting a calendar and sharing it with other people over the net
  • Creating new calendars
  • Printing a collection of events
  • and many more

It would be great if you could help us out here, either by writing a tutorial, contributing screenshots or thinking of other things that could be documented.
I've created a page for user documentation on our wiki. This should enable you to work collectively on the things that you want to contribute to.

We really look forward to what our community can accomplish.

October 25, 2007

Lightning 0.7 & Sunbird 0.7 have been released

I am happy to report, that the 0.7 of Lightning and Sunbird has been completed and is now available via AMO and the Calendar Project website.

Just 1.5 weeks after our originally scheduled release date, Lightning 0.7 and Sunbird 0.7 bring us a huge step closer to our 1.0 release, which we hope to release in 2008.

Notable improvements of this release are:

  • It is now much easier to switch between the mail and calendar parts of Thunderbird thanks to a user interface redesign
  • A redesigned event/task dialog has been enabled to gather feedback from the community. It offers a much cleaner user interface and additional functionality including:
    • Events/Tasks can be created in different timezones
    • Attendees can be added from a local or corporate LDAP directory
    • Free-Busy information is available for users of the Sun Java Calendar Server
    • Integrated display of recurrence patterns, reminders and attendees
    • Custom recurrences and reminders
    • Clear separation between tasks and events
  • The new event summary dialog lists all the details of tasks and events for calendar which are read-only
  • The Today Pane gives a quick overview over your current tasks and upcoming events. The Today Pane can be enabled/disabled by a toolbar button
  • Colliding events (events in the same time slot) are shrunk so that they fit into the display of a day. This no longer affects other events on the same day
  • Localized releases of Lightning and Sunbird in Chinese (simplified), Georgian, Lithuanian, Portuguese (European), Spanish (Argentina) and Turkish
  • A full list of changes that have gone into this release can be found on The Rumbling Edge website

Lightning 0.7 and Sunbird 0.7 are available for Windows, Mac OS X (universal builds) and Linux in 27 different languages including English.

Please use the following links to download the release:

Please read the release notes for Lightning 0.7 and Sunbird 0.7 before downloading.

Thank you again to all our developers, contributors, localizers, testers, and supporters. We would not be able to do this without your assistance!

UPDATE: We have heard reports, that after upgrading Lightning to 0.7 all tasks and events are no longer displayed. To get your tasks and events back, switch to Calendar Mode using the toolbar button below the folder pane and ensure that all your calendars are marked as visible.

October 20, 2007

0.7 status update (October 20)

Very late during our test cycle we found one bug that is serious enough to warrant an RC3. It is bug 400407. Thanks to the help of Nick Thomas (cf) from Mozilla IT we have a patch ready, but are waiting on some of the comments to be addressed before checking it in.

We also said that if we spun an RC3 we would take bug 385155, since it is serious enough to need fixing in 0.7 and is a very low risk change. The patch for bug 385155 has already been checked in.

We should get the RC3 to you as soon as possible. Hopefully, it will be available Monday or Tuesday.

We're almost there!

October 19, 2007

How many Calendar bugs are fixed these days?

While reading LpSolit's article about the number of people fixing bugs on Bugzilla I thought that I should try to do the same for Calendar. Unfortunately this didn't really work as a lot of our fixed bugs were never assigned to the person who developed the fix and that completely screws our numbers.

So I thought of a second-best option: The overall number of bugs fixed per quarter for the last five years (click to enlarge):

What the numbers (and especially the moving average) clearly show is that we've been picking up some serious steam and are more active than ever.

October 17, 2007

0.7 RC 2 is out

We have just released Lightning & Sunbird 0.7 RC2 two weeks after we released our first release candidate (RC1). The RC2 is available in 27 languages (including English) for Windows, Linux and Mac OS X (Universal).

The RC2 contains the following fixes that were added after the RC1:

  • Bug 375390:
    New event boxes appear too large in month/multiweek view
  • Bug 397642:
    stale agenda update
  • Bug 398046:
    Add Turkish as an officially supported language
  • Bug 398278:
    Superfluous freebusy debug messages in javascript console
  • Bug 398303:
    Attendee preview is broken in new event summary dialog
  • Bug 399433:
    Automatic scrolling feature doesn't work when searching for the next free meeting slot
  • Bug 399616:
    Event on daylight saving time start or end day shows incorrect hour in day and week view
  • Bug 399780:
    Automatic reminders for tasks not taken into account if no day has been selected

Here's where to get your hands on the RC:

After finishing RC2 we're holding a community test day tomorrow (Thursday, October 18th). We need you to tell us, if Lightning and Sunbird are ready for release, or if our developers have to fix some so far unknown bugs. So, join us in #calendar-qa on Thursday. All the information on the test day is in our Test Day Wiki Page.

Thanks to everyone who has helped with this release. And, an even bigger thank you to everyone who has waited for us to release it. Thanks!

Happy 0.7!

October 10, 2007

Notes from the talk with Ascher and Code freeze announcement

Notes from the discussion with David Ascher and the team are on the wiki. I take notes in mediawiki formating and it's just easier to post them that way.

One thing Simon forgot to mention is that we will be code-freezing for 0.7 RC2 this Friday at 23:59:59 UTC. So if you are the owner of any of the following localization bugs, please get them fixed, or let us know if there is something blocking you.

  • Basque: Unlocalized default category names (Bug 399291)
  • Macedonian: Unlocalized default category names (Bug 399290)
  • Turkish: Missing default preferences (Bug 398046)

Please help us out on Tuesday, October 16, for smoke testing of the final 0.7 release. You can find us in #calendar and #calendar-qa on IRC. Thanks!

Lightning/Sunbird 0.7 localization status

I want to give you a short update on the state of localization for the upcoming Lightning/Sunbird 0.7 release. The RC1 was released last week on October 4th. Since we haven't noticed any additional serious issues, a RC2 will come within the next few days.

While most localizations look fine from a quick glance, some still have minor issues, which need to be resolved within the next 2-3 days. The affected localizations are:

  • Basque (eu): Unlocalized default category names (Bug 399290)
  • Hungarian (hu): Missing default preferences (Bug 399241)
  • Macedonian (mk): Unlocalized default category names (Bug 399291)
  • Punjabi (pa-IN): 50% of user interface strings are displayed in English (Bug 398067)
  • Turkish (tr): Missing default preferences (Bug 398046)

As we have seen no reaction from the Mongolian (mn) localizer, there will be no localized Mongolian builds for 0.7.

If you have any questions, feel free to contact me or post a comment here in the blog.

October 8, 2007

Lightning/Sunbird status update (October 08)

The 0.7 RC1 has been out for a few days and has already been downloaded a few thousand times. We have already taken a few additional fixes, which will be in the next RC and are detailed below:
  • Bug 375390:
    New event boxes appear too large in month/multiweek view
  • Bug 397642:
    stale agenda update
  • Bug 398278:
    Superfluous freebusy debug messages in javascript console
  • Bug 398303:
    Attendee preview is broken in new event summary dialog
I also want to remind you of the community test day tomorrow on Tuesday, October 9th. We need you to tell us, if Lightning and Sunbird are ready for release, or if our developers have to fix some so far unknown bugs. Also the localized versions of Lightning and Sunbird need to be checked for completeness and correctness. So, join us in #calendar-qa on irc.mozilla.org tomorrow.

October 5, 2007

Alarms, CalDav, RFCs, Automation, Oh My!

Two weeks ago, Philipp (Fallen) and I went to the CalConnect RoundTable 10. (yeah, this post is a little overdue). The interoperability testing segment of the conference gave us a chance to pit Lightning and Sunbird against several CalDav servers. We tested it against Oracle Calendar Server, Apple's Leopard iCal Server, Bedework Calendar, Chandler Hub (Cosmo), and Kerio Calendar Server. We had a few glitches here and there, but we came out looking OK. The most obvious items we are missing are CalDav scheduling and Free Busy support.

Since iCalendar (RFC 2445) is now in its final draft, we also tested some of the differences in the latest version of the specification with our software, to ensure we interpret it properly. Not surprisingly, we had a few issues here with specialized iTIP responses that no longer need to have either a DTSTART or DTEND property. There is also bug 393414, but that had been reported some time ago. Happily, Lightning and Sunbird supported most of these new features, but it demonstrated to me a huge hole in our testing -- more on that in a moment.

At the actual roundtable part of the conference, we discussed VALARMs (among other things). RFC 2445 doesn't give a clear picture of how these should be handled, so we (us and several other members) are drafting an extension to the specification which will give some guidance on how VALARM objects should be used.

There are lots of questions that need to be addressed:

  • How do you annotate a snoozed alarm? What happens if you move the snoozed alarm? Is it remind me in 5 mintues, or remind me 5 minutes before the event?
  • How do you handle alarms on shared calendars? On remote calendars?
  • How to determine when an alarm was acknowledged? There was some agreement that we should standardize our X-MOZ-LASTACK property to carry this information.
I'd like to give you a chance to give us your feedback on how our alarms can be improved (both in ICS and in the UI). Please append your thoughts to this page that Chiller2 started for us.

More than anything, this conference demonstrated to me our dire lack of test automation. This is incredibly important as many changes are now occurring to the iTIP RFC (RFC 2446) which is going to be a crucial feature in 0.8.

Unfortunately, all the calendar team members are doing everything they can to continue making forward progress. We really need help in order to do any kind of meaningful automation. So, we have decided to host an Automated Test Summit some time after we ship 0.7.

In keeping with calendar tradition, we intend to make this event open and accessible to everyone. We (and hopefully many of you) will teach people the basic skills they need to write simple, Javascript-based automated tests.

In order to get this Summit off the ground, we desperately need you. I mean we need everyone. We need people who don't know Javascript. They will be our first editors. We need people who know how to teach and present. They will find the perfect style of online presentation for this. We need javascript programmers. They will craft the details of the training materials. We need writers. They will make those materials easy to follow and entertaining. If you've ever wanted to get involved and didn't know how, here is your opportunity.

We started the Calendar-QA team with a "Testcase Writing Day" that many said was doomed to fail. It didn't fail. It succeeded because so many of you made it happen. Once again, we have the opportunity to do what no one has done before. We can hold an online Automated Test Summit and set another standard of excellence for this project by breaking new ground in the online world.

Are you with us? If you want to get involved, ping either mschroeder or me (ctalbert) on IRC (#calendar, #calendar-qa), leave a comment on this blog, send me an email. Let us know. We'll post more details here as our plans take shape.

And...Don't forget about the 0.7 Release Candidate Test Day on Tuesday, October 9!!!!

October 4, 2007

0.7 RC 1 HAS LANDED!!!

I come with good news, the first 0.7 release candidate (RC1) is ready! We have the Sunbird RC's for all our supported locales (26 including English) as well as the Lightning RC's for all our supported locales AND a Lightning Universal Mac build.

Here's where to get your hands on the RC:

After finishing RC1 we're holding a community test day next Tuesday, October 9th. We need you to tell us, if Lightning and Sunbird are ready for release, or if our developers have to fix some so far unknown bugs. Still a long list of bugs fixed since the release of 0.5 waits to be verified fixed, and the localized versions of Lightning and Sunbird need to be checked for completeness and correctness. So, join us in #calendar-qa on Tuesday. All the information on the test day is in our Test Day Wiki Page.

Thanks to everyone who has helped with this release. And, an even bigger thank you to everyone who has waited for us to release it. Thanks!

Happy 0.7!

September 27, 2007

[Release Update] Lightning & Sunbird 0.7 release branch

I want to inform you that the release branch has been created, from which Lightning and Sunbird 0.7 will be released. The name of this branch is SUNBIRD_0_7_BRANCH.

Please note that code checkins on this branch are restricted. You will need the approval from our lead developer, Daniel Boelzle, before you commit changes to that branch. Localizers do not need approval for checkins on this branch.

Developers and localizers should however make sure, that all changes are committed to the trunk, the MOZILLA_1_8_BRANCH and the SUNBIRD_0_7_BRANCH in parallel. This is to avoid inconsistencies as we do parallel development on the trunk and the branches.

September 26, 2007

Lightning/Sunbird Status Update (September 26)

Thanks for bearing with us as we missed the initially proposed release date for our first release candidate (RC1), which was originally scheduled to be mid-september. This will hopefully be the last status update before the RC1.

The current plan (as of yesterday evening) is to create a release branch today, create the RC1 release builds, do a short smoketest and release those builds as the official 0.7 RC1 within this week.

As you can see from the list below, we have taken some fixes pretty late in the game to give you a better and more stable user experience once 0.7 is released. Our localizers have also been pretty busy and we are proud to report that we'll have 24 non-English languages for the RC1 (3 more than for 0.5) and hopefully 1 or 2 more (Argentinian Spanish and Mongolian) for the final release.

Here's the list of fixed bugs since the last status update:

  • Bug 356056:
    Snooze dialog needs to be more flexible
  • Bug 359443:
    Deleting item from Agenda deletes an email instead
  • Bug 370148:
    API enhancement: Providing free-busy information
  • Bug 379894:
    'Show completed tasks' checkbox has no effect on CalDav calendar
  • Bug 386480:
    View mode is not remembered after Thunderbird restart
  • Bug 388414:
    [Today Pane] Implement 'MiniDay' Pane
  • Bug 390147:
    Export calendar is not wired up correctly
  • Bug 390842:
    Error: redeclaration of var Cc in console, kills Lightning
  • Bug 393388:
    Go back to calendar view via mode toolbar -> 'Day starts at' is not recognized, view start at 0:00
  • Bug 395781:
    Event Dialog: Hyperlinks don't provide visual feedback (focus rectangle) if selected with tab key
  • Bug 395883:
    Readonly dialog says 'Repeat: Occurs ???' for yearly and monthly recurring items
  • Bug 396223:
    Only set calendar preferences if they have changed
  • Bug 396297:
    Event/Task description is not saved when exiting by closing the new edit window
  • Bug 396667:
    Task dialog: clicking the timezone link doesn't bring up the timezone picker
  • Bug 396865:
    workaround alarm without DUE
  • Bug 396873:
    Event dialog is messed up if being subscribed to old Sunbird calendar
  • Bug 396877:
    Agenda update fails after deleting a task from tasklist
  • Bug 396888:
    Event dialog: Timezone links are not displayed correctly for all-day events
  • Bug 396931:
    Toolbar buttons for switching calendar views shift when depressed
  • Bug 396949:
    Strict warnings in agenda-tree.js, messenger-overlay-sidebar, messenger-overly-toolbar
  • Bug 397029:
    Add msimg32 to Makefile.in
  • Bug 397255:
    Various windows: Labels are not properly associated with the controls they're labelling
  • Bug 397359:
    Today pane may be raised in calendar mode
  • Bug 397542:
    Enable es-AR (Espanol Argentina) localization

Thanks again to all our developers, contributors, localizers, testers, and supporters. Keep up the good work!

September 18, 2007

Lightning/Sunbird Status Update (September 18)

Another status update as we're coming ever closer to the first release candidate (RC1) of the upcoming 0.7 release. The most notable fix is probably the fix to bug 393387 which will hopefully take care of all the disappearing events issues, that some users have experienced in the 0.5 release.

The RC1 will also be the first chance for localizers to get their hands on a fully localized build of Lightning, so that the localization quality can be estimated (and maybe improved) for the final 0.7 release. To achieve this we have worked hard behind the scenes with many localizers and as of today 20 localizations other than English are ready for the RC1 (Catalan, Czech, Danish, German, Spanish, Basque, French, Gaelic, Georgian, Italian, Lithuanian, Macedonian, Norwegian, Dutch, Polish, Portuguese (Europe), Russian, Slovak, Swedish and (for the first time) Chinese).

Were still missing localized strings from the Hungarian, Mongolian, Portuguese (Brazil), Punjabi and Slovenian localizers, but hopefully we'll be able to get localized builds for these languages as well, so that all users of the 0.5 release can update to 0.7 once it comes out.

Here's the list of fixed bugs since the last status update:

  • Bug 351084:
    Can't set alarm for new task, existing or default alarm throws error (add-on patch)
  • Bug 356569:
    wcap subscription auto registration by explicit pref only for now
  • Bug 357079:
    Agenda tab doesn't update today's date after hibernating
  • Bug 359443:
    Deleting item from Agenda deletes an email instead
  • Bug 367159:
    [Mac] Date picker disappears after it is clicked on, before user selects a date, POOR MANs FIX
  • Bug 377403:
    Event dialog: iTIP invitations not sent
  • Bug 374235:
    Breakpad should replace Talkback in future versions of Sunbird
  • Bug 386479:
    Switch to Calendar mode don't work properly using buttons, Calendar menu or keyboard shortcut
  • Bug 386636:
    mail-mode should be visible after clicking the tray-icon of an incoming mail (addon-patch)
  • Bug 388418:
    Can't create 'Last day of the month' recurrence rule
  • Bug 388985:
    Calendar color not applied in views: events are translucent
  • Bug 393366:
    Calendar List check boxes are not XP/Vista platform conform
  • Bug 393387:
    week view is blank
  • Bug 393412:
    calPeriod code improvements
  • Bug 394149:
    Event dialog: Status field (tentative, confirmed, canceled) is missing
  • Bug 395288:
    Event dialog: Wrong reminder entry shown for odd durations
  • Bug 395658:
    Colliding event boxes in rotated view
  • Bug 395777:
    changing default for non-owned calendar to readOnly
  • Bug 396093:
    Menu View -> Task List is broken, Task List is always visible
  • Bug 396206:
    Make it easier to overlay the calendar properties dialog
  • Bug 396269:
    Add zh-CN (Simplified Chinese) to shipped-locales
  • Bug 396277:
    fixing view update after timezone, tasks in view change
  • Bug 396580:
    Fix guessSystemTimezone if no TZNAME is set

Thanks again to all our developers, contributors, localizers, testers, and supporters. Keep up the good work!

September 13, 2007

Lightning/Sunbird Status Update (September 13)

I'm sorry for not posting a status update in nearly two weeks, but everyone has been pretty busy lately, especially with fixing bugs for the first release candidate (RC1) of the 0.7 release. We hope to have the RC1 ready sometime next week.

As you can see below, we have added a few features and fixed a lot of bugs lately. Some items are especially noteworthy, as they introduce new features or fix longstanding bugs that have plagued our users for months or even years:

  • Bug 212792:
    opening a .ics attachment launches calendar window but fails to import calendar event from attachment
  • Bug 244459:
    Drag and drop ical (.ics) attachments from mail onto calendar
  • Bug 304741:
    non-colliding events too narrow on days with colliding events aka War-On-Boxes
  • Bug 361977:
    Implementation of event summary dialog
  • Bug 387559:
    Event creation/change fails if server requires authentication for write but not for read

We're really happy to get those features and bugfixes into the hands of our users. Those items, in addition to other fixes that have already been incorporated into our codebase, will definitely make 0.7 our best release ever.

Here's the list of bugs that were also fixed since the last status update:

  • Bug 278139:
    Attendee dialog: title wrong - Edit item
  • Bug 351084:
    Can't set alarm for new task, existing or default alarm throws error
  • Bug 354194:
    Disabling alarm of a snoozed task/events causes an error, menu items are disabled
  • Bug 356569:
    No ability to view other people's calendars (i.e. calendars I have subscribed to)
  • Bug 360216:
    Deleting multiple tasks in todo tab deletes email due to focus issue
  • Bug 368075:
    Remove em:updateURL from Lightnings install.rdf and let addons.mozilla.org handle all updates
  • Bug 370435:
    Review prototype event dialog
  • Bug 372830:
    Integrate unifinder todo into lightning as it is in sunbird
  • Bug 378557:
    Custom command line handlers can't prevent Sunbird from opening its window
  • Bug 379005:
    Create Stub Extension that allows tags in Sunbird/Lightning Extensions.
  • Bug 385183:
    Closing the event calls alert 'Do you want to save changes'
  • Bug 385916:
    exceptions occuring when accessing a calendar prevent any other calendar from appearing
  • Bug 386636:
    mail-mode should be visible after clicking the tray-icon of an incoming mail
  • Bug 387232:
    Collapsed folder pane disappears after restart
  • Bug 387386:
    'Customize toolbar dialog'-overlay not correctly initialized
  • Bug 388094:
    Alarm time exported incorrectly to iCalendar format (.ics) when time is greater than 7 days (or the equivalent in hours or minutes)
  • Bug 388206:
    Lightning 0.7pre breaks toolbar customization
  • Bug 388418:
    [Proto] can not create 'Last day of the month' rule with new edit dialog
  • Bug 388954:
    Shared toolbar buttons behave faulty when customizing toolbars
  • Bug 389535:
    Consolidate implementations for minimonth control
  • Bug 389848:
    Today Pane: Yesterdays all-day recurring events are in Today
  • Bug 390300:
    Open new event dialog from the today pane -> wrong default event length
  • Bug 391082:
    Use 'customize toolbar'-dialog from toolkit for event dialog
  • Bug 392584:
    Calendar Mode Menu cleanup needed
  • Bug 393202:
    Categories in event dialog are hardcoded
  • Bug 393362:
    Can't remove last attendee
  • Bug 393387:
    week view is blank
  • Bug 393608:
    Event dialog and task dialog have no accesskeys
  • Bug 393698:
    Sunbird installer includes everything under the optional directory
  • Bug 393838:
    ORGANIZER Property is lost
  • Bug 393844:
    Update en-US short abbreviations for weekdays
  • Bug 393969:
    View layout screwed up in some cases
  • Bug 394025:
    "Removing last or selected calendar from list causes exception "Could not convert JavaScript argument"."
  • Bug 394169:
    Unable to save attendee window after adding email address
  • Bug 394174:
    Attendee list is blank in event summary dialog
  • Bug 394183:
    Task creation via double click in Task List is broken
  • Bug 394191:
    Title of recurrence dialog is 'Edit Item'
  • Bug 395002:
    Add pt-PT builds of calendar to the tinderbox
  • Bug 395437:
    'Dismiss All' doesn't dismiss all alarms (skips every second)
  • Bug 395639:
    Events with same UID's overlap

A huge 'Thanks' goes out to all our developers, contributors, localizers, testers, and supporters. Keep up the good work!

September 12, 2007

Over one million downloads!

On today's developer confcall Philipp (developer of the Google Calendar Provider extension) mentioned that his extension has been downloaded over 120.000 times.

That prompted me to look at the current download stats for Lightning and Sunbird and the results blew me away:

  • As of today we have 1.030.000 downloads of Lightning through our website and through addons.mozilla.org. That's over 780.000 downloads in the last six months. Not much compared to Thunderbird or Firefox, but very much for such a small project as ours.
  • As of today we have nearly 1.400.000 downloads of Sunbird through our website. That's really awesome! Sunbird has been around longer than Lightning, so the lead is to be expected.

Let me use the opportunity to say "Thank you" to all our users and supporters. We couldn't have done this without you. We hope to bring you a great 0.7 release soon (hopefully with even more downloads).

August 25, 2007

Lightning/Sunbird Status Update (August 25)

One more week has passed on the road to 0.7 and we're making good progress on the release. No particular fix of the last week stands out, but many fix smaller issues that have been nagging people for quite some time.

Here's the list of fixed bugs since the last status update:

  • Bug 329034:
    async calICalendar methods and callbacks need request handles or ids
  • Bug 353567:
    Wrong default alarm set on new events (after start instead of before)
  • Bug 355226:
    Add Support for Attendees to the Google Calendar Provider
  • Bug 356533:
    Incomplete buttons with some themes
  • Bug 360533:
    [Proto] "Documents" label is misleading
  • Bug 362927:
    [Proto] Event dialog: "Options -> Link to documents" missess 3 dots in label
  • Bug 367163:
    Moving an event with timezone enabled via drag&drop changes time
  • Bug 370148:
    API enhancement: Providing free-busy information
  • Bug 373761:
    [Proto] Attendee invitation status is not accessible
  • Bug 377620:
    Localize 'Do you want to save changes?' dialog
  • Bug 385896:
    Reminder '1 week before' doesn't work
  • Bug 386706:
    update check should be disabled if not possible
  • Bug 388283:
    minimonth needs refresh to display all days of a recurrence bold
  • Bug 390523:
    Persist calendar visibility and selection in calendar list
  • Bug 391854:
    Task dialog: Can't set due date to be different from entry date
  • Bug 392669:
    Image of toolbarbutton for today pane should be exchanged
  • Bug 392827:
    Duplicated function in calendar-management.js
  • Bug 392853:
    libical/calIDateTime's subtractDate doesn't honor timezones
  • Bug 393104:
    [Proto] Event dialog: Documents dialog uses hardcoded strings
  • Bug 393105:
    [Proto] Reminder dialog: localizability issues due to fixed width
  • Bug 393542:
    Startup error with fresh profile: composite.defaultCalendar has no properties
  • Bug 393596:
    JavaScript strict warnings in sun-calendar-event-dialog-attendees.xml

Thanks again to all our developers, contributors, localizers, testers, and supporters. Keep up the good work!

August 18, 2007

Lightning/Sunbird Status Update (August 18)

Two more weeks on the road to 0.7 have passed and we're making good progress on the release. None of the fixes in the last two weeks stands out really, but many of the latest fixes make life easier for the developers and will therefore spur future feature developments.

  • Bug 354703:
    calDateTime::SubtractDate has unused variables and function calls
  • Bug 383462:
    VTODO with RRULE but no DTSTART causes exception, missing entries
  • Bug 384700:
    RDATE/EXDATE specified timezones get lost during ICS roundtrip
  • Bug 385743:
    [Trunk] Update from password manager to the new LoginManager
  • Bug 386370:
    Provide more localization possibilities for GDATA provider
  • Bug 388405:
    Unify calendar list between lightning and sunbird
  • Bug 389077:
    [Trunk] Sunbird needs to package sqlite3.dll, nssdbm3.dll
  • Bug 389244:
    Uninstall information of old version not cleared from registry when updating via auto update
  • Bug 389245:
    Clean up undismissed alarms on item modification/deletion
  • Bug 389303:
    Use one ellipsis character (…) instead of three dots (...)
  • Bug 389540:
    eliminate superfluous bindings in recurrence dialog implementation
  • Bug 389951:
    Close-button in Today-pane is checked
  • Bug 390226:
    [Trunk] Lightning breaks Thunderbird view layout
  • Bug 390942:
    Sync packages-static on Trunk and Mozilla-1.8 branch
  • Bug 391062:
    jsDate property is not correctly invalidated upon calDateTime modification
  • Bug 391506:
    Remove custom calUtils.js from gdata provider
  • Bug 391820:
    Addons manager breaks in calendar because MOZ_PLUGINS is disabled
  • Bug 392326:
    Always use C++ casts instead of NS_*_CAST macros
  • Bug 392387:
    New Event / New Task context menu command no longer works (regression)
  • Bug 392388:
    Changing date format or timezone preference causes error in calendar-management.js (regression)
  • Bug 392572:
    Correct comments in calIDateTime.idl

Thanks again to all our developers, contributors, localizers, testers, and supporters. Keep up the good work!

August 2, 2007

Lightning/Sunbird Status Update (August 03)

Hi guys,
another 10 days have gone by and I want to keep you informed about the latest new stuff that is going into the tree. The most notable fix in the last 10 days was the fix for bug 386589, which switches the new prototype event dialog on. This is something that we have been waiting for for a long time. Please help us in testing this and all the other stuff that has gone in lately.

Here's the list of fixed bugs since the last status update:

  • Bug 313822:
    Make Lightning work on SeaMonkey, step 1
  • Bug 363441:
    Same item from different calendars
  • Bug 370305:
    Timepicker: double-click on hours shoud set minute to 00
  • Bug 371917:
    make the prototype event dialog work for sunbird
  • Bug 373983:
    Double click on calendar does not open properties dialog
  • Bug 375389:
    Allow mouse wheel scrolling in rotated view
  • Bug 376086:
    added missing labels for view context menu
  • Bug 378270:
    Remove 'Rotate' button and move the rotate option to the views menu
  • Bug 380335:
    Add picture to task in month view
  • Bug 384779:
    Some entities in connection.dtd should be moved to advanced.dtd
  • Bug 386558:
    change event fired without date actually having changed
  • Bug 386589:
    promote the prototype event dialog as standard dialog
  • Bug 386714:
    Encapsulate Lightning's view-deck in vbox as it is in Sunbird
  • Bug 386925:
    Sunbird Trunk fails to build (Error: Cannot open include file nsBuildID.h)
  • Bug 387425:
    add ka and lt to calendar/locales/shipped-locales
  • Bug 388016:
    Mode Toolbar: Visual Fine Tuning
  • Bug 388216:
    Event Listeners are not removed in views
  • Bug 388566:
    Set a minimum width for calendar and mode toolbar icons
  • Bug 389036:
    recurring task: only first instance is shown in agenda
  • Bug 389158:
    Event Listeners are not removed in todo-list.js
  • Bug 389164:
    Category preferences: doubleclick to edit category
  • Bug 389294:
    Today Pane: Border is too thick in events section
  • Bug 389397:
    Use async providers > reload remote calendars doesn't work
  • Bug 389536:
    address style nits in all files under prototypes/wcap
  • Bug 389693:
    Event dialog: File->New->Event fails

A huge 'Thanks' goes out to all our developers, contributors, localizers, testers, and supporters. Keep up the good work!

July 24, 2007

Lightning/Sunbird Status Update (July 24)

Hi guys,
another two weeks has gone by and I want to keep you informed about the latest new stuff that is going into the tree. No very notable fixes in the last two weeks, so I will move straight ahead to the list of fixed bugs.

Here's the list of fixed bugs since the last status update:

  • Bug 351745:
    iMIP bar should ask user what calendar to add invitation to
  • Bug 374566:
    CalDAV provider should provide UI when setting calendar read-only
  • Bug 378588:
    Tasks-in-view is broken on CalDAV calendars
  • Bug 380376:
    removed calendarToReturn
  • Bug 385439:
    wcap calendar in read only mode -> but new event creation is possible
  • Bug 385572:
    sunbird.exe is compiled with incorrect Product Version information
  • Bug 385900:
    implement todaypane
  • Bug 386502:
    dtstart is always included in recurrence set, even when it's out of the query range
  • Bug 386528:
    Update credits list to include some more people
  • Bug 387302:
    About dialog has no accesskey
  • Bug 387891:
    Remove tasks icon from mode toolbar until task view is implemented
  • Bug 388007:
    PROPFIND truncates URL parameters
  • Bug 388016:
    Mode Toolbar: Visual Fine Tuning
  • Bug 388221:
    Repeating events - alarm doesn't always fire
  • Bug 388405:
    Change weekview to 'workweek days only' -> weekview gets unusable (Regression)
  • Bug 388566:
    Set a minimum width for calendar and mode toolbar icons
  • Bug 388735:
    GData Provider creates events off by one hour for timezones with fractional offsets

A huge 'Thanks' goes out to all our developers, contributors, localizers, testers, and supporters. Keep up the good work!

July 12, 2007

Lightning/Sunbird Status Update (July 12)

Hi guys,
another week has gone by and I want to keep you informed about the latest new stuff that is going into the tree. The most notable fix in the last week was the fix for bug 376086, which introduces the multiweek view into Lightning, that all Sunbird users have already known for a long time. The only known limitation at the moment is, that you can only set the number of weeks that should be shown via the preferences dialog. Please help us in testing this and all the other stuff that has gone in lately.

Here's the list of fixed bugs since the last status update:

  • Bug 262811:
    When hovering a ToDo item long lines of the description doesn't break into multiple lines
  • Bug 332193:
    agenda shows past and finished tasks
  • Bug 364672:
    Minimonth - Chinese weekday names indistinguishable
  • Bug 369689:
    In day and week views, events ending at midnight cannot be resized to a smaller size using the mouse
  • Bug 373898:
    Rounding issues for grid boxes in calendar multiday view
  • Bug 376086:
    Lightning does not support a multiweek view
  • Bug 382755:
    Lightning fails to process iTIP/iMIP invitations sent by Groupwise server
  • Bug 383991:
    Full SSL support for (Google) Calendars
  • Bug 386483:
    Allday event marks two days bold in minimonth
  • Bug 386505:
    can't switch to calendar mode using Thunderbird 1.5
  • Bug 387294:
    width of left pane is not set properly at startup
  • Bug 387549:
    bad lineends in sources files

A huge 'Thanks' goes out to all our developers, contributors, localizers, testers, and supporters. Keep up the good work!

July 4, 2007

Lightning/Sunbird Status Update (July 4)

Hi guys,
after the 0.5 release we're not stopping, but are moving full-speed towards the 0.7 release later this year. Already over 30 bugs have been fixed since the 0.5 release came out. The most notable fix was of course the fix for bug 371916 (see a description here). With all the new stuff going in, it would be great if you could help us test all the new features on the next testday, which we'll announce shortly.

Here's the list of fixed bugs since the 0.5 release:

  • Bug 259234:
    event start time is greater than end time if negative default duration
  • Bug 264150:
    Minimonth busy highlight
  • Bug 327974:
    schema-*.sql has fallen out of sync with the provider
  • Bug 334264:
    text color in about dialog is not default color
  • Bug 346762:
    Lightning shouldn't include applicationUtils.js
  • Bug 350323:
    show hidden calendars when they are selected
  • Bug 352433:
    'all-da