Unsurprisingly, specifying a z3c.autoinclude entry point in your Plone
product egg means your ZCML gets automatically included. That’s great
because it means you don’t have to specify your product under the ZCML
section of your instance in buildout. One thing that isn’t so obvious
(it’s not mentioned that I can see on plone.org) is that if your
package is marked for ZCML autoinclude, then Plone will automatically
load an overrides.zcml file in your product.
Nothing hits you like a slippery wet fish in the face more than hitting
this issue and having it …
As the title suggests, there’s a conflict between a Zeo database
instance being run together with a Plone 4/Zope instance, and them
trying to share the same blob storage folder. But, this only happens if
you misunderstand or incorrectly set the option of shared-blob = off,
and blob-storage to be the same location as for Zeo in your buildout.
If that previous set of (seemingly jumbled) thoughts doesn’t make any
sense to you, then move along, nothing to see here.
By default, at the time of writing, blob support within Zeo runs with
the bushylayout, and creates …
Update: You should check out wildcard.fixpersistentutilities
- it’s a fantastic solution to problems like this. Many thanks to
Nathan Van Gheem, the author of the add on. Check out the link and
see how to install it (temporarily) on your Plone instance that
needs its site manager cleaned up.
Leftovers are typically useful when they’re in your fridge at home. They
mean you don’t have to mess around making lunch for the next day for
work, and can just grab them, and walk right out the door. Now,
leftovers in the zope.component SiteManager aren’t …
A nice ‘gotcha’ is the distinction between Zope’s schema.Date and
schema.Datetime. The difference is obvious and straightforward when the
two terms are laid out side-by-side: one is for dates only and the other
adds a time component. Where things fell down for me in my usage of
these fields with a Dexterity-based content type in Plone is the human
component. When these fields are mashed in together within a lot of
other text/Python/names, it’s easy to miss those 4 little letters of
‘time’. This lead me trying to use a DatetimeFieldWidget when I really …
Due to various reasons, the Products.LDAPUserFolder package available
for Plone and Zope doesn’t support POSIX groups. The ‘official’ (ish)
reason for this is because of the fact that these groups don’t store
full distinguished names (DNs) for members. It makes some degree of
sense, because a user ID like ‘david.test’ isn’t strictly unique. On
the other hand, these types of groups are quite common in LDAP
implementations; not supporting them without giving it at least half a
shot to find the user seems a bit strange.
These titles of my posts just keep getting longer and longer. For those
of you paying close attention (I know who you are), this is the next in
my series of getting the above-mentioned tools working together.
Previously, it was Centos 5.x, Jaunty (9.04), Karmic (9.10) and now
Lucid (10.04). Only subtly different, each of this distributions has
pretty much called for its own post on the matter of getting a working
Plone 3.x / Python 2.4 virtualenv installation going. So, here goes
this time around.
Good morning from the land down under and welcome to World Plone Day
2010! It’s right on the hour (well, just after now) and 28 April 2010 —
and yes, that’s World Plone Day to the uninitiated. To celebrate and to
mark the occasion, I’ll be holding a bit of a discussion today about
what Plone is, why it’s so useful, and what we, as users, are hanging
out for in Plone 4 and above. But, what fun is that without sweets to
eat? And what’s potentially tastier than Plone? Plone cupcakes!
Today, we’re looking at how to utilise computed fields within a
Dexterity-based content type. The specific use-case is that of having
two separate fields (first name and surname, for a Person type, for
example) generate the complete object title. The first part of this —
having the title of the content displayed correctly — is pretty
straight forward once you know what documentation to read and understand
how things happen. The second part — having the ID of the content
correctly generated to be first name/surname is slightly more complicated.
Writing unit tests (especial doctests) for your Plone product is
reasonably time consuming. For us developers, having tested code is
absolutely essential. This is especially true when clients are beating
down your door looking for a fully functional product and you need to
know what you’ve written works and isn’t going to fall over (just yet,
anyway). Web apps are able to be tested using a multitude of frameworks,
Zope’s doctest machinery is right there within your Plone product. In
order to write these, enter zope …
Ever the issue-magnet, I’ve spent the better part of my morning trying
to debug a mistmatched tag error from within some ZCML (aka XML for the
non-initiated). Essentially, the issue boiled down to the system
telling me that it was certain that I had a mistmatched tag within my
configuration, and presented me with the problematic XML tag (complete
with line numbers). However, life’s not always that simple.