Plone (software)

Last updated
Plone
Developer(s) 456 Worldwide Current Contributors
Stable release
6.0.6 [1]   OOjs UI icon edit-ltr-progressive.svg / 27 June 2023;3 months ago (27 June 2023)
Operating system Cross-platform
Platform Zope
Type Content management system
License GNU General Public License
Website plone.org

Plone is a free and open source content management system (CMS) built on top of the Zope application server. Plone is positioned as an enterprise CMS and is commonly used for intranets and as part of the web presence of large organizations. High-profile public sector users include the U.S. Federal Bureau of Investigation, Brazilian Government, United Nations, City of Bern (Switzerland), New South Wales Government (Australia), and European Environment Agency. [2] Plone's proponents cite its security track record [3] and its accessibility [4] as reasons to choose Plone.

Contents

Plone has a long tradition of development happening in so-called "sprints", in-person meetings of developers over the course of several days, the first having been held in 2003 [5] and nine taking place in 2014. The largest sprint of the year is the sprint immediately following the annual conference. Certain other sprints are considered strategic so are funded directly by the Plone Foundation, [6] although very few attendees are sponsored directly. The Plone Foundation also holds and enforces all copyrights and trademarks in Plone, and is assisted by legal counsel from the Software Freedom Law Center. [7]

History

The Plone project began in 1999 by Alexander Limi, Alan Runyan, and Vidar Andersen. It was made as a usability layer on top of the Zope Content Management Framework. The first version was released in 2001. The project quickly grew into a community, receiving plenty of new add-on products from its users. The increase in community led to the creation of the annual Plone conference in 2003, which is still running today. In addition, "sprints" are held, where groups of developers meet to work on Plone, ranging from a couple of days to a week. In March 2004, Plone 2.0 was released. This release brought more customizable features to Plone, and enhanced the add-on functions. In May 2004, the Plone Foundation was created for the development, marketing, and protection of Plone. The Foundation has ownership rights over the Plone codebase, trademarks, and domain names. Even though the foundation was set up to protect ownership rights, Plone remains open source. [8] On March 12, 2007, Plone 3 was released. This new release brought inline editing, an upgraded visual editor, and strengthened security, among many other enhancements. [9] Plone 4 was released in September 2010. [10] There are over 450 developers contributing to Plone's code. Plone won two Packt Open Source CMS Awards. [11]

Release history

VersionRelease dateDevelopment time (days)Notes and significant changes
0.1October 4, 2001Initial public release
1.0February 6, 2003490First stable release
2.0March 23, 2004411
2.1September 6, 2005532
2.5September 19, 2006378
3.0August 21, 2007336
3.1May 2, 2008255
3.2February 7, 2009281
3.3August 19, 2009193
4.0September 1, 2010378Infrastructure improvements increasing performance and reducing resource use, new base theme, more efficient blob storage, overlays, fit and polish.
4.1August 8, 2011341Configuration registry, improved commenting system, more versatile caching, more detailed security roles.
4.2July 5, 2012332Diazo theming system, HTML5, Python 2.7, improved collections, improved search.
4.3April 13, 2013282Dexterity Content Type development system, Kupu removal, KSS removed, Password API, Improved Syndication, NewsML, TTW Theme Editor
5.0September 28, 2015898Simpler, faster Dexterity as the new default content type framework. Theming is made easier with Diazo. The Chameleon rendering engine improves response times by 15 to 30 percent. A modern series of form widgets have been created with usability and accessibility in mind.
5.1May 1, 2018946Release notes [12]
5.2July 19, 2019444Python 3 support, Inclusion of plone.restapi and more. [13]
6.0December 12, 20221242Headless CMS with React frontend. [14]

Design

Plone runs on the Zope application server, which is written in Python. Plone by default stores all information in Zope's built-in transactional object database (ZODB). It comes with installers for Windows, macOS, and Linux, along with other operating systems. New updates are released regularly on Plone's website. Plone is available in over 50 languages. It complies with WCAG 2.0 AA and U.S. section 508, [15] [16] [17] which allows people with disabilities to access and use Plone. A major part of Plone is its use of skins and themes. Plone's Diazo theming engine can be used to customize a website's look. These themes are written with JavaScript, HTML, XSLT, and Cascading Style Sheets. In addition, Plone comes with a user management system called Pluggable Authentication Service (PAS). PAS is used to search for users and groups in Plone. Most importantly, PAS covers the security involved for users and groups, requiring authentication in order to log into Plone. This gives users an increase in both security and organization with their content. [18] A large part of Plone's changes have come from its community. Since Plone is open source, the members of the Plone community regularly make alterations or add-ons to Plone's interface, and make these changes available to the rest of the community via Plone's website.

The name Plone comes from a band by that name and "Plone should look and feel like the band sounds". [19]

Languages

Plone is built on the Zope application framework and therefore is primarily written in Python but also contains large amounts of HTML and CSS, as well as JavaScript. [20] Plone uses jQuery as its Javascript framework [21] in current versions, after abandoning a declarative framework for progressive enhancement called KSS. [22] Plone uses an XML dialect called ZCML for configuration, as well as an XML based templating language, meaning approximately 10% of the total source code is XML based. [20]

