Plone 3 has been released now for some time. If you are still using an older version then you should consider upgrading.
What is a Plone upgrade?
Plone (http://plone.org/) is an open-source Content Management System (CMS) developed and supported by a not-for-profit foundation. Like any other professional software, it is constantly being upgraded for many reasons including fixing bugs, patching security vulnerabilities, adding new features, improving speed and making use of new web technology.
The current stable release of Plone is Plone 3.2.2 (May 2009)
A new major version is usually released about every 12 months (e.g. Plone 2, Plone 3, Plone 4) and minor releases (e.g. 2.5, 2.6, 2.7) are released every month or so. An minor release upgrade usually only provides minor changes and is aimed at fixing bugs and improving security. It is usually a simple task taking only a few hours and minor releases will generally require no programming.
Major version upgrades say from Plone 2 to Plone 3 require more significant work. These upgrades introduce significant new functionality and improvements and often require specific programming work to ensure that your site functions properly after the upgrade. Often new programming standards are introduced in the major upgrades to ensure that the quality of the system is constantly improving.
When you choose to use open-source software you are making a decision to take advantage of a system that is provide for free, but without warranty. Often the use of open-source software vastly reduces the upfront cost of a project by eliminating license fees. But open-source software is not totally free of costs and it is very important that you upgrade your software regularly.
There are many reasons to upgrade.
- Stability – over time, bugs, possible optimisations and vulnerabilities are discovered and the software developers are constantly improving the code base. If you do not upgrade then you run the risk of experiencing problems or even having your site hacked.
- Compatibility – over time web browsers and computers change and code that was stable or suitable for say Internet Explorer 7, may not work on Internet Explorer 8. So you need to upgrade to ensure that all new viewers are experiencing your site as it is intended.
- Functionality – probably the most obvious reason for upgrading is the availability of new features. New editing tools, new content types, more configuration options are always being added and these are often the items that will make the upgrade very rewarding.
- Support – it is also important to keep your code updated as it makes it easier and ultimately cheaper to support. As coding standards change and newer ways of doing things are introduced, it becomes more and more problematic for us to support older software. This results in extra hours spent on the work. In many cases this expense is quite tangible e.g. Plone 3 supports user editable portlets but Plone 2 does not, if you require such functionality and you have Plone 3 then we can turn the feature on almost instantly but for a Plone 2 client it involves 3-4h programming.
- Add-on Products – Part of the benefit of Plone is that not only is the core software an excellent CMS but there is a large range of hundreds of add-on products that increase the functionality. These products are also maintained by open-source communities and they are also being upgraded in line with Plone upgrades. So, once a new version of Plone is released, work usually ceases on add-ons for the old version and commences on the new version. This means that over time you will find less and less addon options available for old versions of Plone.
This is a hard one to answer generally and we really need to quote on each project individually.
Minor “point release” upgrades are very simple, for instance upgrading from Plone 2.5.1 to Plone 2.5.2 is so simple we probably did it for you for free. We often simply slip these upgrades in any time you are for a little work done on the site.
Minor releases, say from Plone 3.1 to 3.2, are slightly harder and usually take about 3-4h work, we generally don’t do these for free but would aim to do them in conjunction with other work. These upgrades rarely provide much extra functionality but are often pretty important in terms of security and bug fixes.
Major upgrades say from Plone 2.x to 3.x are more difficult. Such an upgrade could range from about 2-10 days work depending on how your site was first built. The more your site was customised the more difficult the upgrade.
Also, there are usually two ways to upgrade being the “quick way” and the “right way”.
- The quick way involves upgrading the core software but leaving all the old customisations and skins. This usually results in a diluted benefit because although you are running the latest version, the old customisations and skinning usually clash with or preclude some of the new features.
- The right way involves us reworking the original customisations to ensure that they comply with the new coding standards and implement all the new features. An example of this may be how portlets on the home page behave in the Plone 2 to Plone 3 upgrade. If we leave all your old Plone 2 portlets in place you will not be able to edit them or move them around as Plone 3 now allows. They will look the same but lack the new functionality.
It is often very wise to time your upgrades in the context of your website project agenda.
For instance, if you are intending to give your site a new look or refresh it makes no sense at all to do so on Plone 2 then upgrade to Plone 3 shortly afterwards. This will result in a large duplication of work and significant extra costs. It would be most sensible to do the two tasks at the same time because much of the upgrade work involves editing all the skins and styles anyway so we might as well be doing the job once.
Similarly if you wish to introduce a new add-on product to your site such as a blog, or forum, or podcast, it is very wise to do this after upgrading because it means we can install the latest versions of products. In some cases there are no options for the old version, for instance at the time of writing this there are no longer any Plone 2 based forum products that are actively supported and if you want a forum you will have to upgrade to Plone 3.
Generally the rule is to always bring your site up to the latest version of Plone prior to, or at the same time as, doing any significant work on it. When planning, you should budget for a major upgrade approximately every 12 months and minor upgrades more often than that.
The best list of Plone 3 features can be found at http://plone.org/products/plone/features/3.0
The main ones would be:
- Versioning, history and reverting content – this a a major bonus, particularly if you have multiple editors (or make mistakes!)
- Automatic locking and unlocking – this feature ensures that no two editors modify the same content at the same time
- Inline editing – this helps achieve very fast small edits by allowing you to click directly on any editable content and edit immediately.
- Easy collaboration and sharing – much simplified permission system making it easier to setup private content areas and share editing rights with other members.
- Easy user management – much improved user management tools
- Google Analytics integration – built in tools for Google analytics code and Google search engine site-maps making it much easier to get higher rankings in Google.
- Auto-generated table of contents – long pages with many headings can have an auto generated table of contents turned on to provide a table at the top of the page with links down to headings.
- Full text indexing of word and PDF documents now built in (used to be an add-on product and painful to install)
- Ability for editors to add/edit and move portlets around the site
- Built in Wiki support
In addition to the main features of Plone there are now may advanced add-on products that are only available in Plone 3. In most cases these are now just simple installations that can be done at the same time as the upgrade.
- Discussion Forums
- Podcasting (Audio and Video)
- Google Map integration on all content types
- User manageable forms such as feedback or contact forms
- Advanced Caching (for high load sites)
- RSS syndication out and inwards