-
Dear Plone, welcome to year 2014
Read more »: Dear Plone, welcome to year 2014TL;DR: Production-level Plone on free-tier Heroku: https://github.com/niteoweb/heroku-buildpack-plone First, a bit of history: it was year 2006 and I was realizing that I was not made to be an academic. I made my first strides into entrepreneurship and being in IT, the first logical step was to create a few websites and try to get paid…
-
NiteoWeb attended a Pyramid sprint in Halle, Germany
Read more »: NiteoWeb attended a Pyramid sprint in Halle, GermanyGocept, 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…
-
Setuptools – run custom code in setup.py
Read more »: Setuptools – run custom code in setup.pyA 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…
-
Write a Plone CLI maintenance script
Read more »: Write a Plone CLI maintenance scriptThis 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.…
-
Load overrides.zcml in plone.app.testing
Read more »: Load overrides.zcml in plone.app.testingToday I was working on a project where we use overrides.zcml to easily override some default Plone behavior. All was working fine (in the browser, that is) until I started writing tests for our custom behavior. First thing I noticed was that the overrides.zcml was not loaded in our test layer. “Doh, I need to…
-
Dexterity vs. Archetypes
Read more »: Dexterity vs. ArchetypesTL;DR: migrating your Archetypes content to Dexterity shrinks your Data.fs considerably! I’ve started looking into migrating Archetypes content in one of the sites we’re running to Dexterity. But before I started coding I wanted to make sure that the juice is worth the squeeze. The site contains roughly 130k content objects. Most of them are…
-
Raspberry PI boot to browser
Read more »: Raspberry PI boot to browserHere at NiteoWeb, we use various SaaS monitoring and logging providers such as Librato Metrics and Papertrail to keep on top of our Plone and Pyramid projects. Hence the need to have a wall-mounted screen to display various graphs and outputs these services. What better way to drive the screen than a Raspberry Pi! Getting…
-
Convert z3c.form field desc. to tooltip
Read more »: Convert z3c.form field desc. to tooltipLet’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…
-
How to change element’s ID with Diazo?
Read more »: 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…