Dorneles Treméa wrote:
Hey Maurits,

Archetypes
----------

With archetypes you can add an index for a field in your schema, e.g.:

     index="FieldIndex"

Or you can add that field to the index *and* to the metadata:

     index="FieldIndex:brains"

I do not think it is possible to add a field *only* to the metadata
with Archetypes, so not in the Index as well.  Am I correct here?

IIRC, you can use something like:

     index=":brains"

GenericSetup
------------

With GenericSetup you can add an index in profiles/default/catalog.xml:

 <index name="getHours" meta_type="FieldIndex">
  <indexed_attr value="getHours"/>

and you can add a column to the metadata:

 <column value="getHours"/>


Of course when you are aiming for compatibility with Plone 2.1 you
should just use the Archetypes way.

But for Plone 2.5 or 3.0, I wonder if it is better to rely on
GenericSetup only.

What do you think?

/me will continue to use the AT approach when possible (e.g. when
an AT schema is available) and the GS approach when it's not...

You can't do that (sensible/easily) if you use GS-based configuration of FTIs. the 'index' thing is used when you call installTypes() in an Install.py. With GS, there is no code calling installTypes() (and you probably don't want it to) so there is nothing processing the schema for indexes.

I find the GS approach much more natural and sensible anyway. Indexes are inhrently global things, in that if you add an index it will try to find a value every single object that's being cataloged. Tying it to an AT schema makes it look like it's only for that particular field on that particular object, which is wrong. It also mixes "runtime" code (the schema) and install-support code.

Martin


_______________________________________________
Product-Developers mailing list
[email protected]
http://lists.plone.org/mailman/listinfo/product-developers

Reply via email to