Skip to main content

module providing content proxying for plone.

Project description

Overview

Module providing some flavour of content proxy for Plone. It works for all kinds of Archetypes based types.

Consider that the Archetypes UID must be present in the portal_catalog (default in plone 3) and the view for the Type must come along with a main macro in it’s view, i.e.:

<metal:main fill-slot="main">
  <tal:main-macro metal:define-macro="main">

  <!-- type view goes here -->

  </tal:main-macro>
</metal:main>

This macro is called on the proxied content and is inserted into the main slot of the main_template in the current context.

Two kinds of proxy behaviour are provided:

  • A placeless proxy

    This is a simple BrowserView named proxy, with its own traverser resolving the trailing part of the URL as the Archetype UID, i.e.:

    http://your.domain.net/some/path/@@proxy/0c6e067822a520eabcfdd1e67d209d96
  • The other way is a simple Archetype with a UID reference field The first kind of proxy may takes place when rendering search results, the other one might be used to insert remote content to a specified place in the folder hirarchy.

KSS

Archetypes provides inline editing stuff. Since the proxied content is indeed rendered as is, the KSS rules for archetypes apply, but on the wrong context, so we set a condition inside the kssregistry on at.kss resource to determine wether it should be loaded or not.

If you use the proxy not via the placeless proxy or the proxy type, but out of your own application, you might have to add your own conditional rule to avoid at.kss to be loaded. This can be done by the IContentProxiedRule interface.

To provide your custom rule, implement this interface and register your object as multiadapter for context and request, i.e.:

<adapter
  for="foo.bar.interfaces.IBaz
       zope.publisher.interfaces.http.IHTTPRequest"
  factory="foo.bar.baz.Baz"/>

A Base Rule object as well as a default rule object exist in bda.contentproxy.proxy. The default rule is registered for *. if you want to provide your own general rule, you have to define your rule implementation in an overrides.zcml, but its strongly recommended to avoid this due to several applications registering their own general rules, that might end in confusing side effects. better bind to the context interface explicit.

Installation

  1. Make the egg available in your instance,

  2. Import the bda.contentproxy extension profile in your plone instance.

This Product is tested with Plone 3.0

Credits

  • Written by Robert Niederreiter Squarewave Computing, BlueDynamics Alliance, Austria

  • Ideas and contributions: Jens Klein BlueDynamics Alliance, Klein & Partner KEG, Austria

  • This addon is an outcome of the UN ILO Better Work project.

Licence

  • GNU General Public Licence 2.0 or later

Changelog

1.0 beta4

[rnix] 2008-03-08

  • Added Interface to define at.kss loading rule

  • Use a browserview for the expression used in kssregistry to determine wether to load at.kss or not. This ensures the ability to customize the condition logic.

  • Made this module installable via Quickinstaller.

[rnix] 2008-02-28

  • version increase

1.0 beta3

[jensens] 2008-02-27

  • formatted README.txt to valid ReST.

  • added LinguaPlone support.

  • removed title and fetch it from proxy

1.0 beta2

[rnix] 2008-02-21

  • added css file to overwrite the :hover event on .inlineEditable classed elements

  • added kssregistry and added expression to at.kss not to be loaded when proxy type or placeless proxy view is displayed to disable inline editing. in future this might be done by kss or js directly with some kind of event unbinding instead of dirty resource registry conditions.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bda.contentproxy-1.0-beta4.tar.gz (14.2 kB view details)

Uploaded Source

File details

Details for the file bda.contentproxy-1.0-beta4.tar.gz.

File metadata

File hashes

Hashes for bda.contentproxy-1.0-beta4.tar.gz
Algorithm Hash digest
SHA256 c7b846aca7d832054558838ec3f1095cdb934ff553627ed7711efa4b6b2ae07e
MD5 292dfe4aae829b63a47c784d37a491b9
BLAKE2b-256 2043c94add6f1a86a4bd0140de703c7a9a3acd81597aef1d94937f9aa4cb3a90

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page