Upgrading Instructions for PRADO Framework v3.1.0 ================================================= !!!IMPORTANT!!! The following upgrading instructions are cumulative. That is, if you want to upgrade from version A to version C and there is version B between A and C, you need to following the instructions for both A and B. Upgrading from v3.1b -------------------- - When TDataList.RepeatLayout is 'Raw', no tags will be generated for header, footer and items. If your existing code rely on the span tags, you may use 'Flow' layout and set RepeatColumns as 1. - Comment tag (introduced in v3.1a) is changed to - When TDataList.RepeatLayout is Raw, the items will render
instead of - TActiveRecord finder methods will always return a new object instance (identity mapping was removed). - TActiveRecord::findBySql() will return an object rather than an array - TActiveRecord::findAllBySql() will return an array of objects. Upgrading from v3.1a --------------------- - The signature of TActiveRecord::finder() is changed. This affects all TActiveRecord-descendant classes that override this method. Please use the following code to override the method: public static function finder($className=__CLASS__) { return parent::finder($className); } - The way to specify the table name for an active record class is changed. Previously, it used the static class member '_tablename'. Now it uses class constant as follows: class UserRecord extends TActiveRecord { const TABLE='users_table'; } - Changed TActiveRatingList's javascript control class name from "Prado.WebUI.TRatingList" to "Prado.WebUI.TActiveRatingList". - PRADO's javascript library locations moved from Web/Javascripts/xxx to Web/Javascripts/source/xxx - IPostBackDataHandler added a new method getDataChanged(). Any control implementing this interface will be required to implement this new method. Upgrading from v3.0.x --------------------- - Validators ClientSide.OnSuccess becomes ClientSide.OnValidationSuccess, - Validators ClientSide.OnError becomes ClientSide.OnValidationError, - Validator OnSuccess event becomes OnValidationSuccess. - Validator OnError event becomes OnValidationError. - Content enclosed in is now parsed as normal template content. Previously, it was not parsed and was rendered as is. Upgrading from v3.0.7 --------------------- Upgrading from v3.0.6 --------------------- Upgrading from v3.0.5 --------------------- - TRepeater does not render anymore for empty item template. - constructUrl() now encodes ampersand by default. This should have minimal impact on any existing PRADO applications, though. - TDataGrid does not generate default table styles. This may affect the appearance of existing PRADO applications that use TDataGrid. - If TUrlMapping is used, you need to set the UrlManager property of THttpRequest to the module ID of TUrlMapping. - TJavascriptLogger toggle key is changed from ALT-D to ALT-J. Use the ToggleKey property chanage to a different key. - Javascript Library rico was REMOVED. Upgrading from v3.0.4 --------------------- - TFileUpload::saveAs() will return false instead of raising an exception if it encounters any error. - TDropDownListColumn.DataField is renamed to DataTextField and DataFormatString is renamed to DataTextFormatString. A new property named DataValueField is added. Upgrading from v3.0.3 --------------------- - The 'Static' value is changed to 'Fixed' for the Display property of all validators as well as TValidationSummary, due to conflict with PHP keywords. - The 'List' value is changed to 'SimpleList' for TValidationSummary.DisplayMode. - The 'List' value is changed to 'DropDownList' for TPager.Mode - This change affects existing client-side javascript handlers such as All ClientSide javascript event handlers (such as ClientSide.OnSuccess) are by default wrapped within the function block. function(sender, parameter){ // handler code } You may override this behaviour by providing your own javascript statement block as "javascript:MyHandlerFunction", e.g. ClientSide.OnSuccess="javascript:MyHandlerFunction" or ClientSide.OnSuccess="javascript:function(validator,sender){ ... }" Upgrading from v3.0.2 --------------------- - The minimum PHP version required is raised to 5.1.0 and above. If your server is installed with a lower version of PHP, you will have to upgrade it in order to run PRADO applications. - The signature of TControl::broadcastEvent() is changed from broadcastEvent($sender,TBroadCastEventParameter $param) to broadcastEvent($name,$sender,$param). This makes the call to broadcastEvent() to be consistent with raiseEvent(). Upgrading from v3.0.1 --------------------- - Postback enabled control will always disable default client-side browser action. This is due to google toolbar's interference of event stopping scheme. This modification should only affect user-derived postback javascripts. Upgrading from v3.0.0 --------------------- - URL format is modified when THttpRequest.UrlFormat=='Path'. This modification affects both the URLs generated by calling constructUrl() and the URLs understood by PRADO. In particular, PRADO now understands the following URL format: /index.php/ServiceID,ServiceParam/Name1,Value1/Name2,Value2/... In v3.0.0, the above URL is written as: /index.php/ServiceID/ServiceParam/Name1/Value1/Name2/Value2/... - TControl::onBubbleEvent() has been changed to TControl::bubbleEvent(). This change only affects user controls that override this method. Upgrading from v2.x and v1.x ---------------------------- PRADO v3.x is not backward compatible with v2.x and v1.x.