[Chandler-dev] [Sum] April 24 - 30

Katie Capps Parlante capps at osafoundation.org
Wed May 3 14:46:25 PDT 2006

Heikki will summarize build, release and qa threads separately.

Coding and design discussions
*markup bar*
Reid posted a link to his implementation of the new markup bar, asking 
for ideas on how to tackle a few problems. In particular, (a) buttons 
all disappear temporarily when clicked and (b) the background of the bar 
is white.

John pointed out that the errors about C++ objects being gone indicate 
that C++ objects wrapped by Python objects are being deleted 
unexpectedly. Grant tracked it down further, noting that the detail view 
is being torn down and rebuilt (stamping changes the item's Kind).

Reid fixed the problem by changing synchronizeWidget() to 
synchronizeSoon(), which dirties the block and defers synchronization 
until later. This avoids deleting C++ objects out from under the python 
wrappers. Reid filed bugs for the remaining problems.

*repository viewer displays collection structure*
Alec updated the repository viewer servlet to provide a graphical 
visualization of how a collection is built. Alec showed the "mine" 
collection, noting that we're using a Union set instead of a full 
UnionCollection for (nonRecurringNotes + Inclusions) -- helps with 
performance and might be a pattern to use elsewhere.

*deferring delete until commit*
Andi created a method view.deferDelete(), to help tackle a problem with 
view merging. Subsequent calls to item.delete() do not fully delete the 
item but mark it as DEFERRED. view.commit() effectively deletes the 
deferred items. After commit() the view no longer defers deletes, at 
least until deferDelete() is called again. Andi would like to make 
deferDelete() the default mode, but didn't do so given the proximity to 
alpha2 -- at the moment only the sharing view uses this mode. He notes 
that code depending on an item being deleted immediately might have to 
reconsider assumptions, and that onItemDelete() is a hook useful for 
enforcing assumptions.

Brian Stearns asked if Chandler should run all views in deferDelete() 
mode. Andi responded that only the sharing view should do this for 
alpha2, but that we should consider using the mode as the default for 
alpha3. Brian also asked about the use case where an occurence is 
deleted due to recurrence rule changes, and the detail view needs to 
stop displaying the item. Brian asked if an item watcher would fire to 
signal the deferred delete. Andi responded no. Currently, watchers fire 
as the attributes are removed from the deleted item (and the detail view 
uses isDeleted() to know to not display the item). We'd need to add some 
code to notify the detail view immediately of the deferred delete 
(instead of waiting for commit).

*directory renames/moves*
Jeffery responded to Alec's proposal about directory renames, generally 
agreeing with the proposal. Jeffrey pointed out that "import" is a 
reserved word, and proposed that the ImportExport dialog code be moved 
to calendarui.

*adding items to sidebar collections*
John changed NewEvent to NewItemEvent. This event creates a new item, 
adds it to a specified collection, and displays the item. John updated 
the certificate parcel and menu code that creates new items. John 
describes the api defaults.

*contact management*
Florian asked when contact management would show up in Chandler. Grant 
explained that while we don't have plans to do a full address book in 
0.7, we did plan on doing some contact infrastructure. We've proposed a 
Google summer of code project for contacts.

Announcements and meetings
Philippe posted the agenda for the apps team meeting.

Brian Kirsch offered help with alpha2 bugs.

Bear pointed to a Python COM package at the python cheese shop.

Ted reminded people to put up summer of code projects.

More information about the chandler-dev mailing list