Labs/Joey/clients/ajaxy/functional: Difference between revisions

From MozillaWiki
< Labs‎ | Joey
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
{{draft}}
{{draft}}


== Design Overview ==  
== Design Overview - Joey AJAX Client ==  


* working on this now! - mgalli  
* working on this now! - mgalli  


=== AJAX Client consumes Declarative XHTML UI from Joey CakePHP ===
=== Introduction ===
 
==== Introduction ====


An aspect oriented design ( as a wish - not as in what we have now :) where CakePHP produces XHTML simplified data that is meaningful as a UI, but in fact the UI is to be used by the Dojo Joey client layer - you could name it a User Agent UI. As we move forward we are to have the CakePHP generated content to be as semantic as possible, but possibly to keep it as a 'old school' UI too, so it is usable as well. Keeping this simplified ( linked pages ) flow would give us a condition to automate tests / keep the interfaces in verbose mode, maybe to even use side tools to grab the tests results with a good reporting layout.
An aspect oriented design ( as a wish - not as in what we have now :) where CakePHP produces XHTML simplified data that is meaningful as a UI, but in fact the UI is to be used by the Dojo Joey client layer - you could name it a User Agent UI. As we move forward we are to have the CakePHP generated content to be as semantic as possible, but possibly to keep it as a 'old school' UI too, so it is usable as well. Keeping this simplified ( linked pages ) flow would give us a condition to automate tests / keep the interfaces in verbose mode, maybe to even use side tools to grab the tests results with a good reporting layout.


=== Dojo considerations in the scope of CakePHP n Joey ===
=== Dojo development notes / scope of CakePHP n Joey ===


* http://wiki.mozilla.org/Labs/Joey/clients/ajaxy/dojojoey
* http://wiki.mozilla.org/Labs/Joey/clients/ajaxy/dojojoey


=== Considerations for the Joey Web Client ===
=== Wishlist Architectural Aspects ===
* Back and Forward via Iframe history - keep back-foward compability when possible and if possible to app main flows. Have to check if the mixture of a BackForward working, and sometimes not working is a good or bad things. Since it  is a AJAX UI, we may have some high granular operations, that may not be interesting to keep in the iframe history;
 
* Localization - Strings binding ( probably kicked with the initial document ) and additional flow-based sentences to be loaded in JSON or other XML binding approach;
 
* Accessibility for Legal - Keep partial compatibility with Robots indexing capability and keep the basic legal documents and overview linked from the main client document ( privacy, terms of use ) - we dont want people to need a full ajax client in order to read the terms. Check Dojo links so that the app has a compabible linking mechanism;
 
* Accessibility for Usage - Check the story;
 
* Performance - Check the Dojo build approach, and how to package partial Dojo components;
   
   
* Back and Forward via Iframe history
* Performance - Dojo ShrinkSafe;
* Strings binding via JSON or dynamic load of content panel ( or declarative strings markups delivered to the client from the CakePHP )
 
 
=== Development Framework Considerations ===
 
* To keep a simplified old school XHTML interface so that the Web site can be tested and also used from a testing user agent perspective;
 
* To allow multiple variations and User Interface intepretations to the end-user UI, for example a future version of the application to have a stack of options and possibly layered user interface wrappers - for example a a mode to add accessibility customizations, for example zoom control, color manipulation to the theme, and more;


=== Architectural Goals ===
* Have the CakePHP end to be completible with multiple AJAX client toolkits, and keep this compatibility layer via XHTML core User Interface layer - also referenced here as the semantic layer;


* To keep a simplified old school XHTML interface so that the Web site can be tested and also used from a testing user agent perspective.
* To allow multiple variations and User Interface intepretations to the end-user UI, for example a future version of the application to have a stack of options and possibly layered user interface wrappers - for example a a mode to add accessibility customizations, for example zoom control, color manipulation to the theme, and more.
* Be completible with multiple AJAX client toolkits, and keep this compatibility layer via XHTML core User Interface layer - also referenced here as the semantic layer.
* Log execution of a test case end-user flow, via dumping all the XHTML responses and REST queries.
* Log execution of a test case end-user flow, via dumping all the XHTML responses and REST queries.

Revision as of 17:47, 18 April 2007

Draft-template-image.png THIS PAGE IS A WORKING DRAFT Pencil-emoji U270F-gray.png
The page may be difficult to navigate, and some information on its subject might be incomplete and/or evolving rapidly.
If you have any questions or ideas, please add them as a new topic on the discussion page.

Design Overview - Joey AJAX Client

  • working on this now! - mgalli

Introduction

An aspect oriented design ( as a wish - not as in what we have now :) where CakePHP produces XHTML simplified data that is meaningful as a UI, but in fact the UI is to be used by the Dojo Joey client layer - you could name it a User Agent UI. As we move forward we are to have the CakePHP generated content to be as semantic as possible, but possibly to keep it as a 'old school' UI too, so it is usable as well. Keeping this simplified ( linked pages ) flow would give us a condition to automate tests / keep the interfaces in verbose mode, maybe to even use side tools to grab the tests results with a good reporting layout.

Dojo development notes / scope of CakePHP n Joey

Wishlist Architectural Aspects

  • Back and Forward via Iframe history - keep back-foward compability when possible and if possible to app main flows. Have to check if the mixture of a BackForward working, and sometimes not working is a good or bad things. Since it is a AJAX UI, we may have some high granular operations, that may not be interesting to keep in the iframe history;
  • Localization - Strings binding ( probably kicked with the initial document ) and additional flow-based sentences to be loaded in JSON or other XML binding approach;
  • Accessibility for Legal - Keep partial compatibility with Robots indexing capability and keep the basic legal documents and overview linked from the main client document ( privacy, terms of use ) - we dont want people to need a full ajax client in order to read the terms. Check Dojo links so that the app has a compabible linking mechanism;
  • Accessibility for Usage - Check the story;
  • Performance - Check the Dojo build approach, and how to package partial Dojo components;
  • Performance - Dojo ShrinkSafe;


Development Framework Considerations

  • To keep a simplified old school XHTML interface so that the Web site can be tested and also used from a testing user agent perspective;
  • To allow multiple variations and User Interface intepretations to the end-user UI, for example a future version of the application to have a stack of options and possibly layered user interface wrappers - for example a a mode to add accessibility customizations, for example zoom control, color manipulation to the theme, and more;
  • Have the CakePHP end to be completible with multiple AJAX client toolkits, and keep this compatibility layer via XHTML core User Interface layer - also referenced here as the semantic layer;
  • Log execution of a test case end-user flow, via dumping all the XHTML responses and REST queries.