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