Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

Download
ActivePython
INSTALL>
pypm install bda.contentproxy

How to install bda.contentproxy

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install bda.contentproxy
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
1.0 Available View build log
1.0-beta6 Available View build log
Windows (64-bit)
1.0 Available View build log
1.0-beta6 Available View build log
Mac OS X (10.5+)
1.0 Available View build log
1.0-beta6 Available View build log
Linux (32-bit)
1.0 Available View build log
1.0-beta6 Available View build log
Linux (64-bit)
1.0 Available View build log
1.0-beta6 Available View build log
Web
 
License
General Public Licence
Dependencies
Depended by
Lastest release
version 1.0 on Jan 5th, 2011

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.:

System Message: WARNING/2 (<string>, line 33)

Literal block expected; none found.

http://your.domain.net/some/path/@@proxy/0c6e067822a520eabcfdd1e67d209d96

  • The other way is a simple Archetype with a UID reference field

System Message: WARNING/2 (<string>, line 36)

Bullet list ends without a blank line; unexpected unindent.

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

System Message: ERROR/3 (<string>, line 58)

Inconsistent literal block quoting.

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. Make sure to have bda.resultduplexer available
  3. Import the bda.contentproxy extension profile in your plone instance.

This Product is tested with Plone 3.0

Credits

System Message: WARNING/2 (<string>, line 94)

Bullet list ends without a blank line; unexpected unindent.

Squarewave Computing, BlueDynamics Alliance, Austria

System Message: WARNING/2 (<string>, line 97)

Bullet list ends without a blank line; unexpected unindent.

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
[jensens] 2010-08-31
  • version handling in setup.py
1.0 beta6
[rnix] 2010-03-10
  • remove resultduplexer dependency. resultduplexer depends on contentproxy now.
  • try to lookup browser view by template name before calling main macro.
[maurits] 2009-12-09
  • version increase
1.0 beta5
[maurits] 2009-12-09
  • Find the referenced object via the uid_catalog instead of the

System Message: WARNING/2 (<string>, line 145)

Bullet list ends without a blank line; unexpected unindent.

portal_catalog so a clear and rebuild of the portal_catalog does not throw a ContentLookupError when the proxy is indexed before its referenced proxied content.

[rnix] 2008-03-08
  • version increase
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

System Message: WARNING/2 (<string>, line 165)

Bullet list ends without a blank line; unexpected unindent.

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

System Message: WARNING/2 (<string>, line 196)

Bullet list ends without a blank line; unexpected unindent.

elements

  • added kssregistry and added expression to at.kss not to be loaded when proxy

System Message: WARNING/2 (<string>, line 199)

Bullet list ends without a blank line; unexpected unindent.

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.

Subscribe to package updates

Last updated Jan 5th, 2011

Download Stats

Last month:1

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.