[Chandler-dev] [Sum] May 22 - 28
Katie Capps Parlante
capps at osafoundation.org
Wed Jun 7 17:32:35 PDT 2006
A few of these seem to have slipped through the previous summary, so
technically this covers May 18 - 28...
Build and release
-----------------
*0.7alpha2, 0.7alpha3*
A branch was created for alpha2 and the trunk opened up to alpha3
development Tue, May 23.
http://lists.osafoundation.org/pipermail/chandler-dev/2006-May/005947.html
*0.7alpha2*
QA signed off on 0.7alpha2-rc1 on Wed, May 24. Some critical bugs were
deferred to alpha3, so you take some risk running alpha2.
http://lists.osafoundation.org/pipermail/chandler-dev/2006-May/005970.html
Bear and Pieter negotiated the final steps to getting the bits out to
the web, and Bear closed the alpha2 branch. Alpha2 released Friday May 26.
http://lists.osafoundation.org/pipermail/chandler-dev/2006-May/005994.html
*0.7alpha3*
Alpha3 will be a short cycle, to focus on fixing the most important
'dogfood' problems for our few current users. This includes background
sync, intel mac support, and selected performance fixes. Estimated
dates: June 21 (code freeze), July 7 (release).
http://lists.osafoundation.org/pipermail/chandler-dev/2006-May/005956.html
*Intel Mac*
Andi got past one of the hurdles with a native Intel Mac build
(PyLucene). He got patches for gcj from Sandro Tolaini, a Mac gcj user.
Andi didn't do extensive performance measurements, but gave a few
impressive gains (initial commit went from 14s -> 4s).
http://lists.osafoundation.org/pipermail/chandler-dev/2006-May/005943.html
John T and Ted offered to be testers (they have Intel Mac hardware). If
you have Intel Mac hardware, you can now try running Chandler natively
by doing a "make install" build. SSL problems were noted in this
message, but Heikki fixed them (captured in a later message).
http://lists.osafoundation.org/pipermail/chandler-dev/2006-May/005971.html
Coding and design discussions
-----------------------------
*stamping as annotations*
Grant asked if kinds can customize behavior when getting stamped. The
example he gave: a cert might want to encapsulate itself as an
attachment when stamped as mail, events would turn themselves into
invitations. Phillip replied that you could delegate behavior back to
the underlying item -- the annotation has an "itsItem" attribute, so the
stamp method can call back to a method on the original item
"self.itsItem.whatever()".
Grant also brought up the use case of having items adapt themselves when
being displayed in different UI contexts. Phillip rephrased that as the
UI asking for annotations that are specific to the display context.
Phillip pointed out that the point of using Annotations is to annotate
items with additional data, not to substitute for adaptation. Stamping
meshes pretty well with annotations. Adaptation is an independent and
useful concept in its own right, but not really a solution to the
stamping problem, as it doesn't address how attributes get stored,
indexed, displayed, etc. Annotation solves these problems nicely. The
rest of the gap (for stamping) can be covered by adding extra features
to the Stamp base class (e.g. return all stamps that implement some
interface). Phillip argued that it would be easier on developers to
cover this with concepts that already exist in Chandler (annotations),
as its one less thing to learn.
http://lists.osafoundation.org/pipermail/chandler-dev/2006-May/005929.html
Grant's plan is to try a stamping-as-annotation implementation.
http://lists.osafoundation.org/pipermail/chandler-dev/2006-May/005939.html
*i18n progress in Chandler*
Markku summarized his work on i18n. This included work on the
wxGetTranslation-MessageFactory pipe, investigating the use of XRC based
dialogs, modifying functional tests to test unicode support, filesystem
unicode tests, and investigation into incremental builds for wxPython.
The functional tests are waiting on some changes to the testing
environment, expected next week.
http://lists.osafoundation.org/pipermail/chandler-dev/2006-May/005935.html
Grant explained how to get svn to accept non-ascii filenames on the mac
(where UTF-8 is the filesystem encoding). This requires doing "export
LANG=en_US.UTF-8" in the shell, otherwise filenames with non-ascii
characters cause major problems with svn.
http://lists.osafoundation.org/pipermail/chandler-dev/2006-May/005936.html
Grant further explained that its better to avoid non-ascii filenames in
svn, to avoid cross platform issues. He linked to discussions of the
problem with more detail.
http://lists.osafoundation.org/pipermail/chandler-dev/2006-May/005937.html
Brian argued that we should have at least one test in Chandler that does
try to load a file with a non-ascii name/path -- an .ics file would be a
good example. As a hack, we could do this by renaming the file to the
non-ascii name during the test and then restoring to something less
offensive to svn.
http://lists.osafoundation.org/pipermail/chandler-dev/2006-May/005941.html
Heikki pointed out that he does something similar for crypto tests. He
linked to the test code as an example.
http://lists.osafoundation.org/pipermail/chandler-dev/2006-May/005942.html
*sharing format discussions*
John Townsend pointed out that they are trying to get a sharing format
discussion going on the cosmo list.
http://lists.osafoundation.org/pipermail/chandler-dev/2006-May/005949.html
*New test framework, logging defaults*
Mikeal described logging features in the new test framework. Report
levels (suite, test, action, report) and level masking allow one to
control output by level. 4 debug settings are exposed, the combinations
of log failures only/log all output and observe masking/don't observe
masking. One can specify stdout or file output. Each of these options
can be set manually, Mikeal asked for feedback on the defaults.
http://lists.osafoundation.org/pipermail/chandler-dev/2006-May/005950.html
Heikki expressed a preference for minimal output by default (he
mentioned the Python unittest ... as an example). If an error occurs,
more info is helpful, including location of the error and why the error
happened. Mikeal argued that its more helpful to have readable output.
The framework will pass along the pass/fail comment strings, and test
writers are trying to be good about providing them. Tracebacks are
handled better, logged to both stdout and the logfile. More
documentation to come (on the wiki).
http://lists.osafoundation.org/pipermail/chandler-dev/2006-May/005958.html
Andi suggested that the defaults be the same as the ones on tinderbox.
Mikeal replied that it actually makes sense to make them different (and
is easy to do) -- giving more human readable info defaults for day to
day use.
http://lists.osafoundation.org/pipermail/chandler-dev/2006-May/005959.html
Bryan asked why we're not using Python's logging. Mikeal explained that
it would have taken longer. Some initial work is happening for a quick
patch up, with a more elaborate longer term solution. One important
concern is the integrity of the timing #s. Output is serialized and sent
to an output object in tuples. The output can be offloaded to some
central server, or stored and processed later (dump to a logger, sql
statements, file, stdout, etc.) The new framework is designed to handle
end to end testing: chandler, cosmo, and scooby.
http://lists.osafoundation.org/pipermail/chandler-dev/2006-May/005962.html
*Chandler background full-text indexing*
Andi added support for doing full text indexing with PyLucene in a
background thread, to keep the UI thread more responsive. By default,
the UI view will not do any PyLucene indexing during commit. The Lucene
view picks up changes every minute and adds them to the Lucene index in
the background. The old way is available with a command line flag. By
default, a given view will do indexing during commit. An API is
available to use the background indexer. The background indexer is
currently hardcoded to run every minute -- we could change this to be
tied to a user preference. An API is available to kick off the indexing
in the background thread right away. PyLucene indexing is also
considerably faster -- indexing happens in memory and is written out in
one go.
http://lists.osafoundation.org/pipermail/chandler-dev/2006-May/005955.html
John asked about always indexing in the background, getting rid of the
old behavior. Andi pointed out that the old behavior is more predictable
which might be useful for testing, in particular performance testing.
http://lists.osafoundation.org/pipermail/chandler-dev/2006-May/005964.html
Heikki asked for a centralized way of forcing indexing to happen before
using functionality that requires up to date indexing (vs
once-a-minute). He gave an example of searching after sync'ing
collections. Heikki is concerned that it is not reliable to add spot
checks to the code to force indexing, but wasn't sure where the choke
point should be. Andi mentioned the notifyIndexer() API. He also pointed
out that collection syncing happens in a background thread as well, not
in the UI view. The background thread that does collection sync will do
index updating during commit (the original behavior), so when sync
completes the indexes should be up to date. Only the UI thread avoids
indexing during commit, as the UI thread needs to remain responsive to
the user.
http://lists.osafoundation.org/pipermail/chandler-dev/2006-May/005966.html
Tinderbox perf data indicates the new code halved the time to import a
large calendar. Overall, the new code is ~5% faster than it was before
we started indexing, on Windows. Heikki noted that will need to add new
tests and modify existing ones to work with indexing in a deterministic
way, measuring indexing performance. Andi suggested that for meaningful
time comparisons, we should run indexing during commit (as it was
originally), or not at all, if the test doesn't depend on indexes.
Command line flags can set this up, so that background indexing doesn't
kick in at random during the test.
http://lists.osafoundation.org/pipermail/chandler-dev/2006-May/005966.html
*Talkback feedback*
Heikki is working on a crash reporting system for Chandler, not unlike
Mozilla's Talkback. Talkback focuses on reporting C/C++ stack traces for
hard crashes. Chandler's system should allow users to report uncaught
Python tracebacks with additional system info. Heikki has client side
code, minus the code that actually sends the report. Heikki observed
that some webapps have similar functionality, so cross-posted to scooby.
Jared and Heikki want feedback about the server side element of the
feature. They propose using http post to send a single text file. XML?
Plain text? Reports may need to be dumped into a database for search,
processing. Perhaps discard reports after a certain time period. A
simple query/display app would be useful, some access limited to staff
or core team but stacktraces available to all and associated with bugs.
Server side work should be open source.
http://lists.osafoundation.org/pipermail/chandler-dev/2006-May/005977.html
*Summer of Code: Multivariate Analysis for PIM data*
Philippe gave comments on Xun's summer of code project. The general idea
of the project is to use multivariate analysis tools to create a model
of chandler pim data and map newly acquired data, automatically tagging
the data. One idea is to mark or tag new items as they come in as
belonging to existing collections. Another is to cluster or segment
data, assigning each cluster a tag or set of tags. See the post for much
more detailed information on the project, including a staged
implementation plan.
http://lists.osafoundation.org/pipermail/chandler-dev/2006-May/005978.html
*Bye bye Globals.views*
John is removing "Globals.views". To make CallItemMethodAsync useful
without Globals.views, he modified the API to accept a block name
(string) instead of the item. In his example, he passed "MainView" as
the first argument instead of "Globals.views[0]". He updated the Amazon
parcel to message blocks by name, which simplified the code nicely.
http://lists.osafoundation.org/pipermail/chandler-dev/2006-May/005983.html
Q & A for new contributors
--------------------------
*Feeds parcel tutorial woes*
Darshana tried out the tutorial and ran into a few snags. Bear responded
with some tips about common problems setting up one's environment that
cause import errors.
http://lists.osafoundation.org/pipermail/chandler-dev/2006-May/005969.html
*Getting started on Chandler*
Grant answered some questions posed by a Summer of Code intern, Ernesto.
Grant noted that the feeds tutorial was written for the 0.6.x release,
and gave instructions for setting this code up to work through the
tutorial. He explained how to get the source code for a full build, how
to get documentation downloaded to read offline, and discussed
development environments.
http://lists.osafoundation.org/pipermail/chandler-dev/2006-May/005995.html
Meetings and announcements
--------------------------
Markku organized a meeting about Python eggs, to come up to speed on how
eggs work and to understand i18n/egg issues. He gave links to the
existing documentation. Bear suggested that people read the code of the
feeds parcel as a good example.
http://lists.osafoundation.org/pipermail/chandler-dev/2006-May/005974.html
Philippe noted that wx has a Summer of Code project related to i18n:
"Right to Left language support".
http://lists.osafoundation.org/pipermail/chandler-dev/2006-May/005980.html
Apps team meeting
http://lists.osafoundation.org/pipermail/chandler-dev/2006-May/005981.html
Chandler dev meeting (order intel mac hardware, finish up alpha2)
http://lists.osafoundation.org/pipermail/chandler-dev/2006-May/005985.html
More information about the chandler-dev
mailing list