Skip to main content

The Plone Content Management System (core)

Project description

About Plone
===========

Plone is a mature, secure and user-friendly Content Management System (CMS).

Plone - and it's OpenSource community behind - aggregates more than 15 years experience in content-management.
It offers all major features expected by a modern CMS out-of-the-box.

Lots of customizations can be made trough-the-web, such as creating content-types, themes, workflows and much more.
Pushed one step further Plone can be used as a framework to build custom CMS-like solutions on.

Plone works as a

- full-featured classical backend renderend CMS,
- headless CMS offering all features as a RESTapi.


Installing Plone
-----------------

Plone is available on Microsoft Windows, Linux, OSX and BSD platforms.

Plone runs as container in the cloud with Docker.

`Install Plone by choosing an option from plone.org <https://plone.org/download>`_


Documentation
-------------

Consult `the official Plone documentation <https://docs.plone.org>`_ with information for different audiences.

For trainings `comprehensive Plone training material <https://training.plone.org>`_ is offered.


What is Plone?
--------------

Plone is a ready-to-run content management system, offering a complete set of features needed by a wide variety of organizations.

Plone is secure by architecture and offers fine grained permission control over content and actions.

Plone is easy to set up, extremely flexible,
and provides you with a system for managing web content that is ideal for project groups, communities, web sites, extranets and intranets.

- *Plone is easy to install.*
You can install Plone with a a click and run installer, and have a content management system running on your computer in just a few minutes.

- *Plone is easy to use.*
The Plone Team includes usability experts who have made Plone easy and attractive for content managers to add, update, and maintain content.

- *Plone is international.*
The Plone interface has more than 35 translations, and tools exist for managing multilingual content.

- *Plone is standard.*
Plone carefully follows standards for usability and accessibility.
Plone pages are compliant with US Section 508, and the W3C's AAA rating for accessibility.

- *Plone is Open Source.*
Plone is licensed under the GNU General Public License, the same license used by Linux.
This gives you the right to use Plone without a license fee, and to improve upon the product.

- *Plone is supported.*
There are over three hundred developers in the Plone Development Team around the world, and a multitude of companies that specialize in Plone development and support.

- *Plone is extensible.*
There is a multitude of add-on products for Plone to add new features and content types.
In addition, Plone can be scripted using web standard solutions and Open Source languages.

- *Plone is technology neutral.*
Plone can interoperate with most relational database systems, open source and commercial, and runs on a vast array of
platforms, including Linux, Windows, Mac OS X, Solaris and BSD.


Technical overview
------------------

Plone is a content management platform written in Python.
It builds up on Zope, an Open Source web application server and development system and so on the pluggable Zope Component Architecture (ZCA).

Python is the easy-to-learn, widely-used and supported Open Source programming language.
Python can be used to add new features to Plone, and used to understand or make changes to the way that Plone work.

Plone stores its contents in Zope's built in transactional hierachical object database, the ZODB.
The ZODB can be connected to simple file-storages, scalable ZEO-Servers or Postgres, MySQL and Oracle.
There are addon and techniques, however, to share information with other sources, such as relational databases, LDAP, filesystem
files, etc.


.. _plone.org product page: http://plone.org/products/plone


.. This file should contain the changes for the last release only, which
will be included on the package's page on pypi. All older entries are
kept in HISTORY.txt

Changelog
=========

.. You should *NOT* be adding new change log entries to this file.
You should create a file in the news directory instead.
For helpful instructions, please see:
https://github.com/plone/plone.releaser/blob/master/ADD-A-NEWS-ITEM.rst

.. towncrier release notes start

5.2a2 (2018-12-30)
------------------

New features:


