[Zope3-Users] Re: looking for something like getUtilitiesFor...
Chris Withers
chris at simplistix.co.uk
Tue Sep 19 03:02:56 EDT 2006
Philipp von Weitershausen wrote:
> Utilities are never created when they're looked up. They're created when
> registered. Singletons (instances) are registered with the utility
> registry, never factories.
Ah, yes, of course, I think I'm looking for local utilities...
>> and all I'm then doing with the list is generating a drop-down for
>> people to select from...
>
> getUtilitiesFor is all we have. If you want that drop-down, consider
> using UtilityVocabulary from zope.app.component.vocabulary, e.g.:
>
> class FooUtilityNames(UtilityVocabulary):
> interface = IFoo
> nameOnly = True
> classProvides(IVocabularyFactory)
>
> Register that as a utility:
>
> <utility component="...FooUtilityNames" name="Foo Utilities"/>
>
> Then you can refer to it from a schema definition (Choice field).
Hmm, okay, how have the UI's for the creation of local utilities been
built? (I'm thinking there must be some kind of drop-down somewhere with
an "Add list" as in Zope 2's ZMI, and that must include the available
types of local utility?)
Also, more theoretically, would you see indexes for a catalog as being
local utilities. If not, what would you see them as being?
cheers,
Chris
--
Simplistix - Content Management, Zope & Python Consulting
- http://www.simplistix.co.uk
More information about the Zope3-users
mailing list