Hi, I'm MrTango

    Category: plone

  1. Plone: Restrict subscriber to Plone sides where the addon is enabled

    Since subscribers and adapters are not allowing us to define a browser layer in the registration, like browser views do, we have to find another way, to make sure our subscribe only effects the Plone side where we enable the addon.

  2. Install Plone 6 classic UI with PDM

    PDM is a modern Python package manager, which can install Plone and it's dependencies and keep it consistent.

  3. Realizing an optgroup-Tag based selection in Plone, by using TreeVocabularies

    Optgroup tags in selections are a good way of grouping items of a selection list. In Plone you can archive this by using a TreeVocabulary with a SelectionWidget.

  4. Building multi column add/edit forms for DX Content Types in Plone

    Edit and Add forms in Plone are usually auto generated from a list of defined fields and fieldsets. With CSS Grid it is today easy to build multi column forms and views for them.

  5. Define registry settings for Plone 5 and Plone 6 in your add-on

    Since Plone 6 moved a lot of settings from Products.CMFPlone to plone.base, the registry settings between Plone 5 and 6 are differ a bit. I'm showing you how to register settings for both major Plone versions.

  6. Fixing PDF indexing / missing pdf_to_text transform in Plone

    If poppler-utils was not installed when a Plone site was created, the pdf transforms are missing. Just installing poppler-utils will not ad them automatically. We show here, how to fix it in the debug shell.

  7. Assign permission roles based on workflow state and group membership

    How to assign permission roles based on workflow state and group membership.

  8. Plone: subscribe to an event when a new user is registered

    When a new user is registered in Plone, we want to do automated actions with the user.

  9. Smart compact vhost config for nginx Webserver as HTTPS-Proxy for Plone CMS

    Nginx is one of the most used webserver/proxy in front of Plone CMS. This example showes how to setup a compact virtual host for Plone.

  10. Using Caddy Webserver as HTTPS-Proxy for Plone

    Caddy supports configuration free HTTPS powered by Let's encrypt certificates. This example showes how to setup a virtual host for Plone.

  11. Transmogrifier: skip existing items

    How to use collective.transmogrifier.sections.condition to skip existing items, by a catalog query.

  12. The new generation of bobtemplates.plone / plonecli

    the Plone package generator and command line client, bobtemplates.plone/plonecli

  13. Useful stylesheets for layouts done with Plone's Mosaic Editor

    Some useful stylesheets (CSS) for the Plone Grid Editor Mosaic.

  14. Writing a custom service for Plone REST API

    The Plone REST API allows you to reduce client resquests, by expanding a response to include additional information in one single response. This post shows how you can write a service and expand it.

  15. Writing a custom serializer for Plone REST API

    The Plone REST API already provides a lot of useful information and functions by default, but sometimes you want a bit more customization on the backend, for easier usage on the client side.

  16. Iterating over Plone Dexterity fields

    Every Dexterity based object in Plone has a fields defined by one or more schemas. Here is a generic way to iterate over them. This includes also fields defined in behaviors.

  17. Setting pattern_options in a Plone relation field widget

    To use the full power of a RelationWidget in Plone 5, you proably want to set some of the pattern_options like selectableTypes for the widget.

  18. Plone command line interface - plonecli

    PloneConf after conference sprint report on plonecli and bobtemplates.plone.