summaryrefslogtreecommitdiff
path: root/UPGRADE
diff options
context:
space:
mode:
authorPatrick Seeger <pseeger@ccwn.org>2012-04-13 23:11:05 +0200
committerPatrick Seeger <pseeger@ccwn.org>2012-04-13 23:11:05 +0200
commit341cc4dd9c53ffbfb863e026dd58549c1082c7a7 (patch)
tree1bbbed20313bafb9b063b6b4d894fe580d8b000f /UPGRADE
yii-framework 1.1.10 hinzugefügtHEADmaster
Diffstat (limited to 'UPGRADE')
-rw-r--r--UPGRADE358
1 files changed, 358 insertions, 0 deletions
diff --git a/UPGRADE b/UPGRADE
new file mode 100644
index 0000000..79d7dee
--- /dev/null
+++ b/UPGRADE
@@ -0,0 +1,358 @@
+
+ Upgrading Instructions for Yii Framework v1.1.10
+ ===============================================
+
+!!!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.
+
+General upgrade intructions
+---------------------------
+- Make a backup.
+- Clean up your 'assets' folder.
+- Replace 'framework' dir with the new one or point SVN to a fresh
+ release and update.
+- Check if everything is OK, if not — revert from backup and post
+ issues to Yii issue tracker.
+
+
+Upgrading from v1.1.9
+---------------------
+- Previously xSendFile() was returning false if the file was not found.
+This has been removed to allow relative file paths. If you are relying on this check,
+you will need to do it manually before calling xSendFile().
+
+Upgrading from v1.1.8
+---------------------
+- CConfiguration::createObject, CController::paginate and CHtml::getActiveId deprecated since 1.0.x were removed. Use
+ Yii::createComponent, new CPagination directly and CHtml::activeId respectively.
+
+- In CErrorHandler::handleException() the checking for ajax call has been removed
+as it was preventing to customize the display of the exception during an ajax call.
+
+- Previously in case of validation error the CSS "error" class was not added to the row container at all when
+checkBoxList or radioButtonList where used. This is fixed now and proper "error" CSS class is added to the row
+container but in case of validation error, all labels from the list are shown in red because of the CSS rule.
+
+To fix this and display only the attribute label in red:
+
+in <projectdir>/css/form.css the line:
+
+ div.form div.error label
+
+should be changed to
+
+ div.form div.error label:first-child
+
+- If you've used "through" ActiveRecord option in your relation definitions it's good to update code as shown below.
+Old style of defining this option still works but is now deprecated.
+
+Change
+
+~~~
+class Group extends CActiveRecord
+{
+ public function relations()
+ {
+ return array(
+ 'roles'=>array(self::HAS_MANY,'Role','group_id'),
+ 'users'=>array(self::HAS_MANY,'User','user_id','through'=>'roles'),
+ );
+ }
+}
+~~~
+
+to
+
+~~~
+class Group extends CActiveRecord
+{
+ public function relations()
+ {
+ return array(
+ 'roles'=>array(self::HAS_MANY,'Role','group_id'),
+ 'users'=>array(self::HAS_MANY,'User',array('user_id'=>'id'),'through'=>'roles'),
+ );
+ }
+}
+~~~
+
+
+Upgrading from v1.1.7
+---------------------
+- CDbAuthManager will now quote columns and tables referenced in its SQL code.
+If your auth tables were created in a case-insensitive fashion (e.g. on PostgreSQL)
+while your DBMS is case-sensitive, this change may cause DB query errors.
+To fix this issue, you will have to rename the table names and columns, or re-create
+the auth tables by following the SQL code given in framework/web/auth/*.sql.
+- jQuery was upgraded to 1.6.1. Check your client side code and if you have issues consider
+downgrading to 1.5.1 or 1.4.4.
+
+
+Upgrading from v1.1.6
+---------------------
+- Make sure you are using latest stable PHPUnit 3.5 if you are using unit tests.
+
+
+Upgrading from v1.1.5
+---------------------
+- In CActiveRecord::relations(), if a relation involves composite foreign keys, the foreign key
+ columns must be separated by commas now. Previously, the columns can be separated by either
+ commas or spaces. If your mode code are generated by Gii or yiic shell, you do not need to
+ worry about this.
+- CLDR data was updated to a newest available version so data formats, month
+ names and other regional data can be changed.
+
+
+Upgrading from v1.1.4
+---------------------
+- CHtml will no longer render null attributes for HTML tags. This means if $htmlOptions is
+ array('class'=>null), it will no longer render the 'class' attribute in the HTML tag.
+ it would render the class attribute as class="". We expect this will not cause much trouble
+ in upgrading. However, in case problems happen, you may set the attribute to be an empty string
+ to solve them.
+
+- Now by default CWebLogRoute does not render logs in FireBug for ajax calls.
+ To get logs rendered for ajax calls in FireBug set CWebLogRoute::ignoreAjaxInFireBug to false
+
+- The implementation of CCache::flush() was changed a little. Child classes should now implement
+ a flushValues() method. If you use any custom cache class with flush functionality, you should
+ rename the flush method accordingly.
+
+- The prompt and empty options used in CHtml methods will NOT be HTML-encoded anymore. It will now
+ always convert ">" and "<" into "&gt;" and "lt;", respectively. This should be sufficient in most
+ cases. But if your application uses some other special characters, or if you allow user inputs
+ to be used as prompt and empty text labels, please call CHtml::encode() explicitly on these option
+ values.
+
+
+Upgrading from v1.1.3
+---------------------
+- Zii was merged into Yii so if you are using SVN to keep framework
+ up to date, you'll need to delete 'framework/zii' and then update it.
+
+Upgrading from v1.1.2
+---------------------
+- When using the skin feature, you now need to explicitly configure
+the 'enableSkin' property of 'widgetFactory' application component
+to be true. Also, if you have configured the 'widgets' property, you
+should rename it to be 'skinnableWidgets'. These changes are due to
+the introduction of the global widget customization feature.
+Please see the guide (the "Theming" section) for more details.
+
+- CAutoComplete is now deprecated and will be removed in Yii 1.2. Consider
+using CJuiAutoComplete.
+
+- Now it's not possible to reuse CActiveFinder. So if you have code like this:
+
+ $finder = Post::model()->with('comments');
+ $posts1 = $finder->findAll();
+ …
+ $posts2 = $finder->findAll();
+
+ you should rewrite it to:
+
+ $posts1 = Post::model()->with('comments');
+ …
+ $posts2 = Post::model()->with('comments');
+
+- The 'condition' declared in the scopes of the related AR classes will now
+be put in the 'ON' clause of the JOIN statement when performing relational AR queries.
+
+
+Upgrading from v1.1.1
+---------------------
+
+Upgrading from v1.1.0
+---------------------
+- CHtml::beginForm() will automatically generate hidden fields to represent
+the parameters in the query string when the form uses GET method.
+To avoid submitting duplicated query parameters, you may use createUrl()
+to explicitly specify the action of the form. You may also need to remove
+the hidden fields that you previously render for the same purpose.
+
+- The code generated by yiic tool is changed. If you are using yiic tool
+to generate new CRUD code on a previously generated skeleton, you are recommended
+to run "yiic webapp" again to re-generate the skeleton. Make sure you backup
+your work before you do this.
+
+- CMenu now renders the 'active' CSS class for the 'li' tag instead of the
+hyperlink tag. You should adjust your CSS code accordingly if you use CMenu
+in your application.
+
+- CUrlManager::parsePathInfo() is changed to be non-static. If you override
+this method or your existing code calls this method directly (neither is common),
+you need to change your code accordingly.
+
+- CController::forward() will exit the application by default now. If you want
+to keep the old behavior, you may pass false as the second parameter.
+
+- The jQuery copy included in the framework has been upgraded to version 1.4.2.
+This may cause some incompatibility problems to your existing jQuery code or plugins.
+If you want to keep using version 1.3.2, you may do so by configuring
+CClientScript::scriptMap property.
+
+- The default theme for JQuery UI widgets was changed from 'smoothness' to 'base'.
+If you are using 'smoothness', you will need to manually download this theme from
+jqueryui.com and configure the 'theme' property of the JQuery UI widgets accordingly.
+
+
+Upgrading from v1.1rc
+---------------------
+- CRudColumn is renamed as CButtonColumn
+- CDataColumn.dataField and dataExpression are renamed as name and value, respectively
+- The alias name for the primary table in an AR query is fixed to be 't'
+
+Upgrading from v1.1b
+--------------------
+
+Upgrading from v1.1a
+--------------------
+- CSort::attributes is changed. Now the array keys refer to attribute names
+and array values refer to virtual attribute definitions. Please read the
+API documentation for this property to learn more details. This change will
+affect your code only when you explicitly specify this property.
+
+Upgrading from v1.0.x
+---------------------
+- Application and module parameter names are changed to be case-sensitive.
+In 1.0.x, they are case-insensitive.
+
+- For tabular input, using Field[$i] is not valid anymore. Attribute names
+should look like [$i]Field in order to support array-typed fields
+(e.g. [$i]Field[$index]).
+
+- Please read the Guide for further details on how to upgrade from v1.0.x to v1.1.
+
+Upgrading from v1.0.12
+----------------------
+
+Upgrading from v1.0.11
+----------------------
+
+Upgrading from v1.0.10
+----------------------
+
+Upgrading from v1.0.9
+---------------------
+
+Upgrading from v1.0.8
+---------------------
+- ActiveRecord lazy loading is changed for optimization purpose. Previously,
+when lazy loading occurs, the related table will be joined with the primary
+table. Now, the related table will be queried without joining the primary table.
+As a result, if you are using lazy loading and the corresponding relation
+declaration includes reference to the primary table, the query will fail.
+To fix this problem, please specify the lazy loading query options with the
+actual primary table column values.
+
+Upgrading from v1.0.7
+---------------------
+- A directory imported using Yii::import() will have precedence over
+any existing include paths. For example, if we import 'application.models.*',
+then the corresponding directory will be searched before any other
+existing include paths. This also means, a directory imported later will
+have precedence over directories imported earlier. Previously, this order
+was reversed. This change may affect you if you have several classes with
+the same name and they are imported via different directories. You will need
+to adjust the import order of these directories to make sure your existing
+applications are not broken due to this change.
+
+
+Upgrading from v1.0.6
+---------------------
+- Default named scope will no longer be applied to INSERT, UPDATE and
+DELETE queries. It is only applied to SELECT queries. You should be aware
+of this change if you override CActiveRecord::defaultScope() in your code.
+
+- The signature of CWebUser::logout() is changed. If you override this method,
+you will need to modify your method declaration accordingly.
+
+
+Upgrading from v1.0.5
+---------------------
+
+
+Upgrading from v1.0.4
+---------------------
+- CWebUser::checkAccess() takes an additional parameter to allow caching
+the access check results. If you override this method, you will need to
+modify your method declaration accordingly. Because the new parameter will
+enable caching the access check results by default, please double check
+your code containing this method call to make sure the behavior is as expected.
+
+- CDateParser has been renamed to CDateTimeParser
+
+
+Upgrading from v1.0.3
+---------------------
+- The signature of CWebModule::init() is modified. Its parameter is removed.
+ If your application uses modules, you have to modify your module class
+ files accordingly.
+
+
+Upgrading from v1.0.2
+---------------------
+- Controllers that are organized in subdirectories are now referenced
+ using the ID format "path/to/xyz". Previously it was "path.to.xyz".
+ If you use "path.to.xyz" in your application, you have to modify it
+ to "path/to/xyz".
+
+- CHtml::coreScript() is removed. If you used this in your application,
+ please use the following alternative:
+
+ Yii::app()->clientScript->registerCoreScript($name);
+
+
+Upgrading from v1.0.1
+---------------------
+- Due to the introduction of the scenario-based massive assignment feature,
+ we removed CActiveRecord::protectedAttributes(). Please use safeAttributes()
+ to specify which attributes are safe to be massively assigned.
+
+ For more details about scenario-based assignment and validation,
+ please read the following tutorial section:
+
+ http://www.yiiframework.com/doc/guide/form.model#securing-attribute-assignments
+
+- The signature of CModel::validate() has been changed to:
+
+ CModel::validate($scenario='', $attributes=null)
+
+ That is, the order of the two parameters has been swapped. If your application
+ contains code that invokes the validate() method (of either a CFormModel
+ or a CActiveRecord object) with some parameter, please make sure you fix
+ the parameter order.
+
+- The usage of CActiveRecord::with() and the 'with' option in relations
+ has been changed. In order to query child relations, we should specify the 'with'
+ parameter/option like the following now:
+
+ Post::model()->with(array('comments', 'author.profile'))->findAll();
+
+ Previously, this should be written as:
+
+ Post::model()->with(array('comments', 'author'=>'profile'))->findAll();
+
+ If your code does not involve child relations (like 'profile' in the above),
+ nothing needs to be changed.
+
+ This change has been introduced in order to support dynamic relational
+ query options. For example, we can specify that comments be sorted in
+ descending order (assuming in the relations() method it is specified as
+ ascending order):
+
+ Post::model()->with(array(
+ 'comments'=>array('order'=>'createTime DESC'),
+ 'author.profile',
+ ))->findAll();
+
+
+Upgrading from v1.0.0
+---------------------
+- An $scenario parameter is added to both CModel::beforeValidate() and afterValidate().
+ If you override these methods in your child classes (form models, AR classes),
+ make sure you change the method signature accordingly.