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
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
Cross-layer Components
- Performance
- Tips and links for efficient JavaScripting?
- Memory/box settings for server
- Security
- Authenticaiton model
- Line security
- Internationalization
- 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.
- 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.
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
Builds
- Last release: Chandler | Cosmo
- Checkpoint builds:
- Continuous builds:
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
- iPython
- Tinderbox
- WebSVN
- LXR
- Bonsai
- Bugzilla
- Eclipse committer tools
Documentation
- Tutorials
- API docs
- Example code
--
MimiYin - 10 Apr 2006