Rico has undergone some major changes in version 3.0. Goals for this version included: 1) More themes of higher quality. This was achieved by making Rico compatible with jQuery Themeroller. Even better, the use of Themeroller themes does not require the use of jQuery. LiveGrid striping is defined for all of the Rico AND Themeroller themes. 2) Break Rico's dependence on Prototype. Rico can still run with Prototype, but it can also run with jQuery, MooTools, dojo, ext (core), or Glow. Adaptors to each base library provide a common calling convention within the Rico environment. All references to Class.create and Function.bind have been removed from Rico. 3) Reduce Rico's impact on the global namespace to 2 symbols - Rico and Rico_CONFIG. RicoUtil, RicoTranslate and several other namespaces have been folded into the Rico namespace. Date, String, and Number prototypes have been removed. 4) More deeply integrate JSON support. All server plugins can now selectively generate XML or JSON output. 5) Better LiveGrid export to Excel. LiveGrids with an SQL data source can now export directly to MS Excel on all client browsers. More style information is preserved in the export. 6) When loading a LiveGrid with SQL data, support a mode where server variables are not required to process the AJAX calls. 7) Eliminate fixed point fonts, so the grid and all widgets scale with font size. Methods and properties previously defined in RicoCommon.js: ----------------------------------------------------------- RicoUtil.getDirectChildrenByTag -> Rico.getDirectChildrenByTag (now defined in each adaptor file) RicoUtil.createXmlDocument -> Rico.createXmlDocument (now defined in rico.js) RicoUtil.getInnerText -> Rico.getInnerText (now defined in rico.js) RicoUtil.getContentAsString -> Rico.getContentAsString (now defined in rico.js) RicoUtil.docElement (removed) RicoUtil.windowHeight -> Rico.windowHeight (now defined in each adaptor file) RicoUtil.windowWidth -> Rico.windowWidth (now defined in each adaptor file) RicoUtil.docScrollLeft -> Rico.docScrollLeft (now defined in each adaptor file) RicoUtil.docScrollTop -> Rico.docScrollTop (now defined in each adaptor file) RicoUtil.nan2zero -> Rico.nan2zero (now defined in rico.js) RicoUtil.eventKey -> Rico.eventKey (now defined in each adaptor file) RicoUtil.getPreviosSiblingByTagName -> Rico.getPreviosSiblingByTagName (now defined in rico.js) RicoUtil.getParentByTagName -> Rico.getParentByTagName (now defined in rico.js) RicoUtil.wrapChildren -> Rico.wrapChildren (now defined in rico.js) RicoUtil.DOMNode_insertAfter (removed) RicoUtil.positionCtlOverIcon -> Rico.positionCtlOverIcon (now defined in rico.js) RicoUtil.createFormField -> Rico.createFormField (now defined in rico.js) RicoUtil.addSelectOption -> Rico.addSelectOption (now defined in rico.js) RicoUtil.getCookie -> Rico.getCookie (now defined in rico.js) RicoUtil.setCookie -> Rico.setCookie (now defined in rico.js) RicoTranslate.thouSep -> Rico.thouSep (now defined in rico.js) RicoTranslate.decPoint -> Rico.decPoint (now defined in rico.js) RicoTranslate.langCode -> Rico.langCode (now defined in rico.js) RicoTranslate.dateFmt -> Rico.dateFmt (now defined in rico.js) RicoTranslate.timeFmt -> Rico.timeFmt (now defined in rico.js) RicoTranslate.monthNames -> Rico.monthNames (now defined in rico.js) RicoTranslate.dayNames -> Rico.dayNames (now defined in rico.js) RicoTranslate.monthAbbr -> Rico.monthAbbr (now defined in rico.js) RicoTranslate.dayAbbr -> Rico.dayAbbr (now defined in rico.js) RicoTranslate.addPhrase (removed) RicoTranslate.getPhrase (removed) RicoTranslate.addPhraseId -> Rico.addPhraseId (now defined in rico.js) RicoTranslate.getPhraseById -> Rico.getPhraseById (now defined in rico.js) RicoUtil.formatPosNumber -> Rico.formatPosNumber (now defined in rico.js) Date.prototype.setISO8601 -> Rico.setISO8601 (now defined in rico.js) String.prototype.toISO8601Date -> Rico.setISO8601 (now defined in rico.js) Date.prototype.toISO8601String -> Rico.toISO8601String (now defined in rico.js) Date.prototype.formatDate -> Rico.formatDate (now defined in rico.js) String.prototype.formatDate -> Rico.formatDate (now defined in rico.js) Number.prototype.formatNumber -> Rico.formatNumber (now defined in rico.js) String.prototype.formatNumber -> Rico.formatNumber (now defined in rico.js) Rico.Shim -> now part of Rico.Popup (defined in ricoUI.js) Rico.Shadow -> removed, Rico 3 uses the native shadow capabilities of each browser (shadow filter for IE 5-8) Rico.Popup -> split into Rico.Popup and Rico.Window (now defined in ricoUI.js) Methods and properties previously defined in ricoMenu.js: --------------------------------------------------------- Rico.Menu -> no change (now defined in ricoUI.js) Methods and properties previously defined in ricoBehaviors.js: -------------------------------------------------------------- Rico.selectionSet -> no change (now defined in ricoUI.js) Rico.HoverSet -> no change (now defined in ricoUI.js) Rico.Hover (removed) Rico.HoverDisplay (removed) Rico.EventWrapper (removed) Methods and properties previously defined in ricoStyles.js: ----------------------------------------------------------- Rico.Color -> now defined in ricoUI.js, gradient methods were removed Rico.Corner -> no change (now defined in ricoUI.js) Methods and properties defined in ricoLiveGridAjax.js: ------------------------------------------------------ Rico.Buffer.AjaxXML -> renamed to Rico.Buffer.AjaxLoadOnce (clearer name, since it can be used to load JSON or XML data) Methods and properties defined in ricoLiveGridControls.js: ---------------------------------------------------------- Rico.TableColumn.HighlightCell -> removed, use styles instead