Changes for page ERPrototaculous
Last modified by Ravi Mendis on 2010/11/18 05:07
From version 260.1
edited by Ravi Mendis
on 2009/07/16 09:10
on 2009/07/16 09:10
Change comment:
There is no comment for this version
To version 265.1
edited by Ravi Mendis
on 2009/07/17 01:19
on 2009/07/17 01:19
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -7,10 +7,12 @@ 7 7 Features include: 8 8 9 9 * 'Organic' support for Prototype and Scriptaculous in WebObjects. 10 -* No custom Prototype extensions 11 -* A set of widgets in the Prototype + Scriptaculous family. 10 +** Light-weight dynamic WebObjects elements to support Prototype 11 +** No custom patches to Prototype 12 +** Sans custom Prototype extensions 12 12 * Use of [[Unobtrusive Javascript>>http://en.wikipedia.org/wiki/Unobtrusive_JavaScript]]. 13 -* Virtually stateless ajax responses 14 +* Pseudo-stateless ajax responses 15 +* A set of widgets in the Prototype + Scriptaculous family. 14 14 15 15 ==== Unobtrusive Javascript in ERPrototaculous ==== 16 16 ... ... @@ -27,10 +27,21 @@ 27 27 28 28 Support for Prototype's [[Ajax.Updater>>http://www.prototypejs.org/api/ajax/updater]] is in the form of three components: 29 29 30 - 1.AjaxUpdaterLink31 - 1.AjaxUpdaterButton32 - 1.AjaxUpdaterForm (with ##onsubmit## for ajax form submission)32 +* AjaxUpdaterLink 33 +* AjaxUpdaterButton 34 +* AjaxUpdaterForm (with ##onsubmit## for ajax form submission) 33 33 36 +These components will update a **container** on the page. 37 + 38 +===== Ajax.Request ===== 39 + 40 +Prototype's [[Ajax.Request>>http://www.prototypejs.org/api/ajax/request]] is in the form of: 41 + 42 +* AjaxRequestLink 43 +* AjaxRequestButton 44 + 45 +These are used for strictly **background** ajax communication. 46 + 34 34 ==== Prototype + Scriptaculous Widgets ==== 35 35 36 36 * Accordion ... ... @@ -43,11 +43,23 @@ 43 43 44 44 Differences from using forms in WebObjects. i.e ##WOForm##: 45 45 46 - *All form controls must be named. This includes text fields, selects and buttons.59 +1. All form controls must be named. This includes text fields, selects and buttons. 47 47 (WebObjects dynamically assigned names are not compatible with ERPrototaculous). 48 -* All forms in an ERPrototaculous app are instances of ##AjaxUpdaterForm##. 49 -* Form submits can be the form of a: 50 -** Static ##<button>## 51 -** WOSubmitButton (if the result is to update whole page/app. 61 +1. All forms in an ERPrototaculous app are instances of ##AjaxUpdaterForm##. 62 +1. Form submits can be the form of a: 63 + 64 +* 65 +** Static ##<button>##. 66 +** WOSubmitButton (if the result is to update whole page/app). 52 52 ** AjaxUpdaterButton (to update a **container**). Or 53 -** AjaxRequestButton (for a background ajax request) 68 +** AjaxRequestButton (for a **background** ajax request). 69 + 70 +== Ajax Page Caching in ERPrototaculous == 71 + 72 +One notable difference in the ERPrototaculous and Ajax.framework is in the ajax responses. 73 +ERPrototaculous updates and actions break with "The WebObjects Way" by being pseudo-stateless. 74 + 75 +Instead of returning a fresh response, an ajax update or action is in fact the same instance. 76 + 77 +The reason returning a fresh response is not necessary is because a client never travels back or forwards through an ajax application unlike in a typical WebObjects app. 78 +Here the current state of the update or action is all that is necessary.