r69 - 27 Mar 2007 - 14:32:24 - PhilippeBossutYou are here: OSAF >  Teams Web  >  DevelopmentHome > ApplicationProject > CpiaFramework

Chandler Presentation and Interaction Architecture Project

Project Summary

The Chandler Presentation and Interaction Architecture (also known as CPIA) is the framework for presenting things to users and responding to their input.

Active Contributors

  • JohnAnderson -- CPIA architect

Project Status

The design of CPIA (an architecture that would support a GUI block model usable for Item-centric applications, not just Chandler, where Blocks would display Items stored in the repository) was largely completed -- except for the creation of sample applications other than Chandler and the use of CPIA for anything other than very limited extensions of the Chandler U/I. OSAF's goal of supporting applications other than Chandler has now been abandoned and OSAF only intends to use CPIA to make very limited extensions to the Chandler U/I.

Given the current goals of CPIA:

  • CPIA is the GUI Framework of Chandler
  • CPIA supports a limited MVC model
  • CPIA currently only supports the wxPython U/I framework

And a couple of things that CPIA is not:

  • CPIA is not a mechanism to support an ajax version of Chandler (there are other existing frameworks for this)
  • CPIA is not a general framework for building a wide range of applications beyond Chandler. However, CPIA as it exists today, does allow different layouts of the U/I components in Chandler and does allow for new blocks to be added to the U/I that display Items in completely new ways, even though OSAF has no plans to take advantage of these capabilities.

The team met for 2 meetings recently to review the tasks of the CPIA Refactoring project:

0.7 Objectives and Tasks

Objectives: overarching objective is to make CPIA a simple framework to extend Chandler so we want to:
  • make it easier for developers to contribute to Chandler
  • make it easier for parcel writers to write parcels that integrate well in Chandler
  • make it easier for developers to extend Chandler (e.g. custom views of collections, custom detail views, detail views of new kind of items)
  • make it easier for users to script Chandler

Tasks in rough order of difficulty and/or importance:

  • Remove obsolete and unused Blocks (Bug #2968)
  • Rename Block Events to Commands (Bug #5843)
  • Rename childrenBlocks to either childBlocks (Bug #5844)
  • Make sure Blocks have better defaults so they are simpler to use (Bug #5845)
  • Update CPIA documentation (Bug #3226)
  • Review Event/Command dispatching to eliminate unused dispatch methods (Bug #5846)
  • Code review BranchPointBlock? with the goal of simplification (Bug #5847)
  • Fix revision 3497 hack. (Bug #3869)
  • Schema evolution needs to delete UI -- our current mechanism for doing this is obsolete
  • Add/remove/change columns in view
  • Come up with a proposal for implementing Styles
  • ContextMenu will become a Menu. (Bug #2988)
  • MenuBar: The topmost Menu. We are looking into eliminating the distinction between MenuBar? and Menu (Bug #2984)
  • MenuBar: ScrolledContainer? will become a BoxContainer? with a different style attribute. (Bug #2989)
  • Identify unnecessary redrawing by XORing the screen
  • Consider replacing BlockName on Commands with CommandName
  • FindBlockByName doesn't handle nested Parcels because of name collisions
  • Edit block attributes with a property sheet

Untargetted tasks

  • Image strategy
  • Dependency with wxWidgets (1 block to 1 widget mapping)
  • Not enough independence between CPIA and wxWidgets
  • Debugging is hard

Chandler User Interface: The Inside Story

This contitute the most up to date introduction to CPIA architecture (updated for 0.6).

Design notes, proposals, etc.

Related Projects

Prior attempt to Document CPIA (never completed)

Obsolete documents

Original Plans





-- ReidEllis - 12 May 2006 - GeekTalk050106

Projects.PageType ProjectPage?
Projects.MaintainedBy KatieCappsParlante
Projects.PageStatus Work in progress -- this page is still being drafted?
Trash.CommentsWelcome2 Feel free to contribute comments?
Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r69 < r68 < r67 < r66 < r65 | 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.