awesome-plone
Plone toolkit
A curated list of useful tools and resources for building and extending Plone-based web applications.
Add-ons and resources for the CMS Plone
51 stars
21 watching
10 forks
last commit: 7 months ago
Linked from 2 awesome lists
awesomeawesome-listcmsplonepythonzope
Awesome Plone / Content and utilities for content | |||
collective.a11ycheck | 0 | over 2 years ago | Reports accessibility issues to your site editors when a page is saved |
collective.bbcodesnippets | 1 | 12 months ago | Provides generic and extensible BBCode markup integration for Plone |
collective.consent | 1 | almost 2 years ago | Ask users for consent to different topics, before they can continue |
collective.dexteritytextindexer | 9 | almost 2 years ago | Dynamic SearchableText index for dexterity content types. For Plone 6 this was merged into Plone core |
collective.documentgenerator | 15 | 7 days ago | Generate Documents (.odt, .pdf, .doc) from content based on appy framework ( ) and OpenOffice/LibreOffice |
collective.documentviewer | 21 | 5 months ago | Very nice document viewer that integrates DocumentCloud viewer and PDF processing into Plone |
collective.easyformplugin.createdx | 5 | almost 3 years ago | Creates Plone content objects from EasyForm submissions |
collective.embeddedpage | 0 | 6 months ago | A content type to embed remote HTML pages in Plone Classic and Volto |
collective.folderishtraverse | 3 | 29 days ago | Traverse to first item in folder |
collective.folderishtypes | 2 | about 2 years ago | 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.geolocationbehavior | 2 | about 1 year ago | Geotagging for Plone content using LeafletJS |
collective.glossary | 4 | 11 months ago | Content type to define a glossary and its terms |
collective.immediatecreate | 0 | over 1 year ago | Create content immediatly and skip the add form |
collective.lineage | 12 | about 1 year ago | 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.mailchimp | 5 | 4 months ago | MailChimp newsletter integration for Plone |
collective.mirror | 1 | over 3 years ago | A content type that mirrors the content of any other container |
collective.mustread | 0 | over 1 year ago | Tracking user views on content that are marked as must-read |
collective.remoteproxy | 1 | almost 4 years ago | Proxy for remote content. All remote URLs for which a local proxy was created are replaced in the resulting content |
collective.restrictportlets | 0 | almost 3 years ago | Allows you to restrict the available portlets that non-Managers can add |
collective.richdescription | 1 | 10 months ago | Formatable description field for Plone |
collective.workspace | 7 | almost 2 years ago | 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.membrane | 3 | over 1 year ago | Enables content to be used as users and groups in Plone sites |
plone.pdfexport | 3 | 4 months ago | Generic PDF export functionality for Plone content |
Products.EasyNewsletter | 28 | 5 months ago | Powerful newsletter/mailing product for Plone |
zopyx.ipsumplone | 1 | almost 2 years ago | Creates demo content and demo images for Plone |
Awesome Plone / Searching and Categorizing | |||
cioppino.twothumbs | 14 | almost 2 years ago | Rate content using up- and down-thumbs |
collective.bookmarks | 2 | 11 months ago | Bookmarks/ favorites/ wish-list for Plone |
collective.collectionfilter | 9 | 17 days ago | Faceted navigation filter for collection or contentlisting tiles |
collective.elasticsearch | 18 | 8 days ago | Use ElasticSearch as the search backend for Plone |
collective.elastic.plone | 3 | 4 months ago | ElasticSearch Integration for Plone content |
collective.searchandreplace | 6 | about 1 year ago | Find and replace text in Plone content objects |
collective.solr | 22 | about 2 months ago | Solr search engine integration for Plone |
collective.taxonomy | 19 | 16 days ago | Create, edit and use hierarchical taxonomies to categorize content |
eea.facetednavigation | 4 | about 1 year ago | 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.PloneKeywordManager | 4 | about 1 month ago | Change, merge and delete keywords/tags/subjects) |
zopyx.typesense | 3 | 12 months ago | Plone integration with the external Typesense search server (open-source). This is an alternative to collective.solr or Elasticsearch |
Awesome Plone / Layout | |||
plone.app.mosaic | 35 | 15 days ago | Powerful and extendable editor that allows users to compose the content of a page with different tiles |
collective.cover | 48 | 16 days ago | 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.contentsections | 9 | 10 months ago | Offers a block approach for Plone 6 Classic based entirely on Dexterity content types |
Awesome Plone / Tiles | |||
plone.app.standardtiles | 7 | 7 days ago | A set of standard tiles used by Mosaic, but can be used from any other tile manager |
collective.tiles.carousel | 0 | 7 months ago | A slider tile for plone.app.mosaic based on the carousel component of Bootstrap 5 |
collective.tiles.advancedstatic | 0 | 4 months ago | 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.collection | 1 | 4 months ago | A tile that shows a set of collection results with possibility to choose (and develop) custom layouts |
Awesome Plone / Events | |||
collective.easyformplugin.registration | 3 | 8 months ago | Add a behavior to collective.easyform to manage registration forms for events |
collective.fullcalendar | 2 | over 1 year ago | Display events in a nice calendar UI using |
collective.venue | 3 | over 1 year ago | Venue type with geolocation support for use with events or any other location specific content |
Awesome Plone / Forms | |||
collective.easyform | 13 | 22 days ago | 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.fieldedit | 3 | about 1 year ago | A flexible form to edit selected fields of a content type |
collective.honeypot | 3 | 4 months ago | Honeypot protection for forms |
collective.z3cform.datagridfield | 8 | 16 days ago | A field with a datagrid (table), where each row is a sub form |
collective.z3cform.norobots | 5 | 5 months ago | A "human" captcha widget based on a list of questions/answers |
plone.formwidgets.hcaptcha | 1 | 8 months ago | HCaptcha widget to protect Plone from bots, spam, and other forms of automated abuse |
yafowil.plone | 3 | 9 months ago | Yafowil is a form library for Python. This is its Plone Integration package |
Awesome Plone / Multilingual | |||
collective.linguatags | 0 | over 1 year ago | Multilingual Tags for Plone |
plone.app.multilingualindexes | 2 | almost 3 years ago | Indexes optimized to query multilingual content made with plone.app.multilingual |
Awesome Plone / Media | |||
collective.autoscaling | 1 | 4 months ago | Automatic scaling of large images. Useful to reduce your database size when editors upload too large images |
collective.behavior.banner | 3 | 5 months ago | A behavior to create banners and sliders from banners |
collective.lazysizes | 6 | over 4 years ago | Integration of lazysizes, a lightweight lazy loader, into Plone |
collective.wavesurfer | 0 | 4 months ago | Implementation of audio player for Plone |
plone.app.imagecropping | 9 | about 1 year ago | Crops Images in Plone manually using cropper JS library |
plone.gallery | 5 | about 1 year ago | Photo gallery view for Plone |
redturtle.gallery | 2 | almost 2 years ago | Adds a gallery view with a carousel made with slick |
wildcard.media | 13 | 10 months ago | Provides audio and video content types and behaviors |
Awesome Plone / Security | |||
collective.explicitacquisition | 1 | over 3 years ago | Disallow access to acquired content outside the current path |
collective.geotransform | 2 | about 1 year ago | Graceful E-mail Obfuscation for Plone |
collective.contactformprotection | 0 | 7 months ago | Disables the default form or protect it with |
Awesome Plone / SEO | |||
bda.plone.gtm | 2 | over 1 year ago | Google Tag Manager Integration |
collective.behavior.seo | 3 | 2 months ago | Adds extra fields used for SEO optimisation |
collective.splitsitemap | 0 | 8 months ago | Provides a cached split sitemap on big public sites |
Awesome Plone / Authentication | |||
pas.plugins.ldap | 13 | 8 days ago | Provides users and groups from a LDAP directory |
pas.plugins.authomatic | 9 | 8 days ago | Authomatic OAuth1/OAuth2/OpenID Login Integration with Plone |
iw.rejectanonymous | 4 | 5 months ago | 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.headers | 2 | 4 months ago | 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.impersonate | 6 | about 1 month ago | Allow administrators to impersonate another user. Useful for verifying workflow/permission set up on real content |
collective.pwexpiry | 1 | 4 months ago | Provideds methods for stronger user passwords in Plone and password attack protection |
Awesome Plone / Shop | |||
bda.plone.productshop | 6 | 7 months ago | Flexible and modular e-commerce solution for Plone |
Awesome Plone / Export, Import and Migrations | |||
collective.exportimport | 15 | 9 days ago | 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.migrationhelpers | 14 | over 1 year ago | Helpers and examples to use during migrations |
collective.jsonify | 12 | almost 2 years ago | Export Plone content to JSON |
collective.transmogrifier | 5 | over 1 year ago | A configurable pipeline, aimed at transforming content for import and export |
Awesome Plone / Themes | |||
plonetheme.tokyo | 6 | over 1 year ago | Tokyo Theme for Plone implements Bootstrap 4 into Plone, with an emphasis on keeping things as close to "default" as possible |
plonetheme.grueezibuesi | 1 | about 3 years ago | A kitten inspired theme for Plone 6 |
collective.sidebar | 6 | 4 months ago | A sidebar that consolidates toolbar and navigation |
collective.editablemenu | 3 | almost 2 years ago | A customizable navigation menu for Plone |
Awesome Plone / Develop | |||
Products.PDBDebugMode | 2 | over 1 year ago | 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.app.debugtoolbar | 8 | 7 months ago | A toolbar that shows a wealth of debug information about a running Plone site and the content you are inspecting. Also includes a interactive python-shell, a TALES-expression evaluator and and code-reload |
plone.reload | 10 | 7 months ago | Code and configuration reload without server restarts |
Products.PrintingMailHost | 2 | over 1 year ago | Log mail messages instead of sending mail |
experimental.gracefulblobmissing | 2 | 5 months ago | Gracefully handle missing binary files in Plone |
collective.patchwatcher | 1 | about 3 years ago | A great companion for keeping track of patched or overridden files |
collective.relationhelpers | 7 | about 1 year ago | Helpers to manage, create, export and rebuild relations in Plone 5.x. For Plone 6 this was merged into Plone core |
Awesome Plone / Sysadmin | |||
collective.catalogcleanup | 4 | 12 months ago | Removes data from the catalog that no longer belong to an actual object |
collective.fingerpointing | 5 | almost 2 years ago | Keeps track of different events and write them down to an audit log |
collective.ifttt | 2 | about 5 years ago | 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.purgebyid | 5 | about 1 month ago | Use tag-based cache invalidation in Plone (e.g. with Varnish's xkey module) |
collective.recipe.backup | 5 | 4 months ago | Powerful and flexible backup/restore solution for Plone |
collective.regenv | 4 | 11 months ago | Override registry settings using environment variables |
collective.revisionmanager | 6 | 4 months ago | Manage Products.CMFEditions histories that can bloat your database |
collective.sentry | 7 | about 1 year ago | Sentry integration to aggregate errors and help finding their causes |
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.requestmonitoring | 5 | about 1 year ago | Detailed request logging functionality on top of the publication events. Useful to find out what takes longer than it should |
Awesome Plone / Finding more add-ons | |||
https://pypi.org/search/?c=Framework+%3A%3A+Plone | Search pypi: | ||
https://github.com/collective | Search the collective organization on github: | ||
https://github.com/plone | Search the plone organization on github: | ||
https://community.plone.org | Message Board: | ||
Awesome Plone / Official 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 |