[Chandler-dev] Architecture Pilot Project Proposal
Phillip J. Eby
pje at telecommunity.com
Mon Oct 15 21:53:37 PDT 2007
At 09:35 PM 10/15/2007 -0700, Heikki Toivonen wrote:
>Grant Baillie wrote:
> > Explicit non-goals:
> >
> > * Persistence layer: i.e. not saving user data (import from a format
> > like .ics is possible, especially for performance testing purposes).
> > * Sharing/email import.
> >
> > The lack of persistence is likely to be controversial in some quarters.
>
>You could say! :) Or maybe I did not understand the high level plan. Let
>me clarify: Is the plan to have testable, scriptable, extensible,
>high-performance Chandler UI that does not save anything anywhere
>(except RAM)? That is quite a bit different from what I thought the
>project was going to be.
>
>Still, I do see some value in that, and if you can really pull all that
>off in 2 months I am not worried one way or another.
>
>So assuming for a moment that I understood correctly, is the next step
>after that finding a backend that meets the performance etc.
>requirements of that non-persistent-Chandler?
Yes, along with porting the other features, the fleshing out of
extension points for plugins, and the porting of plugins.
One important reason for doing it this way is what Andi pointed out
the other day: currently, the application depends on the repository
in unhealthy (for performance) ways. So, we believe that the
cleanest way to make the break is to go "cold turkey", and use any
persistence system (including, most likely, the repository itself) as
*purely* a persistence system for data, and nothing more. That is,
not as a UI specification, notification system, observer management,
schema definition, etc.
The clean break also allows us to do some domain model refactoring
and platform extensibility enhancements that would be extremely
difficult to do in an incremental way. And of course, we get to pass
everything through a test-first filter to get 99.9% test coverage.
More information about the chandler-dev
mailing list