Blame | Letzte Änderung | Log anzeigen | RSS feed
Upgrading Instructions for PRADO Framework v3.1.4=================================================!!!IMPORTANT!!!The following upgrading instructions are cumulative. That is,if you want to upgrade from version A to version C and there isversion B between A and C, you need to following the instructionsfor both A and B.Upgrading from v3.1.3---------------------- The prado-cli and prado-cli.bat scripts have been moved intothe framework folder of the distribution.Upgrading from v3.1.2---------------------- The Translation configuration now also accepts type 'Database' toease the setup of DB base translation. A valid ConnectionID has tobe supplied in the source parameter:<translation type="Database" source="db1" autosave="true" cache="false" />Type 'MySQL' can still be used but is deprecated and might be removedin a later release.- TinyMCE (used by THtmlArea component) has been upgraded to version 3.1.0.1.Since the 3.X branch of TinyMCE has a different API than 2.X, you shouldupgrade your Customs Plugins if you use any.See http://wiki.moxiecode.com/index.php/TinyMCE:Migration_guide for more information.- If you use EnableStateEncryption, the PageState of your current user sessionswill no longer be valid, since we optimized the encryption/compression logic.- You can now use # and $ characters in your SQL statements with SQLMap byescaping them as ## and $$. That induces that you can't have consecutiveparameters like #param1##param2# or $param1$$param2$ in your statements anymore.Upgrading from v3.1.1---------------------- The RELATIONS type declaration in Active Record classes for Many-to-Many usingan association table was change from "self::HAS_MANY" to "self::MANY_TO_MANY".E.g. change'albums' => array(self::HAS_MANY, 'Artist', 'album_artists')to'albums' => array(self::MANY_TO_MANY, 'Artist', 'album_artists')- Active Record no longer automatically adds/removes/updates related objects.- 'Raw' mode for TCheckboxList and TRadioButtonList (and their active counter parts) now rendera surrounding <span> tag to allow client scripts to identify them with the ClientId. You mayhave to check your CSS.Upgrading from v3.1.0---------------------- The RELATIONS declaration in Acive Record classes is changed from"protected static $RELATIONS" to "public static $RELATIONS".- IFeedContentProvider adds a new method: getContentType(). This affects anyclass implementing this interface.- TUrlMapping now only uses the PATH_INFO part of URL for matching, and the matchingis for the whole PATH_INFO.- IUserManager adds two new methods: getUserFromCookie() and saveUserToCookie().This affects classes that implements this interface and does not extend fromTUserManager.- The order of application lifecycles is changed. The loadState and loadStateCompleteare moved to right after onBeginRequest.- TDropDownList will be in an unselected state if no initial selection is specified.That is, its SelectedIndex will be -1. Previously, the first item will be considered as selected.Upgrading from v3.1b--------------------- Comment tag <!-- ... ---> (introduced in v3.1a) is changed to <!--- ... --->- When TDataList.RepeatLayout is Raw, the items will render <div> instead of <span>- 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 affectsall 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 classname 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 controlimplementing 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 <span> anymore for empty item template.- constructUrl() now encodes ampersand by default. This should have minimalimpact on any existing PRADO applications, though.- TDataGrid does not generate default table styles. This may affectthe appearance of existing PRADO applications that use TDataGrid.- If TUrlMapping is used, you need to set the UrlManager property ofTHttpRequest 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 exceptionif it encounters any error.- TDropDownListColumn.DataField is renamed to DataTextField andDataFormatString 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 ofall 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<com:TRequiredFieldValidator ClientSide.OnSuccess="xxx" />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 blockas "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 willhave to upgrade it in order to run PRADO applications.- The signature of TControl::broadcastEvent() is changed frombroadcastEvent($sender,TBroadCastEventParameter $param) tobroadcastEvent($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 understandsthe 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.