290 lines
44 KiB
Plaintext
290 lines
44 KiB
Plaintext
[38;5;12m [39m[38;2;255;187;0m[1m[4mAwesome Plone [0m[38;5;14m[1m[4m![0m[38;2;255;187;0m[1m[4mAwesome[0m[38;5;14m[1m[4m (https://awesome.re/badge.svg)[0m[38;2;255;187;0m[1m[4m (https://awesome.re)[0m
|
||
|
||
|
||
[38;5;12m (https://plone.org)[39m
|
||
|
||
[38;5;11m[1m▐[0m[38;5;12m [39m[38;5;12mA community-curated list of _awesome_ Plone add-ons.[39m
|
||
|
||
|
||
[38;5;14m[1mPlone[0m[38;5;12m (https://plone.org) is a open source CMS written in Python with a focus on functionality, customizability and security out of the box.[39m
|
||
|
||
[38;5;12mThere[39m[38;5;12m [39m[38;5;12mare[39m[38;5;12m [39m[38;5;12mover[39m[38;5;12m [39m[38;5;14m[1m3000[0m[38;5;14m[1m [0m[38;5;14m[1madd-ons[0m[38;5;14m[1m [0m[38;5;14m[1mfor[0m[38;5;14m[1m [0m[38;5;14m[1mPlone[0m[38;5;14m[1m [0m[38;5;14m[1mon[0m[38;5;14m[1m [0m[38;5;14m[1mpypi[0m[38;5;12m [39m[38;5;12m(https://pypi.org/search/?q=&o=&c=Framework+%3A%3A+Plone)[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mover[39m[38;5;12m [39m[38;5;12m1500[39m[38;5;12m [39m[38;5;12mrepositories[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;14m[1mcollective[0m[38;5;12m [39m[38;5;12m(https://github.com/collective/).[39m[38;5;12m [39m[38;5;12mIf[39m[38;5;12m [39m[38;5;12myou[39m[38;5;12m [39m[38;5;12mwant[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mknow[39m[38;5;12m [39m[38;5;12mif[39m[38;5;12m [39m[38;5;12mthere[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12malready[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12madd-on[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m
|
||
[38;5;12mPlone[39m[38;5;12m [39m[38;5;12mthat[39m[38;5;12m [39m[38;5;12mfits[39m[38;5;12m [39m[38;5;12myour[39m[38;5;12m [39m[38;5;12mneeds,[39m[38;5;12m [39m[38;5;12msearching[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mit[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12mGitHub[39m[38;5;12m [39m[38;5;12mor[39m[38;5;12m [39m[38;5;12mpypi[39m[38;5;12m [39m[38;5;12mcan[39m[38;5;12m [39m[38;5;12mbe[39m[38;5;12m [39m[38;5;12mhard.[39m[38;5;12m [39m[38;5;12mIt's[39m[38;5;12m [39m[38;5;12mhard[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12munderstand[39m[38;5;12m [39m[38;5;12mwhich[39m[38;5;12m [39m[38;5;12mone[39m[38;5;12m [39m[38;5;12mcould[39m[38;5;12m [39m[38;5;12mbe[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mgood[39m[38;5;12m [39m[38;5;12msolution[39m[38;5;12m [39m[38;5;12mor[39m[38;5;12m [39m[38;5;12mnot.[39m
|
||
|
||
[38;5;12mThis list is intended to fill that gap, and create a shared knowledge about common products and techniques.[39m
|
||
|
||
[38;5;12mFor a filterable list of addons aggreating all Plone related packages from PyPi see https://pag.derico.tech.[39m
|
||
|
||
[38;5;12mThis list only covers add-ons that work with the latest major versions of Plone (currently 5.2 and 6) and only those that support Python 3.[39m
|
||
|
||
[38;5;12mPlone[39m[38;5;12m [39m[38;5;12m6[39m[38;5;12m [39m[38;5;12mcomes[39m[38;5;12m [39m[38;5;12mwith[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mnew[39m[38;5;12m [39m[38;5;12mdefault[39m[38;5;12m [39m[38;5;12mfrontend[39m[38;5;12m [39m[38;5;12mcalled[39m[38;5;12m [39m[38;5;12mVolto,[39m[38;5;12m [39m[38;5;12mwhich[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12mwritten[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mReact[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12muses[39m[38;5;12m [39m[48;5;235m[38;5;249mplone.restapi[49m[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mcommunicate[39m[38;5;12m [39m[38;5;12mwith[39m[38;5;12m [39m[38;5;12mPlone.[39m[38;5;12m [39m[38;5;12mVolto[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12mvery[39m[38;5;12m [39m[38;5;12mextendable[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mitself.[39m[38;5;12m [39m[38;5;12mCheckout[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;14m[1mawesome-volto[0m[38;5;14m[1m [0m[38;5;14m[1mlist[0m[38;5;12m [39m
|
||
[38;5;12m(https://github.com/collective/awesome-volto)[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12madd-ons[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mVolto.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mContents[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mContent and utilities for content[0m[38;5;12m (#content-and-utilities-for-content)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mSearching and Categorizing[0m[38;5;12m (#searching-and-categorizing)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mLayout[0m[38;5;12m (#layout)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mTiles[0m[38;5;12m (#tiles)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mEvents[0m[38;5;12m (#events)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mForms[0m[38;5;12m (#forms)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mMultilingual[0m[38;5;12m (#multilingual)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mMedia[0m[38;5;12m (#media)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mSecurity[0m[38;5;12m (#security)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mSEO[0m[38;5;12m (#seo)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mAuthentication[0m[38;5;12m (#authentication)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mShop[0m[38;5;12m (#shop)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mExport, Import and Migrations[0m[38;5;12m (#export-import-and-migrations)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mThemes[0m[38;5;12m (#themes)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mDevelop[0m[38;5;12m (#develop)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mSysadmin[0m[38;5;12m (#sysadmin)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mFinding more add-ons[0m[38;5;12m (#finding-more-add-ons)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mOfficial resources[0m[38;5;12m (#official-resources)[39m
|
||
|
||
[38;5;238m――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――[39m
|
||
|
||
[38;2;255;187;0m[4mContent and utilities for content[0m
|
||
|
||
[38;5;12m_Add-ons that provide content-types or additional functionality for content_[39m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.a11ycheck[0m[38;5;12m (https://github.com/collective/collective.a11ycheck) - Reports accessibility issues to your site editors when a page is saved.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.bbcodesnippets[0m[38;5;12m (https://github.com/collective/collective.bbcodesnippets) - Provides generic and extensible BBCode markup integration for Plone.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.consent[0m[38;5;12m (https://github.com/collective/collective.consent) - Ask users for consent to different topics, before they can continue.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.dexteritytextindexer[0m[38;5;12m (https://github.com/collective/collective.dexteritytextindexer) - Dynamic SearchableText index for dexterity content types. For Plone 6 this was merged into Plone core.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.documentgenerator[0m[38;5;12m (https://github.com/collective/collective.documentgenerator) - Generate Documents (.odt, .pdf, .doc) from content based on appy framework (https://appyframe.work/) and OpenOffice/LibreOffice.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.documentviewer[0m[38;5;12m (https://github.com/collective/collective.documentviewer) - Very nice document viewer that integrates DocumentCloud viewer and PDF processing into Plone.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.easyformplugin.createdx[0m[38;5;12m (https://github.com/collective/collective.easyformplugin.createdx) - Creates Plone content objects from EasyForm submissions.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.embeddedpage[0m[38;5;12m (https://github.com/collective/collective.embeddedpage) - A content type to embed remote HTML pages in Plone Classic and Volto.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.folderishtraverse[0m[38;5;12m (https://github.com/collective/collective.folderishtraverse) - Traverse to first item in folder.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.folderishtypes[0m[38;5;12m [39m[38;5;12m(https://github.com/collective/collective.folderishtypes)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mProvides[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mtypes[39m[38;5;12m [39m[38;5;12m"Folderish[39m[38;5;12m [39m[38;5;12mEvent",[39m[38;5;12m [39m[38;5;12m"Folderish[39m[38;5;12m [39m[38;5;12mNews[39m[38;5;12m [39m[38;5;12mItem"[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12m"Folderish[39m[38;5;12m [39m[38;5;12mDocument"[39m[38;5;12m [39m[38;5;12mas[39m[38;5;12m [39m[38;5;12mreplacements[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mdefault[39m[38;5;12m [39m[38;5;12mtypes.[39m[38;5;12m [39m[38;5;12mThose[39m[38;5;12m [39m[38;5;12mtypes[39m[38;5;12m [39m[38;5;12mare[39m[38;5;12m [39m[38;5;12mable[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mhold[39m
|
||
[38;5;12many[39m[38;5;12m [39m[38;5;12mother[39m[38;5;12m [39m[38;5;12mcontent,[39m[38;5;12m [39m[38;5;12mlike[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mFolder.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.geolocationbehavior[0m[38;5;12m (https://github.com/collective/collective.geolocationbehavior) - Geotagging for Plone content using LeafletJS.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.glossary[0m[38;5;12m (https://github.com/collective/collective.glossary) - Content type to define a glossary and its terms.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.immediatecreate[0m[38;5;12m (https://github.com/collective/collective.immediatecreate) - Create content immediatly and skip the add form.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.lineage[0m[38;5;12m (https://github.com/collective/collective.lineage) - Subsites: Turns subfolders of a Plone site to appear as autonomous Plone sites. There is also a whole ecosystem off addons specific to subsites.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.mailchimp[0m[38;5;12m (https://github.com/collective/collective.mailchimp) - MailChimp newsletter integration for Plone.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.mirror[0m[38;5;12m (https://github.com/collective/collective.mirror) - A content type that mirrors the content of any other container.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.mustread[0m[38;5;12m (https://github.com/collective/collective.mustread) - Tracking user views on content that are marked as must-read.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.remoteproxy[0m[38;5;12m (https://github.com/collective/collective.remoteproxy) - Proxy for remote content. All remote URLs for which a local proxy was created are replaced in the resulting content.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.restrictportlets[0m[38;5;12m (https://github.com/collective/collective.restrictportlets) - Allows you to restrict the available portlets that non-Managers can add.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.richdescription[0m[38;5;12m (https://github.com/collective/collective.richdescription) - Formatable description field for Plone.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.workspace[0m[38;5;12m [39m[38;5;12m(https://github.com/collective/collective.workspace)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mEasily[39m[38;5;12m [39m[38;5;12mmanage[39m[38;5;12m [39m[38;5;12m'membership'[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mspecific[39m[38;5;12m [39m[38;5;12mareas[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mPlone[39m[38;5;12m [39m[38;5;12mSite.[39m[38;5;12m [39m[38;5;12mIt[39m[38;5;12m [39m[38;5;12mallows[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mgrant[39m[38;5;12m [39m[38;5;12mpeople[39m[38;5;12m [39m[38;5;12maccess[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mareas[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mcontent[39m[38;5;12m [39m[38;5;12musing[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mmembership[39m[38;5;12m [39m[38;5;12mgroup[39m[38;5;12m [39m[38;5;12mrather[39m[38;5;12m [39m[38;5;12mthan[39m[38;5;12m [39m[38;5;12mlocal[39m[38;5;12m [39m
|
||
[38;5;12mroles[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12meach[39m[38;5;12m [39m[38;5;12muser,[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mdelegate[39m[38;5;12m [39m[38;5;12mcontrol[39m[38;5;12m [39m[38;5;12mover[39m[38;5;12m [39m[38;5;12mthat[39m[38;5;12m [39m[38;5;12mgroup[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mpeople[39m[38;5;12m [39m[38;5;12mwho[39m[38;5;12m [39m[38;5;12mdon't[39m[38;5;12m [39m[38;5;12mhave[39m[38;5;12m [39m[38;5;12maccess[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12msite-wide[39m[38;5;12m [39m[38;5;12muser/group[39m[38;5;12m [39m[38;5;12mcontrol[39m[38;5;12m [39m[38;5;12mpanel.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mdexterity.membrane[0m[38;5;12m (https://github.com/collective/dexterity.membrane) - Enables content to be used as users and groups in Plone sites.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mplone.pdfexport[0m[38;5;12m (https://github.com/plone/plone.pdfexport) - Generic PDF export functionality for Plone content.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mProducts.EasyNewsletter[0m[38;5;12m (https://github.com/collective/Products.EasyNewsletter) - Powerful newsletter/mailing product for Plone.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mzopyx.ipsumplone[0m[38;5;12m (https://github.com/zopyx/zopyx.ipsumplone) - Creates demo content and demo images for Plone.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mSearching and Categorizing[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcioppino.twothumbs[0m[38;5;12m (https://github.com/collective/cioppino.twothumbs) - Rate content using up- and down-thumbs.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.bookmarks[0m[38;5;12m (https://github.com/collective/collective.bookmarks) - Bookmarks/ favorites/ wish-list for Plone.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.collectionfilter[0m[38;5;12m (https://github.com/collective/collective.collectionfilter) - Faceted navigation filter for collection or contentlisting tiles.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.elasticsearch[0m[38;5;12m (https://github.com/collective/collective.elasticsearch) - Use ElasticSearch as the search backend for Plone.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.elastic.plone[0m[38;5;12m (https://github.com/collective/collective.elastic.plone) - ElasticSearch Integration for Plone content.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.searchandreplace[0m[38;5;12m (https://github.com/collective/collective.searchandreplace) - Find and replace text in Plone content objects.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.solr[0m[38;5;12m (https://github.com/collective/collective.solr) - Solr search engine integration for Plone.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.taxonomy[0m[38;5;12m (https://github.com/collective/collective.taxonomy) - Create, edit and use hierarchical taxonomies to categorize content.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1meea.facetednavigation[0m[38;5;12m [39m[38;5;12m(https://github.com/collective/eea.facetednavigation)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mVery[39m[38;5;12m [39m[38;5;12mpowerful[39m[38;5;12m [39m[38;5;12minterface[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mimprove[39m[38;5;12m [39m[38;5;12msearch[39m[38;5;12m [39m[38;5;12mwithout[39m[38;5;12m [39m[38;5;12mprogramming[39m[38;5;12m [39m[38;5;12mskills.[39m[38;5;12m [39m[38;5;12mConfiguration[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12mdone[39m[38;5;12m [39m[38;5;12mthrough-the-web[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mlets[39m[38;5;12m [39m[38;5;12myou[39m[38;5;12m [39m[38;5;12mgradually[39m[38;5;12m [39m[38;5;12mselect[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mexplore[39m[38;5;12m [39m
|
||
[38;5;12mdifferent[39m[38;5;12m [39m[38;5;12mfacets[39m[38;5;12m [39m[38;5;12m(metadata/properties)[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mcontent[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mnarrow[39m[38;5;12m [39m[38;5;12mdown[39m[38;5;12m [39m[38;5;12myou[39m[38;5;12m [39m[38;5;12msearch[39m[38;5;12m [39m[38;5;12mquickly[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mdynamically.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mProducts.PloneKeywordManager[0m[38;5;12m (https://github.com/collective/Products.PloneKeywordManager) - Change, merge and delete keywords/tags/subjects).[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mzopyx.typesense[0m[38;5;12m (https://github.com/zopyx/zopyx.typesense) - Plone integration with the external Typesense search server (open-source). This is an alternative to collective.solr or Elasticsearch.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mLayout[0m
|
||
|
||
[38;5;12m_Products and resources that help developers and users to create and manage site layouts._[39m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mplone.app.mosaic[0m[38;5;12m (https://github.com/plone/plone.app.mosaic) - Powerful and extendable editor that allows users to compose the content of a page with different tiles.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.cover[0m
|
||
[38;5;12m (https://github.com/collective/collective.cover) - 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.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.contentsections[0m[38;5;12m (https://github.com/collective/collective.contentsections) - Offers a block approach for Plone 6 Classic based entirely on Dexterity content types.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mTiles[0m
|
||
|
||
[38;5;12m_Add-ons that extend the layout editor plone.app.mosaic._[39m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mplone.app.standardtiles[0m[38;5;12m (https://github.com/plone/plone.app.standardtiles) - A set of standard tiles used by Mosaic, but can be used from any other tile manager.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.tiles.carousel[0m[38;5;12m (https://github.com/collective/collective.tiles.carousel) - A slider tile for plone.app.mosaic based on the carousel component of Bootstrap 5.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.tiles.advancedstatic[0m
|
||
[38;5;12m (https://github.com/collective/collective.tiles.advancedstatic) - A tile that shows html text (similar to the static text portlet), with some additional configuration like the possibility to add custom css classes.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.tiles.collection[0m[38;5;12m (https://github.com/collective/collective.tiles.collection) - A tile that shows a set of collection results with possibility to choose (and develop) custom layouts.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mEvents[0m
|
||
|
||
[38;5;12m_Add-ons that handle events and calendars._[39m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.easyformplugin.registration[0m[38;5;12m (https://github.com/collective/collective.easyformplugin.registration) - Add a behavior to collective.easyform to manage registration forms for events.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.fullcalendar[0m[38;5;12m (https://github.com/collective/collective.fullcalendar) - Display events in a nice calendar UI using https://fullcalendar.io.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.venue[0m[38;5;12m (https://github.com/collective/collective.venue) - Venue type with geolocation support for use with events or any other location specific content.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mForms[0m
|
||
|
||
[38;5;12m_Add-ons that allow generating and using forms._[39m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.easyform[0m[38;5;12m [39m[38;5;12m(https://github.com/collective/collective.easyform)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mEasyForm[39m[38;5;12m [39m[38;5;12mprovides[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mPlone[39m[38;5;12m [39m[38;5;12mform[39m[38;5;12m [39m[38;5;12mbuilder[39m[38;5;12m [39m[38;5;12mthrough-the-web[39m[38;5;12m [39m[38;5;12musing[39m[38;5;12m [39m[38;5;12mfields,[39m[38;5;12m [39m[38;5;12mwidgets,[39m[38;5;12m [39m[38;5;12mactions[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mvalidators.[39m[38;5;12m [39m[38;5;12mForm[39m[38;5;12m [39m[38;5;12minput[39m[38;5;12m [39m[38;5;12mcan[39m[38;5;12m [39m[38;5;12mbe[39m[38;5;12m [39m[38;5;12msaved[39m[38;5;12m [39m[38;5;12mor[39m[38;5;12m [39m[38;5;12memailed.[39m[38;5;12m [39m[38;5;12mA[39m[38;5;12m [39m[38;5;12msimple[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m
|
||
[38;5;12muser-friendly[39m[38;5;12m [39m[38;5;12minterface[39m[38;5;12m [39m[38;5;12mallows[39m[38;5;12m [39m[38;5;12mnon-programmers[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mcreate[39m[38;5;12m [39m[38;5;12mcustom[39m[38;5;12m [39m[38;5;12mforms.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.fieldedit[0m[38;5;12m (https://github.com/collective/collective.fieldedit) - A flexible form to edit selected fields of a content type.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.honeypot[0m[38;5;12m (https://github.com/collective/collective.honeypot) - Honeypot protection for forms.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.z3cform.datagridfield[0m[38;5;12m (https://github.com/collective/collective.z3cform.datagridfield) - A field with a datagrid (table), where each row is a sub form.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.z3cform.norobots[0m[38;5;12m (https://github.com/collective/collective.z3cform.norobots) - A "human" captcha widget based on a list of questions/answers.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mplone.formwidgets.hcaptcha[0m[38;5;12m (https://github.com/plone/plone.formwidget.hcaptcha) - HCaptcha widget to protect Plone from bots, spam, and other forms of automated abuse.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1myafowil.plone[0m[38;5;12m (https://github.com/bluedynamics/yafowil.plone) - Yafowil is a form library for Python. This is its Plone Integration package.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mMultilingual[0m
|
||
|
||
[38;5;12m_Add-ons to help manage multilingual sites._[39m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.linguatags[0m[38;5;12m (https://github.com/collective/collective.linguatags) - Multilingual Tags for Plone.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mplone.app.multilingualindexes[0m[38;5;12m (https://github.com/plone/plone.app.multilingualindexes) - Indexes optimized to query multilingual content made with plone.app.multilingual.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mMedia[0m
|
||
|
||
[38;5;12m_Add-ons that handle image, video and audio content._[39m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.autoscaling[0m[38;5;12m (https://github.com/collective/collective.autoscaling) - Automatic scaling of large images. Useful to reduce your database size when editors upload too large images.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.behavior.banner[0m[38;5;12m (https://github.com/collective/collective.behavior.banner) - A behavior to create banners and sliders from banners.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.lazysizes[0m[38;5;12m (https://github.com/collective/collective.lazysizes) - Integration of lazysizes, a lightweight lazy loader, into Plone.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.wavesurfer[0m[38;5;12m (https://github.com/collective/collective.wavesurfer) - Implementation of https://wavesurfer-js.org audio player for Plone.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mplone.app.imagecropping[0m[38;5;12m (https://github.com/collective/plone.app.imagecropping) - Crops Images in Plone manually using cropper JS library.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mplone.gallery[0m[38;5;12m (https://github.com/plone/plone.gallery) - Photo gallery view for Plone.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mredturtle.gallery[0m[38;5;12m (https://github.com/RedTurtle/redturtle.gallery) - Adds a gallery view with a carousel made with slick.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mwildcard.media[0m[38;5;12m (https://github.com/collective/wildcard.media) - Provides audio and video content types and behaviors.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mSecurity[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.explicitacquisition[0m[38;5;12m (https://github.com/collective/collective.explicitacquisition) - Disallow access to acquired content outside the current path.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.geotransform[0m[38;5;12m (https://github.com/collective/collective.geotransform) - Graceful E-mail Obfuscation for Plone.[39m
|
||
|
||
[38;2;255;187;0m[4mSEO[0m
|
||
|
||
[38;5;12m_Add-ons for search engine optimization._[39m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mbda.plone.gtm[0m[38;5;12m (https://github.com/bluedynamics/bda.plone.gtm) - Google Tag Manager Integration.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.behavior.seo[0m[38;5;12m (https://github.com/collective/collective.behavior.seo) - Adds extra fields used for SEO optimisation.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.splitsitemap[0m[38;5;12m (https://github.com/collective/collective.splitsitemap) - Provides a cached split sitemap on big public sites.[39m
|
||
|
||
[38;2;255;187;0m[4mAuthentication[0m
|
||
|
||
[38;5;12m_A list of authentication plugins, to integrate Plone with external user , Importsources and Migrations.import_[39m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mpas.plugins.ldap[0m[38;5;12m (https://github.com/collective/pas.plugins.ldap) - Provides users and groups from a LDAP directory.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mpas.plugins.authomatic[0m[38;5;12m (https://github.com/collective/pas.plugins.authomatic) - Authomatic OAuth1/OAuth2/OpenID Login Integration with Plone.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1miw.rejectanonymous[0m[38;5;12m [39m[38;5;12m(https://github.com/collective/iw.rejectanonymous)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mReject[39m[38;5;12m [39m[38;5;12munconditionnally[39m[38;5;12m [39m[38;5;12manonymous[39m[38;5;12m [39m[38;5;12musers[39m[38;5;12m [39m[38;5;12mfrom[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mPlone[39m[38;5;12m [39m[38;5;12msite,[39m[38;5;12m [39m[38;5;12mwithout[39m[38;5;12m [39m[38;5;12many[39m[38;5;12m [39m[38;5;12mchange[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12myour[39m[38;5;12m [39m[38;5;12msecurity[39m[38;5;12m [39m[38;5;12mpolicy[39m[38;5;12m [39m[38;5;12mmatrix[39m[38;5;12m [39m[38;5;12mor[39m[38;5;12m [39m[38;5;12mworkflows.[39m[38;5;12m [39m[38;5;12mThe[39m[38;5;12m [39m[38;5;12mbasic[39m[38;5;12m [39m[38;5;12muse[39m[38;5;12m [39m[38;5;12mcase[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12man[39m[38;5;12m [39m[38;5;12mextranet,[39m[38;5;12m [39m
|
||
[38;5;12mwhere[39m[38;5;12m [39m[38;5;12mall[39m[38;5;12m [39m[38;5;12mvisitors[39m[38;5;12m [39m[38;5;12mmust[39m[38;5;12m [39m[38;5;12mbe[39m[38;5;12m [39m[38;5;12mauthenticated.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mpas.plugins.headers[0m[38;5;12m (https://github.com/collective/pas.plugins.headers) - Reads request headers and uses them for authentication. Think SAML headers that are set by a front web server like Apache or nginx.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mdm.zope.saml2[0m[38;5;12m (https://pypi.org/project/dm.zope.saml2/) - Supports SAML2 based Single Sign-On.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.impersonate[0m[38;5;12m (https://github.com/collective/collective.impersonate) - Allow administrators to impersonate another user. Useful for verifying workflow/permission set up on real content.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.pwexpiry[0m[38;5;12m (https://github.com/collective/collective.pwexpiry) - Provideds methods for stronger user passwords in Plone and password attack protection.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mShop[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mbda.plone.productshop[0m[38;5;12m (https://github.com/bluedynamics/bda.plone.productshop) - Flexible and modular e-commerce solution for Plone.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mExport, Import and Migrations[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.exportimport[0m[38;5;12m (https://github.com/collective/collective.exportimport/) - 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.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.migrationhelpers[0m[38;5;12m (https://github.com/collective/collective.migrationhelpers/) - Helpers and examples to use during migrations.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.jsonify[0m[38;5;12m (https://github.com/collective/collective.jsonify) - Export Plone content to JSON.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.transmogrifier[0m[38;5;12m (https://github.com/collective/collective.transmogrifier) - A configurable pipeline, aimed at transforming content for import and export.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mThemes[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mplonetheme.tokyo[0m[38;5;12m (https://github.com/collective/plonetheme.tokyo) - Tokyo Theme for Plone implements Bootstrap 4 into Plone, with an emphasis on keeping things as close to "default" as possible.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mplonetheme.grueezibuesi[0m[38;5;12m (https://github.com/collective/plonetheme.grueezibuesi) - A kitten inspired theme for Plone 6.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.sidebar[0m[38;5;12m (https://github.com/collective/collective.sidebar) - A sidebar that consolidates toolbar and navigation.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.editablemenu[0m[38;5;12m (https://github.com/RedTurtle/collective.editablemenu) - A customizable navigation menu for Plone.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mDevelop[0m
|
||
|
||
[38;5;12m_Add-ons that help developing Plone_[39m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mProducts.PDBDebugMode[0m[38;5;12m [39m[38;5;12m(https://github.com/collective/Products.PDBDebugMode)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mPost-mortem[39m[38;5;12m [39m[38;5;12mdebugging:[39m[38;5;12m [39m[38;5;12mopen[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mpdb[39m[38;5;12m [39m[38;5;12msession[39m[38;5;12m [39m[38;5;12mwhenever[39m[38;5;12m [39m[38;5;12man[39m[38;5;12m [39m[38;5;12mexception[39m[38;5;12m [39m[38;5;12moccurs[39m[38;5;12m [39m[38;5;12mso[39m[38;5;12m [39m[38;5;12myou[39m[38;5;12m [39m[38;5;12myou[39m[38;5;12m [39m[38;5;12mcan[39m[38;5;12m [39m[38;5;12mfind[39m[38;5;12m [39m[38;5;12mout[39m[38;5;12m [39m[38;5;12mwhat[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12mgoing[39m[38;5;12m [39m[38;5;12mwrong.[39m[38;5;12m [39m[38;5;12mPlus:[39m[38;5;12m [39m[38;5;12mBy[39m[38;5;12m [39m[38;5;12madding[39m[38;5;12m [39m[38;5;12m/pdb[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12murl[39m[38;5;12m [39m[38;5;12myou[39m[38;5;12m [39m[38;5;12mend[39m[38;5;12m [39m[38;5;12mup[39m
|
||
[38;5;12myou[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mpdb[39m[38;5;12m [39m[38;5;12msession[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mcurrent[39m[38;5;12m [39m[38;5;12mcontext.[39m[38;5;12m [39m[38;5;12mA[39m[38;5;12m [39m[38;5;12mkiller[39m[38;5;12m [39m[38;5;12mtool[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mdevelopers.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mplone.app.debugtoolbar[0m[38;5;12m [39m[38;5;12m(https://github.com/plone/plone.app.debugtoolbar)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mA[39m[38;5;12m [39m[38;5;12mtoolbar[39m[38;5;12m [39m[38;5;12mthat[39m[38;5;12m [39m[38;5;12mshows[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mwealth[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mdebug[39m[38;5;12m [39m[38;5;12minformation[39m[38;5;12m [39m[38;5;12mabout[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mrunning[39m[38;5;12m [39m[38;5;12mPlone[39m[38;5;12m [39m[38;5;12msite[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mcontent[39m[38;5;12m [39m[38;5;12myou[39m[38;5;12m [39m[38;5;12mare[39m[38;5;12m [39m[38;5;12minspecting.[39m[38;5;12m [39m[38;5;12mAlso[39m[38;5;12m [39m[38;5;12mincludes[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12minteractive[39m[38;5;12m [39m[38;5;12mpython-shell,[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m
|
||
[38;5;12mTALES-expression[39m[38;5;12m [39m[38;5;12mevaluator[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mcode-reload.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mplone.reload[0m[38;5;12m (https://github.com/plone/plone.reload) - Code and configuration reload without server restarts.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mProducts.PrintingMailHost[0m[38;5;12m (https://github.com/collective/Products.PrintingMailHost) - Log mail messages instead of sending mail.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mexperimental.gracefulblobmissing[0m[38;5;12m (https://github.com/collective/experimental.gracefulblobmissing/) - Gracefully handle missing binary files in Plone.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.patchwatcher[0m[38;5;12m (https://github.com/collective/collective.patchwatcher) - A great companion for keeping track of patched or overridden files.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.relationhelpers[0m[38;5;12m (https://github.com/collective/collective.relationhelpers) - Helpers to manage, create, export and rebuild relations in Plone 5.x. For Plone 6 this was merged into Plone core.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mSysadmin[0m
|
||
|
||
[38;5;12m_Add-ons that help admins deploying and maintaining Plone_[39m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.catalogcleanup[0m[38;5;12m (https://github.com/collective/collective.catalogcleanup) - Removes data from the catalog that no longer belong to an actual object.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.fingerpointing[0m[38;5;12m (https://github.com/collective/collective.fingerpointing) - Keeps track of different events and write them down to an audit log.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.ifttt[0m[38;5;12m (https://github.com/collective/collective.ifttt) - 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.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.purgebyid[0m[38;5;12m (https://github.com/collective/collective.purgebyid) - Use tag-based cache invalidation in Plone (e.g. with Varnish's xkey module).[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.recipe.backup[0m[38;5;12m (https://github.com/collective/collective.recipe.backup) - Powerful and flexible backup/restore solution for Plone.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.regenv[0m[38;5;12m (https://github.com/collective/collective.regenv) - Override registry settings using environment variables.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.revisionmanager[0m[38;5;12m (https://github.com/collective/collective.revisionmanager) - Manage Products.CMFEditions histories that can bloat your database.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcollective.sentry[0m[38;5;12m (https://github.com/collective/collective.sentry) - Sentry integration to aggregate errors and help finding their causes.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mdm.historical[0m[38;5;12m (https://pypi.org/project/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.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mhaufe.requestmonitoring[0m[38;5;12m (https://github.com/collective/haufe.requestmonitoring) - Detailed request logging functionality on top of the publication events. Useful to find out what takes longer than it should.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mFinding more add-ons[0m
|
||
|
||
[38;5;12mIt can be hard to find the right add-on for your requirements.[39m
|
||
[38;5;12mHere are some tips:[39m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;12mMake a list of required features.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;12mLook in this list first.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;12mSearch pypi: https://pypi.org/search/?c=Framework+%3A%3A+Plone[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;12mSearch the collective organization on github: https://github.com/collective[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;12mSearch the plone organization on github: https://github.com/plone[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;12mGoogle for your requirements[39m
|
||
|
||
[38;5;12mOnce you have a shortlist, test these add-ons. Here are the main issues you need to test before you install an add-on on a production site:[39m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;12mTest all required features. Read but do not trust the documentation[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;12mCheck if the add-on runs on your required version[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;12mCheck if it is maintained[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;12mDoes it have i18n-support, i.e. is the user-interface translated to your language?[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;12mDoes it uninstall cleanly?[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;12mCheck for unwanted dependencies[39m
|
||
|
||
[38;5;12mOnce you found an add-on you like, you can ask the community if you made a good choice or if you missed something:[39m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;12mMessage Board: https://community.plone.org[39m
|
||
|
||
[38;5;12mIf you can't find something that fits your requirements 100% you can:[39m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;12mAdapt your requirements to what is available.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;12mInvest the time & money to customize an existing add-ons to better fit your needs.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;12mCreate a new add-on that does exactly what you need.[39m
|
||
|
||
[38;2;255;187;0m[4mOfficial resources[0m
|
||
|
||
[38;5;12m_Because Plone also has a lot of good official info resources_[39m
|
||
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mplone.org[0m[38;5;12m (https://plone.org/) - Official website for developers and community.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcommunity.plone.org[0m[38;5;12m (https://community.plone.org/) - Official community forum, the best place to get help.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mDiscord chat[0m[38;5;12m (https://discord.gg/zFY3EBbjaj) - Discord is the best way to chat with members of the Plone community.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mPlone support[0m[38;5;12m (https://plone.org/support) - Where to find help.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mdocs.plone.org[0m[38;5;12m (https://docs.plone.org/) - Official documentation for developers/integrators.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mPlone 6 Documentation[0m[38;5;12m (https://6.dev-docs.plone.org/) - Official documentation for the upcoming Plone 6 (work on progress).[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mtraining.plone.org[0m[38;5;12m (https://training.plone.org/) - Training classes for developers/integrators/users/designers.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mplone.api[0m[38;5;12m (https://6.dev-docs.plone.org/plone.api/index.html) - Documentation for plone.api.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mContributing[0m
|
||
|
||
[38;5;12mContributions are welcome! Read the [39m[38;5;14m[1mcontribution guidelines[0m[38;5;12m (contributing.md).[39m
|