again, thank you andrew!

after struggling around with generic setup and portal catalog, i think i got it.

so here is what i did:

first i've added a method to setuphandlers.py:
from Products.CMFCore.utils import getToolByName

def updateCatalog(context):
    """update catalog for displaying profile structure correct"""
    catalog = getToolByName(context.getSite(), 'portal_catalog')
    query = {}
    # add any type you need
    query["Type"] = ("Large Folder", "Page")
    res = catalog.searchResults(**query)
    for  r in res:
        r.getObject().update()

the next step was to register this method in import_steps.xml
  <import-step id="<project>.theme.catalogUpdate"
               version="20081209-01"
               handler="<project>.theme.setuphandlers.updateCatalog"
               title="<project> Theme: final import steps">
    <dependency step="plone-final" />
    This step will update the gs structure in the catalog
  </import-step>

final step:
uninstalled the theme (to get rid of the generated folders) and installed it again. now i have the title from .properties inside the listings, sections and everything else.

but i think there is a drawback:
on a larger plone site, having lots of folders, pages, etc the catalog- query and update on the objects might take some time.

iham



On Dec 2, 2008, at 11:43 PM, Andrew Burkhalter wrote:

Oops. Meant to reply all.  I'll send the same message to the list.

On Tue, Dec 2, 2008 at 2:43 PM, Andrew Burkhalter <[EMAIL PROTECTED] > wrote: I was a bit hasty on the details in my initial response. The reason you're only getting ids within listing views (i.e. navigation, folder listings, etc) is because these are entirely driven from catalog queries. Roughly what's happening when your desired GenericSetup site structure is created is the following:

- Create an instance of some type with an id of foo
- The creation of this instance is done by the portal_types tool and the particular method leads to a catalog entry with the id, path, and type - From this point forward catalog listings will begin to return the item in question based on what it has available in an item's catalog brains - Next it parses your .properties file setting things like the title and description. It does not however, reindex the item in the catalog.

Thus, when you go to an item's full detail page the object has been "woken up" and the presentation is happening entirely based on the values of the content object, not what was in the brain. This also explains why editing and saving an item causes things to work as expected in listing views. That triggers a recatologing.

You'll just need to provide the recataloging of each item yourself for consistent behavior across listing and detail pages.

Andrew



On Tue, Dec 2, 2008 at 12:05 PM, Hilbert Markus <[EMAIL PROTECTED] > wrote:
hi andrew,

i'll check that.

thanks for your help


there is another point i forgot to mention:

when calling the folder 'foo' on the portal like localhost:8080/ myportal/foo the title displayed in the standard folder view (documentfirstheading) is 'FooBar', which is the title i set inside foo/.properties

iham


On Dec 2, 2008, at 8:58 AM, Andrew Burkhalter wrote:

The last I checked, there was no way to trigger a portal_catalog rebuild/update upon content creation. You'll need to either rebuild the catalog or reindex your created objects after the structure step has run within a custom import step.

See for example all of the 'reindexObject' method calls here:
http://svn.plone.org/svn/plone/Plone/tags/3.1.7/Products/CMFPlone/setuphandlers.py

Hope that helps.

Andrew


On Thu, Nov 27, 2008 at 6:38 AM, Hilbert Markus <[EMAIL PROTECTED] > wrote:
hi list,

i'm interested in creating some folders by using generic setup.
i did that following this instruction:
http://plone.org/documentation/how-to/add-a-folder-structure-to-your-product

my profile looks like that:
profile/
       default/
               structure/
.objects # containing foo,Large Plone Folder
                       foo/
                               .objects        # file is empty
                               .properties

.properties contains
[DEFAULT]
description = This is a foobar folder
title = FooBar

after installing the product a 'foo (FooBar)'-folder has been created in portal-root. but on the plone site (not zmi) the folders displayed title (in portal-section and contents-list) is 'foo' like the name of the folder on the filesystem.

after clicking edit and save without any changes the correct title FooBar is displayed.
i think thats not the way it should be...

any ideas/help?

ah, my setup (buildout-based)
   *  Plone 3.1.7
   * CMF 2.1.1
   * Zope (Zope 2.10.6-final, python 2.4.4, darwin)
* Python 2.4.4 (#1, Nov 17 2008, 15:59:05) [GCC 4.0.1 (Apple Inc. build 5465)]
   * PIL 1.1.6


iham


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





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

Reply via email to