The content management system (CMS), Plone, first appeared in 2002 and is built with the programming language, Python. Plone is based on the Python-based web application server, Zope, and its content management framework (CMF). By using the external framework archetype from Zope, users are able to easily develop extensions for both Plone and Zope. On GitHub, there are hundreds of user-generated applications that are published under the project name, ‘Plone Collective’. These programs add useful features, like blogs or image galleries, to the CMS’s repertoire.
Plone CMS: accessibility and Zope page templates
Zope and its CMF help facilitate creating further developments for the CMS, Plone. Its custom web server, Zserver, which is a variation of the server, Medusa, also belongs to the range of Zope’s features along with the object data base, ZODB (Zope Object Database). The latter’s function is to permanently store all dynamically changeable content and map it hierarchically. This can only be done provided that this content doesn’t come from an external database.
In addition to Python, Zope also uses its own template attribute language (TAL), which allows so-called Zope Page Templates to be generated. Here, HTML/XML-tags already present on active sites can be provided with additional attributes without having an effect on performance. Most conventional CMSs often run into difficulties when active tags on running sites are edited. This can cause erroneous code to be generated, affecting the use of HTML tools, like WYSIWYG editors. The result of this simple advantage is that ZOPE page templates greatly simplify cooperation between developers and designers (or editors).
One special feature that sets Plone apart from the other free CMSs is its focus on web accessibility. This makes it a particularly attractive option for any business or institutions, public or private. The following Plone features help in this regard:
- Social media integration: easily incorporate Facebook snippets and Twitter Cards
- Batch processing of content: simultaneously upload multiple files and allocate keywords to multiple articles
- Support multiple languages: user interface is translated into multiple languages; multilingual sites with translation tools are also integrated
- High security: automatic protection from CSRF attacks (web application commands hidden by the attacker) that also covers extensions that have already been installed; thanks to NoSQL databases, resistant to SQL injections
- Valid XHTML: undesired HTML tags and attributes are automatically removed prior to saving
- Complex organizational structures: users and groups can easily be assigned access rights; each user can belong to multiple groups
- Protected content: version management of all content and meta data, including the ability to block items from being processed by multiple users; notes on existing links when articles are deleted
- Internal search engines: allows users to find specific content in a quick and targeted manner
Plone SEO and other useful extensions
There’s a range of useful apps, plugins, and Plone templates available under Plone Collective, which is located on the developer platform, GitHub. These, along with the latest version of Plone, can also be found in the ‘downloads’ section of Plone’s official site.
Quinitagroup’s Plone SEO tool, is virtually indispensable when it comes to adding important search engine optimization options (SEO) to the CMS. While Plone automatically generates both title and description tags, with SEO extensions, these tags can be edited so that they’re automatically tailored to their respective targets. What’s more, users are also informed about stop words as well as the length of their tags. Using the following add-ons also proves useful:
- icalendar: allows the use of iCalendar files with Python
- plonetheme.bootstrap: integrate the layout framework Bootstrap into Plone
- collective.taxonomy: create, edit, and use a taxonomy
- collective.slideshow: easily set up and manage slideshows
- pcommerce.core: implements e-commerce elements in Plone
Plone: a reliable CMS for businesses
Thanks to its wide range of functions (supplemented by extensions), Plone gives developers and editors alike everything that’s needed in a modern CMS. From blogs and e-commerce platforms to company websites, Plone’s approach to tackling content makes ambitious tasks seem less insurmountable. Public institutions, like schools, universities, or local government facilities, particularly benefit from this approach’s inclination towards web accessibility.
Using Plone requires web servers with console access. Additionally, you also need to be able to execute background processes and insert individual IP ports onto these servers, a requirement for the application server, Zope. The software and hardware requirements are:
- Windows XP or higher
- Mac OS X 10.4.x or higher
- Linux 2.6.x or higher
- Python 2.7
- At least 256 MB RAM as well as additional working memory for swap files (512 MB); recommended: 512 MB Ram plus additional storage
- At least 512 MB storage; recommended: 2 GB
Sites like demo.plone provide Plone test pages. These allow users to test standard features as administrators, authors, or editors.