This document will guide you through necessary steps for keeping your Cotonti website up2date. It makes a presumption that you have got some experience running a website and using popular tools such as phpMyAdmin, FTP, etc.
It is considered as a good habit if you backup your site files and database before making any major updates to it.
Keeping your Cotonti Siena up to date
Most of updates within Siena branch (0.9.x) are automated. So, if you run a Siena website and there are some updates available for the core, modules or plugins, just follow the steps described below.
Copy the updated files into your site's tree. Overwrite existing files with updated ones.
If you have removed install.php from the root folder after previous installation/update, then restore it there. If you are updating the entire Cotonti package and not just a particular module/plugin, then make your datas/config.php writable by PHP (usually means setting CHMOD 666 or CHMOD 664 on it).
The script will automatically merge changes in config.php, check for SQL patches and update them, check for updates in all installed modules and plugins and apply them if available. If any errors occur, they will be shown on red background. Normal update log is shown on green background. Please ask for support on forums if you encounter errors during update.
After update is finished successfully, you may remove install.php until next update and revoke write access on datas/config.php (CHMOD 644).
Note for extension developers: the update script detects changes in modules and plugins by comparing their version number to version number present in the database. It does not compare actual files or search for patches. So if you update setup of your extension (configuration, default permissions, etc.), change hooks or extension parts, add PHP or SQL patches, then don't forget to increase the version number in extension's setup file for the update script to know that there is some work for it.
Upgrading from Cotonti Genoa
It is possible to upgrade existing Genoa site to Siena. Configuration and database will be converted automatically. And so will be modules and plugins which have been updated for Siena too. Old Genoa and Seditio plugins will be disabled upon upgrade, because they will either require porting to Siena or enabling a special compatibility plugin first.
Make sure you have updated your site to latest Genoa before upgrading it from Genoa to Siena. Otherwise upgrade may fail.
Follow these steps to upgrade your site from Genoa to Siena:
Backup site files and database. This is strongly recommended. If anything goes wrong, you will be able to restore your site from a backup.
Copy Siena files and paste them on top of your existing Genoa tree. Overwrite old files.
After that the site will be converted to Siena. It may take some time depending on how much data your site has. If any errors occur, they will be shown on red background. Normal update log is shown on green background. Please ask for support on forums if you encounter errors during upgrade.
When upgrade is finished successfully, you may remove install.php until next update and revoke write access on datas/config.php (CHMOD 644).
Your site's theme will be switched to Nemesis, the development/fallback theme of Siena. This is because skins are now called themes, they are located in a different folder and you'll need to modify your Genoa skin into Siena theme to use it on site.
Plugins which have not been ported to Siena are disabled upon upgrade. Then if a plugin gets a Siena port, then you can update its files and install it again in Administration => Extensions. If your site depends on Genoa plugins heavily, you can enable partial backwards compatibility by installing Genoa plugin in Administration => Extensions. After that you will be able to install and run Genoa plugins. Their proper functioning is not guaranteed although Cotonti will do its best to provide old APIs to them. It has a performance downside, so use it only as a temporary measure until all necessary plugins are ported to Siena.
Porting Genoa skins and plugins to Siena is beyond the scope of this guide, please refer to specific articles on these topics.
Probably you will need to configure parsers and editors for your site. Read an article about it.
Upgrading from Seditio
Upgrading Seditio to Cotonti Genoa is required first if you want to upgrade a Seditio site to latest Cotonti. This is how you can upgrade Seditio to Cotonti Genoa:
First make sure your Seditio site uses v126 or v130, upgrading from earlier versions is not supported.
Then make sure your Seditio database is converted to UTF-8 character set. Check Seditio documentation or search the web if you need help with it.
Unpack latest Cotonti Genoa files and overwrite Seditio files with them.
Open phpMyAdmin and apply SQL patches in sql folder in the following order:
and so on in ascending order of version numbers in patch-A.B.C-D.E.F.sql
Copy sql/patch-0.6.txt to patch.php in the site root. Run it in a browser window, e.g. http://example.com/patch.php. After that remove patch.php.
Open datas/config-sample.php and datas/config.php, merge necessary changes from config-sample.php to config.php.
After upgrading your site to Genoa and testing it, you will be able to upgrade it to Siena as described in previous chapter.