Let's talk a bit …
Aug 12th
Beware of uppercase letters in your config files
We got a surprise using a [theme:parameters]
variable in the manifest.cfg
of one of our Diazo theme.
We were defining a parameter like that :
isFrontPage = context/@@isFrontPage
and then we were using it in the rules :
<drop css:content="#footer-sitemap" if="$isFrontPage" />
But we got an error after having the Theme installed. And we found that the parameter we got in Theme control panel was “isfrontpage” and not “isFrontPage” so the “isFrontPage” parameter used in rules was undefined !
This is happening because plone.app.theming
(as plone.resource
, Products.GenericSetup
, …) is using python’s ConfigParser
to parse the manifest.cfg
file (“from ConfigParser import ConfigParser
“) and it does a lower()
on the sections and variables that you put in your config files.
This is the same for RawConfigParser
and SafeConfigParser
.
So … don’t ever use camelcase there