When new versions of TYPO3 arrive, you should always follow any additional the upgrade information carefully. You might also need to skim the included changelog to see if any features affects the way your site works (look for lines prepended with “!!!” - those are the really important!)
Basically these steps are involved in updating your TYPO3 site:
Make a backup of both uploads/ folder and database. Also you may prefer to upgrade a copy of your site first if there has been a lot of changes and some of them seems to interfere with your site. See the changelog.
Upgrade the distributed source files to the new version.
.tgz:
If you're using the source-distribution in the .tgz file, please see right above where details on symlinking is explained.
.zip:
If you're using the .zip distribution, then replace these files and folders in the site root:
media/, t3lib/, tslib/, typo3/, index.php and showpic.php
Enter the Install Tool at '.../typo3/install/' on your Typo Site.
(If you have password/access problems, please see the section about the Install Tool later in this document).
Go to the “Database Analyser” section, check that the database configuration is correct (above).
Then click “COMPARE” at the “Update required tables” header:
Now all tables.sql files from core and extensions are read and compared to your current database tables and fields. Any discrepancies will be shown and you'll be able to execute queries sufficient to upgrade you database so it corresponds to the structure required for the new TYPO3 version.
Notice: Be aware if you have deliberately added fields and/or tables to your TYPO3 database for your own purposes! Those tables and fields are removed only if you mark them to be deleted of course, but please be alert that you don't overlook them!
Remove unused fields (and tables) if you wish and click “Write to database”
On the next screen you'll see that all add and changed fields are done properly since they don't show up again. However the fields and tables we chose to drop were renamed first. Now you can consider to let them be and delete them lateron when you're sure you're not going to need them. Or you can just go on drop them finally.
Finally, you should see this:
You may have added your own fields to the database tables or you may have added tables on your own. Don't delete those (of course)!
If you're smart, you name user defined tables and fields prefixed “user_”. Then they'll show up with a little warning icon, so you can easier distinguish them from fields and tables which should be dropped.
Tables that are defined in extensions will automatically be managed and you don't have to care about them. They are respected fully.
The table 'static_template' (and some other “static_” tables) contains information that you should never alter yourself. The point is that this tables contains static information distributed with TYPO3 releases. Follow these steps to upgrade the table with the newest information.
Go to the “Database Analyser” section.
Then click “IMPORT” at the “Dump statis data” header:
Then tick the checkbox “Import the whole file...” and click “Write to database”:
... and you should see (something like) this without errors:
You should always clear the cache-tables.
You might also consider clearing the backend user preferences if something in the upgrade requires this. Everything can be done from the Install Tool.
(This examples shows how to clear the 'uc' field of all users in be_users table.)
In typo3conf/ you will most likely find cached files for ext_localconf.php and ext_tables.php files from extensions. These must be removed as well.
So all files in typo3conf/ directory which is named “temp_CACHED_*_ext_localconf.php” or “temp_CACHED_*_ext_tables.php” must be removed!
An easy way to clear these files are pressing this link in the backend when logged in as admin user:
However, if you see more than two of these “temp_CACHED_” files in typo3conf/ only two of them will be remove by this method and you must remove the rest with either the superadmin.php script, “extdeveval” extension or manually!
Look through the changelog. It's a good place to get an idea about new functions you might need or be interested in.
Especially pay attention to the lines starting with “!!!”. They are important because they are about changes that may affect some websites.
The changelog is found in the root of the source distribution or it is for download with the source-achives.