Adds ftw.bridge support to plone.
The ftw.bridge tools are used for communication between several Plone instances. It is also possible to communicate with other web services. Requests between web services are proxied through the ftw.bridge.proxy. This makes it possible to move or reconfigure certain dependent webservices (clients) only by reconfiguring the proxy. The clients do not know where other target clients are located - they only communicate with the proxy directly, which forwards the requests to the target client.
ftw.bridge.client integrates ftw.bridge support into Plone. It provides tools and utilities for communication and authentication.
- Authentication: A PAS plugin authenticates requests and logs the user in on the target client without transmitting his password. Only requests from the configured ftw.bridge.proxy are authenticated.
- Requests: The IBridgeRequest utility is used for making requesting other clients. It is also able to make remote catalog queries and transmitting the result brains to the sources by using fake brains.
- Brain transport: By using a BrainRepresentation it is possible to get brains from a remote client. A BrainSerializer utility serializes and deserializes all brain metadata so that they can be used on the source client.
- Favorites: A browser view @@remote-add-favorite adds the context to the favorites on the remote client dashboard.
Installation and configuration
A installation of ftw.bridge.proxy is required.
Add ftw.bridge.client to your eggs in the buildout configuration:
[instance] eggs += ftw.bridge.client
Configure the ftw.bridge.proxy data as environment variables:
[instance] environment-vars += bridge_url http://localhost:1234/proxy bridge_ips 127.0.0.1, 192.168.1.10 bridge_client_id workspace
Install the generic setup profile. This registers the portlet and installs a PAS plugin.
The configuration options are set using environment variables:
Runs with Plone 4.1, 4.2 or 4.3.
This package is copyright by 4teamwork.
ftw.bridge.client is licensed under GNU General Public License, version 2.
- Watcher portlet feed: fix error when object was deleted. [jone]
- Drop Plone < 4.3 support. [elioschmutz]
- Add types_to_ignore registry entry for the watcher feed. All defined portaltypes will not be listed in the watcher portlet. [elioschmutz]
- Catalog requests: serialize python datetime objects. [jone]
- Catalog requests: set response headers. [jone]
- Brain serializer: fix JSON error when there persistent mutables in the catalog. [jone]
Implement uninstall profile. [jone]
Use ftw.profilehook instead of custom import steps (setuphandlers). [jone]
ftw.solr compatibility hacks
- copy queries as workaround for https://github.com/4teamwork/ftw.solr/issues/41
- remove path when it is “/” as workaround for https://github.com/4teamwork/ftw.solr/issues/42
- do not assume that brains are acquisition wrapped, solr flairs are not.
- capture DateTime syntax error when Solr dates are broken.
Watcher portlet: fix encoding problem when having discussion items. [jone]
- Drop support for older ftw.tabbedview versions. Requires ftw.tabbedview>=3.2.3. This fixes a ZCML autoinclude load order issue. [jone]
- Fix “sort_order” bug in catalog query view. The problem is that the catalog does not support unicode strings. [jone]
- Fix watcher.js (replace jq with $). [mathias.leimgruber]
- onegov.ch approved: add badge to readme. [jone]
- Fix proxy support: validate last proxy IP. [jone]
- View / favorite actions: handle typesUseViewActionInListings so that files and images are not downloaded but displayed. [jone]
- Tabbedview integration: disable custom sorting since we have a lazy result. [jone]
- Add MANIFEST.in and include all resources. [jone]
- Update readme (fix restructured text markup). [jone]
- Initial implementation. [jone]