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

Reply via email to