Since the architecture thread got increasingly bogged down in some
specific and pretty low-level discussion of storage specifics, it
seemed like a good idea to outline specifically what it is Phillip
and I are proposing for a pilot project. Some of these details have
been exposed within the previous thread, but in the interest of
transparency I'd like to collect them here.
What we're proposing is, to devote approximately 6 person months(*)
(i.e. 3 people for 2 months, probably, or 2.5 people for ) to have
the following in place:
* Testable (and doc/unit tested) interaction model (i.e. "the app
without the GUI"). Includes:
* sidebar
* dashboard
* calendar (including recurrence)
* reminders
* triage
* Testable (and unit tested) domain model
* Testable presentation layer hooked up to wx
Subsidiary goals (i.e. things we are making sure we have a story for
while designing the code):
* Extensibility
* Scriptability
* Performance
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. The above course is really based on the observation that
the twin goals of
* removing persistence from CPIA
* separating out a testable 'app' layer
necessarily involve implementing extensive scaffolding to emulate the
existing repository usage (notifications, including collection
observation, for example). If our long-term strategic aim is to have
at least the prospect of attacking scalability and performance at all
levels, this path gives a clear picture of what the app requirements
are for storage. Said another way, it's a way to ensure that we can
know whether there are performance/scalability bottlenecks in what
has been termed the "app level", and to have specific performance
goals for the storage level (for which chandlerdb is an option).
--Grant
(*) a.k.a. "mythical man months"
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Open Source Applications Foundation "chandler-dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/chandler-dev