NiteoWeb attended a Pyramid sprint in Halle, Germany

Gocept, a company based in Halle (Saale), Germany, organized a Pyramid sprint, which lasted from 15th to 17th August 2013. The sprint took place at their headquarters which, by the way, has a lovely garden perfectly suited for relaxation, eating, drinking and development (not necessarily in that order!). A bunch of NiteoWeb former and present employees took part, too. Despite…

Setuptools – run custom code in setup.py

A week or so ago I started developing an experimental Python package for one of our projects. At some point I realized that it would be convenient to automatically execute some additional initialization code during the package installation process (i.e. when "python setup.py install" is run). This can be achived by subclassing the setuptools.command.install class and overriding its run() method,…

Write a Plone CLI maintenance script

This is a quick tip on how to write your own command line maintenance scripts for your Plone application. Recently one of our clients expressed a need for a maintenance script which would walk the database of a Plone application and, for every object, print out all the roles users have assigned on that object. Since we were dealing with…

Convert z3c.form field desc. to tooltip

Let's say you have a typical form with some input fields. By default z3c.form displays a description (if provided in form definition) above each form field, like in the screenshot below for example: Sometimes however, you might want to make things a little bit different. Perhaps you want to save some screen space by hiding field descriptions, but still want…

How to change element’s ID with Diazo?

A common scenario: on your website all subpages share a common header, but you want a different header on the front page. Let's say you differentiate between both header versions by their ID attribute and define two different sets of CSS rules for each version. When applying Diazo rules to a theme file, you therefore need to change header element's…