Index: openacs-4/packages/ajaxhelper/www/resources/yui/connection/README =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ajaxhelper/www/resources/yui/connection/README,v diff -u -r1.2 -r1.3 --- openacs-4/packages/ajaxhelper/www/resources/yui/connection/README 25 Dec 2006 16:40:01 -0000 1.2 +++ openacs-4/packages/ajaxhelper/www/resources/yui/connection/README 8 Sep 2007 14:22:01 -0000 1.3 @@ -1,157 +1,240 @@ -Connection Manager Release Notes - -*** version 0.12.1 *** - -* connection-debug.js corrected and synchronized with connection.js. Code -inconsistencies between the two files existed in 0.12.0. - -*** version 0.12.0 *** - -* When uploading files via setForm() and asyncRequest includes a POST data -argument, appendPostData() will create hidden input fields for each postData -label/value and append each field to the form object. - -* setForm() returns the assembled label/value string of the parsed HTML form -fields. - -* NOTE: Opera 9.02 does not allow for more than 12 concurrent Connection Manager -objects. - -The following example creates 12 requests in a loop: -for(var n=0; n<=12; i++){ - conn[n] = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback); -} - -If n > 13, Opera 9.02 will crash. Connection manager objects count n must be <= -12 at all times. This condition was not present in Opera version 9.01. - -This condition does not apply to other A-Grade browsers ( -http://developer.yahoo.com/yui/articles/gbs/gbs_browser-chart.html) - -*** version 0.11.3 *** - -* YUI Event dependency for file uploading is now optional. - -* uploadFile() now sets unique IDs for each file upload transaction to prevent -iframe collisions with parallel uploads. - -* The callback object now has property responseXML to provide support for file -upload transactions that return an XML document. - -* setForm() will verify if a select option value attribute is present and use -its value, including empty string, before using the text node value. - -* Modified polling mechanism in handleReadyState() and -handleTransactionResponse() to prevent infinite polling if JavaScript errors -occur in the user-defined callback. - -* createFrame() will now accept a boolean argument of true to set the frame -source to "javascript:false" to prevent IE from throwing security warnings in an -HTTPS environment. - -* setHeader() now enumerates through the _http_header object using -hasOwnProperty() to prevent collisions with members added to Object via -prototype. - -* If using setForm() and asyncRequest includes a POST data argument, the data -will be concatenated to the HTML form POST message. - -*** version 0.11.2 *** - -* No revisions. - -*** version 0.11.1 *** - -* uploadFile() now verifies the existence of callback.upload before invoking -callback, with or without object scope. - -*** version 0.11.0 *** - -* Each transaction can be defined with a timeout threshold, in milliseconds, -through the callback object. If the threshold is reached, and the transaction -hasn't yet completed, the transaction will call abort(). - -* abort() will now accept a callback object as the second argument. The -failure callback will receive a response object to indicate the transaction was -aborted. - -* setForm() will now support file uploads by setting the second argument to -true (e.g., YAHOO.util.Connect.setForm(formObject, true). File upload does not -use the callback success or failure handler. Instead, it uses a new callback -object handler: upload. - -* HTML form submit will no longer submit form fields without a defined name -attribute. - -* The default POST header of 'Content-Type','application/x-www-form-urlencoded' -can be overridden by calling setDefaultPostHeader(false). This -will remove the default header from non-HTML form, POST submissions. - -* setHeader() now enumerates through the _http_header object with -propertyIsEnumerable to prevent collisions with members added to Object via -prototype. - -*** version 0.10.0 *** - -* handleTransactionResponse() now treats the full HTTP 2xx range as a success -case, instead of just HTTP 200. - -* To accommodate multiple field values in Mozilla/Firefox, multiple initHeader -calls with the same label will now result in the values concatenated to a -comma- delimited string value. -Example: -Setting Content-Type:'application/x-www-form-urlencoded' and Content- -Type:'text/xml' will result in Content-Type:'application/x-www-form-urlencoded, -text/xml'. - -* Default polling interval lowered to 50ms. - -* YAHOO.util.Connect.setPollingInterval() will allow you to set a polling -interval -- in milliseconds -- to override the default value. - -* YAHOO.util.Connect.getResponseHeader[headerLabel] now supported as a response -object property to provide symmetry with the native XHR object's property. -Example: -YAHOO.util.Connect.getResponseHeader['Content-Length'] will return the value -for the Content-Length header, if the header is available. - -* YAHOO.util.Connect.allResponseHeaders property renamed to -getAllResponseHeaders to provide symmetry with the native XHR object's -property. - -* YAHOO.util.Connect.setForm() now supports HTTP GET as well as HTTP POST. - -* YAHOO.util.Connect.setForm() now accepts an HTML form object as well as its -name attribute value. - -* YAHOO.util.Connect.setForm() will not submit HTML form fields that are -disabled or do not have a name attribute value. - -* [FIXED] Response exceptions result in infinite callback loop in -Mozilla/Firefox. - -* [FIXED] YAHOO.util.Connect.abort() now properly clears polling interval. - -* [FIXED] isCallInProgress() now verifies whether XHR instance still exists, -and returns false if the connection object is no longer available. - -*** version 0.9.0 *** - -* Initial release - - - - - - - - - - - - - - - - - +Connection Manager Release Notes + +*** version 2.3.0 *** + +* Custom Events are introduced in Connection Manager. These events -- for a +non-file upload transaction -- are: + + * startEvent + * completeEvent + * successEvent + * failureEvent + * abortEvent + +For transactions involving file upload with an HTML form, the events are: + + * startEvent + * completeEvent + * uploadEvent + * abortEvent + +* Event utility is a now Connection Manager dependency. + +* abort() and isCallInProgress() are now functional for file upload +transactions. + +* NOTE: The XHR implementation in Safari 2.0.4 has been confirmed to leak +memory. + +* UPDATE: The XHR implementation in Safari 3.0 beta(and WebKit builds) now +appear to handle HTTP 204 responses correctly. XHR in Opera, as of 9.21, still +does not produce a valid HTTP status code with an HTTP 204 response. + +*** version 2.2.2 *** + +* No revisions. + +*** version 2.2.1 *** + +* setForm() will include the correct name-value of the HTML Submit button +clicked where multiple HTML Submit button options are present in an HTML form. +To enable this feature, include the Event utility source file as a dependency +before the Connection Manager source file. + +* The XHR implementation in IE6 and IE7, Opera, and Safari do not properly +handle an HTTP 204 response. IE6/7 will instead return a Win error 1223. +handleTransactionResponse() will treat 1223 as an HTTP 204, and route the +response appropriately to the success callback. createResponseObject() will +normalize the response object's status and statusText values to 204 and "No +Content" respectively. However, no headers are returned. + +Opera and Safari provide no discernable response with HTTP 204(e.g., response +object's properties are undefined). This response will trigger the failure +callback with a status of 0 and statusText of "communication failure". + +*** version 2.2.0 *** + +* initHeader() now accepts a third argument as a boolean. When set to true, +this specific header will automatically be sent with each transaction. +Otherwise, the header will be set and sent for the specific transaction only. +Example: initHeader('X-YUI-State','Beta', true); all transactions will send this +header. + * resetDefaultHeaders() will clear the default headers collection. + +* All Connection Mananger transactions will broadcast the header: "X-Requested- +With: XMLHttpRequest". + * This can be turned off: YAHOO.util.Connect.setDefaultXhrHeader(false); + +* The HTTP method argument in asyncRequest is now case-insensitive. + +* uploadFile() will now correctly handle the absence of a callback object, +allowing the transaction to complete silently. + +*** version 0.12.2 *** + +* The Opera/Connection Manager concurrent object condition, described in version +0.12.0, no longer tests applies for Opera, version 9.10. + +*** version 0.12.1 *** + +* connection-debug.js corrected and synchronized with connection.js. Code +inconsistencies between the two files existed in 0.12.0. + +*** version 0.12.0 *** + +* When uploading files via setForm() and asyncRequest includes a POST data +argument, appendPostData() will create hidden input fields for each postData +label/value and append each field to the form object. + +* setForm() returns the assembled label/value string of the parsed HTML form +fields. + +* NOTE: Opera 9.02 does not allow for more than 12 concurrent Connection Manager +objects. + +The following example creates 12 requests in a loop: +for(var n=0; n<=12; i++){ + conn[n] = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback); +} + +If n > 13, Opera 9.02 will crash. Connection manager objects count n must be <= +12 at all times. This condition was not present in Opera version 9.01. + +This condition does not apply to other A-Grade browsers ( +http://developer.yahoo.com/yui/articles/gbs/gbs_browser-chart.html) + +*** version 0.11.3 *** + +* YUI Event dependency for file uploading is now optional. + +* uploadFile() now sets unique IDs for each file upload transaction to prevent +iframe collisions with parallel uploads. + +* The callback object now has property responseXML to provide support for file +upload transactions that return an XML document. + +* setForm() will verify if a select option value attribute is present and use +its value, including empty string, before using the text node value. + +* Modified polling mechanism in handleReadyState() and +handleTransactionResponse() to prevent infinite polling if JavaScript errors +occur in the user-defined callback. + +* createFrame() will now accept a boolean argument of true to set the frame +source to "javascript:false" to prevent IE from throwing security warnings in an +HTTPS environment. + +* setHeader() now enumerates through the _http_header object using +hasOwnProperty() to prevent collisions with members added to Object via +prototype. + +* If using setForm() and asyncRequest includes a POST data argument, the data +will be concatenated to the HTML form POST message. + +*** version 0.11.2 *** + +* No revisions. + +*** version 0.11.1 *** + +* uploadFile() now verifies the existence of callback.upload before invoking +callback, with or without object scope. + +*** version 0.11.0 *** + +* Each transaction can be defined with a timeout threshold, in milliseconds, +through the callback object. If the threshold is reached, and the transaction +hasn't yet completed, the transaction will call abort(). + +* abort() will now accept a callback object as the second argument. The +failure callback will receive a response object to indicate the transaction was +aborted. + +* setForm() will now support file uploads by setting the second argument to +true (e.g., YAHOO.util.Connect.setForm(formObject, true). File upload does not +use the callback success or failure handler. Instead, it uses a new callback +object handler: upload. + +* HTML form submit will no longer submit form fields without a defined name +attribute. + +* The default POST header of 'Content-Type','application/x-www-form-urlencoded' +can be overridden by calling setDefaultPostHeader(false). This +will remove the default header from non-HTML form, POST submissions. + +* setHeader() now enumerates through the _http_header object with +propertyIsEnumerable to prevent collisions with members added to Object via +prototype. + +*** version 0.10.0 *** + +* handleTransactionResponse() now treats the full HTTP 2xx range as a success +case, instead of just HTTP 200. + +* To accommodate multiple field values in Mozilla/Firefox, multiple initHeader +calls with the same label will now result in the values concatenated to a +comma- delimited string value. +Example: +Setting Content-Type:'application/x-www-form-urlencoded' and Content- +Type:'text/xml' will result in Content-Type:'application/x-www-form-urlencoded, +text/xml'. + +* Default polling interval lowered to 50ms. + +* YAHOO.util.Connect.setPollingInterval() will allow you to set a polling +interval -- in milliseconds -- to override the default value. + +* YAHOO.util.Connect.getResponseHeader[headerLabel] now supported as a response +object property to provide symmetry with the native XHR object's property. +Example: +YAHOO.util.Connect.getResponseHeader['Content-Length'] will return the value +for the Content-Length header, if the header is available. + +* YAHOO.util.Connect.allResponseHeaders property renamed to +getAllResponseHeaders to provide symmetry with the native XHR object's +property. + +* YAHOO.util.Connect.setForm() now supports HTTP GET as well as HTTP POST. + +* YAHOO.util.Connect.setForm() now accepts an HTML form object as well as its +name attribute value. + +* YAHOO.util.Connect.setForm() will not submit HTML form fields that are +disabled or do not have a name attribute value. + +* [FIXED] Response exceptions result in infinite callback loop in +Mozilla/Firefox. + +* [FIXED] YAHOO.util.Connect.abort() now properly clears polling interval. + +* [FIXED] isCallInProgress() now verifies whether XHR instance still exists, +and returns false if the connection object is no longer available. + +*** version 0.9.0 *** + +* Initial release + + + + + + + + + + + + + + + + + + + + + + + + +