One needs to include permissions of custom views:
class Listing(BaseContent):
schema = Listingschema
archetype_name = portal_type = meta_type = 'Listing'
typeDescription = "A listing, something offered or wanted"
content_icon = 'listing.gif'
actions = (dict(id='view',
name='View',
action='string:${object_url}/listing_view',
permission=(permissions.View,)),)
Otherwise unauthorized (or non-admin users) can't read it
To get access to the raw data of an attribute containing text/html, one
needs to pass the raw parameter:
<p tal:content='structure python:here.getBody(raw=1)'></p>
its not valid to access it directly
<p tal:content='structure python:here.getRawBody()'></p>
This will raise a security exception