- - New robot tests for querystring in Collection type. Now almost all
querystring types are robot tested. [llisa123] (#2489)
- - Add ``load_async`` and ``load_defer`` attributes to resource registries
bundle settings. When set, ``<script>`` tags are rendered with
``async="async"`` resp. ``defer="defer"`` attributes. You also need to empty
the ``merge_with`` property of your bundle, because production bundles
(``default.js`` and ``logged-in.js``) are never loaded with async or defer.
The default.js includes jQuery and requirejs and those are needed at many
places and therefore cannot be loaded asynchronously. Refs: #2649, #2657.
[thet] (#2649)


Bug fixes:


- Delete ``fa_ir.js``. Keep ```fa_IR.js``. [maurits] (#2620)
- Forward port TinyMCE fixes from 5.1 [vangheem] (#2630)
- Fix robot test test_edit_user_schema: Fieldname was set duplicate (first by
JS, then by robot). [jensens] (#2669)


5.2a1 (2018-11-08)
------------------

Breaking changes:

- Removed generateUniqueId.py skins script (after it was added to Products.Archetypes).
This script is no longer available outside Archetypes world.
#1801
[jensens]

- Remove all dependencies on plone.app.controlpanel.
Third party code need either to depend on plone.app.controlpanel 4.0,
which is a backward compatibility package only, or also update to not depend on it anymore.
[jensens]

- Removed check_id.py skin script. Replaced with utils.check_id function.
#1801 and #2582.
[maurits]

- Removed my_worklist.py skin script. #1801
[reinhardt]

- Removed getObjectsFromPathList.py skin script. #1801
[reinhardt]

- Removed isExpired.py skin script. #1801
[reinhardt]

- Removed redirectToReferrer.py skin script. #1801
[tlotze]

- Removed enableHTTPCompression.py skin script. #1801
[tlotze]

- Removed setAuthCookie.py skin script. #1801
[tlotze]

- Stop configuring 'View History' permission which was removed from Zope.
[davisagli]

- Remove legacy resource registries portal_css and portal_javascripts
[ksuess]

New features:

- Factored out human_readable_size method for replacing getObjSize.py;
removed getObjSize.py. #1801
[reinhardt]

- Update TinyMCE to 4.7.13
[erral]

- New browser view based login code - merged from plone.login (credits to esteele, pbauer, agitator, jensens, et al).
`portal_skins/plone_login` is now gone, see PLIP #2092.
Also, password reset view moved to login subfolder to keep things together.
Some testbrowser based tests needed changes because of z3c.form based login form .
The Plone specific, rarely used cross site __ac cookie SSO feature/hack was removed.
In case somebody needs this, please make it an addon package.
Better use a field proven, more secure way, like OAuth2, Shibboleth or someting similar.
[jensens, et al]

- Upgrade grunt + plugins to same versions as in
mockup https://github.com/plone/mockup/pull/870
[sunew]

- Upgrade less in bower.json to the same version as already used
in the generated package.json in compile_resources.py.
[sunew]

- Add utility-method safe_nativestring.
[pbauer]

- Rename safe_unicode to safe_text and safe_encode to safe_bytes. Keep old aliases.
[pbauer]
- Add a ``bin/instance verifydb`` command which can be used to check
that all records in the database can be successfully loaded.
This is intended to help with verifying a database conversion
from Python 2 to Python 3.
[davisagli]

Bug fixes:

- Modernize robot keywords that use "Get Element Attribute"
[ale-rt]

- remove plone.app.folder dependency
[petschki]

- move GopipIndex Class to plone.folder
[petschki]

- Fixed getObjSize indexer for Python 3. #2526
[reinhardt]
- Fix toolbar menu on mobile #2333.
- make groups_modify_roles test more robust.
[tschorr]

-- Fix wrong CSS property to allow correct word-break.
[tmassman]

Fix toolbar menu on mobile #2333.
[tmassman]

- Removed the ``raiseUnauthorized`` skin script.
If you use this, please do permission checking in your own Python code instead (likely in a browser view).
Refs `issue 1801 <https://github.com/plone/Products.CMFPlone/issues/1801>`_.
[maurits]

- Remove the devdependencies from bower.json - they are just used for running tests in mockup, not here.
[sunew]

- Adapt tests to `Products.GenericSetup >= 2.0` thus requiring at least that
version.
[icemac]

- Some tools from CMFCore are now utilities
[pbauer]

- Fix failing thememapper robot test after rebuild of thememapper bundle in p.a.theming PR 148
[sunew]

- Remove five.pt for Zope 4
[jensens]

- Changes for Zope 4 compatibility in maintenance controlpanel.
[thet]

- Render exceptions using an exception view instead of standard_error_message.
[davisagli]

- Remove old PlacelessTranslationService.
[jensens, ksuess]

- Fix controlpanel quickinstaller view:
A not yet installed product must not return any upgrade info.
[jensens]

- Fix to make plone/plone.session#11 work:
Make test for installation of plone.session more explicit.
[jensens]

- Advanced Catalog Clear And Rebuild feature showed wrong processing time due to new queue processing.
This was fixed bei calling ``processQueue()`` after indexing.
[jensens]

- Some nested `section id="edit-bar"` tag in folder_contents page #2322
[terapyon]

- Remove ``plone-generate-gruntfile`` (it is all available through ``plone-compile-resources``).
[jensens]

- Migrate from ``slimit`` to ``calmjs.parse`` for the JavaScript cooker #2616
[metatoaster]


New Features:

- Update to latest mockup
[frapell]

- Provide an utility ``dump_json_to_text`` that works both on Python 2.7 an Python 3.
[ale-rt]

- Prepare for Python 2 / 3 compatibility.
[pbauer]

- Fix imports to work with Python 3.
[pbauer]

- Mockup update.
[thet]

- add link to Plone.org VPAT accessibility statement
[tkimnguyen]

Bug Fixes:

- Remove last legacy Javascript ``highlight-searchterms.js``.
Removes also the skins folder ``plone_ecmascript``.
It was broken for all (Google, other search engines, own live search);
JS worked only when coming from Plone detailed search.
[jensens]

- Fix an undefined variable in a test helper function
[ale-rt]

- Let the ``combine-bundles`` import step also work when the ``IBundleRegistry`` keyword is not in ``registry.xml``, but in a ``registry`` directory.
`Issue 2520 <https://github.com/plone/Products.CMFPlone/issues/2502>`_.
[maurits]

- Get rid of obsolete ``X-UA-Compatible`` header.
[hvelarde]

- Fix registration of ``robots.txt`` browser view to avoid ``AttributeError`` on Zope's root (fixes `#2052 <https://github.com/plone/Products.CMFPlone/issues/2052>`_).
[hvelarde]

- Get rid of obsolete ``X-UA-Compatible`` header.
[hvelarde]

- Add test for issue #2469.
[jensens]

- Fixed tests when IRichText behavior is used.
IRichText -> IRichTextBehavior
This is a follow up to `issue 476 <https://github.com/plone/plone.app.contenttypes/issues/476>`_.
[iham]

- Remove unused mail_password.py from skins/plone_scripts
[agitator]

- Hide ``plone.app.querystring`` from add-ons control panel.
Fixes `issue 2426 <https://github.com/plone/Products.CMFPlone/issues/2426>`_.
[maurits]

- Fix tests after changes in disallowed object ids in Zope.
[pbauer]

- Do not include too new upgrades when upgrading Plone Site.
Otherwise the Plone Site ends up at a newer version that the filesystem code supports,
giving an error when upgrading, and resulting in possibly missed upgrades later.
Fixes `issue 2377 <https://github.com/plone/Products.CMFPlone/issues/2377>`_.
[maurits]

- After site creation, do not render the add-site template: we redirect anyway.
[maurits]

- Unflakied a unit test.
[Rotonen]

- Do not show TinyMCE menu items with no subitems, Fixes #2245.
[mrsaicharan1]

- Fix Exception-View when main_template can't be rendered. Fixes #2325.
[pbauer]

- Render exceptions as text, not html to fix format of infos after traceback.
Display as <pre> for basic and normal error templates.
[pbauer]

- Removed extra methods and tests for CMFQuickInstallerTool.
Moved those to the Products.CMFQuickInstallerTool package.
[maurits]

- Added tests for add-ons control panel.
Add a link to the Site Setup.
Let ``get_product_version`` work when you call it with ``CMFPlacefulWorkflow`` too.
[maurits]

- Fix bad domain for translating password reset mails.
[allusa]

- Ignore invalid ``sort_on`` parameters in catalog ``searchResults``.
Otherwise you get a ``CatalogError``.
I get crazy sort_ons like '194' or 'null'.
[maurits]

- Register the ``ExceptionView`` for the unspecific ``zope.interface.Interface`` for easier overloading.
Fixes a problem, where plone.rest couldn't overload the ExceptionView with an adapter bound to ``plone.rest.interfaces.IAPIRequest``.
[thet]

- Fixed linkintegrity robot tests. [maurits]

- Fixed flaky actions controlpanel tests by waiting longer. [maurits]

- Require AccessControl 4.0b1 so ``guarded_getitem`` is used.
Part of PloneHotfix20171128. [maurits]

- Improved isURLInPortal according to PloneHotfix20171128.
Accept only http/https, and doubly check escaped urls. [maurits]

- Fix exception view when called on Zope-root. Fixes #2203.
[pbauer]

- added CSS hyphenation support for toolbar for avoiding ugly text wrapping
Fixes `issue 723 <https://github.com/plone/Products.CMFPlone/issues/723>`_.
[ajung]

- Increase compatibility with Python3.
[ale-rt]

- Show example for expression in actions control panel.
[maurits]

- Fix test where you cannot instanciate a PythonScript with the id script.
[pbauer]

- Set the status of an exception view according to the exception type.
Fixes `issue 2187 <https://github.com/plone/Products.CMFPlone/issues/2187>`_.
[maurits]

- Use absolute imports for Python3 compatibility
[ale-rt]

- Fallback for missing date in DefaultDublinCoreImpl no longer relies on
bobobase_modification_time.
[pbauer]

- Display real version of Zope, not of the empty meta-package Zope2.
[pbauer]

- Add zcml-condition plone-52 for conditional configuration.
[pbauer]

- Use getSite in set_own_login_name to get the portals acl_users.
[pbauer]

- Fix test issue with rarely used multi-site SSO feature.
``came_from`` on ``@register`` link would point to wrong site.
Completly removed ``came_from`` on ``@@register`` link.
It does not make much sense anyway and we test nowhere if there is a came_from on that link.
[jensens]

- Remove depricated ``type`` attribute from ``script`` and ``link`` tags.
[newbazz]

- Render tinymce attributes correctly in Python3.
[sallner]

- Remove unresolved dependencies of plone-final to cssregistry and jsregistry.
[pbauer]


Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Products.CMFPlone-5.2a2.tar.gz (18.1 MB view hashes)

Uploaded Source

Built Distribution

Products.CMFPlone-5.2a2-py3-none-any.whl (19.0 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page