Add-on products

The community supports and distributes thousands of add-ons via company websites but mostly through PYPI and www.plone.org. There are currently 2149 packages available via PyPI for customizing Plone. [23]

Since its release, many of Plone's updates and add-ons have come from its community. Events called Plone "sprints" consist of members of the community coming together for a week and helping improve Plone. The Plone conference is also attended and supported by the members of the Plone community. In addition, Plone has an active IRC channel to give support to users who have questions or concerns. Up through 2007, there have been over one million downloads of Plone. Plone's development team has also been ranked in the top 2% of the largest open source communities.

Strengths and weaknesses

A 2007 comparison of CMSes rated Plone highly in a number of categories (standards conformance, access control, internationalization, aggregation, user-generated content, micro-applications, active user groups and value). [24] However, as most of the major CMSes, including Plone, Drupal, WordPress and Joomla, have undergone major development since then, only limited value can be drawn from this comparison. Plone is available on many different operating systems, due to its use of platform-independent underlying technologies such as Python and Zope. Plone's Web-based administrative interface is optimized for standards, allowing it to work with most common web browsers, and uses additional accessibility standards to help users who have disabilities. All of Plone's features are customizable, and free add-ons are available from the Plone website.

Focus on security

Mitre is a not-for-profit corporation which hosts the Common Vulnerabilities and Exposures (CVE) Database. The CVE database provides a worldwide reporting mechanism for developers and the industry and is a source feed into the U.S. National Vulnerability Database (NVD). [25] According to Mitre, Plone has the lowest number of reported lifetime and year to date vulnerabilities when compared to other popular Content Management Systems. This security record has led to widespread adoption of Plone by government and non-governmental organizations, including the FBI. [2]

The following table compares the number of CVEs as reported by Mitre. Logged CVEs take into account vulnerabilities exposed in the core product as well as the modules of the software, of which, the included modules may be provided by 3rd party vendors and not the primary software provider.

Comparison of Common Vulnerabilities and Exposures
CMS First releasedCVEs
Plone200389 [26]
Joomla20051230 [27]
Wordpress20032629 [28]
Drupal20011074 [29]

See also

Related Research Articles

Zope is a family of free and open-source web application servers written in Python, and their associated online community. Zope stands for "Z Object Publishing Environment", and was the first system using the now common object publishing methodology for the Web. Zope has been called a Python killer app, an application that helped put Python in the spotlight.

<span class="mw-page-title-main">Drupal</span> Web content management system

Drupal is a free and open-source web content management system (CMS) written in PHP and distributed under the GNU General Public License. Drupal provides an open-source back-end framework for at least 14% of the top 10,000 websites worldwide and 1.2% of the top 10 million websites—ranging from personal blogs to corporate, political, and government sites. Systems also use Drupal for knowledge management and for business collaboration.

<span class="mw-page-title-main">Midgard (software)</span>

Midgard is an open source persistent storage framework. It provides an object-oriented and replicated environment for building data-intensive applications.

Mambo was a free software/open source content management system (CMS) for creating and managing websites through a simple web interface. Its last release was in 2008, by which time all of the developers had left for forks of the project, mainly Joomla and MiaCMS.

<span class="mw-page-title-main">XOOPS</span> Content management system software

XOOPS is a free open-source content management system (CMS), written in PHP. It uses a modular architecture allowing users to customize, update and theme their websites. XOOPS is released under the terms of the GNU General Public License (GPL) and is free to use, modify and redistribute.

A web content management system is a software content management system (CMS) specifically for web content. It provides website authoring, collaboration, and administration tools that help users with little knowledge of web programming languages or markup languages create and manage website content. A WCMS provides the foundation for collaboration, providing users the ability to manage documents and output for multiple author editing and participation. Most systems use a content repository or a database to store page content, metadata, and other information assets the system needs.

<span class="mw-page-title-main">Joomla</span> Free and open-source web content management system

Joomla, also spelled Joomla! and sometimes abbreviated as J!, is a free and open-source content management system (CMS) for publishing web content on websites. Web content applications include discussion forums, photo galleries, e-Commerce and user communities and numerous other web-based applications. Joomla is developed by a community of volunteers supported with the legal, organisational and financial resources of Open Source Matters, Inc.

Kupu was a 'document-centric' open source client-side editor for Mozilla, Netscape and Internet Explorer. Inspired by Maik Jablonski's Epoz editor, it was written by Paul Everitt, Guido Wesdorp and Philipp von Weitershausen to improve the JavaScript code and architecture, pluggability, standards support, support for other webservers than Zope, configurability and a lot of other issues.

The Common Vulnerabilities and Exposures (CVE) system provides a reference method for publicly known information-security vulnerabilities and exposures. The United States' National Cybersecurity FFRDC, operated by The MITRE Corporation, maintains the system, with funding from the US National Cyber Security Division of the US Department of Homeland Security. The system was officially launched for the public in September 1999.

