r13 - 05 Mar 2007 - 14:47:03 - MikeTYou are here: OSAF >  Journal Web  >  MimiYin > EngineeringWikiArea

The Chandler System

Development Process
  • Browse Chandler source with LXR, Bonsai or ViewCVS?
  • Coding style guidelines
    • How to submit a patch
    • Commit message comments
    • Debugging Chander
  • Hacking Chandler

The Chandler desktop client

Each section below has:

  • Architecture docs
  • API docs
  • Example code
  • Doctests and Unit tests

UI Layer

CPIA

  • Introduction
  • Blocks and Widgets
  • Events
  • Using wxPython APIs

  • AttributeEditors
  • BranchPointBlock

Chandler View

  • The Sidebar
  • KindFilter buttons and views (MimiYin Should we call this the FacetedSidebar?)
  • The Calendar View
  • The Detail View
  • The Mini-Calendar and Preview areas

Scripting

Platform Layer

Domain Model

  • Kinds
  • Usage/linking guide ??
  • Schema evolution

Services

  • Email service
  • Calendar service
    • Related external project Zanshin (Http/WebDAV/CalDAV)
  • Sharing
    • Related external project Zanshin (Http/WebDAV/CalDAV)
  • "Servlets" or "Chandler server"

Parcel framework

  • Schema API (data model)
  • Eggs
  • Startup

  • Example parcels

Repository

  • Search
  • Collections, Notification
  • Indexes

Cross-layer Components???

Performance

Security

Internationalization

Accessibility

External projects

  • PyICU? (related to i18n)
  • PyLucene (related to Search and the Repository)
  • Zanshin (Http/WebDAV/CalDAV, in other words related to Sharing and Calendaring)
  • M2Crypto (Security)


Scooby

Scooby Architecture

  • Description and diagram of the client portion and the server portion of the app. Where is the model, object and view.

Browser UI compontents

  • Brief description, then detailed pages.
    • Messaging layer
      • Serialization/deserialization scheme (JSON)
    • GUI layer
      • Description of the components used to create html (as opposed to checking input etc...)
      • CSS doc?
      • JavaScript widgets
        • Event Editors
        • Mini Cal
        • Week View
        • Day View
        • Month View
        • Splitting/resizing
      • JavaScript libraries
        • JSON serialization
        • Event Binding
        • Keyboard Navigation
        • Input Validation
        • 3rd party Libraries

Server layer

  • 3rd party libraries
  • CalDAV implementation
    • Current javadoc for implementation
  • JSON server implementation
    • Notes and javadoc

Cross-layer Components

  • Performance
    • Tips and links for efficient JavaScripting?
    • Memory/box settings for server
  • Security
    • Authenticaiton model
    • Line security
  • Internationalization
    • How to localize? How to?

  • Accessibility
    • Not sure if there is anything here yet?

3rd party projects

  • Links to third party libraries, cross links to builds etc...


Cosmo

Architecture

DAV

  • Basic WebDAV support (PUT, GET, PROPFIND, etc.)
  • CalDAV Support (MKCALENDAR, etc.)
    • Reports * this should be under CalDAV, no?
    • JohnTownsend: Yes, it should.. but I thought maybe it was worth calling out separately. I gather you don't think so. smile

  • CMP
  • WebUI?
  • JCR
  • JDBC? * for what?

I seem to recall that we use JDBC for user accounts, but I think I am recalling details of 0.2. In fact, I looked on the wiki and it says that we now store the user accounts in the repository, so I am guessing this can go away.

  • SMTP * what would be here?

Our current architecture diagram shows that we use SMTP and mail servers to handle notification to end users. This may or may not be functional in currently released version of Cosmo.

  • Atom RSS

Third Party Libraries

  • Apache Tomcat
  • Apache Jackrabbit
  • iCal4j


QA

Introduction

  • QA Process
  • Test Frameworks (CATS, HttpTest)
  • List of all the different types of Tests/Stages

Stuff we're working on

  • Link to Test Plans in the PlanningWikiArea (Chandler | Cosmo | Scooby)
  • Checklist for each product release

How-tos

  • Detailed notes on Testcase setup and execution (Acceptance, Functional)

QA Projects

  • SilkTest Automation
  • OAF
  • Checkpoint build testing

Builds & Release

Introduction

  • Build process

Builds

  • Last release: Chandler | Cosmo

Documentation

  • How-to-build
    • Windows: Chandler | Scooby | Cosmo | Snarf
    • OSX: Chandler | Scooby | Cosmo | Snarf
    • Linux: Chandler | Scooby | Cosmo | Snarf

  • How to check stuff out: Chandler | Scooby | Cosmo

  • Release process: Chandler | Scooby | Cosmo | Snarf

Tools for Developers

  • SVN
  • IDEs
    • wingIDE
  • iPython
  • Tinderbox
  • WebSVN
  • LXR
  • Bonsai
  • Bugzilla
  • Eclipse committer tools


Documentation

  • Tutorials
  • API docs
  • Example code

-- MimiYin - 10 Apr 2006

Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r13 < r12 < r11 < r10 < r9 | More topic actions
 
Open Source Applications Foundation
Except where otherwise noted, this site and its content are licensed by OSAF under an Creative Commons License, Attribution Only 3.0.
See list of page contributors for attributions.