QotF?: What did Katie miss? A: Nothing, its all in email!
α5, Preview
Chandler as CalDAV client -- Morgen wrote a new conduit on the plane to Hawaii -- we're on track for doing CalDAV on top of EIM. Jeffrey to do ICS serialization from EIM records. Chandler will be a fully featured CalDAV client along with Morse Code.
Dump/Reload
format: We'll use pickle format. Pickle stores class names including module names. Need to make sure we don't write these to disk. Mechanism to do replacement for objects like that -- independent of module names, so dumps don't become invalid. PJE will take a look at that.
call serialization to get objects pickled: do we have this work split out correctly
Item classes in repository, need to go through and create EIM record types to persist them. In sharing world, completely gotten around serializing references (we serialize email address as string for last modified, for example). Which approach do we take? Model two items with reference between them? Join table? PJE: if we're doing ordered relationships, we'd need a third column to order it correctly.
Make sure you visit things in a certain order when you are trying to decide what to dump? PJE: that is not an issue, the utilities handle it.
Iterate userdata? Iterate entire repository? This is not the right approach -- should look at Kinds you want to store. Are there any Kinds left over?
Morgen, now the task is to go through and define record types.
Bear: detect when a dump file present on startup, trigger reload, version installer to install Chandler in different binary location. Andi: shouldn't be too hard to do as simple dialog as part of startup. Bear: Not hard, just a bunch of cross platform details. * Menus? Katie needs to check in. * Making good use of Andi's time this week
deferred indexing/observers -- would be good to put those in this week
dispatch changes fixes for Grant
Performance
change data that we use for performance tests
many collections, use of timezones, tasks, overlays, items in multiple calendars
Katie and Heikki to work on ironing out sample data
Morgen: What is lastmodifiedby going to point to? Grant was going to follow Morgen's suggestion. Will go look at the name possibility. Morgen: if we are going to change, we should do it soon. Grant: email address, needs to have that format? Morgen: might not be required anywhere. EIM world is just sending that around as a string. If the string is garbage, creating the item will fail. Morgen: we should just not use an account, just use a name. Not everyone sets up an email address or account, but everyone could set up a name. Send as tied to email as it is now, that would work. Morgen is not blocked, but current solution will not work.
Hoping Mimi would weigh in on the name idea. (Katie will ask Mimi).
Grant will investigate and get back to Morgen w/changes.
RT in tools directory (rt.py), should do everything that doTests.py does.
Presentation at allhands and will send email after that
has --help, will print out command line options
plan is to switch Tinderbox
if unit tests die because Python dies, RT will tell us
output is buffered, you'll see output after test is completed. Have been battling that w/out good solutions. Hardhat had the same problem -- there was some solution. Current twist -- the timeout causes the problem. Can you just use a background thread for the timeout? Bear is playing with using a threading timer. Async process, other fancy options, had hairy issues on different platforms.
Andi: not a showstopper to not have instant output
Morgen: what if you have the option of not having a timeout, and in that case you get instant output
Heikki: JJ recommended iPython: really nice python prompt -- you should try it out. Morgen: headless will use it if you have it installed.