So, I have this situation happen often enough, and I'm not sure what would be
the best way to approach it. The context is a Zope + CMF (latest) framework
deigned to host multiple sites, but where the content management part is purely
internal, we manage sites internally, and the public facing part is not
interactive to users, they can't log-in, register, or anything like that.
I have object types that need to exist just once, but need to do much more than
a standard tool is expected to.
The basic example is the search functionality and user interfaces. Less
obvious is a key feature of one major client site where they have a mapping
tool (as in geographical maps), and many other parts of the site revolve around
it, link to it, etc ... It's in many ways a utility, but also a
I cannot assume WHERE such an object might be wanted, one client site could
want it in one folder, and another in the root (becaue of navigation,
breadcrumbs, individual site layouts, etc ...).
With a mix of permissions, UniqueItem, export/import and so on, I can create
objects that can be created only once, and act much like "singletons" but it's
tricky and not quite proper ...
Now this utility concept comes along from the CA, and it's very handy.
The big problem for me seems to be that:
- They have to be in the root
- They're really meant for tools
I guess I'm wanting to have an object that is a hybrid tool/contentish object.
It provides functionality, but it also has a website visible interface
(actions, templates, etc ...). Also, it's not necessarily in the root.
Right now I use the catalog to "find" such objects, which is hardly elegant or
Also, some parts of these objects are user editable (notably the dublin-core
stuff), so I really want it to be at least partially manageable by content
managers. They however would never need workflow functionality for example.
The only thought I've had so far is:
- See if I can create a traditional tool, and then extend it with actions,
views, etc ... I need to have CMF management interfaces, and have them appear
though things like listFolderContents()
The simple example is the search stuff. I have a search form, search results,
etc ... build around a content-ish type that in turn uses portal_catalog. This
type should exist only once in the site. It is in many ways a tool, though it
has a user oriented web interface. It also needs things like DC Metadata
support (Corporate policy, ALL our web pages must have this), and maybe I want
to let a site owner configure other properties of their instance of the search
Of course, I can just try it, but I'm curious as to high level thoughts on this
type of object, how it can or should be handled, if anyone has faced this
before and how they approach it, etc ...
Of course, I can't see any way around utilities needing to be in the root :( I
suppose I can fake paths and breadcrumbs or some such thing if needed ...
Thanks, and a good week-end to you all!
Data Dissemination Division | Division de la diffusion des données
Data Management and Dissemination Branch | Direction de la gestion et de la
diffusion des données
Earth Sciences Sector | Secteur des sciences de la Terre
Natural Resources Canada | Ressources naturelles Canada
Ottawa, Canada K1A 0E9
Telephone | Téléphone 613-992-4902
Facsimile | Télécopieur 613-947-2410
Teletypewriter | Téléimprimeur 613-996-4397
Government of Canada | Gouvernement du Canada
Zope-CMF maillist - Zope-CMF@lists.zope.org
See http://collector.zope.org/CMF for bug reports and feature requests