Author: jmorliaguet
Date: Sun Jan  8 23:41:40 2006
New Revision: 2196

Added:
   cpsskins/branches/jmo-perspectives/ui/framework/doc/
   cpsskins/branches/jmo-perspectives/ui/framework/doc/index.txt   (contents, 
props changed)
Log:

- start of a documentation 



Added: cpsskins/branches/jmo-perspectives/ui/framework/doc/index.txt
==============================================================================
--- (empty file)
+++ cpsskins/branches/jmo-perspectives/ui/framework/doc/index.txt       Sun Jan 
 8 23:41:40 2006
@@ -0,0 +1,100 @@
+=====================
+CPSSkins AJAX Toolkit
+=====================
+
+:Revision: $Id:
+
+.. contents::   :depth: 4
+
+Background
+==========
+
+The CPSSkins AJAX toolkit  was developed for the CPSSkins application to
+simplify the creation of a rich user interface.
+
+Introduction
+============
+
+The toolkit is designed to simplify the creation of web applications, by using
+interaction mechanisms usually found in desktop applications. The toolkit
+provides a way of creating "rich widgets" and of controlling their visibility
+in a simple way.
+
+The implementation is based on the MVC pattern ("Model-View-Controller").
+The pattern imposes to keep presentation concerns separate from the
+application's data layer and from the user interactions with the application.
+
+Views
+-----
+
+The concept of *view* is taken from the *MVC pattern* 
("Model-View-Controller").
+Views provide a graphical representation of the *model*. A same model can be
+presented with different views. The components provided by views are called
+*widgets*.
+
+Widgets
+-------
+
+A widget is the HTML fragment used by the view to display the model's data.
+
+Perspectives
+------------
+
+The notion of perspective is borrowed from the Eclipse UI. A perspective
+determines which views are visible in a given context. Perspectives are
+usually task-oriented.
+
+Perspectives can be nested to create "sub-perspectives". Sub-perspectives can
+be used to create "sub-views" of a given view.
+
+Effects
+-------
+Widgets can be displayed using effects (fade-in, fade-out).
+
+
+Technical implementation
+========================
+
+Views are declared using XML tags. They get interpreted when the page is
+initially loaded. For each view that is declared a widget is created.
+
+The data displayed by the widget can be obtained directly from the page
+itself using data bindings. This is done by embedding HTML comments expressed
+in the JSON format.
+The data gets converted into javascript objects when it is accessed for the
+first time. It is then possible to query the server to get new data.
+
+Views can be registered as *observers* of a model and be refreshed 
automatically
+when the data in the model is updated.
+
+Views can also register a *controller* that will handle user actions.
+Controllers are written in Javascript. They consist mainly in a collection of
+action handlers: for each action taken by the user, there is an action handler.
+
+
+Available widgets
+=================
+
+Panels
+------
+
+...
+
+Contextual menus
+----------------
+
+...
+
+Tooltip
+-------
+
+...
+
+
+
+.. Emacs
+.. Local Variables:
+.. mode: rst
+.. End:
+.. Vim
+.. vim: set filetype=rst:
-- 
http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins

Reply via email to