summaryrefslogtreecommitdiffstats
path: root/user_guide_src/source/installation/upgrade_200.rst
diff options
context:
space:
mode:
Diffstat (limited to 'user_guide_src/source/installation/upgrade_200.rst')
-rw-r--r--user_guide_src/source/installation/upgrade_200.rst90
1 files changed, 90 insertions, 0 deletions
diff --git a/user_guide_src/source/installation/upgrade_200.rst b/user_guide_src/source/installation/upgrade_200.rst
new file mode 100644
index 000000000..064e1b534
--- /dev/null
+++ b/user_guide_src/source/installation/upgrade_200.rst
@@ -0,0 +1,90 @@
+#############################
+Upgrading from 1.7.2 to 2.0.0
+#############################
+
+Before performing an update you should take your site offline by
+replacing the index.php file with a static one.
+
+Step 1: Update your CodeIgniter files
+=====================================
+
+Replace all files and directories in your "system" folder **except**
+your application folder.
+
+.. note:: If you have any custom developed files in these folders please
+ make copies of them first.
+
+Step 2: Adjust get_dir_file_info() where necessary
+=====================================================
+
+Version 2.0.0 brings a non-backwards compatible change to
+get_dir_file_info() in the :doc:`File
+Helper <../helpers/file_helper>`. Non-backwards compatible changes
+are extremely rare in CodeIgniter, but this one we feel was warranted
+due to how easy it was to create serious server performance issues. If
+you *need* recursiveness where you are using this helper function,
+change such instances, setting the second parameter, $top_level_only
+to FALSE::
+
+ get_dir_file_info('/path/to/directory', FALSE);
+
+Step 3: Convert your Plugins to Helpers
+=======================================
+
+2.0.0 gets rid of the "Plugin" system as their functionality was
+identical to Helpers, but non-extensible. You will need to rename your
+plugin files from filename_pi.php to filename_helper.php, move them to
+your helpers folder, and change all instances of::
+
+ $this->load->plugin('foo');
+
+to ::
+
+ $this->load->helper('foo');
+
+
+Step 4: Update stored encrypted data
+====================================
+
+.. note:: If your application does not use the Encryption library, does
+ not store Encrypted data permanently, or is on an environment that does
+ not support Mcrypt, you may skip this step.
+
+The Encryption library has had a number of improvements, some for
+encryption strength and some for performance, that has an unavoidable
+consequence of making it no longer possible to decode encrypted data
+produced by the original version of this library. To help with the
+transition, a new method has been added, encode_from_legacy() that
+will decode the data with the original algorithm and return a re-encoded
+string using the improved methods. This will enable you to easily
+replace stale encrypted data with fresh in your applications, either on
+the fly or en masse.
+
+Please read `how to use this
+method <../libraries/encryption.html#legacy>`_ in the Encryption library
+documentation.
+
+Step 5: Remove loading calls for the compatibility helper.
+==========================================================
+
+The compatibility helper has been removed from the CodeIgniter core. All
+methods in it should be natively available in supported PHP versions.
+
+Step 6: Update Class extension
+==============================
+
+All core classes are now prefixed with CI\_. Update Models and
+Controllers to extend CI_Model and CI_Controller, respectively.
+
+Step 7: Update Parent Constructor calls
+=======================================
+
+All native CodeIgniter classes now use the PHP 5 \__construct()
+convention. Please update extended libraries to call
+parent::\__construct().
+
+Step 8: Update your user guide
+==============================
+
+Please replace your local copy of the user guide with the new version,
+including the image files.