[Chandler-dev] [Sum] April 9 - 15

Katie Capps Parlante capps at osafoundation.org
Wed Apr 25 09:36:43 PDT 2007

Release, Build, QA
*Weekly Checkpoint*
Bear spins:
Aparna explained that Dan will no longer be doing checkpoint build 
reports, focusing on new features and automated tests instead.

*Feature Complete*
We hit feature complete Monday, April 9. Philippe gave the ground rules 
for the 3 week performance period. Everyone should focus on: (a) interop 
testing with Cosmo for the 0.6.1 release, (b) "blocking" or "critical" 
bugs that block testing, or (c) desktop performance.

Aparna explained that the end of feature complete means the end of 
alpha5 (and the end of the bugzilla milestone target). All new bugs will 
be targetted for 0.7 Release (Preview) or Future.

*Test data*
Katie explained that Morgen checked in a feature allowing us to do an 
"obfuscated" dump to file (using EIM-based dump-and-reload). We can use 
this to generate test data sets from real data. She asked if we should 
coordinate desktop and server test data sets. She also asked if Brian 
Kirsch could do the bit where we obfuscate mail addresses.

Aparna replied that using the same test data for both projects would be 
a good idea. She suggested using osaf test accounts (e.g. demo1, demo2) 
for email addresses. Brian agreed to go ahead with obfuscating the email 

*Removing --scriptTimeout*
Heikki asked for objections to removing this startup option.

*Defer commit*
Andi added a feature where one can defer commit() calls until a block of 
code has completed. This feature is used in the "new event" case.

*Slow custom gradient brushes*
Heikki kicked off a conversation about speeding up gradient drawing 
after observing that the resize profile spends 8% on the custom gradient 
brushes. Thread starts here:

*Accounts post-preview*
Brian Kirsch explained that after Preview he'd like to rework the 
Account dialog to be more of a wizard. He'd add features to be able to 
configure Gmail, Yahoo POP, and/or other well known POP/IMAP services 
without having to know configuration details. (Thunderbird recently 
added similar functionality).

*Sharing error dialog*
Morgen added a sharing error details dialog, which pops up for failures 
during publish or subscribe. The same type of error information is now 
stored for sync errors. You can get to this information through the 
collection's "Manage" dialog. Be sure to include this information in bug 

*Index speedups*
Andi changed the 'method' index protocol to facilitate caching, based on 
a suggestion from Bryan. The change speeds up triage in the dashboard.

*Sharing performance*
Heikki observed that the new sharing was slower (~2x) than the old 
sharing. He observed a slow loop that used mapHistory(). Andi suggested 
using mapHistoryKeys() instead.

Morgen explained that we'll switch to the new format when Cosmo 0.6.1 is 
up. He noted that the code Heikki pointed out is asking the repository 
what items have changed since an earlier version -- similar code exists 
in the old sharing. Morgen is focused on interop, but did a profile 
(info on the wiki).

Heikki tried mapHistoryKeys, making the loop 5x faster.

Heikki switched functional and performance tests to the new format, and 
then back again.

*Performance Summary*
Grant summarized performance work:

John replaced dialog utilities (in Util) with wx.MessageBox.

Heikki expressed concerns with use of wx.MessageBox, and asked that the 
changes be rolled back.
- MessageBox is parented on the application, and can be hidden by other 
- MessageBox is always centered on screen (instead of centered on 
parent, main frame, or up to OS)
- no icon, so not clear to the user what app put up the dialog

*Dump et reload*
Heikki asked if "reload" was meant to replace all user data, or act more 
like import (add to the existing data set).

Morgen explained that reload should happen to a repository that has just 
gone through a --create, setting up some out of the box data. In other 
words: fresh repository, load parcels, then reload the dump file. Some 
of the OOTB items end up modified by the user: accounts, prefs, sidebar. 
He suggested that modified accounts and sidebar have a fixed UUID (to 
avoid creating duplicates). Prefs and collection membership should be 
handled by finishExport() -- yielding appropriate records.

Andi objected to fixed UUIDs (Morgen's account UUID should not be the 
same as Heikki's account UUID, for example).

Morgen agreed and countered with a proposal to not create any OOTB 
account items, instead creating them on the fly when needed.

Andi suggested using a repository path for the sidebar. John and Morgen 
had considered and rejected the path option. PJE recommended that 
"well-known locations" be part of parcel-specific record types (the 
record type would store the UUID). Andi liked the suggestion.

Morgen went back to Heikki's original question, noting that an 
import/export feature for a lone collection (using EIM-dump-reload) 
could be useful. Perhaps provide that option as well? He also 
recommended a command line option. Heikki agreed, noting that 
data-migration full-reload is the common/important case.

Meetings, announcements
IRC test session: context menus, tooltips

More information about the chandler-dev mailing list