<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.sandbox.joomla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=AmyStephen</id>
	<title>Joomla! Documentation - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.sandbox.joomla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=AmyStephen"/>
	<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/Special:Contributions/AmyStephen"/>
	<updated>2026-10-06T10:21:11Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J3.x:The_reCaptcha_function_has_been_temporarily_disabled_for_Joomla_3.2&amp;diff=104838</id>
		<title>J3.x:The reCaptcha function has been temporarily disabled for Joomla 3.2</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J3.x:The_reCaptcha_function_has_been_temporarily_disabled_for_Joomla_3.2&amp;diff=104838"/>
		<updated>2013-11-09T00:24:15Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: /* How to fix */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Error Message: The mail function has been temporarily disabled on this site&lt;br /&gt;
&lt;br /&gt;
== What is the cause ==&lt;br /&gt;
Google [changed the reCAPTCHA URL](https://groups.google.com/forum/#!topic/recaptcha/V7qswqBnA1o)&lt;br /&gt;
&lt;br /&gt;
== How to fix ==&lt;br /&gt;
&lt;br /&gt;
For v 3.2, go to plugins/captcha/recaptcha/recaptcha.php and change:&lt;br /&gt;
:- line 22 to the new RECAPTCHA_API_SERVER URL of &#039;http://www.google.com/recaptcha/api&#039;&lt;br /&gt;
:- line 24 to the new RECAPTCHA_VERIFY_SERVER URL of &#039;www.google.com&#039;&lt;br /&gt;
:- line 129 to the new RECAPTCHA_VERIFY_SERVER value of &#039;/recaptcha/api/verify&#039;&lt;br /&gt;
&lt;br /&gt;
See the change in the next patch: https://github.com/SniperSister/joomla-cms/commit/01e3c84d653c4331f7e11c85aa605426c00bbf6a&lt;br /&gt;
&lt;br /&gt;
This fix will be included in the next release.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Version 3.2.0 FAQ]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Please_first_make_a_selection_from_the_list&amp;diff=64545</id>
		<title>Please first make a selection from the list</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Please_first_make_a_selection_from_the_list&amp;diff=64545"/>
		<updated>2012-01-28T18:37:49Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: /* Extension Developers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This error message manifests on Administrator Forms for many non-core extensions even when an item has been selected. &lt;br /&gt;
&lt;br /&gt;
This backwards compatibility error will be fixed in core for 2.5.1.&lt;br /&gt;
&lt;br /&gt;
==Temporary Workaround==&lt;br /&gt;
&lt;br /&gt;
Install the plugin from this forum item [http://forum.joomla.org/viewtopic.php?f=625&amp;amp;t=691865]&lt;br /&gt;
&lt;br /&gt;
==Extension Developers==&lt;br /&gt;
To address this problem now so that your users do not have to wait for a core fix, update your Administrator forms and change name=&amp;quot;adminForm&amp;quot; to id=&amp;quot;adminForm&amp;quot;. If backwards compatibility is required, simply use both values in the form definition. In future releases, Joomla will only support id=&amp;quot;adminForm&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Patch==&lt;br /&gt;
A [http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;amp;tracker_item_id=27880 patch has been created] to fix the backwards compatibility in 2.5.1&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 2.5 FAQ]]&lt;br /&gt;
[[Category:Version 2.5.0 FAQ]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Please_first_make_a_selection_from_the_list&amp;diff=64544</id>
		<title>Please first make a selection from the list</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Please_first_make_a_selection_from_the_list&amp;diff=64544"/>
		<updated>2012-01-28T18:37:36Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: /* Temporary Workaround */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This error message manifests on Administrator Forms for many non-core extensions even when an item has been selected. &lt;br /&gt;
&lt;br /&gt;
This backwards compatibility error will be fixed in core for 2.5.1.&lt;br /&gt;
&lt;br /&gt;
==Temporary Workaround==&lt;br /&gt;
&lt;br /&gt;
Install the plugin from this forum item [http://forum.joomla.org/viewtopic.php?f=625&amp;amp;t=691865]&lt;br /&gt;
&lt;br /&gt;
==Extension Developers==&lt;br /&gt;
* To address this problem now so that your users do not have to wait for a core fix, update your Administrator forms and change name=&amp;quot;adminForm&amp;quot; to id=&amp;quot;adminForm&amp;quot;. If backwards compatibility is required, simply use both values in the form definition. In future releases, Joomla will only support id=&amp;quot;adminForm&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Patch==&lt;br /&gt;
A [http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;amp;tracker_item_id=27880 patch has been created] to fix the backwards compatibility in 2.5.1&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 2.5 FAQ]]&lt;br /&gt;
[[Category:Version 2.5.0 FAQ]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Please_first_make_a_selection_from_the_list&amp;diff=64543</id>
		<title>Please first make a selection from the list</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Please_first_make_a_selection_from_the_list&amp;diff=64543"/>
		<updated>2012-01-28T18:37:03Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: /* Temporary Workaround */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This error message manifests on Administrator Forms for many non-core extensions even when an item has been selected. &lt;br /&gt;
&lt;br /&gt;
This backwards compatibility error will be fixed in core for 2.5.1.&lt;br /&gt;
&lt;br /&gt;
==Temporary Workaround==&lt;br /&gt;
&lt;br /&gt;
* Install the plugin from this forum item [http://forum.joomla.org/viewtopic.php?f=625&amp;amp;t=691865]&lt;br /&gt;
&lt;br /&gt;
==Extension Developers==&lt;br /&gt;
* To address this problem now so that your users do not have to wait for a core fix, update your Administrator forms and change name=&amp;quot;adminForm&amp;quot; to id=&amp;quot;adminForm&amp;quot;. If backwards compatibility is required, simply use both values in the form definition. In future releases, Joomla will only support id=&amp;quot;adminForm&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Patch==&lt;br /&gt;
A [http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;amp;tracker_item_id=27880 patch has been created] to fix the backwards compatibility in 2.5.1&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 2.5 FAQ]]&lt;br /&gt;
[[Category:Version 2.5.0 FAQ]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Please_first_make_a_selection_from_the_list&amp;diff=64542</id>
		<title>Please first make a selection from the list</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Please_first_make_a_selection_from_the_list&amp;diff=64542"/>
		<updated>2012-01-28T18:36:50Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This error message manifests on Administrator Forms for many non-core extensions even when an item has been selected. &lt;br /&gt;
&lt;br /&gt;
This backwards compatibility error will be fixed in core for 2.5.1.&lt;br /&gt;
&lt;br /&gt;
==Temporary Workaround==&lt;br /&gt;
&lt;br /&gt;
* Install the plugin from this forum item [http://forum.joomla.org/viewtopic.php?f=625&amp;amp;t=691865], or&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Extension Developers==&lt;br /&gt;
* To address this problem now so that your users do not have to wait for a core fix, update your Administrator forms and change name=&amp;quot;adminForm&amp;quot; to id=&amp;quot;adminForm&amp;quot;. If backwards compatibility is required, simply use both values in the form definition. In future releases, Joomla will only support id=&amp;quot;adminForm&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Patch==&lt;br /&gt;
A [http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;amp;tracker_item_id=27880 patch has been created] to fix the backwards compatibility in 2.5.1&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 2.5 FAQ]]&lt;br /&gt;
[[Category:Version 2.5.0 FAQ]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Archived:Creating_a_Custom_404_Error&amp;diff=64302</id>
		<title>Archived:Creating a Custom 404 Error</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Archived:Creating_a_Custom_404_Error&amp;diff=64302"/>
		<updated>2012-01-15T03:52:09Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This tutorial will show you how to create a custom 404 Error Page for use in your Joomla 1.5 Web Site.&lt;br /&gt;
&lt;br /&gt;
== Four Steps to Creating a Custom 404 Error Page ==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Create an Uncategorized &#039;404&#039; Article&#039;&#039;&#039;&lt;br /&gt;
#: Create an &#039;uncategorized&#039; article in Joomla! to serve as your 404 Page.  Include some text such as &#039;&#039;Sorry, we could not find the page you were looking for...&#039;&#039; and if necessary, also any useful navigational links.  For example, you may wish to add a link back to your site&#039;s home page.&lt;br /&gt;
# &#039;&#039;&#039;Create and copy a link to that new 404 Article.&#039;&#039;&#039;&lt;br /&gt;
#: Create a menu item which links to the new 404 Article and &#039;apply&#039; your changes.  Then copy the URL information (index.php?optio...), set the menu item as &#039;unpublished&#039; and close out of the menu editing page.  You may want to paste the copied URL into Notepad or somewhere accessible for the time-being.&lt;br /&gt;
# &#039;&#039;&#039;Copy error.php to your Template&#039;s Directory&#039;&#039;&#039;&lt;br /&gt;
#: In your Joomla! installation copy the file error.php from the templates/system directory, to your Template directory.  For example, if I was using a template named &#039;Cleancloud&#039; I would copy the error.php file to the templates/cleancloud directory.&lt;br /&gt;
# &#039;&#039;&#039;Modify error.php to Redirect 404 Errors to your 404 Article   &#039;&#039;&#039; &lt;br /&gt;
#: Edit the error.php file as follows, adding the code below immediately under the &#039;restricted access&#039; line:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
if (($this-&amp;gt;error-&amp;gt;code) == &#039;404&#039;) {&lt;br /&gt;
header(&#039;Location: /index.php?option=com_content&amp;amp;view=article&amp;amp;id=75&#039;);&lt;br /&gt;
exit;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
If you are using Joomla 1.6/1.7, use this detection code instead:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
if (($this-&amp;gt;error-&amp;gt;getCode()) == &#039;404&#039;) {&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
::: Replace the location information (index.php?option..) with the URL from the menu item you created.&lt;br /&gt;
&lt;br /&gt;
== Additional Steps toward a Better Custom 404 Error Page ==&lt;br /&gt;
&lt;br /&gt;
* Add the following line to the robots.txt file located in the root directory of your Joomla! installation.&lt;br /&gt;
*: &amp;lt;code&amp;gt;Disallow: /index.php?option=com_content&amp;amp;view=article&amp;amp;id=75&amp;lt;/code&amp;gt;&lt;br /&gt;
* Replacing the (index.php?option..) location with your 404 Article URL.&lt;br /&gt;
* Follow the Best-Practices described here:  http://www.alistapart.com/articles/perfect404/&lt;br /&gt;
* Be creative, add a [http://www.geekhaiku.com/tag/404/ 404 Haiku] or maybe an [http://www.smashingmagazine.com/2007/08/17/404-error-pages-reloaded Interesting Photo]&lt;br /&gt;
&lt;br /&gt;
== More Custom Error Page Information ==&lt;br /&gt;
&lt;br /&gt;
* [[Custom_error_pages|Custom Error Pages]]&lt;br /&gt;
* [[System_error_pages|System Error Pages]]&lt;br /&gt;
* [http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html HTTP/1.1 Status Code Definitions]&lt;br /&gt;
* [http://www.google.com/support/webmasters/bin/answer.py?answer=83040&amp;amp;topic=8474 Google Webmaster - Analyzing Crawl Errors]&lt;br /&gt;
&lt;br /&gt;
[[Category:Management]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Upgrading_1.6.5_to_1.7&amp;diff=60962</id>
		<title>Upgrading 1.6.5 to 1.7</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Upgrading_1.6.5_to_1.7&amp;diff=60962"/>
		<updated>2011-07-20T23:32:42Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: Reverted edits by Mvangeest (talk) to last revision by AmyStephen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{JVer|1.6}}{{JVer|1.7}}&lt;br /&gt;
&lt;br /&gt;
Joomla! 1.7 introduces a [[#Quick_Update | Quick Update]] for sites already up-to-date with Joomla 1.6.5.&lt;br /&gt;
&lt;br /&gt;
If your site is not already at 1.6.5, or you prefer not to use the [[#Quick_Update | Quick Update]], there are several other options:&lt;br /&gt;
&lt;br /&gt;
* [[#Installation_Manager | Traditional Update using the Installation Manager]]&lt;br /&gt;
* [[Upgrading 1.6 from an existing 1.6x version|Sites on 1.6, but not on 1.6.5]]&lt;br /&gt;
* [[#Manual_Upload.2FInstallation | Manual Update for 1.6.5]]&lt;br /&gt;
* [[Migrating from Joomla 1.5 to Joomla_1.6+]]&lt;br /&gt;
&lt;br /&gt;
== Quick Update ==&lt;br /&gt;
&lt;br /&gt;
For sites already up-to-date running Joomla 1.6.5, upgrading to Joomla 1.7 is now very easy.&lt;br /&gt;
&lt;br /&gt;
Before you begin:&lt;br /&gt;
&lt;br /&gt;
* Check that all installed extensions are compatible with Joomla 1.7 by checking the JED Listing or developer site.&lt;br /&gt;
&lt;br /&gt;
* [[Backup | Backup]] the website files and database.&lt;br /&gt;
&lt;br /&gt;
1. In the Administrator, select the &#039;&#039;&#039;Extensions-Extensions Manager&#039;&#039;&#039; Menu item. &lt;br /&gt;
&lt;br /&gt;
[[Image:1-Extensions-ExtensionManager.png]]&lt;br /&gt;
&lt;br /&gt;
2. Click the &#039;&#039;&#039;Update&#039;&#039;&#039; Sub menu.&lt;br /&gt;
&lt;br /&gt;
[[Image:2-Extension-Update.png]]&lt;br /&gt;
&lt;br /&gt;
3. Click the &#039;&#039;&#039;Purge Cache&#039;&#039;&#039;, then &#039;&#039;&#039;Find Updates&#039;&#039;&#039; Buttons in the Button Bar located in the upper right of the page.&lt;br /&gt;
&lt;br /&gt;
[[Image:3-Extension-Manager-Update.png]]&lt;br /&gt;
&lt;br /&gt;
4. Click the checkbox to the left of the Joomla line containing the latest Version Number and, next, press the Update Button in the Button Bar. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Be patient while the system downloads and replaces the necessary files.&#039;&#039;&#039; This can take several minutes or could update very quickly, depending on your system.&lt;br /&gt;
&lt;br /&gt;
[[Image:4-Update-Joomla.png]]&lt;br /&gt;
&lt;br /&gt;
5. When the update has finished, you will be presented with this page.&lt;br /&gt;
&lt;br /&gt;
[[Image:6-Final.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;That&#039;s it!&#039;&#039;&#039; Follow these simple instructions next time you upgrade. Now, it&#039;s to keep your Joomla website up-to-date and safe!&lt;br /&gt;
&lt;br /&gt;
==Installation Manager ==&lt;br /&gt;
&lt;br /&gt;
If you aren’t yet comfortable with using the Update Manager to update your site, you’re still ok!  There are more easy options to update your site.  The second method to update your Joomla! 1.6.5 site to 1.7.0 is to use the extension installer, just as if you were installing a component, module, plugin, or template in your site. This method is specially handy for users updating localized distributions made available by Language Communities.&lt;br /&gt;
&lt;br /&gt;
To update your site using this method, first, download the update package from JoomlaCode.  The 1.6.5 &amp;gt; 1.7.0 package can be found [http://joomlacode.org/gf/project/joomla/frs/?action=FrsReleaseBrowse&amp;amp;frs_package_id=5986 here].&lt;br /&gt;
&lt;br /&gt;
{{ambox|image=notice|style=notice|text=If you are not currently on Joomla! 1.6.5, use [[Upgrading 1.6 from an existing 1.6x version|this tutorial]] to update your site to 1.6.5, then resume the process of updating to 1.7}}&lt;br /&gt;
&lt;br /&gt;
After you download the update package, access your Joomla! installer by logging in to your adminstrator control panel, and navigating to the &#039;&#039;&#039;Extensions&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;Extension Manager&#039;&#039;&#039; option in your administrator menu.  From here you can select the file you just downloaded, and install it.  The Joomla! installer will upload the package, and install it, making any changes to files or the database as needed.&lt;br /&gt;
&lt;br /&gt;
== Manual Upload/Installation ==&lt;br /&gt;
&lt;br /&gt;
The last method available to update your site, involves a little more technical expertise, and should probably only be used if the previous methods won’t work due to a highly complex site or hosting issues (shared hosting for example). &#039;&#039;&#039; As usual back-up your site and your database.&#039;&#039;&#039; For most Joomla! sites, the first two methods will successfully update your site.  However, updating is still fairly easily, and should not be a problem.&lt;br /&gt;
&lt;br /&gt;
Before you begin, go to global configuration and on the server tab and in the Database Settings area find the database table prefix used by your site.&lt;br /&gt;
&lt;br /&gt;
To update your site manually, you will need to download the 1.6.5 &amp;gt; 1.7.0 update package from JoomlaCode.  You can download it [http://joomlacode.org/gf/project/joomla/frs/?action=FrsReleaseBrowse&amp;amp;frs_package_id=5986 here].  Unpack the package and you will find two zip files in it. You will only need the large zip file called &amp;lt;tt&amp;gt;Joomla_1.7.0-Stable-Update_Package.zip&amp;lt;/tt&amp;gt; for your update. Using an ftp client, upload the zip file to your server into the root directory of your website, and unpack the files.  This will over-write any modified files with new, updated files for 1.7.0.  Alternatively, you can unpack the &amp;lt;tt&amp;gt;Joomla_1.7.0-Stable-Update_Package.zip&amp;lt;/tt&amp;gt; on your local computer, then copy the un-packed files into your websites root, overwriting the modified files.&lt;br /&gt;
&lt;br /&gt;
After unpacking the files to your website you need to manually delete the files and folders listed in administrator/components/com_admin/script.php.&lt;br /&gt;
&lt;br /&gt;
This is the list of files:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;/templates/atomic/css/blueprint/src/blueprintcss-0-9-1-cheatsheet-3-5-3-gjms.pdf&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/manifests/packages/joomla.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/css/rounded.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/css/norounded.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_corner_bl.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_right_rtl.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_right.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_left.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_corner_br.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_left_rtl.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_modules/module/modal.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_modules/module/edit_assignment.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_menus/item/edit_modules.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_menus/items/default_batch.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_languages/language/edit.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_content/article/edit_metadata.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_categories/category/edit_metadata.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_categories/categories/default_batch.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/components/com_menus/models/forms/item_options.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/language/overrides/xx-XX.override.ini&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/helpsites-16.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Content_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Weblinks_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Newsfeeds_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Banners_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Contact_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/codemirror/css/docs.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/tiny_mce_gzip.js&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/tiny_mce_gzip.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/media/css/content.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/mod_languages/images/ta.gif&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/libraries/joomla/config.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/libraries/joomla/import.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/libraries/joomla/version.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And these folders:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/authentication/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/user/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/content/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/extension/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_modules/select&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_media&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/mod_popular&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/mod_status&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/mod_latest&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/components/com_weblinks/helpers/html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/pagebreak/css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/pagebreak/img&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After you have done this you need to manually update your site&#039;s database. To do so locate the file &amp;lt;tt&amp;gt;installation/sql/mysql/joomla_update_17ga.sql&amp;lt;/tt&amp;gt;, or the files &amp;lt;tt&amp;gt;/administrator/components/com_admin/sql/updates/mysql/1.7.0-2011-06-06.sql and administrator/components/com_admin/sql/updates/mysql/1.7.0-2011-06-06-2.sql&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
As of July 16th 2011 the file(s) contains:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;ALTER TABLE `#__languages` ADD COLUMN `ordering` int(11) NOT NULL default 0 AFTER `published`;&lt;br /&gt;
ALTER TABLE `#__languages` ADD INDEX `idx_ordering` (`ordering`);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;CREATE TABLE IF NOT EXISTS `#__associations` (&lt;br /&gt;
  `id` VARCHAR(50) NOT NULL COMMENT &#039;A reference to the associated item.&#039;,&lt;br /&gt;
  `context` VARCHAR(50) NOT NULL COMMENT &#039;The context of the associated item.&#039;,&lt;br /&gt;
  `key` CHAR(32) NOT NULL COMMENT &#039;The key for the association computed from an md5 on associated ids.&#039;,&lt;br /&gt;
  PRIMARY KEY `idx_context_id` (`context`, `id`),&lt;br /&gt;
  INDEX `idx_key` (`key`)&lt;br /&gt;
) DEFAULT CHARSET=utf8;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inside you will find parts like &amp;lt;code&amp;gt;#__languages&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;#__associations&amp;lt;/code&amp;gt;. Replace the pound sign and the first underscore (&amp;lt;code&amp;gt;#_&amp;lt;/code&amp;gt;) with your [[Database Table Prefix|database tables prefix]]. By default this is &amp;lt;code&amp;gt;jos&amp;lt;/code&amp;gt;. If you didn&#039;t get the prefix before starting, open your site&#039;s &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt; and search for &amp;lt;code&amp;gt;$dbprefix&amp;lt;/code&amp;gt;. The string inside the single quotes behind it is what you&#039;re looking for. So you need to change &amp;lt;code&amp;gt;#__languages&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;jos_languages&amp;lt;/code&amp;gt; and so on.&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve done this go to your site&#039;s phpmyadmin (or any way you usually manage your database) and open the database your site uses. There will be a tab called SQL, open this. Paste the content of your modified &amp;lt;tt&amp;gt;joomla_update_17ga.sql&amp;lt;/tt&amp;gt; inside the text area and press go.&lt;br /&gt;
&lt;br /&gt;
Your site is now updated to Joomla 1.7.&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 1.6]]&lt;br /&gt;
[[Category:Joomla! 1.7]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=1.7.0_List_of_API_Changes&amp;diff=60946</id>
		<title>1.7.0 List of API Changes</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=1.7.0_List_of_API_Changes&amp;diff=60946"/>
		<updated>2011-07-20T13:06:09Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;1.7.0 is a point release that includes a number of API changes. &lt;br /&gt;
&lt;br /&gt;
In some cases, developers must modify their Extensions to work with this release. A [http://docs.joomla.org/Potential_backward_compatibility_issues_in_Joomla_1.7_and_Joomla_Platform_11.1 list of those changes is available] to help developers with the migration.&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 1.7.0 FAQ]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=1.7.0_List_of_API_Changes&amp;diff=60945</id>
		<title>1.7.0 List of API Changes</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=1.7.0_List_of_API_Changes&amp;diff=60945"/>
		<updated>2011-07-20T13:01:13Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;1.7.0 is a point release that includes a number of API changes. &lt;br /&gt;
&lt;br /&gt;
In some cases, developers must modify their Extensions to work with this release. A [http://docs.joomla.org/Potential_backward_compatibility_issues_in_Joomla_1.7_and_Joomla_Platform_11.1 |list of those changes is available] to help developers with the migration.&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 1.7.0 FAQ]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=1.7.0_List_of_API_Changes&amp;diff=60944</id>
		<title>1.7.0 List of API Changes</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=1.7.0_List_of_API_Changes&amp;diff=60944"/>
		<updated>2011-07-20T13:00:18Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: Created page with &amp;quot;1.7.0 is a point release that includes a number of API changes.   In some cases, developers must modify their Extensions to work with this release. A [[http://docs.joomla.org/Pot...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;1.7.0 is a point release that includes a number of API changes. &lt;br /&gt;
&lt;br /&gt;
In some cases, developers must modify their Extensions to work with this release. A [[http://docs.joomla.org/Potential_backward_compatibility_issues_in_Joomla_1.7_and_Joomla_Platform_11.1 |list of those changes is available] to help developers with the migration.&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 1.7.0 FAQ]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Upgrading_1.6.5_to_1.7&amp;diff=60943</id>
		<title>Upgrading 1.6.5 to 1.7</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Upgrading_1.6.5_to_1.7&amp;diff=60943"/>
		<updated>2011-07-20T11:55:07Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: /* Quick Update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{JVer|1.6}}{{JVer|1.7}}&lt;br /&gt;
&lt;br /&gt;
Joomla! 1.7 introduces a [[#Quick_Update | Quick Update]] for sites already up-to-date with Joomla 1.6.5.&lt;br /&gt;
&lt;br /&gt;
If your site is not already at 1.6.5, or you prefer not to use the [[#Quick_Update | Quick Update]], there are several other options:&lt;br /&gt;
&lt;br /&gt;
* [[#Installation_Manager | Traditional Update using the Installation Manager]]&lt;br /&gt;
* [[Upgrading 1.6 from an existing 1.6x version|Sites on 1.6, but not on 1.6.5]]&lt;br /&gt;
* [[#Manual_Upload.2FInstallation | Manual Update for 1.6.5]]&lt;br /&gt;
* [[Migrating from Joomla 1.5 to Joomla_1.6+]]&lt;br /&gt;
&lt;br /&gt;
== Quick Update ==&lt;br /&gt;
&lt;br /&gt;
For sites already up-to-date running Joomla 1.6.5, upgrading to Joomla 1.7 is now very easy.&lt;br /&gt;
&lt;br /&gt;
Before you begin:&lt;br /&gt;
&lt;br /&gt;
* Check that all installed extensions are compatible with Joomla 1.7 by checking the JED Listing or developer site.&lt;br /&gt;
&lt;br /&gt;
* [[Backup | Backup]] the website files and database.&lt;br /&gt;
&lt;br /&gt;
1. In the Administrator, select the &#039;&#039;&#039;Extensions-Extensions Manager&#039;&#039;&#039; Menu item. &lt;br /&gt;
&lt;br /&gt;
[[Image:1-Extensions-ExtensionManager.png]]&lt;br /&gt;
&lt;br /&gt;
2. Click the &#039;&#039;&#039;Update&#039;&#039;&#039; Sub menu.&lt;br /&gt;
&lt;br /&gt;
[[Image:2-Extension-Update.png]]&lt;br /&gt;
&lt;br /&gt;
3. Click the &#039;&#039;&#039;Purge Cache&#039;&#039;&#039;, then &#039;&#039;&#039;Find Updates&#039;&#039;&#039; Buttons in the Button Bar located in the upper right of the page.&lt;br /&gt;
&lt;br /&gt;
[[Image:3-Extension-Manager-Update.png]]&lt;br /&gt;
&lt;br /&gt;
4. Click the checkbox to the left of the Joomla line containing the latest Version Number and, next, press the Update Button in the Button Bar. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Be patient while the system downloads and replaces the necessary files.&#039;&#039;&#039; This can take several minutes or could update very quickly, depending on your system.&lt;br /&gt;
&lt;br /&gt;
[[Image:4-Update-Joomla.png]]&lt;br /&gt;
&lt;br /&gt;
5. When the update has finished, you will be presented with this page.&lt;br /&gt;
&lt;br /&gt;
[[Image:6-Final.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;That&#039;s it!&#039;&#039;&#039; Follow these simple instructions next time you upgrade. Now, it&#039;s to keep your Joomla website up-to-date and safe!&lt;br /&gt;
&lt;br /&gt;
==Installation Manager ==&lt;br /&gt;
&lt;br /&gt;
If you aren’t yet comfortable with using the Update Manager to update your site, you’re still ok!  There are more easy options to update your site.  The second method to update your Joomla! 1.6.5 site to 1.7.0 is to use the extension installer, just as if you were installing a component, module, plugin, or template in your site. This method is specially handy for users updating localized distributions made available by Language Communities.&lt;br /&gt;
&lt;br /&gt;
To update your site using this method, first, download the update package from JoomlaCode.  The 1.6.5 &amp;gt; 1.7.0 package can be found [http://joomlacode.org/gf/project/joomla/frs/?action=FrsReleaseBrowse&amp;amp;frs_package_id=5986 here].&lt;br /&gt;
&lt;br /&gt;
{{ambox|image=notice|style=notice|text=If you are not currently on Joomla! 1.6.5, use [[Upgrading 1.6 from an existing 1.6x version|this tutorial]] to update your site to 1.6.5, then resume the process of updating to 1.7}}&lt;br /&gt;
&lt;br /&gt;
After you download the update package, access your Joomla! installer by logging in to your adminstrator control panel, and navigating to the &#039;&#039;&#039;Extensions&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;Extension Manager&#039;&#039;&#039; option in your administrator menu.  From here you can select the file you just downloaded, and install it.  The Joomla! installer will upload the package, and install it, making any changes to files or the database as needed.&lt;br /&gt;
&lt;br /&gt;
== Manual Upload/Installation ==&lt;br /&gt;
&lt;br /&gt;
The last method available to update your site, involves a little more technical expertise, and should probably only be used if the previous methods won’t work due to a highly complex site or hosting issues (shared hosting for example). &#039;&#039;&#039; As usual back-up your site and your database.&#039;&#039;&#039; For most Joomla! sites, the first two methods will successfully update your site.  However, updating is still fairly easily, and should not be a problem.&lt;br /&gt;
&lt;br /&gt;
Before you begin, go to global configuration and on the server tab and in the Database Settings area find the database table prefix used by your site.&lt;br /&gt;
&lt;br /&gt;
To update your site manually, you will need to download the 1.6.5 &amp;gt; 1.7.0 update package from JoomlaCode.  You can download it [http://joomlacode.org/gf/project/joomla/frs/?action=FrsReleaseBrowse&amp;amp;frs_package_id=5986 here].  Unpack the package and you will find two zip files in it. You will only need the large zip file called &amp;lt;tt&amp;gt;Joomla_1.7.0-Stable-Update_Package.zip&amp;lt;/tt&amp;gt; for your update. Using an ftp client, upload the zip file to your server into the root directory of your website, and unpack the files.  This will over-write any modified files with new, updated files for 1.7.0.  Alternatively, you can unpack the &amp;lt;tt&amp;gt;Joomla_1.7.0-Stable-Update_Package.zip&amp;lt;/tt&amp;gt; on your local computer, then copy the un-packed files into your websites root, overwriting the modified files.&lt;br /&gt;
&lt;br /&gt;
After unpacking the files to your website you need to manually delete the files and folders listed in administrator/components/com_admin/script.php.&lt;br /&gt;
&lt;br /&gt;
This is the list of files:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;/templates/atomic/css/blueprint/src/blueprintcss-0-9-1-cheatsheet-3-5-3-gjms.pdf&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/manifests/packages/joomla.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/css/rounded.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/css/norounded.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_corner_bl.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_right_rtl.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_right.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_left.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_corner_br.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_left_rtl.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_modules/module/modal.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_modules/module/edit_assignment.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_menus/item/edit_modules.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_menus/items/default_batch.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_languages/language/edit.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_content/article/edit_metadata.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_categories/category/edit_metadata.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_categories/categories/default_batch.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/components/com_menus/models/forms/item_options.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/language/overrides/xx-XX.override.ini&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/helpsites-16.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Content_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Weblinks_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Newsfeeds_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Banners_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Contact_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/codemirror/css/docs.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/tiny_mce_gzip.js&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/tiny_mce_gzip.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/media/css/content.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/mod_languages/images/ta.gif&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/libraries/joomla/config.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/libraries/joomla/import.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/libraries/joomla/version.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And these folders:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/authentication/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/user/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/content/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/extension/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_modules/select&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_media&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/mod_popular&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/mod_status&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/mod_latest&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/components/com_weblinks/helpers/html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/pagebreak/css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/pagebreak/img&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After you have done this you need to manually update your site&#039;s database. To do so locate the file &amp;lt;tt&amp;gt;installation/sql/mysql/joomla_update_17ga.sql&amp;lt;/tt&amp;gt;, or the files &amp;lt;tt&amp;gt;/administrator/components/com_admin/sql/updates/mysql/1.7.0-2011-06-06.sql and administrator/components/com_admin/sql/updates/mysql/1.7.0-2011-06-06-2.sql&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
As of July 16th 2011 the file(s) contains:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;ALTER TABLE `#__languages` ADD COLUMN `ordering` int(11) NOT NULL default 0 AFTER `published`;&lt;br /&gt;
ALTER TABLE `#__languages` ADD INDEX `idx_ordering` (`ordering`);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;CREATE TABLE IF NOT EXISTS `#__associations` (&lt;br /&gt;
  `id` VARCHAR(50) NOT NULL COMMENT &#039;A reference to the associated item.&#039;,&lt;br /&gt;
  `context` VARCHAR(50) NOT NULL COMMENT &#039;The context of the associated item.&#039;,&lt;br /&gt;
  `key` CHAR(32) NOT NULL COMMENT &#039;The key for the association computed from an md5 on associated ids.&#039;,&lt;br /&gt;
  PRIMARY KEY `idx_context_id` (`context`, `id`),&lt;br /&gt;
  INDEX `idx_key` (`key`)&lt;br /&gt;
) DEFAULT CHARSET=utf8;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inside you will find parts like &amp;lt;code&amp;gt;#__languages&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;#__associations&amp;lt;/code&amp;gt;. Replace the pound sign and the first underscore (&amp;lt;code&amp;gt;#_&amp;lt;/code&amp;gt;) with your [[Database Table Prefix|database tables prefix]]. By default this is &amp;lt;code&amp;gt;jos&amp;lt;/code&amp;gt;. If you didn&#039;t get the prefix before starting, open your site&#039;s &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt; and search for &amp;lt;code&amp;gt;$dbprefix&amp;lt;/code&amp;gt;. The string inside the single quotes behind it is what you&#039;re looking for. So you need to change &amp;lt;code&amp;gt;#__languages&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;jos_languages&amp;lt;/code&amp;gt; and so on.&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve done this go to your site&#039;s phpmyadmin (or any way you usually manage your database) and open the database your site uses. There will be a tab called SQL, open this. Paste the content of your modified &amp;lt;tt&amp;gt;joomla_update_17ga.sql&amp;lt;/tt&amp;gt; inside the text area and press go.&lt;br /&gt;
&lt;br /&gt;
Your site is now updated to Joomla 1.7.&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 1.6]]&lt;br /&gt;
[[Category:Joomla! 1.7]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Upgrading_1.6.5_to_1.7&amp;diff=60937</id>
		<title>Upgrading 1.6.5 to 1.7</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Upgrading_1.6.5_to_1.7&amp;diff=60937"/>
		<updated>2011-07-19T21:50:55Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{JVer|1.6}}{{JVer|1.7}}&lt;br /&gt;
&lt;br /&gt;
Joomla! 1.7 introduces a [[#Quick_Update | Quick Update]] for sites already up-to-date with Joomla 1.6.5.&lt;br /&gt;
&lt;br /&gt;
If your site is not already at 1.6.5, or you prefer not to use the [[#Quick_Update | Quick Update]], there are several other options:&lt;br /&gt;
&lt;br /&gt;
* [[#Installation_Manager | Traditional Update using the Installation Manager]]&lt;br /&gt;
* [[Upgrading 1.6 from an existing 1.6x version|Sites on 1.6, but not on 1.6.5]]&lt;br /&gt;
* [[#Manual_Upload.2FInstallation | Manual Update for 1.6.5]]&lt;br /&gt;
* [[Migrating from Joomla 1.5 to Joomla_1.6+]]&lt;br /&gt;
&lt;br /&gt;
== Quick Update ==&lt;br /&gt;
&lt;br /&gt;
For sites already up-to-date running Joomla 1.6.5, upgrading to Joomla 1.7 is now very easy.&lt;br /&gt;
&lt;br /&gt;
Before you begin, [[Backup | backup]] your website files and database. &#039;&#039;&#039;This is important&#039;&#039;&#039;. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
[[Image:1-Extensions-ExtensionManager.png]]&lt;br /&gt;
&lt;br /&gt;
1. In the Administrator, select the &#039;&#039;&#039;Extensions-Extensions Manager&#039;&#039;&#039; Menu item.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:2-Extension-Update.png]]&lt;br /&gt;
&lt;br /&gt;
2. Click the &#039;&#039;&#039;Update&#039;&#039;&#039; Sub menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:3-Extension-Manager-Update.png]]&lt;br /&gt;
&lt;br /&gt;
3. Click the &#039;&#039;&#039;Purge Cache&#039;&#039;&#039;, then &#039;&#039;&#039;Find Updates&#039;&#039;&#039; Buttons in the Button Bar located in the upper right of the page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:4-Update-Joomla.png]]&lt;br /&gt;
&lt;br /&gt;
4. Click the checkbox to the left of the Joomla line containing the latest Version Number and, next, press the Update Button in the Button Bar. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Be patient while the system downloads and replaces the necessary files.&#039;&#039;&#039; This can take several minutes or could update very quickly, depending on your system.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:6-Final.png]]&lt;br /&gt;
&lt;br /&gt;
5. When the update has finished, you will be presented with this page.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;That&#039;s it!&#039;&#039;&#039; Follow these simple instructions next time you upgrade. Now, it&#039;s to keep your Joomla website up-to-date and safe!&lt;br /&gt;
&lt;br /&gt;
==Installation Manager ==&lt;br /&gt;
&lt;br /&gt;
If you aren’t yet comfortable with using the Update Manager to update your site, you’re still ok!  There are more easy options to update your site.  The second method to update your Joomla! 1.6.5 site to 1.7.0 is to use the extension installer, just as if you were installing a component, module, plugin, or template in your site. This method is specially handy for users updating localized distributions made available by Language Communities.&lt;br /&gt;
&lt;br /&gt;
To update your site using this method, first, download the update package from JoomlaCode.  The 1.6.5 &amp;gt; 1.7.0 package can be found [http://joomlacode.org/gf/project/joomla/frs/?action=FrsReleaseBrowse&amp;amp;frs_package_id=5986 here].&lt;br /&gt;
&lt;br /&gt;
{{ambox|image=notice|style=notice|text=If you are not currently on Joomla! 1.6.5, use [[Upgrading 1.6 from an existing 1.6x version|this tutorial]] to update your site to 1.6.5, then resume the process of updating to 1.7}}&lt;br /&gt;
&lt;br /&gt;
After you download the update package, access your Joomla! installer by logging in to your adminstrator control panel, and navigating to the &#039;&#039;&#039;Extensions&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;Extension Manager&#039;&#039;&#039; option in your administrator menu.  From here you can select the file you just downloaded, and install it.  The Joomla! installer will upload the package, and install it, making any changes to files or the database as needed.&lt;br /&gt;
&lt;br /&gt;
== Manual Upload/Installation ==&lt;br /&gt;
&lt;br /&gt;
The last method available to update your site, involves a little more technical expertise, and should probably only be used if the previous methods won’t work due to a highly complex site or hosting issues (shared hosting for example). &#039;&#039;&#039; As usual back-up your site and your database.&#039;&#039;&#039; For most Joomla! sites, the first two methods will successfully update your site.  However, updating is still fairly easily, and should not be a problem.&lt;br /&gt;
&lt;br /&gt;
Before you begin, go to global configuration and on the server tab and in the Database Settings area find the database table prefix used by your site.&lt;br /&gt;
&lt;br /&gt;
To update your site manually, you will need to download the 1.6.5 &amp;gt; 1.7.0 update package from JoomlaCode.  You can download it [http://joomlacode.org/gf/project/joomla/frs/?action=FrsReleaseBrowse&amp;amp;frs_package_id=5986 here].  Unpack the package and you will find two zip files in it. You will only need the large zip file called &amp;lt;tt&amp;gt;Joomla_1.7.0-Stable-Update_Package.zip&amp;lt;/tt&amp;gt; for your update. Using an ftp client, upload the zip file to your server into the root directory of your website, and unpack the files.  This will over-write any modified files with new, updated files for 1.7.0.  Alternatively, you can unpack the &amp;lt;tt&amp;gt;Joomla_1.7.0-Stable-Update_Package.zip&amp;lt;/tt&amp;gt; on your local computer, then copy the un-packed files into your websites root, overwriting the modified files.&lt;br /&gt;
&lt;br /&gt;
After unpacking the files to your website you need to manually delete the files and folders listed in administrator/components/com_admin/script.php.&lt;br /&gt;
&lt;br /&gt;
This is the list of files:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;/templates/atomic/css/blueprint/src/blueprintcss-0-9-1-cheatsheet-3-5-3-gjms.pdf&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/manifests/packages/joomla.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/css/rounded.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/css/norounded.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_corner_bl.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_right_rtl.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_right.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_left.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_corner_br.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_left_rtl.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_modules/module/modal.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_modules/module/edit_assignment.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_menus/item/edit_modules.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_menus/items/default_batch.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_languages/language/edit.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_content/article/edit_metadata.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_categories/category/edit_metadata.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_categories/categories/default_batch.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/components/com_menus/models/forms/item_options.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/language/overrides/xx-XX.override.ini&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/helpsites-16.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Content_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Weblinks_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Newsfeeds_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Banners_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Contact_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/codemirror/css/docs.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/tiny_mce_gzip.js&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/tiny_mce_gzip.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/media/css/content.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/mod_languages/images/ta.gif&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/libraries/joomla/config.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/libraries/joomla/import.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/libraries/joomla/version.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And these folders:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/authentication/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/user/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/content/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/extension/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_modules/select&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_media&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/mod_popular&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/mod_status&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/mod_latest&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/components/com_weblinks/helpers/html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/pagebreak/css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/pagebreak/img&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After you have done this you need to manually update your site&#039;s database. To do so locate the file &amp;lt;tt&amp;gt;installation/sql/mysql/joomla_update_17ga.sql&amp;lt;/tt&amp;gt;, or the files &amp;lt;tt&amp;gt;/administrator/components/com_admin/sql/updates/mysql/1.7.0-2011-06-06.sql and administrator/components/com_admin/sql/updates/mysql/1.7.0-2011-06-06-2.sql&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
As of July 16th 2011 the file(s) contains:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;ALTER TABLE `#__languages` ADD COLUMN `ordering` int(11) NOT NULL default 0 AFTER `published`;&lt;br /&gt;
ALTER TABLE `#__languages` ADD INDEX `idx_ordering` (`ordering`);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;CREATE TABLE IF NOT EXISTS `#__associations` (&lt;br /&gt;
  `id` VARCHAR(50) NOT NULL COMMENT &#039;A reference to the associated item.&#039;,&lt;br /&gt;
  `context` VARCHAR(50) NOT NULL COMMENT &#039;The context of the associated item.&#039;,&lt;br /&gt;
  `key` CHAR(32) NOT NULL COMMENT &#039;The key for the association computed from an md5 on associated ids.&#039;,&lt;br /&gt;
  PRIMARY KEY `idx_context_id` (`context`, `id`),&lt;br /&gt;
  INDEX `idx_key` (`key`)&lt;br /&gt;
) DEFAULT CHARSET=utf8;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inside you will find parts like &amp;lt;code&amp;gt;#__languages&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;#__associations&amp;lt;/code&amp;gt;. Replace the pound sign and the first underscore (&amp;lt;code&amp;gt;#_&amp;lt;/code&amp;gt;) with your [[Database Table Prefix|database tables prefix]]. By default this is &amp;lt;code&amp;gt;jos&amp;lt;/code&amp;gt;. If you didn&#039;t get the prefix before starting, open your site&#039;s &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt; and search for &amp;lt;code&amp;gt;$dbprefix&amp;lt;/code&amp;gt;. The string inside the single quotes behind it is what you&#039;re looking for. So you need to change &amp;lt;code&amp;gt;#__languages&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;jos_languages&amp;lt;/code&amp;gt; and so on.&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve done this go to your site&#039;s phpmyadmin (or any way you usually manage your database) and open the database your site uses. There will be a tab called SQL, open this. Paste the content of your modified &amp;lt;tt&amp;gt;joomla_update_17ga.sql&amp;lt;/tt&amp;gt; inside the text area and press go.&lt;br /&gt;
&lt;br /&gt;
Your site is now updated to Joomla 1.7.&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 1.6]]&lt;br /&gt;
[[Category:Joomla! 1.7]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Upgrading_1.6.5_to_1.7&amp;diff=60936</id>
		<title>Upgrading 1.6.5 to 1.7</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Upgrading_1.6.5_to_1.7&amp;diff=60936"/>
		<updated>2011-07-19T21:49:53Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: /* Quick Update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{JVer|1.6}}{{JVer|1.7}}&lt;br /&gt;
&lt;br /&gt;
Joomla! 1.7 introduces a [[#Quick_Update | Quick Update]] for sites already up-to-date with Joomla 1.6.5.&lt;br /&gt;
&lt;br /&gt;
If your site is not already at 1.6.5, or you prefer not to use the [[Quick Update]], there are several other options:&lt;br /&gt;
&lt;br /&gt;
* [[#Installation_Manager | Traditional Update using the Installation Manager]]&lt;br /&gt;
* [[Upgrading 1.6 from an existing 1.6x version|Sites on 1.6, but not on 1.6.5]]&lt;br /&gt;
* [[#Manual_Upload.2FInstallation | Manual Update for 1.6.5]]&lt;br /&gt;
* [[Migrating from Joomla 1.5 to Joomla_1.6+]]&lt;br /&gt;
&lt;br /&gt;
== Quick Update ==&lt;br /&gt;
&lt;br /&gt;
For sites already up-to-date running Joomla 1.6.5, upgrading to Joomla 1.7 is now very easy.&lt;br /&gt;
&lt;br /&gt;
Before you begin, [[Backup | backup]] your website files and database. &#039;&#039;&#039;This is important&#039;&#039;&#039;. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
[[Image:1-Extensions-ExtensionManager.png]]&lt;br /&gt;
&lt;br /&gt;
1. In the Administrator, select the &#039;&#039;&#039;Extensions-Extensions Manager&#039;&#039;&#039; Menu item.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:2-Extension-Update.png]]&lt;br /&gt;
&lt;br /&gt;
2. Click the &#039;&#039;&#039;Update&#039;&#039;&#039; Sub menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:3-Extension-Manager-Update.png]]&lt;br /&gt;
&lt;br /&gt;
3. Click the &#039;&#039;&#039;Purge Cache&#039;&#039;&#039;, then &#039;&#039;&#039;Find Updates&#039;&#039;&#039; Buttons in the Button Bar located in the upper right of the page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:4-Update-Joomla.png]]&lt;br /&gt;
&lt;br /&gt;
4. Click the checkbox to the left of the Joomla line containing the latest Version Number and, next, press the Update Button in the Button Bar. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Be patient while the system downloads and replaces the necessary files.&#039;&#039;&#039; This can take several minutes or could update very quickly, depending on your system.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:6-Final.png]]&lt;br /&gt;
&lt;br /&gt;
5. When the update has finished, you will be presented with this page.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;That&#039;s it!&#039;&#039;&#039; Follow these simple instructions next time you upgrade. Now, it&#039;s to keep your Joomla website up-to-date and safe!&lt;br /&gt;
&lt;br /&gt;
==Installation Manager ==&lt;br /&gt;
&lt;br /&gt;
If you aren’t yet comfortable with using the Update Manager to update your site, you’re still ok!  There are more easy options to update your site.  The second method to update your Joomla! 1.6.5 site to 1.7.0 is to use the extension installer, just as if you were installing a component, module, plugin, or template in your site. This method is specially handy for users updating localized distributions made available by Language Communities.&lt;br /&gt;
&lt;br /&gt;
To update your site using this method, first, download the update package from JoomlaCode.  The 1.6.5 &amp;gt; 1.7.0 package can be found [http://joomlacode.org/gf/project/joomla/frs/?action=FrsReleaseBrowse&amp;amp;frs_package_id=5986 here].&lt;br /&gt;
&lt;br /&gt;
{{ambox|image=notice|style=notice|text=If you are not currently on Joomla! 1.6.5, use [[Upgrading 1.6 from an existing 1.6x version|this tutorial]] to update your site to 1.6.5, then resume the process of updating to 1.7}}&lt;br /&gt;
&lt;br /&gt;
After you download the update package, access your Joomla! installer by logging in to your adminstrator control panel, and navigating to the &#039;&#039;&#039;Extensions&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;Extension Manager&#039;&#039;&#039; option in your administrator menu.  From here you can select the file you just downloaded, and install it.  The Joomla! installer will upload the package, and install it, making any changes to files or the database as needed.&lt;br /&gt;
&lt;br /&gt;
== Manual Upload/Installation ==&lt;br /&gt;
&lt;br /&gt;
The last method available to update your site, involves a little more technical expertise, and should probably only be used if the previous methods won’t work due to a highly complex site or hosting issues (shared hosting for example). &#039;&#039;&#039; As usual back-up your site and your database.&#039;&#039;&#039; For most Joomla! sites, the first two methods will successfully update your site.  However, updating is still fairly easily, and should not be a problem.&lt;br /&gt;
&lt;br /&gt;
Before you begin, go to global configuration and on the server tab and in the Database Settings area find the database table prefix used by your site.&lt;br /&gt;
&lt;br /&gt;
To update your site manually, you will need to download the 1.6.5 &amp;gt; 1.7.0 update package from JoomlaCode.  You can download it [http://joomlacode.org/gf/project/joomla/frs/?action=FrsReleaseBrowse&amp;amp;frs_package_id=5986 here].  Unpack the package and you will find two zip files in it. You will only need the large zip file called &amp;lt;tt&amp;gt;Joomla_1.7.0-Stable-Update_Package.zip&amp;lt;/tt&amp;gt; for your update. Using an ftp client, upload the zip file to your server into the root directory of your website, and unpack the files.  This will over-write any modified files with new, updated files for 1.7.0.  Alternatively, you can unpack the &amp;lt;tt&amp;gt;Joomla_1.7.0-Stable-Update_Package.zip&amp;lt;/tt&amp;gt; on your local computer, then copy the un-packed files into your websites root, overwriting the modified files.&lt;br /&gt;
&lt;br /&gt;
After unpacking the files to your website you need to manually delete the files and folders listed in administrator/components/com_admin/script.php.&lt;br /&gt;
&lt;br /&gt;
This is the list of files:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;/templates/atomic/css/blueprint/src/blueprintcss-0-9-1-cheatsheet-3-5-3-gjms.pdf&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/manifests/packages/joomla.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/css/rounded.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/css/norounded.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_corner_bl.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_right_rtl.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_right.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_left.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_corner_br.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_left_rtl.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_modules/module/modal.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_modules/module/edit_assignment.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_menus/item/edit_modules.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_menus/items/default_batch.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_languages/language/edit.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_content/article/edit_metadata.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_categories/category/edit_metadata.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_categories/categories/default_batch.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/components/com_menus/models/forms/item_options.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/language/overrides/xx-XX.override.ini&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/helpsites-16.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Content_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Weblinks_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Newsfeeds_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Banners_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Contact_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/codemirror/css/docs.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/tiny_mce_gzip.js&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/tiny_mce_gzip.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/media/css/content.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/mod_languages/images/ta.gif&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/libraries/joomla/config.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/libraries/joomla/import.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/libraries/joomla/version.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And these folders:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/authentication/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/user/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/content/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/extension/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_modules/select&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_media&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/mod_popular&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/mod_status&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/mod_latest&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/components/com_weblinks/helpers/html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/pagebreak/css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/pagebreak/img&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After you have done this you need to manually update your site&#039;s database. To do so locate the file &amp;lt;tt&amp;gt;installation/sql/mysql/joomla_update_17ga.sql&amp;lt;/tt&amp;gt;, or the files &amp;lt;tt&amp;gt;/administrator/components/com_admin/sql/updates/mysql/1.7.0-2011-06-06.sql and administrator/components/com_admin/sql/updates/mysql/1.7.0-2011-06-06-2.sql&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
As of July 16th 2011 the file(s) contains:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;ALTER TABLE `#__languages` ADD COLUMN `ordering` int(11) NOT NULL default 0 AFTER `published`;&lt;br /&gt;
ALTER TABLE `#__languages` ADD INDEX `idx_ordering` (`ordering`);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;CREATE TABLE IF NOT EXISTS `#__associations` (&lt;br /&gt;
  `id` VARCHAR(50) NOT NULL COMMENT &#039;A reference to the associated item.&#039;,&lt;br /&gt;
  `context` VARCHAR(50) NOT NULL COMMENT &#039;The context of the associated item.&#039;,&lt;br /&gt;
  `key` CHAR(32) NOT NULL COMMENT &#039;The key for the association computed from an md5 on associated ids.&#039;,&lt;br /&gt;
  PRIMARY KEY `idx_context_id` (`context`, `id`),&lt;br /&gt;
  INDEX `idx_key` (`key`)&lt;br /&gt;
) DEFAULT CHARSET=utf8;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inside you will find parts like &amp;lt;code&amp;gt;#__languages&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;#__associations&amp;lt;/code&amp;gt;. Replace the pound sign and the first underscore (&amp;lt;code&amp;gt;#_&amp;lt;/code&amp;gt;) with your [[Database Table Prefix|database tables prefix]]. By default this is &amp;lt;code&amp;gt;jos&amp;lt;/code&amp;gt;. If you didn&#039;t get the prefix before starting, open your site&#039;s &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt; and search for &amp;lt;code&amp;gt;$dbprefix&amp;lt;/code&amp;gt;. The string inside the single quotes behind it is what you&#039;re looking for. So you need to change &amp;lt;code&amp;gt;#__languages&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;jos_languages&amp;lt;/code&amp;gt; and so on.&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve done this go to your site&#039;s phpmyadmin (or any way you usually manage your database) and open the database your site uses. There will be a tab called SQL, open this. Paste the content of your modified &amp;lt;tt&amp;gt;joomla_update_17ga.sql&amp;lt;/tt&amp;gt; inside the text area and press go.&lt;br /&gt;
&lt;br /&gt;
Your site is now updated to Joomla 1.7.&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 1.6]]&lt;br /&gt;
[[Category:Joomla! 1.7]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Upgrading_1.6.5_to_1.7&amp;diff=60935</id>
		<title>Upgrading 1.6.5 to 1.7</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Upgrading_1.6.5_to_1.7&amp;diff=60935"/>
		<updated>2011-07-19T21:48:56Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: /* Quick Update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{JVer|1.6}}{{JVer|1.7}}&lt;br /&gt;
&lt;br /&gt;
Joomla! 1.7 introduces a [[#Quick_Update | Quick Update]] for sites already up-to-date with Joomla 1.6.5.&lt;br /&gt;
&lt;br /&gt;
If your site is not already at 1.6.5, or you prefer not to use the [[Quick Update]], there are several other options:&lt;br /&gt;
&lt;br /&gt;
* [[#Installation_Manager | Traditional Update using the Installation Manager]]&lt;br /&gt;
* [[Upgrading 1.6 from an existing 1.6x version|Sites on 1.6, but not on 1.6.5]]&lt;br /&gt;
* [[#Manual_Upload.2FInstallation | Manual Update for 1.6.5]]&lt;br /&gt;
* [[Migrating from Joomla 1.5 to Joomla_1.6+]]&lt;br /&gt;
&lt;br /&gt;
== Quick Update ==&lt;br /&gt;
&lt;br /&gt;
For sites already up-to-date running Joomla 1.6.5, upgrading to Joomla 1.7 is now very easy.&lt;br /&gt;
&lt;br /&gt;
Before you begin, [[Backup | backup]] your website files and database. &#039;&#039;&#039;This is important&#039;&#039;&#039;. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
[[Image:1-Extensions-ExtensionManager.png]]&lt;br /&gt;
&lt;br /&gt;
1. In the Administrator, select the &#039;&#039;&#039;Extensions-Extensions Manager&#039;&#039;&#039; Menu item.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:2-Extension-Update.png]]&lt;br /&gt;
&lt;br /&gt;
2. Click the &#039;&#039;&#039;Update&#039;&#039;&#039; Sub menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:3-Extension-Manager-Update.png]]&lt;br /&gt;
&lt;br /&gt;
3. Click the &#039;&#039;&#039;Purge Cache&#039;&#039;&#039;, then &#039;&#039;&#039;Find Updates&#039;&#039;&#039; Buttons in the Button Bar located in the upper right of the page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:4-Update-Joomla.png]]&lt;br /&gt;
&lt;br /&gt;
4. Click the checkbox to the left of the Joomla line containing the latest Version Number and, next, press the Update Button in the Button Bar. Be patient while the system downloads and replaces the necessary files. This can take several minutes or could update very quickly, depending on your system.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:6-Final.png]]&lt;br /&gt;
&lt;br /&gt;
5. When the update has finished, you will be presented with this page.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;That&#039;s it!&#039;&#039;&#039; Follow these simple instructions next time you upgrade. Now, it&#039;s to keep your Joomla website up-to-date and safe!&lt;br /&gt;
&lt;br /&gt;
==Installation Manager ==&lt;br /&gt;
&lt;br /&gt;
If you aren’t yet comfortable with using the Update Manager to update your site, you’re still ok!  There are more easy options to update your site.  The second method to update your Joomla! 1.6.5 site to 1.7.0 is to use the extension installer, just as if you were installing a component, module, plugin, or template in your site. This method is specially handy for users updating localized distributions made available by Language Communities.&lt;br /&gt;
&lt;br /&gt;
To update your site using this method, first, download the update package from JoomlaCode.  The 1.6.5 &amp;gt; 1.7.0 package can be found [http://joomlacode.org/gf/project/joomla/frs/?action=FrsReleaseBrowse&amp;amp;frs_package_id=5986 here].&lt;br /&gt;
&lt;br /&gt;
{{ambox|image=notice|style=notice|text=If you are not currently on Joomla! 1.6.5, use [[Upgrading 1.6 from an existing 1.6x version|this tutorial]] to update your site to 1.6.5, then resume the process of updating to 1.7}}&lt;br /&gt;
&lt;br /&gt;
After you download the update package, access your Joomla! installer by logging in to your adminstrator control panel, and navigating to the &#039;&#039;&#039;Extensions&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;Extension Manager&#039;&#039;&#039; option in your administrator menu.  From here you can select the file you just downloaded, and install it.  The Joomla! installer will upload the package, and install it, making any changes to files or the database as needed.&lt;br /&gt;
&lt;br /&gt;
== Manual Upload/Installation ==&lt;br /&gt;
&lt;br /&gt;
The last method available to update your site, involves a little more technical expertise, and should probably only be used if the previous methods won’t work due to a highly complex site or hosting issues (shared hosting for example). &#039;&#039;&#039; As usual back-up your site and your database.&#039;&#039;&#039; For most Joomla! sites, the first two methods will successfully update your site.  However, updating is still fairly easily, and should not be a problem.&lt;br /&gt;
&lt;br /&gt;
Before you begin, go to global configuration and on the server tab and in the Database Settings area find the database table prefix used by your site.&lt;br /&gt;
&lt;br /&gt;
To update your site manually, you will need to download the 1.6.5 &amp;gt; 1.7.0 update package from JoomlaCode.  You can download it [http://joomlacode.org/gf/project/joomla/frs/?action=FrsReleaseBrowse&amp;amp;frs_package_id=5986 here].  Unpack the package and you will find two zip files in it. You will only need the large zip file called &amp;lt;tt&amp;gt;Joomla_1.7.0-Stable-Update_Package.zip&amp;lt;/tt&amp;gt; for your update. Using an ftp client, upload the zip file to your server into the root directory of your website, and unpack the files.  This will over-write any modified files with new, updated files for 1.7.0.  Alternatively, you can unpack the &amp;lt;tt&amp;gt;Joomla_1.7.0-Stable-Update_Package.zip&amp;lt;/tt&amp;gt; on your local computer, then copy the un-packed files into your websites root, overwriting the modified files.&lt;br /&gt;
&lt;br /&gt;
After unpacking the files to your website you need to manually delete the files and folders listed in administrator/components/com_admin/script.php.&lt;br /&gt;
&lt;br /&gt;
This is the list of files:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;/templates/atomic/css/blueprint/src/blueprintcss-0-9-1-cheatsheet-3-5-3-gjms.pdf&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/manifests/packages/joomla.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/css/rounded.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/css/norounded.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_corner_bl.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_right_rtl.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_right.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_left.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_corner_br.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_left_rtl.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_modules/module/modal.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_modules/module/edit_assignment.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_menus/item/edit_modules.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_menus/items/default_batch.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_languages/language/edit.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_content/article/edit_metadata.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_categories/category/edit_metadata.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_categories/categories/default_batch.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/components/com_menus/models/forms/item_options.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/language/overrides/xx-XX.override.ini&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/helpsites-16.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Content_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Weblinks_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Newsfeeds_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Banners_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Contact_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/codemirror/css/docs.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/tiny_mce_gzip.js&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/tiny_mce_gzip.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/media/css/content.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/mod_languages/images/ta.gif&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/libraries/joomla/config.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/libraries/joomla/import.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/libraries/joomla/version.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And these folders:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/authentication/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/user/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/content/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/extension/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_modules/select&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_media&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/mod_popular&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/mod_status&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/mod_latest&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/components/com_weblinks/helpers/html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/pagebreak/css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/pagebreak/img&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After you have done this you need to manually update your site&#039;s database. To do so locate the file &amp;lt;tt&amp;gt;installation/sql/mysql/joomla_update_17ga.sql&amp;lt;/tt&amp;gt;, or the files &amp;lt;tt&amp;gt;/administrator/components/com_admin/sql/updates/mysql/1.7.0-2011-06-06.sql and administrator/components/com_admin/sql/updates/mysql/1.7.0-2011-06-06-2.sql&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
As of July 16th 2011 the file(s) contains:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;ALTER TABLE `#__languages` ADD COLUMN `ordering` int(11) NOT NULL default 0 AFTER `published`;&lt;br /&gt;
ALTER TABLE `#__languages` ADD INDEX `idx_ordering` (`ordering`);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;CREATE TABLE IF NOT EXISTS `#__associations` (&lt;br /&gt;
  `id` VARCHAR(50) NOT NULL COMMENT &#039;A reference to the associated item.&#039;,&lt;br /&gt;
  `context` VARCHAR(50) NOT NULL COMMENT &#039;The context of the associated item.&#039;,&lt;br /&gt;
  `key` CHAR(32) NOT NULL COMMENT &#039;The key for the association computed from an md5 on associated ids.&#039;,&lt;br /&gt;
  PRIMARY KEY `idx_context_id` (`context`, `id`),&lt;br /&gt;
  INDEX `idx_key` (`key`)&lt;br /&gt;
) DEFAULT CHARSET=utf8;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inside you will find parts like &amp;lt;code&amp;gt;#__languages&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;#__associations&amp;lt;/code&amp;gt;. Replace the pound sign and the first underscore (&amp;lt;code&amp;gt;#_&amp;lt;/code&amp;gt;) with your [[Database Table Prefix|database tables prefix]]. By default this is &amp;lt;code&amp;gt;jos&amp;lt;/code&amp;gt;. If you didn&#039;t get the prefix before starting, open your site&#039;s &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt; and search for &amp;lt;code&amp;gt;$dbprefix&amp;lt;/code&amp;gt;. The string inside the single quotes behind it is what you&#039;re looking for. So you need to change &amp;lt;code&amp;gt;#__languages&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;jos_languages&amp;lt;/code&amp;gt; and so on.&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve done this go to your site&#039;s phpmyadmin (or any way you usually manage your database) and open the database your site uses. There will be a tab called SQL, open this. Paste the content of your modified &amp;lt;tt&amp;gt;joomla_update_17ga.sql&amp;lt;/tt&amp;gt; inside the text area and press go.&lt;br /&gt;
&lt;br /&gt;
Your site is now updated to Joomla 1.7.&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 1.6]]&lt;br /&gt;
[[Category:Joomla! 1.7]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Upgrading_1.6.5_to_1.7&amp;diff=60934</id>
		<title>Upgrading 1.6.5 to 1.7</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Upgrading_1.6.5_to_1.7&amp;diff=60934"/>
		<updated>2011-07-19T21:48:27Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: /* Quick Update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{JVer|1.6}}{{JVer|1.7}}&lt;br /&gt;
&lt;br /&gt;
Joomla! 1.7 introduces a [[#Quick_Update | Quick Update]] for sites already up-to-date with Joomla 1.6.5.&lt;br /&gt;
&lt;br /&gt;
If your site is not already at 1.6.5, or you prefer not to use the [[Quick Update]], there are several other options:&lt;br /&gt;
&lt;br /&gt;
* [[#Installation_Manager | Traditional Update using the Installation Manager]]&lt;br /&gt;
* [[Upgrading 1.6 from an existing 1.6x version|Sites on 1.6, but not on 1.6.5]]&lt;br /&gt;
* [[#Manual_Upload.2FInstallation | Manual Update for 1.6.5]]&lt;br /&gt;
* [[Migrating from Joomla 1.5 to Joomla_1.6+]]&lt;br /&gt;
&lt;br /&gt;
== Quick Update ==&lt;br /&gt;
&lt;br /&gt;
For sites already up-to-date running Joomla 1.6.5, upgrading to Joomla 1.7 is now very easy.&lt;br /&gt;
&lt;br /&gt;
Before you begin, [[Backup]] your website files and database. &#039;&#039;&#039;This is important&#039;&#039;&#039;. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
[[Image:1-Extensions-ExtensionManager.png]]&lt;br /&gt;
&lt;br /&gt;
1. In the Administrator, select the &#039;&#039;&#039;Extensions-Extensions Manager&#039;&#039;&#039; Menu item.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:2-Extension-Update.png]]&lt;br /&gt;
&lt;br /&gt;
2. Click the &#039;&#039;&#039;Update&#039;&#039;&#039; Sub menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:3-Extension-Manager-Update.png]]&lt;br /&gt;
&lt;br /&gt;
3. Click the &#039;&#039;&#039;Purge Cache&#039;&#039;&#039;, then &#039;&#039;&#039;Find Updates&#039;&#039;&#039; Buttons in the Button Bar located in the upper right of the page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:4-Update-Joomla.png]]&lt;br /&gt;
&lt;br /&gt;
4. Click the checkbox to the left of the Joomla line containing the latest Version Number and, next, press the Update Button in the Button Bar. Be patient while the system downloads and replaces the necessary files. This can take several minutes or could update very quickly, depending on your system.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:6-Final.png]]&lt;br /&gt;
&lt;br /&gt;
5. When the update has finished, you will be presented with this page.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;That&#039;s it!&#039;&#039;&#039; Follow these simple instructions next time you upgrade. Now, it&#039;s to keep your Joomla website up-to-date and safe!&lt;br /&gt;
&lt;br /&gt;
==Installation Manager ==&lt;br /&gt;
&lt;br /&gt;
If you aren’t yet comfortable with using the Update Manager to update your site, you’re still ok!  There are more easy options to update your site.  The second method to update your Joomla! 1.6.5 site to 1.7.0 is to use the extension installer, just as if you were installing a component, module, plugin, or template in your site. This method is specially handy for users updating localized distributions made available by Language Communities.&lt;br /&gt;
&lt;br /&gt;
To update your site using this method, first, download the update package from JoomlaCode.  The 1.6.5 &amp;gt; 1.7.0 package can be found [http://joomlacode.org/gf/project/joomla/frs/?action=FrsReleaseBrowse&amp;amp;frs_package_id=5986 here].&lt;br /&gt;
&lt;br /&gt;
{{ambox|image=notice|style=notice|text=If you are not currently on Joomla! 1.6.5, use [[Upgrading 1.6 from an existing 1.6x version|this tutorial]] to update your site to 1.6.5, then resume the process of updating to 1.7}}&lt;br /&gt;
&lt;br /&gt;
After you download the update package, access your Joomla! installer by logging in to your adminstrator control panel, and navigating to the &#039;&#039;&#039;Extensions&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;Extension Manager&#039;&#039;&#039; option in your administrator menu.  From here you can select the file you just downloaded, and install it.  The Joomla! installer will upload the package, and install it, making any changes to files or the database as needed.&lt;br /&gt;
&lt;br /&gt;
== Manual Upload/Installation ==&lt;br /&gt;
&lt;br /&gt;
The last method available to update your site, involves a little more technical expertise, and should probably only be used if the previous methods won’t work due to a highly complex site or hosting issues (shared hosting for example). &#039;&#039;&#039; As usual back-up your site and your database.&#039;&#039;&#039; For most Joomla! sites, the first two methods will successfully update your site.  However, updating is still fairly easily, and should not be a problem.&lt;br /&gt;
&lt;br /&gt;
Before you begin, go to global configuration and on the server tab and in the Database Settings area find the database table prefix used by your site.&lt;br /&gt;
&lt;br /&gt;
To update your site manually, you will need to download the 1.6.5 &amp;gt; 1.7.0 update package from JoomlaCode.  You can download it [http://joomlacode.org/gf/project/joomla/frs/?action=FrsReleaseBrowse&amp;amp;frs_package_id=5986 here].  Unpack the package and you will find two zip files in it. You will only need the large zip file called &amp;lt;tt&amp;gt;Joomla_1.7.0-Stable-Update_Package.zip&amp;lt;/tt&amp;gt; for your update. Using an ftp client, upload the zip file to your server into the root directory of your website, and unpack the files.  This will over-write any modified files with new, updated files for 1.7.0.  Alternatively, you can unpack the &amp;lt;tt&amp;gt;Joomla_1.7.0-Stable-Update_Package.zip&amp;lt;/tt&amp;gt; on your local computer, then copy the un-packed files into your websites root, overwriting the modified files.&lt;br /&gt;
&lt;br /&gt;
After unpacking the files to your website you need to manually delete the files and folders listed in administrator/components/com_admin/script.php.&lt;br /&gt;
&lt;br /&gt;
This is the list of files:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;/templates/atomic/css/blueprint/src/blueprintcss-0-9-1-cheatsheet-3-5-3-gjms.pdf&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/manifests/packages/joomla.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/css/rounded.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/css/norounded.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_corner_bl.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_right_rtl.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_right.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_left.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_corner_br.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_left_rtl.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_modules/module/modal.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_modules/module/edit_assignment.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_menus/item/edit_modules.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_menus/items/default_batch.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_languages/language/edit.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_content/article/edit_metadata.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_categories/category/edit_metadata.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_categories/categories/default_batch.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/components/com_menus/models/forms/item_options.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/language/overrides/xx-XX.override.ini&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/helpsites-16.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Content_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Weblinks_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Newsfeeds_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Banners_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Contact_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/codemirror/css/docs.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/tiny_mce_gzip.js&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/tiny_mce_gzip.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/media/css/content.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/mod_languages/images/ta.gif&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/libraries/joomla/config.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/libraries/joomla/import.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/libraries/joomla/version.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And these folders:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/authentication/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/user/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/content/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/extension/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_modules/select&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_media&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/mod_popular&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/mod_status&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/mod_latest&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/components/com_weblinks/helpers/html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/pagebreak/css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/pagebreak/img&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After you have done this you need to manually update your site&#039;s database. To do so locate the file &amp;lt;tt&amp;gt;installation/sql/mysql/joomla_update_17ga.sql&amp;lt;/tt&amp;gt;, or the files &amp;lt;tt&amp;gt;/administrator/components/com_admin/sql/updates/mysql/1.7.0-2011-06-06.sql and administrator/components/com_admin/sql/updates/mysql/1.7.0-2011-06-06-2.sql&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
As of July 16th 2011 the file(s) contains:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;ALTER TABLE `#__languages` ADD COLUMN `ordering` int(11) NOT NULL default 0 AFTER `published`;&lt;br /&gt;
ALTER TABLE `#__languages` ADD INDEX `idx_ordering` (`ordering`);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;CREATE TABLE IF NOT EXISTS `#__associations` (&lt;br /&gt;
  `id` VARCHAR(50) NOT NULL COMMENT &#039;A reference to the associated item.&#039;,&lt;br /&gt;
  `context` VARCHAR(50) NOT NULL COMMENT &#039;The context of the associated item.&#039;,&lt;br /&gt;
  `key` CHAR(32) NOT NULL COMMENT &#039;The key for the association computed from an md5 on associated ids.&#039;,&lt;br /&gt;
  PRIMARY KEY `idx_context_id` (`context`, `id`),&lt;br /&gt;
  INDEX `idx_key` (`key`)&lt;br /&gt;
) DEFAULT CHARSET=utf8;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inside you will find parts like &amp;lt;code&amp;gt;#__languages&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;#__associations&amp;lt;/code&amp;gt;. Replace the pound sign and the first underscore (&amp;lt;code&amp;gt;#_&amp;lt;/code&amp;gt;) with your [[Database Table Prefix|database tables prefix]]. By default this is &amp;lt;code&amp;gt;jos&amp;lt;/code&amp;gt;. If you didn&#039;t get the prefix before starting, open your site&#039;s &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt; and search for &amp;lt;code&amp;gt;$dbprefix&amp;lt;/code&amp;gt;. The string inside the single quotes behind it is what you&#039;re looking for. So you need to change &amp;lt;code&amp;gt;#__languages&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;jos_languages&amp;lt;/code&amp;gt; and so on.&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve done this go to your site&#039;s phpmyadmin (or any way you usually manage your database) and open the database your site uses. There will be a tab called SQL, open this. Paste the content of your modified &amp;lt;tt&amp;gt;joomla_update_17ga.sql&amp;lt;/tt&amp;gt; inside the text area and press go.&lt;br /&gt;
&lt;br /&gt;
Your site is now updated to Joomla 1.7.&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 1.6]]&lt;br /&gt;
[[Category:Joomla! 1.7]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Upgrading_1.6.5_to_1.7&amp;diff=60933</id>
		<title>Upgrading 1.6.5 to 1.7</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Upgrading_1.6.5_to_1.7&amp;diff=60933"/>
		<updated>2011-07-19T21:47:05Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: /* Quick Update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{JVer|1.6}}{{JVer|1.7}}&lt;br /&gt;
&lt;br /&gt;
Joomla! 1.7 introduces a [[#Quick_Update | Quick Update]] for sites already up-to-date with Joomla 1.6.5.&lt;br /&gt;
&lt;br /&gt;
If your site is not already at 1.6.5, or you prefer not to use the [[Quick Update]], there are several other options:&lt;br /&gt;
&lt;br /&gt;
* [[#Installation_Manager | Traditional Update using the Installation Manager]]&lt;br /&gt;
* [[Upgrading 1.6 from an existing 1.6x version|Sites on 1.6, but not on 1.6.5]]&lt;br /&gt;
* [[#Manual_Upload.2FInstallation | Manual Update for 1.6.5]]&lt;br /&gt;
* [[Migrating from Joomla 1.5 to Joomla_1.6+]]&lt;br /&gt;
&lt;br /&gt;
== Quick Update ==&lt;br /&gt;
&lt;br /&gt;
For sites already up-to-date running Joomla 1.6.5, upgrading to Joomla 1.7 is now very easy.&lt;br /&gt;
&lt;br /&gt;
Before you begin, backup your website files and database. This is important. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
[[Image:1-Extensions-ExtensionManager.png]]&lt;br /&gt;
&lt;br /&gt;
1. In the Administrator, select the &#039;&#039;&#039;Extensions-Extensions Manager&#039;&#039;&#039; Menu item.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:2-Extension-Update.png]]&lt;br /&gt;
&lt;br /&gt;
2. Click the &#039;&#039;&#039;Update&#039;&#039;&#039; Sub menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:3-Extension-Manager-Update.png]]&lt;br /&gt;
&lt;br /&gt;
3. Click the &#039;&#039;&#039;Purge Cache&#039;&#039;&#039;, then &#039;&#039;&#039;Find Updates&#039;&#039;&#039; Buttons in the Button Bar located in the upper right of the page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:4-Update-Joomla.png]]&lt;br /&gt;
&lt;br /&gt;
4. Click the checkbox to the left of the Joomla line containing the latest Version Number and, next, press the Update Button in the Button Bar. Be patient while the system downloads and replaces the necessary files. This can take several minutes or could update very quickly, depending on your system.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:6-Final.png]]&lt;br /&gt;
&lt;br /&gt;
5. When the update has finished, you will be presented with this page.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;That&#039;s it!&#039;&#039;&#039; Follow these simple instructions next time you upgrade. Now, it&#039;s to keep your Joomla website up-to-date and safe!&lt;br /&gt;
&lt;br /&gt;
==Installation Manager ==&lt;br /&gt;
&lt;br /&gt;
If you aren’t yet comfortable with using the Update Manager to update your site, you’re still ok!  There are more easy options to update your site.  The second method to update your Joomla! 1.6.5 site to 1.7.0 is to use the extension installer, just as if you were installing a component, module, plugin, or template in your site. This method is specially handy for users updating localized distributions made available by Language Communities.&lt;br /&gt;
&lt;br /&gt;
To update your site using this method, first, download the update package from JoomlaCode.  The 1.6.5 &amp;gt; 1.7.0 package can be found [http://joomlacode.org/gf/project/joomla/frs/?action=FrsReleaseBrowse&amp;amp;frs_package_id=5986 here].&lt;br /&gt;
&lt;br /&gt;
{{ambox|image=notice|style=notice|text=If you are not currently on Joomla! 1.6.5, use [[Upgrading 1.6 from an existing 1.6x version|this tutorial]] to update your site to 1.6.5, then resume the process of updating to 1.7}}&lt;br /&gt;
&lt;br /&gt;
After you download the update package, access your Joomla! installer by logging in to your adminstrator control panel, and navigating to the &#039;&#039;&#039;Extensions&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;Extension Manager&#039;&#039;&#039; option in your administrator menu.  From here you can select the file you just downloaded, and install it.  The Joomla! installer will upload the package, and install it, making any changes to files or the database as needed.&lt;br /&gt;
&lt;br /&gt;
== Manual Upload/Installation ==&lt;br /&gt;
&lt;br /&gt;
The last method available to update your site, involves a little more technical expertise, and should probably only be used if the previous methods won’t work due to a highly complex site or hosting issues (shared hosting for example). &#039;&#039;&#039; As usual back-up your site and your database.&#039;&#039;&#039; For most Joomla! sites, the first two methods will successfully update your site.  However, updating is still fairly easily, and should not be a problem.&lt;br /&gt;
&lt;br /&gt;
Before you begin, go to global configuration and on the server tab and in the Database Settings area find the database table prefix used by your site.&lt;br /&gt;
&lt;br /&gt;
To update your site manually, you will need to download the 1.6.5 &amp;gt; 1.7.0 update package from JoomlaCode.  You can download it [http://joomlacode.org/gf/project/joomla/frs/?action=FrsReleaseBrowse&amp;amp;frs_package_id=5986 here].  Unpack the package and you will find two zip files in it. You will only need the large zip file called &amp;lt;tt&amp;gt;Joomla_1.7.0-Stable-Update_Package.zip&amp;lt;/tt&amp;gt; for your update. Using an ftp client, upload the zip file to your server into the root directory of your website, and unpack the files.  This will over-write any modified files with new, updated files for 1.7.0.  Alternatively, you can unpack the &amp;lt;tt&amp;gt;Joomla_1.7.0-Stable-Update_Package.zip&amp;lt;/tt&amp;gt; on your local computer, then copy the un-packed files into your websites root, overwriting the modified files.&lt;br /&gt;
&lt;br /&gt;
After unpacking the files to your website you need to manually delete the files and folders listed in administrator/components/com_admin/script.php.&lt;br /&gt;
&lt;br /&gt;
This is the list of files:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;/templates/atomic/css/blueprint/src/blueprintcss-0-9-1-cheatsheet-3-5-3-gjms.pdf&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/manifests/packages/joomla.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/css/rounded.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/css/norounded.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_corner_bl.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_right_rtl.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_right.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_left.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_corner_br.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_left_rtl.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_modules/module/modal.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_modules/module/edit_assignment.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_menus/item/edit_modules.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_menus/items/default_batch.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_languages/language/edit.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_content/article/edit_metadata.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_categories/category/edit_metadata.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_categories/categories/default_batch.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/components/com_menus/models/forms/item_options.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/language/overrides/xx-XX.override.ini&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/helpsites-16.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Content_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Weblinks_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Newsfeeds_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Banners_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Contact_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/codemirror/css/docs.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/tiny_mce_gzip.js&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/tiny_mce_gzip.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/media/css/content.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/mod_languages/images/ta.gif&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/libraries/joomla/config.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/libraries/joomla/import.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/libraries/joomla/version.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And these folders:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/authentication/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/user/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/content/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/extension/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_modules/select&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_media&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/mod_popular&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/mod_status&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/mod_latest&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/components/com_weblinks/helpers/html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/pagebreak/css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/pagebreak/img&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After you have done this you need to manually update your site&#039;s database. To do so locate the file &amp;lt;tt&amp;gt;installation/sql/mysql/joomla_update_17ga.sql&amp;lt;/tt&amp;gt;, or the files &amp;lt;tt&amp;gt;/administrator/components/com_admin/sql/updates/mysql/1.7.0-2011-06-06.sql and administrator/components/com_admin/sql/updates/mysql/1.7.0-2011-06-06-2.sql&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
As of July 16th 2011 the file(s) contains:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;ALTER TABLE `#__languages` ADD COLUMN `ordering` int(11) NOT NULL default 0 AFTER `published`;&lt;br /&gt;
ALTER TABLE `#__languages` ADD INDEX `idx_ordering` (`ordering`);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;CREATE TABLE IF NOT EXISTS `#__associations` (&lt;br /&gt;
  `id` VARCHAR(50) NOT NULL COMMENT &#039;A reference to the associated item.&#039;,&lt;br /&gt;
  `context` VARCHAR(50) NOT NULL COMMENT &#039;The context of the associated item.&#039;,&lt;br /&gt;
  `key` CHAR(32) NOT NULL COMMENT &#039;The key for the association computed from an md5 on associated ids.&#039;,&lt;br /&gt;
  PRIMARY KEY `idx_context_id` (`context`, `id`),&lt;br /&gt;
  INDEX `idx_key` (`key`)&lt;br /&gt;
) DEFAULT CHARSET=utf8;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inside you will find parts like &amp;lt;code&amp;gt;#__languages&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;#__associations&amp;lt;/code&amp;gt;. Replace the pound sign and the first underscore (&amp;lt;code&amp;gt;#_&amp;lt;/code&amp;gt;) with your [[Database Table Prefix|database tables prefix]]. By default this is &amp;lt;code&amp;gt;jos&amp;lt;/code&amp;gt;. If you didn&#039;t get the prefix before starting, open your site&#039;s &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt; and search for &amp;lt;code&amp;gt;$dbprefix&amp;lt;/code&amp;gt;. The string inside the single quotes behind it is what you&#039;re looking for. So you need to change &amp;lt;code&amp;gt;#__languages&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;jos_languages&amp;lt;/code&amp;gt; and so on.&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve done this go to your site&#039;s phpmyadmin (or any way you usually manage your database) and open the database your site uses. There will be a tab called SQL, open this. Paste the content of your modified &amp;lt;tt&amp;gt;joomla_update_17ga.sql&amp;lt;/tt&amp;gt; inside the text area and press go.&lt;br /&gt;
&lt;br /&gt;
Your site is now updated to Joomla 1.7.&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 1.6]]&lt;br /&gt;
[[Category:Joomla! 1.7]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Upgrading_1.6.5_to_1.7&amp;diff=60932</id>
		<title>Upgrading 1.6.5 to 1.7</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Upgrading_1.6.5_to_1.7&amp;diff=60932"/>
		<updated>2011-07-19T21:46:07Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{JVer|1.6}}{{JVer|1.7}}&lt;br /&gt;
&lt;br /&gt;
Joomla! 1.7 introduces a [[#Quick_Update | Quick Update]] for sites already up-to-date with Joomla 1.6.5.&lt;br /&gt;
&lt;br /&gt;
If your site is not already at 1.6.5, or you prefer not to use the [[Quick Update]], there are several other options:&lt;br /&gt;
&lt;br /&gt;
* [[#Installation_Manager | Traditional Update using the Installation Manager]]&lt;br /&gt;
* [[Upgrading 1.6 from an existing 1.6x version|Sites on 1.6, but not on 1.6.5]]&lt;br /&gt;
* [[#Manual_Upload.2FInstallation | Manual Update for 1.6.5]]&lt;br /&gt;
* [[Migrating from Joomla 1.5 to Joomla_1.6+]]&lt;br /&gt;
&lt;br /&gt;
== Quick Update ==&lt;br /&gt;
&lt;br /&gt;
For sites already up-to-date running Joomla 1.6.5, upgrading to Joomla 1.7 is now very easy.&lt;br /&gt;
&lt;br /&gt;
Before you begin, backup your website files and database. This is important. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
[[Image:1-Extensions-ExtensionManager.png]]&lt;br /&gt;
&lt;br /&gt;
1. In the Administrator, select the &#039;&#039;&#039;Extensions-Extensions Manager&#039;&#039;&#039; Menu item.&lt;br /&gt;
&lt;br /&gt;
[[Image:2-Extension-Update.png]]&lt;br /&gt;
&lt;br /&gt;
2. Click the &#039;&#039;&#039;Update&#039;&#039;&#039; Sub menu.&lt;br /&gt;
&lt;br /&gt;
[[Image:3-Extension-Manager-Update.png]]&lt;br /&gt;
&lt;br /&gt;
3. Click the &#039;&#039;&#039;Purge Cache&#039;&#039;&#039;, then &#039;&#039;&#039;Find Updates&#039;&#039;&#039; Buttons in the Button Bar located in the upper right of the page.&lt;br /&gt;
&lt;br /&gt;
[[Image:4-Update-Joomla.png]]&lt;br /&gt;
&lt;br /&gt;
4. Click the checkbox to the left of the Joomla line containing the latest Version Number and, next, press the Update Button in the Button Bar. Be patient while the system downloads and replaces the necessary files. This can take several minutes or could update very quickly, depending on your system.&lt;br /&gt;
&lt;br /&gt;
[[Image:6-Final.png]]&lt;br /&gt;
&lt;br /&gt;
5. When the update has finished, you will be presented with this page.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;That&#039;s it!&#039;&#039;&#039; Follow these simple instructions next time you upgrade. Now, it&#039;s to keep your Joomla website up-to-date and safe!&lt;br /&gt;
&lt;br /&gt;
==Installation Manager ==&lt;br /&gt;
&lt;br /&gt;
If you aren’t yet comfortable with using the Update Manager to update your site, you’re still ok!  There are more easy options to update your site.  The second method to update your Joomla! 1.6.5 site to 1.7.0 is to use the extension installer, just as if you were installing a component, module, plugin, or template in your site. This method is specially handy for users updating localized distributions made available by Language Communities.&lt;br /&gt;
&lt;br /&gt;
To update your site using this method, first, download the update package from JoomlaCode.  The 1.6.5 &amp;gt; 1.7.0 package can be found [http://joomlacode.org/gf/project/joomla/frs/?action=FrsReleaseBrowse&amp;amp;frs_package_id=5986 here].&lt;br /&gt;
&lt;br /&gt;
{{ambox|image=notice|style=notice|text=If you are not currently on Joomla! 1.6.5, use [[Upgrading 1.6 from an existing 1.6x version|this tutorial]] to update your site to 1.6.5, then resume the process of updating to 1.7}}&lt;br /&gt;
&lt;br /&gt;
After you download the update package, access your Joomla! installer by logging in to your adminstrator control panel, and navigating to the &#039;&#039;&#039;Extensions&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;Extension Manager&#039;&#039;&#039; option in your administrator menu.  From here you can select the file you just downloaded, and install it.  The Joomla! installer will upload the package, and install it, making any changes to files or the database as needed.&lt;br /&gt;
&lt;br /&gt;
== Manual Upload/Installation ==&lt;br /&gt;
&lt;br /&gt;
The last method available to update your site, involves a little more technical expertise, and should probably only be used if the previous methods won’t work due to a highly complex site or hosting issues (shared hosting for example). &#039;&#039;&#039; As usual back-up your site and your database.&#039;&#039;&#039; For most Joomla! sites, the first two methods will successfully update your site.  However, updating is still fairly easily, and should not be a problem.&lt;br /&gt;
&lt;br /&gt;
Before you begin, go to global configuration and on the server tab and in the Database Settings area find the database table prefix used by your site.&lt;br /&gt;
&lt;br /&gt;
To update your site manually, you will need to download the 1.6.5 &amp;gt; 1.7.0 update package from JoomlaCode.  You can download it [http://joomlacode.org/gf/project/joomla/frs/?action=FrsReleaseBrowse&amp;amp;frs_package_id=5986 here].  Unpack the package and you will find two zip files in it. You will only need the large zip file called &amp;lt;tt&amp;gt;Joomla_1.7.0-Stable-Update_Package.zip&amp;lt;/tt&amp;gt; for your update. Using an ftp client, upload the zip file to your server into the root directory of your website, and unpack the files.  This will over-write any modified files with new, updated files for 1.7.0.  Alternatively, you can unpack the &amp;lt;tt&amp;gt;Joomla_1.7.0-Stable-Update_Package.zip&amp;lt;/tt&amp;gt; on your local computer, then copy the un-packed files into your websites root, overwriting the modified files.&lt;br /&gt;
&lt;br /&gt;
After unpacking the files to your website you need to manually delete the files and folders listed in administrator/components/com_admin/script.php.&lt;br /&gt;
&lt;br /&gt;
This is the list of files:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;/templates/atomic/css/blueprint/src/blueprintcss-0-9-1-cheatsheet-3-5-3-gjms.pdf&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/manifests/packages/joomla.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/css/rounded.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/css/norounded.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_corner_bl.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_right_rtl.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_right.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_left.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_corner_br.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_left_rtl.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_modules/module/modal.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_modules/module/edit_assignment.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_menus/item/edit_modules.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_menus/items/default_batch.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_languages/language/edit.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_content/article/edit_metadata.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_categories/category/edit_metadata.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_categories/categories/default_batch.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/components/com_menus/models/forms/item_options.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/language/overrides/xx-XX.override.ini&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/helpsites-16.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Content_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Weblinks_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Newsfeeds_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Banners_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Contact_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/codemirror/css/docs.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/tiny_mce_gzip.js&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/tiny_mce_gzip.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/media/css/content.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/mod_languages/images/ta.gif&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/libraries/joomla/config.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/libraries/joomla/import.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/libraries/joomla/version.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And these folders:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/authentication/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/user/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/content/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/extension/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_modules/select&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_media&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/mod_popular&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/mod_status&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/mod_latest&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/components/com_weblinks/helpers/html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/pagebreak/css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/pagebreak/img&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After you have done this you need to manually update your site&#039;s database. To do so locate the file &amp;lt;tt&amp;gt;installation/sql/mysql/joomla_update_17ga.sql&amp;lt;/tt&amp;gt;, or the files &amp;lt;tt&amp;gt;/administrator/components/com_admin/sql/updates/mysql/1.7.0-2011-06-06.sql and administrator/components/com_admin/sql/updates/mysql/1.7.0-2011-06-06-2.sql&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
As of July 16th 2011 the file(s) contains:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;ALTER TABLE `#__languages` ADD COLUMN `ordering` int(11) NOT NULL default 0 AFTER `published`;&lt;br /&gt;
ALTER TABLE `#__languages` ADD INDEX `idx_ordering` (`ordering`);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;CREATE TABLE IF NOT EXISTS `#__associations` (&lt;br /&gt;
  `id` VARCHAR(50) NOT NULL COMMENT &#039;A reference to the associated item.&#039;,&lt;br /&gt;
  `context` VARCHAR(50) NOT NULL COMMENT &#039;The context of the associated item.&#039;,&lt;br /&gt;
  `key` CHAR(32) NOT NULL COMMENT &#039;The key for the association computed from an md5 on associated ids.&#039;,&lt;br /&gt;
  PRIMARY KEY `idx_context_id` (`context`, `id`),&lt;br /&gt;
  INDEX `idx_key` (`key`)&lt;br /&gt;
) DEFAULT CHARSET=utf8;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inside you will find parts like &amp;lt;code&amp;gt;#__languages&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;#__associations&amp;lt;/code&amp;gt;. Replace the pound sign and the first underscore (&amp;lt;code&amp;gt;#_&amp;lt;/code&amp;gt;) with your [[Database Table Prefix|database tables prefix]]. By default this is &amp;lt;code&amp;gt;jos&amp;lt;/code&amp;gt;. If you didn&#039;t get the prefix before starting, open your site&#039;s &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt; and search for &amp;lt;code&amp;gt;$dbprefix&amp;lt;/code&amp;gt;. The string inside the single quotes behind it is what you&#039;re looking for. So you need to change &amp;lt;code&amp;gt;#__languages&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;jos_languages&amp;lt;/code&amp;gt; and so on.&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve done this go to your site&#039;s phpmyadmin (or any way you usually manage your database) and open the database your site uses. There will be a tab called SQL, open this. Paste the content of your modified &amp;lt;tt&amp;gt;joomla_update_17ga.sql&amp;lt;/tt&amp;gt; inside the text area and press go.&lt;br /&gt;
&lt;br /&gt;
Your site is now updated to Joomla 1.7.&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 1.6]]&lt;br /&gt;
[[Category:Joomla! 1.7]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=File:6-Final.png&amp;diff=60931</id>
		<title>File:6-Final.png</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=File:6-Final.png&amp;diff=60931"/>
		<updated>2011-07-19T21:42:42Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=File:4-Update-Joomla.png&amp;diff=60930</id>
		<title>File:4-Update-Joomla.png</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=File:4-Update-Joomla.png&amp;diff=60930"/>
		<updated>2011-07-19T21:42:10Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=File:3-Extension-Manager-Update.png&amp;diff=60929</id>
		<title>File:3-Extension-Manager-Update.png</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=File:3-Extension-Manager-Update.png&amp;diff=60929"/>
		<updated>2011-07-19T21:41:38Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=File:2-Extension-Update.png&amp;diff=60928</id>
		<title>File:2-Extension-Update.png</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=File:2-Extension-Update.png&amp;diff=60928"/>
		<updated>2011-07-19T21:41:11Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=File:1-Extensions-ExtensionManager.png&amp;diff=60925</id>
		<title>File:1-Extensions-ExtensionManager.png</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=File:1-Extensions-ExtensionManager.png&amp;diff=60925"/>
		<updated>2011-07-19T21:30:32Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: uploaded a new version of &amp;amp;quot;File:1-Extensions-ExtensionManager.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Upgrading_1.6.5_to_1.7&amp;diff=60924</id>
		<title>Upgrading 1.6.5 to 1.7</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Upgrading_1.6.5_to_1.7&amp;diff=60924"/>
		<updated>2011-07-19T21:26:16Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{JVer|1.6}}{{JVer|1.7}}&lt;br /&gt;
&lt;br /&gt;
Joomla! 1.7 introduces a [[#Quick_Update | Quick Update]] for sites already up-to-date with Joomla 1.6.5.&lt;br /&gt;
&lt;br /&gt;
If your site is not already at 1.6.5, or you prefer not to use the [[Quick Update]], there are several other options:&lt;br /&gt;
&lt;br /&gt;
* [[#Installation_Manager | Traditional Update using the Installation Manager]]&lt;br /&gt;
* [[Upgrading 1.6 from an existing 1.6x version|Sites on 1.6, but not on 1.6.5]]&lt;br /&gt;
* [[#Manual_Upload.2FInstallation | Manual Update for 1.6.5]]&lt;br /&gt;
* [[Migrating from Joomla 1.5 to Joomla_1.6+]]&lt;br /&gt;
&lt;br /&gt;
== Quick Update ==&lt;br /&gt;
&lt;br /&gt;
For sites already up-to-date running Joomla 1.6.5, upgrading to Joomla 1.7 is now very easy.&lt;br /&gt;
&lt;br /&gt;
Before you begin, backup your website files and database. This is important. &lt;br /&gt;
&lt;br /&gt;
[[File:http://docs.joomla.org/images/f/f9/1-Extensions-ExtensionManager.png]]&lt;br /&gt;
&lt;br /&gt;
1. In the Administrator, select the &#039;&#039;&#039;Extensions-Extensions Manager&#039;&#039;&#039; Menu item.&lt;br /&gt;
&lt;br /&gt;
2. Click the &#039;&#039;&#039;Update&#039;&#039;&#039; Sub menu.&lt;br /&gt;
&lt;br /&gt;
3. Click the &#039;&#039;&#039;Purge Cache&#039;&#039;&#039;, then &#039;&#039;&#039;Find Updates&#039;&#039;&#039; Buttons in the Button Bar located in the upper right of the page.&lt;br /&gt;
&lt;br /&gt;
4. Click the checkbox to the left of the Joomla line containing the latest Version Number and, next, press the Update Button in the Button Bar. Be patient while the system downloads and replaces the necessary files. This can take several minutes or could update very quickly, depending on your system.&lt;br /&gt;
&lt;br /&gt;
5. When the update has finished, you will be presented with this page.&lt;br /&gt;
&lt;br /&gt;
That&#039;s it! For the next Upgrade, follow these simple instructions again. It&#039;s now easy to update a Joomla Website.&lt;br /&gt;
&lt;br /&gt;
==Installation Manager ==&lt;br /&gt;
&lt;br /&gt;
If you aren’t yet comfortable with using the Update Manager to update your site, you’re still ok!  There are more easy options to update your site.  The second method to update your Joomla! 1.6.5 site to 1.7.0 is to use the extension installer, just as if you were installing a component, module, plugin, or template in your site. This method is specially handy for users updating localized distributions made available by Language Communities.&lt;br /&gt;
&lt;br /&gt;
To update your site using this method, first, download the update package from JoomlaCode.  The 1.6.5 &amp;gt; 1.7.0 package can be found [http://joomlacode.org/gf/project/joomla/frs/?action=FrsReleaseBrowse&amp;amp;frs_package_id=5986 here].&lt;br /&gt;
&lt;br /&gt;
{{ambox|image=notice|style=notice|text=If you are not currently on Joomla! 1.6.5, use [[Upgrading 1.6 from an existing 1.6x version|this tutorial]] to update your site to 1.6.5, then resume the process of updating to 1.7}}&lt;br /&gt;
&lt;br /&gt;
After you download the update package, access your Joomla! installer by logging in to your adminstrator control panel, and navigating to the &#039;&#039;&#039;Extensions&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;Extension Manager&#039;&#039;&#039; option in your administrator menu.  From here you can select the file you just downloaded, and install it.  The Joomla! installer will upload the package, and install it, making any changes to files or the database as needed.&lt;br /&gt;
&lt;br /&gt;
== Manual Upload/Installation ==&lt;br /&gt;
&lt;br /&gt;
The last method available to update your site, involves a little more technical expertise, and should probably only be used if the previous methods won’t work due to a highly complex site or hosting issues (shared hosting for example). &#039;&#039;&#039; As usual back-up your site and your database.&#039;&#039;&#039; For most Joomla! sites, the first two methods will successfully update your site.  However, updating is still fairly easily, and should not be a problem.&lt;br /&gt;
&lt;br /&gt;
Before you begin, go to global configuration and on the server tab and in the Database Settings area find the database table prefix used by your site.&lt;br /&gt;
&lt;br /&gt;
To update your site manually, you will need to download the 1.6.5 &amp;gt; 1.7.0 update package from JoomlaCode.  You can download it [http://joomlacode.org/gf/project/joomla/frs/?action=FrsReleaseBrowse&amp;amp;frs_package_id=5986 here].  Unpack the package and you will find two zip files in it. You will only need the large zip file called &amp;lt;tt&amp;gt;Joomla_1.7.0-Stable-Update_Package.zip&amp;lt;/tt&amp;gt; for your update. Using an ftp client, upload the zip file to your server into the root directory of your website, and unpack the files.  This will over-write any modified files with new, updated files for 1.7.0.  Alternatively, you can unpack the &amp;lt;tt&amp;gt;Joomla_1.7.0-Stable-Update_Package.zip&amp;lt;/tt&amp;gt; on your local computer, then copy the un-packed files into your websites root, overwriting the modified files.&lt;br /&gt;
&lt;br /&gt;
After unpacking the files to your website you need to manually delete the files and folders listed in administrator/components/com_admin/script.php.&lt;br /&gt;
&lt;br /&gt;
This is the list of files:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;/templates/atomic/css/blueprint/src/blueprintcss-0-9-1-cheatsheet-3-5-3-gjms.pdf&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/manifests/packages/joomla.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/css/rounded.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/css/norounded.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_corner_bl.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_right_rtl.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_right.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_left.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_corner_br.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_left_rtl.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_modules/module/modal.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_modules/module/edit_assignment.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_menus/item/edit_modules.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_menus/items/default_batch.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_languages/language/edit.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_content/article/edit_metadata.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_categories/category/edit_metadata.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_categories/categories/default_batch.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/components/com_menus/models/forms/item_options.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/language/overrides/xx-XX.override.ini&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/helpsites-16.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Content_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Weblinks_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Newsfeeds_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Banners_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Contact_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/codemirror/css/docs.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/tiny_mce_gzip.js&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/tiny_mce_gzip.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/media/css/content.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/mod_languages/images/ta.gif&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/libraries/joomla/config.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/libraries/joomla/import.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/libraries/joomla/version.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And these folders:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/authentication/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/user/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/content/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/extension/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_modules/select&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_media&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/mod_popular&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/mod_status&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/mod_latest&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/components/com_weblinks/helpers/html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/pagebreak/css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/pagebreak/img&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After you have done this you need to manually update your site&#039;s database. To do so locate the file &amp;lt;tt&amp;gt;installation/sql/mysql/joomla_update_17ga.sql&amp;lt;/tt&amp;gt;, or the files &amp;lt;tt&amp;gt;/administrator/components/com_admin/sql/updates/mysql/1.7.0-2011-06-06.sql and administrator/components/com_admin/sql/updates/mysql/1.7.0-2011-06-06-2.sql&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
As of July 16th 2011 the file(s) contains:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;ALTER TABLE `#__languages` ADD COLUMN `ordering` int(11) NOT NULL default 0 AFTER `published`;&lt;br /&gt;
ALTER TABLE `#__languages` ADD INDEX `idx_ordering` (`ordering`);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;CREATE TABLE IF NOT EXISTS `#__associations` (&lt;br /&gt;
  `id` VARCHAR(50) NOT NULL COMMENT &#039;A reference to the associated item.&#039;,&lt;br /&gt;
  `context` VARCHAR(50) NOT NULL COMMENT &#039;The context of the associated item.&#039;,&lt;br /&gt;
  `key` CHAR(32) NOT NULL COMMENT &#039;The key for the association computed from an md5 on associated ids.&#039;,&lt;br /&gt;
  PRIMARY KEY `idx_context_id` (`context`, `id`),&lt;br /&gt;
  INDEX `idx_key` (`key`)&lt;br /&gt;
) DEFAULT CHARSET=utf8;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inside you will find parts like &amp;lt;code&amp;gt;#__languages&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;#__associations&amp;lt;/code&amp;gt;. Replace the pound sign and the first underscore (&amp;lt;code&amp;gt;#_&amp;lt;/code&amp;gt;) with your [[Database Table Prefix|database tables prefix]]. By default this is &amp;lt;code&amp;gt;jos&amp;lt;/code&amp;gt;. If you didn&#039;t get the prefix before starting, open your site&#039;s &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt; and search for &amp;lt;code&amp;gt;$dbprefix&amp;lt;/code&amp;gt;. The string inside the single quotes behind it is what you&#039;re looking for. So you need to change &amp;lt;code&amp;gt;#__languages&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;jos_languages&amp;lt;/code&amp;gt; and so on.&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve done this go to your site&#039;s phpmyadmin (or any way you usually manage your database) and open the database your site uses. There will be a tab called SQL, open this. Paste the content of your modified &amp;lt;tt&amp;gt;joomla_update_17ga.sql&amp;lt;/tt&amp;gt; inside the text area and press go.&lt;br /&gt;
&lt;br /&gt;
Your site is now updated to Joomla 1.7.&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 1.6]]&lt;br /&gt;
[[Category:Joomla! 1.7]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=File:1-Extensions-ExtensionManager.png&amp;diff=60923</id>
		<title>File:1-Extensions-ExtensionManager.png</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=File:1-Extensions-ExtensionManager.png&amp;diff=60923"/>
		<updated>2011-07-19T21:24:46Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Upgrading_1.6.5_to_1.7&amp;diff=60922</id>
		<title>Upgrading 1.6.5 to 1.7</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Upgrading_1.6.5_to_1.7&amp;diff=60922"/>
		<updated>2011-07-19T21:00:58Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: removed extra |&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{JVer|1.6}}{{JVer|1.7}}&lt;br /&gt;
&lt;br /&gt;
Joomla! 1.7 introduces a [[#Quick_Update | Quick Update]] for sites already up-to-date with Joomla 1.6.5.&lt;br /&gt;
&lt;br /&gt;
If your site is not already at 1.6.5, or you prefer not to use the [[Quick Update]], there are several other options:&lt;br /&gt;
&lt;br /&gt;
* [[#Installation_Manager | Traditional Update using the Installation Manager]]&lt;br /&gt;
* [[Upgrading 1.6 from an existing 1.6x version|Sites on 1.6, but not on 1.6.5]]&lt;br /&gt;
* [[#Manual_Upload.2FInstallation | Manual Update for 1.6.5]]&lt;br /&gt;
* [[Migrating from Joomla 1.5 to Joomla_1.6+]]&lt;br /&gt;
&lt;br /&gt;
== Quick Update ==&lt;br /&gt;
&lt;br /&gt;
For sites already up-to-date running Joomla 1.6.5, upgrading to Joomla 1.7 is now very easy.&lt;br /&gt;
&lt;br /&gt;
Before you begin, backup your Website files and database. This is important. Do not skip this step.&lt;br /&gt;
&lt;br /&gt;
1. In the Administrator, select the &#039;&#039;&#039;Extensions-Extensions Manager&#039;&#039;&#039; Menu item.&lt;br /&gt;
&lt;br /&gt;
2. Click the &#039;&#039;&#039;Update&#039;&#039;&#039; Sub menu.&lt;br /&gt;
&lt;br /&gt;
3. Click the &#039;&#039;&#039;Purge Cache&#039;&#039;&#039;, then &#039;&#039;&#039;Find Updates&#039;&#039;&#039; Buttons in the Button Bar located in the upper right of the page.&lt;br /&gt;
&lt;br /&gt;
4. Click the checkbox to the left of the Joomla line containing the latest Version Number and, next, press the Update Button in the Button Bar. Be patient while the system downloads and replaces the necessary files. This can take several minutes or could update very quickly, depending on your system.&lt;br /&gt;
&lt;br /&gt;
5. When the update has finished, you will be presented with this page.&lt;br /&gt;
&lt;br /&gt;
That&#039;s it! For the next Upgrade, follow these simple instructions again. It&#039;s now easy to update a Joomla Website.&lt;br /&gt;
&lt;br /&gt;
==Installation Manager ==&lt;br /&gt;
&lt;br /&gt;
If you aren’t yet comfortable with using the Update Manager to update your site, you’re still ok!  There are more easy options to update your site.  The second method to update your Joomla! 1.6.5 site to 1.7.0 is to use the extension installer, just as if you were installing a component, module, plugin, or template in your site. This method is specially handy for users updating localized distributions made available by Language Communities.&lt;br /&gt;
&lt;br /&gt;
To update your site using this method, first, download the update package from JoomlaCode.  The 1.6.5 &amp;gt; 1.7.0 package can be found [http://joomlacode.org/gf/project/joomla/frs/?action=FrsReleaseBrowse&amp;amp;frs_package_id=5986 here].&lt;br /&gt;
&lt;br /&gt;
{{ambox|image=notice|style=notice|text=If you are not currently on Joomla! 1.6.5, use [[Upgrading 1.6 from an existing 1.6x version|this tutorial]] to update your site to 1.6.5, then resume the process of updating to 1.7}}&lt;br /&gt;
&lt;br /&gt;
After you download the update package, access your Joomla! installer by logging in to your adminstrator control panel, and navigating to the &#039;&#039;&#039;Extensions&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;Extension Manager&#039;&#039;&#039; option in your administrator menu.  From here you can select the file you just downloaded, and install it.  The Joomla! installer will upload the package, and install it, making any changes to files or the database as needed.&lt;br /&gt;
&lt;br /&gt;
== Manual Upload/Installation ==&lt;br /&gt;
&lt;br /&gt;
The last method available to update your site, involves a little more technical expertise, and should probably only be used if the previous methods won’t work due to a highly complex site or hosting issues (shared hosting for example). &#039;&#039;&#039; As usual back-up your site and your database.&#039;&#039;&#039; For most Joomla! sites, the first two methods will successfully update your site.  However, updating is still fairly easily, and should not be a problem.&lt;br /&gt;
&lt;br /&gt;
Before you begin, go to global configuration and on the server tab and in the Database Settings area find the database table prefix used by your site.&lt;br /&gt;
&lt;br /&gt;
To update your site manually, you will need to download the 1.6.5 &amp;gt; 1.7.0 update package from JoomlaCode.  You can download it [http://joomlacode.org/gf/project/joomla/frs/?action=FrsReleaseBrowse&amp;amp;frs_package_id=5986 here].  Unpack the package and you will find two zip files in it. You will only need the large zip file called &amp;lt;tt&amp;gt;Joomla_1.7.0-Stable-Update_Package.zip&amp;lt;/tt&amp;gt; for your update. Using an ftp client, upload the zip file to your server into the root directory of your website, and unpack the files.  This will over-write any modified files with new, updated files for 1.7.0.  Alternatively, you can unpack the &amp;lt;tt&amp;gt;Joomla_1.7.0-Stable-Update_Package.zip&amp;lt;/tt&amp;gt; on your local computer, then copy the un-packed files into your websites root, overwriting the modified files.&lt;br /&gt;
&lt;br /&gt;
After unpacking the files to your website you need to manually delete the files and folders listed in administrator/components/com_admin/script.php.&lt;br /&gt;
&lt;br /&gt;
This is the list of files:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;/templates/atomic/css/blueprint/src/blueprintcss-0-9-1-cheatsheet-3-5-3-gjms.pdf&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/manifests/packages/joomla.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/css/rounded.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/css/norounded.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_corner_bl.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_right_rtl.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_right.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_left.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_corner_br.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_left_rtl.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_modules/module/modal.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_modules/module/edit_assignment.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_menus/item/edit_modules.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_menus/items/default_batch.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_languages/language/edit.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_content/article/edit_metadata.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_categories/category/edit_metadata.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_categories/categories/default_batch.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/components/com_menus/models/forms/item_options.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/language/overrides/xx-XX.override.ini&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/helpsites-16.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Content_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Weblinks_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Newsfeeds_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Banners_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Contact_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/codemirror/css/docs.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/tiny_mce_gzip.js&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/tiny_mce_gzip.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/media/css/content.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/mod_languages/images/ta.gif&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/libraries/joomla/config.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/libraries/joomla/import.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/libraries/joomla/version.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And these folders:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/authentication/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/user/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/content/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/extension/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_modules/select&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_media&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/mod_popular&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/mod_status&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/mod_latest&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/components/com_weblinks/helpers/html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/pagebreak/css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/pagebreak/img&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After you have done this you need to manually update your site&#039;s database. To do so locate the file &amp;lt;tt&amp;gt;installation/sql/mysql/joomla_update_17ga.sql&amp;lt;/tt&amp;gt;, or the files &amp;lt;tt&amp;gt;/administrator/components/com_admin/sql/updates/mysql/1.7.0-2011-06-06.sql and administrator/components/com_admin/sql/updates/mysql/1.7.0-2011-06-06-2.sql&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
As of July 16th 2011 the file(s) contains:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;ALTER TABLE `#__languages` ADD COLUMN `ordering` int(11) NOT NULL default 0 AFTER `published`;&lt;br /&gt;
ALTER TABLE `#__languages` ADD INDEX `idx_ordering` (`ordering`);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;CREATE TABLE IF NOT EXISTS `#__associations` (&lt;br /&gt;
  `id` VARCHAR(50) NOT NULL COMMENT &#039;A reference to the associated item.&#039;,&lt;br /&gt;
  `context` VARCHAR(50) NOT NULL COMMENT &#039;The context of the associated item.&#039;,&lt;br /&gt;
  `key` CHAR(32) NOT NULL COMMENT &#039;The key for the association computed from an md5 on associated ids.&#039;,&lt;br /&gt;
  PRIMARY KEY `idx_context_id` (`context`, `id`),&lt;br /&gt;
  INDEX `idx_key` (`key`)&lt;br /&gt;
) DEFAULT CHARSET=utf8;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inside you will find parts like &amp;lt;code&amp;gt;#__languages&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;#__associations&amp;lt;/code&amp;gt;. Replace the pound sign and the first underscore (&amp;lt;code&amp;gt;#_&amp;lt;/code&amp;gt;) with your [[Database Table Prefix|database tables prefix]]. By default this is &amp;lt;code&amp;gt;jos&amp;lt;/code&amp;gt;. If you didn&#039;t get the prefix before starting, open your site&#039;s &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt; and search for &amp;lt;code&amp;gt;$dbprefix&amp;lt;/code&amp;gt;. The string inside the single quotes behind it is what you&#039;re looking for. So you need to change &amp;lt;code&amp;gt;#__languages&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;jos_languages&amp;lt;/code&amp;gt; and so on.&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve done this go to your site&#039;s phpmyadmin (or any way you usually manage your database) and open the database your site uses. There will be a tab called SQL, open this. Paste the content of your modified &amp;lt;tt&amp;gt;joomla_update_17ga.sql&amp;lt;/tt&amp;gt; inside the text area and press go.&lt;br /&gt;
&lt;br /&gt;
Your site is now updated to Joomla 1.7.&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 1.6]]&lt;br /&gt;
[[Category:Joomla! 1.7]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Upgrading_1.6.5_to_1.7&amp;diff=60921</id>
		<title>Upgrading 1.6.5 to 1.7</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Upgrading_1.6.5_to_1.7&amp;diff=60921"/>
		<updated>2011-07-19T20:59:40Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: Simplifying the instructions for the Quick Upgrade (pictures will be added next)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{JVer|1.6}}{{JVer|1.7}}&lt;br /&gt;
&lt;br /&gt;
Joomla! 1.7 introduces a [[#Quick_Update || Quick Update]] for sites already up-to-date with Joomla 1.6.5.&lt;br /&gt;
&lt;br /&gt;
If your site is not already at 1.6.5, or you prefer not to use the [[Quick Update]], there are several other options:&lt;br /&gt;
&lt;br /&gt;
* [[#Installation_Manager || Traditional Update using the Installation Manager]]&lt;br /&gt;
* [[Upgrading 1.6 from an existing 1.6x version|Sites on 1.6, but not on 1.6.5]]&lt;br /&gt;
* [[#Manual_Upload.2FInstallation || Manual Update for 1.6.5]]&lt;br /&gt;
* [[Migrating from Joomla 1.5 to Joomla_1.6+]]&lt;br /&gt;
&lt;br /&gt;
== Quick Update ==&lt;br /&gt;
&lt;br /&gt;
For sites already up-to-date running Joomla 1.6.5, upgrading to Joomla 1.7 is now very easy.&lt;br /&gt;
&lt;br /&gt;
Before you begin, backup your Website files and database. This is important. Do not skip this step.&lt;br /&gt;
&lt;br /&gt;
1. In the Administrator, select the &#039;&#039;&#039;Extensions-Extensions Manager&#039;&#039;&#039; Menu item.&lt;br /&gt;
&lt;br /&gt;
2. Click the &#039;&#039;&#039;Update&#039;&#039;&#039; Sub menu.&lt;br /&gt;
&lt;br /&gt;
3. Click the &#039;&#039;&#039;Purge Cache&#039;&#039;&#039;, then &#039;&#039;&#039;Find Updates&#039;&#039;&#039; Buttons in the Button Bar located in the upper right of the page.&lt;br /&gt;
&lt;br /&gt;
4. Click the checkbox to the left of the Joomla line containing the latest Version Number and, next, press the Update Button in the Button Bar. Be patient while the system downloads and replaces the necessary files. This can take several minutes or could update very quickly, depending on your system.&lt;br /&gt;
&lt;br /&gt;
5. When the update has finished, you will be presented with this page.&lt;br /&gt;
&lt;br /&gt;
That&#039;s it! For the next Upgrade, follow these simple instructions again. It&#039;s now easy to update a Joomla Website.&lt;br /&gt;
&lt;br /&gt;
==Installation Manager ==&lt;br /&gt;
&lt;br /&gt;
If you aren’t yet comfortable with using the Update Manager to update your site, you’re still ok!  There are more easy options to update your site.  The second method to update your Joomla! 1.6.5 site to 1.7.0 is to use the extension installer, just as if you were installing a component, module, plugin, or template in your site. This method is specially handy for users updating localized distributions made available by Language Communities.&lt;br /&gt;
&lt;br /&gt;
To update your site using this method, first, download the update package from JoomlaCode.  The 1.6.5 &amp;gt; 1.7.0 package can be found [http://joomlacode.org/gf/project/joomla/frs/?action=FrsReleaseBrowse&amp;amp;frs_package_id=5986 here].&lt;br /&gt;
&lt;br /&gt;
{{ambox|image=notice|style=notice|text=If you are not currently on Joomla! 1.6.5, use [[Upgrading 1.6 from an existing 1.6x version|this tutorial]] to update your site to 1.6.5, then resume the process of updating to 1.7}}&lt;br /&gt;
&lt;br /&gt;
After you download the update package, access your Joomla! installer by logging in to your adminstrator control panel, and navigating to the &#039;&#039;&#039;Extensions&#039;&#039;&#039; &amp;gt; &#039;&#039;&#039;Extension Manager&#039;&#039;&#039; option in your administrator menu.  From here you can select the file you just downloaded, and install it.  The Joomla! installer will upload the package, and install it, making any changes to files or the database as needed.&lt;br /&gt;
&lt;br /&gt;
== Manual Upload/Installation ==&lt;br /&gt;
&lt;br /&gt;
The last method available to update your site, involves a little more technical expertise, and should probably only be used if the previous methods won’t work due to a highly complex site or hosting issues (shared hosting for example). &#039;&#039;&#039; As usual back-up your site and your database.&#039;&#039;&#039; For most Joomla! sites, the first two methods will successfully update your site.  However, updating is still fairly easily, and should not be a problem.&lt;br /&gt;
&lt;br /&gt;
Before you begin, go to global configuration and on the server tab and in the Database Settings area find the database table prefix used by your site.&lt;br /&gt;
&lt;br /&gt;
To update your site manually, you will need to download the 1.6.5 &amp;gt; 1.7.0 update package from JoomlaCode.  You can download it [http://joomlacode.org/gf/project/joomla/frs/?action=FrsReleaseBrowse&amp;amp;frs_package_id=5986 here].  Unpack the package and you will find two zip files in it. You will only need the large zip file called &amp;lt;tt&amp;gt;Joomla_1.7.0-Stable-Update_Package.zip&amp;lt;/tt&amp;gt; for your update. Using an ftp client, upload the zip file to your server into the root directory of your website, and unpack the files.  This will over-write any modified files with new, updated files for 1.7.0.  Alternatively, you can unpack the &amp;lt;tt&amp;gt;Joomla_1.7.0-Stable-Update_Package.zip&amp;lt;/tt&amp;gt; on your local computer, then copy the un-packed files into your websites root, overwriting the modified files.&lt;br /&gt;
&lt;br /&gt;
After unpacking the files to your website you need to manually delete the files and folders listed in administrator/components/com_admin/script.php.&lt;br /&gt;
&lt;br /&gt;
This is the list of files:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;/templates/atomic/css/blueprint/src/blueprintcss-0-9-1-cheatsheet-3-5-3-gjms.pdf&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/manifests/packages/joomla.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/css/rounded.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/css/norounded.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_corner_bl.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_right_rtl.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_right.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_black.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_bl_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_left.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_dark.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_br_med.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tl_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_crn_tr_light.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_corner_br.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/bluestork/images/j_header_left_rtl.png&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_modules/module/modal.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_modules/module/edit_assignment.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_menus/item/edit_modules.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_menus/items/default_batch.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_languages/language/edit.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_content/article/edit_metadata.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_categories/category/edit_metadata.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_categories/categories/default_batch.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/components/com_menus/models/forms/item_options.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/language/overrides/xx-XX.override.ini&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/helpsites-16.xml&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Content_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Weblinks_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Newsfeeds_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Banners_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/help/en-GB/Components_Contact_Categories_Edit.html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/codemirror/css/docs.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/tiny_mce_gzip.js&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/tiny_mce_gzip.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/media/css/content.css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/mod_languages/images/ta.gif&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/libraries/joomla/config.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/libraries/joomla/import.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/libraries/joomla/version.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And these folders:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/authentication/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/user/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/content/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/plugins/extension/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_modules/select&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/com_media&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/mod_popular&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/mod_status&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/templates/hathor/html/mod_latest&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/administrator/components/com_weblinks/helpers/html&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/pagebreak/css&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/pagebreak/img&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;/media/editors/tinymce/jscripts/tiny_mce/plugins/example&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After you have done this you need to manually update your site&#039;s database. To do so locate the file &amp;lt;tt&amp;gt;installation/sql/mysql/joomla_update_17ga.sql&amp;lt;/tt&amp;gt;, or the files &amp;lt;tt&amp;gt;/administrator/components/com_admin/sql/updates/mysql/1.7.0-2011-06-06.sql and administrator/components/com_admin/sql/updates/mysql/1.7.0-2011-06-06-2.sql&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
As of July 16th 2011 the file(s) contains:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;ALTER TABLE `#__languages` ADD COLUMN `ordering` int(11) NOT NULL default 0 AFTER `published`;&lt;br /&gt;
ALTER TABLE `#__languages` ADD INDEX `idx_ordering` (`ordering`);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;CREATE TABLE IF NOT EXISTS `#__associations` (&lt;br /&gt;
  `id` VARCHAR(50) NOT NULL COMMENT &#039;A reference to the associated item.&#039;,&lt;br /&gt;
  `context` VARCHAR(50) NOT NULL COMMENT &#039;The context of the associated item.&#039;,&lt;br /&gt;
  `key` CHAR(32) NOT NULL COMMENT &#039;The key for the association computed from an md5 on associated ids.&#039;,&lt;br /&gt;
  PRIMARY KEY `idx_context_id` (`context`, `id`),&lt;br /&gt;
  INDEX `idx_key` (`key`)&lt;br /&gt;
) DEFAULT CHARSET=utf8;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inside you will find parts like &amp;lt;code&amp;gt;#__languages&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;#__associations&amp;lt;/code&amp;gt;. Replace the pound sign and the first underscore (&amp;lt;code&amp;gt;#_&amp;lt;/code&amp;gt;) with your [[Database Table Prefix|database tables prefix]]. By default this is &amp;lt;code&amp;gt;jos&amp;lt;/code&amp;gt;. If you didn&#039;t get the prefix before starting, open your site&#039;s &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt; and search for &amp;lt;code&amp;gt;$dbprefix&amp;lt;/code&amp;gt;. The string inside the single quotes behind it is what you&#039;re looking for. So you need to change &amp;lt;code&amp;gt;#__languages&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;jos_languages&amp;lt;/code&amp;gt; and so on.&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve done this go to your site&#039;s phpmyadmin (or any way you usually manage your database) and open the database your site uses. There will be a tab called SQL, open this. Paste the content of your modified &amp;lt;tt&amp;gt;joomla_update_17ga.sql&amp;lt;/tt&amp;gt; inside the text area and press go.&lt;br /&gt;
&lt;br /&gt;
Your site is now updated to Joomla 1.7.&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 1.6]]&lt;br /&gt;
[[Category:Joomla! 1.7]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01&amp;diff=60155</id>
		<title>User:Rvsjoen/tutorial/Developing an MVC Component/Part 01</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_an_MVC_Component/Part_01&amp;diff=60155"/>
		<updated>2011-07-10T01:56:11Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Developing a Basic Component =&lt;br /&gt;
Let&#039;s create a &#039;&#039;Hello World!&#039;&#039; component. All file name and path references in this tutorial are relative to the directory you are developing your extension in.&lt;br /&gt;
&lt;br /&gt;
=== Basic frontend ===&lt;br /&gt;
With your favorite editor, create a file &amp;lt;tt&amp;gt;site/helloworld.php&amp;lt;/tt&amp;gt; containing the following text, yes, it is very simple but its purpose is simply to demonstrate where the entry point of the component is. After all, this is part 01. &lt;br /&gt;
&lt;br /&gt;
When Joomla! looks for a component it will look at the &#039;&#039;&#039;option&#039;&#039;&#039; variable given in the url, in our case this will be &#039;&#039;&#039;option=com_helloworld&#039;&#039;&#039;. This means that Joomla! will look in the &amp;lt;tt&amp;gt;components&amp;lt;/tt&amp;gt; directory for a folder named &amp;lt;tt&amp;gt;com_helloworld&amp;lt;/tt&amp;gt; and load the file &amp;lt;tt&amp;gt;helloworld.php&amp;lt;/tt&amp;gt; contained within that directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;site/helloworld.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;site/helloworld.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
Hello World&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Basic backend ===&lt;br /&gt;
&lt;br /&gt;
You might at this point think to yourself, why are we creating a backend file when this part of the tutorial is only supposed to cover the frontend ? The answer to that question is simple, all configuration is done in the Administrator -- even though it is displayed for visitors in the frontend. &lt;br /&gt;
&lt;br /&gt;
With your favorite editor, create a file &amp;lt;tt&amp;gt;admin/helloworld.php&amp;lt;/tt&amp;gt; containing the following text&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;admin/helloworld.php&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;admin/helloworld.php&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
Hello Admins&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation manifest ===&lt;br /&gt;
&lt;br /&gt;
In order for our extension to be recognized by Joomla! we also need to provide an installation xml file, also called the manifest. Open up &#039;&#039;helloworld.xml&#039;&#039; in your favorite editor and add the following piece of code.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;helloworld.xml&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;helloworld.xml&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot; line&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;extension type=&amp;quot;component&amp;quot; version=&amp;quot;1.7.0&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;name&amp;gt;Hello World!&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;!-- The following elements are optional and free of formatting constraints --&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;June 2011&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
	&amp;lt;author&amp;gt;John Doe&amp;lt;/author&amp;gt;&lt;br /&gt;
	&amp;lt;authorEmail&amp;gt;john.doe@example.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
	&amp;lt;authorUrl&amp;gt;http://www.example.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
	&amp;lt;copyright&amp;gt;Copyright Info&amp;lt;/copyright&amp;gt;&lt;br /&gt;
	&amp;lt;license&amp;gt;License Info&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;!--  The version string is recorded in the components table --&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;0.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;!-- The description is optional and defaults to the name --&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;Description of the Hello World component ...&amp;lt;/description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- Site Main File Copy Section --&amp;gt;&lt;br /&gt;
	&amp;lt;!-- Note the folder attribute: This attribute describes the folder&lt;br /&gt;
		to copy FROM in the package to install therefore files copied&lt;br /&gt;
		in this section are copied from &amp;quot;site/&amp;quot; in the package --&amp;gt;&lt;br /&gt;
	&amp;lt;files folder=&amp;quot;site&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;helloworld.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;administration&amp;gt;&lt;br /&gt;
		&amp;lt;!-- Administration Menu Section --&amp;gt;&lt;br /&gt;
		&amp;lt;menu&amp;gt;Hello World!&amp;lt;/menu&amp;gt;&lt;br /&gt;
		&amp;lt;!-- Administration Main File Copy Section --&amp;gt;&lt;br /&gt;
		&amp;lt;!-- Note the folder attribute: This attribute describes the folder&lt;br /&gt;
			to copy FROM in the package to install therefore files copied&lt;br /&gt;
			in this section are copied from &amp;quot;admin/&amp;quot; in the package --&amp;gt;&lt;br /&gt;
		&amp;lt;files folder=&amp;quot;admin&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;!-- Admin Main File Copy Section --&amp;gt;&lt;br /&gt;
			&amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
			&amp;lt;filename&amp;gt;helloworld.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;/files&amp;gt;&lt;br /&gt;
	&amp;lt;/administration&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As we can see, there is a lot of markup here. This is pretty much a minimal extension manifest and we will try to explain the most important bits and pieces. First off, we notice that we have an administration section, using our reasoning skills this pretty much means that whats outside the administration section is for the site application. This is not the full truth but pretty close to it.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;files&amp;gt;&amp;lt;/code&amp;gt; tag has an attribute &#039;&#039;&#039;folder&#039;&#039;&#039; which specifies which folder to look for the files in inside our extension package. Our top level extension structure has two folders &amp;lt;tt&amp;gt;site&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;admin&amp;lt;/tt&amp;gt;. So what this tag does is tell the Joomla! installer which files to copy and to where.&lt;br /&gt;
&lt;br /&gt;
Inside our administration section we also have a &amp;lt;code&amp;gt;&amp;lt;menu&amp;gt;&amp;lt;/code&amp;gt; tag which simply decides which name we want to put in the Components menu in the backend when the component is installed. If we do not provide this ourselves, Joomla! will simply make a name for us based on the component name.&lt;br /&gt;
&lt;br /&gt;
=== Additional files ===&lt;br /&gt;
&lt;br /&gt;
In order to stay in sync with the Joomla! conventions, and to not allow misconfigured web servers to allow directory listings in our component, we also need to add the following &amp;lt;tt&amp;gt;index.html&amp;lt;/tt&amp;gt; file to every folder we create within our extension structure. The purpose of this file is to simply show a blank page if someone attempts to see the directory contents by using the absolute url.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;index.html&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;index.html&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installing your extension ==&lt;br /&gt;
&lt;br /&gt;
If you have used Joomla before reading this tutorial, you have noticed that extensions are installed using a compressed file containing all the things which are needed for installing and uninstalling them. &lt;br /&gt;
&lt;br /&gt;
A new feature made available in Joomla! 1.6 is &amp;quot;discover.&amp;quot; That means you can place the filesin the correct places inside your Joomla! installation, and the &amp;quot;Discover&amp;quot; option within the extension manager will install it, when selected.&lt;br /&gt;
&lt;br /&gt;
After installlation will notice that the Hello World component is visible in the administrator site of your Joomla! installation under the Components menu.&lt;br /&gt;
&lt;br /&gt;
You can test this basic component by putting index.php?option=com_helloworld or administrator/index.php?option=com_helloworld in your browser address bar. &lt;br /&gt;
&lt;br /&gt;
=== Packaging an installation zip file ===&lt;br /&gt;
&lt;br /&gt;
Create a compressed file of your extension directory using the structure shown in the file listing section of this page or download the provided installable package.&lt;br /&gt;
&lt;br /&gt;
When you have this package, install it using the extension manager.&lt;br /&gt;
&lt;br /&gt;
== File listing == &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#helloworld.xml|helloworld.xml]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#site/helloworld.php|site/helloworld.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#index.html|site/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#index.html|admin/index.html]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;[[#admin/helloworld.php|admin/helloworld.php]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download this part ==&lt;br /&gt;
&lt;br /&gt;
[http://www.leyar.com/joomlaorg/part01.zip com_helloworld-part01.zip]&lt;br /&gt;
&lt;br /&gt;
== Articles in this series ==&lt;br /&gt;
{{:Chunks:Developing_an_MVC_Component_Contents}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Joomla! 1.6]]&lt;br /&gt;
[[Category:Joomla! 1.7]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_an_MVC_Component&amp;diff=60154</id>
		<title>User:Rvsjoen/tutorial/Developing an MVC Component</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_an_MVC_Component&amp;diff=60154"/>
		<updated>2011-07-10T01:46:46Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: /* Model */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
A software framework contains a set of application development tools for developers. Joomla has been designed for extensibility. The scope of this tutorial will be to develop a simple Hello World! component using the convention and coding standards employed by the Joomla! framework.&lt;br /&gt;
&lt;br /&gt;
Joomla! is constructed using three different applications:&lt;br /&gt;
&lt;br /&gt;
=== Site ===&lt;br /&gt;
The site application, also called frontend, is the area of your site that guests and users see. It is used for displaying content. The components of the site application live in the &amp;quot;components&amp;quot; folder in your Joomla! root.&lt;br /&gt;
&lt;br /&gt;
=== Administrator ===&lt;br /&gt;
The administrator application, also called backend, is the administration area of your site. Where logged in managers and administrators can manage the site. The components of the administrator application live in the &amp;quot;administrator/components&amp;quot; folder in your Joomla! root.&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
The installation application is used once when installing Joomla! the details of this application will not be covered by this tutorial.&lt;br /&gt;
for installing Joomla!)&lt;br /&gt;
&lt;br /&gt;
== Introduction to Model-View-Controller ==&lt;br /&gt;
[[image:MVC basics.png|frameless|right]]While the idea behind a component may seem extremely simple, code can quickly become very complex as additional features are added or the interface is customized.&lt;br /&gt;
&lt;br /&gt;
Model-View-Controller (referred to as MVC) is a software design pattern that can be used to organize code in such a way that the business logic and data presentation are separate. The premise behind this approach is that if the business logic is grouped into one section, then the interface and user interaction that surrounds the data can be revised and customized without having to reprogram the business logic. MVC was originally developed to map the traditional input, processing, output roles into a logical GUI architecture.&lt;br /&gt;
&lt;br /&gt;
These three main roles are the basis for the Joomla! MVC. They are described here in brief, but for a more thorough explanation, please refer to the links provided at the end of this tutorial. Also do not despair, this explanation is intended as a reference to the MVC pattern and the bits and pieces of it will become clearer as you progress through this tutorial, allowing you to take a step back and reconsider what is explained here, perhaps with greater clarity.&lt;br /&gt;
&lt;br /&gt;
=== Model ===&lt;br /&gt;
The model is the part of the component that encapsulates the application&#039;s data. It will often provide routines to retrieve, manage and manipulate this data. &lt;br /&gt;
&lt;br /&gt;
In our case, the model will contain methods to add, remove and update information about the greetings in the database. It will also contain methods to retrieve the list of greetings from the database. &lt;br /&gt;
&lt;br /&gt;
In general, the underlying data access technique should be encapsulated in the model. In this way, if an application uses a different type of database system or if the data elements change, the model is the only element that needs to be changed, not the view or the controller.&lt;br /&gt;
&lt;br /&gt;
=== View ===&lt;br /&gt;
The view is the part of the component that is used to render the data from the model in a manner that is suitable for interaction. For a web-based application, the view would generally be an HTML page that is returned to the data. The view pulls data from the model (which is passed to it from the controller) and feeds the data into a template which is populated and presented to the user. The view does not cause the data to be modified in any way, it only displays data retrieved from the model.&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
The controller is responsible for responding to user actions. In the case of a web application, a user action is (generally) a page request. The controller will determine what request is being made by the user and respond appropriately by triggering the model to manipulate the data appropriately and passing the model into the view. The controller does not display the data in the model, it only triggers methods in the model which modify the data, and then pass the model into the view which displays the data.&lt;br /&gt;
&lt;br /&gt;
=== MVC connection ===&lt;br /&gt;
[[image:MVC joomla.png|frameless|right]]The simplified picture on the right depicts the basic components being used within Joomla. Besides the Model, the View and the Controller, an Entry Point has been added that is depicted as a small circle. Attached to the viewer (view) a Template has been added. With these five components you should be able to understand this tutorial about making a basic Joomla! MVC component.&lt;br /&gt;
&lt;br /&gt;
== Joomla! MVC Implementation ==&lt;br /&gt;
In Joomla!, the MVC pattern is implemented using three classes: JModel, JView and JController. For more detailed information about these classes, please refer to the API reference documentation.&lt;br /&gt;
&lt;br /&gt;
== Developing the component ==&lt;br /&gt;
&lt;br /&gt;
Ok, now that we have all the nitty gritty details and theory covered, let us get cracking.&lt;br /&gt;
&lt;br /&gt;
This tutorial is meant to serve both as a start-to-finish tutorial, and as a simple reference and showcase on how you as a developer can use the framework to implement certain features in your component. In order to accomplish this the tutorial is divded into parts, where each part builds on the code from the previous part, allowing you to jump in at any level.&lt;br /&gt;
&lt;br /&gt;
{{:Chunks:Developing_an_MVC_Component_Contents}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Joomla! 1.6]]&lt;br /&gt;
[[Category:Joomla! 1.7]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_an_MVC_Component&amp;diff=60153</id>
		<title>User:Rvsjoen/tutorial/Developing an MVC Component</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Rvsjoen/tutorial/Developing_an_MVC_Component&amp;diff=60153"/>
		<updated>2011-07-10T01:44:28Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
A software framework contains a set of application development tools for developers. Joomla has been designed for extensibility. The scope of this tutorial will be to develop a simple Hello World! component using the convention and coding standards employed by the Joomla! framework.&lt;br /&gt;
&lt;br /&gt;
Joomla! is constructed using three different applications:&lt;br /&gt;
&lt;br /&gt;
=== Site ===&lt;br /&gt;
The site application, also called frontend, is the area of your site that guests and users see. It is used for displaying content. The components of the site application live in the &amp;quot;components&amp;quot; folder in your Joomla! root.&lt;br /&gt;
&lt;br /&gt;
=== Administrator ===&lt;br /&gt;
The administrator application, also called backend, is the administration area of your site. Where logged in managers and administrators can manage the site. The components of the administrator application live in the &amp;quot;administrator/components&amp;quot; folder in your Joomla! root.&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
The installation application is used once when installing Joomla! the details of this application will not be covered by this tutorial.&lt;br /&gt;
for installing Joomla!)&lt;br /&gt;
&lt;br /&gt;
== Introduction to Model-View-Controller ==&lt;br /&gt;
[[image:MVC basics.png|frameless|right]]While the idea behind a component may seem extremely simple, code can quickly become very complex as additional features are added or the interface is customized.&lt;br /&gt;
&lt;br /&gt;
Model-View-Controller (referred to as MVC) is a software design pattern that can be used to organize code in such a way that the business logic and data presentation are separate. The premise behind this approach is that if the business logic is grouped into one section, then the interface and user interaction that surrounds the data can be revised and customized without having to reprogram the business logic. MVC was originally developed to map the traditional input, processing, output roles into a logical GUI architecture.&lt;br /&gt;
&lt;br /&gt;
These three main roles are the basis for the Joomla! MVC. They are described here in brief, but for a more thorough explanation, please refer to the links provided at the end of this tutorial. Also do not despair, this explanation is intended as a reference to the MVC pattern and the bits and pieces of it will become clearer as you progress through this tutorial, allowing you to take a step back and reconsider what is explained here, perhaps with greater clarity.&lt;br /&gt;
&lt;br /&gt;
=== Model ===&lt;br /&gt;
The model is the part of the component that encapsulates the application&#039;s data. It will often provide routines to manage and manipulate this data in a meaningful way in addition to routines that retrieve the data from the model. In our case, the model will contain methods to add, remove and update information about the greetings in the database. It will also contain methods to retrieve the list of greetings from the database. In general, the underlying data access technique should be encapsulated in the model. In this way, if an application is to be moved from a system that utilizes a flat file to store its information to a system that uses a database, the model is the only element that needs to be changed, not the view or the controller.&lt;br /&gt;
&lt;br /&gt;
=== View ===&lt;br /&gt;
The view is the part of the component that is used to render the data from the model in a manner that is suitable for interaction. For a web-based application, the view would generally be an HTML page that is returned to the data. The view pulls data from the model (which is passed to it from the controller) and feeds the data into a template which is populated and presented to the user. The view does not cause the data to be modified in any way, it only displays data retrieved from the model.&lt;br /&gt;
&lt;br /&gt;
=== Controller ===&lt;br /&gt;
The controller is responsible for responding to user actions. In the case of a web application, a user action is (generally) a page request. The controller will determine what request is being made by the user and respond appropriately by triggering the model to manipulate the data appropriately and passing the model into the view. The controller does not display the data in the model, it only triggers methods in the model which modify the data, and then pass the model into the view which displays the data.&lt;br /&gt;
&lt;br /&gt;
=== MVC connection ===&lt;br /&gt;
[[image:MVC joomla.png|frameless|right]]The simplified picture on the right depicts the basic components being used within Joomla. Besides the Model, the View and the Controller, an Entry Point has been added that is depicted as a small circle. Attached to the viewer (view) a Template has been added. With these five components you should be able to understand this tutorial about making a basic Joomla! MVC component.&lt;br /&gt;
&lt;br /&gt;
== Joomla! MVC Implementation ==&lt;br /&gt;
In Joomla!, the MVC pattern is implemented using three classes: JModel, JView and JController. For more detailed information about these classes, please refer to the API reference documentation.&lt;br /&gt;
&lt;br /&gt;
== Developing the component ==&lt;br /&gt;
&lt;br /&gt;
Ok, now that we have all the nitty gritty details and theory covered, let us get cracking.&lt;br /&gt;
&lt;br /&gt;
This tutorial is meant to serve both as a start-to-finish tutorial, and as a simple reference and showcase on how you as a developer can use the framework to implement certain features in your component. In order to accomplish this the tutorial is divded into parts, where each part builds on the code from the previous part, allowing you to jump in at any level.&lt;br /&gt;
&lt;br /&gt;
{{:Chunks:Developing_an_MVC_Component_Contents}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Joomla! 1.6]]&lt;br /&gt;
[[Category:Joomla! 1.7]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Why_does_the_administrator_logoff_all_of_the_sudden&amp;diff=48652</id>
		<title>Why does the administrator logoff all of the sudden</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Why_does_the_administrator_logoff_all_of_the_sudden&amp;diff=48652"/>
		<updated>2011-04-22T11:12:25Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In Joomla! 1.6, the session table data column was changed from a TEXT datatype to a varchar(20480).&lt;br /&gt;
&lt;br /&gt;
That is not enough storage capacity for the needs of many Components. In cases where the memory needs are exceeded, a silent error results that manifests as a logoff to users.&lt;br /&gt;
&lt;br /&gt;
To fix, use a tool like phpMyAdmin to change the datatype of the data field from varchar(20480) to MEDIUMTEXT or TEXT (either is fine.)&lt;br /&gt;
&lt;br /&gt;
This issue will likely not be fixed until version 1.7 due to challenges with changing the SQL Table definitions for upgrades. For now, manual changes are required.&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 1.6.3 FAQ]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Why_does_the_administrator_logoff_all_of_the_sudden&amp;diff=48651</id>
		<title>Why does the administrator logoff all of the sudden</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Why_does_the_administrator_logoff_all_of_the_sudden&amp;diff=48651"/>
		<updated>2011-04-22T11:10:08Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: New page: In Joomla! 1.6, the session table data column was changed from a text datatype to a varchar(20480).  That is not enough storage capacity for the needs of many Components. In cases where th...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In Joomla! 1.6, the session table data column was changed from a text datatype to a varchar(20480).&lt;br /&gt;
&lt;br /&gt;
That is not enough storage capacity for the needs of many Components. In cases where the memory needs are exceeded, a silent error results that manifests as a logoff to users.&lt;br /&gt;
&lt;br /&gt;
To fix, use a tool like phpMyAdmin to change the datatype of the data field from varchar(20480) to MEDIUMTEXT or TEXT (either is fine.)&lt;br /&gt;
&lt;br /&gt;
This issue will likely not be fixed until version 1.7 due to challenges with changing the SQL Table definitions for upgrades. For now, manual changes are required.&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 1.6.3 FAQ]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J2.5:What%27s_new_in_Joomla_2.5&amp;diff=33922</id>
		<title>J2.5:What&#039;s new in Joomla 2.5</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J2.5:What%27s_new_in_Joomla_2.5&amp;diff=33922"/>
		<updated>2011-01-02T23:19:15Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: /* New Events */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The principal changes introduced in Joomla 1.6 are:-&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;New Access Control System&#039;&#039;&#039; - Allows site administrators control over who can view and manage content.&lt;br /&gt;
* &#039;&#039;&#039;Unlimited Depth Organizational Model&#039;&#039;&#039; - Gives site administrators and content creators user-defined category levels that allow for the creation of a category tree with as many or as few levels for organizing articles and other content as needed.&lt;br /&gt;
* &#039;&#039;&#039;One-Click Extension Updates&#039;&#039;&#039; - Allows users to keep sites secure and controlled by simplifying the process of updating extensions.&lt;br /&gt;
* &#039;&#039;&#039;Semantic XHTML Layouts&#039;&#039;&#039; - Provides a better baseline for content presentation.&lt;br /&gt;
&lt;br /&gt;
The following is a more complete list of changes.&lt;br /&gt;
==Administrators==&lt;br /&gt;
===Introduction===&lt;br /&gt;
*Consistent UI&lt;br /&gt;
*Consistent Features&lt;br /&gt;
*Richer sample data&lt;br /&gt;
*IE 7+, Firefox 3.x, Safari 4.x&lt;br /&gt;
*PHP 5.2.4+&lt;br /&gt;
*MySQL 5.0.4 (allows for wide varchars)&lt;br /&gt;
&lt;br /&gt;
===Administrator===&lt;br /&gt;
*Menu Changes&lt;br /&gt;
*Submenu consistency&lt;br /&gt;
&lt;br /&gt;
====Toolbar Features====&lt;br /&gt;
*Save&lt;br /&gt;
*Save &amp;amp; Close&lt;br /&gt;
*Save &amp;amp; New&lt;br /&gt;
*Save as Copy&lt;br /&gt;
*Expired session will return to the page you were on then you got logged out (can be hit and miss)&lt;br /&gt;
*Most search filters allow you to search for a record id via [ id:123 ]&lt;br /&gt;
*&amp;quot;Parameters&amp;quot; are now referred to as &amp;quot;Options&amp;quot;&lt;br /&gt;
*Template Styles&lt;br /&gt;
*Integrated Trash Management&lt;br /&gt;
*Consistent archive support for most content&lt;br /&gt;
*Extension Installer Improvements&lt;br /&gt;
&lt;br /&gt;
===Module Enhancements===&lt;br /&gt;
*Publish up and down&lt;br /&gt;
*Add option to display on all pages &amp;quot;except&amp;quot; selected&lt;br /&gt;
*Expanded Category System&lt;br /&gt;
*404 Page Redirection&lt;br /&gt;
*Better Menu Management&lt;br /&gt;
*Alternative layouts for content, modules and menus (taken from the home template)&lt;br /&gt;
&lt;br /&gt;
===New Templates===&lt;br /&gt;
*Atomic&lt;br /&gt;
*Beez2&lt;br /&gt;
*(Administrator) Bluestork (replaces Khephri)&lt;br /&gt;
*(Administrator) Hathor&lt;br /&gt;
*Legacy layer in Milkyway&lt;br /&gt;
*Backend supports layout overrides&lt;br /&gt;
*New Modules&lt;br /&gt;
*New Plugins&lt;br /&gt;
*Content Languages&lt;br /&gt;
*User Login Permissions&lt;br /&gt;
*Activate selected users from the user list now (and filter)&lt;br /&gt;
*Administrator registration approval&lt;br /&gt;
*Polls component removed&lt;br /&gt;
*New codemirror editor&lt;br /&gt;
&lt;br /&gt;
===SEO Improvements===&lt;br /&gt;
*Meta decription and keywords for categories&lt;br /&gt;
*Articles can change the page title and page header separately&lt;br /&gt;
&lt;br /&gt;
===Global Configuration===&lt;br /&gt;
*Add site name to titles&lt;br /&gt;
*Default Access Level&lt;br /&gt;
*Set Metadata Language (buggy)&lt;br /&gt;
*Unicode Aliases&lt;br /&gt;
*Cookie domain and path&lt;br /&gt;
*User Setting moved to User Manager -&amp;gt; Options&lt;br /&gt;
*Media Settings moved to Media Manager -&amp;gt; Options&lt;br /&gt;
*Server Timezone now a location, not an integer offset&lt;br /&gt;
*New Global Permissions tab&lt;br /&gt;
&lt;br /&gt;
===User Manager===&lt;br /&gt;
*Can activate a user from the list now&lt;br /&gt;
*User can be assigned to multiple groups&lt;br /&gt;
*Manage user groups&lt;br /&gt;
*Manager content access levels&lt;br /&gt;
&lt;br /&gt;
===Media Manager===&lt;br /&gt;
*Flash uploader fixed&lt;br /&gt;
&lt;br /&gt;
===Menu Manager===&lt;br /&gt;
====Menus List====&lt;br /&gt;
*Rebuild button to press when you brick the menu&lt;br /&gt;
*Clicking the menu name brings up the menu items list rather than going into Edit Menu. To edit the menu, click on the check box next to the name and click on the Edit icon in the toolbar.&lt;br /&gt;
&lt;br /&gt;
====Items List====&lt;br /&gt;
*Menus support the language filter&lt;br /&gt;
*Default now called Home&lt;br /&gt;
*Home is now clickable in the menu item list&lt;br /&gt;
*A separate home can be set for different languages&lt;br /&gt;
&lt;br /&gt;
=====New batch operations=====&lt;br /&gt;
*Set access level&lt;br /&gt;
*Copy or move to another part of this or another menu&lt;br /&gt;
&lt;br /&gt;
====Edit Item====&lt;br /&gt;
*Improved &amp;quot;Type&amp;quot; selector with human readable view and layout names&lt;br /&gt;
*Note field added&lt;br /&gt;
*New window target&lt;br /&gt;
*New Language assignment&lt;br /&gt;
*New Template style&lt;br /&gt;
*Ability to add &amp;amp; edit Module assignments from this page&lt;br /&gt;
*Ability to create alternative menu items with customised parameters&lt;br /&gt;
*Ability to create multiple alternative layouts for one template&lt;br /&gt;
&lt;br /&gt;
=====New options for the menu links and pages themselves=====&lt;br /&gt;
*Link title attribute&lt;br /&gt;
*Link CSS style&lt;br /&gt;
*Menu image is changed to a modal selector&lt;br /&gt;
*CSS class for page heading&lt;br /&gt;
*Page meta description&lt;br /&gt;
*Page meta keywords&lt;br /&gt;
*Robots options&lt;br /&gt;
&lt;br /&gt;
===Articles Manager===&lt;br /&gt;
*Frontpage is now referred to as Featured&lt;br /&gt;
*Article manager uses submenu to quickly skip between articles , categories and featured&lt;br /&gt;
*Sections and categories are now merged.&lt;br /&gt;
&lt;br /&gt;
====Articles List====&lt;br /&gt;
*&#039;&#039;&amp;quot;Missing move and copy; filter by author&amp;quot;&#039;&#039;&lt;br /&gt;
*New column to show language&lt;br /&gt;
*Filtering by language available&lt;br /&gt;
&lt;br /&gt;
====Article Edit====&lt;br /&gt;
*Created by user now selected by modal popup&lt;br /&gt;
*New ability to set the page title from the article&lt;br /&gt;
*Define create, delete, edit and publishing permissions&lt;br /&gt;
&lt;br /&gt;
====Archived Articles====&lt;br /&gt;
*In 1.5, Archived Articles had to first be changed to Published or Unpublished before update. &lt;br /&gt;
*In 1.6, an Article with an Archived Status *can* be changed without changing the State first.&lt;br /&gt;
&lt;br /&gt;
===Categories===&lt;br /&gt;
====Category List====&lt;br /&gt;
*Nested view&lt;br /&gt;
*Filtering on language&lt;br /&gt;
&lt;br /&gt;
====Edit Category====&lt;br /&gt;
*New note field&lt;br /&gt;
*Section replaced with ability to assign a parent category&lt;br /&gt;
*Ability to assign content language&lt;br /&gt;
&lt;br /&gt;
=====New Options (not previously available in 1.5)=====&lt;br /&gt;
*Assign alternate layout&lt;br /&gt;
*Define create, delete, edit and publishing permissions&lt;br /&gt;
*Meta description&lt;br /&gt;
*Meta keywords&lt;br /&gt;
*Alternative page title&lt;br /&gt;
*Meta author&lt;br /&gt;
*Meta robots&lt;br /&gt;
&lt;br /&gt;
===Banners===&lt;br /&gt;
====Banners list====&lt;br /&gt;
* Missing copy toolbar button&lt;br /&gt;
*New archive toolbar button&lt;br /&gt;
*New columns to show meta keywords, purchase type and language&lt;br /&gt;
*New filtering by client and language&lt;br /&gt;
&lt;br /&gt;
====Edit Banner====&lt;br /&gt;
*New type toggle for Image or Custom (dynamically changes the available form fields)&lt;br /&gt;
*New alt text field for image&lt;br /&gt;
*New language field&lt;br /&gt;
&lt;br /&gt;
=====New Options=====&lt;br /&gt;
*Ability to set the created date&lt;br /&gt;
*Ability to set start and finish publishing times&lt;br /&gt;
*Ability to set the purchase type&lt;br /&gt;
*Ability to track impressions&lt;br /&gt;
*Ability to track clicks&lt;br /&gt;
*Use own prefix ?&lt;br /&gt;
*Tags renamed to meta &lt;br /&gt;
*Contacts&lt;br /&gt;
*Messaging&lt;br /&gt;
*Newsfeeds&lt;br /&gt;
*Search&lt;br /&gt;
*Weblinks&lt;br /&gt;
*Redirect&lt;br /&gt;
&lt;br /&gt;
===Extensions Manager===&lt;br /&gt;
====Discover====&lt;br /&gt;
*Module mgr&lt;br /&gt;
*Plugin Mgr&lt;br /&gt;
*Template Mgr&lt;br /&gt;
*Language mgr&lt;br /&gt;
&lt;br /&gt;
===Templates Manager===&lt;br /&gt;
*Options - allows you to enable/disable the tp=1 feature&lt;br /&gt;
&lt;br /&gt;
===Misc===&lt;br /&gt;
*Auto create linked contact when creating new user ??&lt;br /&gt;
&lt;br /&gt;
==Access Controls==&lt;br /&gt;
*Introduction&lt;br /&gt;
*User Groups&lt;br /&gt;
*Access Levels&lt;br /&gt;
*Permission Layers&lt;br /&gt;
*How Permissions are Inherited&lt;br /&gt;
*How to debrick your site&lt;br /&gt;
&lt;br /&gt;
==Developers==&lt;br /&gt;
===Introduction===&lt;br /&gt;
*PHP 5.2.4+&lt;br /&gt;
*MySQL 5.0.4 (allows for wide varchars)&lt;br /&gt;
*IE7+, Firefox 3+, Safari 4+&lt;br /&gt;
*Focus on code consistency&lt;br /&gt;
*Focus on code reduction&lt;br /&gt;
&lt;br /&gt;
Usage of PHP Native Functions where possible, for example:&lt;br /&gt;
*[[JXMLElement]] extends the native [http://php.net/manual/en/book.simplexml.php SimpleXML] class&lt;br /&gt;
*[[JDate]] extends the [http://www.php.net/manual/en/class.datetime.php DateTime] class&lt;br /&gt;
*Native INI parser to load languages&lt;br /&gt;
&lt;br /&gt;
===Removed features===&lt;br /&gt;
*ADODB compatibility methods in database classes&lt;br /&gt;
*DOMIT (unsupported XML library)&lt;br /&gt;
*Legacy mode (includes global $mainframe, etc)&lt;br /&gt;
*JTemplate (based on patTemplate)&lt;br /&gt;
*patTemplate (templating engine)&lt;br /&gt;
*PDF support&lt;br /&gt;
*PEAR libraries (due to license incompatibilities)&lt;br /&gt;
*phpgacl&lt;br /&gt;
*PHP 4.0 and 5.0 compatibility files&lt;br /&gt;
*XStandard Editor&lt;br /&gt;
&lt;br /&gt;
===Deprecated Features===&lt;br /&gt;
*JController::_acoSection&lt;br /&gt;
*JController::_acoSectionValue&lt;br /&gt;
*JController::authorize()&lt;br /&gt;
*JController::setAccessControl()&lt;br /&gt;
*JDatabase::stderr()&lt;br /&gt;
*JDate::offest&lt;br /&gt;
*JDate::setOffset()&lt;br /&gt;
*JDate::toFormat() - use JDate::format() instead&lt;br /&gt;
*JException::toString()&lt;br /&gt;
*JFactory::getXMLParser()&lt;br /&gt;
*JHtmlGird::access()&lt;br /&gt;
*JHtmlImage::administrator - use JHtml::image instead&lt;br /&gt;
*JHtmlImage::site - use JHtml::image instead&lt;br /&gt;
*JHtmlList::accesslevel()&lt;br /&gt;
*JHtmlList::specificordering() - use JHtml::_(&#039;list.ordering&#039;)&lt;br /&gt;
*JHtmlList::category()&lt;br /&gt;
*JHtmlSelect::optgroup() - see JHtmlSelect::groupedList()&lt;br /&gt;
*JLanguage::_parseLanguageFiles - renamed to parseLanguageFiles&lt;br /&gt;
*JLanguage::_parseXMLLanguageFile - renamed to parseXMLLanguageFile&lt;br /&gt;
*JLanguage::_parseXMLLanguageFiles - renamed to parseXMLLanguageFiles&lt;br /&gt;
*JObject::toString - replaced with magic method&lt;br /&gt;
*JRegistry::getNameSpaces()&lt;br /&gt;
*JRegistry::getValue()&lt;br /&gt;
*JRegistry::makeNameSpace()&lt;br /&gt;
*JRegistry::setValue()&lt;br /&gt;
*JPane - See JHtmlSliders&lt;br /&gt;
*JParameter - replaced by JForm&lt;br /&gt;
*JSimpleXML, JSimpleXMLElement - Use JXMLElement instead, based on the native SimpleXMLElement&lt;br /&gt;
*JTable::canDelete() - models or controllers should be doing the access checks&lt;br /&gt;
*JTable::toXML()&lt;br /&gt;
*JToolbarHelper customX(), addNewX(), editListX(), editHtmlX(), editCssX(), deleteListX()&lt;br /&gt;
*JUser::authorize() - Use JUser::authorise()&lt;br /&gt;
*JUtility::dump()&lt;br /&gt;
*JUtility::array_unshift_ref() - Not needed in PHP 5&lt;br /&gt;
*JUtility::getHash() - Use JApplication::getHash()&lt;br /&gt;
*JUtility::getToken() - Use JFactory::getSession()-&amp;gt;getFormToken()&lt;br /&gt;
*JUtility::isWinOS() - Use JApplication::isWinOS()&lt;br /&gt;
*JUtility::return_bytes() - See InstallerModelWarnings::return_bytes()&lt;br /&gt;
*JUtility::sendMail() - Use JFactory::getMailer()-&amp;gt;sendMail()&lt;br /&gt;
*JUtility::sendAdminMail() - Use JFactory::getMailer()-&amp;gt;sendMail()&lt;br /&gt;
*JXMLElement::data() - Provided for backward compatibility&lt;br /&gt;
*JXMLElement::getAttribute() - Provided for backward compatibility&lt;br /&gt;
&lt;br /&gt;
===Database===&lt;br /&gt;
*JTable now automatically looks up the fields from the database schema&lt;br /&gt;
*New JDatabaseQuery - A chained CRUD query builder&lt;br /&gt;
*New JDatabase::getNextRow&lt;br /&gt;
*New JDatabase::getNextObject&lt;br /&gt;
*JDatabase::loadAssocList  - Now takes a second argument to just return the value of a column&lt;br /&gt;
*JDatabase::setQuery  - Added chaining support&lt;br /&gt;
&lt;br /&gt;
====Important Schema Changes====&lt;br /&gt;
*New jos_extensions table to list all extensions&lt;br /&gt;
*Components table information moved and split between jos_extensions and jos_menu (special menu called _adminmenu)&lt;br /&gt;
&lt;br /&gt;
The old phpgacl (jos_core_acl*) and jos_groups tables have been reworked into:&lt;br /&gt;
*jos_assets&lt;br /&gt;
*jos_user_usergroup_map&lt;br /&gt;
*jos_usergroups&lt;br /&gt;
*jos_viewlevels&lt;br /&gt;
*Archived state changed from a value of -1 to +2&lt;br /&gt;
&lt;br /&gt;
===Improved MVC===&lt;br /&gt;
====Models====&lt;br /&gt;
*JModelList&lt;br /&gt;
*JModelForm&lt;br /&gt;
*JModelAdmin&lt;br /&gt;
*Format handling (eg JSON)&lt;br /&gt;
*Sub-controller handling&lt;br /&gt;
&lt;br /&gt;
====Controllers====&lt;br /&gt;
*JControllerForm&lt;br /&gt;
*JControllerAdmin&lt;br /&gt;
*JController::setMessage takes second arg to set the message type&lt;br /&gt;
*JController can set the default view&lt;br /&gt;
*Added chaining support to several JController methods&lt;br /&gt;
&lt;br /&gt;
====Views====&lt;br /&gt;
*Semantic core output&lt;br /&gt;
*Milkyway legacy layouts&lt;br /&gt;
*The old component parameters are not automatically added to the menu anymore. You need to explicitly put them in the layout XML files.&lt;br /&gt;
*The menu manager will now detect additional layouts for a given view in the default template.&lt;br /&gt;
&lt;br /&gt;
===Form API===&lt;br /&gt;
====Event manipulation====&lt;br /&gt;
*onContentPrepareForm&lt;br /&gt;
*onContentPrepareData&lt;br /&gt;
&lt;br /&gt;
===Translation and Language Support===&lt;br /&gt;
*Support for unicode slugs, eg, SEF URL&#039;s with Greek characters&lt;br /&gt;
*3-letter languages now supported, xxx-XX&lt;br /&gt;
*All existing language keys have been refactored&lt;br /&gt;
&lt;br /&gt;
====INI files must validate====&lt;br /&gt;
*Upper case key with no spaces, alphanumeric characters and underscores&lt;br /&gt;
*Quoted values&lt;br /&gt;
*Double quotes within literal strings must use _QQ_ in the form KEY=&amp;quot;&amp;lt;a href=&amp;quot;_QQ_&amp;quot;index.php&amp;quot;_QQ_&amp;quot;&amp;gt;Click&amp;lt;/a&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====Javascript translation layer====&lt;br /&gt;
*See the flash uploader script for an example&lt;br /&gt;
Local extension language files&lt;br /&gt;
&lt;br /&gt;
====Language file API====&lt;br /&gt;
*Pluralisation support&lt;br /&gt;
*Transliteration support for ASCII or Unicode slugs&lt;br /&gt;
*Ignore Search Words&lt;br /&gt;
*Minimum search word length&lt;br /&gt;
*Custom language overrides&lt;br /&gt;
*System language file to support administrator menu and installation (.sys.ini)&lt;br /&gt;
&lt;br /&gt;
====Language switcher====&lt;br /&gt;
*Language Filter plugin enables language switching&lt;br /&gt;
*Sets the automatic filtering via JFactory::getApplication()-&amp;gt;setLanguageFilter(true)&lt;br /&gt;
*A frontend component with language support would test JFactory::getApplication()-&amp;gt;getLanguageFilter(), which returns the selected language code from the Languages Module&lt;br /&gt;
*The language field can be a language code for a single language, or &amp;quot;*&amp;quot; to be displayed for all languages&lt;br /&gt;
*Community extension for language maintenance com_localise&lt;br /&gt;
&lt;br /&gt;
===Extension management===&lt;br /&gt;
====New installation types====&lt;br /&gt;
=====Libraries=====&lt;br /&gt;
*Must include an XML manifest where type=&amp;quot;library&amp;quot;&lt;br /&gt;
*Can only be installed into a sub-folder of /libraries/&lt;br /&gt;
*Can extend parts of an existing library, eg /libraries/joomla/database/database/oracle.php&lt;br /&gt;
&lt;br /&gt;
=====Packages multi-installer=====&lt;br /&gt;
*Must include an XML manifest where type=&amp;quot;package&amp;quot;&lt;br /&gt;
*A package is a zip of zip&#039;s&lt;br /&gt;
&lt;br /&gt;
New install script can be provided with 5 methods:&lt;br /&gt;
=====preflight=====&lt;br /&gt;
*Runs before anything is run and while the extracted files are in the uploaded temp folder&lt;br /&gt;
&lt;br /&gt;
======Could allow for:======&lt;br /&gt;
*secondary extraction of custom zip&#039;s&lt;br /&gt;
*version checks to be performed&lt;br /&gt;
*halting the installer on an error&lt;br /&gt;
&lt;br /&gt;
=====install / update=====&lt;br /&gt;
*Runs after the database scripts are executed&lt;br /&gt;
*If the extension is new, the install method is run&lt;br /&gt;
*If the extension exists then update method is run if method=&amp;quot;upgrade&amp;quot;, otherwise assumes that the extension is not meant to be upgradable&lt;br /&gt;
&lt;br /&gt;
=====postflight=====&lt;br /&gt;
*Runs after the extension is registered in the database&lt;br /&gt;
*Is not run for the uninstall process (nothing left to do obviously)&lt;br /&gt;
&lt;br /&gt;
====Discover====&lt;br /&gt;
*Does not do any file copying, only works with what it finds&lt;br /&gt;
*Performs preflight, install and postflight&lt;br /&gt;
*Developer of installer has two language files??&lt;br /&gt;
&lt;br /&gt;
====Update site====&lt;br /&gt;
*Can publish an XML manifest on your site that can include individual extensions and extension sets.&lt;br /&gt;
&lt;br /&gt;
====XML Manifest Changes====&lt;br /&gt;
*&amp;lt;install&amp;gt; is deprecated - use &amp;lt;extension&amp;gt;&lt;br /&gt;
*New &amp;lt;update&amp;gt; tag. Takes a &amp;lt;schemas&amp;gt; tag which can define &amp;lt;schemapath&amp;gt;&lt;br /&gt;
*&amp;lt;params&amp;gt; and &amp;lt;param&amp;gt; tags are deprecated, use &amp;lt;fields&amp;gt;, &amp;lt;fieldsets&amp;gt; and &amp;lt;field&amp;gt; instead&lt;br /&gt;
&lt;br /&gt;
====File changes====&lt;br /&gt;
*Installation manifest must be the same name as the extension, eg com_foobar/foobar.xml  This helps with discovery (otherwise the function has to go through all the files in the extension folder&lt;br /&gt;
*Plugins are now in folders like modules and components&lt;br /&gt;
*See SVN/tests/_data/installer_packages/ for complete examples of all extensions and manifests.&lt;br /&gt;
*The method=&amp;quot;upgrade&amp;quot; will compare individual files in the original and incoming manifests and will remove files as appropriate.  However, it will not remove differences in the &amp;lt;folder&amp;gt; tags.&lt;br /&gt;
*Future support for rollback&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
====New Events====&lt;br /&gt;
*onBeforeCompileHead&lt;br /&gt;
*onBeforeRender&lt;br /&gt;
*onContentBeforeDelete&lt;br /&gt;
*onContentAfterDelete&lt;br /&gt;
*onContentChangeState&lt;br /&gt;
*onContentPrepare&lt;br /&gt;
*onContentPrepareData&lt;br /&gt;
*onContentPrepareForm&lt;br /&gt;
*onExtensionBeforeInstall&lt;br /&gt;
*onExtensionBeforeUpdate&lt;br /&gt;
*onExtensionBeforeUninstall&lt;br /&gt;
*onExtensionAfterInstall&lt;br /&gt;
*onExtensionAfterUpdate&lt;br /&gt;
*onExtensionAfterUninstall&lt;br /&gt;
&lt;br /&gt;
====Renamed Events====&lt;br /&gt;
*onContentAfterSave&lt;br /&gt;
*onContentAfterTitle&lt;br /&gt;
*onContentAfterDisplay&lt;br /&gt;
*onContentBeforeDisplay&lt;br /&gt;
*onContentBeforeSave&lt;br /&gt;
*onContentSearch&lt;br /&gt;
*onContentSearchAreas&lt;br /&gt;
*onUserAuthenticate&lt;br /&gt;
*onUserAfterDelete&lt;br /&gt;
*onUserAfterSave&lt;br /&gt;
*onUserBeforeDelete&lt;br /&gt;
*onUserBeforeSave&lt;br /&gt;
*onUserLogin&lt;br /&gt;
*onUserLogout&lt;br /&gt;
*All content events (except for search and search areas) now pass a &#039;context&#039; as the first argument to alert the plugin as to what type of content is being passed.  The plugin event may or may not heed this context.&lt;br /&gt;
&lt;br /&gt;
===Categories===&lt;br /&gt;
*Component can provide custom options for its own categories via optional category.xml&lt;br /&gt;
*Supported via JTableNested&lt;br /&gt;
&lt;br /&gt;
===Access Controls===&lt;br /&gt;
*A thing that can be controlled by permissions is registered in the assets table&lt;br /&gt;
*JTable handles this transparently via asset_id field&lt;br /&gt;
*For view permissions, support is as simple as adding&lt;br /&gt;
:::$user = JFactory::getUser();&lt;br /&gt;
:::$groups = implode(&#039;,&#039;, $user-&amp;gt;authorisedLevels());&lt;br /&gt;
:::$query-&amp;gt;where(&#039;a.access IN (&#039; . $groups . &#039;)&#039;);&lt;br /&gt;
&lt;br /&gt;
For action permissions, same format as in 1.5:&lt;br /&gt;
$user-&amp;gt;authorise($actionName, $assetName)&lt;br /&gt;
*OpenID library moved to plugin folder&lt;br /&gt;
*Geshi library moved to plugin folder&lt;br /&gt;
*JRegistry notes defaults to JSON (new format), dynamically converting existing data in INI format&lt;br /&gt;
*New JStream&lt;br /&gt;
*New JApplicationHelper::getComponentName&lt;br /&gt;
*Core icons moved to /media/&lt;br /&gt;
*Backward incompatible change to JEditor::display&lt;br /&gt;
*Added chaining support to JMail&lt;br /&gt;
*JFilterInput can no longer be called statically&lt;br /&gt;
*JHtml::image now supports relative paths&lt;br /&gt;
*All system images are overridable in the default template&lt;br /&gt;
*New JHtmlString&lt;br /&gt;
*Added wincache session handler for IIS&lt;br /&gt;
*New JFilterOutput::stripImages&lt;br /&gt;
*JPath::check takes second arg for separator (to pass to JPath::clean)&lt;br /&gt;
*Expanded configuration support through config.xml (multiple tabs)&lt;br /&gt;
&lt;br /&gt;
====Core actions====&lt;br /&gt;
*core.login.site&lt;br /&gt;
*core.login.admin&lt;br /&gt;
*core.admin&lt;br /&gt;
*core.manage&lt;br /&gt;
*core.create&lt;br /&gt;
*core.edit&lt;br /&gt;
*core.edit.state&lt;br /&gt;
*core.delete&lt;br /&gt;
*Miscellaneous changes&lt;br /&gt;
&lt;br /&gt;
===Debug Plugin===&lt;br /&gt;
*More tools for assisting with translation&lt;br /&gt;
&lt;br /&gt;
===Mootools 1.3===&lt;br /&gt;
*Need to use document.id instead of $&lt;br /&gt;
&lt;br /&gt;
==Cache changes ==&lt;br /&gt;
===API changes relevant to 3rd party developers===&lt;br /&gt;
====Component view cache==== &lt;br /&gt;
&lt;br /&gt;
Component view cache now takes an array of url parameters and their types to create Cacheid. This is a replacement for a previous unsafe way which took the whole URL for this and so opened the doors for DOS attacks via random url parameters added to request URL&#039;s. &lt;br /&gt;
&lt;br /&gt;
Com_contact example: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$safeurlparams = array(&lt;br /&gt;
    &#039;id&#039;=&amp;gt;&#039;INT&#039;, &lt;br /&gt;
    &#039;catid&#039;=&amp;gt;&#039;INT&#039;, &#039;limit&#039;=&amp;gt;&#039;INT&#039;, &lt;br /&gt;
    &#039;limitstart&#039;=&amp;gt;&#039;INT&#039;, &lt;br /&gt;
    &#039;filter_order&#039;=&amp;gt;&#039;CMD&#039;, &lt;br /&gt;
    &#039;filter_order_Dir&#039;=&amp;gt;&#039;CMD&#039;&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
parent::display($cachable,$safeurlparams);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Old cacheid created from URL was retained for backwards compatibility and takes effect if there are no $safeurlparams.&lt;br /&gt;
&lt;br /&gt;
====Module cache====&lt;br /&gt;
This has been completly reconceptualized. Module cache now has 5 different modes of operation, 3 of them are to be set from module XML file, while 2 are meant to be used from within the module itself. Default is backwards compatible oldstatic mode that requires no changes to a module. &lt;br /&gt;
&lt;br /&gt;
Modes to be set in XML: &lt;br /&gt;
*&#039;&#039;&#039;static&#039;&#039;&#039; - one cache file for all pages with the same module parameters &lt;br /&gt;
*&#039;&#039;&#039;oldstatic&#039;&#039;&#039; - 1.5. definition of module caching, one cache file for all pages with the same module id and user aid. Default for backwards compatibility &lt;br /&gt;
*&#039;&#039;&#039;itemid&#039;&#039;&#039; - changes on itemid change &lt;br /&gt;
&lt;br /&gt;
In addition to cache field that was required in 1.5 there is now another hidden field called cachemode that sets any of the above modes. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;field name=&amp;quot;cachemode&amp;quot; type=&amp;quot;hidden&amp;quot; label=&amp;quot;&amp;quot; default=&amp;quot;static&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;option value=&amp;quot;static&amp;quot;&amp;gt;&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modes to be called from inside the module: &lt;br /&gt;
*&#039;&#039;&#039;safeuri&#039;&#039;&#039; - id is created from $cacheparams-&amp;gt;modeparams array, the same as in component view cache &lt;br /&gt;
*&#039;&#039;&#039;id&#039;&#039;&#039; - module sets own cache id&#039;s &lt;br /&gt;
&lt;br /&gt;
To use this modes one must rename cache field in xml to owncache field and call JModuleHelper::ModuleCache from within the module&#039;s main php file. This is actually a shortcut to cache callback to avoid code duplication in every module. &lt;br /&gt;
&lt;br /&gt;
An example that uses safeuri mode and replaces uncached&lt;br /&gt;
$list = modRelatedItemsHelper::getList($params) : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$cacheparams = new stdClass; &lt;br /&gt;
$cacheparams-&amp;gt;cachemode = &#039;safeuri&#039;; &lt;br /&gt;
$cacheparams-&amp;gt;class = &#039;modRelatedItemsHelper&#039;; &lt;br /&gt;
$cacheparams-&amp;gt;method = &#039;getList&#039;; &lt;br /&gt;
$cacheparams-&amp;gt;methodparams = $params; &lt;br /&gt;
$cacheparams-&amp;gt;modeparams = array(&#039;id&#039;=&amp;gt;&#039;int&#039;,&#039;Itemid&#039;=&amp;gt;&#039;int&#039;); &lt;br /&gt;
$list = JModuleHelper::ModuleCache ($module, $params, $cacheparams);&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====Functional changes==== &lt;br /&gt;
&#039;&#039;&#039;Cache administration (Clean cache, Purge cache) now works with all drivers&#039;&#039;&#039;, not only with file cache. &lt;br /&gt;
&#039;&#039;&#039;New standalone garbage collect script&#039;&#039;&#039; that is to be called from crontab has been added. It can be found in libraries/joomla/utilities/garbagecron.php . For safety reasons it is recommended that it is renamed to something unique.&lt;br /&gt;
&lt;br /&gt;
====CMS and framework level functional changes==== &lt;br /&gt;
&#039;&#039;&#039;Caching is implemented in all components and modules&#039;&#039;&#039; that can potentially gain from cache.&lt;br /&gt;
Caching has also been added to some most expensive and frequent framework calls JComponentHelper::_load(), JModuleHelper::_load(),JMenuSite::load(); &lt;br /&gt;
&lt;br /&gt;
====Cache library changes====&lt;br /&gt;
Cache library has been completely refactored. &lt;br /&gt;
*Cache &#039;&#039;&#039;handlers have been renamed to controllers&#039;&#039;&#039; to better reflect their role and avoid confusion with cache storage handlers (referred to as drivers in following text). &lt;br /&gt;
*&#039;&#039;&#039;New JCacheController&#039;&#039;&#039; parent class has been added and inheritance has been changed to prevent bugs occurring from controller&#039;s and storage handler&#039;s get method clashes. &lt;br /&gt;
&lt;br /&gt;
====JCache==== &lt;br /&gt;
*&#039;&#039;&#039;getAll()&#039;&#039;&#039; method was added to JCache, JCacheStorage and all drivers, and it returns all cached items (this was previously possible only with file driver and hardcoded in administration) &lt;br /&gt;
*New &#039;&#039;&#039;lock and unlock&#039;&#039;&#039; methods were added to JCache, JCacheStorage and drivers. They enable cache item locking and unlocking to prevent errors on parallel accesses and double saves. This functionally was also implemented in controllers. &lt;br /&gt;
*Workarounds are now consolidated in new &#039;&#039;&#039;JCache getWorkarounds and setWorkarounds&#039;&#039;&#039; methods, are now used by all controllers and their use has been made optional. &lt;br /&gt;
*New makeId() method in JCache that creates cache id from registered url parameters set by components and system plugins&lt;br /&gt;
&lt;br /&gt;
====JCacheController==== &lt;br /&gt;
New parent class to Controllers that also functions as an intermediate to JCache. There is no JObject inheritance as otherwise magic __call doesn&#039;t work. &lt;br /&gt;
Change was needed to prevent bugs occurring from controller&#039;s and storage handler&#039;s get method clashes. They could be renamed but this would break backwards compatibility.&lt;br /&gt;
&lt;br /&gt;
====JCacheStorage==== &lt;br /&gt;
*_getCacheId method was moved from drivers to their parent JCacheStorage and all drives now use the same method by default &lt;br /&gt;
*CacheItem was moved from cache admin to framework JCacheStorageHelper, it is used by getAll &lt;br /&gt;
*There are new cachelite and wincache drivers. All other drivers have been fixed with missing functions (gc, clean) added, their code cleaned and tested they should be now working properly. &lt;br /&gt;
*Replaced separate _expire files in filecache driver with timestamps (this should amount to cca. 40% speed gain). The same in all drivers that had this. &lt;br /&gt;
*Numerous bugfixes on all levels, most important is proper use of options defaulting to configuration parameters settings and correctly passing from level to level.&lt;br /&gt;
&lt;br /&gt;
====Other framework level changes==== &lt;br /&gt;
*Safe url parameters registration added to JControler view method. &lt;br /&gt;
*New ModuleCache method in JModuleHelper that performs the above described module cache (in 5 modes) for both, modules and module renderer. &lt;br /&gt;
*JFactory::getFeedParser has been changed to use Joomla caching instead of simplepie&#039;s.&lt;br /&gt;
&lt;br /&gt;
==Performance==&lt;br /&gt;
===Eliminate the usage of JTable for general browsing on the frontend===&lt;br /&gt;
*Session drops the usage of JTable&lt;br /&gt;
*Item views use a dedicated question, not JTable-&amp;gt;load&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
*Scaling issues to address&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
===Releases===&lt;br /&gt;
*Alpha 1: 22 June 2009&lt;br /&gt;
*Alpha 2: 25 October 2009&lt;br /&gt;
*Beta 01: 18 May 2010&lt;br /&gt;
*Beta 02: 31 May 2010&lt;br /&gt;
*Beta 03: 14 June 2010&lt;br /&gt;
*Beta 04: 28 June 2010&lt;br /&gt;
*Beta 05: 12 July 2010&lt;br /&gt;
*Beta 06: 26 July 2010&lt;br /&gt;
*Beta 07: 09 August 2010&lt;br /&gt;
*Beta 08: 23 August 2010&lt;br /&gt;
*Beta 09: 06 September 2010&lt;br /&gt;
*Beta 10: 20 September 2010&lt;br /&gt;
*Beta 11: 03 October 2010&lt;br /&gt;
*Beta 12: 17 October 2010&lt;br /&gt;
*Beta 13: 31 October 2010&lt;br /&gt;
*Beta 14: 14 November 2010&lt;br /&gt;
*Beta 15: 29 November 2010&lt;br /&gt;
*Release Candidate 1: 13 December 2010&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 1.6]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J2.5:What%27s_new_in_Joomla_2.5&amp;diff=33921</id>
		<title>J2.5:What&#039;s new in Joomla 2.5</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J2.5:What%27s_new_in_Joomla_2.5&amp;diff=33921"/>
		<updated>2011-01-02T23:18:02Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: Corrected Events&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The principal changes introduced in Joomla 1.6 are:-&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;New Access Control System&#039;&#039;&#039; - Allows site administrators control over who can view and manage content.&lt;br /&gt;
* &#039;&#039;&#039;Unlimited Depth Organizational Model&#039;&#039;&#039; - Gives site administrators and content creators user-defined category levels that allow for the creation of a category tree with as many or as few levels for organizing articles and other content as needed.&lt;br /&gt;
* &#039;&#039;&#039;One-Click Extension Updates&#039;&#039;&#039; - Allows users to keep sites secure and controlled by simplifying the process of updating extensions.&lt;br /&gt;
* &#039;&#039;&#039;Semantic XHTML Layouts&#039;&#039;&#039; - Provides a better baseline for content presentation.&lt;br /&gt;
&lt;br /&gt;
The following is a more complete list of changes.&lt;br /&gt;
==Administrators==&lt;br /&gt;
===Introduction===&lt;br /&gt;
*Consistent UI&lt;br /&gt;
*Consistent Features&lt;br /&gt;
*Richer sample data&lt;br /&gt;
*IE 7+, Firefox 3.x, Safari 4.x&lt;br /&gt;
*PHP 5.2.4+&lt;br /&gt;
*MySQL 5.0.4 (allows for wide varchars)&lt;br /&gt;
&lt;br /&gt;
===Administrator===&lt;br /&gt;
*Menu Changes&lt;br /&gt;
*Submenu consistency&lt;br /&gt;
&lt;br /&gt;
====Toolbar Features====&lt;br /&gt;
*Save&lt;br /&gt;
*Save &amp;amp; Close&lt;br /&gt;
*Save &amp;amp; New&lt;br /&gt;
*Save as Copy&lt;br /&gt;
*Expired session will return to the page you were on then you got logged out (can be hit and miss)&lt;br /&gt;
*Most search filters allow you to search for a record id via [ id:123 ]&lt;br /&gt;
*&amp;quot;Parameters&amp;quot; are now referred to as &amp;quot;Options&amp;quot;&lt;br /&gt;
*Template Styles&lt;br /&gt;
*Integrated Trash Management&lt;br /&gt;
*Consistent archive support for most content&lt;br /&gt;
*Extension Installer Improvements&lt;br /&gt;
&lt;br /&gt;
===Module Enhancements===&lt;br /&gt;
*Publish up and down&lt;br /&gt;
*Add option to display on all pages &amp;quot;except&amp;quot; selected&lt;br /&gt;
*Expanded Category System&lt;br /&gt;
*404 Page Redirection&lt;br /&gt;
*Better Menu Management&lt;br /&gt;
*Alternative layouts for content, modules and menus (taken from the home template)&lt;br /&gt;
&lt;br /&gt;
===New Templates===&lt;br /&gt;
*Atomic&lt;br /&gt;
*Beez2&lt;br /&gt;
*(Administrator) Bluestork (replaces Khephri)&lt;br /&gt;
*(Administrator) Hathor&lt;br /&gt;
*Legacy layer in Milkyway&lt;br /&gt;
*Backend supports layout overrides&lt;br /&gt;
*New Modules&lt;br /&gt;
*New Plugins&lt;br /&gt;
*Content Languages&lt;br /&gt;
*User Login Permissions&lt;br /&gt;
*Activate selected users from the user list now (and filter)&lt;br /&gt;
*Administrator registration approval&lt;br /&gt;
*Polls component removed&lt;br /&gt;
*New codemirror editor&lt;br /&gt;
&lt;br /&gt;
===SEO Improvements===&lt;br /&gt;
*Meta decription and keywords for categories&lt;br /&gt;
*Articles can change the page title and page header separately&lt;br /&gt;
&lt;br /&gt;
===Global Configuration===&lt;br /&gt;
*Add site name to titles&lt;br /&gt;
*Default Access Level&lt;br /&gt;
*Set Metadata Language (buggy)&lt;br /&gt;
*Unicode Aliases&lt;br /&gt;
*Cookie domain and path&lt;br /&gt;
*User Setting moved to User Manager -&amp;gt; Options&lt;br /&gt;
*Media Settings moved to Media Manager -&amp;gt; Options&lt;br /&gt;
*Server Timezone now a location, not an integer offset&lt;br /&gt;
*New Global Permissions tab&lt;br /&gt;
&lt;br /&gt;
===User Manager===&lt;br /&gt;
*Can activate a user from the list now&lt;br /&gt;
*User can be assigned to multiple groups&lt;br /&gt;
*Manage user groups&lt;br /&gt;
*Manager content access levels&lt;br /&gt;
&lt;br /&gt;
===Media Manager===&lt;br /&gt;
*Flash uploader fixed&lt;br /&gt;
&lt;br /&gt;
===Menu Manager===&lt;br /&gt;
====Menus List====&lt;br /&gt;
*Rebuild button to press when you brick the menu&lt;br /&gt;
*Clicking the menu name brings up the menu items list rather than going into Edit Menu. To edit the menu, click on the check box next to the name and click on the Edit icon in the toolbar.&lt;br /&gt;
&lt;br /&gt;
====Items List====&lt;br /&gt;
*Menus support the language filter&lt;br /&gt;
*Default now called Home&lt;br /&gt;
*Home is now clickable in the menu item list&lt;br /&gt;
*A separate home can be set for different languages&lt;br /&gt;
&lt;br /&gt;
=====New batch operations=====&lt;br /&gt;
*Set access level&lt;br /&gt;
*Copy or move to another part of this or another menu&lt;br /&gt;
&lt;br /&gt;
====Edit Item====&lt;br /&gt;
*Improved &amp;quot;Type&amp;quot; selector with human readable view and layout names&lt;br /&gt;
*Note field added&lt;br /&gt;
*New window target&lt;br /&gt;
*New Language assignment&lt;br /&gt;
*New Template style&lt;br /&gt;
*Ability to add &amp;amp; edit Module assignments from this page&lt;br /&gt;
*Ability to create alternative menu items with customised parameters&lt;br /&gt;
*Ability to create multiple alternative layouts for one template&lt;br /&gt;
&lt;br /&gt;
=====New options for the menu links and pages themselves=====&lt;br /&gt;
*Link title attribute&lt;br /&gt;
*Link CSS style&lt;br /&gt;
*Menu image is changed to a modal selector&lt;br /&gt;
*CSS class for page heading&lt;br /&gt;
*Page meta description&lt;br /&gt;
*Page meta keywords&lt;br /&gt;
*Robots options&lt;br /&gt;
&lt;br /&gt;
===Articles Manager===&lt;br /&gt;
*Frontpage is now referred to as Featured&lt;br /&gt;
*Article manager uses submenu to quickly skip between articles , categories and featured&lt;br /&gt;
*Sections and categories are now merged.&lt;br /&gt;
&lt;br /&gt;
====Articles List====&lt;br /&gt;
*&#039;&#039;&amp;quot;Missing move and copy; filter by author&amp;quot;&#039;&#039;&lt;br /&gt;
*New column to show language&lt;br /&gt;
*Filtering by language available&lt;br /&gt;
&lt;br /&gt;
====Article Edit====&lt;br /&gt;
*Created by user now selected by modal popup&lt;br /&gt;
*New ability to set the page title from the article&lt;br /&gt;
*Define create, delete, edit and publishing permissions&lt;br /&gt;
&lt;br /&gt;
====Archived Articles====&lt;br /&gt;
*In 1.5, Archived Articles had to first be changed to Published or Unpublished before update. &lt;br /&gt;
*In 1.6, an Article with an Archived Status *can* be changed without changing the State first.&lt;br /&gt;
&lt;br /&gt;
===Categories===&lt;br /&gt;
====Category List====&lt;br /&gt;
*Nested view&lt;br /&gt;
*Filtering on language&lt;br /&gt;
&lt;br /&gt;
====Edit Category====&lt;br /&gt;
*New note field&lt;br /&gt;
*Section replaced with ability to assign a parent category&lt;br /&gt;
*Ability to assign content language&lt;br /&gt;
&lt;br /&gt;
=====New Options (not previously available in 1.5)=====&lt;br /&gt;
*Assign alternate layout&lt;br /&gt;
*Define create, delete, edit and publishing permissions&lt;br /&gt;
*Meta description&lt;br /&gt;
*Meta keywords&lt;br /&gt;
*Alternative page title&lt;br /&gt;
*Meta author&lt;br /&gt;
*Meta robots&lt;br /&gt;
&lt;br /&gt;
===Banners===&lt;br /&gt;
====Banners list====&lt;br /&gt;
* Missing copy toolbar button&lt;br /&gt;
*New archive toolbar button&lt;br /&gt;
*New columns to show meta keywords, purchase type and language&lt;br /&gt;
*New filtering by client and language&lt;br /&gt;
&lt;br /&gt;
====Edit Banner====&lt;br /&gt;
*New type toggle for Image or Custom (dynamically changes the available form fields)&lt;br /&gt;
*New alt text field for image&lt;br /&gt;
*New language field&lt;br /&gt;
&lt;br /&gt;
=====New Options=====&lt;br /&gt;
*Ability to set the created date&lt;br /&gt;
*Ability to set start and finish publishing times&lt;br /&gt;
*Ability to set the purchase type&lt;br /&gt;
*Ability to track impressions&lt;br /&gt;
*Ability to track clicks&lt;br /&gt;
*Use own prefix ?&lt;br /&gt;
*Tags renamed to meta &lt;br /&gt;
*Contacts&lt;br /&gt;
*Messaging&lt;br /&gt;
*Newsfeeds&lt;br /&gt;
*Search&lt;br /&gt;
*Weblinks&lt;br /&gt;
*Redirect&lt;br /&gt;
&lt;br /&gt;
===Extensions Manager===&lt;br /&gt;
====Discover====&lt;br /&gt;
*Module mgr&lt;br /&gt;
*Plugin Mgr&lt;br /&gt;
*Template Mgr&lt;br /&gt;
*Language mgr&lt;br /&gt;
&lt;br /&gt;
===Templates Manager===&lt;br /&gt;
*Options - allows you to enable/disable the tp=1 feature&lt;br /&gt;
&lt;br /&gt;
===Misc===&lt;br /&gt;
*Auto create linked contact when creating new user ??&lt;br /&gt;
&lt;br /&gt;
==Access Controls==&lt;br /&gt;
*Introduction&lt;br /&gt;
*User Groups&lt;br /&gt;
*Access Levels&lt;br /&gt;
*Permission Layers&lt;br /&gt;
*How Permissions are Inherited&lt;br /&gt;
*How to debrick your site&lt;br /&gt;
&lt;br /&gt;
==Developers==&lt;br /&gt;
===Introduction===&lt;br /&gt;
*PHP 5.2.4+&lt;br /&gt;
*MySQL 5.0.4 (allows for wide varchars)&lt;br /&gt;
*IE7+, Firefox 3+, Safari 4+&lt;br /&gt;
*Focus on code consistency&lt;br /&gt;
*Focus on code reduction&lt;br /&gt;
&lt;br /&gt;
Usage of PHP Native Functions where possible, for example:&lt;br /&gt;
*[[JXMLElement]] extends the native [http://php.net/manual/en/book.simplexml.php SimpleXML] class&lt;br /&gt;
*[[JDate]] extends the [http://www.php.net/manual/en/class.datetime.php DateTime] class&lt;br /&gt;
*Native INI parser to load languages&lt;br /&gt;
&lt;br /&gt;
===Removed features===&lt;br /&gt;
*ADODB compatibility methods in database classes&lt;br /&gt;
*DOMIT (unsupported XML library)&lt;br /&gt;
*Legacy mode (includes global $mainframe, etc)&lt;br /&gt;
*JTemplate (based on patTemplate)&lt;br /&gt;
*patTemplate (templating engine)&lt;br /&gt;
*PDF support&lt;br /&gt;
*PEAR libraries (due to license incompatibilities)&lt;br /&gt;
*phpgacl&lt;br /&gt;
*PHP 4.0 and 5.0 compatibility files&lt;br /&gt;
*XStandard Editor&lt;br /&gt;
&lt;br /&gt;
===Deprecated Features===&lt;br /&gt;
*JController::_acoSection&lt;br /&gt;
*JController::_acoSectionValue&lt;br /&gt;
*JController::authorize()&lt;br /&gt;
*JController::setAccessControl()&lt;br /&gt;
*JDatabase::stderr()&lt;br /&gt;
*JDate::offest&lt;br /&gt;
*JDate::setOffset()&lt;br /&gt;
*JDate::toFormat() - use JDate::format() instead&lt;br /&gt;
*JException::toString()&lt;br /&gt;
*JFactory::getXMLParser()&lt;br /&gt;
*JHtmlGird::access()&lt;br /&gt;
*JHtmlImage::administrator - use JHtml::image instead&lt;br /&gt;
*JHtmlImage::site - use JHtml::image instead&lt;br /&gt;
*JHtmlList::accesslevel()&lt;br /&gt;
*JHtmlList::specificordering() - use JHtml::_(&#039;list.ordering&#039;)&lt;br /&gt;
*JHtmlList::category()&lt;br /&gt;
*JHtmlSelect::optgroup() - see JHtmlSelect::groupedList()&lt;br /&gt;
*JLanguage::_parseLanguageFiles - renamed to parseLanguageFiles&lt;br /&gt;
*JLanguage::_parseXMLLanguageFile - renamed to parseXMLLanguageFile&lt;br /&gt;
*JLanguage::_parseXMLLanguageFiles - renamed to parseXMLLanguageFiles&lt;br /&gt;
*JObject::toString - replaced with magic method&lt;br /&gt;
*JRegistry::getNameSpaces()&lt;br /&gt;
*JRegistry::getValue()&lt;br /&gt;
*JRegistry::makeNameSpace()&lt;br /&gt;
*JRegistry::setValue()&lt;br /&gt;
*JPane - See JHtmlSliders&lt;br /&gt;
*JParameter - replaced by JForm&lt;br /&gt;
*JSimpleXML, JSimpleXMLElement - Use JXMLElement instead, based on the native SimpleXMLElement&lt;br /&gt;
*JTable::canDelete() - models or controllers should be doing the access checks&lt;br /&gt;
*JTable::toXML()&lt;br /&gt;
*JToolbarHelper customX(), addNewX(), editListX(), editHtmlX(), editCssX(), deleteListX()&lt;br /&gt;
*JUser::authorize() - Use JUser::authorise()&lt;br /&gt;
*JUtility::dump()&lt;br /&gt;
*JUtility::array_unshift_ref() - Not needed in PHP 5&lt;br /&gt;
*JUtility::getHash() - Use JApplication::getHash()&lt;br /&gt;
*JUtility::getToken() - Use JFactory::getSession()-&amp;gt;getFormToken()&lt;br /&gt;
*JUtility::isWinOS() - Use JApplication::isWinOS()&lt;br /&gt;
*JUtility::return_bytes() - See InstallerModelWarnings::return_bytes()&lt;br /&gt;
*JUtility::sendMail() - Use JFactory::getMailer()-&amp;gt;sendMail()&lt;br /&gt;
*JUtility::sendAdminMail() - Use JFactory::getMailer()-&amp;gt;sendMail()&lt;br /&gt;
*JXMLElement::data() - Provided for backward compatibility&lt;br /&gt;
*JXMLElement::getAttribute() - Provided for backward compatibility&lt;br /&gt;
&lt;br /&gt;
===Database===&lt;br /&gt;
*JTable now automatically looks up the fields from the database schema&lt;br /&gt;
*New JDatabaseQuery - A chained CRUD query builder&lt;br /&gt;
*New JDatabase::getNextRow&lt;br /&gt;
*New JDatabase::getNextObject&lt;br /&gt;
*JDatabase::loadAssocList  - Now takes a second argument to just return the value of a column&lt;br /&gt;
*JDatabase::setQuery  - Added chaining support&lt;br /&gt;
&lt;br /&gt;
====Important Schema Changes====&lt;br /&gt;
*New jos_extensions table to list all extensions&lt;br /&gt;
*Components table information moved and split between jos_extensions and jos_menu (special menu called _adminmenu)&lt;br /&gt;
&lt;br /&gt;
The old phpgacl (jos_core_acl*) and jos_groups tables have been reworked into:&lt;br /&gt;
*jos_assets&lt;br /&gt;
*jos_user_usergroup_map&lt;br /&gt;
*jos_usergroups&lt;br /&gt;
*jos_viewlevels&lt;br /&gt;
*Archived state changed from a value of -1 to +2&lt;br /&gt;
&lt;br /&gt;
===Improved MVC===&lt;br /&gt;
====Models====&lt;br /&gt;
*JModelList&lt;br /&gt;
*JModelForm&lt;br /&gt;
*JModelAdmin&lt;br /&gt;
*Format handling (eg JSON)&lt;br /&gt;
*Sub-controller handling&lt;br /&gt;
&lt;br /&gt;
====Controllers====&lt;br /&gt;
*JControllerForm&lt;br /&gt;
*JControllerAdmin&lt;br /&gt;
*JController::setMessage takes second arg to set the message type&lt;br /&gt;
*JController can set the default view&lt;br /&gt;
*Added chaining support to several JController methods&lt;br /&gt;
&lt;br /&gt;
====Views====&lt;br /&gt;
*Semantic core output&lt;br /&gt;
*Milkyway legacy layouts&lt;br /&gt;
*The old component parameters are not automatically added to the menu anymore. You need to explicitly put them in the layout XML files.&lt;br /&gt;
*The menu manager will now detect additional layouts for a given view in the default template.&lt;br /&gt;
&lt;br /&gt;
===Form API===&lt;br /&gt;
====Event manipulation====&lt;br /&gt;
*onContentPrepareForm&lt;br /&gt;
*onContentPrepareData&lt;br /&gt;
&lt;br /&gt;
===Translation and Language Support===&lt;br /&gt;
*Support for unicode slugs, eg, SEF URL&#039;s with Greek characters&lt;br /&gt;
*3-letter languages now supported, xxx-XX&lt;br /&gt;
*All existing language keys have been refactored&lt;br /&gt;
&lt;br /&gt;
====INI files must validate====&lt;br /&gt;
*Upper case key with no spaces, alphanumeric characters and underscores&lt;br /&gt;
*Quoted values&lt;br /&gt;
*Double quotes within literal strings must use _QQ_ in the form KEY=&amp;quot;&amp;lt;a href=&amp;quot;_QQ_&amp;quot;index.php&amp;quot;_QQ_&amp;quot;&amp;gt;Click&amp;lt;/a&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====Javascript translation layer====&lt;br /&gt;
*See the flash uploader script for an example&lt;br /&gt;
Local extension language files&lt;br /&gt;
&lt;br /&gt;
====Language file API====&lt;br /&gt;
*Pluralisation support&lt;br /&gt;
*Transliteration support for ASCII or Unicode slugs&lt;br /&gt;
*Ignore Search Words&lt;br /&gt;
*Minimum search word length&lt;br /&gt;
*Custom language overrides&lt;br /&gt;
*System language file to support administrator menu and installation (.sys.ini)&lt;br /&gt;
&lt;br /&gt;
====Language switcher====&lt;br /&gt;
*Language Filter plugin enables language switching&lt;br /&gt;
*Sets the automatic filtering via JFactory::getApplication()-&amp;gt;setLanguageFilter(true)&lt;br /&gt;
*A frontend component with language support would test JFactory::getApplication()-&amp;gt;getLanguageFilter(), which returns the selected language code from the Languages Module&lt;br /&gt;
*The language field can be a language code for a single language, or &amp;quot;*&amp;quot; to be displayed for all languages&lt;br /&gt;
*Community extension for language maintenance com_localise&lt;br /&gt;
&lt;br /&gt;
===Extension management===&lt;br /&gt;
====New installation types====&lt;br /&gt;
=====Libraries=====&lt;br /&gt;
*Must include an XML manifest where type=&amp;quot;library&amp;quot;&lt;br /&gt;
*Can only be installed into a sub-folder of /libraries/&lt;br /&gt;
*Can extend parts of an existing library, eg /libraries/joomla/database/database/oracle.php&lt;br /&gt;
&lt;br /&gt;
=====Packages multi-installer=====&lt;br /&gt;
*Must include an XML manifest where type=&amp;quot;package&amp;quot;&lt;br /&gt;
*A package is a zip of zip&#039;s&lt;br /&gt;
&lt;br /&gt;
New install script can be provided with 5 methods:&lt;br /&gt;
=====preflight=====&lt;br /&gt;
*Runs before anything is run and while the extracted files are in the uploaded temp folder&lt;br /&gt;
&lt;br /&gt;
======Could allow for:======&lt;br /&gt;
*secondary extraction of custom zip&#039;s&lt;br /&gt;
*version checks to be performed&lt;br /&gt;
*halting the installer on an error&lt;br /&gt;
&lt;br /&gt;
=====install / update=====&lt;br /&gt;
*Runs after the database scripts are executed&lt;br /&gt;
*If the extension is new, the install method is run&lt;br /&gt;
*If the extension exists then update method is run if method=&amp;quot;upgrade&amp;quot;, otherwise assumes that the extension is not meant to be upgradable&lt;br /&gt;
&lt;br /&gt;
=====postflight=====&lt;br /&gt;
*Runs after the extension is registered in the database&lt;br /&gt;
*Is not run for the uninstall process (nothing left to do obviously)&lt;br /&gt;
&lt;br /&gt;
====Discover====&lt;br /&gt;
*Does not do any file copying, only works with what it finds&lt;br /&gt;
*Performs preflight, install and postflight&lt;br /&gt;
*Developer of installer has two language files??&lt;br /&gt;
&lt;br /&gt;
====Update site====&lt;br /&gt;
*Can publish an XML manifest on your site that can include individual extensions and extension sets.&lt;br /&gt;
&lt;br /&gt;
====XML Manifest Changes====&lt;br /&gt;
*&amp;lt;install&amp;gt; is deprecated - use &amp;lt;extension&amp;gt;&lt;br /&gt;
*New &amp;lt;update&amp;gt; tag. Takes a &amp;lt;schemas&amp;gt; tag which can define &amp;lt;schemapath&amp;gt;&lt;br /&gt;
*&amp;lt;params&amp;gt; and &amp;lt;param&amp;gt; tags are deprecated, use &amp;lt;fields&amp;gt;, &amp;lt;fieldsets&amp;gt; and &amp;lt;field&amp;gt; instead&lt;br /&gt;
&lt;br /&gt;
====File changes====&lt;br /&gt;
*Installation manifest must be the same name as the extension, eg com_foobar/foobar.xml  This helps with discovery (otherwise the function has to go through all the files in the extension folder&lt;br /&gt;
*Plugins are now in folders like modules and components&lt;br /&gt;
*See SVN/tests/_data/installer_packages/ for complete examples of all extensions and manifests.&lt;br /&gt;
*The method=&amp;quot;upgrade&amp;quot; will compare individual files in the original and incoming manifests and will remove files as appropriate.  However, it will not remove differences in the &amp;lt;folder&amp;gt; tags.&lt;br /&gt;
*Future support for rollback&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
====New Events====&lt;br /&gt;
*onBeforeCompileHead&lt;br /&gt;
*onBeforeRender&lt;br /&gt;
*onContentBeforeDelete&lt;br /&gt;
*onContentAfterDelete&lt;br /&gt;
*onContentBeforeSave&lt;br /&gt;
*onContentAfterSave&lt;br /&gt;
*onContentChangeState&lt;br /&gt;
*onContentPrepare&lt;br /&gt;
*onContentPrepareData&lt;br /&gt;
*onContentPrepareForm&lt;br /&gt;
*onExtensionBeforeInstall&lt;br /&gt;
*onExtensionBeforeUpdate&lt;br /&gt;
*onExtensionBeforeUninstall&lt;br /&gt;
*onExtensionAfterInstall&lt;br /&gt;
*onExtensionAfterUpdate&lt;br /&gt;
*onExtensionAfterUninstall&lt;br /&gt;
*onUserBeforeSave&lt;br /&gt;
*onUserAfterSave&lt;br /&gt;
*onUserBeforeDelete&lt;br /&gt;
*onUserAfterDelete&lt;br /&gt;
&lt;br /&gt;
====Renamed Events====&lt;br /&gt;
*onContentAfterSave&lt;br /&gt;
*onContentAfterTitle&lt;br /&gt;
*onContentAfterDisplay&lt;br /&gt;
*onContentBeforeDisplay&lt;br /&gt;
*onContentBeforeSave&lt;br /&gt;
*onContentSearch&lt;br /&gt;
*onContentSearchAreas&lt;br /&gt;
*onUserAuthenticate&lt;br /&gt;
*onUserAfterDelete&lt;br /&gt;
*onUserAfterSave&lt;br /&gt;
*onUserBeforeDelete&lt;br /&gt;
*onUserBeforeSave&lt;br /&gt;
*onUserLogin&lt;br /&gt;
*onUserLogout&lt;br /&gt;
*All content events (except for search and search areas) now pass a &#039;context&#039; as the first argument to alert the plugin as to what type of content is being passed.  The plugin event may or may not heed this context.&lt;br /&gt;
&lt;br /&gt;
===Categories===&lt;br /&gt;
*Component can provide custom options for its own categories via optional category.xml&lt;br /&gt;
*Supported via JTableNested&lt;br /&gt;
&lt;br /&gt;
===Access Controls===&lt;br /&gt;
*A thing that can be controlled by permissions is registered in the assets table&lt;br /&gt;
*JTable handles this transparently via asset_id field&lt;br /&gt;
*For view permissions, support is as simple as adding&lt;br /&gt;
:::$user = JFactory::getUser();&lt;br /&gt;
:::$groups = implode(&#039;,&#039;, $user-&amp;gt;authorisedLevels());&lt;br /&gt;
:::$query-&amp;gt;where(&#039;a.access IN (&#039; . $groups . &#039;)&#039;);&lt;br /&gt;
&lt;br /&gt;
For action permissions, same format as in 1.5:&lt;br /&gt;
$user-&amp;gt;authorise($actionName, $assetName)&lt;br /&gt;
*OpenID library moved to plugin folder&lt;br /&gt;
*Geshi library moved to plugin folder&lt;br /&gt;
*JRegistry notes defaults to JSON (new format), dynamically converting existing data in INI format&lt;br /&gt;
*New JStream&lt;br /&gt;
*New JApplicationHelper::getComponentName&lt;br /&gt;
*Core icons moved to /media/&lt;br /&gt;
*Backward incompatible change to JEditor::display&lt;br /&gt;
*Added chaining support to JMail&lt;br /&gt;
*JFilterInput can no longer be called statically&lt;br /&gt;
*JHtml::image now supports relative paths&lt;br /&gt;
*All system images are overridable in the default template&lt;br /&gt;
*New JHtmlString&lt;br /&gt;
*Added wincache session handler for IIS&lt;br /&gt;
*New JFilterOutput::stripImages&lt;br /&gt;
*JPath::check takes second arg for separator (to pass to JPath::clean)&lt;br /&gt;
*Expanded configuration support through config.xml (multiple tabs)&lt;br /&gt;
&lt;br /&gt;
====Core actions====&lt;br /&gt;
*core.login.site&lt;br /&gt;
*core.login.admin&lt;br /&gt;
*core.admin&lt;br /&gt;
*core.manage&lt;br /&gt;
*core.create&lt;br /&gt;
*core.edit&lt;br /&gt;
*core.edit.state&lt;br /&gt;
*core.delete&lt;br /&gt;
*Miscellaneous changes&lt;br /&gt;
&lt;br /&gt;
===Debug Plugin===&lt;br /&gt;
*More tools for assisting with translation&lt;br /&gt;
&lt;br /&gt;
===Mootools 1.3===&lt;br /&gt;
*Need to use document.id instead of $&lt;br /&gt;
&lt;br /&gt;
==Cache changes ==&lt;br /&gt;
===API changes relevant to 3rd party developers===&lt;br /&gt;
====Component view cache==== &lt;br /&gt;
&lt;br /&gt;
Component view cache now takes an array of url parameters and their types to create Cacheid. This is a replacement for a previous unsafe way which took the whole URL for this and so opened the doors for DOS attacks via random url parameters added to request URL&#039;s. &lt;br /&gt;
&lt;br /&gt;
Com_contact example: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$safeurlparams = array(&lt;br /&gt;
    &#039;id&#039;=&amp;gt;&#039;INT&#039;, &lt;br /&gt;
    &#039;catid&#039;=&amp;gt;&#039;INT&#039;, &#039;limit&#039;=&amp;gt;&#039;INT&#039;, &lt;br /&gt;
    &#039;limitstart&#039;=&amp;gt;&#039;INT&#039;, &lt;br /&gt;
    &#039;filter_order&#039;=&amp;gt;&#039;CMD&#039;, &lt;br /&gt;
    &#039;filter_order_Dir&#039;=&amp;gt;&#039;CMD&#039;&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
parent::display($cachable,$safeurlparams);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Old cacheid created from URL was retained for backwards compatibility and takes effect if there are no $safeurlparams.&lt;br /&gt;
&lt;br /&gt;
====Module cache====&lt;br /&gt;
This has been completly reconceptualized. Module cache now has 5 different modes of operation, 3 of them are to be set from module XML file, while 2 are meant to be used from within the module itself. Default is backwards compatible oldstatic mode that requires no changes to a module. &lt;br /&gt;
&lt;br /&gt;
Modes to be set in XML: &lt;br /&gt;
*&#039;&#039;&#039;static&#039;&#039;&#039; - one cache file for all pages with the same module parameters &lt;br /&gt;
*&#039;&#039;&#039;oldstatic&#039;&#039;&#039; - 1.5. definition of module caching, one cache file for all pages with the same module id and user aid. Default for backwards compatibility &lt;br /&gt;
*&#039;&#039;&#039;itemid&#039;&#039;&#039; - changes on itemid change &lt;br /&gt;
&lt;br /&gt;
In addition to cache field that was required in 1.5 there is now another hidden field called cachemode that sets any of the above modes. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;field name=&amp;quot;cachemode&amp;quot; type=&amp;quot;hidden&amp;quot; label=&amp;quot;&amp;quot; default=&amp;quot;static&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;option value=&amp;quot;static&amp;quot;&amp;gt;&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modes to be called from inside the module: &lt;br /&gt;
*&#039;&#039;&#039;safeuri&#039;&#039;&#039; - id is created from $cacheparams-&amp;gt;modeparams array, the same as in component view cache &lt;br /&gt;
*&#039;&#039;&#039;id&#039;&#039;&#039; - module sets own cache id&#039;s &lt;br /&gt;
&lt;br /&gt;
To use this modes one must rename cache field in xml to owncache field and call JModuleHelper::ModuleCache from within the module&#039;s main php file. This is actually a shortcut to cache callback to avoid code duplication in every module. &lt;br /&gt;
&lt;br /&gt;
An example that uses safeuri mode and replaces uncached&lt;br /&gt;
$list = modRelatedItemsHelper::getList($params) : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$cacheparams = new stdClass; &lt;br /&gt;
$cacheparams-&amp;gt;cachemode = &#039;safeuri&#039;; &lt;br /&gt;
$cacheparams-&amp;gt;class = &#039;modRelatedItemsHelper&#039;; &lt;br /&gt;
$cacheparams-&amp;gt;method = &#039;getList&#039;; &lt;br /&gt;
$cacheparams-&amp;gt;methodparams = $params; &lt;br /&gt;
$cacheparams-&amp;gt;modeparams = array(&#039;id&#039;=&amp;gt;&#039;int&#039;,&#039;Itemid&#039;=&amp;gt;&#039;int&#039;); &lt;br /&gt;
$list = JModuleHelper::ModuleCache ($module, $params, $cacheparams);&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====Functional changes==== &lt;br /&gt;
&#039;&#039;&#039;Cache administration (Clean cache, Purge cache) now works with all drivers&#039;&#039;&#039;, not only with file cache. &lt;br /&gt;
&#039;&#039;&#039;New standalone garbage collect script&#039;&#039;&#039; that is to be called from crontab has been added. It can be found in libraries/joomla/utilities/garbagecron.php . For safety reasons it is recommended that it is renamed to something unique.&lt;br /&gt;
&lt;br /&gt;
====CMS and framework level functional changes==== &lt;br /&gt;
&#039;&#039;&#039;Caching is implemented in all components and modules&#039;&#039;&#039; that can potentially gain from cache.&lt;br /&gt;
Caching has also been added to some most expensive and frequent framework calls JComponentHelper::_load(), JModuleHelper::_load(),JMenuSite::load(); &lt;br /&gt;
&lt;br /&gt;
====Cache library changes====&lt;br /&gt;
Cache library has been completely refactored. &lt;br /&gt;
*Cache &#039;&#039;&#039;handlers have been renamed to controllers&#039;&#039;&#039; to better reflect their role and avoid confusion with cache storage handlers (referred to as drivers in following text). &lt;br /&gt;
*&#039;&#039;&#039;New JCacheController&#039;&#039;&#039; parent class has been added and inheritance has been changed to prevent bugs occurring from controller&#039;s and storage handler&#039;s get method clashes. &lt;br /&gt;
&lt;br /&gt;
====JCache==== &lt;br /&gt;
*&#039;&#039;&#039;getAll()&#039;&#039;&#039; method was added to JCache, JCacheStorage and all drivers, and it returns all cached items (this was previously possible only with file driver and hardcoded in administration) &lt;br /&gt;
*New &#039;&#039;&#039;lock and unlock&#039;&#039;&#039; methods were added to JCache, JCacheStorage and drivers. They enable cache item locking and unlocking to prevent errors on parallel accesses and double saves. This functionally was also implemented in controllers. &lt;br /&gt;
*Workarounds are now consolidated in new &#039;&#039;&#039;JCache getWorkarounds and setWorkarounds&#039;&#039;&#039; methods, are now used by all controllers and their use has been made optional. &lt;br /&gt;
*New makeId() method in JCache that creates cache id from registered url parameters set by components and system plugins&lt;br /&gt;
&lt;br /&gt;
====JCacheController==== &lt;br /&gt;
New parent class to Controllers that also functions as an intermediate to JCache. There is no JObject inheritance as otherwise magic __call doesn&#039;t work. &lt;br /&gt;
Change was needed to prevent bugs occurring from controller&#039;s and storage handler&#039;s get method clashes. They could be renamed but this would break backwards compatibility.&lt;br /&gt;
&lt;br /&gt;
====JCacheStorage==== &lt;br /&gt;
*_getCacheId method was moved from drivers to their parent JCacheStorage and all drives now use the same method by default &lt;br /&gt;
*CacheItem was moved from cache admin to framework JCacheStorageHelper, it is used by getAll &lt;br /&gt;
*There are new cachelite and wincache drivers. All other drivers have been fixed with missing functions (gc, clean) added, their code cleaned and tested they should be now working properly. &lt;br /&gt;
*Replaced separate _expire files in filecache driver with timestamps (this should amount to cca. 40% speed gain). The same in all drivers that had this. &lt;br /&gt;
*Numerous bugfixes on all levels, most important is proper use of options defaulting to configuration parameters settings and correctly passing from level to level.&lt;br /&gt;
&lt;br /&gt;
====Other framework level changes==== &lt;br /&gt;
*Safe url parameters registration added to JControler view method. &lt;br /&gt;
*New ModuleCache method in JModuleHelper that performs the above described module cache (in 5 modes) for both, modules and module renderer. &lt;br /&gt;
*JFactory::getFeedParser has been changed to use Joomla caching instead of simplepie&#039;s.&lt;br /&gt;
&lt;br /&gt;
==Performance==&lt;br /&gt;
===Eliminate the usage of JTable for general browsing on the frontend===&lt;br /&gt;
*Session drops the usage of JTable&lt;br /&gt;
*Item views use a dedicated question, not JTable-&amp;gt;load&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
*Scaling issues to address&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
===Releases===&lt;br /&gt;
*Alpha 1: 22 June 2009&lt;br /&gt;
*Alpha 2: 25 October 2009&lt;br /&gt;
*Beta 01: 18 May 2010&lt;br /&gt;
*Beta 02: 31 May 2010&lt;br /&gt;
*Beta 03: 14 June 2010&lt;br /&gt;
*Beta 04: 28 June 2010&lt;br /&gt;
*Beta 05: 12 July 2010&lt;br /&gt;
*Beta 06: 26 July 2010&lt;br /&gt;
*Beta 07: 09 August 2010&lt;br /&gt;
*Beta 08: 23 August 2010&lt;br /&gt;
*Beta 09: 06 September 2010&lt;br /&gt;
*Beta 10: 20 September 2010&lt;br /&gt;
*Beta 11: 03 October 2010&lt;br /&gt;
*Beta 12: 17 October 2010&lt;br /&gt;
*Beta 13: 31 October 2010&lt;br /&gt;
*Beta 14: 14 November 2010&lt;br /&gt;
*Beta 15: 29 November 2010&lt;br /&gt;
*Release Candidate 1: 13 December 2010&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 1.6]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J2.5:What%27s_new_in_Joomla_2.5&amp;diff=33920</id>
		<title>J2.5:What&#039;s new in Joomla 2.5</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J2.5:What%27s_new_in_Joomla_2.5&amp;diff=33920"/>
		<updated>2011-01-02T23:10:31Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: Moved tp=1 feature into new Template Manager section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The principal changes introduced in Joomla 1.6 are:-&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;New Access Control System&#039;&#039;&#039; - Allows site administrators control over who can view and manage content.&lt;br /&gt;
* &#039;&#039;&#039;Unlimited Depth Organizational Model&#039;&#039;&#039; - Gives site administrators and content creators user-defined category levels that allow for the creation of a category tree with as many or as few levels for organizing articles and other content as needed.&lt;br /&gt;
* &#039;&#039;&#039;One-Click Extension Updates&#039;&#039;&#039; - Allows users to keep sites secure and controlled by simplifying the process of updating extensions.&lt;br /&gt;
* &#039;&#039;&#039;Semantic XHTML Layouts&#039;&#039;&#039; - Provides a better baseline for content presentation.&lt;br /&gt;
&lt;br /&gt;
The following is a more complete list of changes.&lt;br /&gt;
==Administrators==&lt;br /&gt;
===Introduction===&lt;br /&gt;
*Consistent UI&lt;br /&gt;
*Consistent Features&lt;br /&gt;
*Richer sample data&lt;br /&gt;
*IE 7+, Firefox 3.x, Safari 4.x&lt;br /&gt;
*PHP 5.2.4+&lt;br /&gt;
*MySQL 5.0.4 (allows for wide varchars)&lt;br /&gt;
&lt;br /&gt;
===Administrator===&lt;br /&gt;
*Menu Changes&lt;br /&gt;
*Submenu consistency&lt;br /&gt;
&lt;br /&gt;
====Toolbar Features====&lt;br /&gt;
*Save&lt;br /&gt;
*Save &amp;amp; Close&lt;br /&gt;
*Save &amp;amp; New&lt;br /&gt;
*Save as Copy&lt;br /&gt;
*Expired session will return to the page you were on then you got logged out (can be hit and miss)&lt;br /&gt;
*Most search filters allow you to search for a record id via [ id:123 ]&lt;br /&gt;
*&amp;quot;Parameters&amp;quot; are now referred to as &amp;quot;Options&amp;quot;&lt;br /&gt;
*Template Styles&lt;br /&gt;
*Integrated Trash Management&lt;br /&gt;
*Consistent archive support for most content&lt;br /&gt;
*Extension Installer Improvements&lt;br /&gt;
&lt;br /&gt;
===Module Enhancements===&lt;br /&gt;
*Publish up and down&lt;br /&gt;
*Add option to display on all pages &amp;quot;except&amp;quot; selected&lt;br /&gt;
*Expanded Category System&lt;br /&gt;
*404 Page Redirection&lt;br /&gt;
*Better Menu Management&lt;br /&gt;
*Alternative layouts for content, modules and menus (taken from the home template)&lt;br /&gt;
&lt;br /&gt;
===New Templates===&lt;br /&gt;
*Atomic&lt;br /&gt;
*Beez2&lt;br /&gt;
*(Administrator) Bluestork (replaces Khephri)&lt;br /&gt;
*(Administrator) Hathor&lt;br /&gt;
*Legacy layer in Milkyway&lt;br /&gt;
*Backend supports layout overrides&lt;br /&gt;
*New Modules&lt;br /&gt;
*New Plugins&lt;br /&gt;
*Content Languages&lt;br /&gt;
*User Login Permissions&lt;br /&gt;
*Activate selected users from the user list now (and filter)&lt;br /&gt;
*Administrator registration approval&lt;br /&gt;
*Polls component removed&lt;br /&gt;
*New codemirror editor&lt;br /&gt;
&lt;br /&gt;
===SEO Improvements===&lt;br /&gt;
*Meta decription and keywords for categories&lt;br /&gt;
*Articles can change the page title and page header separately&lt;br /&gt;
&lt;br /&gt;
===Global Configuration===&lt;br /&gt;
*Add site name to titles&lt;br /&gt;
*Default Access Level&lt;br /&gt;
*Set Metadata Language (buggy)&lt;br /&gt;
*Unicode Aliases&lt;br /&gt;
*Cookie domain and path&lt;br /&gt;
*User Setting moved to User Manager -&amp;gt; Options&lt;br /&gt;
*Media Settings moved to Media Manager -&amp;gt; Options&lt;br /&gt;
*Server Timezone now a location, not an integer offset&lt;br /&gt;
*New Global Permissions tab&lt;br /&gt;
&lt;br /&gt;
===User Manager===&lt;br /&gt;
*Can activate a user from the list now&lt;br /&gt;
*User can be assigned to multiple groups&lt;br /&gt;
*Manage user groups&lt;br /&gt;
*Manager content access levels&lt;br /&gt;
&lt;br /&gt;
===Media Manager===&lt;br /&gt;
*Flash uploader fixed&lt;br /&gt;
&lt;br /&gt;
===Menu Manager===&lt;br /&gt;
====Menus List====&lt;br /&gt;
*Rebuild button to press when you brick the menu&lt;br /&gt;
*Clicking the menu name brings up the menu items list rather than going into Edit Menu. To edit the menu, click on the check box next to the name and click on the Edit icon in the toolbar.&lt;br /&gt;
&lt;br /&gt;
====Items List====&lt;br /&gt;
*Menus support the language filter&lt;br /&gt;
*Default now called Home&lt;br /&gt;
*Home is now clickable in the menu item list&lt;br /&gt;
*A separate home can be set for different languages&lt;br /&gt;
&lt;br /&gt;
=====New batch operations=====&lt;br /&gt;
*Set access level&lt;br /&gt;
*Copy or move to another part of this or another menu&lt;br /&gt;
&lt;br /&gt;
====Edit Item====&lt;br /&gt;
*Improved &amp;quot;Type&amp;quot; selector with human readable view and layout names&lt;br /&gt;
*Note field added&lt;br /&gt;
*New window target&lt;br /&gt;
*New Language assignment&lt;br /&gt;
*New Template style&lt;br /&gt;
*Ability to add &amp;amp; edit Module assignments from this page&lt;br /&gt;
*Ability to create alternative menu items with customised parameters&lt;br /&gt;
*Ability to create multiple alternative layouts for one template&lt;br /&gt;
&lt;br /&gt;
=====New options for the menu links and pages themselves=====&lt;br /&gt;
*Link title attribute&lt;br /&gt;
*Link CSS style&lt;br /&gt;
*Menu image is changed to a modal selector&lt;br /&gt;
*CSS class for page heading&lt;br /&gt;
*Page meta description&lt;br /&gt;
*Page meta keywords&lt;br /&gt;
*Robots options&lt;br /&gt;
&lt;br /&gt;
===Articles Manager===&lt;br /&gt;
*Frontpage is now referred to as Featured&lt;br /&gt;
*Article manager uses submenu to quickly skip between articles , categories and featured&lt;br /&gt;
*Sections and categories are now merged.&lt;br /&gt;
&lt;br /&gt;
====Articles List====&lt;br /&gt;
*&#039;&#039;&amp;quot;Missing move and copy; filter by author&amp;quot;&#039;&#039;&lt;br /&gt;
*New column to show language&lt;br /&gt;
*Filtering by language available&lt;br /&gt;
&lt;br /&gt;
====Article Edit====&lt;br /&gt;
*Created by user now selected by modal popup&lt;br /&gt;
*New ability to set the page title from the article&lt;br /&gt;
*Define create, delete, edit and publishing permissions&lt;br /&gt;
&lt;br /&gt;
====Archived Articles====&lt;br /&gt;
*In 1.5, Archived Articles had to first be changed to Published or Unpublished before update. &lt;br /&gt;
*In 1.6, an Article with an Archived Status *can* be changed without changing the State first.&lt;br /&gt;
&lt;br /&gt;
===Categories===&lt;br /&gt;
====Category List====&lt;br /&gt;
*Nested view&lt;br /&gt;
*Filtering on language&lt;br /&gt;
&lt;br /&gt;
====Edit Category====&lt;br /&gt;
*New note field&lt;br /&gt;
*Section replaced with ability to assign a parent category&lt;br /&gt;
*Ability to assign content language&lt;br /&gt;
&lt;br /&gt;
=====New Options (not previously available in 1.5)=====&lt;br /&gt;
*Assign alternate layout&lt;br /&gt;
*Define create, delete, edit and publishing permissions&lt;br /&gt;
*Meta description&lt;br /&gt;
*Meta keywords&lt;br /&gt;
*Alternative page title&lt;br /&gt;
*Meta author&lt;br /&gt;
*Meta robots&lt;br /&gt;
&lt;br /&gt;
===Banners===&lt;br /&gt;
====Banners list====&lt;br /&gt;
* Missing copy toolbar button&lt;br /&gt;
*New archive toolbar button&lt;br /&gt;
*New columns to show meta keywords, purchase type and language&lt;br /&gt;
*New filtering by client and language&lt;br /&gt;
&lt;br /&gt;
====Edit Banner====&lt;br /&gt;
*New type toggle for Image or Custom (dynamically changes the available form fields)&lt;br /&gt;
*New alt text field for image&lt;br /&gt;
*New language field&lt;br /&gt;
&lt;br /&gt;
=====New Options=====&lt;br /&gt;
*Ability to set the created date&lt;br /&gt;
*Ability to set start and finish publishing times&lt;br /&gt;
*Ability to set the purchase type&lt;br /&gt;
*Ability to track impressions&lt;br /&gt;
*Ability to track clicks&lt;br /&gt;
*Use own prefix ?&lt;br /&gt;
*Tags renamed to meta &lt;br /&gt;
*Contacts&lt;br /&gt;
*Messaging&lt;br /&gt;
*Newsfeeds&lt;br /&gt;
*Search&lt;br /&gt;
*Weblinks&lt;br /&gt;
*Redirect&lt;br /&gt;
&lt;br /&gt;
===Extensions Manager===&lt;br /&gt;
====Discover====&lt;br /&gt;
*Module mgr&lt;br /&gt;
*Plugin Mgr&lt;br /&gt;
*Template Mgr&lt;br /&gt;
*Language mgr&lt;br /&gt;
&lt;br /&gt;
===Templates Manager===&lt;br /&gt;
*Options - allows you to enable/disable the tp=1 feature&lt;br /&gt;
&lt;br /&gt;
===Misc===&lt;br /&gt;
*Auto create linked contact when creating new user ??&lt;br /&gt;
&lt;br /&gt;
==Access Controls==&lt;br /&gt;
*Introduction&lt;br /&gt;
*User Groups&lt;br /&gt;
*Access Levels&lt;br /&gt;
*Permission Layers&lt;br /&gt;
*How Permissions are Inherited&lt;br /&gt;
*How to debrick your site&lt;br /&gt;
&lt;br /&gt;
==Developers==&lt;br /&gt;
===Introduction===&lt;br /&gt;
*PHP 5.2.4+&lt;br /&gt;
*MySQL 5.0.4 (allows for wide varchars)&lt;br /&gt;
*IE7+, Firefox 3+, Safari 4+&lt;br /&gt;
*Focus on code consistency&lt;br /&gt;
*Focus on code reduction&lt;br /&gt;
&lt;br /&gt;
Usage of PHP Native Functions where possible, for example:&lt;br /&gt;
*[[JXMLElement]] extends the native [http://php.net/manual/en/book.simplexml.php SimpleXML] class&lt;br /&gt;
*[[JDate]] extends the [http://www.php.net/manual/en/class.datetime.php DateTime] class&lt;br /&gt;
*Native INI parser to load languages&lt;br /&gt;
&lt;br /&gt;
===Removed features===&lt;br /&gt;
*ADODB compatibility methods in database classes&lt;br /&gt;
*DOMIT (unsupported XML library)&lt;br /&gt;
*Legacy mode (includes global $mainframe, etc)&lt;br /&gt;
*JTemplate (based on patTemplate)&lt;br /&gt;
*patTemplate (templating engine)&lt;br /&gt;
*PDF support&lt;br /&gt;
*PEAR libraries (due to license incompatibilities)&lt;br /&gt;
*phpgacl&lt;br /&gt;
*PHP 4.0 and 5.0 compatibility files&lt;br /&gt;
*XStandard Editor&lt;br /&gt;
&lt;br /&gt;
===Deprecated Features===&lt;br /&gt;
*JController::_acoSection&lt;br /&gt;
*JController::_acoSectionValue&lt;br /&gt;
*JController::authorize()&lt;br /&gt;
*JController::setAccessControl()&lt;br /&gt;
*JDatabase::stderr()&lt;br /&gt;
*JDate::offest&lt;br /&gt;
*JDate::setOffset()&lt;br /&gt;
*JDate::toFormat() - use JDate::format() instead&lt;br /&gt;
*JException::toString()&lt;br /&gt;
*JFactory::getXMLParser()&lt;br /&gt;
*JHtmlGird::access()&lt;br /&gt;
*JHtmlImage::administrator - use JHtml::image instead&lt;br /&gt;
*JHtmlImage::site - use JHtml::image instead&lt;br /&gt;
*JHtmlList::accesslevel()&lt;br /&gt;
*JHtmlList::specificordering() - use JHtml::_(&#039;list.ordering&#039;)&lt;br /&gt;
*JHtmlList::category()&lt;br /&gt;
*JHtmlSelect::optgroup() - see JHtmlSelect::groupedList()&lt;br /&gt;
*JLanguage::_parseLanguageFiles - renamed to parseLanguageFiles&lt;br /&gt;
*JLanguage::_parseXMLLanguageFile - renamed to parseXMLLanguageFile&lt;br /&gt;
*JLanguage::_parseXMLLanguageFiles - renamed to parseXMLLanguageFiles&lt;br /&gt;
*JObject::toString - replaced with magic method&lt;br /&gt;
*JRegistry::getNameSpaces()&lt;br /&gt;
*JRegistry::getValue()&lt;br /&gt;
*JRegistry::makeNameSpace()&lt;br /&gt;
*JRegistry::setValue()&lt;br /&gt;
*JPane - See JHtmlSliders&lt;br /&gt;
*JParameter - replaced by JForm&lt;br /&gt;
*JSimpleXML, JSimpleXMLElement - Use JXMLElement instead, based on the native SimpleXMLElement&lt;br /&gt;
*JTable::canDelete() - models or controllers should be doing the access checks&lt;br /&gt;
*JTable::toXML()&lt;br /&gt;
*JToolbarHelper customX(), addNewX(), editListX(), editHtmlX(), editCssX(), deleteListX()&lt;br /&gt;
*JUser::authorize() - Use JUser::authorise()&lt;br /&gt;
*JUtility::dump()&lt;br /&gt;
*JUtility::array_unshift_ref() - Not needed in PHP 5&lt;br /&gt;
*JUtility::getHash() - Use JApplication::getHash()&lt;br /&gt;
*JUtility::getToken() - Use JFactory::getSession()-&amp;gt;getFormToken()&lt;br /&gt;
*JUtility::isWinOS() - Use JApplication::isWinOS()&lt;br /&gt;
*JUtility::return_bytes() - See InstallerModelWarnings::return_bytes()&lt;br /&gt;
*JUtility::sendMail() - Use JFactory::getMailer()-&amp;gt;sendMail()&lt;br /&gt;
*JUtility::sendAdminMail() - Use JFactory::getMailer()-&amp;gt;sendMail()&lt;br /&gt;
*JXMLElement::data() - Provided for backward compatibility&lt;br /&gt;
*JXMLElement::getAttribute() - Provided for backward compatibility&lt;br /&gt;
&lt;br /&gt;
===Database===&lt;br /&gt;
*JTable now automatically looks up the fields from the database schema&lt;br /&gt;
*New JDatabaseQuery - A chained CRUD query builder&lt;br /&gt;
*New JDatabase::getNextRow&lt;br /&gt;
*New JDatabase::getNextObject&lt;br /&gt;
*JDatabase::loadAssocList  - Now takes a second argument to just return the value of a column&lt;br /&gt;
*JDatabase::setQuery  - Added chaining support&lt;br /&gt;
&lt;br /&gt;
====Important Schema Changes====&lt;br /&gt;
*New jos_extensions table to list all extensions&lt;br /&gt;
*Components table information moved and split between jos_extensions and jos_menu (special menu called _adminmenu)&lt;br /&gt;
&lt;br /&gt;
The old phpgacl (jos_core_acl*) and jos_groups tables have been reworked into:&lt;br /&gt;
*jos_assets&lt;br /&gt;
*jos_user_usergroup_map&lt;br /&gt;
*jos_usergroups&lt;br /&gt;
*jos_viewlevels&lt;br /&gt;
*Archived state changed from a value of -1 to +2&lt;br /&gt;
&lt;br /&gt;
===Improved MVC===&lt;br /&gt;
====Models====&lt;br /&gt;
*JModelList&lt;br /&gt;
*JModelForm&lt;br /&gt;
*JModelAdmin&lt;br /&gt;
*Format handling (eg JSON)&lt;br /&gt;
*Sub-controller handling&lt;br /&gt;
&lt;br /&gt;
====Controllers====&lt;br /&gt;
*JControllerForm&lt;br /&gt;
*JControllerAdmin&lt;br /&gt;
*JController::setMessage takes second arg to set the message type&lt;br /&gt;
*JController can set the default view&lt;br /&gt;
*Added chaining support to several JController methods&lt;br /&gt;
&lt;br /&gt;
====Views====&lt;br /&gt;
*Semantic core output&lt;br /&gt;
*Milkyway legacy layouts&lt;br /&gt;
*The old component parameters are not automatically added to the menu anymore. You need to explicitly put them in the layout XML files.&lt;br /&gt;
*The menu manager will now detect additional layouts for a given view in the default template.&lt;br /&gt;
&lt;br /&gt;
===Form API===&lt;br /&gt;
====Event manipulation====&lt;br /&gt;
*onContentPrepareForm&lt;br /&gt;
*onContentPrepareData&lt;br /&gt;
&lt;br /&gt;
===Translation and Language Support===&lt;br /&gt;
*Support for unicode slugs, eg, SEF URL&#039;s with Greek characters&lt;br /&gt;
*3-letter languages now supported, xxx-XX&lt;br /&gt;
*All existing language keys have been refactored&lt;br /&gt;
&lt;br /&gt;
====INI files must validate====&lt;br /&gt;
*Upper case key with no spaces, alphanumeric characters and underscores&lt;br /&gt;
*Quoted values&lt;br /&gt;
*Double quotes within literal strings must use _QQ_ in the form KEY=&amp;quot;&amp;lt;a href=&amp;quot;_QQ_&amp;quot;index.php&amp;quot;_QQ_&amp;quot;&amp;gt;Click&amp;lt;/a&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====Javascript translation layer====&lt;br /&gt;
*See the flash uploader script for an example&lt;br /&gt;
Local extension language files&lt;br /&gt;
&lt;br /&gt;
====Language file API====&lt;br /&gt;
*Pluralisation support&lt;br /&gt;
*Transliteration support for ASCII or Unicode slugs&lt;br /&gt;
*Ignore Search Words&lt;br /&gt;
*Minimum search word length&lt;br /&gt;
*Custom language overrides&lt;br /&gt;
*System language file to support administrator menu and installation (.sys.ini)&lt;br /&gt;
&lt;br /&gt;
====Language switcher====&lt;br /&gt;
*Language Filter plugin enables language switching&lt;br /&gt;
*Sets the automatic filtering via JFactory::getApplication()-&amp;gt;setLanguageFilter(true)&lt;br /&gt;
*A frontend component with language support would test JFactory::getApplication()-&amp;gt;getLanguageFilter(), which returns the selected language code from the Languages Module&lt;br /&gt;
*The language field can be a language code for a single language, or &amp;quot;*&amp;quot; to be displayed for all languages&lt;br /&gt;
*Community extension for language maintenance com_localise&lt;br /&gt;
&lt;br /&gt;
===Extension management===&lt;br /&gt;
====New installation types====&lt;br /&gt;
=====Libraries=====&lt;br /&gt;
*Must include an XML manifest where type=&amp;quot;library&amp;quot;&lt;br /&gt;
*Can only be installed into a sub-folder of /libraries/&lt;br /&gt;
*Can extend parts of an existing library, eg /libraries/joomla/database/database/oracle.php&lt;br /&gt;
&lt;br /&gt;
=====Packages multi-installer=====&lt;br /&gt;
*Must include an XML manifest where type=&amp;quot;package&amp;quot;&lt;br /&gt;
*A package is a zip of zip&#039;s&lt;br /&gt;
&lt;br /&gt;
New install script can be provided with 5 methods:&lt;br /&gt;
=====preflight=====&lt;br /&gt;
*Runs before anything is run and while the extracted files are in the uploaded temp folder&lt;br /&gt;
&lt;br /&gt;
======Could allow for:======&lt;br /&gt;
*secondary extraction of custom zip&#039;s&lt;br /&gt;
*version checks to be performed&lt;br /&gt;
*halting the installer on an error&lt;br /&gt;
&lt;br /&gt;
=====install / update=====&lt;br /&gt;
*Runs after the database scripts are executed&lt;br /&gt;
*If the extension is new, the install method is run&lt;br /&gt;
*If the extension exists then update method is run if method=&amp;quot;upgrade&amp;quot;, otherwise assumes that the extension is not meant to be upgradable&lt;br /&gt;
&lt;br /&gt;
=====postflight=====&lt;br /&gt;
*Runs after the extension is registered in the database&lt;br /&gt;
*Is not run for the uninstall process (nothing left to do obviously)&lt;br /&gt;
&lt;br /&gt;
====Discover====&lt;br /&gt;
*Does not do any file copying, only works with what it finds&lt;br /&gt;
*Performs preflight, install and postflight&lt;br /&gt;
*Developer of installer has two language files??&lt;br /&gt;
&lt;br /&gt;
====Update site====&lt;br /&gt;
*Can publish an XML manifest on your site that can include individual extensions and extension sets.&lt;br /&gt;
&lt;br /&gt;
====XML Manifest Changes====&lt;br /&gt;
*&amp;lt;install&amp;gt; is deprecated - use &amp;lt;extension&amp;gt;&lt;br /&gt;
*New &amp;lt;update&amp;gt; tag. Takes a &amp;lt;schemas&amp;gt; tag which can define &amp;lt;schemapath&amp;gt;&lt;br /&gt;
*&amp;lt;params&amp;gt; and &amp;lt;param&amp;gt; tags are deprecated, use &amp;lt;fields&amp;gt;, &amp;lt;fieldsets&amp;gt; and &amp;lt;field&amp;gt; instead&lt;br /&gt;
&lt;br /&gt;
====File changes====&lt;br /&gt;
*Installation manifest must be the same name as the extension, eg com_foobar/foobar.xml  This helps with discovery (otherwise the function has to go through all the files in the extension folder&lt;br /&gt;
*Plugins are now in folders like modules and components&lt;br /&gt;
*See SVN/tests/_data/installer_packages/ for complete examples of all extensions and manifests.&lt;br /&gt;
*The method=&amp;quot;upgrade&amp;quot; will compare individual files in the original and incoming manifests and will remove files as appropriate.  However, it will not remove differences in the &amp;lt;folder&amp;gt; tags.&lt;br /&gt;
*Future support for rollback&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
====New Events====&lt;br /&gt;
*onBeforeCompileHead&lt;br /&gt;
*onBeforeRender&lt;br /&gt;
*onContentBeforeDelete&lt;br /&gt;
*onContentAfterDelete&lt;br /&gt;
*onContentChangeState&lt;br /&gt;
*onContentPrepareForm&lt;br /&gt;
*onContentPrepareFormData&lt;br /&gt;
*onExtensionBeforeInstall&lt;br /&gt;
*onExtensionBeforeUpdate&lt;br /&gt;
*onExtensionBeforeUninstall&lt;br /&gt;
*onExtensionAfterInstall&lt;br /&gt;
*onExtensionAfterUpdate&lt;br /&gt;
*onExtensionAfterUninstall&lt;br /&gt;
&lt;br /&gt;
====Renamed Events====&lt;br /&gt;
*onContentAfterSave&lt;br /&gt;
*onContentAfterTitle&lt;br /&gt;
*onContentAfterDisplay&lt;br /&gt;
*onContentBeforeDisplay&lt;br /&gt;
*onContentBeforeSave&lt;br /&gt;
*onContentSearch&lt;br /&gt;
*onContentSearchAreas&lt;br /&gt;
*onUserAuthenticate&lt;br /&gt;
*onUserAfterDelete&lt;br /&gt;
*onUserAfterSave&lt;br /&gt;
*onUserBeforeDelete&lt;br /&gt;
*onUserBeforeSave&lt;br /&gt;
*onUserLogin&lt;br /&gt;
*onUserLogout&lt;br /&gt;
*All content events (except for search and search areas) now pass a &#039;context&#039; as the first argument to alert the plugin as to what type of content is being passed.  The plugin event may or may not heed this context.&lt;br /&gt;
&lt;br /&gt;
===Categories===&lt;br /&gt;
*Component can provide custom options for its own categories via optional category.xml&lt;br /&gt;
*Supported via JTableNested&lt;br /&gt;
&lt;br /&gt;
===Access Controls===&lt;br /&gt;
*A thing that can be controlled by permissions is registered in the assets table&lt;br /&gt;
*JTable handles this transparently via asset_id field&lt;br /&gt;
*For view permissions, support is as simple as adding&lt;br /&gt;
:::$user = JFactory::getUser();&lt;br /&gt;
:::$groups = implode(&#039;,&#039;, $user-&amp;gt;authorisedLevels());&lt;br /&gt;
:::$query-&amp;gt;where(&#039;a.access IN (&#039; . $groups . &#039;)&#039;);&lt;br /&gt;
&lt;br /&gt;
For action permissions, same format as in 1.5:&lt;br /&gt;
$user-&amp;gt;authorise($actionName, $assetName)&lt;br /&gt;
*OpenID library moved to plugin folder&lt;br /&gt;
*Geshi library moved to plugin folder&lt;br /&gt;
*JRegistry notes defaults to JSON (new format), dynamically converting existing data in INI format&lt;br /&gt;
*New JStream&lt;br /&gt;
*New JApplicationHelper::getComponentName&lt;br /&gt;
*Core icons moved to /media/&lt;br /&gt;
*Backward incompatible change to JEditor::display&lt;br /&gt;
*Added chaining support to JMail&lt;br /&gt;
*JFilterInput can no longer be called statically&lt;br /&gt;
*JHtml::image now supports relative paths&lt;br /&gt;
*All system images are overridable in the default template&lt;br /&gt;
*New JHtmlString&lt;br /&gt;
*Added wincache session handler for IIS&lt;br /&gt;
*New JFilterOutput::stripImages&lt;br /&gt;
*JPath::check takes second arg for separator (to pass to JPath::clean)&lt;br /&gt;
*Expanded configuration support through config.xml (multiple tabs)&lt;br /&gt;
&lt;br /&gt;
====Core actions====&lt;br /&gt;
*core.login.site&lt;br /&gt;
*core.login.admin&lt;br /&gt;
*core.admin&lt;br /&gt;
*core.manage&lt;br /&gt;
*core.create&lt;br /&gt;
*core.edit&lt;br /&gt;
*core.edit.state&lt;br /&gt;
*core.delete&lt;br /&gt;
*Miscellaneous changes&lt;br /&gt;
&lt;br /&gt;
===Debug Plugin===&lt;br /&gt;
*More tools for assisting with translation&lt;br /&gt;
&lt;br /&gt;
===Mootools 1.3===&lt;br /&gt;
*Need to use document.id instead of $&lt;br /&gt;
&lt;br /&gt;
==Cache changes ==&lt;br /&gt;
===API changes relevant to 3rd party developers===&lt;br /&gt;
====Component view cache==== &lt;br /&gt;
&lt;br /&gt;
Component view cache now takes an array of url parameters and their types to create Cacheid. This is a replacement for a previous unsafe way which took the whole URL for this and so opened the doors for DOS attacks via random url parameters added to request URL&#039;s. &lt;br /&gt;
&lt;br /&gt;
Com_contact example: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$safeurlparams = array(&lt;br /&gt;
    &#039;id&#039;=&amp;gt;&#039;INT&#039;, &lt;br /&gt;
    &#039;catid&#039;=&amp;gt;&#039;INT&#039;, &#039;limit&#039;=&amp;gt;&#039;INT&#039;, &lt;br /&gt;
    &#039;limitstart&#039;=&amp;gt;&#039;INT&#039;, &lt;br /&gt;
    &#039;filter_order&#039;=&amp;gt;&#039;CMD&#039;, &lt;br /&gt;
    &#039;filter_order_Dir&#039;=&amp;gt;&#039;CMD&#039;&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
parent::display($cachable,$safeurlparams);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Old cacheid created from URL was retained for backwards compatibility and takes effect if there are no $safeurlparams.&lt;br /&gt;
&lt;br /&gt;
====Module cache====&lt;br /&gt;
This has been completly reconceptualized. Module cache now has 5 different modes of operation, 3 of them are to be set from module XML file, while 2 are meant to be used from within the module itself. Default is backwards compatible oldstatic mode that requires no changes to a module. &lt;br /&gt;
&lt;br /&gt;
Modes to be set in XML: &lt;br /&gt;
*&#039;&#039;&#039;static&#039;&#039;&#039; - one cache file for all pages with the same module parameters &lt;br /&gt;
*&#039;&#039;&#039;oldstatic&#039;&#039;&#039; - 1.5. definition of module caching, one cache file for all pages with the same module id and user aid. Default for backwards compatibility &lt;br /&gt;
*&#039;&#039;&#039;itemid&#039;&#039;&#039; - changes on itemid change &lt;br /&gt;
&lt;br /&gt;
In addition to cache field that was required in 1.5 there is now another hidden field called cachemode that sets any of the above modes. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;field name=&amp;quot;cachemode&amp;quot; type=&amp;quot;hidden&amp;quot; label=&amp;quot;&amp;quot; default=&amp;quot;static&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;option value=&amp;quot;static&amp;quot;&amp;gt;&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modes to be called from inside the module: &lt;br /&gt;
*&#039;&#039;&#039;safeuri&#039;&#039;&#039; - id is created from $cacheparams-&amp;gt;modeparams array, the same as in component view cache &lt;br /&gt;
*&#039;&#039;&#039;id&#039;&#039;&#039; - module sets own cache id&#039;s &lt;br /&gt;
&lt;br /&gt;
To use this modes one must rename cache field in xml to owncache field and call JModuleHelper::ModuleCache from within the module&#039;s main php file. This is actually a shortcut to cache callback to avoid code duplication in every module. &lt;br /&gt;
&lt;br /&gt;
An example that uses safeuri mode and replaces uncached&lt;br /&gt;
$list = modRelatedItemsHelper::getList($params) : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$cacheparams = new stdClass; &lt;br /&gt;
$cacheparams-&amp;gt;cachemode = &#039;safeuri&#039;; &lt;br /&gt;
$cacheparams-&amp;gt;class = &#039;modRelatedItemsHelper&#039;; &lt;br /&gt;
$cacheparams-&amp;gt;method = &#039;getList&#039;; &lt;br /&gt;
$cacheparams-&amp;gt;methodparams = $params; &lt;br /&gt;
$cacheparams-&amp;gt;modeparams = array(&#039;id&#039;=&amp;gt;&#039;int&#039;,&#039;Itemid&#039;=&amp;gt;&#039;int&#039;); &lt;br /&gt;
$list = JModuleHelper::ModuleCache ($module, $params, $cacheparams);&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====Functional changes==== &lt;br /&gt;
&#039;&#039;&#039;Cache administration (Clean cache, Purge cache) now works with all drivers&#039;&#039;&#039;, not only with file cache. &lt;br /&gt;
&#039;&#039;&#039;New standalone garbage collect script&#039;&#039;&#039; that is to be called from crontab has been added. It can be found in libraries/joomla/utilities/garbagecron.php . For safety reasons it is recommended that it is renamed to something unique.&lt;br /&gt;
&lt;br /&gt;
====CMS and framework level functional changes==== &lt;br /&gt;
&#039;&#039;&#039;Caching is implemented in all components and modules&#039;&#039;&#039; that can potentially gain from cache.&lt;br /&gt;
Caching has also been added to some most expensive and frequent framework calls JComponentHelper::_load(), JModuleHelper::_load(),JMenuSite::load(); &lt;br /&gt;
&lt;br /&gt;
====Cache library changes====&lt;br /&gt;
Cache library has been completely refactored. &lt;br /&gt;
*Cache &#039;&#039;&#039;handlers have been renamed to controllers&#039;&#039;&#039; to better reflect their role and avoid confusion with cache storage handlers (referred to as drivers in following text). &lt;br /&gt;
*&#039;&#039;&#039;New JCacheController&#039;&#039;&#039; parent class has been added and inheritance has been changed to prevent bugs occurring from controller&#039;s and storage handler&#039;s get method clashes. &lt;br /&gt;
&lt;br /&gt;
====JCache==== &lt;br /&gt;
*&#039;&#039;&#039;getAll()&#039;&#039;&#039; method was added to JCache, JCacheStorage and all drivers, and it returns all cached items (this was previously possible only with file driver and hardcoded in administration) &lt;br /&gt;
*New &#039;&#039;&#039;lock and unlock&#039;&#039;&#039; methods were added to JCache, JCacheStorage and drivers. They enable cache item locking and unlocking to prevent errors on parallel accesses and double saves. This functionally was also implemented in controllers. &lt;br /&gt;
*Workarounds are now consolidated in new &#039;&#039;&#039;JCache getWorkarounds and setWorkarounds&#039;&#039;&#039; methods, are now used by all controllers and their use has been made optional. &lt;br /&gt;
*New makeId() method in JCache that creates cache id from registered url parameters set by components and system plugins&lt;br /&gt;
&lt;br /&gt;
====JCacheController==== &lt;br /&gt;
New parent class to Controllers that also functions as an intermediate to JCache. There is no JObject inheritance as otherwise magic __call doesn&#039;t work. &lt;br /&gt;
Change was needed to prevent bugs occurring from controller&#039;s and storage handler&#039;s get method clashes. They could be renamed but this would break backwards compatibility.&lt;br /&gt;
&lt;br /&gt;
====JCacheStorage==== &lt;br /&gt;
*_getCacheId method was moved from drivers to their parent JCacheStorage and all drives now use the same method by default &lt;br /&gt;
*CacheItem was moved from cache admin to framework JCacheStorageHelper, it is used by getAll &lt;br /&gt;
*There are new cachelite and wincache drivers. All other drivers have been fixed with missing functions (gc, clean) added, their code cleaned and tested they should be now working properly. &lt;br /&gt;
*Replaced separate _expire files in filecache driver with timestamps (this should amount to cca. 40% speed gain). The same in all drivers that had this. &lt;br /&gt;
*Numerous bugfixes on all levels, most important is proper use of options defaulting to configuration parameters settings and correctly passing from level to level.&lt;br /&gt;
&lt;br /&gt;
====Other framework level changes==== &lt;br /&gt;
*Safe url parameters registration added to JControler view method. &lt;br /&gt;
*New ModuleCache method in JModuleHelper that performs the above described module cache (in 5 modes) for both, modules and module renderer. &lt;br /&gt;
*JFactory::getFeedParser has been changed to use Joomla caching instead of simplepie&#039;s.&lt;br /&gt;
&lt;br /&gt;
==Performance==&lt;br /&gt;
===Eliminate the usage of JTable for general browsing on the frontend===&lt;br /&gt;
*Session drops the usage of JTable&lt;br /&gt;
*Item views use a dedicated question, not JTable-&amp;gt;load&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
*Scaling issues to address&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
===Releases===&lt;br /&gt;
*Alpha 1: 22 June 2009&lt;br /&gt;
*Alpha 2: 25 October 2009&lt;br /&gt;
*Beta 01: 18 May 2010&lt;br /&gt;
*Beta 02: 31 May 2010&lt;br /&gt;
*Beta 03: 14 June 2010&lt;br /&gt;
*Beta 04: 28 June 2010&lt;br /&gt;
*Beta 05: 12 July 2010&lt;br /&gt;
*Beta 06: 26 July 2010&lt;br /&gt;
*Beta 07: 09 August 2010&lt;br /&gt;
*Beta 08: 23 August 2010&lt;br /&gt;
*Beta 09: 06 September 2010&lt;br /&gt;
*Beta 10: 20 September 2010&lt;br /&gt;
*Beta 11: 03 October 2010&lt;br /&gt;
*Beta 12: 17 October 2010&lt;br /&gt;
*Beta 13: 31 October 2010&lt;br /&gt;
*Beta 14: 14 November 2010&lt;br /&gt;
*Beta 15: 29 November 2010&lt;br /&gt;
*Release Candidate 1: 13 December 2010&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 1.6]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J2.5:What%27s_new_in_Joomla_2.5&amp;diff=33919</id>
		<title>J2.5:What&#039;s new in Joomla 2.5</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J2.5:What%27s_new_in_Joomla_2.5&amp;diff=33919"/>
		<updated>2011-01-02T22:50:28Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: Moved tp enable/disable to Template Manager&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The principal changes introduced in Joomla 1.6 are:-&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;New Access Control System&#039;&#039;&#039; - Allows site administrators control over who can view and manage content.&lt;br /&gt;
* &#039;&#039;&#039;Unlimited Depth Organizational Model&#039;&#039;&#039; - Gives site administrators and content creators user-defined category levels that allow for the creation of a category tree with as many or as few levels for organizing articles and other content as needed.&lt;br /&gt;
* &#039;&#039;&#039;One-Click Extension Updates&#039;&#039;&#039; - Allows users to keep sites secure and controlled by simplifying the process of updating extensions.&lt;br /&gt;
* &#039;&#039;&#039;Semantic XHTML Layouts&#039;&#039;&#039; - Provides a better baseline for content presentation.&lt;br /&gt;
&lt;br /&gt;
The following is a more complete list of changes.&lt;br /&gt;
==Administrators==&lt;br /&gt;
===Introduction===&lt;br /&gt;
*Consistent UI&lt;br /&gt;
*Consistent Features&lt;br /&gt;
*Richer sample data&lt;br /&gt;
*IE 7+, Firefox 3.x, Safari 4.x&lt;br /&gt;
*PHP 5.2.4+&lt;br /&gt;
*MySQL 5.0.4 (allows for wide varchars)&lt;br /&gt;
&lt;br /&gt;
===Administrator===&lt;br /&gt;
*Menu Changes&lt;br /&gt;
*Submenu consistency&lt;br /&gt;
&lt;br /&gt;
====Toolbar Features====&lt;br /&gt;
*Save&lt;br /&gt;
*Save &amp;amp; Close&lt;br /&gt;
*Save &amp;amp; New&lt;br /&gt;
*Save as Copy&lt;br /&gt;
*Expired session will return to the page you were on then you got logged out (can be hit and miss)&lt;br /&gt;
*Most search filters allow you to search for a record id via [ id:123 ]&lt;br /&gt;
*&amp;quot;Parameters&amp;quot; are now referred to as &amp;quot;Options&amp;quot;&lt;br /&gt;
*Template Styles&lt;br /&gt;
*Integrated Trash Management&lt;br /&gt;
*Consistent archive support for most content&lt;br /&gt;
*Extension Installer Improvements&lt;br /&gt;
&lt;br /&gt;
===Module Enhancements===&lt;br /&gt;
*Publish up and down&lt;br /&gt;
*Add option to display on all pages &amp;quot;except&amp;quot; selected&lt;br /&gt;
*Expanded Category System&lt;br /&gt;
*404 Page Redirection&lt;br /&gt;
*Better Menu Management&lt;br /&gt;
*Alternative layouts for content, modules and menus (taken from the home template)&lt;br /&gt;
&lt;br /&gt;
===New Templates===&lt;br /&gt;
*Atomic&lt;br /&gt;
*Beez2&lt;br /&gt;
*(Administrator) Bluestork (replaces Khephri)&lt;br /&gt;
*(Administrator) Hathor&lt;br /&gt;
*Legacy layer in Milkyway&lt;br /&gt;
*Backend supports layout overrides&lt;br /&gt;
*New Modules&lt;br /&gt;
*New Plugins&lt;br /&gt;
*Content Languages&lt;br /&gt;
*User Login Permissions&lt;br /&gt;
*Activate selected users from the user list now (and filter)&lt;br /&gt;
*Administrator registration approval&lt;br /&gt;
*Polls component removed&lt;br /&gt;
*New codemirror editor&lt;br /&gt;
&lt;br /&gt;
===SEO Improvements===&lt;br /&gt;
*Meta decription and keywords for categories&lt;br /&gt;
*Articles can change the page title and page header separately&lt;br /&gt;
&lt;br /&gt;
===Global Configuration===&lt;br /&gt;
*Add site name to titles&lt;br /&gt;
*Default Access Level&lt;br /&gt;
*Set Metadata Language (buggy)&lt;br /&gt;
*Unicode Aliases&lt;br /&gt;
*Cookie domain and path&lt;br /&gt;
*User Setting moved to User Manager -&amp;gt; Options&lt;br /&gt;
*Media Settings moved to Media Manager -&amp;gt; Options&lt;br /&gt;
*Server Timezone now a location, not an integer offset&lt;br /&gt;
*New Global Permissions tab&lt;br /&gt;
&lt;br /&gt;
===User Manager===&lt;br /&gt;
*Can activate a user from the list now&lt;br /&gt;
*User can be assigned to multiple groups&lt;br /&gt;
*Manage user groups&lt;br /&gt;
*Manager content access levels&lt;br /&gt;
&lt;br /&gt;
===Media Manager===&lt;br /&gt;
*Flash uploader fixed&lt;br /&gt;
&lt;br /&gt;
===Menu Manager===&lt;br /&gt;
====Menus List====&lt;br /&gt;
*Rebuild button to press when you brick the menu&lt;br /&gt;
*Clicking the menu name brings up the menu items list rather than going into Edit Menu. To edit the menu, click on the check box next to the name and click on the Edit icon in the toolbar.&lt;br /&gt;
&lt;br /&gt;
====Items List====&lt;br /&gt;
*Menus support the language filter&lt;br /&gt;
*Default now called Home&lt;br /&gt;
*Home is now clickable in the menu item list&lt;br /&gt;
*A separate home can be set for different languages&lt;br /&gt;
&lt;br /&gt;
=====New batch operations=====&lt;br /&gt;
*Set access level&lt;br /&gt;
*Copy or move to another part of this or another menu&lt;br /&gt;
&lt;br /&gt;
====Edit Item====&lt;br /&gt;
*Improved &amp;quot;Type&amp;quot; selector with human readable view and layout names&lt;br /&gt;
*Note field added&lt;br /&gt;
*New window target&lt;br /&gt;
*New Language assignment&lt;br /&gt;
*New Template style&lt;br /&gt;
*Ability to add &amp;amp; edit Module assignments from this page&lt;br /&gt;
*Ability to create alternative menu items with customised parameters&lt;br /&gt;
*Ability to create multiple alternative layouts for one template&lt;br /&gt;
&lt;br /&gt;
=====New options for the menu links and pages themselves=====&lt;br /&gt;
*Link title attribute&lt;br /&gt;
*Link CSS style&lt;br /&gt;
*Menu image is changed to a modal selector&lt;br /&gt;
*CSS class for page heading&lt;br /&gt;
*Page meta description&lt;br /&gt;
*Page meta keywords&lt;br /&gt;
*Robots options&lt;br /&gt;
&lt;br /&gt;
===Articles Manager===&lt;br /&gt;
*Frontpage is now referred to as Featured&lt;br /&gt;
*Article manager uses submenu to quickly skip between articles , categories and featured&lt;br /&gt;
*Sections and categories are now merged.&lt;br /&gt;
&lt;br /&gt;
====Articles List====&lt;br /&gt;
*&#039;&#039;&amp;quot;Missing move and copy; filter by author&amp;quot;&#039;&#039;&lt;br /&gt;
*New column to show language&lt;br /&gt;
*Filtering by language available&lt;br /&gt;
&lt;br /&gt;
====Article Edit====&lt;br /&gt;
*Created by user now selected by modal popup&lt;br /&gt;
*New ability to set the page title from the article&lt;br /&gt;
*Define create, delete, edit and publishing permissions&lt;br /&gt;
&lt;br /&gt;
====Archived Articles====&lt;br /&gt;
*In 1.5, Archived Articles had to first be changed to Published or Unpublished before update. &lt;br /&gt;
*In 1.6, an Article with an Archived Status *can* be changed without changing the State first.&lt;br /&gt;
&lt;br /&gt;
===Categories===&lt;br /&gt;
====Category List====&lt;br /&gt;
*Nested view&lt;br /&gt;
*Filtering on language&lt;br /&gt;
&lt;br /&gt;
====Edit Category====&lt;br /&gt;
*New note field&lt;br /&gt;
*Section replaced with ability to assign a parent category&lt;br /&gt;
*Ability to assign content language&lt;br /&gt;
&lt;br /&gt;
=====New Options (not previously available in 1.5)=====&lt;br /&gt;
*Assign alternate layout&lt;br /&gt;
*Define create, delete, edit and publishing permissions&lt;br /&gt;
*Meta description&lt;br /&gt;
*Meta keywords&lt;br /&gt;
*Alternative page title&lt;br /&gt;
*Meta author&lt;br /&gt;
*Meta robots&lt;br /&gt;
&lt;br /&gt;
===Banners===&lt;br /&gt;
====Banners list====&lt;br /&gt;
* Missing copy toolbar button&lt;br /&gt;
*New archive toolbar button&lt;br /&gt;
*New columns to show meta keywords, purchase type and language&lt;br /&gt;
*New filtering by client and language&lt;br /&gt;
&lt;br /&gt;
====Edit Banner====&lt;br /&gt;
*New type toggle for Image or Custom (dynamically changes the available form fields)&lt;br /&gt;
*New alt text field for image&lt;br /&gt;
*New language field&lt;br /&gt;
&lt;br /&gt;
=====New Options=====&lt;br /&gt;
*Ability to set the created date&lt;br /&gt;
*Ability to set start and finish publishing times&lt;br /&gt;
*Ability to set the purchase type&lt;br /&gt;
*Ability to track impressions&lt;br /&gt;
*Ability to track clicks&lt;br /&gt;
*Use own prefix ?&lt;br /&gt;
*Tags renamed to meta &lt;br /&gt;
*Contacts&lt;br /&gt;
*Messaging&lt;br /&gt;
*Newsfeeds&lt;br /&gt;
*Search&lt;br /&gt;
*Weblinks&lt;br /&gt;
*Redirect&lt;br /&gt;
&lt;br /&gt;
===Extensions Manager===&lt;br /&gt;
====Discover====&lt;br /&gt;
*Module mgr&lt;br /&gt;
*Plugin Mgr&lt;br /&gt;
*Template Mgr&lt;br /&gt;
*Language mgr&lt;br /&gt;
&lt;br /&gt;
===Misc===&lt;br /&gt;
*Auto create linked contact when creating new user ??&lt;br /&gt;
&lt;br /&gt;
==Access Controls==&lt;br /&gt;
*Introduction&lt;br /&gt;
*User Groups&lt;br /&gt;
*Access Levels&lt;br /&gt;
*Permission Layers&lt;br /&gt;
*How Permissions are Inherited&lt;br /&gt;
*How to debrick your site&lt;br /&gt;
&lt;br /&gt;
==Developers==&lt;br /&gt;
===Introduction===&lt;br /&gt;
*PHP 5.2.4+&lt;br /&gt;
*MySQL 5.0.4 (allows for wide varchars)&lt;br /&gt;
*IE7+, Firefox 3+, Safari 4+&lt;br /&gt;
*Focus on code consistency&lt;br /&gt;
*Focus on code reduction&lt;br /&gt;
&lt;br /&gt;
Usage of PHP Native Functions where possible, for example:&lt;br /&gt;
*[[JXMLElement]] extends the native [http://php.net/manual/en/book.simplexml.php SimpleXML] class&lt;br /&gt;
*[[JDate]] extends the [http://www.php.net/manual/en/class.datetime.php DateTime] class&lt;br /&gt;
*Native INI parser to load languages&lt;br /&gt;
&lt;br /&gt;
===Removed features===&lt;br /&gt;
*ADODB compatibility methods in database classes&lt;br /&gt;
*DOMIT (unsupported XML library)&lt;br /&gt;
*Legacy mode (includes global $mainframe, etc)&lt;br /&gt;
*JTemplate (based on patTemplate)&lt;br /&gt;
*patTemplate (templating engine)&lt;br /&gt;
*PDF support&lt;br /&gt;
*PEAR libraries (due to license incompatibilities)&lt;br /&gt;
*phpgacl&lt;br /&gt;
*PHP 4.0 and 5.0 compatibility files&lt;br /&gt;
*XStandard Editor&lt;br /&gt;
&lt;br /&gt;
===Deprecated Features===&lt;br /&gt;
*JController::_acoSection&lt;br /&gt;
*JController::_acoSectionValue&lt;br /&gt;
*JController::authorize()&lt;br /&gt;
*JController::setAccessControl()&lt;br /&gt;
*JDatabase::stderr()&lt;br /&gt;
*JDate::offest&lt;br /&gt;
*JDate::setOffset()&lt;br /&gt;
*JDate::toFormat() - use JDate::format() instead&lt;br /&gt;
*JException::toString()&lt;br /&gt;
*JFactory::getXMLParser()&lt;br /&gt;
*JHtmlGird::access()&lt;br /&gt;
*JHtmlImage::administrator - use JHtml::image instead&lt;br /&gt;
*JHtmlImage::site - use JHtml::image instead&lt;br /&gt;
*JHtmlList::accesslevel()&lt;br /&gt;
*JHtmlList::specificordering() - use JHtml::_(&#039;list.ordering&#039;)&lt;br /&gt;
*JHtmlList::category()&lt;br /&gt;
*JHtmlSelect::optgroup() - see JHtmlSelect::groupedList()&lt;br /&gt;
*JLanguage::_parseLanguageFiles - renamed to parseLanguageFiles&lt;br /&gt;
*JLanguage::_parseXMLLanguageFile - renamed to parseXMLLanguageFile&lt;br /&gt;
*JLanguage::_parseXMLLanguageFiles - renamed to parseXMLLanguageFiles&lt;br /&gt;
*JObject::toString - replaced with magic method&lt;br /&gt;
*JRegistry::getNameSpaces()&lt;br /&gt;
*JRegistry::getValue()&lt;br /&gt;
*JRegistry::makeNameSpace()&lt;br /&gt;
*JRegistry::setValue()&lt;br /&gt;
*JPane - See JHtmlSliders&lt;br /&gt;
*JParameter - replaced by JForm&lt;br /&gt;
*JSimpleXML, JSimpleXMLElement - Use JXMLElement instead, based on the native SimpleXMLElement&lt;br /&gt;
*JTable::canDelete() - models or controllers should be doing the access checks&lt;br /&gt;
*JTable::toXML()&lt;br /&gt;
*JToolbarHelper customX(), addNewX(), editListX(), editHtmlX(), editCssX(), deleteListX()&lt;br /&gt;
*JUser::authorize() - Use JUser::authorise()&lt;br /&gt;
*JUtility::dump()&lt;br /&gt;
*JUtility::array_unshift_ref() - Not needed in PHP 5&lt;br /&gt;
*JUtility::getHash() - Use JApplication::getHash()&lt;br /&gt;
*JUtility::getToken() - Use JFactory::getSession()-&amp;gt;getFormToken()&lt;br /&gt;
*JUtility::isWinOS() - Use JApplication::isWinOS()&lt;br /&gt;
*JUtility::return_bytes() - See InstallerModelWarnings::return_bytes()&lt;br /&gt;
*JUtility::sendMail() - Use JFactory::getMailer()-&amp;gt;sendMail()&lt;br /&gt;
*JUtility::sendAdminMail() - Use JFactory::getMailer()-&amp;gt;sendMail()&lt;br /&gt;
*JXMLElement::data() - Provided for backward compatibility&lt;br /&gt;
*JXMLElement::getAttribute() - Provided for backward compatibility&lt;br /&gt;
&lt;br /&gt;
===Database===&lt;br /&gt;
*JTable now automatically looks up the fields from the database schema&lt;br /&gt;
*New JDatabaseQuery - A chained CRUD query builder&lt;br /&gt;
*New JDatabase::getNextRow&lt;br /&gt;
*New JDatabase::getNextObject&lt;br /&gt;
*JDatabase::loadAssocList  - Now takes a second argument to just return the value of a column&lt;br /&gt;
*JDatabase::setQuery  - Added chaining support&lt;br /&gt;
&lt;br /&gt;
====Important Schema Changes====&lt;br /&gt;
*New jos_extensions table to list all extensions&lt;br /&gt;
*Components table information moved and split between jos_extensions and jos_menu (special menu called _adminmenu)&lt;br /&gt;
&lt;br /&gt;
The old phpgacl (jos_core_acl*) and jos_groups tables have been reworked into:&lt;br /&gt;
*jos_assets&lt;br /&gt;
*jos_user_usergroup_map&lt;br /&gt;
*jos_usergroups&lt;br /&gt;
*jos_viewlevels&lt;br /&gt;
*Archived state changed from a value of -1 to +2&lt;br /&gt;
&lt;br /&gt;
===Improved MVC===&lt;br /&gt;
====Models====&lt;br /&gt;
*JModelList&lt;br /&gt;
*JModelForm&lt;br /&gt;
*JModelAdmin&lt;br /&gt;
*Format handling (eg JSON)&lt;br /&gt;
*Sub-controller handling&lt;br /&gt;
&lt;br /&gt;
====Controllers====&lt;br /&gt;
*JControllerForm&lt;br /&gt;
*JControllerAdmin&lt;br /&gt;
*JController::setMessage takes second arg to set the message type&lt;br /&gt;
*JController can set the default view&lt;br /&gt;
*Added chaining support to several JController methods&lt;br /&gt;
&lt;br /&gt;
====Views====&lt;br /&gt;
*Semantic core output&lt;br /&gt;
*Milkyway legacy layouts&lt;br /&gt;
*The old component parameters are not automatically added to the menu anymore. You need to explicitly put them in the layout XML files.&lt;br /&gt;
*The menu manager will now detect additional layouts for a given view in the default template.&lt;br /&gt;
&lt;br /&gt;
===Form API===&lt;br /&gt;
====Event manipulation====&lt;br /&gt;
*onContentPrepareForm&lt;br /&gt;
*onContentPrepareData&lt;br /&gt;
&lt;br /&gt;
===Translation and Language Support===&lt;br /&gt;
*Support for unicode slugs, eg, SEF URL&#039;s with Greek characters&lt;br /&gt;
*3-letter languages now supported, xxx-XX&lt;br /&gt;
*All existing language keys have been refactored&lt;br /&gt;
&lt;br /&gt;
====INI files must validate====&lt;br /&gt;
*Upper case key with no spaces, alphanumeric characters and underscores&lt;br /&gt;
*Quoted values&lt;br /&gt;
*Double quotes within literal strings must use _QQ_ in the form KEY=&amp;quot;&amp;lt;a href=&amp;quot;_QQ_&amp;quot;index.php&amp;quot;_QQ_&amp;quot;&amp;gt;Click&amp;lt;/a&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====Javascript translation layer====&lt;br /&gt;
*See the flash uploader script for an example&lt;br /&gt;
Local extension language files&lt;br /&gt;
&lt;br /&gt;
====Language file API====&lt;br /&gt;
*Pluralisation support&lt;br /&gt;
*Transliteration support for ASCII or Unicode slugs&lt;br /&gt;
*Ignore Search Words&lt;br /&gt;
*Minimum search word length&lt;br /&gt;
*Custom language overrides&lt;br /&gt;
*System language file to support administrator menu and installation (.sys.ini)&lt;br /&gt;
&lt;br /&gt;
====Language switcher====&lt;br /&gt;
*Language Filter plugin enables language switching&lt;br /&gt;
*Sets the automatic filtering via JFactory::getApplication()-&amp;gt;setLanguageFilter(true)&lt;br /&gt;
*A frontend component with language support would test JFactory::getApplication()-&amp;gt;getLanguageFilter(), which returns the selected language code from the Languages Module&lt;br /&gt;
*The language field can be a language code for a single language, or &amp;quot;*&amp;quot; to be displayed for all languages&lt;br /&gt;
*Community extension for language maintenance com_localise&lt;br /&gt;
&lt;br /&gt;
===Extension management===&lt;br /&gt;
====New installation types====&lt;br /&gt;
=====Libraries=====&lt;br /&gt;
*Must include an XML manifest where type=&amp;quot;library&amp;quot;&lt;br /&gt;
*Can only be installed into a sub-folder of /libraries/&lt;br /&gt;
*Can extend parts of an existing library, eg /libraries/joomla/database/database/oracle.php&lt;br /&gt;
&lt;br /&gt;
=====Packages multi-installer=====&lt;br /&gt;
*Must include an XML manifest where type=&amp;quot;package&amp;quot;&lt;br /&gt;
*A package is a zip of zip&#039;s&lt;br /&gt;
&lt;br /&gt;
New install script can be provided with 5 methods:&lt;br /&gt;
=====preflight=====&lt;br /&gt;
*Runs before anything is run and while the extracted files are in the uploaded temp folder&lt;br /&gt;
&lt;br /&gt;
======Could allow for:======&lt;br /&gt;
*secondary extraction of custom zip&#039;s&lt;br /&gt;
*version checks to be performed&lt;br /&gt;
*halting the installer on an error&lt;br /&gt;
&lt;br /&gt;
=====install / update=====&lt;br /&gt;
*Runs after the database scripts are executed&lt;br /&gt;
*If the extension is new, the install method is run&lt;br /&gt;
*If the extension exists then update method is run if method=&amp;quot;upgrade&amp;quot;, otherwise assumes that the extension is not meant to be upgradable&lt;br /&gt;
&lt;br /&gt;
=====postflight=====&lt;br /&gt;
*Runs after the extension is registered in the database&lt;br /&gt;
*Is not run for the uninstall process (nothing left to do obviously)&lt;br /&gt;
&lt;br /&gt;
====Discover====&lt;br /&gt;
*Does not do any file copying, only works with what it finds&lt;br /&gt;
*Performs preflight, install and postflight&lt;br /&gt;
*Developer of installer has two language files??&lt;br /&gt;
&lt;br /&gt;
====Update site====&lt;br /&gt;
*Can publish an XML manifest on your site that can include individual extensions and extension sets.&lt;br /&gt;
&lt;br /&gt;
====XML Manifest Changes====&lt;br /&gt;
*&amp;lt;install&amp;gt; is deprecated - use &amp;lt;extension&amp;gt;&lt;br /&gt;
*New &amp;lt;update&amp;gt; tag. Takes a &amp;lt;schemas&amp;gt; tag which can define &amp;lt;schemapath&amp;gt;&lt;br /&gt;
*&amp;lt;params&amp;gt; and &amp;lt;param&amp;gt; tags are deprecated, use &amp;lt;fields&amp;gt;, &amp;lt;fieldsets&amp;gt; and &amp;lt;field&amp;gt; instead&lt;br /&gt;
&lt;br /&gt;
====File changes====&lt;br /&gt;
*Installation manifest must be the same name as the extension, eg com_foobar/foobar.xml  This helps with discovery (otherwise the function has to go through all the files in the extension folder&lt;br /&gt;
*Plugins are now in folders like modules and components&lt;br /&gt;
*See SVN/tests/_data/installer_packages/ for complete examples of all extensions and manifests.&lt;br /&gt;
*The method=&amp;quot;upgrade&amp;quot; will compare individual files in the original and incoming manifests and will remove files as appropriate.  However, it will not remove differences in the &amp;lt;folder&amp;gt; tags.&lt;br /&gt;
*Future support for rollback&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
====New Events====&lt;br /&gt;
*onBeforeCompileHead&lt;br /&gt;
*onBeforeRender&lt;br /&gt;
*onContentBeforeDelete&lt;br /&gt;
*onContentAfterDelete&lt;br /&gt;
*onContentChangeState&lt;br /&gt;
*onContentPrepareForm&lt;br /&gt;
*onContentPrepareFormData&lt;br /&gt;
*onExtensionBeforeInstall&lt;br /&gt;
*onExtensionBeforeUpdate&lt;br /&gt;
*onExtensionBeforeUninstall&lt;br /&gt;
*onExtensionAfterInstall&lt;br /&gt;
*onExtensionAfterUpdate&lt;br /&gt;
*onExtensionAfterUninstall&lt;br /&gt;
&lt;br /&gt;
====Renamed Events====&lt;br /&gt;
*onContentAfterSave&lt;br /&gt;
*onContentAfterTitle&lt;br /&gt;
*onContentAfterDisplay&lt;br /&gt;
*onContentBeforeDisplay&lt;br /&gt;
*onContentBeforeSave&lt;br /&gt;
*onContentSearch&lt;br /&gt;
*onContentSearchAreas&lt;br /&gt;
*onUserAuthenticate&lt;br /&gt;
*onUserAfterDelete&lt;br /&gt;
*onUserAfterSave&lt;br /&gt;
*onUserBeforeDelete&lt;br /&gt;
*onUserBeforeSave&lt;br /&gt;
*onUserLogin&lt;br /&gt;
*onUserLogout&lt;br /&gt;
*All content events (except for search and search areas) now pass a &#039;context&#039; as the first argument to alert the plugin as to what type of content is being passed.  The plugin event may or may not heed this context.&lt;br /&gt;
&lt;br /&gt;
===Categories===&lt;br /&gt;
*Component can provide custom options for its own categories via optional category.xml&lt;br /&gt;
*Supported via JTableNested&lt;br /&gt;
&lt;br /&gt;
===Access Controls===&lt;br /&gt;
*A thing that can be controlled by permissions is registered in the assets table&lt;br /&gt;
*JTable handles this transparently via asset_id field&lt;br /&gt;
*For view permissions, support is as simple as adding&lt;br /&gt;
:::$user = JFactory::getUser();&lt;br /&gt;
:::$groups = implode(&#039;,&#039;, $user-&amp;gt;authorisedLevels());&lt;br /&gt;
:::$query-&amp;gt;where(&#039;a.access IN (&#039; . $groups . &#039;)&#039;);&lt;br /&gt;
&lt;br /&gt;
For action permissions, same format as in 1.5:&lt;br /&gt;
$user-&amp;gt;authorise($actionName, $assetName)&lt;br /&gt;
*OpenID library moved to plugin folder&lt;br /&gt;
*Geshi library moved to plugin folder&lt;br /&gt;
*JRegistry notes defaults to JSON (new format), dynamically converting existing data in INI format&lt;br /&gt;
*New JStream&lt;br /&gt;
*New JApplicationHelper::getComponentName&lt;br /&gt;
*Core icons moved to /media/&lt;br /&gt;
*Backward incompatible change to JEditor::display&lt;br /&gt;
*Added chaining support to JMail&lt;br /&gt;
*JFilterInput can no longer be called statically&lt;br /&gt;
*JHtml::image now supports relative paths&lt;br /&gt;
*All system images are overridable in the default template&lt;br /&gt;
*New JHtmlString&lt;br /&gt;
*Added wincache session handler for IIS&lt;br /&gt;
*New JFilterOutput::stripImages&lt;br /&gt;
*JPath::check takes second arg for separator (to pass to JPath::clean)&lt;br /&gt;
*Expanded configuration support through config.xml (multiple tabs)&lt;br /&gt;
&lt;br /&gt;
====Core actions====&lt;br /&gt;
*core.login.site&lt;br /&gt;
*core.login.admin&lt;br /&gt;
*core.admin&lt;br /&gt;
*core.manage&lt;br /&gt;
*core.create&lt;br /&gt;
*core.edit&lt;br /&gt;
*core.edit.state&lt;br /&gt;
*core.delete&lt;br /&gt;
*Miscellaneous changes&lt;br /&gt;
&lt;br /&gt;
===Debug Plugin===&lt;br /&gt;
*More tools for assisting with translation&lt;br /&gt;
&lt;br /&gt;
===Mootools 1.3===&lt;br /&gt;
*Need to use document.id instead of $&lt;br /&gt;
&lt;br /&gt;
==Cache changes ==&lt;br /&gt;
===API changes relevant to 3rd party developers===&lt;br /&gt;
====Component view cache==== &lt;br /&gt;
&lt;br /&gt;
Component view cache now takes an array of url parameters and their types to create Cacheid. This is a replacement for a previous unsafe way which took the whole URL for this and so opened the doors for DOS attacks via random url parameters added to request URL&#039;s. &lt;br /&gt;
&lt;br /&gt;
Com_contact example: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$safeurlparams = array(&lt;br /&gt;
    &#039;id&#039;=&amp;gt;&#039;INT&#039;, &lt;br /&gt;
    &#039;catid&#039;=&amp;gt;&#039;INT&#039;, &#039;limit&#039;=&amp;gt;&#039;INT&#039;, &lt;br /&gt;
    &#039;limitstart&#039;=&amp;gt;&#039;INT&#039;, &lt;br /&gt;
    &#039;filter_order&#039;=&amp;gt;&#039;CMD&#039;, &lt;br /&gt;
    &#039;filter_order_Dir&#039;=&amp;gt;&#039;CMD&#039;&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
parent::display($cachable,$safeurlparams);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Old cacheid created from URL was retained for backwards compatibility and takes effect if there are no $safeurlparams.&lt;br /&gt;
&lt;br /&gt;
====Module cache====&lt;br /&gt;
This has been completly reconceptualized. Module cache now has 5 different modes of operation, 3 of them are to be set from module XML file, while 2 are meant to be used from within the module itself. Default is backwards compatible oldstatic mode that requires no changes to a module. &lt;br /&gt;
&lt;br /&gt;
Modes to be set in XML: &lt;br /&gt;
*&#039;&#039;&#039;static&#039;&#039;&#039; - one cache file for all pages with the same module parameters &lt;br /&gt;
*&#039;&#039;&#039;oldstatic&#039;&#039;&#039; - 1.5. definition of module caching, one cache file for all pages with the same module id and user aid. Default for backwards compatibility &lt;br /&gt;
*&#039;&#039;&#039;itemid&#039;&#039;&#039; - changes on itemid change &lt;br /&gt;
&lt;br /&gt;
In addition to cache field that was required in 1.5 there is now another hidden field called cachemode that sets any of the above modes. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;field name=&amp;quot;cachemode&amp;quot; type=&amp;quot;hidden&amp;quot; label=&amp;quot;&amp;quot; default=&amp;quot;static&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;option value=&amp;quot;static&amp;quot;&amp;gt;&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modes to be called from inside the module: &lt;br /&gt;
*&#039;&#039;&#039;safeuri&#039;&#039;&#039; - id is created from $cacheparams-&amp;gt;modeparams array, the same as in component view cache &lt;br /&gt;
*&#039;&#039;&#039;id&#039;&#039;&#039; - module sets own cache id&#039;s &lt;br /&gt;
&lt;br /&gt;
To use this modes one must rename cache field in xml to owncache field and call JModuleHelper::ModuleCache from within the module&#039;s main php file. This is actually a shortcut to cache callback to avoid code duplication in every module. &lt;br /&gt;
&lt;br /&gt;
An example that uses safeuri mode and replaces uncached&lt;br /&gt;
$list = modRelatedItemsHelper::getList($params) : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$cacheparams = new stdClass; &lt;br /&gt;
$cacheparams-&amp;gt;cachemode = &#039;safeuri&#039;; &lt;br /&gt;
$cacheparams-&amp;gt;class = &#039;modRelatedItemsHelper&#039;; &lt;br /&gt;
$cacheparams-&amp;gt;method = &#039;getList&#039;; &lt;br /&gt;
$cacheparams-&amp;gt;methodparams = $params; &lt;br /&gt;
$cacheparams-&amp;gt;modeparams = array(&#039;id&#039;=&amp;gt;&#039;int&#039;,&#039;Itemid&#039;=&amp;gt;&#039;int&#039;); &lt;br /&gt;
$list = JModuleHelper::ModuleCache ($module, $params, $cacheparams);&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====Functional changes==== &lt;br /&gt;
&#039;&#039;&#039;Cache administration (Clean cache, Purge cache) now works with all drivers&#039;&#039;&#039;, not only with file cache. &lt;br /&gt;
&#039;&#039;&#039;New standalone garbage collect script&#039;&#039;&#039; that is to be called from crontab has been added. It can be found in libraries/joomla/utilities/garbagecron.php . For safety reasons it is recommended that it is renamed to something unique.&lt;br /&gt;
&lt;br /&gt;
====CMS and framework level functional changes==== &lt;br /&gt;
&#039;&#039;&#039;Caching is implemented in all components and modules&#039;&#039;&#039; that can potentially gain from cache.&lt;br /&gt;
Caching has also been added to some most expensive and frequent framework calls JComponentHelper::_load(), JModuleHelper::_load(),JMenuSite::load(); &lt;br /&gt;
&lt;br /&gt;
====Cache library changes====&lt;br /&gt;
Cache library has been completely refactored. &lt;br /&gt;
*Cache &#039;&#039;&#039;handlers have been renamed to controllers&#039;&#039;&#039; to better reflect their role and avoid confusion with cache storage handlers (referred to as drivers in following text). &lt;br /&gt;
*&#039;&#039;&#039;New JCacheController&#039;&#039;&#039; parent class has been added and inheritance has been changed to prevent bugs occurring from controller&#039;s and storage handler&#039;s get method clashes. &lt;br /&gt;
&lt;br /&gt;
====JCache==== &lt;br /&gt;
*&#039;&#039;&#039;getAll()&#039;&#039;&#039; method was added to JCache, JCacheStorage and all drivers, and it returns all cached items (this was previously possible only with file driver and hardcoded in administration) &lt;br /&gt;
*New &#039;&#039;&#039;lock and unlock&#039;&#039;&#039; methods were added to JCache, JCacheStorage and drivers. They enable cache item locking and unlocking to prevent errors on parallel accesses and double saves. This functionally was also implemented in controllers. &lt;br /&gt;
*Workarounds are now consolidated in new &#039;&#039;&#039;JCache getWorkarounds and setWorkarounds&#039;&#039;&#039; methods, are now used by all controllers and their use has been made optional. &lt;br /&gt;
*New makeId() method in JCache that creates cache id from registered url parameters set by components and system plugins&lt;br /&gt;
&lt;br /&gt;
====JCacheController==== &lt;br /&gt;
New parent class to Controllers that also functions as an intermediate to JCache. There is no JObject inheritance as otherwise magic __call doesn&#039;t work. &lt;br /&gt;
Change was needed to prevent bugs occurring from controller&#039;s and storage handler&#039;s get method clashes. They could be renamed but this would break backwards compatibility.&lt;br /&gt;
&lt;br /&gt;
====JCacheStorage==== &lt;br /&gt;
*_getCacheId method was moved from drivers to their parent JCacheStorage and all drives now use the same method by default &lt;br /&gt;
*CacheItem was moved from cache admin to framework JCacheStorageHelper, it is used by getAll &lt;br /&gt;
*There are new cachelite and wincache drivers. All other drivers have been fixed with missing functions (gc, clean) added, their code cleaned and tested they should be now working properly. &lt;br /&gt;
*Replaced separate _expire files in filecache driver with timestamps (this should amount to cca. 40% speed gain). The same in all drivers that had this. &lt;br /&gt;
*Numerous bugfixes on all levels, most important is proper use of options defaulting to configuration parameters settings and correctly passing from level to level.&lt;br /&gt;
&lt;br /&gt;
====Other framework level changes==== &lt;br /&gt;
*Safe url parameters registration added to JControler view method. &lt;br /&gt;
*New ModuleCache method in JModuleHelper that performs the above described module cache (in 5 modes) for both, modules and module renderer. &lt;br /&gt;
*JFactory::getFeedParser has been changed to use Joomla caching instead of simplepie&#039;s.&lt;br /&gt;
&lt;br /&gt;
==Performance==&lt;br /&gt;
===Eliminate the usage of JTable for general browsing on the frontend===&lt;br /&gt;
*Session drops the usage of JTable&lt;br /&gt;
*Item views use a dedicated question, not JTable-&amp;gt;load&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
*Scaling issues to address&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
===Releases===&lt;br /&gt;
*Alpha 1: 22 June 2009&lt;br /&gt;
*Alpha 2: 25 October 2009&lt;br /&gt;
*Beta 01: 18 May 2010&lt;br /&gt;
*Beta 02: 31 May 2010&lt;br /&gt;
*Beta 03: 14 June 2010&lt;br /&gt;
*Beta 04: 28 June 2010&lt;br /&gt;
*Beta 05: 12 July 2010&lt;br /&gt;
*Beta 06: 26 July 2010&lt;br /&gt;
*Beta 07: 09 August 2010&lt;br /&gt;
*Beta 08: 23 August 2010&lt;br /&gt;
*Beta 09: 06 September 2010&lt;br /&gt;
*Beta 10: 20 September 2010&lt;br /&gt;
*Beta 11: 03 October 2010&lt;br /&gt;
*Beta 12: 17 October 2010&lt;br /&gt;
*Beta 13: 31 October 2010&lt;br /&gt;
*Beta 14: 14 November 2010&lt;br /&gt;
*Beta 15: 29 November 2010&lt;br /&gt;
*Release Candidate 1: 13 December 2010&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 1.6]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J2.5:What%27s_new_in_Joomla_2.5&amp;diff=33918</id>
		<title>J2.5:What&#039;s new in Joomla 2.5</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J2.5:What%27s_new_in_Joomla_2.5&amp;diff=33918"/>
		<updated>2011-01-02T22:40:35Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: Corrected Event Name&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The principal changes introduced in Joomla 1.6 are:-&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;New Access Control System&#039;&#039;&#039; - Allows site administrators control over who can view and manage content.&lt;br /&gt;
* &#039;&#039;&#039;Unlimited Depth Organizational Model&#039;&#039;&#039; - Gives site administrators and content creators user-defined category levels that allow for the creation of a category tree with as many or as few levels for organizing articles and other content as needed.&lt;br /&gt;
* &#039;&#039;&#039;One-Click Extension Updates&#039;&#039;&#039; - Allows users to keep sites secure and controlled by simplifying the process of updating extensions.&lt;br /&gt;
* &#039;&#039;&#039;Semantic XHTML Layouts&#039;&#039;&#039; - Provides a better baseline for content presentation.&lt;br /&gt;
&lt;br /&gt;
The following is a more complete list of changes.&lt;br /&gt;
==Administrators==&lt;br /&gt;
===Introduction===&lt;br /&gt;
*Consistent UI&lt;br /&gt;
*Consistent Features&lt;br /&gt;
*Richer sample data&lt;br /&gt;
*IE 7+, Firefox 3.x, Safari 4.x&lt;br /&gt;
*PHP 5.2.4+&lt;br /&gt;
*MySQL 5.0.4 (allows for wide varchars)&lt;br /&gt;
&lt;br /&gt;
===Administrator===&lt;br /&gt;
*Menu Changes&lt;br /&gt;
*Submenu consistency&lt;br /&gt;
&lt;br /&gt;
====Toolbar Features====&lt;br /&gt;
*Save&lt;br /&gt;
*Save &amp;amp; Close&lt;br /&gt;
*Save &amp;amp; New&lt;br /&gt;
*Save as Copy&lt;br /&gt;
*Expired session will return to the page you were on then you got logged out (can be hit and miss)&lt;br /&gt;
*Most search filters allow you to search for a record id via [ id:123 ]&lt;br /&gt;
*&amp;quot;Parameters&amp;quot; are now referred to as &amp;quot;Options&amp;quot;&lt;br /&gt;
*Template Styles&lt;br /&gt;
*Integrated Trash Management&lt;br /&gt;
*Consistent archive support for most content&lt;br /&gt;
*Extension Installer Improvements&lt;br /&gt;
&lt;br /&gt;
===Module Enhancements===&lt;br /&gt;
*Publish up and down&lt;br /&gt;
*Add option to display on all pages &amp;quot;except&amp;quot; selected&lt;br /&gt;
*Expanded Category System&lt;br /&gt;
*404 Page Redirection&lt;br /&gt;
*Better Menu Management&lt;br /&gt;
*Alternative layouts for content, modules and menus (taken from the home template)&lt;br /&gt;
&lt;br /&gt;
===New Templates===&lt;br /&gt;
*Atomic&lt;br /&gt;
*Beez2&lt;br /&gt;
*(Administrator) Bluestork (replaces Khephri)&lt;br /&gt;
*(Administrator) Hathor&lt;br /&gt;
*Legacy layer in Milkyway&lt;br /&gt;
*Backend supports layout overrides&lt;br /&gt;
*New Modules&lt;br /&gt;
*New Plugins&lt;br /&gt;
*Content Languages&lt;br /&gt;
*User Login Permissions&lt;br /&gt;
*Activate selected users from the user list now (and filter)&lt;br /&gt;
*Administrator registration approval&lt;br /&gt;
*Polls component removed&lt;br /&gt;
*New codemirror editor&lt;br /&gt;
&lt;br /&gt;
===SEO Improvements===&lt;br /&gt;
*Meta decription and keywords for categories&lt;br /&gt;
*Articles can change the page title and page header separately&lt;br /&gt;
&lt;br /&gt;
===Global Configuration===&lt;br /&gt;
*Add site name to titles&lt;br /&gt;
*Default Access Level&lt;br /&gt;
*Set Metadata Language (buggy)&lt;br /&gt;
*Unicode Aliases&lt;br /&gt;
*Cookie domain and path&lt;br /&gt;
*User Setting moved to User Manager -&amp;gt; Options&lt;br /&gt;
*Media Settings moved to Media Manager -&amp;gt; Options&lt;br /&gt;
*Debug Modules - allows you to enabled to disable the tp=1 feature&lt;br /&gt;
*Server Timezone now a location, not an integer offset&lt;br /&gt;
*New Global Permissions tab&lt;br /&gt;
&lt;br /&gt;
===User Manager===&lt;br /&gt;
*Can activate a user from the list now&lt;br /&gt;
*User can be assigned to multiple groups&lt;br /&gt;
*Manage user groups&lt;br /&gt;
*Manager content access levels&lt;br /&gt;
&lt;br /&gt;
===Media Manager===&lt;br /&gt;
*Flash uploader fixed&lt;br /&gt;
&lt;br /&gt;
===Menu Manager===&lt;br /&gt;
====Menus List====&lt;br /&gt;
*Rebuild button to press when you brick the menu&lt;br /&gt;
*Clicking the menu name brings up the menu items list rather than going into Edit Menu. To edit the menu, click on the check box next to the name and click on the Edit icon in the toolbar.&lt;br /&gt;
&lt;br /&gt;
====Items List====&lt;br /&gt;
*Menus support the language filter&lt;br /&gt;
*Default now called Home&lt;br /&gt;
*Home is now clickable in the menu item list&lt;br /&gt;
*A separate home can be set for different languages&lt;br /&gt;
&lt;br /&gt;
=====New batch operations=====&lt;br /&gt;
*Set access level&lt;br /&gt;
*Copy or move to another part of this or another menu&lt;br /&gt;
&lt;br /&gt;
====Edit Item====&lt;br /&gt;
*Improved &amp;quot;Type&amp;quot; selector with human readable view and layout names&lt;br /&gt;
*Note field added&lt;br /&gt;
*New window target&lt;br /&gt;
*New Language assignment&lt;br /&gt;
*New Template style&lt;br /&gt;
*Ability to add &amp;amp; edit Module assignments from this page&lt;br /&gt;
*Ability to create alternative menu items with customised parameters&lt;br /&gt;
*Ability to create multiple alternative layouts for one template&lt;br /&gt;
&lt;br /&gt;
=====New options for the menu links and pages themselves=====&lt;br /&gt;
*Link title attribute&lt;br /&gt;
*Link CSS style&lt;br /&gt;
*Menu image is changed to a modal selector&lt;br /&gt;
*CSS class for page heading&lt;br /&gt;
*Page meta description&lt;br /&gt;
*Page meta keywords&lt;br /&gt;
*Robots options&lt;br /&gt;
&lt;br /&gt;
===Articles Manager===&lt;br /&gt;
*Frontpage is now referred to as Featured&lt;br /&gt;
*Article manager uses submenu to quickly skip between articles , categories and featured&lt;br /&gt;
*Sections and categories are now merged.&lt;br /&gt;
&lt;br /&gt;
====Articles List====&lt;br /&gt;
*&#039;&#039;&amp;quot;Missing move and copy; filter by author&amp;quot;&#039;&#039;&lt;br /&gt;
*New column to show language&lt;br /&gt;
*Filtering by language available&lt;br /&gt;
&lt;br /&gt;
====Article Edit====&lt;br /&gt;
*Created by user now selected by modal popup&lt;br /&gt;
*New ability to set the page title from the article&lt;br /&gt;
*Define create, delete, edit and publishing permissions&lt;br /&gt;
&lt;br /&gt;
====Archived Articles====&lt;br /&gt;
*In 1.5, Archived Articles had to first be changed to Published or Unpublished before update. &lt;br /&gt;
*In 1.6, an Article with an Archived Status *can* be changed without changing the State first.&lt;br /&gt;
&lt;br /&gt;
===Categories===&lt;br /&gt;
====Category List====&lt;br /&gt;
*Nested view&lt;br /&gt;
*Filtering on language&lt;br /&gt;
&lt;br /&gt;
====Edit Category====&lt;br /&gt;
*New note field&lt;br /&gt;
*Section replaced with ability to assign a parent category&lt;br /&gt;
*Ability to assign content language&lt;br /&gt;
&lt;br /&gt;
=====New Options (not previously available in 1.5)=====&lt;br /&gt;
*Assign alternate layout&lt;br /&gt;
*Define create, delete, edit and publishing permissions&lt;br /&gt;
*Meta description&lt;br /&gt;
*Meta keywords&lt;br /&gt;
*Alternative page title&lt;br /&gt;
*Meta author&lt;br /&gt;
*Meta robots&lt;br /&gt;
&lt;br /&gt;
===Banners===&lt;br /&gt;
====Banners list====&lt;br /&gt;
* Missing copy toolbar button&lt;br /&gt;
*New archive toolbar button&lt;br /&gt;
*New columns to show meta keywords, purchase type and language&lt;br /&gt;
*New filtering by client and language&lt;br /&gt;
&lt;br /&gt;
====Edit Banner====&lt;br /&gt;
*New type toggle for Image or Custom (dynamically changes the available form fields)&lt;br /&gt;
*New alt text field for image&lt;br /&gt;
*New language field&lt;br /&gt;
&lt;br /&gt;
=====New Options=====&lt;br /&gt;
*Ability to set the created date&lt;br /&gt;
*Ability to set start and finish publishing times&lt;br /&gt;
*Ability to set the purchase type&lt;br /&gt;
*Ability to track impressions&lt;br /&gt;
*Ability to track clicks&lt;br /&gt;
*Use own prefix ?&lt;br /&gt;
*Tags renamed to meta &lt;br /&gt;
*Contacts&lt;br /&gt;
*Messaging&lt;br /&gt;
*Newsfeeds&lt;br /&gt;
*Search&lt;br /&gt;
*Weblinks&lt;br /&gt;
*Redirect&lt;br /&gt;
&lt;br /&gt;
===Extensions Manager===&lt;br /&gt;
====Discover====&lt;br /&gt;
*Module mgr&lt;br /&gt;
*Plugin Mgr&lt;br /&gt;
*Template Mgr&lt;br /&gt;
*Language mgr&lt;br /&gt;
&lt;br /&gt;
===Misc===&lt;br /&gt;
*Auto create linked contact when creating new user ??&lt;br /&gt;
&lt;br /&gt;
==Access Controls==&lt;br /&gt;
*Introduction&lt;br /&gt;
*User Groups&lt;br /&gt;
*Access Levels&lt;br /&gt;
*Permission Layers&lt;br /&gt;
*How Permissions are Inherited&lt;br /&gt;
*How to debrick your site&lt;br /&gt;
&lt;br /&gt;
==Developers==&lt;br /&gt;
===Introduction===&lt;br /&gt;
*PHP 5.2.4+&lt;br /&gt;
*MySQL 5.0.4 (allows for wide varchars)&lt;br /&gt;
*IE7+, Firefox 3+, Safari 4+&lt;br /&gt;
*Focus on code consistency&lt;br /&gt;
*Focus on code reduction&lt;br /&gt;
&lt;br /&gt;
Usage of PHP Native Functions where possible, for example:&lt;br /&gt;
*[[JXMLElement]] extends the native [http://php.net/manual/en/book.simplexml.php SimpleXML] class&lt;br /&gt;
*[[JDate]] extends the [http://www.php.net/manual/en/class.datetime.php DateTime] class&lt;br /&gt;
*Native INI parser to load languages&lt;br /&gt;
&lt;br /&gt;
===Removed features===&lt;br /&gt;
*ADODB compatibility methods in database classes&lt;br /&gt;
*DOMIT (unsupported XML library)&lt;br /&gt;
*Legacy mode (includes global $mainframe, etc)&lt;br /&gt;
*JTemplate (based on patTemplate)&lt;br /&gt;
*patTemplate (templating engine)&lt;br /&gt;
*PDF support&lt;br /&gt;
*PEAR libraries (due to license incompatibilities)&lt;br /&gt;
*phpgacl&lt;br /&gt;
*PHP 4.0 and 5.0 compatibility files&lt;br /&gt;
*XStandard Editor&lt;br /&gt;
&lt;br /&gt;
===Deprecated Features===&lt;br /&gt;
*JController::_acoSection&lt;br /&gt;
*JController::_acoSectionValue&lt;br /&gt;
*JController::authorize()&lt;br /&gt;
*JController::setAccessControl()&lt;br /&gt;
*JDatabase::stderr()&lt;br /&gt;
*JDate::offest&lt;br /&gt;
*JDate::setOffset()&lt;br /&gt;
*JDate::toFormat() - use JDate::format() instead&lt;br /&gt;
*JException::toString()&lt;br /&gt;
*JFactory::getXMLParser()&lt;br /&gt;
*JHtmlGird::access()&lt;br /&gt;
*JHtmlImage::administrator - use JHtml::image instead&lt;br /&gt;
*JHtmlImage::site - use JHtml::image instead&lt;br /&gt;
*JHtmlList::accesslevel()&lt;br /&gt;
*JHtmlList::specificordering() - use JHtml::_(&#039;list.ordering&#039;)&lt;br /&gt;
*JHtmlList::category()&lt;br /&gt;
*JHtmlSelect::optgroup() - see JHtmlSelect::groupedList()&lt;br /&gt;
*JLanguage::_parseLanguageFiles - renamed to parseLanguageFiles&lt;br /&gt;
*JLanguage::_parseXMLLanguageFile - renamed to parseXMLLanguageFile&lt;br /&gt;
*JLanguage::_parseXMLLanguageFiles - renamed to parseXMLLanguageFiles&lt;br /&gt;
*JObject::toString - replaced with magic method&lt;br /&gt;
*JRegistry::getNameSpaces()&lt;br /&gt;
*JRegistry::getValue()&lt;br /&gt;
*JRegistry::makeNameSpace()&lt;br /&gt;
*JRegistry::setValue()&lt;br /&gt;
*JPane - See JHtmlSliders&lt;br /&gt;
*JParameter - replaced by JForm&lt;br /&gt;
*JSimpleXML, JSimpleXMLElement - Use JXMLElement instead, based on the native SimpleXMLElement&lt;br /&gt;
*JTable::canDelete() - models or controllers should be doing the access checks&lt;br /&gt;
*JTable::toXML()&lt;br /&gt;
*JToolbarHelper customX(), addNewX(), editListX(), editHtmlX(), editCssX(), deleteListX()&lt;br /&gt;
*JUser::authorize() - Use JUser::authorise()&lt;br /&gt;
*JUtility::dump()&lt;br /&gt;
*JUtility::array_unshift_ref() - Not needed in PHP 5&lt;br /&gt;
*JUtility::getHash() - Use JApplication::getHash()&lt;br /&gt;
*JUtility::getToken() - Use JFactory::getSession()-&amp;gt;getFormToken()&lt;br /&gt;
*JUtility::isWinOS() - Use JApplication::isWinOS()&lt;br /&gt;
*JUtility::return_bytes() - See InstallerModelWarnings::return_bytes()&lt;br /&gt;
*JUtility::sendMail() - Use JFactory::getMailer()-&amp;gt;sendMail()&lt;br /&gt;
*JUtility::sendAdminMail() - Use JFactory::getMailer()-&amp;gt;sendMail()&lt;br /&gt;
*JXMLElement::data() - Provided for backward compatibility&lt;br /&gt;
*JXMLElement::getAttribute() - Provided for backward compatibility&lt;br /&gt;
&lt;br /&gt;
===Database===&lt;br /&gt;
*JTable now automatically looks up the fields from the database schema&lt;br /&gt;
*New JDatabaseQuery - A chained CRUD query builder&lt;br /&gt;
*New JDatabase::getNextRow&lt;br /&gt;
*New JDatabase::getNextObject&lt;br /&gt;
*JDatabase::loadAssocList  - Now takes a second argument to just return the value of a column&lt;br /&gt;
*JDatabase::setQuery  - Added chaining support&lt;br /&gt;
&lt;br /&gt;
====Important Schema Changes====&lt;br /&gt;
*New jos_extensions table to list all extensions&lt;br /&gt;
*Components table information moved and split between jos_extensions and jos_menu (special menu called _adminmenu)&lt;br /&gt;
&lt;br /&gt;
The old phpgacl (jos_core_acl*) and jos_groups tables have been reworked into:&lt;br /&gt;
*jos_assets&lt;br /&gt;
*jos_user_usergroup_map&lt;br /&gt;
*jos_usergroups&lt;br /&gt;
*jos_viewlevels&lt;br /&gt;
*Archived state changed from a value of -1 to +2&lt;br /&gt;
&lt;br /&gt;
===Improved MVC===&lt;br /&gt;
====Models====&lt;br /&gt;
*JModelList&lt;br /&gt;
*JModelForm&lt;br /&gt;
*JModelAdmin&lt;br /&gt;
*Format handling (eg JSON)&lt;br /&gt;
*Sub-controller handling&lt;br /&gt;
&lt;br /&gt;
====Controllers====&lt;br /&gt;
*JControllerForm&lt;br /&gt;
*JControllerAdmin&lt;br /&gt;
*JController::setMessage takes second arg to set the message type&lt;br /&gt;
*JController can set the default view&lt;br /&gt;
*Added chaining support to several JController methods&lt;br /&gt;
&lt;br /&gt;
====Views====&lt;br /&gt;
*Semantic core output&lt;br /&gt;
*Milkyway legacy layouts&lt;br /&gt;
*The old component parameters are not automatically added to the menu anymore. You need to explicitly put them in the layout XML files.&lt;br /&gt;
*The menu manager will now detect additional layouts for a given view in the default template.&lt;br /&gt;
&lt;br /&gt;
===Form API===&lt;br /&gt;
====Event manipulation====&lt;br /&gt;
*onContentPrepareForm&lt;br /&gt;
*onContentPrepareData&lt;br /&gt;
&lt;br /&gt;
===Translation and Language Support===&lt;br /&gt;
*Support for unicode slugs, eg, SEF URL&#039;s with Greek characters&lt;br /&gt;
*3-letter languages now supported, xxx-XX&lt;br /&gt;
*All existing language keys have been refactored&lt;br /&gt;
&lt;br /&gt;
====INI files must validate====&lt;br /&gt;
*Upper case key with no spaces, alphanumeric characters and underscores&lt;br /&gt;
*Quoted values&lt;br /&gt;
*Double quotes within literal strings must use _QQ_ in the form KEY=&amp;quot;&amp;lt;a href=&amp;quot;_QQ_&amp;quot;index.php&amp;quot;_QQ_&amp;quot;&amp;gt;Click&amp;lt;/a&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====Javascript translation layer====&lt;br /&gt;
*See the flash uploader script for an example&lt;br /&gt;
Local extension language files&lt;br /&gt;
&lt;br /&gt;
====Language file API====&lt;br /&gt;
*Pluralisation support&lt;br /&gt;
*Transliteration support for ASCII or Unicode slugs&lt;br /&gt;
*Ignore Search Words&lt;br /&gt;
*Minimum search word length&lt;br /&gt;
*Custom language overrides&lt;br /&gt;
*System language file to support administrator menu and installation (.sys.ini)&lt;br /&gt;
&lt;br /&gt;
====Language switcher====&lt;br /&gt;
*Language Filter plugin enables language switching&lt;br /&gt;
*Sets the automatic filtering via JFactory::getApplication()-&amp;gt;setLanguageFilter(true)&lt;br /&gt;
*A frontend component with language support would test JFactory::getApplication()-&amp;gt;getLanguageFilter(), which returns the selected language code from the Languages Module&lt;br /&gt;
*The language field can be a language code for a single language, or &amp;quot;*&amp;quot; to be displayed for all languages&lt;br /&gt;
*Community extension for language maintenance com_localise&lt;br /&gt;
&lt;br /&gt;
===Extension management===&lt;br /&gt;
====New installation types====&lt;br /&gt;
=====Libraries=====&lt;br /&gt;
*Must include an XML manifest where type=&amp;quot;library&amp;quot;&lt;br /&gt;
*Can only be installed into a sub-folder of /libraries/&lt;br /&gt;
*Can extend parts of an existing library, eg /libraries/joomla/database/database/oracle.php&lt;br /&gt;
&lt;br /&gt;
=====Packages multi-installer=====&lt;br /&gt;
*Must include an XML manifest where type=&amp;quot;package&amp;quot;&lt;br /&gt;
*A package is a zip of zip&#039;s&lt;br /&gt;
&lt;br /&gt;
New install script can be provided with 5 methods:&lt;br /&gt;
=====preflight=====&lt;br /&gt;
*Runs before anything is run and while the extracted files are in the uploaded temp folder&lt;br /&gt;
&lt;br /&gt;
======Could allow for:======&lt;br /&gt;
*secondary extraction of custom zip&#039;s&lt;br /&gt;
*version checks to be performed&lt;br /&gt;
*halting the installer on an error&lt;br /&gt;
&lt;br /&gt;
=====install / update=====&lt;br /&gt;
*Runs after the database scripts are executed&lt;br /&gt;
*If the extension is new, the install method is run&lt;br /&gt;
*If the extension exists then update method is run if method=&amp;quot;upgrade&amp;quot;, otherwise assumes that the extension is not meant to be upgradable&lt;br /&gt;
&lt;br /&gt;
=====postflight=====&lt;br /&gt;
*Runs after the extension is registered in the database&lt;br /&gt;
*Is not run for the uninstall process (nothing left to do obviously)&lt;br /&gt;
&lt;br /&gt;
====Discover====&lt;br /&gt;
*Does not do any file copying, only works with what it finds&lt;br /&gt;
*Performs preflight, install and postflight&lt;br /&gt;
*Developer of installer has two language files??&lt;br /&gt;
&lt;br /&gt;
====Update site====&lt;br /&gt;
*Can publish an XML manifest on your site that can include individual extensions and extension sets.&lt;br /&gt;
&lt;br /&gt;
====XML Manifest Changes====&lt;br /&gt;
*&amp;lt;install&amp;gt; is deprecated - use &amp;lt;extension&amp;gt;&lt;br /&gt;
*New &amp;lt;update&amp;gt; tag. Takes a &amp;lt;schemas&amp;gt; tag which can define &amp;lt;schemapath&amp;gt;&lt;br /&gt;
*&amp;lt;params&amp;gt; and &amp;lt;param&amp;gt; tags are deprecated, use &amp;lt;fields&amp;gt;, &amp;lt;fieldsets&amp;gt; and &amp;lt;field&amp;gt; instead&lt;br /&gt;
&lt;br /&gt;
====File changes====&lt;br /&gt;
*Installation manifest must be the same name as the extension, eg com_foobar/foobar.xml  This helps with discovery (otherwise the function has to go through all the files in the extension folder&lt;br /&gt;
*Plugins are now in folders like modules and components&lt;br /&gt;
*See SVN/tests/_data/installer_packages/ for complete examples of all extensions and manifests.&lt;br /&gt;
*The method=&amp;quot;upgrade&amp;quot; will compare individual files in the original and incoming manifests and will remove files as appropriate.  However, it will not remove differences in the &amp;lt;folder&amp;gt; tags.&lt;br /&gt;
*Future support for rollback&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
====New Events====&lt;br /&gt;
*onBeforeCompileHead&lt;br /&gt;
*onBeforeRender&lt;br /&gt;
*onContentBeforeDelete&lt;br /&gt;
*onContentAfterDelete&lt;br /&gt;
*onContentChangeState&lt;br /&gt;
*onContentPrepareForm&lt;br /&gt;
*onContentPrepareFormData&lt;br /&gt;
*onExtensionBeforeInstall&lt;br /&gt;
*onExtensionBeforeUpdate&lt;br /&gt;
*onExtensionBeforeUninstall&lt;br /&gt;
*onExtensionAfterInstall&lt;br /&gt;
*onExtensionAfterUpdate&lt;br /&gt;
*onExtensionAfterUninstall&lt;br /&gt;
&lt;br /&gt;
====Renamed Events====&lt;br /&gt;
*onContentAfterSave&lt;br /&gt;
*onContentAfterTitle&lt;br /&gt;
*onContentAfterDisplay&lt;br /&gt;
*onContentBeforeDisplay&lt;br /&gt;
*onContentBeforeSave&lt;br /&gt;
*onContentSearch&lt;br /&gt;
*onContentSearchAreas&lt;br /&gt;
*onUserAuthenticate&lt;br /&gt;
*onUserAfterDelete&lt;br /&gt;
*onUserAfterSave&lt;br /&gt;
*onUserBeforeDelete&lt;br /&gt;
*onUserBeforeSave&lt;br /&gt;
*onUserLogin&lt;br /&gt;
*onUserLogout&lt;br /&gt;
*All content events (except for search and search areas) now pass a &#039;context&#039; as the first argument to alert the plugin as to what type of content is being passed.  The plugin event may or may not heed this context.&lt;br /&gt;
&lt;br /&gt;
===Categories===&lt;br /&gt;
*Component can provide custom options for its own categories via optional category.xml&lt;br /&gt;
*Supported via JTableNested&lt;br /&gt;
&lt;br /&gt;
===Access Controls===&lt;br /&gt;
*A thing that can be controlled by permissions is registered in the assets table&lt;br /&gt;
*JTable handles this transparently via asset_id field&lt;br /&gt;
*For view permissions, support is as simple as adding&lt;br /&gt;
:::$user = JFactory::getUser();&lt;br /&gt;
:::$groups = implode(&#039;,&#039;, $user-&amp;gt;authorisedLevels());&lt;br /&gt;
:::$query-&amp;gt;where(&#039;a.access IN (&#039; . $groups . &#039;)&#039;);&lt;br /&gt;
&lt;br /&gt;
For action permissions, same format as in 1.5:&lt;br /&gt;
$user-&amp;gt;authorise($actionName, $assetName)&lt;br /&gt;
*OpenID library moved to plugin folder&lt;br /&gt;
*Geshi library moved to plugin folder&lt;br /&gt;
*JRegistry notes defaults to JSON (new format), dynamically converting existing data in INI format&lt;br /&gt;
*New JStream&lt;br /&gt;
*New JApplicationHelper::getComponentName&lt;br /&gt;
*Core icons moved to /media/&lt;br /&gt;
*Backward incompatible change to JEditor::display&lt;br /&gt;
*Added chaining support to JMail&lt;br /&gt;
*JFilterInput can no longer be called statically&lt;br /&gt;
*JHtml::image now supports relative paths&lt;br /&gt;
*All system images are overridable in the default template&lt;br /&gt;
*New JHtmlString&lt;br /&gt;
*Added wincache session handler for IIS&lt;br /&gt;
*New JFilterOutput::stripImages&lt;br /&gt;
*JPath::check takes second arg for separator (to pass to JPath::clean)&lt;br /&gt;
*Expanded configuration support through config.xml (multiple tabs)&lt;br /&gt;
&lt;br /&gt;
====Core actions====&lt;br /&gt;
*core.login.site&lt;br /&gt;
*core.login.admin&lt;br /&gt;
*core.admin&lt;br /&gt;
*core.manage&lt;br /&gt;
*core.create&lt;br /&gt;
*core.edit&lt;br /&gt;
*core.edit.state&lt;br /&gt;
*core.delete&lt;br /&gt;
*Miscellaneous changes&lt;br /&gt;
&lt;br /&gt;
===Debug Plugin===&lt;br /&gt;
*More tools for assisting with translation&lt;br /&gt;
&lt;br /&gt;
===Mootools 1.3===&lt;br /&gt;
*Need to use document.id instead of $&lt;br /&gt;
&lt;br /&gt;
==Cache changes ==&lt;br /&gt;
===API changes relevant to 3rd party developers===&lt;br /&gt;
====Component view cache==== &lt;br /&gt;
&lt;br /&gt;
Component view cache now takes an array of url parameters and their types to create Cacheid. This is a replacement for a previous unsafe way which took the whole URL for this and so opened the doors for DOS attacks via random url parameters added to request URL&#039;s. &lt;br /&gt;
&lt;br /&gt;
Com_contact example: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$safeurlparams = array(&lt;br /&gt;
    &#039;id&#039;=&amp;gt;&#039;INT&#039;, &lt;br /&gt;
    &#039;catid&#039;=&amp;gt;&#039;INT&#039;, &#039;limit&#039;=&amp;gt;&#039;INT&#039;, &lt;br /&gt;
    &#039;limitstart&#039;=&amp;gt;&#039;INT&#039;, &lt;br /&gt;
    &#039;filter_order&#039;=&amp;gt;&#039;CMD&#039;, &lt;br /&gt;
    &#039;filter_order_Dir&#039;=&amp;gt;&#039;CMD&#039;&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
parent::display($cachable,$safeurlparams);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Old cacheid created from URL was retained for backwards compatibility and takes effect if there are no $safeurlparams.&lt;br /&gt;
&lt;br /&gt;
====Module cache====&lt;br /&gt;
This has been completly reconceptualized. Module cache now has 5 different modes of operation, 3 of them are to be set from module XML file, while 2 are meant to be used from within the module itself. Default is backwards compatible oldstatic mode that requires no changes to a module. &lt;br /&gt;
&lt;br /&gt;
Modes to be set in XML: &lt;br /&gt;
*&#039;&#039;&#039;static&#039;&#039;&#039; - one cache file for all pages with the same module parameters &lt;br /&gt;
*&#039;&#039;&#039;oldstatic&#039;&#039;&#039; - 1.5. definition of module caching, one cache file for all pages with the same module id and user aid. Default for backwards compatibility &lt;br /&gt;
*&#039;&#039;&#039;itemid&#039;&#039;&#039; - changes on itemid change &lt;br /&gt;
&lt;br /&gt;
In addition to cache field that was required in 1.5 there is now another hidden field called cachemode that sets any of the above modes. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;field name=&amp;quot;cachemode&amp;quot; type=&amp;quot;hidden&amp;quot; label=&amp;quot;&amp;quot; default=&amp;quot;static&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;option value=&amp;quot;static&amp;quot;&amp;gt;&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modes to be called from inside the module: &lt;br /&gt;
*&#039;&#039;&#039;safeuri&#039;&#039;&#039; - id is created from $cacheparams-&amp;gt;modeparams array, the same as in component view cache &lt;br /&gt;
*&#039;&#039;&#039;id&#039;&#039;&#039; - module sets own cache id&#039;s &lt;br /&gt;
&lt;br /&gt;
To use this modes one must rename cache field in xml to owncache field and call JModuleHelper::ModuleCache from within the module&#039;s main php file. This is actually a shortcut to cache callback to avoid code duplication in every module. &lt;br /&gt;
&lt;br /&gt;
An example that uses safeuri mode and replaces uncached&lt;br /&gt;
$list = modRelatedItemsHelper::getList($params) : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$cacheparams = new stdClass; &lt;br /&gt;
$cacheparams-&amp;gt;cachemode = &#039;safeuri&#039;; &lt;br /&gt;
$cacheparams-&amp;gt;class = &#039;modRelatedItemsHelper&#039;; &lt;br /&gt;
$cacheparams-&amp;gt;method = &#039;getList&#039;; &lt;br /&gt;
$cacheparams-&amp;gt;methodparams = $params; &lt;br /&gt;
$cacheparams-&amp;gt;modeparams = array(&#039;id&#039;=&amp;gt;&#039;int&#039;,&#039;Itemid&#039;=&amp;gt;&#039;int&#039;); &lt;br /&gt;
$list = JModuleHelper::ModuleCache ($module, $params, $cacheparams);&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====Functional changes==== &lt;br /&gt;
&#039;&#039;&#039;Cache administration (Clean cache, Purge cache) now works with all drivers&#039;&#039;&#039;, not only with file cache. &lt;br /&gt;
&#039;&#039;&#039;New standalone garbage collect script&#039;&#039;&#039; that is to be called from crontab has been added. It can be found in libraries/joomla/utilities/garbagecron.php . For safety reasons it is recommended that it is renamed to something unique.&lt;br /&gt;
&lt;br /&gt;
====CMS and framework level functional changes==== &lt;br /&gt;
&#039;&#039;&#039;Caching is implemented in all components and modules&#039;&#039;&#039; that can potentially gain from cache.&lt;br /&gt;
Caching has also been added to some most expensive and frequent framework calls JComponentHelper::_load(), JModuleHelper::_load(),JMenuSite::load(); &lt;br /&gt;
&lt;br /&gt;
====Cache library changes====&lt;br /&gt;
Cache library has been completely refactored. &lt;br /&gt;
*Cache &#039;&#039;&#039;handlers have been renamed to controllers&#039;&#039;&#039; to better reflect their role and avoid confusion with cache storage handlers (referred to as drivers in following text). &lt;br /&gt;
*&#039;&#039;&#039;New JCacheController&#039;&#039;&#039; parent class has been added and inheritance has been changed to prevent bugs occurring from controller&#039;s and storage handler&#039;s get method clashes. &lt;br /&gt;
&lt;br /&gt;
====JCache==== &lt;br /&gt;
*&#039;&#039;&#039;getAll()&#039;&#039;&#039; method was added to JCache, JCacheStorage and all drivers, and it returns all cached items (this was previously possible only with file driver and hardcoded in administration) &lt;br /&gt;
*New &#039;&#039;&#039;lock and unlock&#039;&#039;&#039; methods were added to JCache, JCacheStorage and drivers. They enable cache item locking and unlocking to prevent errors on parallel accesses and double saves. This functionally was also implemented in controllers. &lt;br /&gt;
*Workarounds are now consolidated in new &#039;&#039;&#039;JCache getWorkarounds and setWorkarounds&#039;&#039;&#039; methods, are now used by all controllers and their use has been made optional. &lt;br /&gt;
*New makeId() method in JCache that creates cache id from registered url parameters set by components and system plugins&lt;br /&gt;
&lt;br /&gt;
====JCacheController==== &lt;br /&gt;
New parent class to Controllers that also functions as an intermediate to JCache. There is no JObject inheritance as otherwise magic __call doesn&#039;t work. &lt;br /&gt;
Change was needed to prevent bugs occurring from controller&#039;s and storage handler&#039;s get method clashes. They could be renamed but this would break backwards compatibility.&lt;br /&gt;
&lt;br /&gt;
====JCacheStorage==== &lt;br /&gt;
*_getCacheId method was moved from drivers to their parent JCacheStorage and all drives now use the same method by default &lt;br /&gt;
*CacheItem was moved from cache admin to framework JCacheStorageHelper, it is used by getAll &lt;br /&gt;
*There are new cachelite and wincache drivers. All other drivers have been fixed with missing functions (gc, clean) added, their code cleaned and tested they should be now working properly. &lt;br /&gt;
*Replaced separate _expire files in filecache driver with timestamps (this should amount to cca. 40% speed gain). The same in all drivers that had this. &lt;br /&gt;
*Numerous bugfixes on all levels, most important is proper use of options defaulting to configuration parameters settings and correctly passing from level to level.&lt;br /&gt;
&lt;br /&gt;
====Other framework level changes==== &lt;br /&gt;
*Safe url parameters registration added to JControler view method. &lt;br /&gt;
*New ModuleCache method in JModuleHelper that performs the above described module cache (in 5 modes) for both, modules and module renderer. &lt;br /&gt;
*JFactory::getFeedParser has been changed to use Joomla caching instead of simplepie&#039;s.&lt;br /&gt;
&lt;br /&gt;
==Performance==&lt;br /&gt;
===Eliminate the usage of JTable for general browsing on the frontend===&lt;br /&gt;
*Session drops the usage of JTable&lt;br /&gt;
*Item views use a dedicated question, not JTable-&amp;gt;load&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
*Scaling issues to address&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
===Releases===&lt;br /&gt;
*Alpha 1: 22 June 2009&lt;br /&gt;
*Alpha 2: 25 October 2009&lt;br /&gt;
*Beta 01: 18 May 2010&lt;br /&gt;
*Beta 02: 31 May 2010&lt;br /&gt;
*Beta 03: 14 June 2010&lt;br /&gt;
*Beta 04: 28 June 2010&lt;br /&gt;
*Beta 05: 12 July 2010&lt;br /&gt;
*Beta 06: 26 July 2010&lt;br /&gt;
*Beta 07: 09 August 2010&lt;br /&gt;
*Beta 08: 23 August 2010&lt;br /&gt;
*Beta 09: 06 September 2010&lt;br /&gt;
*Beta 10: 20 September 2010&lt;br /&gt;
*Beta 11: 03 October 2010&lt;br /&gt;
*Beta 12: 17 October 2010&lt;br /&gt;
*Beta 13: 31 October 2010&lt;br /&gt;
*Beta 14: 14 November 2010&lt;br /&gt;
*Beta 15: 29 November 2010&lt;br /&gt;
*Release Candidate 1: 13 December 2010&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 1.6]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J1.5:Plugin/Events/System&amp;diff=33913</id>
		<title>J1.5:Plugin/Events/System</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J1.5:Plugin/Events/System&amp;diff=33913"/>
		<updated>2011-01-01T23:34:21Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: add onBeforeCompileHead Event&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Development]]&lt;br /&gt;
[[Category:Plugins]]&lt;br /&gt;
===Overview===&lt;br /&gt;
In a standard installation of Joomla! 1.5 we have several predefined events which, when triggered, call functions in the associated plugins.  For more information on plugins, check [[Tutorial:Plugins|Tutorial:Plugins]], [[Tutorial:Creating_a_Plugin_for_Joomla_1.5|Tutorial:Creating a Plugin for Joomla 1.5]], [[How_to_create_a_content_plugin|How to create a content plugin]] etc.&lt;br /&gt;
&lt;br /&gt;
This topic is aimed at &amp;quot;global&amp;quot; system events, including those triggered on every page load (onAfterInitialise, onAfterRoute, onAfterDispatch, onAfterRender), those supporting search within multiple plugins (onSearch, onSearchArea) and those supporting the presentation of web services (onGetWebServices). Visit [[Tutorial:Plugins|the plugins tutorial]] for a complete list over available core events.&lt;br /&gt;
&lt;br /&gt;
=== onAfterInitialise ===&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This event is triggered after the framework has loaded and the applicaiton initialise method has been called.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parameters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return Value&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Called in files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*index.php&lt;br /&gt;
*administrator/index.php&lt;br /&gt;
&lt;br /&gt;
===onAfterRoute===&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This event is triggered after the framework has loaded and initialised and the router has route the client request.&lt;br /&gt;
&lt;br /&gt;
Routing is the process of examining the request environment to determine which component should receive the request. The component optional parameters are then set in the request object to be processed when the application is being dispatched.&lt;br /&gt;
&lt;br /&gt;
When this event triggers the router has parsed the route and pushed the request parameters into JRequest for retrieval by the application.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parameters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return Value&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Used in files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* index.php&lt;br /&gt;
* administrator/index.php&lt;br /&gt;
&lt;br /&gt;
===onAfterDispatch===&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
This event is triggered after the framework has dispatched the application.&lt;br /&gt;
&lt;br /&gt;
Dispatching is the process of pulling the option from the request object and mapping them to a component. If the component do not exist, it handles determining a default component to dispatch.&lt;br /&gt;
&lt;br /&gt;
When this event is triggered the output of the component is available in the document buffer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parameters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return Value&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Used in files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* index.php&lt;br /&gt;
* administrator/index.php&lt;br /&gt;
&lt;br /&gt;
===onBeforeRender===&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
This event is triggered immediately before the framework has rendered the application.&lt;br /&gt;
&lt;br /&gt;
Rendering is the process of pushing the document buffers into the template placeholders, retrieving data from the document and pushing it into the into the JResponse buffer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parameters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return Value&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Used in files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* include/application.php&lt;br /&gt;
* administrator/include/application.php&lt;br /&gt;
&lt;br /&gt;
===onAfterRender===&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
This event is triggered after the framework has rendered the application.&lt;br /&gt;
&lt;br /&gt;
Rendering is the process of pushing the document buffers into the template placeholders, retrieving data from the document and pushing it into the into the JResponse buffer.&lt;br /&gt;
&lt;br /&gt;
When this event is triggered the output of the application is available in the response buffer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parameters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return Value&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Used in files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* include/application.php&lt;br /&gt;
* administrator/include/application.php&lt;br /&gt;
&lt;br /&gt;
===onBeforeCompileHead===&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
This event is triggered before the framework creates the Head section of the Document.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parameters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return Value&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Used in files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* libraries/joomla/document/html/renderer/head.php&lt;br /&gt;
&lt;br /&gt;
===onSearch===&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This event is triggered by a variety of search related operations. It is a request for a&lt;br /&gt;
plugin to return the result of a search request. The rows must return the following fields, which are used in a common display routine:&lt;br /&gt;
&lt;br /&gt;
* href&lt;br /&gt;
* title&lt;br /&gt;
* section&lt;br /&gt;
* created&lt;br /&gt;
* text&lt;br /&gt;
* browsernav&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parameters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* The target search string.&lt;br /&gt;
* A string matching option (exact|any|all).&lt;br /&gt;
* A string ordering option (newest|oldest|popular|alpha|category)&lt;br /&gt;
* An array if restricted to areas, null if search all.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return Value&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Array of stdClass objects with members as described above.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Used in files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* administrator/components/com_statistics/admin.statistics.php&lt;br /&gt;
* components/com_search/search.php&lt;br /&gt;
* plugins/search/categories.php&lt;br /&gt;
* plugins/search/contacts.php&lt;br /&gt;
* plugins/search/content.php&lt;br /&gt;
* plugins/search/newsfeeds.php&lt;br /&gt;
* plugins/search/sections.php&lt;br /&gt;
* plugins/search/weblinks.php&lt;br /&gt;
* plugins/xmlrpc/joomla.php&lt;br /&gt;
&lt;br /&gt;
===onSearchAreas===&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This appears to be a request for plugins to identify which &amp;quot;areas&amp;quot; they provide&lt;br /&gt;
search facilities for.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parameters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return Value&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
An associative array of area names, indexed by the area identifier. For example, array( &#039;categories&#039; =&amp;gt; &#039;Categories&#039; ).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Used in files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* components/com_search/search.php&lt;br /&gt;
* plugins/search/categories.php&lt;br /&gt;
* plugins/search/contacts.php&lt;br /&gt;
* plugins/search/content.php&lt;br /&gt;
* plugins/search/newsfeeds.php&lt;br /&gt;
* plugins/search/sections.php&lt;br /&gt;
* plugins/search/weblinks.php&lt;br /&gt;
&lt;br /&gt;
===onGetWebServices===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is an introspection request for plugins that provide web services.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parameters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return Value&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
An array of associative arrays. The outer array is indexed by the service method name and&lt;br /&gt;
contains an array with the following elements:&lt;br /&gt;
&lt;br /&gt;
* [&#039;function&#039;] The method to be invoked, typically a string like &#039;ClassName::staticMethod&#039;&lt;br /&gt;
* [&#039;docstring&#039;] A human-readable definition of the method&#039;s purpose.&lt;br /&gt;
* [&#039;signature&#039;] An array identifying the types of the method&#039;s parameters. See the global variables $xmlrpc* for more information.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Used in files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* plugins/xmlrpc/blogger.php&lt;br /&gt;
* plugins/xmlrpc/joomla.php&lt;br /&gt;
* xmlrpc/index.php&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
This is an example system plugin.  Please note that because system plugins are loaded before any other event group, they may also contain any other event.&lt;br /&gt;
&lt;br /&gt;
The following class would be located in the file &amp;lt;code&amp;gt;/plugins/system/example.php&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;?php&lt;br /&gt;
// no direct access&lt;br /&gt;
defined( &#039;_JEXEC&#039; ) or die( &#039;Restricted access&#039; );&lt;br /&gt;
&lt;br /&gt;
jimport( &#039;joomla.plugin.plugin&#039; );&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Example system plugin&lt;br /&gt;
 */&lt;br /&gt;
class plgSystemExample extends JPlugin&lt;br /&gt;
{&lt;br /&gt;
	/**&lt;br /&gt;
	 * Constructor&lt;br /&gt;
	 *&lt;br /&gt;
	 * For php4 compatability we must not use the __constructor as a constructor for plugins&lt;br /&gt;
	 * because func_get_args ( void ) returns a copy of all passed arguments NOT references.&lt;br /&gt;
	 * This causes problems with cross-referencing necessary for the observer design pattern.&lt;br /&gt;
	 *&lt;br /&gt;
	 * @access	protected&lt;br /&gt;
	 * @param	object	$subject The object to observe&lt;br /&gt;
	 * @param 	array   $config  An array that holds the plugin configuration&lt;br /&gt;
	 * @since	1.0&lt;br /&gt;
	 */&lt;br /&gt;
	function plgSystemCache( &amp;amp;$subject, $config )&lt;br /&gt;
	{&lt;br /&gt;
		parent::__construct( $subject, $config );&lt;br /&gt;
&lt;br /&gt;
		// Do some extra initialisation in this constructor if required&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Do something onAfterInitialise &lt;br /&gt;
	 */&lt;br /&gt;
	function onAfterInitialise()&lt;br /&gt;
	{&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Do something onAfterRoute &lt;br /&gt;
	 */&lt;br /&gt;
	function onAfterRoute()&lt;br /&gt;
	{&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Do something onAfterDispatch &lt;br /&gt;
	 */&lt;br /&gt;
	function onAfterDispatch()&lt;br /&gt;
	{&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Do something onAfterRender &lt;br /&gt;
	 */&lt;br /&gt;
	function onAfterRender()&lt;br /&gt;
	{&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following XML document would be located in the file &amp;lt;code&amp;gt;/plugins/system/example.xml&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;install version=&amp;quot;1.5&amp;quot; type=&amp;quot;plugin&amp;quot; group=&amp;quot;system&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;System - Example&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;author&amp;gt;Author&amp;lt;/author&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;Month 2008&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
	&amp;lt;copyright&amp;gt;Copyright (C) 2008 Holder. All rights reserved.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
	&amp;lt;license&amp;gt;GNU General Public License&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;authorEmail&amp;gt;email&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
	&amp;lt;authorUrl&amp;gt;url&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;1.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;An example system plugin&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename plugin=&amp;quot;example&amp;quot;&amp;gt;example.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
	&amp;lt;params&amp;gt;&lt;br /&gt;
  		&amp;lt;param name=&amp;quot;example&amp;quot;&lt;br /&gt;
  		type=&amp;quot;text&amp;quot;&lt;br /&gt;
  		default=&amp;quot;&amp;quot;&lt;br /&gt;
  		label=&amp;quot;Example&amp;quot;&lt;br /&gt;
  		description=&amp;quot;An example text parameter&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/params&amp;gt;&lt;br /&gt;
&amp;lt;/install&amp;gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J1.5:Plugin/Events/System&amp;diff=33909</id>
		<title>J1.5:Plugin/Events/System</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J1.5:Plugin/Events/System&amp;diff=33909"/>
		<updated>2011-01-01T19:42:43Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: Added onBeforeRender Event&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Development]]&lt;br /&gt;
[[Category:Plugins]]&lt;br /&gt;
===Overview===&lt;br /&gt;
In a standard installation of Joomla! 1.5 we have several predefined events which, when triggered, call functions in the associated plugins.  For more information on plugins, check [[Tutorial:Plugins|Tutorial:Plugins]], [[Tutorial:Creating_a_Plugin_for_Joomla_1.5|Tutorial:Creating a Plugin for Joomla 1.5]], [[How_to_create_a_content_plugin|How to create a content plugin]] etc.&lt;br /&gt;
&lt;br /&gt;
This topic is aimed at &amp;quot;global&amp;quot; system events, including those triggered on every page load (onAfterInitialise, onAfterRoute, onAfterDispatch, onAfterRender), those supporting search within multiple plugins (onSearch, onSearchArea) and those supporting the presentation of web services (onGetWebServices). Visit [[Tutorial:Plugins|the plugins tutorial]] for a complete list over available core events.&lt;br /&gt;
&lt;br /&gt;
=== onAfterInitialise ===&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This event is triggered after the framework has loaded and the applicaiton initialise method has been called.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parameters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return Value&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Called in files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*index.php&lt;br /&gt;
*administrator/index.php&lt;br /&gt;
&lt;br /&gt;
===onAfterRoute===&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This event is triggered after the framework has loaded and initialised and the router has route the client request.&lt;br /&gt;
&lt;br /&gt;
Routing is the process of examining the request environment to determine which component should receive the request. The component optional parameters are then set in the request object to be processed when the application is being dispatched.&lt;br /&gt;
&lt;br /&gt;
When this event triggers the router has parsed the route and pushed the request parameters into JRequest for retrieval by the application.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parameters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return Value&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Used in files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* index.php&lt;br /&gt;
* administrator/index.php&lt;br /&gt;
&lt;br /&gt;
===onAfterDispatch===&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
This event is triggered after the framework has dispatched the application.&lt;br /&gt;
&lt;br /&gt;
Dispatching is the process of pulling the option from the request object and mapping them to a component. If the component do not exist, it handles determining a default component to dispatch.&lt;br /&gt;
&lt;br /&gt;
When this event is triggered the output of the component is available in the document buffer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parameters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return Value&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Used in files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* index.php&lt;br /&gt;
* administrator/index.php&lt;br /&gt;
&lt;br /&gt;
===onBeforeRender===&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
This event is triggered immediately before the framework has rendered the application.&lt;br /&gt;
&lt;br /&gt;
Rendering is the process of pushing the document buffers into the template placeholders, retrieving data from the document and pushing it into the into the JResponse buffer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parameters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return Value&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Used in files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* include/application.php&lt;br /&gt;
* administrator/include/application.php&lt;br /&gt;
&lt;br /&gt;
===onAfterRender===&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
This event is triggered after the framework has rendered the application.&lt;br /&gt;
&lt;br /&gt;
Rendering is the process of pushing the document buffers into the template placeholders, retrieving data from the document and pushing it into the into the JResponse buffer.&lt;br /&gt;
&lt;br /&gt;
When this event is triggered the output of the application is available in the response buffer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parameters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return Value&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Used in files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* include/application.php&lt;br /&gt;
* administrator/include/application.php&lt;br /&gt;
&lt;br /&gt;
===onSearch===&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This event is triggered by a variety of search related operations. It is a request for a&lt;br /&gt;
plugin to return the result of a search request. The rows must return the following fields, which are used in a common display routine:&lt;br /&gt;
&lt;br /&gt;
* href&lt;br /&gt;
* title&lt;br /&gt;
* section&lt;br /&gt;
* created&lt;br /&gt;
* text&lt;br /&gt;
* browsernav&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parameters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* The target search string.&lt;br /&gt;
* A string matching option (exact|any|all).&lt;br /&gt;
* A string ordering option (newest|oldest|popular|alpha|category)&lt;br /&gt;
* An array if restricted to areas, null if search all.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return Value&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Array of stdClass objects with members as described above.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Used in files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* administrator/components/com_statistics/admin.statistics.php&lt;br /&gt;
* components/com_search/search.php&lt;br /&gt;
* plugins/search/categories.php&lt;br /&gt;
* plugins/search/contacts.php&lt;br /&gt;
* plugins/search/content.php&lt;br /&gt;
* plugins/search/newsfeeds.php&lt;br /&gt;
* plugins/search/sections.php&lt;br /&gt;
* plugins/search/weblinks.php&lt;br /&gt;
* plugins/xmlrpc/joomla.php&lt;br /&gt;
&lt;br /&gt;
===onSearchAreas===&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This appears to be a request for plugins to identify which &amp;quot;areas&amp;quot; they provide&lt;br /&gt;
search facilities for.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parameters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return Value&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
An associative array of area names, indexed by the area identifier. For example, array( &#039;categories&#039; =&amp;gt; &#039;Categories&#039; ).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Used in files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* components/com_search/search.php&lt;br /&gt;
* plugins/search/categories.php&lt;br /&gt;
* plugins/search/contacts.php&lt;br /&gt;
* plugins/search/content.php&lt;br /&gt;
* plugins/search/newsfeeds.php&lt;br /&gt;
* plugins/search/sections.php&lt;br /&gt;
* plugins/search/weblinks.php&lt;br /&gt;
&lt;br /&gt;
===onGetWebServices===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is an introspection request for plugins that provide web services.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parameters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return Value&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
An array of associative arrays. The outer array is indexed by the service method name and&lt;br /&gt;
contains an array with the following elements:&lt;br /&gt;
&lt;br /&gt;
* [&#039;function&#039;] The method to be invoked, typically a string like &#039;ClassName::staticMethod&#039;&lt;br /&gt;
* [&#039;docstring&#039;] A human-readable definition of the method&#039;s purpose.&lt;br /&gt;
* [&#039;signature&#039;] An array identifying the types of the method&#039;s parameters. See the global variables $xmlrpc* for more information.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Used in files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* plugins/xmlrpc/blogger.php&lt;br /&gt;
* plugins/xmlrpc/joomla.php&lt;br /&gt;
* xmlrpc/index.php&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
This is an example system plugin.  Please note that because system plugins are loaded before any other event group, they may also contain any other event.&lt;br /&gt;
&lt;br /&gt;
The following class would be located in the file &amp;lt;code&amp;gt;/plugins/system/example.php&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;?php&lt;br /&gt;
// no direct access&lt;br /&gt;
defined( &#039;_JEXEC&#039; ) or die( &#039;Restricted access&#039; );&lt;br /&gt;
&lt;br /&gt;
jimport( &#039;joomla.plugin.plugin&#039; );&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Example system plugin&lt;br /&gt;
 */&lt;br /&gt;
class plgSystemExample extends JPlugin&lt;br /&gt;
{&lt;br /&gt;
	/**&lt;br /&gt;
	 * Constructor&lt;br /&gt;
	 *&lt;br /&gt;
	 * For php4 compatability we must not use the __constructor as a constructor for plugins&lt;br /&gt;
	 * because func_get_args ( void ) returns a copy of all passed arguments NOT references.&lt;br /&gt;
	 * This causes problems with cross-referencing necessary for the observer design pattern.&lt;br /&gt;
	 *&lt;br /&gt;
	 * @access	protected&lt;br /&gt;
	 * @param	object	$subject The object to observe&lt;br /&gt;
	 * @param 	array   $config  An array that holds the plugin configuration&lt;br /&gt;
	 * @since	1.0&lt;br /&gt;
	 */&lt;br /&gt;
	function plgSystemCache( &amp;amp;$subject, $config )&lt;br /&gt;
	{&lt;br /&gt;
		parent::__construct( $subject, $config );&lt;br /&gt;
&lt;br /&gt;
		// Do some extra initialisation in this constructor if required&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Do something onAfterInitialise &lt;br /&gt;
	 */&lt;br /&gt;
	function onAfterInitialise()&lt;br /&gt;
	{&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Do something onAfterRoute &lt;br /&gt;
	 */&lt;br /&gt;
	function onAfterRoute()&lt;br /&gt;
	{&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Do something onAfterDispatch &lt;br /&gt;
	 */&lt;br /&gt;
	function onAfterDispatch()&lt;br /&gt;
	{&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Do something onAfterRender &lt;br /&gt;
	 */&lt;br /&gt;
	function onAfterRender()&lt;br /&gt;
	{&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following XML document would be located in the file &amp;lt;code&amp;gt;/plugins/system/example.xml&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;install version=&amp;quot;1.5&amp;quot; type=&amp;quot;plugin&amp;quot; group=&amp;quot;system&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;System - Example&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;author&amp;gt;Author&amp;lt;/author&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;Month 2008&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
	&amp;lt;copyright&amp;gt;Copyright (C) 2008 Holder. All rights reserved.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
	&amp;lt;license&amp;gt;GNU General Public License&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;authorEmail&amp;gt;email&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
	&amp;lt;authorUrl&amp;gt;url&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;1.0.1&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;An example system plugin&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename plugin=&amp;quot;example&amp;quot;&amp;gt;example.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
	&amp;lt;params&amp;gt;&lt;br /&gt;
  		&amp;lt;param name=&amp;quot;example&amp;quot;&lt;br /&gt;
  		type=&amp;quot;text&amp;quot;&lt;br /&gt;
  		default=&amp;quot;&amp;quot;&lt;br /&gt;
  		label=&amp;quot;Example&amp;quot;&lt;br /&gt;
  		description=&amp;quot;An example text parameter&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/params&amp;gt;&lt;br /&gt;
&amp;lt;/install&amp;gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=GHOP_students_2007-2008&amp;diff=31679</id>
		<title>GHOP students 2007-2008</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=GHOP_students_2007-2008&amp;diff=31679"/>
		<updated>2010-10-30T01:55:45Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: /* Kevin Hayne (Kevin8020) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== [[GHOP students/Anner J. Bonilla|Anner J. Bonilla]] (annerajb) ==&lt;br /&gt;
{{:GHOP students/Anner J. Bonilla}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Andreas Lance Freund|Andreas Lance Freund]] ==&lt;br /&gt;
{{:GHOP students/Andreas Lance Freund}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Anthony Vérez|Anthony Vérez]] (netantho) ==&lt;br /&gt;
{{:GHOP students/Anthony Vérez}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Benjamin Hättasch|Benjamin Hättasch]]==&lt;br /&gt;
{{:GHOP students/Benjamin Hättasch}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Branko Pajic|Branko Pajic]] (balvanboy) ==&lt;br /&gt;
{{:GHOP students/Branko Pajic}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Chad Windnagle|Chad Windnagle]] (drmmr763) ==&lt;br /&gt;
{{:GHOP students/Chad Windnagle}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Chit Sabesh Asokan|Chit Sabesh Asokan]] (chitsabesh) ==&lt;br /&gt;
{{:GHOP students/Chit Sabesh Asokan}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/James William Ramsay|James William Ramsay]] (J. Ramsay) ==&lt;br /&gt;
{{:GHOP students/James William Ramsay}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Justo de Rivera|Justo de Rivera]] (justo.deRivera) ==&lt;br /&gt;
{{:GHOP students/Justo de Rivera}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Kevin Hayne|Kevin Hayne]] (Kevin8020) ==&lt;br /&gt;
{{:GHOP students/Kevin Hayne}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Marieke van der Tuin|Marieke van der Tuin]] (Marieke92) ==&lt;br /&gt;
{{:GHOP students/Marieke van der Tuin}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Martin Pecka|Martin Pecka]] (peci1) ==&lt;br /&gt;
{{:GHOP students/Martin Pecka}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Max Shinn|Max Shinn]] (trombonechamp) ==&lt;br /&gt;
{{:GHOP students/Max Shinn}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Maximiliano David Bustos|Maximiliano David Bustos]] (Maxi) ==&lt;br /&gt;
{{:GHOP students/Maximiliano David Bustos}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Michael Casha|Michael Casha]] (MiCCAS) ==&lt;br /&gt;
{{:GHOP students/Michael Casha}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Miloš Bovan|Miloš Bovan]] (fantastic) ==&lt;br /&gt;
{{:GHOP students/Miloš Bovan}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Miłosz Lewandowski|Miłosz Lewandowski]] (milosz.lewandowski) ==&lt;br /&gt;
{{:GHOP students/Miłosz Lewandowski}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Ming-Ting Wei|Ming-Ting Wei]]  &amp;quot;魏藥&amp;quot; (medicalwei) ==&lt;br /&gt;
{{:GHOP students/Ming-Ting Wei}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Shantanu Bala|Shantanu Bala]] (shantanubala) ==&lt;br /&gt;
{{:GHOP students/Shantanu Bala}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Thomas Gummerer|Thomas Gummerer]] (littlegeniuz) ==&lt;br /&gt;
{{:GHOP students/Thomas Gummerer}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Tomasz Dobrzyński|Tomasz Dobrzyński]] (depresz) ==&lt;br /&gt;
{{:GHOP students/Tomasz Dobrzyński}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Wickrama Arachchi Vithanage Hashani Maduwanthi Weerarathna|Wickrama Arachchi Vithanage Hashani Maduwanthi Weerarathna]] (Hashani) ==&lt;br /&gt;
{{:GHOP students/Wickrama Arachchi Vithanage Hashani Maduwanthi Weerarathna}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Witchakorn Kamolpornwijit|Witchakorn Kamolpornwijit]] (Chalet16) ==&lt;br /&gt;
{{:GHOP students/Witchakorn Kamolpornwijit}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Yavor Sashov Georgiev|Yavor Sashov Georgiev]] (fealebenpae) ==&lt;br /&gt;
{{:GHOP students/Yavor Sashov Georgiev}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Zach Kanzler|Zach Kanzler]] (theY4Kman) ==&lt;br /&gt;
{{:GHOP students/Zach Kanzler}}{{-}}&lt;br /&gt;
&lt;br /&gt;
[[Category:GHOP]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=GHOP_students_2007-2008/Kevin_Hayne&amp;diff=31678</id>
		<title>GHOP students 2007-2008/Kevin Hayne</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=GHOP_students_2007-2008/Kevin_Hayne&amp;diff=31678"/>
		<updated>2010-10-30T01:55:13Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:kevin8020.jpg|thumb|Kevin Hayne (Kevin8020)]]&lt;br /&gt;
&lt;br /&gt;
I&#039;m from the USA - Denver, Colorado... and I love it.  I&#039;ve had an interest in computers since the Myst series entered in our home. My love for technology has stemmed from that experience.  I started working with website for fun when I was 11, and haven&#039;t looked back since. Discovering Mambo back four years ago was my introduction into PHP and I started learning the joys of working with it.  After seeing Joomla! appear, I was taken with the core team&#039;s plans, and jumped over here. I spent a few years with zoom gallery before it&#039;s demise, and a few with Joomla!hacks working on their bridge for SMF. Now, I do the occasional Joomla! contract project for corePHP but not much.&lt;br /&gt;
&lt;br /&gt;
Seeing GHOP was like a dream come true - finally a way JUST for high school students to contribute to this amazing project.  Being able to work with Joomla! and contribute small things that will make a difference in the project has been a great experience, and one that I have really enjoyed. The volunteer staff was great - especially Amy who got me through all of my tasks and helped me when I got stuck plenty of times.  I hope I get the chance to participate next year too.  If I were to do anything differently, it would be to get more people staffing the event. While I felt well attended too, I had to occasionally bump my own topic to get attention. Other than that - I think it was great! The only concert I have is that if people get too ambitious next year, there won&#039;t be a chance for any of us to grab more than one task... haha!&lt;br /&gt;
&lt;br /&gt;
Outside of web coding and Joomla! stuff, I love music - which has resulted in my being able to work with bands in the area (as a web guy of course). I also play guitar, enjoy working with sound systems, and love to hike in the Colorado Rockies. Speaking of the Colorado Rockies... how about that baseball team, eh?&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://community.joomla.org/blogs/community/1323-onwards-the-story-of-kevin-hayne.html Onwards - The story of Kevin Hayne]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=GHOP_students_2007-2008&amp;diff=31677</id>
		<title>GHOP students 2007-2008</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=GHOP_students_2007-2008&amp;diff=31677"/>
		<updated>2010-10-30T01:54:24Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: /* Kevin Hayne (Kevin8020) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== [[GHOP students/Anner J. Bonilla|Anner J. Bonilla]] (annerajb) ==&lt;br /&gt;
{{:GHOP students/Anner J. Bonilla}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Andreas Lance Freund|Andreas Lance Freund]] ==&lt;br /&gt;
{{:GHOP students/Andreas Lance Freund}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Anthony Vérez|Anthony Vérez]] (netantho) ==&lt;br /&gt;
{{:GHOP students/Anthony Vérez}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Benjamin Hättasch|Benjamin Hättasch]]==&lt;br /&gt;
{{:GHOP students/Benjamin Hättasch}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Branko Pajic|Branko Pajic]] (balvanboy) ==&lt;br /&gt;
{{:GHOP students/Branko Pajic}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Chad Windnagle|Chad Windnagle]] (drmmr763) ==&lt;br /&gt;
{{:GHOP students/Chad Windnagle}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Chit Sabesh Asokan|Chit Sabesh Asokan]] (chitsabesh) ==&lt;br /&gt;
{{:GHOP students/Chit Sabesh Asokan}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/James William Ramsay|James William Ramsay]] (J. Ramsay) ==&lt;br /&gt;
{{:GHOP students/James William Ramsay}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Justo de Rivera|Justo de Rivera]] (justo.deRivera) ==&lt;br /&gt;
{{:GHOP students/Justo de Rivera}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Kevin Hayne|Kevin Hayne]] (Kevin8020) ==&lt;br /&gt;
{{:GHOP students/Kevin Hayne}}{{-}}&lt;br /&gt;
[http://community.joomla.org/blogs/community/1323-onwards-the-story-of-kevin-hayne.html Onwards - The story of Kevin Hayne]&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Marieke van der Tuin|Marieke van der Tuin]] (Marieke92) ==&lt;br /&gt;
{{:GHOP students/Marieke van der Tuin}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Martin Pecka|Martin Pecka]] (peci1) ==&lt;br /&gt;
{{:GHOP students/Martin Pecka}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Max Shinn|Max Shinn]] (trombonechamp) ==&lt;br /&gt;
{{:GHOP students/Max Shinn}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Maximiliano David Bustos|Maximiliano David Bustos]] (Maxi) ==&lt;br /&gt;
{{:GHOP students/Maximiliano David Bustos}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Michael Casha|Michael Casha]] (MiCCAS) ==&lt;br /&gt;
{{:GHOP students/Michael Casha}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Miloš Bovan|Miloš Bovan]] (fantastic) ==&lt;br /&gt;
{{:GHOP students/Miloš Bovan}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Miłosz Lewandowski|Miłosz Lewandowski]] (milosz.lewandowski) ==&lt;br /&gt;
{{:GHOP students/Miłosz Lewandowski}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Ming-Ting Wei|Ming-Ting Wei]]  &amp;quot;魏藥&amp;quot; (medicalwei) ==&lt;br /&gt;
{{:GHOP students/Ming-Ting Wei}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Shantanu Bala|Shantanu Bala]] (shantanubala) ==&lt;br /&gt;
{{:GHOP students/Shantanu Bala}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Thomas Gummerer|Thomas Gummerer]] (littlegeniuz) ==&lt;br /&gt;
{{:GHOP students/Thomas Gummerer}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Tomasz Dobrzyński|Tomasz Dobrzyński]] (depresz) ==&lt;br /&gt;
{{:GHOP students/Tomasz Dobrzyński}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Wickrama Arachchi Vithanage Hashani Maduwanthi Weerarathna|Wickrama Arachchi Vithanage Hashani Maduwanthi Weerarathna]] (Hashani) ==&lt;br /&gt;
{{:GHOP students/Wickrama Arachchi Vithanage Hashani Maduwanthi Weerarathna}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Witchakorn Kamolpornwijit|Witchakorn Kamolpornwijit]] (Chalet16) ==&lt;br /&gt;
{{:GHOP students/Witchakorn Kamolpornwijit}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Yavor Sashov Georgiev|Yavor Sashov Georgiev]] (fealebenpae) ==&lt;br /&gt;
{{:GHOP students/Yavor Sashov Georgiev}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Zach Kanzler|Zach Kanzler]] (theY4Kman) ==&lt;br /&gt;
{{:GHOP students/Zach Kanzler}}{{-}}&lt;br /&gt;
&lt;br /&gt;
[[Category:GHOP]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=GHOP_students_2007-2008&amp;diff=31676</id>
		<title>GHOP students 2007-2008</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=GHOP_students_2007-2008&amp;diff=31676"/>
		<updated>2010-10-30T01:54:02Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: /* Kevin Hayne (Kevin8020) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== [[GHOP students/Anner J. Bonilla|Anner J. Bonilla]] (annerajb) ==&lt;br /&gt;
{{:GHOP students/Anner J. Bonilla}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Andreas Lance Freund|Andreas Lance Freund]] ==&lt;br /&gt;
{{:GHOP students/Andreas Lance Freund}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Anthony Vérez|Anthony Vérez]] (netantho) ==&lt;br /&gt;
{{:GHOP students/Anthony Vérez}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Benjamin Hättasch|Benjamin Hättasch]]==&lt;br /&gt;
{{:GHOP students/Benjamin Hättasch}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Branko Pajic|Branko Pajic]] (balvanboy) ==&lt;br /&gt;
{{:GHOP students/Branko Pajic}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Chad Windnagle|Chad Windnagle]] (drmmr763) ==&lt;br /&gt;
{{:GHOP students/Chad Windnagle}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Chit Sabesh Asokan|Chit Sabesh Asokan]] (chitsabesh) ==&lt;br /&gt;
{{:GHOP students/Chit Sabesh Asokan}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/James William Ramsay|James William Ramsay]] (J. Ramsay) ==&lt;br /&gt;
{{:GHOP students/James William Ramsay}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Justo de Rivera|Justo de Rivera]] (justo.deRivera) ==&lt;br /&gt;
{{:GHOP students/Justo de Rivera}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Kevin Hayne|Kevin Hayne]] (Kevin8020) ==&lt;br /&gt;
{{:GHOP students/Kevin Hayne}}{{-}}&lt;br /&gt;
[Onwards - The story of Kevin Hayne http://community.joomla.org/blogs/community/1323-onwards-the-story-of-kevin-hayne.html]&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Marieke van der Tuin|Marieke van der Tuin]] (Marieke92) ==&lt;br /&gt;
{{:GHOP students/Marieke van der Tuin}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Martin Pecka|Martin Pecka]] (peci1) ==&lt;br /&gt;
{{:GHOP students/Martin Pecka}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Max Shinn|Max Shinn]] (trombonechamp) ==&lt;br /&gt;
{{:GHOP students/Max Shinn}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Maximiliano David Bustos|Maximiliano David Bustos]] (Maxi) ==&lt;br /&gt;
{{:GHOP students/Maximiliano David Bustos}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Michael Casha|Michael Casha]] (MiCCAS) ==&lt;br /&gt;
{{:GHOP students/Michael Casha}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Miloš Bovan|Miloš Bovan]] (fantastic) ==&lt;br /&gt;
{{:GHOP students/Miloš Bovan}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Miłosz Lewandowski|Miłosz Lewandowski]] (milosz.lewandowski) ==&lt;br /&gt;
{{:GHOP students/Miłosz Lewandowski}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Ming-Ting Wei|Ming-Ting Wei]]  &amp;quot;魏藥&amp;quot; (medicalwei) ==&lt;br /&gt;
{{:GHOP students/Ming-Ting Wei}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Shantanu Bala|Shantanu Bala]] (shantanubala) ==&lt;br /&gt;
{{:GHOP students/Shantanu Bala}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Thomas Gummerer|Thomas Gummerer]] (littlegeniuz) ==&lt;br /&gt;
{{:GHOP students/Thomas Gummerer}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Tomasz Dobrzyński|Tomasz Dobrzyński]] (depresz) ==&lt;br /&gt;
{{:GHOP students/Tomasz Dobrzyński}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Wickrama Arachchi Vithanage Hashani Maduwanthi Weerarathna|Wickrama Arachchi Vithanage Hashani Maduwanthi Weerarathna]] (Hashani) ==&lt;br /&gt;
{{:GHOP students/Wickrama Arachchi Vithanage Hashani Maduwanthi Weerarathna}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Witchakorn Kamolpornwijit|Witchakorn Kamolpornwijit]] (Chalet16) ==&lt;br /&gt;
{{:GHOP students/Witchakorn Kamolpornwijit}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Yavor Sashov Georgiev|Yavor Sashov Georgiev]] (fealebenpae) ==&lt;br /&gt;
{{:GHOP students/Yavor Sashov Georgiev}}{{-}}&lt;br /&gt;
&lt;br /&gt;
== [[GHOP students/Zach Kanzler|Zach Kanzler]] (theY4Kman) ==&lt;br /&gt;
{{:GHOP students/Zach Kanzler}}{{-}}&lt;br /&gt;
&lt;br /&gt;
[[Category:GHOP]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Archived:GCI_2010-11&amp;diff=31674</id>
		<title>Archived:GCI 2010-11</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Archived:GCI_2010-11&amp;diff=31674"/>
		<updated>2010-10-29T23:39:19Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Google Code-in 2010-2011 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
&lt;br /&gt;
[http://code.google.com/gci Google Code-in] (GCI) is a contest for pre-university (13-18 year old) students, that aims at helping students get involved in Open Source projects.&lt;br /&gt;
&lt;br /&gt;
[http://code.google.com/opensource/gci/2010-11/faqs.html Google Code-in Frequently Asked Questions]&lt;br /&gt;
&lt;br /&gt;
This list is a work in progress. The final listing for each task that is offered to students must include:&lt;br /&gt;
&lt;br /&gt;
# A specific work product, whether a piece of code, a written report, a piece of writing, a website or an image.&lt;br /&gt;
# Evaluation criteria which will be used for determining whether the task has been successfully completed.&lt;br /&gt;
# A list of any resources that would be useful for the student doing the project. These will usually be links to information but could something else.&lt;br /&gt;
# A difficulty rating (we are using challenging, intermediate, basic).&lt;br /&gt;
&lt;br /&gt;
=== Proposed Tasks ===&lt;br /&gt;
&lt;br /&gt;
==== Code ====&lt;br /&gt;
&lt;br /&gt;
Tasks related to writing or refactoring code&lt;br /&gt;
&lt;br /&gt;
====== Challenging ======&lt;br /&gt;
# Add the ability for the Mass Mail feature in Joomla 1.6 to be able to send HTML messages.&lt;br /&gt;
# Add a batch update facility to the Joomla 1.6 user manager to be able to batch add, remove or set the user groups for users in a list.&lt;br /&gt;
# Create a bulk import utility for the Joomla! user manager to create from a csv file and optionally notify users of their account details via email.&lt;br /&gt;
# Create a plugin to allow users to delete their accounts.&lt;br /&gt;
# Create a new component syndicate a combined feed from two separate components.&lt;br /&gt;
# Create a new document type: vcalendar.&lt;br /&gt;
# Create a new document type: ical.&lt;br /&gt;
# Create a new document type: rdf.&lt;br /&gt;
# Create a new document type: hcard.&lt;br /&gt;
# Create a new document type: csv.&lt;br /&gt;
# Create a new document type: vcard.&lt;br /&gt;
# Implement frontend editing for com_contact.&lt;br /&gt;
# Implement frontend editing for com_newsfeeds.&lt;br /&gt;
# Implement a method for Apply in the front end for com_content or com_weblinks.&lt;br /&gt;
# Create a component that would allow a backend user to change his or her password and other account settings in the backend without having access to the com_users user interface. &lt;br /&gt;
# Create a Debian package for Joomla! 1.6. Document the process.&lt;br /&gt;
# Create a Debian package for the Joomla! Framework. Document the process.&lt;br /&gt;
# Create a RPM package for Joomla! 1.6. Document the process. &lt;br /&gt;
Resources: http://en.wikipedia.org/wiki/RPM_Package_Manager&lt;br /&gt;
http://www.rpm.org/&lt;br /&gt;
# Create a RPM package for Joomla! 1.6. Document the process.&lt;br /&gt;
Resources: http://en.wikipedia.org/wiki/RPM_Package_Manager&lt;br /&gt;
http://www.rpm.org/&lt;br /&gt;
&lt;br /&gt;
====== Intermediate ======&lt;br /&gt;
&lt;br /&gt;
#Create a custom document type to download vcard information in RDF format.&lt;br /&gt;
#Create a Google Map user plugin for display based on address information in com_contact.&lt;br /&gt;
#Create a plugin that stores information from specific fields in a profile plugin in the jos_contact_details table&lt;br /&gt;
#Create a plugin that parses actions from Mosets Tree and stores them in Scout (directory monitoring)&lt;br /&gt;
#Create an administrator module for quick article create that could replace Quick Icons.&lt;br /&gt;
&lt;br /&gt;
====== Basic ======&lt;br /&gt;
#Create a module to display a list of contacts in a category&lt;br /&gt;
#Create a module to display a list of newsfeeds in a category.&lt;br /&gt;
#Create user plugin to display a Twitter feed.&lt;br /&gt;
#Create a user plugin to display a Facebook feed.&lt;br /&gt;
&lt;br /&gt;
====  Documentation ====&lt;br /&gt;
&lt;br /&gt;
====== Challenging ======&lt;br /&gt;
#Document a complete class of the Joomla! Framework including appropriate code examples from the Joomla! core or elsewhere. (This task can be repeated for each framework class).&lt;br /&gt;
#Create a document describing the observer design pattern and how it is implemented in Joomla! plugins.&lt;br /&gt;
#Consult with the Joomla! development community and draft proposed code style standards for XML.&lt;br /&gt;
&lt;br /&gt;
====== Intermediate ======&lt;br /&gt;
#Document the use of alternative component layouts and provide a detailed commented example for each of the core components.&lt;br /&gt;
#Document the use of alternative module layouts and provide detailed commented examples for at least 5 core modules.&lt;br /&gt;
#Document how to create a custom document type, using a core component as an example (document types might be rdf, csv, hcard, ical, hcal etc). &lt;br /&gt;
&lt;br /&gt;
====== Basic ======&lt;br /&gt;
&lt;br /&gt;
For each of these create a page in docs.joomla.org&lt;br /&gt;
# Describe the way view access levels can be expanded in Joomla 1.6 and how a site owner would use them to control the visible access to site content.&lt;br /&gt;
# Describe the meanings of the core permissions in Joomla 1.6 and the four levels over which they can be applied.&lt;br /&gt;
# Describe the Global Level of permissions in Joomla 1.6 and how a site owner might use them to broadly control site access.&lt;br /&gt;
# Describe the Component Level of permissions in Joomla 1.6 and how a site owner can restrict users in groups to certain components.&lt;br /&gt;
# Describe the Category Level permissions in Joomla 1.6 and how a site owner can restrict content providers to create, edit and delete content in those categories.&lt;br /&gt;
# Describe the Article Level permissions in Joomla 1.6 and how a site owner can restrict content providers to edit and delete their articles.&lt;br /&gt;
# Describe how site owners can use the Edit Own permission effectively in Joomla 1.6.&lt;br /&gt;
# Describe how a template designer can create a template parameter to for the site owner to include their Google Analytics code in the template automatically.&lt;br /&gt;
# Describe how to restore the default ACL settings.&lt;br /&gt;
&lt;br /&gt;
====  Outreach ====&lt;br /&gt;
&lt;br /&gt;
====== Challenging ======&lt;br /&gt;
&lt;br /&gt;
# Do a presentation for a local club, school or group on how to create a Joomla! Website. Write a brief report about the experience. (Can be done by several people)&lt;br /&gt;
# Create a Joomla! website for a non profit organization. Write a report about the experience. (Can be done by several people)&lt;br /&gt;
# Create a survey of third party developers to learn how closely they follow Joomla! core development and what forms of communication about core development they would find most useful.&lt;br /&gt;
# Organize an Install Fest where a group of students in your school can install and start creating a Joomla! website.&lt;br /&gt;
&lt;br /&gt;
====== Intermediate ======&lt;br /&gt;
&lt;br /&gt;
# Translate the Evaluators Persona (http://docs.joomla.org/Evaluators) into a language other than English.&lt;br /&gt;
# Write an article for the Joomla! Community Magazine &lt;br /&gt;
# Write an article about Joomla! or the Joomla! Project for your school newspaper or a local newspaper. &lt;br /&gt;
# Meet with the team working on the redesign of joomla.org and write an article about the current status. (Can be repeated every 2 weeks)&lt;br /&gt;
# Staff or help staff a Joomla! table or booth at a local IT Expo or event (To do this you must submit information about the specific event before hand and write a short report about it afterwards.)&lt;br /&gt;
&lt;br /&gt;
====== Basic ======&lt;br /&gt;
&lt;br /&gt;
# Create a standard &amp;quot;Download Joomla!&amp;quot; module that Joomla! fans can use on their sites.&lt;br /&gt;
# Create list of online media outlets for distribution of Joomla! announcements&lt;br /&gt;
# Create a document on ways to leverage participation in the Joomla! Project to promote your Joomla! Business (ideas like putting a link in your forum signature, listing on the Resources Directory and so on). &lt;br /&gt;
# Create contributing author badge for the Joomla! Community Magazine&lt;br /&gt;
# Update Author Resources content for the Joomla! Community Magazine&lt;br /&gt;
# Create a powerpoint presentation (or similar) on the new user features in Joomla 1.6 that could be used at conference presentations (including good slide notes).&lt;br /&gt;
# Create an information PDF about how to run a Joomla Day, how to register the event with Joomla, and include links to key and useful resources.&lt;br /&gt;
# Create an information PDF about how to set up a Joomla User Group in your area, how to register the group with Joomla, and include links to key and useful resources.&lt;br /&gt;
&lt;br /&gt;
====  Quality Assurance ====&lt;br /&gt;
&lt;br /&gt;
Tasks related to testing and ensuring code is of high quality&lt;br /&gt;
&lt;br /&gt;
====== Challenging ====== &lt;br /&gt;
# Write a PHPUnit test for a package or sub-package in the Joomla Libraries.(multiple opportunities exist for this task).&lt;br /&gt;
# Write a Selenium System test to cover a unit of the CMS functionality.(multiple opportunities exist for this task).&lt;br /&gt;
&lt;br /&gt;
====== Intermediate ====== &lt;br /&gt;
# Take a package or sub-package from the Joomla Libraries and ensure that the code formatting complies with our standards, and make corrections as appropriate (multiple opportunities exist for this task).&lt;br /&gt;
&lt;br /&gt;
====== Basic ====== &lt;br /&gt;
&lt;br /&gt;
#Review 24 hours of posts in the New to Joomla! forums and report on the most common problems reported.&lt;br /&gt;
#Review 24 hours of posts in the Administration forums and report on the most common problems reported.&lt;br /&gt;
&lt;br /&gt;
====  Research ====&lt;br /&gt;
&lt;br /&gt;
Tasks related to studying a problem and recommending solutions&lt;br /&gt;
&lt;br /&gt;
====== Challenging ======&lt;br /&gt;
&lt;br /&gt;
# Research how to read/write video metadata in MP4 and webm containers. Write a report summarizing what you learn for the development team.&lt;br /&gt;
# Research the  best server side tools/methods to transcode video from various formats to those MP4 and webm containers including various compression schemes and settings for different screen formats (for Example  transcoding to an iOS device like iPhone/Pod/Pad vs the full TV experience.  Write a report summarizing what you learn for the development team.&lt;br /&gt;
# Research various online resources for video metadata along with the strengths and weaknesses of their API&#039;s, access rules and licensing restrictions.  Write a report summarizing what you learn for the development team.&lt;br /&gt;
# Research what it would take to start using PHAR packages for distributing the framework&lt;br /&gt;
(See http://www.php.net/manual/en/intro.phar.php). Write a report for the development team.&lt;br /&gt;
&lt;br /&gt;
# Review the W3C Authoring Tool Accessibility Guidelines (ATAG) 1.0 checkpoints and document where Joomla! does and does not meet them. &lt;br /&gt;
# Review the W3C Authoring Tool Accessibility Guidelines 2.0 (http://www.w3.org/TR/ATAG20/) and write a report on what would be needed for Joomla! 1.7 to meet them.&lt;br /&gt;
&lt;br /&gt;
====== Intermediate ====== &lt;br /&gt;
&lt;br /&gt;
# With Joomla&#039;s Google Analytics data, analyse the data for the past six months and make comments about how people are using www.joomla.org (entry points, exist points, etc).&lt;br /&gt;
&lt;br /&gt;
====== Basic ====== &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Analyze usage statistics for Joomla! Community Magazine and recommend changes to increase traffic&lt;br /&gt;
# Write a report on how you would improve one of the www.joomla.org sites to make it easier for people who don&#039;t know anything about Joomla to find information.&lt;br /&gt;
&lt;br /&gt;
====  Training ====&lt;br /&gt;
&lt;br /&gt;
Tasks related to helping others learn more&lt;br /&gt;
&lt;br /&gt;
====== Challenging ====== &lt;br /&gt;
&lt;br /&gt;
# Suppose a teacher in your school was going to spend a month teaching his or her students to use Joomla! to make a website. Interview a teacher in your school about what resources would be useful for that and create a resource portal of links and materials on docs.joomla.org.&lt;br /&gt;
# Suppose a teacher in your school was going to spend a month teaching his or her students to develop a simple Joomla! component. Interview a teacher in your school about what resources would be useful for that and create a resource portal of links and materials on docs.joomla.org.&lt;br /&gt;
# Suppose a teacher in your school was going to spend a month teaching his or her students to create a Joomla! template. Interview a teacher in your school (this might be an art teacher) about what resources would be useful for that and create a resource portal of links and materials on docs.joomla.org.&lt;br /&gt;
&lt;br /&gt;
====== Intermediate ====== &lt;br /&gt;
&lt;br /&gt;
# Create a guide to Joomla! resources, documents and  sites for someone who has &amp;quot;inherited&amp;quot; a Joomla! site from somebody else and has never used Joomla! before. Create a persona for this profile in docs.joomla.org and link all resources to the persona page.&lt;br /&gt;
&lt;br /&gt;
====== Basic ====== &lt;br /&gt;
# Create a &amp;quot;HTML Basics&amp;quot; document aimed at someone who has a Joomla! site but has only used a WYSIWYG editor.&lt;br /&gt;
# Create a &amp;quot;CSS Basics&amp;quot; document aimed at someone with no web background.&lt;br /&gt;
&lt;br /&gt;
====  Translation ====&lt;br /&gt;
&lt;br /&gt;
Tasks related to localization&lt;br /&gt;
&lt;br /&gt;
(Multiple opportunities exist for each of these but may be limited by the availability of mentors in a specific language. Limit of one instance of each task per distinct language.)&lt;br /&gt;
&lt;br /&gt;
====== Challenging ====== &lt;br /&gt;
# For a language that does not have an accredited translation team, begin the process of organizing a team. Completion of this task will involve contacting the translation coordinators, using resources such as local JUGs and the Joomla! Forums and People site to find collaborators, learning to use com_localise, and beginning the translation process. &lt;br /&gt;
# For a language that does not have an accredited translation team, provide a translation of core strings.&lt;br /&gt;
&lt;br /&gt;
======  Intermediate ====== &lt;br /&gt;
# Translate the Absolute Beginner&#039;s Guide (http://docs.joomla.org/Beginners) into a language besides English. &lt;br /&gt;
# Translate the documentation on creating translations and becoming an accredited translation team into a language besides English.&lt;br /&gt;
# Translate the security documentation into a language other than English. (http://docs.joomla.org/Security)&lt;br /&gt;
&lt;br /&gt;
====== Basic ====== &lt;br /&gt;
# Provide an accredited translation team with translation of sample data.&lt;br /&gt;
# Provide an accredited translation team with the translation of the help screens for one complete component.&lt;br /&gt;
# Provide an accredited translation team with translation of 100 strings.&lt;br /&gt;
&lt;br /&gt;
====  User Interface ====&lt;br /&gt;
&lt;br /&gt;
Tasks related to user experience research or user interface design and interaction&lt;br /&gt;
&lt;br /&gt;
====== Challenging ====== &lt;br /&gt;
&lt;br /&gt;
# Card sorting studies are a basic approach to usability testing (http://www.deyalexander.com.au/resources/uxd/card-sorting.html ). Research card sorting and design a set of cards that could be used for analyzing usability in the Joomla! Administrator. Have at least one user try the card sorting task. Document your work and the results of the test case so that others know how to use the cards to test usability.&lt;br /&gt;
# Card sorting studies are a basic approach to usability testing (http://www.deyalexander.com.au/resources/uxd/card-sorting.html). Research card sorting and design a set of cards that could be used for analyzing usability of the docs.joomla.org. Have at least one user try the card sorting task. Document your work and the results of the test case so that others know how to use the cards to test usability.&lt;br /&gt;
&lt;br /&gt;
# Think out loud studies are another basic type of usability research (http://en.wikipedia.org/wiki/Think_aloud_protocol). For the following tasks create and document a think out loud procedure and carry out a test with at least 3 users: Creating an article in the administrator. &lt;br /&gt;
# Think out loud studies are another basic type of usability research (http://en.wikipedia.org/wiki/Think_aloud_protocol). For the following tasks create and document a think out loud procedure and carry out a test with at least 3 users: Installing an extension.&lt;br /&gt;
# Think out loud studies are another basic type of usability research (http://en.wikipedia.org/wiki/Think_aloud_protocol). For the following tasks create and document a think out loud procedure and carry out a test with at least 3 users: Updating Joomla!.&lt;br /&gt;
# Think out loud studies are another basic type of usability research (http://en.wikipedia.org/wiki/Think_aloud_protocol). For the following tasks create and document a think out loud procedure and carry out a test with at least 3 users: Creating a menu item.   &lt;br /&gt;
# Think out loud studies are another basic type of usability research (http://en.wikipedia.org/wiki/Think_aloud_protocol). For the following tasks and document a think out loud procedure for it and carry out a test with at least 3 users: Configuring permissions to achieve a specific goal. &lt;br /&gt;
# Think out loud studies are another basic type of usability research (http://en.wikipedia.org/wiki/Think_aloud_protocol). For the following tasks and document a think out loud procedure for it and carry out a test with at least 3 users: Creating an new action permissions user group.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== Intermediate ====== &lt;br /&gt;
&lt;br /&gt;
# Create a document about techniques for usability testing for developers.&lt;br /&gt;
# Check a standard installation of Joomla with the default template against a colour-blind checking site, then install a freely available template and do the same. Report any interesting results.&lt;br /&gt;
&lt;br /&gt;
====== Basic ====== &lt;br /&gt;
&lt;br /&gt;
# Check a standard installation of Joomla 1.6 against a HTML and CSS validation site. Report back any errors that you find.&lt;br /&gt;
# Identify 10 common tasks in the Joomla! administrator and record step by step the number of clicks it takes to completion. &lt;br /&gt;
&lt;br /&gt;
[[Category:GCI]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J2.5:What%27s_new_in_Joomla_2.5&amp;diff=30670</id>
		<title>J2.5:What&#039;s new in Joomla 2.5</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J2.5:What%27s_new_in_Joomla_2.5&amp;diff=30670"/>
		<updated>2010-09-15T12:39:07Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: /* Archived Articles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Lots of things.&lt;br /&gt;
&lt;br /&gt;
...and:&lt;br /&gt;
* &#039;&#039;&#039;New Access Control System&#039;&#039;&#039; - Allows site administrators control over who can view and manage content.&lt;br /&gt;
* &#039;&#039;&#039;Unlimited Depth Organizational Model&#039;&#039;&#039; - Gives site administrators and content creators user-defined category levels that allow for the creation of a category tree with as many or as few levels for organizing articles and other content as needed.&lt;br /&gt;
* &#039;&#039;&#039;One-Click Extension Updates&#039;&#039;&#039; - Allows users to keep sites secure and controlled by simplifying the process of updating extensions.&lt;br /&gt;
* &#039;&#039;&#039;Semantic XHTML Layouts&#039;&#039;&#039; - Provides a better baseline for content presentation.&lt;br /&gt;
&lt;br /&gt;
...and:&lt;br /&gt;
&lt;br /&gt;
==Administrators==&lt;br /&gt;
===Introduction===&lt;br /&gt;
*Consistent UI&lt;br /&gt;
*Consistent Features&lt;br /&gt;
*Richer sample data&lt;br /&gt;
*IE 7+, Firefox 3.x, Safari 4.x&lt;br /&gt;
*PHP 5.2.4+&lt;br /&gt;
*MySQL 5.0.4 (allows for wide varchars)&lt;br /&gt;
&lt;br /&gt;
===Administrator===&lt;br /&gt;
*Menu Changes&lt;br /&gt;
*Submenu consistency&lt;br /&gt;
&lt;br /&gt;
====Toolbar Features====&lt;br /&gt;
*Save&lt;br /&gt;
*Save &amp;amp; Close&lt;br /&gt;
*Save &amp;amp; New&lt;br /&gt;
*Save as Copy&lt;br /&gt;
*Expired session will return to the page you were on then you got logged out (can be hit and miss)&lt;br /&gt;
*Most search filters allow you to search for a record id via [ id:123 ]&lt;br /&gt;
*&amp;quot;Parameters&amp;quot; are now referred to as &amp;quot;Options&amp;quot;&lt;br /&gt;
*Template Styles&lt;br /&gt;
*Integrated Trash Management&lt;br /&gt;
*Consistent archive support for most content&lt;br /&gt;
*Extension Installer Improvements&lt;br /&gt;
&lt;br /&gt;
===Module Enhancements===&lt;br /&gt;
*Publish up and down&lt;br /&gt;
*Add option to display on all pages &amp;quot;except&amp;quot; selected&lt;br /&gt;
*Expanded Category System&lt;br /&gt;
*404 Page Redirection&lt;br /&gt;
*Better Menu Management&lt;br /&gt;
*Alternative layouts for content, modules and menus (taken from the home template)&lt;br /&gt;
&lt;br /&gt;
===New Templates===&lt;br /&gt;
*Atomic&lt;br /&gt;
*Beez2&lt;br /&gt;
*(Administrator) Bluestork (replaces Khephri)&lt;br /&gt;
*(Administrator) Hathor&lt;br /&gt;
*Legacy layer in Milkyway&lt;br /&gt;
*Backend supports layout overrides&lt;br /&gt;
*New Modules&lt;br /&gt;
*New Plugins&lt;br /&gt;
*Content Languages&lt;br /&gt;
*User Login Permissions&lt;br /&gt;
*Activate selected users from the user list now (and filter)&lt;br /&gt;
*Administrator registration approval&lt;br /&gt;
*Polls component removed&lt;br /&gt;
*New codemirror editor&lt;br /&gt;
&lt;br /&gt;
===SEO Improvements===&lt;br /&gt;
*Meta decription and keywords for categories&lt;br /&gt;
*Articles can change the page title and page header separately&lt;br /&gt;
&lt;br /&gt;
===Global Configuration===&lt;br /&gt;
*Add site name to titles&lt;br /&gt;
*Default Access Level&lt;br /&gt;
*Set Metadata Language (buggy)&lt;br /&gt;
*Unicode Aliases&lt;br /&gt;
*Cookie domain and path&lt;br /&gt;
*User Setting moved to User Manager -&amp;gt; Options&lt;br /&gt;
*Media Settings moved to Media Manager -&amp;gt; Options&lt;br /&gt;
*Debug Modules - allows you to enabled to disable the tp=1 feature&lt;br /&gt;
*Server Timezone now a location, not an integer offset&lt;br /&gt;
*New Global Permissions tab&lt;br /&gt;
&lt;br /&gt;
===User Manager===&lt;br /&gt;
*Can activate a user from the list now&lt;br /&gt;
*User can be assigned to multiple groups&lt;br /&gt;
*Manage user groups&lt;br /&gt;
*Manager content access levels&lt;br /&gt;
&lt;br /&gt;
===Media Manager===&lt;br /&gt;
*Flash uploader fixed&lt;br /&gt;
&lt;br /&gt;
===Menu Manager===&lt;br /&gt;
====Menus List====&lt;br /&gt;
*Rebuild button to press when you brick the menu&lt;br /&gt;
*Clicking the menu name brings up the menu items list rather than going into Edit Menu. To edit the menu, click on the check box next to the name and click on the Edit icon in the toolbar.&lt;br /&gt;
&lt;br /&gt;
====Items List====&lt;br /&gt;
*Menus support the language filter&lt;br /&gt;
*Default now called Home&lt;br /&gt;
*Home is now clickable in the menu item list&lt;br /&gt;
*A separate home can be set for different languages&lt;br /&gt;
&lt;br /&gt;
=====New batch operations=====&lt;br /&gt;
*Set access level&lt;br /&gt;
*Copy or move to another part of this or another menu&lt;br /&gt;
&lt;br /&gt;
====Edit Item====&lt;br /&gt;
*Improved &amp;quot;Type&amp;quot; selector with human readable view and layout names&lt;br /&gt;
*Note field added&lt;br /&gt;
*New window target&lt;br /&gt;
*New Language assignment&lt;br /&gt;
*New Template style&lt;br /&gt;
*Ability to add &amp;amp; edit Module assignments from this page&lt;br /&gt;
&lt;br /&gt;
=====New options for the menu links and pages themselves=====&lt;br /&gt;
*Link title attribute&lt;br /&gt;
*Link CSS style&lt;br /&gt;
*Menu image is changed to a modal selector&lt;br /&gt;
*CSS class for page heading&lt;br /&gt;
*Page meta description&lt;br /&gt;
*Page meta keywords&lt;br /&gt;
*Robots options&lt;br /&gt;
&lt;br /&gt;
===Articles Manager===&lt;br /&gt;
*Frontpage is now referred to a Featured&lt;br /&gt;
*Article manager uses submenu to quickly skip between articles , categories and featured&lt;br /&gt;
*Sections and categories are now merged.&lt;br /&gt;
&lt;br /&gt;
====Articles List====&lt;br /&gt;
*&#039;&#039;&amp;quot;Missing move and copy; filter by author&amp;quot;&#039;&#039;&lt;br /&gt;
*New column to show language&lt;br /&gt;
*Filtering by language available&lt;br /&gt;
&lt;br /&gt;
====Article Edit====&lt;br /&gt;
*Created by user now selected by modal popup&lt;br /&gt;
*New ability to set the page title from the article&lt;br /&gt;
*Define create, delete, edit and publishing permissions&lt;br /&gt;
&lt;br /&gt;
====Archived Articles====&lt;br /&gt;
*In 1.5, Archived Articles had to first be changed to Published or Unpublished before update. &lt;br /&gt;
*In 1.6, an Article with an Archived Status *can* be changed without changing the State first.&lt;br /&gt;
&lt;br /&gt;
===Categories===&lt;br /&gt;
====Category List====&lt;br /&gt;
*Nested view&lt;br /&gt;
*Filtering on language&lt;br /&gt;
&lt;br /&gt;
====Edit Category====&lt;br /&gt;
*New note field&lt;br /&gt;
*Section replaced with ability to assign a parent category&lt;br /&gt;
*Ability to assign content language&lt;br /&gt;
&lt;br /&gt;
=====New Options (not previously available in 1.5)=====&lt;br /&gt;
*Assign alternate layout&lt;br /&gt;
*Define create, delete, edit and publishing permissions&lt;br /&gt;
*Meta description&lt;br /&gt;
*Meta keywords&lt;br /&gt;
*Alternative page title&lt;br /&gt;
*Meta author&lt;br /&gt;
*Meta robots&lt;br /&gt;
&lt;br /&gt;
===Banners===&lt;br /&gt;
====Banners list====&lt;br /&gt;
*** Missing copy toolbar button&lt;br /&gt;
*New archive toolbar button&lt;br /&gt;
*New columns to show meta keywords, purchase type and language&lt;br /&gt;
*New filtering by client and language &lt;br /&gt;
&lt;br /&gt;
====Edit Banner====&lt;br /&gt;
*New type toggle for Image or Custom (dynamically changes the available form fields)&lt;br /&gt;
*New alt text field for image&lt;br /&gt;
*New language field&lt;br /&gt;
&lt;br /&gt;
=====New Options=====&lt;br /&gt;
*Ability to set the created date&lt;br /&gt;
*Ability to set start and finish publishing times&lt;br /&gt;
*Ability to set the purchase type&lt;br /&gt;
*Ability to track impressions&lt;br /&gt;
*Ability to track clicks&lt;br /&gt;
*Use own prefix ?&lt;br /&gt;
*Tags renamed to meta &lt;br /&gt;
*Contacts&lt;br /&gt;
*Messaging&lt;br /&gt;
*Newsfeeds&lt;br /&gt;
*Search&lt;br /&gt;
*Weblinks&lt;br /&gt;
*Redirect&lt;br /&gt;
&lt;br /&gt;
===Extensions Manager===&lt;br /&gt;
====Discover====&lt;br /&gt;
*Module mgr&lt;br /&gt;
*Plugin Mgr&lt;br /&gt;
*Template Mgr&lt;br /&gt;
*Language mgr&lt;br /&gt;
&lt;br /&gt;
===Misc===&lt;br /&gt;
*Auto create linked contact when creating new user ??&lt;br /&gt;
&lt;br /&gt;
==Access Controls==&lt;br /&gt;
*Introduction&lt;br /&gt;
*User Groups&lt;br /&gt;
*Access Levels&lt;br /&gt;
*Permission Layers&lt;br /&gt;
*How Permissions are Inherited&lt;br /&gt;
*How to debrick your site&lt;br /&gt;
&lt;br /&gt;
==Developers==&lt;br /&gt;
===Introduction===&lt;br /&gt;
*PHP 5.2.4+&lt;br /&gt;
*MySQL 5.0.4 (allows for wide varchars)&lt;br /&gt;
*IE7+, Firefox 3+, Safari 4+&lt;br /&gt;
*Focus on code consistency&lt;br /&gt;
*Focus on code reduction&lt;br /&gt;
&lt;br /&gt;
Usage of PHP Native Functions where possible, for example:&lt;br /&gt;
*[[JXMLElement]] extends the native [http://php.net/manual/en/book.simplexml.php SimpleXML] class&lt;br /&gt;
*[[JDate]] extends the [http://www.php.net/manual/en/class.datetime.php DateTime] class&lt;br /&gt;
*Native INI parser to load languages&lt;br /&gt;
&lt;br /&gt;
===Removed features===&lt;br /&gt;
*ADODB compatibility methods in database classes&lt;br /&gt;
*DOMIT (unsupported XML library)&lt;br /&gt;
*Legacy mode (includes global $mainframe, etc)&lt;br /&gt;
*JTemplate (based on patTemplate)&lt;br /&gt;
*patTemplate (templating engine)&lt;br /&gt;
*PDF support&lt;br /&gt;
*PEAR libraries (due to license incompatibilities)&lt;br /&gt;
*phpgacl&lt;br /&gt;
*PHP 4.0 and 5.0 compatibility files&lt;br /&gt;
*XStandard Editor&lt;br /&gt;
&lt;br /&gt;
===Deprecated Features===&lt;br /&gt;
*JController::_acoSection&lt;br /&gt;
*JController::_acoSectionValue&lt;br /&gt;
*JController::authorize()&lt;br /&gt;
*JController::setAccessControl()&lt;br /&gt;
*JDatabase::stderr()&lt;br /&gt;
*JDate::offest&lt;br /&gt;
*JDate::setOffset()&lt;br /&gt;
*JDate::toFormat() - use JDate::format() instead&lt;br /&gt;
*JException::toString()&lt;br /&gt;
*JFactory::getXMLParser()&lt;br /&gt;
*JHtmlGird::access()&lt;br /&gt;
*JHtmlImage::administrator - use JHtml::image instead&lt;br /&gt;
*JHtmlImage::site - use JHtml::image instead&lt;br /&gt;
*JHtmlList::accesslevel()&lt;br /&gt;
*JHtmlList::specificordering() - use JHtml::_(&#039;list.ordering&#039;)&lt;br /&gt;
*JHtmlList::category()&lt;br /&gt;
*JHtmlSelect::optgroup() - see JHtmlSelect::groupedList()&lt;br /&gt;
*JLanguage::_parseLanguageFiles - renamed to parseLanguageFiles&lt;br /&gt;
*JLanguage::_parseXMLLanguageFile - renamed to parseXMLLanguageFile&lt;br /&gt;
*JLanguage::_parseXMLLanguageFiles - renamed to parseXMLLanguageFiles&lt;br /&gt;
*JObject::toString - replaced with magic method&lt;br /&gt;
*JRegistry::getNameSpaces()&lt;br /&gt;
*JRegistry::getValue()&lt;br /&gt;
*JRegistry::makeNameSpace()&lt;br /&gt;
*JRegistry::setValue()&lt;br /&gt;
*JPane - See JHtmlSliders&lt;br /&gt;
*JParameter - replaced by JForm&lt;br /&gt;
*JSimpleXML, JSimpleXMLElement - Use JXMLElement instead, based on the native SimpleXMLElement&lt;br /&gt;
*JTable::canDelete() - models or controllers should be doing the access checks&lt;br /&gt;
*JTable::toXML()&lt;br /&gt;
*JToolbarHelper customX(), addNewX(), editListX(), editHtmlX(), editCssX(), deleteListX()&lt;br /&gt;
*JUser::authorize() - Use JUser::authorise()&lt;br /&gt;
*JUtility::dump()&lt;br /&gt;
*JUtility::array_unshift_ref() - Not needed in PHP 5&lt;br /&gt;
*JUtility::getHash() - Use JApplication::getHash()&lt;br /&gt;
*JUtility::getToken() - Use JFactory::getSession()-&amp;gt;getFormToken()&lt;br /&gt;
*JUtility::isWinOS() - Use JApplication::isWinOS()&lt;br /&gt;
*JUtility::return_bytes() - See InstallerModelWarnings::return_bytes()&lt;br /&gt;
*JUtility::sendMail() - Use JFactory::getMailer()-&amp;gt;sendMail()&lt;br /&gt;
*JUtility::sendAdminMail() - Use JFactory::getMailer()-&amp;gt;sendMail()&lt;br /&gt;
*JXMLElement::data() - Provided for backward compatibility&lt;br /&gt;
*JXMLElement::getAttribute() - Provided for backward compatibility&lt;br /&gt;
&lt;br /&gt;
===Database===&lt;br /&gt;
*JTable now automatically looks up the fields from the database schema&lt;br /&gt;
*New JDatabaseQuery - A chained CRUD query builder&lt;br /&gt;
*New JDatabase::getNextRow&lt;br /&gt;
*New JDatabase::getNextObject&lt;br /&gt;
*JDatabase::loadAssocList  - Now takes a second argument to just return the value of a column&lt;br /&gt;
*JDatabase::setQuery  - Added chaining support&lt;br /&gt;
&lt;br /&gt;
====Important Schema Changes====&lt;br /&gt;
*New jos_extensions table to list all extensions&lt;br /&gt;
*Components table information moved and split between jos_extensions and jos_menu (special menu called _adminmenu)&lt;br /&gt;
&lt;br /&gt;
The old phpgacl (jos_core_acl*) and jos_groups tables have been reworked into:&lt;br /&gt;
*jos_assets&lt;br /&gt;
*jos_user_usergroup_map&lt;br /&gt;
*jos_usergroups&lt;br /&gt;
*jos_viewlevels&lt;br /&gt;
*Archived state changed from a value of -1 to +2&lt;br /&gt;
&lt;br /&gt;
===Improved MVC===&lt;br /&gt;
====Models====&lt;br /&gt;
*JModelList&lt;br /&gt;
*JModelForm&lt;br /&gt;
*JModelAdmin&lt;br /&gt;
*Format handling (eg JSON)&lt;br /&gt;
*Sub-controller handling&lt;br /&gt;
&lt;br /&gt;
====Controllers====&lt;br /&gt;
*JControllerForm&lt;br /&gt;
*JControllerAdmin&lt;br /&gt;
*JController::setMessage takes second arg to set the message type&lt;br /&gt;
*JController can set the default view&lt;br /&gt;
*Added chaining support to several JController methods&lt;br /&gt;
&lt;br /&gt;
====Views====&lt;br /&gt;
*Semantic core output&lt;br /&gt;
*Milkyway legacy layouts&lt;br /&gt;
*The old component parameters are not automatically added to the menu anymore. You need to explicitly put them in the layout XML files.&lt;br /&gt;
*The menu manager will now detect additional layouts for a given view in the default template.&lt;br /&gt;
&lt;br /&gt;
===Form API===&lt;br /&gt;
====Event manipulation====&lt;br /&gt;
*onContentPrepareForm&lt;br /&gt;
*onContentPrepareFormData&lt;br /&gt;
&lt;br /&gt;
===Translation and Language Support===&lt;br /&gt;
*Support for unicode slugs, eg, SEF URL&#039;s with Greek characters&lt;br /&gt;
*3-letter languages now supported, xxx-XX&lt;br /&gt;
*All existing language keys have been refactored&lt;br /&gt;
&lt;br /&gt;
====INI files must validate====&lt;br /&gt;
*Upper case key with no spaces, alphanumeric characters and underscores&lt;br /&gt;
*Quoted values&lt;br /&gt;
*Double quotes within literal strings must use _QQ_ in the form KEY=&amp;quot;&amp;lt;a href=&amp;quot;_QQ_&amp;quot;index.php&amp;quot;_QQ_&amp;quot;&amp;gt;Click&amp;lt;/a&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====Javascript translation layer====&lt;br /&gt;
*See the flash uploader script for an example&lt;br /&gt;
Local extension language files&lt;br /&gt;
&lt;br /&gt;
====Language file API====&lt;br /&gt;
*Pluralisation support&lt;br /&gt;
*Transliteration support for ASCII or Unicode slugs&lt;br /&gt;
*Ignore Search Words&lt;br /&gt;
*Minimum search word length&lt;br /&gt;
*Custom language overrides&lt;br /&gt;
*System language file to support administrator menu and installation (.sys.ini)&lt;br /&gt;
&lt;br /&gt;
====Language switcher====&lt;br /&gt;
*Language Filter plugin enables language switching&lt;br /&gt;
*Sets the automatic filtering via JFactory::getApplication()-&amp;gt;setLanguageFilter(true)&lt;br /&gt;
*A frontend component with language support would test JFactory::getApplication()-&amp;gt;getLanguageFilter(), which returns the selected language code from the Languages Module&lt;br /&gt;
*The language field can be a language code for a single language, or &amp;quot;*&amp;quot; to be displayed for all languages&lt;br /&gt;
*Community extension for language maintenance com_localise&lt;br /&gt;
&lt;br /&gt;
===Extension management===&lt;br /&gt;
====New installation types====&lt;br /&gt;
=====Libraries=====&lt;br /&gt;
*Must include an XML manifest where type=&amp;quot;library&amp;quot;&lt;br /&gt;
*Can only be installed into a sub-folder of /libraries/&lt;br /&gt;
*Can extend parts of an existing library, eg /libraries/joomla/database/database/oracle.php&lt;br /&gt;
&lt;br /&gt;
=====Packages multi-installer=====&lt;br /&gt;
*Must include an XML manifest where type=&amp;quot;package&amp;quot;&lt;br /&gt;
*A package is a zip of zip&#039;s&lt;br /&gt;
&lt;br /&gt;
New install script can be provided with 5 methods:&lt;br /&gt;
=====preflight=====&lt;br /&gt;
*Runs before anything is run and while the extracted files are in the uploaded temp folder&lt;br /&gt;
&lt;br /&gt;
======Could allow for:======&lt;br /&gt;
*secondary extraction of custom zip&#039;s&lt;br /&gt;
*version checks to be performed&lt;br /&gt;
*halting the installer on an error&lt;br /&gt;
&lt;br /&gt;
=====install / update=====&lt;br /&gt;
*Runs after the database scripts are executed&lt;br /&gt;
*If the extension is new, the install method is run&lt;br /&gt;
*If the extension exists then update method is run if method=&amp;quot;upgrade&amp;quot;, otherwise assumes that the extension is not meant to be upgradable&lt;br /&gt;
&lt;br /&gt;
=====postflight=====&lt;br /&gt;
*Runs after the extension is registered in the database&lt;br /&gt;
*Is not run for the uninstall process (nothing left to do obviously)&lt;br /&gt;
&lt;br /&gt;
====Discover====&lt;br /&gt;
*Does not do any file copying, only works with what it finds&lt;br /&gt;
*Performs preflight, install and postflight&lt;br /&gt;
*Developer of installer has two language files??&lt;br /&gt;
&lt;br /&gt;
====Update site====&lt;br /&gt;
*Can publish an XML manifest on your site that can include individual extensions and extension sets.&lt;br /&gt;
&lt;br /&gt;
====XML Manifest Changes====&lt;br /&gt;
*&amp;lt;install&amp;gt; is deprecated - use &amp;lt;extension&amp;gt;&lt;br /&gt;
*New &amp;lt;update&amp;gt; tag. Takes a &amp;lt;schemas&amp;gt; tag which can define &amp;lt;schemapath&amp;gt;&lt;br /&gt;
*&amp;lt;params&amp;gt; and &amp;lt;param&amp;gt; tags are deprecated, use &amp;lt;fields&amp;gt;, &amp;lt;fieldsets&amp;gt; and &amp;lt;field&amp;gt; instead&lt;br /&gt;
&lt;br /&gt;
====File changes====&lt;br /&gt;
*Installation manifest must be the same name as the extension, eg com_foobar/foobar.xml  This helps with discovery (otherwise the function has to go through all the files in the extension folder&lt;br /&gt;
*Plugins are now in folders like modules and components&lt;br /&gt;
*See SVN/tests/_data/installer_packages/ for complete examples of all extensions and manifests.&lt;br /&gt;
*The method=&amp;quot;upgrade&amp;quot; will compare individual files in the original and incoming manifests and will remove files as appropriate.  However, it will not remove differences in the &amp;lt;folder&amp;gt; tags.&lt;br /&gt;
*Future support for rollback&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
====New Events====&lt;br /&gt;
*onBeforeRender&lt;br /&gt;
*onContentBeforeDelete&lt;br /&gt;
*onContentAfterDelete&lt;br /&gt;
*onContentChangeState&lt;br /&gt;
*onContentPrepareForm&lt;br /&gt;
*onContentPrepareFormData&lt;br /&gt;
*onExtensionBeforeInstall&lt;br /&gt;
*onExtensionBeforeUpdate&lt;br /&gt;
*onExtensionBeforeUninstall&lt;br /&gt;
*onExtensionAfterInstall&lt;br /&gt;
*onExtensionAfterUpdate&lt;br /&gt;
*onExtensionAfterUninstall&lt;br /&gt;
&lt;br /&gt;
====Renamed Events====&lt;br /&gt;
*onContentAfterSave&lt;br /&gt;
*onContentAfterTitle&lt;br /&gt;
*onContentAfterDisplay&lt;br /&gt;
*onContentBeforeDisplay&lt;br /&gt;
*onContentBeforeSave&lt;br /&gt;
*onContentSearch&lt;br /&gt;
*onContentSearchAreas&lt;br /&gt;
*onUserAuthenticate&lt;br /&gt;
*onUserAfterDelete&lt;br /&gt;
*onUserAfterSave&lt;br /&gt;
*onUserBeforeDelete&lt;br /&gt;
*onUserBeforeSave&lt;br /&gt;
*onUserLogin&lt;br /&gt;
*onUserLogout&lt;br /&gt;
*All content events (except for search and search areas) now pass a &#039;context&#039; as the first argument to alert the plugin as to what type of content is being passed.  The plugin event may or may not heed this context.&lt;br /&gt;
&lt;br /&gt;
===Categories===&lt;br /&gt;
*Component can provide custom options for its own categories via optional category.xml&lt;br /&gt;
*Supported via JTableNested&lt;br /&gt;
&lt;br /&gt;
===Access Controls===&lt;br /&gt;
*A thing that can be controlled by permissions is registered in the assets table&lt;br /&gt;
*JTable handles this transparently via asset_id field&lt;br /&gt;
*For view permissions, support is as simple as adding&lt;br /&gt;
:::$user = JFactory::getUser();&lt;br /&gt;
:::$groups = implode(&#039;,&#039;, $user-&amp;gt;authorisedLevels());&lt;br /&gt;
:::$query-&amp;gt;where(&#039;a.access IN (&#039; . $groups . &#039;)&#039;);&lt;br /&gt;
&lt;br /&gt;
For action permissions, same format as in 1.5:&lt;br /&gt;
$user-&amp;gt;authorise($actionName, $assetName)&lt;br /&gt;
*OpenID library moved to plugin folder&lt;br /&gt;
*Geshi library moved to plugin folder&lt;br /&gt;
*JRegistry notes defaults to JSON (new format), dynamically converting existing data in INI format&lt;br /&gt;
*New JStream&lt;br /&gt;
*New JApplicationHelper::getComponentName&lt;br /&gt;
*Core icons moved to /media/&lt;br /&gt;
*Backward incompatible change to JEditor::display&lt;br /&gt;
*Added chaining support to JMail&lt;br /&gt;
*JFilterInput can no longer be called statically&lt;br /&gt;
*JHtml::image now supports relative paths&lt;br /&gt;
*All system images are overridable in the default template&lt;br /&gt;
*New JHtmlString&lt;br /&gt;
*Added wincache session handler for IIS&lt;br /&gt;
*New JFilterOutput::stripImages&lt;br /&gt;
*JPath::check takes second arg for separator (to pass to JPath::clean)&lt;br /&gt;
*Expanded configuration support through config.xml (multiple tabs)&lt;br /&gt;
&lt;br /&gt;
====Core actions====&lt;br /&gt;
*core.login.site&lt;br /&gt;
*core.login.admin&lt;br /&gt;
*core.admin&lt;br /&gt;
*core.manage&lt;br /&gt;
*core.create&lt;br /&gt;
*core.edit&lt;br /&gt;
*core.edit.state&lt;br /&gt;
*core.delete&lt;br /&gt;
*Miscellaneous changes&lt;br /&gt;
&lt;br /&gt;
===Debug Plugin===&lt;br /&gt;
*More tools for assisting with translation&lt;br /&gt;
&lt;br /&gt;
===Mootools 1.2/1.3===&lt;br /&gt;
*Need to use document.id instead of $&lt;br /&gt;
&lt;br /&gt;
==Cache changes ==&lt;br /&gt;
===API changes relevant to 3rd party developers===&lt;br /&gt;
====Component view cache==== &lt;br /&gt;
&lt;br /&gt;
Component view cache now takes an array of url parameters and their types to create Cacheid. This is a replacement for a previous unsafe way which took the whole URL for this and so opened the doors for DOS attacks via random url parameters added to request URL&#039;s. &lt;br /&gt;
&lt;br /&gt;
Com_contact example: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$safeurlparams = array(&lt;br /&gt;
    &#039;id&#039;=&amp;gt;&#039;INT&#039;, &lt;br /&gt;
    &#039;catid&#039;=&amp;gt;&#039;INT&#039;, &#039;limit&#039;=&amp;gt;&#039;INT&#039;, &lt;br /&gt;
    &#039;limitstart&#039;=&amp;gt;&#039;INT&#039;, &lt;br /&gt;
    &#039;filter_order&#039;=&amp;gt;&#039;CMD&#039;, &lt;br /&gt;
    &#039;filter_order_Dir&#039;=&amp;gt;&#039;CMD&#039;&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
parent::display($cachable,$safeurlparams);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Old cacheid created from URL was retained for backwards compatibility and takes effect if there are no $safeurlparams.&lt;br /&gt;
&lt;br /&gt;
====Module cache====&lt;br /&gt;
This has been completly reconceptualized. Module cache now has 5 different modes of operation, 3 of them are to be set from module XML file, while 2 are meant to be used from within the module itself. Default is backwards compatible oldstatic mode that requires no changes to a module. &lt;br /&gt;
&lt;br /&gt;
Modes to be set in XML: &lt;br /&gt;
*&#039;&#039;&#039;static&#039;&#039;&#039; - one cache file for all pages with the same module parameters &lt;br /&gt;
*&#039;&#039;&#039;oldstatic&#039;&#039;&#039; - 1.5. definition of module caching, one cache file for all pages with the same module id and user aid. Default for backwards compatibility &lt;br /&gt;
*&#039;&#039;&#039;itemid&#039;&#039;&#039; - changes on itemid change &lt;br /&gt;
&lt;br /&gt;
In addition to cache field that was required in 1.5 there is now another hidden field called cachemode that sets any of the above modes. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;field name=&amp;quot;cachemode&amp;quot; type=&amp;quot;hidden&amp;quot; label=&amp;quot;&amp;quot; default=&amp;quot;static&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;option value=&amp;quot;static&amp;quot;&amp;gt;&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modes to be called from inside the module: &lt;br /&gt;
*&#039;&#039;&#039;safeuri&#039;&#039;&#039; - id is created from $cacheparams-&amp;gt;modeparams array, the same as in component view cache &lt;br /&gt;
*&#039;&#039;&#039;id&#039;&#039;&#039; - module sets own cache id&#039;s &lt;br /&gt;
&lt;br /&gt;
To use this modes one must rename cache field in xml to owncache field and call JModuleHelper::ModuleCache from within the module&#039;s main php file. This is actually a shortcut to cache callback to avoid code duplication in every module. &lt;br /&gt;
&lt;br /&gt;
An example that uses safeuri mode and replaces uncached&lt;br /&gt;
$list = modRelatedItemsHelper::getList($params) : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$cacheparams = new stdClass; &lt;br /&gt;
$cacheparams-&amp;gt;cachemode = &#039;safeuri&#039;; &lt;br /&gt;
$cacheparams-&amp;gt;class = &#039;modRelatedItemsHelper&#039;; &lt;br /&gt;
$cacheparams-&amp;gt;method = &#039;getList&#039;; &lt;br /&gt;
$cacheparams-&amp;gt;methodparams = $params; &lt;br /&gt;
$cacheparams-&amp;gt;modeparams = array(&#039;id&#039;=&amp;gt;&#039;int&#039;,&#039;Itemid&#039;=&amp;gt;&#039;int&#039;); &lt;br /&gt;
$list = JModuleHelper::ModuleCache ($module, $params, $cacheparams);&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====Functional changes==== &lt;br /&gt;
&#039;&#039;&#039;Cache administration (Clean cache, Purge cache) now works with all drivers&#039;&#039;&#039;, not only with file cache. &lt;br /&gt;
&#039;&#039;&#039;New standalone garbage collect script&#039;&#039;&#039; that is to be called from crontab has been added. It can be found in libraries/joomla/utilities/garbagecron.php . For safety reasons it is recommended that it is renamed to something unique.&lt;br /&gt;
&lt;br /&gt;
====CMS and framework level functional changes==== &lt;br /&gt;
&#039;&#039;&#039;Caching is implemented in all components and modules&#039;&#039;&#039; that can potentially gain from cache.&lt;br /&gt;
Caching has also been added to some most expensive and frequent framework calls JComponentHelper::_load(), JModuleHelper::_load(),JMenuSite::load(); &lt;br /&gt;
&lt;br /&gt;
====Cache library changes====&lt;br /&gt;
Cache library has been completely refactored. &lt;br /&gt;
*Cache &#039;&#039;&#039;handlers have been renamed to controllers&#039;&#039;&#039; to better reflect their role and avoid confusion with cache storage handlers (referred to as drivers in following text). &lt;br /&gt;
*&#039;&#039;&#039;New JCacheController&#039;&#039;&#039; parent class has been added and inheritance has been changed to prevent bugs occurring from controller&#039;s and storage handler&#039;s get method clashes. &lt;br /&gt;
&lt;br /&gt;
====JCache==== &lt;br /&gt;
*&#039;&#039;&#039;getAll()&#039;&#039;&#039; method was added to JCache, JCacheStorage and all drivers, and it returns all cached items (this was previously possible only with file driver and hardcoded in administration) &lt;br /&gt;
*New &#039;&#039;&#039;lock and unlock&#039;&#039;&#039; methods were added to JCache, JCacheStorage and drivers. They enable cache item locking and unlocking to prevent errors on parallel accesses and double saves. This functionally was also implemented in controllers. &lt;br /&gt;
*Workarounds are now consolidated in new &#039;&#039;&#039;JCache getWorkarounds and setWorkarounds&#039;&#039;&#039; methods, are now used by all controllers and their use has been made optional. &lt;br /&gt;
*New makeId() method in JCache that creates cache id from registered url parameters set by components and system plugins&lt;br /&gt;
&lt;br /&gt;
====JCacheController==== &lt;br /&gt;
New parent class to Controllers that also functions as an intermediate to JCache. There is no JObject inheritance as otherwise magic __call doesn&#039;t work. &lt;br /&gt;
Change was needed to prevent bugs occurring from controller&#039;s and storage handler&#039;s get method clashes. They could be renamed but this would break backwards compatibility.&lt;br /&gt;
&lt;br /&gt;
====JCacheStorage==== &lt;br /&gt;
*_getCacheId method was moved from drivers to their parent JCacheStorage and all drives now use the same method by default &lt;br /&gt;
*CacheItem was moved from cache admin to framework JCacheStorageHelper, it is used by getAll &lt;br /&gt;
*There are new cachelite and wincache drivers. All other drivers have been fixed with missing functions (gc, clean) added, their code cleaned and tested they should be now working properly. &lt;br /&gt;
*Replaced separate _expire files in filecache driver with timestamps (this should amount to cca. 40% speed gain). The same in all drivers that had this. &lt;br /&gt;
*Numerous bugfixes on all levels, most important is proper use of options defaulting to configuration parameters settings and correctly passing from level to level.&lt;br /&gt;
&lt;br /&gt;
====Other framework level changes==== &lt;br /&gt;
*Safe url parameters registration added to JControler view method. &lt;br /&gt;
*New ModuleCache method in JModuleHelper that performs the above described module cache (in 5 modes) for both, modules and module renderer. &lt;br /&gt;
*JFactory::getFeedParser has been changed to use Joomla caching instead of simplepie&#039;s.&lt;br /&gt;
&lt;br /&gt;
==Performance==&lt;br /&gt;
===Eliminate the usage of JTable for general browsing on the frontend===&lt;br /&gt;
*Session drops the usage of JTable&lt;br /&gt;
*Item views use a dedicated question, not JTable-&amp;gt;load&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
*Still Mootools 1.2. Will be upgrading to 1.3 during the beta process.&lt;br /&gt;
*Scaling issues to address&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
===Releases===&lt;br /&gt;
*Alpha 1: 22 June 2009&lt;br /&gt;
*Alpha 2: 25 October 2009&lt;br /&gt;
*Beta 1: 18 May 2010&lt;br /&gt;
*Beta 2: 31 May 2010&lt;br /&gt;
*Beta 3: 14 June 2010&lt;br /&gt;
*Beta 4: 28 June 2010&lt;br /&gt;
*Beta 5: 12 July 2010&lt;br /&gt;
*Beta 6: 26 July 2010&lt;br /&gt;
*Beta 7: 09 August 2010&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 1.6]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J2.5:What%27s_new_in_Joomla_2.5&amp;diff=30669</id>
		<title>J2.5:What&#039;s new in Joomla 2.5</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J2.5:What%27s_new_in_Joomla_2.5&amp;diff=30669"/>
		<updated>2010-09-15T12:36:52Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: /* Archived Articles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Lots of things.&lt;br /&gt;
&lt;br /&gt;
...and:&lt;br /&gt;
* &#039;&#039;&#039;New Access Control System&#039;&#039;&#039; - Allows site administrators control over who can view and manage content.&lt;br /&gt;
* &#039;&#039;&#039;Unlimited Depth Organizational Model&#039;&#039;&#039; - Gives site administrators and content creators user-defined category levels that allow for the creation of a category tree with as many or as few levels for organizing articles and other content as needed.&lt;br /&gt;
* &#039;&#039;&#039;One-Click Extension Updates&#039;&#039;&#039; - Allows users to keep sites secure and controlled by simplifying the process of updating extensions.&lt;br /&gt;
* &#039;&#039;&#039;Semantic XHTML Layouts&#039;&#039;&#039; - Provides a better baseline for content presentation.&lt;br /&gt;
&lt;br /&gt;
...and:&lt;br /&gt;
&lt;br /&gt;
==Administrators==&lt;br /&gt;
===Introduction===&lt;br /&gt;
*Consistent UI&lt;br /&gt;
*Consistent Features&lt;br /&gt;
*Richer sample data&lt;br /&gt;
*IE 7+, Firefox 3.x, Safari 4.x&lt;br /&gt;
*PHP 5.2.4+&lt;br /&gt;
*MySQL 5.0.4 (allows for wide varchars)&lt;br /&gt;
&lt;br /&gt;
===Administrator===&lt;br /&gt;
*Menu Changes&lt;br /&gt;
*Submenu consistency&lt;br /&gt;
&lt;br /&gt;
====Toolbar Features====&lt;br /&gt;
*Save&lt;br /&gt;
*Save &amp;amp; Close&lt;br /&gt;
*Save &amp;amp; New&lt;br /&gt;
*Save as Copy&lt;br /&gt;
*Expired session will return to the page you were on then you got logged out (can be hit and miss)&lt;br /&gt;
*Most search filters allow you to search for a record id via [ id:123 ]&lt;br /&gt;
*&amp;quot;Parameters&amp;quot; are now referred to as &amp;quot;Options&amp;quot;&lt;br /&gt;
*Template Styles&lt;br /&gt;
*Integrated Trash Management&lt;br /&gt;
*Consistent archive support for most content&lt;br /&gt;
*Extension Installer Improvements&lt;br /&gt;
&lt;br /&gt;
===Module Enhancements===&lt;br /&gt;
*Publish up and down&lt;br /&gt;
*Add option to display on all pages &amp;quot;except&amp;quot; selected&lt;br /&gt;
*Expanded Category System&lt;br /&gt;
*404 Page Redirection&lt;br /&gt;
*Better Menu Management&lt;br /&gt;
*Alternative layouts for content, modules and menus (taken from the home template)&lt;br /&gt;
&lt;br /&gt;
===New Templates===&lt;br /&gt;
*Atomic&lt;br /&gt;
*Beez2&lt;br /&gt;
*(Administrator) Bluestork (replaces Khephri)&lt;br /&gt;
*(Administrator) Hathor&lt;br /&gt;
*Legacy layer in Milkyway&lt;br /&gt;
*Backend supports layout overrides&lt;br /&gt;
*New Modules&lt;br /&gt;
*New Plugins&lt;br /&gt;
*Content Languages&lt;br /&gt;
*User Login Permissions&lt;br /&gt;
*Activate selected users from the user list now (and filter)&lt;br /&gt;
*Administrator registration approval&lt;br /&gt;
*Polls component removed&lt;br /&gt;
*New codemirror editor&lt;br /&gt;
&lt;br /&gt;
===SEO Improvements===&lt;br /&gt;
*Meta decription and keywords for categories&lt;br /&gt;
*Articles can change the page title and page header separately&lt;br /&gt;
&lt;br /&gt;
===Global Configuration===&lt;br /&gt;
*Add site name to titles&lt;br /&gt;
*Default Access Level&lt;br /&gt;
*Set Metadata Language (buggy)&lt;br /&gt;
*Unicode Aliases&lt;br /&gt;
*Cookie domain and path&lt;br /&gt;
*User Setting moved to User Manager -&amp;gt; Options&lt;br /&gt;
*Media Settings moved to Media Manager -&amp;gt; Options&lt;br /&gt;
*Debug Modules - allows you to enabled to disable the tp=1 feature&lt;br /&gt;
*Server Timezone now a location, not an integer offset&lt;br /&gt;
*New Global Permissions tab&lt;br /&gt;
&lt;br /&gt;
===User Manager===&lt;br /&gt;
*Can activate a user from the list now&lt;br /&gt;
*User can be assigned to multiple groups&lt;br /&gt;
*Manage user groups&lt;br /&gt;
*Manager content access levels&lt;br /&gt;
&lt;br /&gt;
===Media Manager===&lt;br /&gt;
*Flash uploader fixed&lt;br /&gt;
&lt;br /&gt;
===Menu Manager===&lt;br /&gt;
====Menus List====&lt;br /&gt;
*Rebuild button to press when you brick the menu&lt;br /&gt;
*Clicking the menu name brings up the menu items list rather than going into Edit Menu. To edit the menu, click on the check box next to the name and click on the Edit icon in the toolbar.&lt;br /&gt;
&lt;br /&gt;
====Items List====&lt;br /&gt;
*Menus support the language filter&lt;br /&gt;
*Default now called Home&lt;br /&gt;
*Home is now clickable in the menu item list&lt;br /&gt;
*A separate home can be set for different languages&lt;br /&gt;
&lt;br /&gt;
=====New batch operations=====&lt;br /&gt;
*Set access level&lt;br /&gt;
*Copy or move to another part of this or another menu&lt;br /&gt;
&lt;br /&gt;
====Edit Item====&lt;br /&gt;
*Improved &amp;quot;Type&amp;quot; selector with human readable view and layout names&lt;br /&gt;
*Note field added&lt;br /&gt;
*New window target&lt;br /&gt;
*New Language assignment&lt;br /&gt;
*New Template style&lt;br /&gt;
*Ability to add &amp;amp; edit Module assignments from this page&lt;br /&gt;
&lt;br /&gt;
=====New options for the menu links and pages themselves=====&lt;br /&gt;
*Link title attribute&lt;br /&gt;
*Link CSS style&lt;br /&gt;
*Menu image is changed to a modal selector&lt;br /&gt;
*CSS class for page heading&lt;br /&gt;
*Page meta description&lt;br /&gt;
*Page meta keywords&lt;br /&gt;
*Robots options&lt;br /&gt;
&lt;br /&gt;
===Articles Manager===&lt;br /&gt;
*Frontpage is now referred to a Featured&lt;br /&gt;
*Article manager uses submenu to quickly skip between articles , categories and featured&lt;br /&gt;
*Sections and categories are now merged.&lt;br /&gt;
&lt;br /&gt;
====Articles List====&lt;br /&gt;
*&#039;&#039;&amp;quot;Missing move and copy; filter by author&amp;quot;&#039;&#039;&lt;br /&gt;
*New column to show language&lt;br /&gt;
*Filtering by language available&lt;br /&gt;
&lt;br /&gt;
====Article Edit====&lt;br /&gt;
*Created by user now selected by modal popup&lt;br /&gt;
*New ability to set the page title from the article&lt;br /&gt;
*Define create, delete, edit and publishing permissions&lt;br /&gt;
&lt;br /&gt;
====Archived Articles====&lt;br /&gt;
*In 1.5, Archived Articles had to first be changed to Published or Unpublished before they could be updated. &lt;br /&gt;
*In 1.6, an Article with an Archived Status *can* be changed without changing the State first.&lt;br /&gt;
&lt;br /&gt;
===Categories===&lt;br /&gt;
====Category List====&lt;br /&gt;
*Nested view&lt;br /&gt;
*Filtering on language&lt;br /&gt;
&lt;br /&gt;
====Edit Category====&lt;br /&gt;
*New note field&lt;br /&gt;
*Section replaced with ability to assign a parent category&lt;br /&gt;
*Ability to assign content language&lt;br /&gt;
&lt;br /&gt;
=====New Options (not previously available in 1.5)=====&lt;br /&gt;
*Assign alternate layout&lt;br /&gt;
*Define create, delete, edit and publishing permissions&lt;br /&gt;
*Meta description&lt;br /&gt;
*Meta keywords&lt;br /&gt;
*Alternative page title&lt;br /&gt;
*Meta author&lt;br /&gt;
*Meta robots&lt;br /&gt;
&lt;br /&gt;
===Banners===&lt;br /&gt;
====Banners list====&lt;br /&gt;
*** Missing copy toolbar button&lt;br /&gt;
*New archive toolbar button&lt;br /&gt;
*New columns to show meta keywords, purchase type and language&lt;br /&gt;
*New filtering by client and language &lt;br /&gt;
&lt;br /&gt;
====Edit Banner====&lt;br /&gt;
*New type toggle for Image or Custom (dynamically changes the available form fields)&lt;br /&gt;
*New alt text field for image&lt;br /&gt;
*New language field&lt;br /&gt;
&lt;br /&gt;
=====New Options=====&lt;br /&gt;
*Ability to set the created date&lt;br /&gt;
*Ability to set start and finish publishing times&lt;br /&gt;
*Ability to set the purchase type&lt;br /&gt;
*Ability to track impressions&lt;br /&gt;
*Ability to track clicks&lt;br /&gt;
*Use own prefix ?&lt;br /&gt;
*Tags renamed to meta &lt;br /&gt;
*Contacts&lt;br /&gt;
*Messaging&lt;br /&gt;
*Newsfeeds&lt;br /&gt;
*Search&lt;br /&gt;
*Weblinks&lt;br /&gt;
*Redirect&lt;br /&gt;
&lt;br /&gt;
===Extensions Manager===&lt;br /&gt;
====Discover====&lt;br /&gt;
*Module mgr&lt;br /&gt;
*Plugin Mgr&lt;br /&gt;
*Template Mgr&lt;br /&gt;
*Language mgr&lt;br /&gt;
&lt;br /&gt;
===Misc===&lt;br /&gt;
*Auto create linked contact when creating new user ??&lt;br /&gt;
&lt;br /&gt;
==Access Controls==&lt;br /&gt;
*Introduction&lt;br /&gt;
*User Groups&lt;br /&gt;
*Access Levels&lt;br /&gt;
*Permission Layers&lt;br /&gt;
*How Permissions are Inherited&lt;br /&gt;
*How to debrick your site&lt;br /&gt;
&lt;br /&gt;
==Developers==&lt;br /&gt;
===Introduction===&lt;br /&gt;
*PHP 5.2.4+&lt;br /&gt;
*MySQL 5.0.4 (allows for wide varchars)&lt;br /&gt;
*IE7+, Firefox 3+, Safari 4+&lt;br /&gt;
*Focus on code consistency&lt;br /&gt;
*Focus on code reduction&lt;br /&gt;
&lt;br /&gt;
Usage of PHP Native Functions where possible, for example:&lt;br /&gt;
*[[JXMLElement]] extends the native [http://php.net/manual/en/book.simplexml.php SimpleXML] class&lt;br /&gt;
*[[JDate]] extends the [http://www.php.net/manual/en/class.datetime.php DateTime] class&lt;br /&gt;
*Native INI parser to load languages&lt;br /&gt;
&lt;br /&gt;
===Removed features===&lt;br /&gt;
*ADODB compatibility methods in database classes&lt;br /&gt;
*DOMIT (unsupported XML library)&lt;br /&gt;
*Legacy mode (includes global $mainframe, etc)&lt;br /&gt;
*JTemplate (based on patTemplate)&lt;br /&gt;
*patTemplate (templating engine)&lt;br /&gt;
*PDF support&lt;br /&gt;
*PEAR libraries (due to license incompatibilities)&lt;br /&gt;
*phpgacl&lt;br /&gt;
*PHP 4.0 and 5.0 compatibility files&lt;br /&gt;
*XStandard Editor&lt;br /&gt;
&lt;br /&gt;
===Deprecated Features===&lt;br /&gt;
*JController::_acoSection&lt;br /&gt;
*JController::_acoSectionValue&lt;br /&gt;
*JController::authorize()&lt;br /&gt;
*JController::setAccessControl()&lt;br /&gt;
*JDatabase::stderr()&lt;br /&gt;
*JDate::offest&lt;br /&gt;
*JDate::setOffset()&lt;br /&gt;
*JDate::toFormat() - use JDate::format() instead&lt;br /&gt;
*JException::toString()&lt;br /&gt;
*JFactory::getXMLParser()&lt;br /&gt;
*JHtmlGird::access()&lt;br /&gt;
*JHtmlImage::administrator - use JHtml::image instead&lt;br /&gt;
*JHtmlImage::site - use JHtml::image instead&lt;br /&gt;
*JHtmlList::accesslevel()&lt;br /&gt;
*JHtmlList::specificordering() - use JHtml::_(&#039;list.ordering&#039;)&lt;br /&gt;
*JHtmlList::category()&lt;br /&gt;
*JHtmlSelect::optgroup() - see JHtmlSelect::groupedList()&lt;br /&gt;
*JLanguage::_parseLanguageFiles - renamed to parseLanguageFiles&lt;br /&gt;
*JLanguage::_parseXMLLanguageFile - renamed to parseXMLLanguageFile&lt;br /&gt;
*JLanguage::_parseXMLLanguageFiles - renamed to parseXMLLanguageFiles&lt;br /&gt;
*JObject::toString - replaced with magic method&lt;br /&gt;
*JRegistry::getNameSpaces()&lt;br /&gt;
*JRegistry::getValue()&lt;br /&gt;
*JRegistry::makeNameSpace()&lt;br /&gt;
*JRegistry::setValue()&lt;br /&gt;
*JPane - See JHtmlSliders&lt;br /&gt;
*JParameter - replaced by JForm&lt;br /&gt;
*JSimpleXML, JSimpleXMLElement - Use JXMLElement instead, based on the native SimpleXMLElement&lt;br /&gt;
*JTable::canDelete() - models or controllers should be doing the access checks&lt;br /&gt;
*JTable::toXML()&lt;br /&gt;
*JToolbarHelper customX(), addNewX(), editListX(), editHtmlX(), editCssX(), deleteListX()&lt;br /&gt;
*JUser::authorize() - Use JUser::authorise()&lt;br /&gt;
*JUtility::dump()&lt;br /&gt;
*JUtility::array_unshift_ref() - Not needed in PHP 5&lt;br /&gt;
*JUtility::getHash() - Use JApplication::getHash()&lt;br /&gt;
*JUtility::getToken() - Use JFactory::getSession()-&amp;gt;getFormToken()&lt;br /&gt;
*JUtility::isWinOS() - Use JApplication::isWinOS()&lt;br /&gt;
*JUtility::return_bytes() - See InstallerModelWarnings::return_bytes()&lt;br /&gt;
*JUtility::sendMail() - Use JFactory::getMailer()-&amp;gt;sendMail()&lt;br /&gt;
*JUtility::sendAdminMail() - Use JFactory::getMailer()-&amp;gt;sendMail()&lt;br /&gt;
*JXMLElement::data() - Provided for backward compatibility&lt;br /&gt;
*JXMLElement::getAttribute() - Provided for backward compatibility&lt;br /&gt;
&lt;br /&gt;
===Database===&lt;br /&gt;
*JTable now automatically looks up the fields from the database schema&lt;br /&gt;
*New JDatabaseQuery - A chained CRUD query builder&lt;br /&gt;
*New JDatabase::getNextRow&lt;br /&gt;
*New JDatabase::getNextObject&lt;br /&gt;
*JDatabase::loadAssocList  - Now takes a second argument to just return the value of a column&lt;br /&gt;
*JDatabase::setQuery  - Added chaining support&lt;br /&gt;
&lt;br /&gt;
====Important Schema Changes====&lt;br /&gt;
*New jos_extensions table to list all extensions&lt;br /&gt;
*Components table information moved and split between jos_extensions and jos_menu (special menu called _adminmenu)&lt;br /&gt;
&lt;br /&gt;
The old phpgacl (jos_core_acl*) and jos_groups tables have been reworked into:&lt;br /&gt;
*jos_assets&lt;br /&gt;
*jos_user_usergroup_map&lt;br /&gt;
*jos_usergroups&lt;br /&gt;
*jos_viewlevels&lt;br /&gt;
*Archived state changed from a value of -1 to +2&lt;br /&gt;
&lt;br /&gt;
===Improved MVC===&lt;br /&gt;
====Models====&lt;br /&gt;
*JModelList&lt;br /&gt;
*JModelForm&lt;br /&gt;
*JModelAdmin&lt;br /&gt;
*Format handling (eg JSON)&lt;br /&gt;
*Sub-controller handling&lt;br /&gt;
&lt;br /&gt;
====Controllers====&lt;br /&gt;
*JControllerForm&lt;br /&gt;
*JControllerAdmin&lt;br /&gt;
*JController::setMessage takes second arg to set the message type&lt;br /&gt;
*JController can set the default view&lt;br /&gt;
*Added chaining support to several JController methods&lt;br /&gt;
&lt;br /&gt;
====Views====&lt;br /&gt;
*Semantic core output&lt;br /&gt;
*Milkyway legacy layouts&lt;br /&gt;
*The old component parameters are not automatically added to the menu anymore. You need to explicitly put them in the layout XML files.&lt;br /&gt;
*The menu manager will now detect additional layouts for a given view in the default template.&lt;br /&gt;
&lt;br /&gt;
===Form API===&lt;br /&gt;
====Event manipulation====&lt;br /&gt;
*onContentPrepareForm&lt;br /&gt;
*onContentPrepareFormData&lt;br /&gt;
&lt;br /&gt;
===Translation and Language Support===&lt;br /&gt;
*Support for unicode slugs, eg, SEF URL&#039;s with Greek characters&lt;br /&gt;
*3-letter languages now supported, xxx-XX&lt;br /&gt;
*All existing language keys have been refactored&lt;br /&gt;
&lt;br /&gt;
====INI files must validate====&lt;br /&gt;
*Upper case key with no spaces, alphanumeric characters and underscores&lt;br /&gt;
*Quoted values&lt;br /&gt;
*Double quotes within literal strings must use _QQ_ in the form KEY=&amp;quot;&amp;lt;a href=&amp;quot;_QQ_&amp;quot;index.php&amp;quot;_QQ_&amp;quot;&amp;gt;Click&amp;lt;/a&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====Javascript translation layer====&lt;br /&gt;
*See the flash uploader script for an example&lt;br /&gt;
Local extension language files&lt;br /&gt;
&lt;br /&gt;
====Language file API====&lt;br /&gt;
*Pluralisation support&lt;br /&gt;
*Transliteration support for ASCII or Unicode slugs&lt;br /&gt;
*Ignore Search Words&lt;br /&gt;
*Minimum search word length&lt;br /&gt;
*Custom language overrides&lt;br /&gt;
*System language file to support administrator menu and installation (.sys.ini)&lt;br /&gt;
&lt;br /&gt;
====Language switcher====&lt;br /&gt;
*Language Filter plugin enables language switching&lt;br /&gt;
*Sets the automatic filtering via JFactory::getApplication()-&amp;gt;setLanguageFilter(true)&lt;br /&gt;
*A frontend component with language support would test JFactory::getApplication()-&amp;gt;getLanguageFilter(), which returns the selected language code from the Languages Module&lt;br /&gt;
*The language field can be a language code for a single language, or &amp;quot;*&amp;quot; to be displayed for all languages&lt;br /&gt;
*Community extension for language maintenance com_localise&lt;br /&gt;
&lt;br /&gt;
===Extension management===&lt;br /&gt;
====New installation types====&lt;br /&gt;
=====Libraries=====&lt;br /&gt;
*Must include an XML manifest where type=&amp;quot;library&amp;quot;&lt;br /&gt;
*Can only be installed into a sub-folder of /libraries/&lt;br /&gt;
*Can extend parts of an existing library, eg /libraries/joomla/database/database/oracle.php&lt;br /&gt;
&lt;br /&gt;
=====Packages multi-installer=====&lt;br /&gt;
*Must include an XML manifest where type=&amp;quot;package&amp;quot;&lt;br /&gt;
*A package is a zip of zip&#039;s&lt;br /&gt;
&lt;br /&gt;
New install script can be provided with 5 methods:&lt;br /&gt;
=====preflight=====&lt;br /&gt;
*Runs before anything is run and while the extracted files are in the uploaded temp folder&lt;br /&gt;
&lt;br /&gt;
======Could allow for:======&lt;br /&gt;
*secondary extraction of custom zip&#039;s&lt;br /&gt;
*version checks to be performed&lt;br /&gt;
*halting the installer on an error&lt;br /&gt;
&lt;br /&gt;
=====install / update=====&lt;br /&gt;
*Runs after the database scripts are executed&lt;br /&gt;
*If the extension is new, the install method is run&lt;br /&gt;
*If the extension exists then update method is run if method=&amp;quot;upgrade&amp;quot;, otherwise assumes that the extension is not meant to be upgradable&lt;br /&gt;
&lt;br /&gt;
=====postflight=====&lt;br /&gt;
*Runs after the extension is registered in the database&lt;br /&gt;
*Is not run for the uninstall process (nothing left to do obviously)&lt;br /&gt;
&lt;br /&gt;
====Discover====&lt;br /&gt;
*Does not do any file copying, only works with what it finds&lt;br /&gt;
*Performs preflight, install and postflight&lt;br /&gt;
*Developer of installer has two language files??&lt;br /&gt;
&lt;br /&gt;
====Update site====&lt;br /&gt;
*Can publish an XML manifest on your site that can include individual extensions and extension sets.&lt;br /&gt;
&lt;br /&gt;
====XML Manifest Changes====&lt;br /&gt;
*&amp;lt;install&amp;gt; is deprecated - use &amp;lt;extension&amp;gt;&lt;br /&gt;
*New &amp;lt;update&amp;gt; tag. Takes a &amp;lt;schemas&amp;gt; tag which can define &amp;lt;schemapath&amp;gt;&lt;br /&gt;
*&amp;lt;params&amp;gt; and &amp;lt;param&amp;gt; tags are deprecated, use &amp;lt;fields&amp;gt;, &amp;lt;fieldsets&amp;gt; and &amp;lt;field&amp;gt; instead&lt;br /&gt;
&lt;br /&gt;
====File changes====&lt;br /&gt;
*Installation manifest must be the same name as the extension, eg com_foobar/foobar.xml  This helps with discovery (otherwise the function has to go through all the files in the extension folder&lt;br /&gt;
*Plugins are now in folders like modules and components&lt;br /&gt;
*See SVN/tests/_data/installer_packages/ for complete examples of all extensions and manifests.&lt;br /&gt;
*The method=&amp;quot;upgrade&amp;quot; will compare individual files in the original and incoming manifests and will remove files as appropriate.  However, it will not remove differences in the &amp;lt;folder&amp;gt; tags.&lt;br /&gt;
*Future support for rollback&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
====New Events====&lt;br /&gt;
*onBeforeRender&lt;br /&gt;
*onContentBeforeDelete&lt;br /&gt;
*onContentAfterDelete&lt;br /&gt;
*onContentChangeState&lt;br /&gt;
*onContentPrepareForm&lt;br /&gt;
*onContentPrepareFormData&lt;br /&gt;
*onExtensionBeforeInstall&lt;br /&gt;
*onExtensionBeforeUpdate&lt;br /&gt;
*onExtensionBeforeUninstall&lt;br /&gt;
*onExtensionAfterInstall&lt;br /&gt;
*onExtensionAfterUpdate&lt;br /&gt;
*onExtensionAfterUninstall&lt;br /&gt;
&lt;br /&gt;
====Renamed Events====&lt;br /&gt;
*onContentAfterSave&lt;br /&gt;
*onContentAfterTitle&lt;br /&gt;
*onContentAfterDisplay&lt;br /&gt;
*onContentBeforeDisplay&lt;br /&gt;
*onContentBeforeSave&lt;br /&gt;
*onContentSearch&lt;br /&gt;
*onContentSearchAreas&lt;br /&gt;
*onUserAuthenticate&lt;br /&gt;
*onUserAfterDelete&lt;br /&gt;
*onUserAfterSave&lt;br /&gt;
*onUserBeforeDelete&lt;br /&gt;
*onUserBeforeSave&lt;br /&gt;
*onUserLogin&lt;br /&gt;
*onUserLogout&lt;br /&gt;
*All content events (except for search and search areas) now pass a &#039;context&#039; as the first argument to alert the plugin as to what type of content is being passed.  The plugin event may or may not heed this context.&lt;br /&gt;
&lt;br /&gt;
===Categories===&lt;br /&gt;
*Component can provide custom options for its own categories via optional category.xml&lt;br /&gt;
*Supported via JTableNested&lt;br /&gt;
&lt;br /&gt;
===Access Controls===&lt;br /&gt;
*A thing that can be controlled by permissions is registered in the assets table&lt;br /&gt;
*JTable handles this transparently via asset_id field&lt;br /&gt;
*For view permissions, support is as simple as adding&lt;br /&gt;
:::$user = JFactory::getUser();&lt;br /&gt;
:::$groups = implode(&#039;,&#039;, $user-&amp;gt;authorisedLevels());&lt;br /&gt;
:::$query-&amp;gt;where(&#039;a.access IN (&#039; . $groups . &#039;)&#039;);&lt;br /&gt;
&lt;br /&gt;
For action permissions, same format as in 1.5:&lt;br /&gt;
$user-&amp;gt;authorise($actionName, $assetName)&lt;br /&gt;
*OpenID library moved to plugin folder&lt;br /&gt;
*Geshi library moved to plugin folder&lt;br /&gt;
*JRegistry notes defaults to JSON (new format), dynamically converting existing data in INI format&lt;br /&gt;
*New JStream&lt;br /&gt;
*New JApplicationHelper::getComponentName&lt;br /&gt;
*Core icons moved to /media/&lt;br /&gt;
*Backward incompatible change to JEditor::display&lt;br /&gt;
*Added chaining support to JMail&lt;br /&gt;
*JFilterInput can no longer be called statically&lt;br /&gt;
*JHtml::image now supports relative paths&lt;br /&gt;
*All system images are overridable in the default template&lt;br /&gt;
*New JHtmlString&lt;br /&gt;
*Added wincache session handler for IIS&lt;br /&gt;
*New JFilterOutput::stripImages&lt;br /&gt;
*JPath::check takes second arg for separator (to pass to JPath::clean)&lt;br /&gt;
*Expanded configuration support through config.xml (multiple tabs)&lt;br /&gt;
&lt;br /&gt;
====Core actions====&lt;br /&gt;
*core.login.site&lt;br /&gt;
*core.login.admin&lt;br /&gt;
*core.admin&lt;br /&gt;
*core.manage&lt;br /&gt;
*core.create&lt;br /&gt;
*core.edit&lt;br /&gt;
*core.edit.state&lt;br /&gt;
*core.delete&lt;br /&gt;
*Miscellaneous changes&lt;br /&gt;
&lt;br /&gt;
===Debug Plugin===&lt;br /&gt;
*More tools for assisting with translation&lt;br /&gt;
&lt;br /&gt;
===Mootools 1.2/1.3===&lt;br /&gt;
*Need to use document.id instead of $&lt;br /&gt;
&lt;br /&gt;
==Cache changes ==&lt;br /&gt;
===API changes relevant to 3rd party developers===&lt;br /&gt;
====Component view cache==== &lt;br /&gt;
&lt;br /&gt;
Component view cache now takes an array of url parameters and their types to create Cacheid. This is a replacement for a previous unsafe way which took the whole URL for this and so opened the doors for DOS attacks via random url parameters added to request URL&#039;s. &lt;br /&gt;
&lt;br /&gt;
Com_contact example: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$safeurlparams = array(&lt;br /&gt;
    &#039;id&#039;=&amp;gt;&#039;INT&#039;, &lt;br /&gt;
    &#039;catid&#039;=&amp;gt;&#039;INT&#039;, &#039;limit&#039;=&amp;gt;&#039;INT&#039;, &lt;br /&gt;
    &#039;limitstart&#039;=&amp;gt;&#039;INT&#039;, &lt;br /&gt;
    &#039;filter_order&#039;=&amp;gt;&#039;CMD&#039;, &lt;br /&gt;
    &#039;filter_order_Dir&#039;=&amp;gt;&#039;CMD&#039;&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
parent::display($cachable,$safeurlparams);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Old cacheid created from URL was retained for backwards compatibility and takes effect if there are no $safeurlparams.&lt;br /&gt;
&lt;br /&gt;
====Module cache====&lt;br /&gt;
This has been completly reconceptualized. Module cache now has 5 different modes of operation, 3 of them are to be set from module XML file, while 2 are meant to be used from within the module itself. Default is backwards compatible oldstatic mode that requires no changes to a module. &lt;br /&gt;
&lt;br /&gt;
Modes to be set in XML: &lt;br /&gt;
*&#039;&#039;&#039;static&#039;&#039;&#039; - one cache file for all pages with the same module parameters &lt;br /&gt;
*&#039;&#039;&#039;oldstatic&#039;&#039;&#039; - 1.5. definition of module caching, one cache file for all pages with the same module id and user aid. Default for backwards compatibility &lt;br /&gt;
*&#039;&#039;&#039;itemid&#039;&#039;&#039; - changes on itemid change &lt;br /&gt;
&lt;br /&gt;
In addition to cache field that was required in 1.5 there is now another hidden field called cachemode that sets any of the above modes. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;field name=&amp;quot;cachemode&amp;quot; type=&amp;quot;hidden&amp;quot; label=&amp;quot;&amp;quot; default=&amp;quot;static&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;option value=&amp;quot;static&amp;quot;&amp;gt;&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modes to be called from inside the module: &lt;br /&gt;
*&#039;&#039;&#039;safeuri&#039;&#039;&#039; - id is created from $cacheparams-&amp;gt;modeparams array, the same as in component view cache &lt;br /&gt;
*&#039;&#039;&#039;id&#039;&#039;&#039; - module sets own cache id&#039;s &lt;br /&gt;
&lt;br /&gt;
To use this modes one must rename cache field in xml to owncache field and call JModuleHelper::ModuleCache from within the module&#039;s main php file. This is actually a shortcut to cache callback to avoid code duplication in every module. &lt;br /&gt;
&lt;br /&gt;
An example that uses safeuri mode and replaces uncached&lt;br /&gt;
$list = modRelatedItemsHelper::getList($params) : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$cacheparams = new stdClass; &lt;br /&gt;
$cacheparams-&amp;gt;cachemode = &#039;safeuri&#039;; &lt;br /&gt;
$cacheparams-&amp;gt;class = &#039;modRelatedItemsHelper&#039;; &lt;br /&gt;
$cacheparams-&amp;gt;method = &#039;getList&#039;; &lt;br /&gt;
$cacheparams-&amp;gt;methodparams = $params; &lt;br /&gt;
$cacheparams-&amp;gt;modeparams = array(&#039;id&#039;=&amp;gt;&#039;int&#039;,&#039;Itemid&#039;=&amp;gt;&#039;int&#039;); &lt;br /&gt;
$list = JModuleHelper::ModuleCache ($module, $params, $cacheparams);&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====Functional changes==== &lt;br /&gt;
&#039;&#039;&#039;Cache administration (Clean cache, Purge cache) now works with all drivers&#039;&#039;&#039;, not only with file cache. &lt;br /&gt;
&#039;&#039;&#039;New standalone garbage collect script&#039;&#039;&#039; that is to be called from crontab has been added. It can be found in libraries/joomla/utilities/garbagecron.php . For safety reasons it is recommended that it is renamed to something unique.&lt;br /&gt;
&lt;br /&gt;
====CMS and framework level functional changes==== &lt;br /&gt;
&#039;&#039;&#039;Caching is implemented in all components and modules&#039;&#039;&#039; that can potentially gain from cache.&lt;br /&gt;
Caching has also been added to some most expensive and frequent framework calls JComponentHelper::_load(), JModuleHelper::_load(),JMenuSite::load(); &lt;br /&gt;
&lt;br /&gt;
====Cache library changes====&lt;br /&gt;
Cache library has been completely refactored. &lt;br /&gt;
*Cache &#039;&#039;&#039;handlers have been renamed to controllers&#039;&#039;&#039; to better reflect their role and avoid confusion with cache storage handlers (referred to as drivers in following text). &lt;br /&gt;
*&#039;&#039;&#039;New JCacheController&#039;&#039;&#039; parent class has been added and inheritance has been changed to prevent bugs occurring from controller&#039;s and storage handler&#039;s get method clashes. &lt;br /&gt;
&lt;br /&gt;
====JCache==== &lt;br /&gt;
*&#039;&#039;&#039;getAll()&#039;&#039;&#039; method was added to JCache, JCacheStorage and all drivers, and it returns all cached items (this was previously possible only with file driver and hardcoded in administration) &lt;br /&gt;
*New &#039;&#039;&#039;lock and unlock&#039;&#039;&#039; methods were added to JCache, JCacheStorage and drivers. They enable cache item locking and unlocking to prevent errors on parallel accesses and double saves. This functionally was also implemented in controllers. &lt;br /&gt;
*Workarounds are now consolidated in new &#039;&#039;&#039;JCache getWorkarounds and setWorkarounds&#039;&#039;&#039; methods, are now used by all controllers and their use has been made optional. &lt;br /&gt;
*New makeId() method in JCache that creates cache id from registered url parameters set by components and system plugins&lt;br /&gt;
&lt;br /&gt;
====JCacheController==== &lt;br /&gt;
New parent class to Controllers that also functions as an intermediate to JCache. There is no JObject inheritance as otherwise magic __call doesn&#039;t work. &lt;br /&gt;
Change was needed to prevent bugs occurring from controller&#039;s and storage handler&#039;s get method clashes. They could be renamed but this would break backwards compatibility.&lt;br /&gt;
&lt;br /&gt;
====JCacheStorage==== &lt;br /&gt;
*_getCacheId method was moved from drivers to their parent JCacheStorage and all drives now use the same method by default &lt;br /&gt;
*CacheItem was moved from cache admin to framework JCacheStorageHelper, it is used by getAll &lt;br /&gt;
*There are new cachelite and wincache drivers. All other drivers have been fixed with missing functions (gc, clean) added, their code cleaned and tested they should be now working properly. &lt;br /&gt;
*Replaced separate _expire files in filecache driver with timestamps (this should amount to cca. 40% speed gain). The same in all drivers that had this. &lt;br /&gt;
*Numerous bugfixes on all levels, most important is proper use of options defaulting to configuration parameters settings and correctly passing from level to level.&lt;br /&gt;
&lt;br /&gt;
====Other framework level changes==== &lt;br /&gt;
*Safe url parameters registration added to JControler view method. &lt;br /&gt;
*New ModuleCache method in JModuleHelper that performs the above described module cache (in 5 modes) for both, modules and module renderer. &lt;br /&gt;
*JFactory::getFeedParser has been changed to use Joomla caching instead of simplepie&#039;s.&lt;br /&gt;
&lt;br /&gt;
==Performance==&lt;br /&gt;
===Eliminate the usage of JTable for general browsing on the frontend===&lt;br /&gt;
*Session drops the usage of JTable&lt;br /&gt;
*Item views use a dedicated question, not JTable-&amp;gt;load&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
*Still Mootools 1.2. Will be upgrading to 1.3 during the beta process.&lt;br /&gt;
*Scaling issues to address&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
===Releases===&lt;br /&gt;
*Alpha 1: 22 June 2009&lt;br /&gt;
*Alpha 2: 25 October 2009&lt;br /&gt;
*Beta 1: 18 May 2010&lt;br /&gt;
*Beta 2: 31 May 2010&lt;br /&gt;
*Beta 3: 14 June 2010&lt;br /&gt;
*Beta 4: 28 June 2010&lt;br /&gt;
*Beta 5: 12 July 2010&lt;br /&gt;
*Beta 6: 26 July 2010&lt;br /&gt;
*Beta 7: 09 August 2010&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 1.6]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J2.5:What%27s_new_in_Joomla_2.5&amp;diff=30668</id>
		<title>J2.5:What&#039;s new in Joomla 2.5</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J2.5:What%27s_new_in_Joomla_2.5&amp;diff=30668"/>
		<updated>2010-09-15T12:35:34Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: /* Articles Manager */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Lots of things.&lt;br /&gt;
&lt;br /&gt;
...and:&lt;br /&gt;
* &#039;&#039;&#039;New Access Control System&#039;&#039;&#039; - Allows site administrators control over who can view and manage content.&lt;br /&gt;
* &#039;&#039;&#039;Unlimited Depth Organizational Model&#039;&#039;&#039; - Gives site administrators and content creators user-defined category levels that allow for the creation of a category tree with as many or as few levels for organizing articles and other content as needed.&lt;br /&gt;
* &#039;&#039;&#039;One-Click Extension Updates&#039;&#039;&#039; - Allows users to keep sites secure and controlled by simplifying the process of updating extensions.&lt;br /&gt;
* &#039;&#039;&#039;Semantic XHTML Layouts&#039;&#039;&#039; - Provides a better baseline for content presentation.&lt;br /&gt;
&lt;br /&gt;
...and:&lt;br /&gt;
&lt;br /&gt;
==Administrators==&lt;br /&gt;
===Introduction===&lt;br /&gt;
*Consistent UI&lt;br /&gt;
*Consistent Features&lt;br /&gt;
*Richer sample data&lt;br /&gt;
*IE 7+, Firefox 3.x, Safari 4.x&lt;br /&gt;
*PHP 5.2.4+&lt;br /&gt;
*MySQL 5.0.4 (allows for wide varchars)&lt;br /&gt;
&lt;br /&gt;
===Administrator===&lt;br /&gt;
*Menu Changes&lt;br /&gt;
*Submenu consistency&lt;br /&gt;
&lt;br /&gt;
====Toolbar Features====&lt;br /&gt;
*Save&lt;br /&gt;
*Save &amp;amp; Close&lt;br /&gt;
*Save &amp;amp; New&lt;br /&gt;
*Save as Copy&lt;br /&gt;
*Expired session will return to the page you were on then you got logged out (can be hit and miss)&lt;br /&gt;
*Most search filters allow you to search for a record id via [ id:123 ]&lt;br /&gt;
*&amp;quot;Parameters&amp;quot; are now referred to as &amp;quot;Options&amp;quot;&lt;br /&gt;
*Template Styles&lt;br /&gt;
*Integrated Trash Management&lt;br /&gt;
*Consistent archive support for most content&lt;br /&gt;
*Extension Installer Improvements&lt;br /&gt;
&lt;br /&gt;
===Module Enhancements===&lt;br /&gt;
*Publish up and down&lt;br /&gt;
*Add option to display on all pages &amp;quot;except&amp;quot; selected&lt;br /&gt;
*Expanded Category System&lt;br /&gt;
*404 Page Redirection&lt;br /&gt;
*Better Menu Management&lt;br /&gt;
*Alternative layouts for content, modules and menus (taken from the home template)&lt;br /&gt;
&lt;br /&gt;
===New Templates===&lt;br /&gt;
*Atomic&lt;br /&gt;
*Beez2&lt;br /&gt;
*(Administrator) Bluestork (replaces Khephri)&lt;br /&gt;
*(Administrator) Hathor&lt;br /&gt;
*Legacy layer in Milkyway&lt;br /&gt;
*Backend supports layout overrides&lt;br /&gt;
*New Modules&lt;br /&gt;
*New Plugins&lt;br /&gt;
*Content Languages&lt;br /&gt;
*User Login Permissions&lt;br /&gt;
*Activate selected users from the user list now (and filter)&lt;br /&gt;
*Administrator registration approval&lt;br /&gt;
*Polls component removed&lt;br /&gt;
*New codemirror editor&lt;br /&gt;
&lt;br /&gt;
===SEO Improvements===&lt;br /&gt;
*Meta decription and keywords for categories&lt;br /&gt;
*Articles can change the page title and page header separately&lt;br /&gt;
&lt;br /&gt;
===Global Configuration===&lt;br /&gt;
*Add site name to titles&lt;br /&gt;
*Default Access Level&lt;br /&gt;
*Set Metadata Language (buggy)&lt;br /&gt;
*Unicode Aliases&lt;br /&gt;
*Cookie domain and path&lt;br /&gt;
*User Setting moved to User Manager -&amp;gt; Options&lt;br /&gt;
*Media Settings moved to Media Manager -&amp;gt; Options&lt;br /&gt;
*Debug Modules - allows you to enabled to disable the tp=1 feature&lt;br /&gt;
*Server Timezone now a location, not an integer offset&lt;br /&gt;
*New Global Permissions tab&lt;br /&gt;
&lt;br /&gt;
===User Manager===&lt;br /&gt;
*Can activate a user from the list now&lt;br /&gt;
*User can be assigned to multiple groups&lt;br /&gt;
*Manage user groups&lt;br /&gt;
*Manager content access levels&lt;br /&gt;
&lt;br /&gt;
===Media Manager===&lt;br /&gt;
*Flash uploader fixed&lt;br /&gt;
&lt;br /&gt;
===Menu Manager===&lt;br /&gt;
====Menus List====&lt;br /&gt;
*Rebuild button to press when you brick the menu&lt;br /&gt;
*Clicking the menu name brings up the menu items list rather than going into Edit Menu. To edit the menu, click on the check box next to the name and click on the Edit icon in the toolbar.&lt;br /&gt;
&lt;br /&gt;
====Items List====&lt;br /&gt;
*Menus support the language filter&lt;br /&gt;
*Default now called Home&lt;br /&gt;
*Home is now clickable in the menu item list&lt;br /&gt;
*A separate home can be set for different languages&lt;br /&gt;
&lt;br /&gt;
=====New batch operations=====&lt;br /&gt;
*Set access level&lt;br /&gt;
*Copy or move to another part of this or another menu&lt;br /&gt;
&lt;br /&gt;
====Edit Item====&lt;br /&gt;
*Improved &amp;quot;Type&amp;quot; selector with human readable view and layout names&lt;br /&gt;
*Note field added&lt;br /&gt;
*New window target&lt;br /&gt;
*New Language assignment&lt;br /&gt;
*New Template style&lt;br /&gt;
*Ability to add &amp;amp; edit Module assignments from this page&lt;br /&gt;
&lt;br /&gt;
=====New options for the menu links and pages themselves=====&lt;br /&gt;
*Link title attribute&lt;br /&gt;
*Link CSS style&lt;br /&gt;
*Menu image is changed to a modal selector&lt;br /&gt;
*CSS class for page heading&lt;br /&gt;
*Page meta description&lt;br /&gt;
*Page meta keywords&lt;br /&gt;
*Robots options&lt;br /&gt;
&lt;br /&gt;
===Articles Manager===&lt;br /&gt;
*Frontpage is now referred to a Featured&lt;br /&gt;
*Article manager uses submenu to quickly skip between articles , categories and featured&lt;br /&gt;
*Sections and categories are now merged.&lt;br /&gt;
&lt;br /&gt;
====Articles List====&lt;br /&gt;
*&#039;&#039;&amp;quot;Missing move and copy; filter by author&amp;quot;&#039;&#039;&lt;br /&gt;
*New column to show language&lt;br /&gt;
*Filtering by language available&lt;br /&gt;
&lt;br /&gt;
====Article Edit====&lt;br /&gt;
*Created by user now selected by modal popup&lt;br /&gt;
*New ability to set the page title from the article&lt;br /&gt;
*Define create, delete, edit and publishing permissions&lt;br /&gt;
&lt;br /&gt;
====Archived Articles====&lt;br /&gt;
*In 1.5, Archived Articles had to first be changed to Published or Unpublished before they could be updated. In 1.6, an Article with an Archived Status can be changed without changing the State first.&lt;br /&gt;
&lt;br /&gt;
===Categories===&lt;br /&gt;
====Category List====&lt;br /&gt;
*Nested view&lt;br /&gt;
*Filtering on language&lt;br /&gt;
&lt;br /&gt;
====Edit Category====&lt;br /&gt;
*New note field&lt;br /&gt;
*Section replaced with ability to assign a parent category&lt;br /&gt;
*Ability to assign content language&lt;br /&gt;
&lt;br /&gt;
=====New Options (not previously available in 1.5)=====&lt;br /&gt;
*Assign alternate layout&lt;br /&gt;
*Define create, delete, edit and publishing permissions&lt;br /&gt;
*Meta description&lt;br /&gt;
*Meta keywords&lt;br /&gt;
*Alternative page title&lt;br /&gt;
*Meta author&lt;br /&gt;
*Meta robots&lt;br /&gt;
&lt;br /&gt;
===Banners===&lt;br /&gt;
====Banners list====&lt;br /&gt;
*** Missing copy toolbar button&lt;br /&gt;
*New archive toolbar button&lt;br /&gt;
*New columns to show meta keywords, purchase type and language&lt;br /&gt;
*New filtering by client and language &lt;br /&gt;
&lt;br /&gt;
====Edit Banner====&lt;br /&gt;
*New type toggle for Image or Custom (dynamically changes the available form fields)&lt;br /&gt;
*New alt text field for image&lt;br /&gt;
*New language field&lt;br /&gt;
&lt;br /&gt;
=====New Options=====&lt;br /&gt;
*Ability to set the created date&lt;br /&gt;
*Ability to set start and finish publishing times&lt;br /&gt;
*Ability to set the purchase type&lt;br /&gt;
*Ability to track impressions&lt;br /&gt;
*Ability to track clicks&lt;br /&gt;
*Use own prefix ?&lt;br /&gt;
*Tags renamed to meta &lt;br /&gt;
*Contacts&lt;br /&gt;
*Messaging&lt;br /&gt;
*Newsfeeds&lt;br /&gt;
*Search&lt;br /&gt;
*Weblinks&lt;br /&gt;
*Redirect&lt;br /&gt;
&lt;br /&gt;
===Extensions Manager===&lt;br /&gt;
====Discover====&lt;br /&gt;
*Module mgr&lt;br /&gt;
*Plugin Mgr&lt;br /&gt;
*Template Mgr&lt;br /&gt;
*Language mgr&lt;br /&gt;
&lt;br /&gt;
===Misc===&lt;br /&gt;
*Auto create linked contact when creating new user ??&lt;br /&gt;
&lt;br /&gt;
==Access Controls==&lt;br /&gt;
*Introduction&lt;br /&gt;
*User Groups&lt;br /&gt;
*Access Levels&lt;br /&gt;
*Permission Layers&lt;br /&gt;
*How Permissions are Inherited&lt;br /&gt;
*How to debrick your site&lt;br /&gt;
&lt;br /&gt;
==Developers==&lt;br /&gt;
===Introduction===&lt;br /&gt;
*PHP 5.2.4+&lt;br /&gt;
*MySQL 5.0.4 (allows for wide varchars)&lt;br /&gt;
*IE7+, Firefox 3+, Safari 4+&lt;br /&gt;
*Focus on code consistency&lt;br /&gt;
*Focus on code reduction&lt;br /&gt;
&lt;br /&gt;
Usage of PHP Native Functions where possible, for example:&lt;br /&gt;
*[[JXMLElement]] extends the native [http://php.net/manual/en/book.simplexml.php SimpleXML] class&lt;br /&gt;
*[[JDate]] extends the [http://www.php.net/manual/en/class.datetime.php DateTime] class&lt;br /&gt;
*Native INI parser to load languages&lt;br /&gt;
&lt;br /&gt;
===Removed features===&lt;br /&gt;
*ADODB compatibility methods in database classes&lt;br /&gt;
*DOMIT (unsupported XML library)&lt;br /&gt;
*Legacy mode (includes global $mainframe, etc)&lt;br /&gt;
*JTemplate (based on patTemplate)&lt;br /&gt;
*patTemplate (templating engine)&lt;br /&gt;
*PDF support&lt;br /&gt;
*PEAR libraries (due to license incompatibilities)&lt;br /&gt;
*phpgacl&lt;br /&gt;
*PHP 4.0 and 5.0 compatibility files&lt;br /&gt;
*XStandard Editor&lt;br /&gt;
&lt;br /&gt;
===Deprecated Features===&lt;br /&gt;
*JController::_acoSection&lt;br /&gt;
*JController::_acoSectionValue&lt;br /&gt;
*JController::authorize()&lt;br /&gt;
*JController::setAccessControl()&lt;br /&gt;
*JDatabase::stderr()&lt;br /&gt;
*JDate::offest&lt;br /&gt;
*JDate::setOffset()&lt;br /&gt;
*JDate::toFormat() - use JDate::format() instead&lt;br /&gt;
*JException::toString()&lt;br /&gt;
*JFactory::getXMLParser()&lt;br /&gt;
*JHtmlGird::access()&lt;br /&gt;
*JHtmlImage::administrator - use JHtml::image instead&lt;br /&gt;
*JHtmlImage::site - use JHtml::image instead&lt;br /&gt;
*JHtmlList::accesslevel()&lt;br /&gt;
*JHtmlList::specificordering() - use JHtml::_(&#039;list.ordering&#039;)&lt;br /&gt;
*JHtmlList::category()&lt;br /&gt;
*JHtmlSelect::optgroup() - see JHtmlSelect::groupedList()&lt;br /&gt;
*JLanguage::_parseLanguageFiles - renamed to parseLanguageFiles&lt;br /&gt;
*JLanguage::_parseXMLLanguageFile - renamed to parseXMLLanguageFile&lt;br /&gt;
*JLanguage::_parseXMLLanguageFiles - renamed to parseXMLLanguageFiles&lt;br /&gt;
*JObject::toString - replaced with magic method&lt;br /&gt;
*JRegistry::getNameSpaces()&lt;br /&gt;
*JRegistry::getValue()&lt;br /&gt;
*JRegistry::makeNameSpace()&lt;br /&gt;
*JRegistry::setValue()&lt;br /&gt;
*JPane - See JHtmlSliders&lt;br /&gt;
*JParameter - replaced by JForm&lt;br /&gt;
*JSimpleXML, JSimpleXMLElement - Use JXMLElement instead, based on the native SimpleXMLElement&lt;br /&gt;
*JTable::canDelete() - models or controllers should be doing the access checks&lt;br /&gt;
*JTable::toXML()&lt;br /&gt;
*JToolbarHelper customX(), addNewX(), editListX(), editHtmlX(), editCssX(), deleteListX()&lt;br /&gt;
*JUser::authorize() - Use JUser::authorise()&lt;br /&gt;
*JUtility::dump()&lt;br /&gt;
*JUtility::array_unshift_ref() - Not needed in PHP 5&lt;br /&gt;
*JUtility::getHash() - Use JApplication::getHash()&lt;br /&gt;
*JUtility::getToken() - Use JFactory::getSession()-&amp;gt;getFormToken()&lt;br /&gt;
*JUtility::isWinOS() - Use JApplication::isWinOS()&lt;br /&gt;
*JUtility::return_bytes() - See InstallerModelWarnings::return_bytes()&lt;br /&gt;
*JUtility::sendMail() - Use JFactory::getMailer()-&amp;gt;sendMail()&lt;br /&gt;
*JUtility::sendAdminMail() - Use JFactory::getMailer()-&amp;gt;sendMail()&lt;br /&gt;
*JXMLElement::data() - Provided for backward compatibility&lt;br /&gt;
*JXMLElement::getAttribute() - Provided for backward compatibility&lt;br /&gt;
&lt;br /&gt;
===Database===&lt;br /&gt;
*JTable now automatically looks up the fields from the database schema&lt;br /&gt;
*New JDatabaseQuery - A chained CRUD query builder&lt;br /&gt;
*New JDatabase::getNextRow&lt;br /&gt;
*New JDatabase::getNextObject&lt;br /&gt;
*JDatabase::loadAssocList  - Now takes a second argument to just return the value of a column&lt;br /&gt;
*JDatabase::setQuery  - Added chaining support&lt;br /&gt;
&lt;br /&gt;
====Important Schema Changes====&lt;br /&gt;
*New jos_extensions table to list all extensions&lt;br /&gt;
*Components table information moved and split between jos_extensions and jos_menu (special menu called _adminmenu)&lt;br /&gt;
&lt;br /&gt;
The old phpgacl (jos_core_acl*) and jos_groups tables have been reworked into:&lt;br /&gt;
*jos_assets&lt;br /&gt;
*jos_user_usergroup_map&lt;br /&gt;
*jos_usergroups&lt;br /&gt;
*jos_viewlevels&lt;br /&gt;
*Archived state changed from a value of -1 to +2&lt;br /&gt;
&lt;br /&gt;
===Improved MVC===&lt;br /&gt;
====Models====&lt;br /&gt;
*JModelList&lt;br /&gt;
*JModelForm&lt;br /&gt;
*JModelAdmin&lt;br /&gt;
*Format handling (eg JSON)&lt;br /&gt;
*Sub-controller handling&lt;br /&gt;
&lt;br /&gt;
====Controllers====&lt;br /&gt;
*JControllerForm&lt;br /&gt;
*JControllerAdmin&lt;br /&gt;
*JController::setMessage takes second arg to set the message type&lt;br /&gt;
*JController can set the default view&lt;br /&gt;
*Added chaining support to several JController methods&lt;br /&gt;
&lt;br /&gt;
====Views====&lt;br /&gt;
*Semantic core output&lt;br /&gt;
*Milkyway legacy layouts&lt;br /&gt;
*The old component parameters are not automatically added to the menu anymore. You need to explicitly put them in the layout XML files.&lt;br /&gt;
*The menu manager will now detect additional layouts for a given view in the default template.&lt;br /&gt;
&lt;br /&gt;
===Form API===&lt;br /&gt;
====Event manipulation====&lt;br /&gt;
*onContentPrepareForm&lt;br /&gt;
*onContentPrepareFormData&lt;br /&gt;
&lt;br /&gt;
===Translation and Language Support===&lt;br /&gt;
*Support for unicode slugs, eg, SEF URL&#039;s with Greek characters&lt;br /&gt;
*3-letter languages now supported, xxx-XX&lt;br /&gt;
*All existing language keys have been refactored&lt;br /&gt;
&lt;br /&gt;
====INI files must validate====&lt;br /&gt;
*Upper case key with no spaces, alphanumeric characters and underscores&lt;br /&gt;
*Quoted values&lt;br /&gt;
*Double quotes within literal strings must use _QQ_ in the form KEY=&amp;quot;&amp;lt;a href=&amp;quot;_QQ_&amp;quot;index.php&amp;quot;_QQ_&amp;quot;&amp;gt;Click&amp;lt;/a&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====Javascript translation layer====&lt;br /&gt;
*See the flash uploader script for an example&lt;br /&gt;
Local extension language files&lt;br /&gt;
&lt;br /&gt;
====Language file API====&lt;br /&gt;
*Pluralisation support&lt;br /&gt;
*Transliteration support for ASCII or Unicode slugs&lt;br /&gt;
*Ignore Search Words&lt;br /&gt;
*Minimum search word length&lt;br /&gt;
*Custom language overrides&lt;br /&gt;
*System language file to support administrator menu and installation (.sys.ini)&lt;br /&gt;
&lt;br /&gt;
====Language switcher====&lt;br /&gt;
*Language Filter plugin enables language switching&lt;br /&gt;
*Sets the automatic filtering via JFactory::getApplication()-&amp;gt;setLanguageFilter(true)&lt;br /&gt;
*A frontend component with language support would test JFactory::getApplication()-&amp;gt;getLanguageFilter(), which returns the selected language code from the Languages Module&lt;br /&gt;
*The language field can be a language code for a single language, or &amp;quot;*&amp;quot; to be displayed for all languages&lt;br /&gt;
*Community extension for language maintenance com_localise&lt;br /&gt;
&lt;br /&gt;
===Extension management===&lt;br /&gt;
====New installation types====&lt;br /&gt;
=====Libraries=====&lt;br /&gt;
*Must include an XML manifest where type=&amp;quot;library&amp;quot;&lt;br /&gt;
*Can only be installed into a sub-folder of /libraries/&lt;br /&gt;
*Can extend parts of an existing library, eg /libraries/joomla/database/database/oracle.php&lt;br /&gt;
&lt;br /&gt;
=====Packages multi-installer=====&lt;br /&gt;
*Must include an XML manifest where type=&amp;quot;package&amp;quot;&lt;br /&gt;
*A package is a zip of zip&#039;s&lt;br /&gt;
&lt;br /&gt;
New install script can be provided with 5 methods:&lt;br /&gt;
=====preflight=====&lt;br /&gt;
*Runs before anything is run and while the extracted files are in the uploaded temp folder&lt;br /&gt;
&lt;br /&gt;
======Could allow for:======&lt;br /&gt;
*secondary extraction of custom zip&#039;s&lt;br /&gt;
*version checks to be performed&lt;br /&gt;
*halting the installer on an error&lt;br /&gt;
&lt;br /&gt;
=====install / update=====&lt;br /&gt;
*Runs after the database scripts are executed&lt;br /&gt;
*If the extension is new, the install method is run&lt;br /&gt;
*If the extension exists then update method is run if method=&amp;quot;upgrade&amp;quot;, otherwise assumes that the extension is not meant to be upgradable&lt;br /&gt;
&lt;br /&gt;
=====postflight=====&lt;br /&gt;
*Runs after the extension is registered in the database&lt;br /&gt;
*Is not run for the uninstall process (nothing left to do obviously)&lt;br /&gt;
&lt;br /&gt;
====Discover====&lt;br /&gt;
*Does not do any file copying, only works with what it finds&lt;br /&gt;
*Performs preflight, install and postflight&lt;br /&gt;
*Developer of installer has two language files??&lt;br /&gt;
&lt;br /&gt;
====Update site====&lt;br /&gt;
*Can publish an XML manifest on your site that can include individual extensions and extension sets.&lt;br /&gt;
&lt;br /&gt;
====XML Manifest Changes====&lt;br /&gt;
*&amp;lt;install&amp;gt; is deprecated - use &amp;lt;extension&amp;gt;&lt;br /&gt;
*New &amp;lt;update&amp;gt; tag. Takes a &amp;lt;schemas&amp;gt; tag which can define &amp;lt;schemapath&amp;gt;&lt;br /&gt;
*&amp;lt;params&amp;gt; and &amp;lt;param&amp;gt; tags are deprecated, use &amp;lt;fields&amp;gt;, &amp;lt;fieldsets&amp;gt; and &amp;lt;field&amp;gt; instead&lt;br /&gt;
&lt;br /&gt;
====File changes====&lt;br /&gt;
*Installation manifest must be the same name as the extension, eg com_foobar/foobar.xml  This helps with discovery (otherwise the function has to go through all the files in the extension folder&lt;br /&gt;
*Plugins are now in folders like modules and components&lt;br /&gt;
*See SVN/tests/_data/installer_packages/ for complete examples of all extensions and manifests.&lt;br /&gt;
*The method=&amp;quot;upgrade&amp;quot; will compare individual files in the original and incoming manifests and will remove files as appropriate.  However, it will not remove differences in the &amp;lt;folder&amp;gt; tags.&lt;br /&gt;
*Future support for rollback&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
====New Events====&lt;br /&gt;
*onBeforeRender&lt;br /&gt;
*onContentBeforeDelete&lt;br /&gt;
*onContentAfterDelete&lt;br /&gt;
*onContentChangeState&lt;br /&gt;
*onContentPrepareForm&lt;br /&gt;
*onContentPrepareFormData&lt;br /&gt;
*onExtensionBeforeInstall&lt;br /&gt;
*onExtensionBeforeUpdate&lt;br /&gt;
*onExtensionBeforeUninstall&lt;br /&gt;
*onExtensionAfterInstall&lt;br /&gt;
*onExtensionAfterUpdate&lt;br /&gt;
*onExtensionAfterUninstall&lt;br /&gt;
&lt;br /&gt;
====Renamed Events====&lt;br /&gt;
*onContentAfterSave&lt;br /&gt;
*onContentAfterTitle&lt;br /&gt;
*onContentAfterDisplay&lt;br /&gt;
*onContentBeforeDisplay&lt;br /&gt;
*onContentBeforeSave&lt;br /&gt;
*onContentSearch&lt;br /&gt;
*onContentSearchAreas&lt;br /&gt;
*onUserAuthenticate&lt;br /&gt;
*onUserAfterDelete&lt;br /&gt;
*onUserAfterSave&lt;br /&gt;
*onUserBeforeDelete&lt;br /&gt;
*onUserBeforeSave&lt;br /&gt;
*onUserLogin&lt;br /&gt;
*onUserLogout&lt;br /&gt;
*All content events (except for search and search areas) now pass a &#039;context&#039; as the first argument to alert the plugin as to what type of content is being passed.  The plugin event may or may not heed this context.&lt;br /&gt;
&lt;br /&gt;
===Categories===&lt;br /&gt;
*Component can provide custom options for its own categories via optional category.xml&lt;br /&gt;
*Supported via JTableNested&lt;br /&gt;
&lt;br /&gt;
===Access Controls===&lt;br /&gt;
*A thing that can be controlled by permissions is registered in the assets table&lt;br /&gt;
*JTable handles this transparently via asset_id field&lt;br /&gt;
*For view permissions, support is as simple as adding&lt;br /&gt;
:::$user = JFactory::getUser();&lt;br /&gt;
:::$groups = implode(&#039;,&#039;, $user-&amp;gt;authorisedLevels());&lt;br /&gt;
:::$query-&amp;gt;where(&#039;a.access IN (&#039; . $groups . &#039;)&#039;);&lt;br /&gt;
&lt;br /&gt;
For action permissions, same format as in 1.5:&lt;br /&gt;
$user-&amp;gt;authorise($actionName, $assetName)&lt;br /&gt;
*OpenID library moved to plugin folder&lt;br /&gt;
*Geshi library moved to plugin folder&lt;br /&gt;
*JRegistry notes defaults to JSON (new format), dynamically converting existing data in INI format&lt;br /&gt;
*New JStream&lt;br /&gt;
*New JApplicationHelper::getComponentName&lt;br /&gt;
*Core icons moved to /media/&lt;br /&gt;
*Backward incompatible change to JEditor::display&lt;br /&gt;
*Added chaining support to JMail&lt;br /&gt;
*JFilterInput can no longer be called statically&lt;br /&gt;
*JHtml::image now supports relative paths&lt;br /&gt;
*All system images are overridable in the default template&lt;br /&gt;
*New JHtmlString&lt;br /&gt;
*Added wincache session handler for IIS&lt;br /&gt;
*New JFilterOutput::stripImages&lt;br /&gt;
*JPath::check takes second arg for separator (to pass to JPath::clean)&lt;br /&gt;
*Expanded configuration support through config.xml (multiple tabs)&lt;br /&gt;
&lt;br /&gt;
====Core actions====&lt;br /&gt;
*core.login.site&lt;br /&gt;
*core.login.admin&lt;br /&gt;
*core.admin&lt;br /&gt;
*core.manage&lt;br /&gt;
*core.create&lt;br /&gt;
*core.edit&lt;br /&gt;
*core.edit.state&lt;br /&gt;
*core.delete&lt;br /&gt;
*Miscellaneous changes&lt;br /&gt;
&lt;br /&gt;
===Debug Plugin===&lt;br /&gt;
*More tools for assisting with translation&lt;br /&gt;
&lt;br /&gt;
===Mootools 1.2/1.3===&lt;br /&gt;
*Need to use document.id instead of $&lt;br /&gt;
&lt;br /&gt;
==Cache changes ==&lt;br /&gt;
===API changes relevant to 3rd party developers===&lt;br /&gt;
====Component view cache==== &lt;br /&gt;
&lt;br /&gt;
Component view cache now takes an array of url parameters and their types to create Cacheid. This is a replacement for a previous unsafe way which took the whole URL for this and so opened the doors for DOS attacks via random url parameters added to request URL&#039;s. &lt;br /&gt;
&lt;br /&gt;
Com_contact example: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$safeurlparams = array(&lt;br /&gt;
    &#039;id&#039;=&amp;gt;&#039;INT&#039;, &lt;br /&gt;
    &#039;catid&#039;=&amp;gt;&#039;INT&#039;, &#039;limit&#039;=&amp;gt;&#039;INT&#039;, &lt;br /&gt;
    &#039;limitstart&#039;=&amp;gt;&#039;INT&#039;, &lt;br /&gt;
    &#039;filter_order&#039;=&amp;gt;&#039;CMD&#039;, &lt;br /&gt;
    &#039;filter_order_Dir&#039;=&amp;gt;&#039;CMD&#039;&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
parent::display($cachable,$safeurlparams);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Old cacheid created from URL was retained for backwards compatibility and takes effect if there are no $safeurlparams.&lt;br /&gt;
&lt;br /&gt;
====Module cache====&lt;br /&gt;
This has been completly reconceptualized. Module cache now has 5 different modes of operation, 3 of them are to be set from module XML file, while 2 are meant to be used from within the module itself. Default is backwards compatible oldstatic mode that requires no changes to a module. &lt;br /&gt;
&lt;br /&gt;
Modes to be set in XML: &lt;br /&gt;
*&#039;&#039;&#039;static&#039;&#039;&#039; - one cache file for all pages with the same module parameters &lt;br /&gt;
*&#039;&#039;&#039;oldstatic&#039;&#039;&#039; - 1.5. definition of module caching, one cache file for all pages with the same module id and user aid. Default for backwards compatibility &lt;br /&gt;
*&#039;&#039;&#039;itemid&#039;&#039;&#039; - changes on itemid change &lt;br /&gt;
&lt;br /&gt;
In addition to cache field that was required in 1.5 there is now another hidden field called cachemode that sets any of the above modes. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;field name=&amp;quot;cachemode&amp;quot; type=&amp;quot;hidden&amp;quot; label=&amp;quot;&amp;quot; default=&amp;quot;static&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;option value=&amp;quot;static&amp;quot;&amp;gt;&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modes to be called from inside the module: &lt;br /&gt;
*&#039;&#039;&#039;safeuri&#039;&#039;&#039; - id is created from $cacheparams-&amp;gt;modeparams array, the same as in component view cache &lt;br /&gt;
*&#039;&#039;&#039;id&#039;&#039;&#039; - module sets own cache id&#039;s &lt;br /&gt;
&lt;br /&gt;
To use this modes one must rename cache field in xml to owncache field and call JModuleHelper::ModuleCache from within the module&#039;s main php file. This is actually a shortcut to cache callback to avoid code duplication in every module. &lt;br /&gt;
&lt;br /&gt;
An example that uses safeuri mode and replaces uncached&lt;br /&gt;
$list = modRelatedItemsHelper::getList($params) : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$cacheparams = new stdClass; &lt;br /&gt;
$cacheparams-&amp;gt;cachemode = &#039;safeuri&#039;; &lt;br /&gt;
$cacheparams-&amp;gt;class = &#039;modRelatedItemsHelper&#039;; &lt;br /&gt;
$cacheparams-&amp;gt;method = &#039;getList&#039;; &lt;br /&gt;
$cacheparams-&amp;gt;methodparams = $params; &lt;br /&gt;
$cacheparams-&amp;gt;modeparams = array(&#039;id&#039;=&amp;gt;&#039;int&#039;,&#039;Itemid&#039;=&amp;gt;&#039;int&#039;); &lt;br /&gt;
$list = JModuleHelper::ModuleCache ($module, $params, $cacheparams);&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
====Functional changes==== &lt;br /&gt;
&#039;&#039;&#039;Cache administration (Clean cache, Purge cache) now works with all drivers&#039;&#039;&#039;, not only with file cache. &lt;br /&gt;
&#039;&#039;&#039;New standalone garbage collect script&#039;&#039;&#039; that is to be called from crontab has been added. It can be found in libraries/joomla/utilities/garbagecron.php . For safety reasons it is recommended that it is renamed to something unique.&lt;br /&gt;
&lt;br /&gt;
====CMS and framework level functional changes==== &lt;br /&gt;
&#039;&#039;&#039;Caching is implemented in all components and modules&#039;&#039;&#039; that can potentially gain from cache.&lt;br /&gt;
Caching has also been added to some most expensive and frequent framework calls JComponentHelper::_load(), JModuleHelper::_load(),JMenuSite::load(); &lt;br /&gt;
&lt;br /&gt;
====Cache library changes====&lt;br /&gt;
Cache library has been completely refactored. &lt;br /&gt;
*Cache &#039;&#039;&#039;handlers have been renamed to controllers&#039;&#039;&#039; to better reflect their role and avoid confusion with cache storage handlers (referred to as drivers in following text). &lt;br /&gt;
*&#039;&#039;&#039;New JCacheController&#039;&#039;&#039; parent class has been added and inheritance has been changed to prevent bugs occurring from controller&#039;s and storage handler&#039;s get method clashes. &lt;br /&gt;
&lt;br /&gt;
====JCache==== &lt;br /&gt;
*&#039;&#039;&#039;getAll()&#039;&#039;&#039; method was added to JCache, JCacheStorage and all drivers, and it returns all cached items (this was previously possible only with file driver and hardcoded in administration) &lt;br /&gt;
*New &#039;&#039;&#039;lock and unlock&#039;&#039;&#039; methods were added to JCache, JCacheStorage and drivers. They enable cache item locking and unlocking to prevent errors on parallel accesses and double saves. This functionally was also implemented in controllers. &lt;br /&gt;
*Workarounds are now consolidated in new &#039;&#039;&#039;JCache getWorkarounds and setWorkarounds&#039;&#039;&#039; methods, are now used by all controllers and their use has been made optional. &lt;br /&gt;
*New makeId() method in JCache that creates cache id from registered url parameters set by components and system plugins&lt;br /&gt;
&lt;br /&gt;
====JCacheController==== &lt;br /&gt;
New parent class to Controllers that also functions as an intermediate to JCache. There is no JObject inheritance as otherwise magic __call doesn&#039;t work. &lt;br /&gt;
Change was needed to prevent bugs occurring from controller&#039;s and storage handler&#039;s get method clashes. They could be renamed but this would break backwards compatibility.&lt;br /&gt;
&lt;br /&gt;
====JCacheStorage==== &lt;br /&gt;
*_getCacheId method was moved from drivers to their parent JCacheStorage and all drives now use the same method by default &lt;br /&gt;
*CacheItem was moved from cache admin to framework JCacheStorageHelper, it is used by getAll &lt;br /&gt;
*There are new cachelite and wincache drivers. All other drivers have been fixed with missing functions (gc, clean) added, their code cleaned and tested they should be now working properly. &lt;br /&gt;
*Replaced separate _expire files in filecache driver with timestamps (this should amount to cca. 40% speed gain). The same in all drivers that had this. &lt;br /&gt;
*Numerous bugfixes on all levels, most important is proper use of options defaulting to configuration parameters settings and correctly passing from level to level.&lt;br /&gt;
&lt;br /&gt;
====Other framework level changes==== &lt;br /&gt;
*Safe url parameters registration added to JControler view method. &lt;br /&gt;
*New ModuleCache method in JModuleHelper that performs the above described module cache (in 5 modes) for both, modules and module renderer. &lt;br /&gt;
*JFactory::getFeedParser has been changed to use Joomla caching instead of simplepie&#039;s.&lt;br /&gt;
&lt;br /&gt;
==Performance==&lt;br /&gt;
===Eliminate the usage of JTable for general browsing on the frontend===&lt;br /&gt;
*Session drops the usage of JTable&lt;br /&gt;
*Item views use a dedicated question, not JTable-&amp;gt;load&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
*Still Mootools 1.2. Will be upgrading to 1.3 during the beta process.&lt;br /&gt;
*Scaling issues to address&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
===Releases===&lt;br /&gt;
*Alpha 1: 22 June 2009&lt;br /&gt;
*Alpha 2: 25 October 2009&lt;br /&gt;
*Beta 1: 18 May 2010&lt;br /&gt;
*Beta 2: 31 May 2010&lt;br /&gt;
*Beta 3: 14 June 2010&lt;br /&gt;
*Beta 4: 28 June 2010&lt;br /&gt;
*Beta 5: 12 July 2010&lt;br /&gt;
*Beta 6: 26 July 2010&lt;br /&gt;
*Beta 7: 09 August 2010&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 1.6]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Archived:Joomla!_1.6_Development_Status&amp;diff=29516</id>
		<title>Archived:Joomla! 1.6 Development Status</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Archived:Joomla!_1.6_Development_Status&amp;diff=29516"/>
		<updated>2010-07-23T14:27:52Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please see [http://www.joomla.org/component/content/article/5252.html Joomla! 1.6 General Status] for the latest information or review the [http://www.joomla.org/announcements/release-news.html Release News] for the latest release and a link to the downloads.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: This page is outdated.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size: 95%; padding:4px; width: auto;&amp;quot;&lt;br /&gt;
!&#039;&#039;&#039;Task&#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Blocker&#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Status&#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Contact person&#039;&#039;&#039;&lt;br /&gt;
!&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|Implement JForm library&lt;br /&gt;
|Alpha&lt;br /&gt;
|100%&lt;br /&gt;
|Rob Schley, Andrew Eddie&lt;br /&gt;
|This library allows to create forms from XML definition files. See the introduction at http://tinyurl.com/psj6c6&lt;br /&gt;
|-&lt;br /&gt;
|Implement new event triggers&lt;br /&gt;
|Alpha&lt;br /&gt;
|60%&lt;br /&gt;
|&lt;br /&gt;
|onBeforeRender, triggers in JForm, onContentDisplay etc.&lt;br /&gt;
|-&lt;br /&gt;
|Implement new controller dispatcher&lt;br /&gt;
|Alpha&lt;br /&gt;
|100%&lt;br /&gt;
|&lt;br /&gt;
|See the discussion at http://tinyurl.com/qlh5bg where Louis explained how this works in 1.6. See related article in wiki here: [[Xml-rpc changes in Joomla! 1.6]].&lt;br /&gt;
|-&lt;br /&gt;
|Upgrade to Mootools 1.2&lt;br /&gt;
|Alpha&lt;br /&gt;
|100%&lt;br /&gt;
|Louis Landry, Ercan Özkaya&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Javascript translation&lt;br /&gt;
|Alpha&lt;br /&gt;
|100%&lt;br /&gt;
|&lt;br /&gt;
|This is implemented and finished. Take a look at JOpenID Javascript class and mod_login for details&lt;br /&gt;
|-&lt;br /&gt;
|New extension updater work&lt;br /&gt;
|Alpha&lt;br /&gt;
|100%&lt;br /&gt;
|Samuel  Moffatt&lt;br /&gt;
|New extension updater is implemented, but not finished yet.&lt;br /&gt;
|-&lt;br /&gt;
|Conversion of INI to JSON&lt;br /&gt;
|Alpha&lt;br /&gt;
|100%&lt;br /&gt;
|&lt;br /&gt;
|We now use JSON format for storing parameters in the database. This is completed for core components.&lt;br /&gt;
|-&lt;br /&gt;
|Nested categories&lt;br /&gt;
|Alpha&lt;br /&gt;
|90%&lt;br /&gt;
|Hannes Papenberg&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Access control list (ACL)&lt;br /&gt;
|Alpha&lt;br /&gt;
|80%&lt;br /&gt;
|Hannes Papenberg, Louis Landry&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|User management system&lt;br /&gt;
|Alpha&lt;br /&gt;
|75%&lt;br /&gt;
|&lt;br /&gt;
|The new com_members needs to be proof checked.&lt;br /&gt;
|-&lt;br /&gt;
|Documenting the triggers, finishing them&lt;br /&gt;
|&lt;br /&gt;
|10%&lt;br /&gt;
|Louis Landry, Rob Schley, Andrew Eddie&lt;br /&gt;
|The triggers for JForm need to be implemented in the respective extension, which has not happened yet. We need a plan for this one.&lt;br /&gt;
|-&lt;br /&gt;
|MVCing backend components&lt;br /&gt;
|&lt;br /&gt;
|90%&lt;br /&gt;
|&lt;br /&gt;
|Most of the back-end components have MVC file structure, but they are not fully MVC yet&lt;br /&gt;
|-&lt;br /&gt;
|Parameters for templates in the database&lt;br /&gt;
|&lt;br /&gt;
|100%&lt;br /&gt;
|Hannes Papenberg&lt;br /&gt;
|Especially the UI will take a lot of work, we might have to change the database for this one.&lt;br /&gt;
|-&lt;br /&gt;
|Add template parameter set to menu item creation&lt;br /&gt;
|&lt;br /&gt;
|10%&lt;br /&gt;
|Hannes Papenberg&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Refactoring parameters&lt;br /&gt;
|&lt;br /&gt;
|80%&lt;br /&gt;
|&lt;br /&gt;
|A review of the current parameters and implementing new ones for the new category system.&lt;br /&gt;
|-&lt;br /&gt;
|Comments system&lt;br /&gt;
|&lt;br /&gt;
|80%&lt;br /&gt;
|Louis Landry, Andrew Eddie, Rob Schley&lt;br /&gt;
|It will be donated by JXtended and will be added to trunk somewhere in the beta phase.&lt;br /&gt;
|-&lt;br /&gt;
|Hooks for external authentication systems&lt;br /&gt;
|&lt;br /&gt;
|0%&lt;br /&gt;
|&lt;br /&gt;
|Need to be implemented in JUser and in the code where Usergroups are managed. Maybe we need a JUsergroupclass&lt;br /&gt;
|-&lt;br /&gt;
|Database driven install log&lt;br /&gt;
|&lt;br /&gt;
|0%&lt;br /&gt;
|Samuel Moffatt&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Convert all layouts to semantic and XHTML strict&lt;br /&gt;
|&lt;br /&gt;
|0%&lt;br /&gt;
|Ron Severdia&lt;br /&gt;
|There are some efforts going on for this. See the topic at http://tinyurl.com/qrb39k&lt;br /&gt;
|-&lt;br /&gt;
|Timezones, JDate and Datetime (gregorian, julian, shamsi, hijri, jewish, buddhist, ethiopian, chinese and french calendar)&lt;br /&gt;
|&lt;br /&gt;
|0%&lt;br /&gt;
|Hannes Papenberg&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Refactoring all components to use JForm&lt;br /&gt;
|&lt;br /&gt;
|80%&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|Localising invalid token message&lt;br /&gt;
|&lt;br /&gt;
|100%&lt;br /&gt;
|&lt;br /&gt;
|die(&#039;Invalid Token&#039;) will be replaced by jexit(JText::_(&#039;JInvalid_Token&#039;))&lt;br /&gt;
|-&lt;br /&gt;
|Ability to select multiple categories for some views&lt;br /&gt;
|&lt;br /&gt;
|0%&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|New sample content&lt;br /&gt;
|&lt;br /&gt;
|80%&lt;br /&gt;
|Elin Waring&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Reformat translation files to adhere to proper INI specs&lt;br /&gt;
|&lt;br /&gt;
|75%&lt;br /&gt;
|Ole Ottosen, JM Simonet&lt;br /&gt;
|In 1.6 we will use PHP&#039;s own INI parser and will namespace strings. For example &amp;quot;Weblinks_Category_Fieldname&amp;quot; or &amp;quot;Config_Application_Name&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|Migration script from 1.5 to 1.6&lt;br /&gt;
|&lt;br /&gt;
|0%&lt;br /&gt;
|oc666&lt;br /&gt;
|[[Migration script from 1.5 to 1.6]]&lt;br /&gt;
|-&lt;br /&gt;
|Add module assignment to menu items creation&lt;br /&gt;
|&lt;br /&gt;
|100%&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Ability to load additional layouts with a template&lt;br /&gt;
|&lt;br /&gt;
|0%&lt;br /&gt;
|Hannes Papenberg&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Language switcher frontend]]&lt;br /&gt;
|&lt;br /&gt;
|0%&lt;br /&gt;
|Christophe Demko&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Development Working Group]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Why_was_Joomla_1.5.20_released_so_quickly%3F&amp;diff=29478</id>
		<title>Why was Joomla 1.5.20 released so quickly?</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Why_was_Joomla_1.5.20_released_so_quickly%3F&amp;diff=29478"/>
		<updated>2010-07-18T14:19:11Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: New page: Version 1.5.20 has no new changes from Version 1.5.19. It was released because there were packaging problems with Version 1.5.19. Look at the FAQ&amp;#039;s for both versions.  [[Category:Version  ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Version 1.5.20 has no new changes from Version 1.5.19. It was released because there were packaging problems with Version 1.5.19. Look at the FAQ&#039;s for both versions.&lt;br /&gt;
&lt;br /&gt;
[[Category:Version  1.5.19 FAQ]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Version  1.5.20 FAQ]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Category:Version_1.5.19_FAQ&amp;diff=29477</id>
		<title>Category:Version 1.5.19 FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Category:Version_1.5.19_FAQ&amp;diff=29477"/>
		<updated>2010-07-18T14:03:57Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These FAQs are specific to the Joomla 1.5.19 release. Only issues that are specific to this release will be listed here, together with suggested resolutions. Please add information to this resource. The Joomla Bug Squad will watch over this page to ensure any new bugs are added to the tracker and resolved. Continue to use the Joomla forums for support requests as this is not a substitute for posting there, but rather a common location for the community to gather release issues.&lt;br /&gt;
&lt;br /&gt;
See [http://docs.joomla.org/Category:Version_1.5.20_FAQ Version 1.5.20 FAQ] for more information. 1.5.20 is a re-release of 1.5.19 which had packaging problems.&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 1.5 FAQ]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Category:Version_1.5.19_FAQ&amp;diff=29476</id>
		<title>Category:Version 1.5.19 FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Category:Version_1.5.19_FAQ&amp;diff=29476"/>
		<updated>2010-07-18T14:03:35Z</updated>

		<summary type="html">&lt;p&gt;AmyStephen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These FAQs are specific to the Joomla 1.5.19 release. Only issues that are specific to this release will be listed here, together with suggested resolutions. Please add information to this resource. The Joomla Bug Squad will watch over this page to ensure any new bugs are added to the tracker and resolved. Continue to use the Joomla forums for support requests as this is not a substitute for posting there, but rather a common location for the community to gather release issues.&lt;br /&gt;
&lt;br /&gt;
See [[http://docs.joomla.org/Category:Version_1.5.20_FAQ Version 1.5.20 FAQ]] for more information. 1.5.20 is a re-release of 1.5.19 which had packaging problems.&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 1.5 FAQ]]&lt;/div&gt;</summary>
		<author><name>AmyStephen</name></author>
	</entry>
</feed>