diff options
Diffstat (limited to 'UPGRADE')
-rw-r--r-- | UPGRADE | 353 |
1 files changed, 181 insertions, 172 deletions
@@ -1,172 +1,181 @@ -
- Upgrading Instructions for PRADO Framework v3.1.3
- =================================================
-
-!!!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.1.2
----------------------
-- The Translation configuration now also accepts type 'Database' to
- ease the setup of DB base translation. A valid ConnectionID has to
- be 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 removed
- in 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 should
- upgrade your Customs Plugins if you use any.
- See http://wiki.moxiecode.com/index.php/TinyMCE:Migration_guide for more information.
-
-
-Upgrading from v3.1.1
----------------------
-- The RELATIONS type declaration in Active Record classes for Many-to-Many using
- an 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 render
- a surrounding <span> tag to allow client scripts to identify them with the ClientId. You may
- have 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 any
- class implementing this interface.
-- TUrlMapping now only uses the PATH_INFO part of URL for matching, and the matching
- is for the whole PATH_INFO.
-- IUserManager adds two new methods: getUserFromCookie() and saveUserToCookie().
- This affects classes that implements this interface and does not extend from
- TUserManager.
-- The order of application lifecycles is changed. The loadState and loadStateComplete
- are 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 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 <span> 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
- <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 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.
+ + 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 is +version B between A and C, you need to following the instructions +for both A and B. + +Upgrading from v3.1.3 +--------------------- + + +Upgrading from v3.1.2 +--------------------- +- The Translation configuration now also accepts type 'Database' to + ease the setup of DB base translation. A valid ConnectionID has to + be 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 removed + in 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 should + upgrade 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 sessions + will no longer be valid, since we optimized the encryption/compression logic. +- You can now use # and $ characters in your SQL statements with SQLMap by + escaping them as ## and $$. That induces that you can't have consecutive + parameters 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 using + an 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 render + a surrounding <span> tag to allow client scripts to identify them with the ClientId. You may + have 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 any + class implementing this interface. +- TUrlMapping now only uses the PATH_INFO part of URL for matching, and the matching + is for the whole PATH_INFO. +- IUserManager adds two new methods: getUserFromCookie() and saveUserToCookie(). + This affects classes that implements this interface and does not extend from + TUserManager. +- The order of application lifecycles is changed. The loadState and loadStateComplete + are 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 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 <span> 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 + <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 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. |