collective/awesome-plone
Awesome Plone 
A community-curated list of awesome Plone add-ons. From developers for developers.
Plone is a open source CMS written in Python with a focus on functionality, customizability and security out of the box.
If you want to know if there is already a add-on for Plone that fits your needs, searching for it on GitHub or pypi can be a real pain. There are plenty of add-ons, but it's hard to understand which one could be a good solution or not.
This list is intended to fill that gap, and create a shared knowledge about common products and techniques.
This list only covers add-ons and resources that work with the latest major versions of Plone (currently 5.2 and 6) and only those that support Python 3.
Plone 6 comes with a new default frontend called Volto, which is written in React and uses plone.restapi to communicate with Plone. Volto is very extendable in itself. Checkout the awesome-volto liststars13 for add-ons to Volto.
Contents
- Content and utilities for content
- Searching and Categorizing
- Layout
- Tiles
- Events
- Forms
- Multilingual
- Media
- Security
- SEO
- Authentication
- Shop
- Export, Import and Migrations
- Themes
- Develop
- Sysadmin
- Official resources
Content and utilities for content
Add-ons that provide content-types or additional functionality for content
- collective.a11ycheckstars0 - Reports accessibility issues to your site editors when a page is saved.
- collective.bbcodesnippetsstars1 - Provides generic and extensible BBCode markup integration for Plone.
- collective.consentstars1 - Ask users for consent to different topics, before they can continue.
- collective.dexteritytextindexerstars10 - Dynamic SearchableText index for dexterity content types. For Plone 6 this was merged into Plone core.
- collective.documentgeneratorstars13 - Generate Documents (.odt, .pdf, .doc) from content based on appy framework (http://appyframework.org) and OpenOffice/LibreOffice.
- collective.documentviewerstars22 - Very nice document viewer that integrates DocumentCloud viewer and PDF processing into Plone.
- collective.easyformplugin.createdxstars5 - Creates Plone content objects from EasyForm submissions.
- collective.folderishtraversestars2 - Traverse to first item in folder.
- collective.folderishtypesstars1 - Provides the types "Folderish Event", "Folderish News Item" and "Folderish Document" as replacements for default types. Those types are able to hold any other content, like a Folder.
- collective.geolocationbehaviorstars1 - Geotagging for Plone content using LeafletJS.
- collective.glossarystars2 - Content type to define a glossary and its terms.
- collective.immediatecreatestars0 - Create content immediatly and skip the add form.
- collective.lineagestars12 - Subsites: Turns subfolders of a Plone site to appear as autonomous Plone sites. There is also a whole ecosystem off addons specific to subsites.
- collective.mailchimpstars5 - MailChimp newsletter integration for Plone.
- collective.mirrorstars1 - A content type that mirrors the content of any other container.
- collective.mustreadstars0 - Tracking user views on content that are marked as must-read.
- collective.remoteproxystars1 - Proxy for remote content. All remote URLs for which a local proxy was created are replaced in the resulting content.
- collective.restrictportletsstars0 - Allows you to restrict the available portlets that non-Managers can add.
- collective.richdescriptionstars1 - Formatable description field for Plone.
- collective.workspacestars6 - Easily manage 'membership' in specific areas of a Plone Site. It allows to grant people access to areas of content using a membership group rather than local roles for each user, and to delegate control over that group to people who don't have access to the site-wide user/group control panel.
- dexterity.membranestars2 - Enables content to be used as users and groups in Plone sites.
- plone.pdfexportstars2 - Generic PDF export functionality for Plone content.
- Products.EasyNewsletterstars28 - Powerful newsletter/mailing product for Plone.
- zopyx.ipsumplonestars2 - Creates demo content and demo images for Plone.
Searching and Categorizing
- cioppino.twothumbsstars14 - Rate content using up- and down-thumbs.
- collective.bookmarksstars1 - Bookmarks/ favorites/ wish-list for Plone.
- collective.collectionfilterstars8 - Faceted navigation filter for collection or contentlisting tiles.
- collective.elastic.plonestars2 - ElasticSearch Integration for Plone content.
- collective.searchandreplacestars6 - Find and replace text in Plone content objects.
- collective.solrstars19 - Solr search engine integration for Plone.
- collective.taxonomystars17 - Create, edit and use hierarchical taxonomies to categorize content.
- eea.facetednavigationstars4 - Very powerful interface to improve search without programming skills. Configuration is done through-the-web and lets you gradually select and explore different facets (metadata/properties) of the content and narrow down you search quickly and dynamically.
- Products.PloneKeywordManagerstars2 - Change, merge and delete keywords/tags/subjects).
Layout
Products and resources that help developers and users to create and manage site layouts.
- plone.app.mosaicstars30 - Powerful and extendable editor that allows users to compose the content of a page with different tiles.
- collective.coverstars47 - Cover allows the creation of elaborate covers built around a drag-and-drop interface. Uses the same blocks/tiles ecosystem as plone.app.mosaic but a different approach to editing.
- collective.contentsectionsstars3 - Offers a block approach for Plone 6 Classic based entirely on Dexterity content types.
Tiles
Add-ons that extend the layout editor plone.app.mosaic.
- plone.app.standardtilesstars7 - A set of standard tiles used by Mosaic, but can be used from any other tile manager.
- collective.tiles.carouselstars0 - A slider tile for plone.app.mosaic based on the carousel component of Bootstrap 5.
- collective.tiles.advancedstaticstars0 - A tile that shows html text (similar to the static text portlet), with some additional configuration like the possibility to add custom css classes.
- collective.tiles.collectionstars1 - A tile that shows a set of collection results with possibility to choose (and develop) custom layouts.
Events
Add-ons that handle events and calendars.
- collective.easyformplugin.registrationstars3 - Add a behavior to collective.easyform to manage registration forms for events.
- collective.fullcalendarstars2 - Display events in a nice calendar UI using https://fullcalendar.io.
- collective.venuestars3 - Venue type with geolocation support for use with events or any other location specific content.
Forms
Add-ons that allow generating and using forms.
- collective.easyformstars12 - EasyForm provides a Plone form builder through-the-web using fields, widgets, actions and validators. Form input can be saved or emailed. A simple and user-friendly interface allows non-programmers to create custom forms.
- collective.fieldeditstars2 - A flexible form to edit selected fields of a content type.
- collective.honeypotstars3 - Honeypot protection for forms.
- collective.z3cform.datagridfieldstars7 - A field with a datagrid (table), where each row is a sub form.
- collective.z3cform.norobotsstars6 - A "human" captcha widget based on a list of questions/answers.
- plone.formwidgets.hcaptchastars0 - HCaptcha widget to protect Plone from bots, spam, and other forms of automated abuse.
- yafowil.plonestars2 - Yafowil is a form library for Python. This is its Plone Integration package.
Multilingual
Add-ons to help manage multilingual sites.
- collective.linguatagsstars0 - Multilingual Tags for Plone.
- plone.app.multilingualindexesstars2 - Indexes optimized to query multilingual content made with plone.app.multilingual.
Media
Add-ons that handle image, video and audio content.
- collective.autoscalingstars0 - Automatic scaling of large images. Useful to reduce your database size when editors upload too large images.
- collective.behavior.bannerstars3 - A behavior to create banners and sliders from banners.
- collective.lazysizesstars6 - Integration of lazysizes, a lightweight lazy loader, into Plone.
- collective.wavesurferstars0 - Implementation of https://wavesurfer-js.org audio player for Plone.
- plone.app.imagecroppingstars9 - Crops Images in Plone manually using cropper JS library.
- plone.gallerystars3 - Photo gallery view for Plone.
- redturtle.gallerystars2 - Adds a gallery view with a carousel made with slick.
- wildcard.mediastars14 - Provides audio and video content types and behaviors.
Security
- collective.explicitacquisitionstars1 - Disallow access to acquired content outside the current path.
- collective.geotransformstars2 - Graceful E-mail Obfuscation for Plone.
SEO
Add-ons for search engine optimization.
- bda.plone.gtmstars2 - Google Tag Manager Integration.
- collective.behavior.seostars2 - Adds extra fields used for SEO optimisation.
Authentication
A list of authentication plugins, to integrate Plone with external user , Importsources and Migrations.import
- pas.plugins.ldapstars13 - Provides users and groups from a LDAP directory.
- pas.plugins.authomaticstars6 - Authomatic OAuth1/OAuth2/OpenID Login Integration with Plone.
- iw.rejectanonymousstars3 - Reject unconditionnally anonymous users from a Plone site, without any change in your security policy matrix or workflows. The basic use case is an extranet, where all visitors must be authenticated.
- pas.plugins.headersstars1 - Reads request headers and uses them for authentication. Think SAML headers that are set by a front web server like Apache or nginx.
- dm.zope.saml2 - Supports SAML2 based Single Sign-On.
- collective.impersonatestars4 - Allow administrators to impersonate another user. Useful for verifying workflow/permission set up on real content.
- collective.pwexpirystars1 - Provideds methods for stronger user passwords in Plone and password attack protection.
Shop
- bda.plone.productshopstars4 - Flexible and modular e-commerce solution for Plone.
Export, Import and Migrations
- collective.exportimportstars10 - Export and import content and a lot of other data from and to Plone. The main solution for all kinds of migrations based on plone.restapi.
- collective.migrationhelpersstars11 - Helpers and examples to use during migrations.
- collective.jsonifystars12 - Export Plone content to JSON.
- collective.transmogrifierstars5 - A configurable pipeline, aimed at transforming content for import and export.
Themes
- plonetheme.tokyostars6 - Tokyo Theme for Plone implements Bootstrap 4 into Plone, with an emphasis on keeping things as close to "default" as possible.
- plonetheme.grueezibuesistars1 - A kitten inspired theme for Plone 6.
- collective.sidebarstars4 - A sidebar that consolidates toolbar and navigation.
- collective.editablemenustars3 - A customizable navigation menu for Plone.
Develop
Add-ons that help developing Plone
- Products.PDBDebugModestars1 - Post-mortem debugging: open a pdb session whenever an exception occurs so you you can find out what is going wrong. Plus: By adding /pdb to a url you end up you in a pdb session on the current context. A killer tool for developers.
- plone.reloadstars10 - Code and configuration reload without server restarts.
- Products.PrintingMailHoststars1 - Log mail messages instead of sending mail.
- experimental.gracefulblobmissingstars2 - Gracefully handle missing binary files in Plone.
- collective.relationhelpersstars7 - Helpers to manage, create, export and rebuild relations in Plone 5.x. For Plone 6 this was merged into Plone core.
Sysadmin
Add-ons that help admins deploying and maintaining Plone
- collective.catalogcleanupstars4 - Removes data from the catalog that no longer belong to an actual object.
- collective.fingerpointingstars5 - Keeps track of different events and write them down to an audit log.
- collective.iftttstars2 - Enables any Plone site to play in the IFTTT ecosystem. For example when a news item is published, then tweet about it or post it on Facebook.
- collective.recipe.backupstars4 - Powerful and flexible backup/restore solution for Plone.
- collective.revisionmanagerstars5 - Manage Products.CMFEditions histories that can bloat your database.
- collective.sentrystars4 - Sentry integration to aggregate errors and help finding their causes.
- collective.xkeystars0 - Use Varnish's xkey module for tag-based cache invalidation in Plone.
- dm.historical - Access any historical state of your database. Can be useful to find out what happened to objects in the past and to restore accidentally deleted or modified objects.
- haufe.requestmonitoringstars5 - Detailed request logging functionality on top of the publication events. Useful to find out what takes longer than it should.
Official resources
Because Plone also has a lot of good official info resources
- plone.org - Official website for developers and community.
- community.plone.org - Official community forum, the best place to get help.
- Discord chat - Discord is the best way to chat with members of the Plone community.
- Plone support - Where to find help.
- docs.plone.org - Official documentation for developers/integrators.
- Plone 6 Documentation - Official documentation for the upcoming Plone 6 (work on progress).
- training.plone.org - Training classes for developers/integrators/users/designers.
- plone.api - Documentation for plone.api.
Contributing
Contributions are welcome! Read the contribution guidelines.