Monkey patching is a technique used to dynamically update the behavior of a piece of code at run-time. A monkey patch is a way to extend or modify the runtime code of dynamic languages without altering the original source code.

Cyn.in is an open-source enterprise collaborative software built on top of Plone a content management system written in the Python programming language which is a layer above Zope. Cyn.in is developed by Cynapse a company founded by Apurva Roy Choudhury and Dhiraj Gupta which is based in India. Cyn.in enables its users to store, retrieve and organize files and rich content in a collaborative, multiuser environment.

<span class="mw-page-title-main">Plumi</span> Video sharing content management system

Plumi is a free software video-sharing content management system developed based on the open-source content management system Plone. Plumi allows users to create a video-sharing website by adding it to an existing Plone instance. The software includes various functions to facilitate video distribution and community creation.

Nuxeo is a software company making an open source content management system.

Buildout is an open-source software build tool. Buildout is created using the Python programming language. It implements a principle of separation of configuration from the scripts that do the setting up. Buildout is primarily used to download and set up dependencies in Python eggs format of the software being developed or deployed. Recipes for build tasks in any environment can be created, and many are already available.

ParTecs, Participatory Technologies, was an international software company specialized in Open Source Software and Free Software solutions based in Rome, Italy.

Pylons Project is an open-source organization that develops a set of web application technologies written in Python. Initially the project was a single web framework called Pylons, but after the merger with the repoze.bfg framework under the new name Pyramid, the Pylons Project now consists of multiple related web application technologies.

References

  1. "Plone 6.0.6 release notes - released June 27th, 2023". 27 June 2023. Retrieved 10 August 2023.
  2. 1 2 "Gov 2.0 guide to Plone". Govfresh.com. 2011-03-11. Archived from the original on 2017-12-19. Retrieved 2012-10-18.
  3. "Is Plone Really More Secure Than Drupal and Joomla?". Real Story Group. 2013-02-11. Retrieved 2015-01-02.
  4. "Plone - The Open Source Enterprise CMS". Six Feet Up. Archived from the original on 2017-06-21. Retrieved 2015-01-02.
  5. "All sprints". Plone. Archived from the original on 2015-01-02. Retrieved 2015-01-02.
  6. "Bring Your Talent and Passion to a Sprint. Better Yet, Organize One!". Plone. 2013-04-02. Archived from the original on 2015-01-02. Retrieved 2015-01-02.
  7. "Software Freedom Law Center Adds Plone Foundation as Newest Client". Software Freedom Law Center. 2005-07-13. Retrieved 2015-01-02.
  8. "Plone Foundation FAQs — Plone CMS: Open Source Content Management". Plone.org. 2009-01-03. Retrieved 2012-10-18.
  9. "Plone 3.0 released! — Plone CMS: Open Source Content Management". Plone.org. 2007-08-21. Archived from the original on 2012-03-09. Retrieved 2012-10-18.
  10. "Plone 4 CMS Unveiled: Advancing Power, Performance & User Experience — Plone CMS:- Open Source Content Management". Plone.org. Archived from the original on 2012-03-09. Retrieved 2012-10-18.
  11. "Open Source Awards Previous Winners | Packt Publishing". Packtpub.com. Archived from the original on 2009-07-07. Retrieved 2012-10-18.
  12. "https://plone.org/download/releases/5.1". plone.org. Retrieved 2023-09-30.{{cite web}}: External link in |title= (help)
  13. "https://plone.org/download/releases/5.2". plone.org. Retrieved 2023-09-30.{{cite web}}: External link in |title= (help)
  14. https://plone.org/download/releases/6.0
  15. Plone: Features in Plone 3.
  16. Alex Limi: Accessibility Compliant.
  17. Plone (features in Plone 4.0).
  18. "The Definitive Guide to Plone - First Edition - 12 December 2006" (PDF). Plone.org. Archived from the original (PDF) on 21 May 2009. Retrieved 2012-10-18.
  19. "What does Plone mean? How is it pronounced? — Plone CMS: Open Source Content Management". Plone.org. Archived from the original on 2012-10-19. Retrieved 2012-10-18.
  20. 1 2 Ohloh. "Plone : Project Summary". Ohloh. Retrieved 2012-10-18.
  21. "Plone documentation" . Retrieved 2015-01-02.
  22. "Kinetic Style Sheets" . Retrieved 2015-02-01.
  23. "Browse : Python Package Index". Pypi.python.org. Retrieved 2012-10-18.
  24. "Feature Article | Real Story Group". Cmswatch.com. 2007-06-11. Archived from the original on 2009-09-25. Retrieved 2012-10-18.
  25. "Mitre FAQ". Mitre. 2015-12-10. Retrieved 2016-01-17.
  26. "Mitre CVE Database for Plone". Mitre. Retrieved 2020-09-02.
  27. "Mitre CVE Database for Joomla". Mitre. Retrieved 2020-09-02.
  28. "Mitre CVE Database for Wordpress". Mitre. Retrieved 2020-09-02.
  29. "Mitre CVE Database for Drupal". Mitre. Retrieved 2020-09-02.