Staging and publishing addon for Plone contents.
Project description
Introduction
The ftw.publisher packages provide tools for publishing plone contents from one instance to another.
By providing a simple mechanism to invoke the publishing, it’s possible to set up the publisher in a variety of ways, such as workflow bound, manually invoked or automated publication.
The ftw.publisher package library also provides a variety of surveillance and analysis tools for making maintenance confortable.
Staging
The ftw.publisher is meant to be used in a environment where there are two seperate plone-sites which do not share their database. The editors work on a editorial site and the contents are published to a public site when they are ready. Setting up such an environment with ftw.publisher let you have a powerful staging solution with completly isolated instances.
Network security
Using an environment with two isolated installations makes it possible to protect the editorial site with firewalls or to put it even in a private company network. This way the editorial site is completly protected from the internet, which is in some use cases mandatory for protecting other - unpublished - contents (for example when publishing the internet contents from the intranet).
Component support
Archetypes objects
Standard Archetypes field types
Topics: criterias are published automatically when topic is published
Backreferences - references are added automatically as soon both objects are published
Additional interfaces added on /manage_interfaces or by other products
Contextual portlets
Properties
With the publisher adapter structure it is as easy as creating another adapter to support other components. For instance annotations are not supported by design, because you may not wan’t to publish all annotations but only certain ones. Therefore it is easyer to implement custom adapters for those annotations which need to be published.
Packages
Mandatory packages:
- ftw.publisher.sender
The sender package provides a configuration panel and is responsible for sending contents to the target instance. It’s usually installed on a editorial site. ftw.publisher.sender source | ftw.publisher.sender pypi
- ftw.publisher.receiver
The receiver package is installed on the public site and is the target of the publishing process. It has tools for receiving a request and creating, updating or deleting objects which should be published or retrieved. ftw.publisher.receiver source | ftw.publisher.receiver pypi
- ftw.publisher.core
The core package is installed on both, sender and receiver instances. It provides adapters for serializing and unserializing components of plone contents (such as portlets). ftw.publisher.core source | ftw.publisher.core pypi
Optional packages:
- ftw.publisher.example
This example package provides a publisher-bound workflow and shows how to write an integration package for this use case. ftw.publisher.example source | ftw.publisher.example pypi
Installation & Usage
Take a look at the ftw.pubisher.example package and the example buildout. See also the wiki.
Links
The main project package is ftw.publisher.sender since it contains all the configuration panels and the most tools - but without the other mandatory packages it will not work. Here are some additional links:
Publisher packages on pypi: http://pypi.python.org/pypi?%3Aaction=search&term=ftw.publisher&submit=search
Main github project repository: https://github.com/4teamwork/ftw.publisher.sender
Issue tracker: https://github.com/4teamwork/ftw.publisher.sender/issues
Wiki: https://github.com/4teamwork/ftw.publisher.sender/wiki
Credits
Sponsored by 4teamwork GmbH.
Authors:
Changelog
1.5
Fixed authentication problem (base64) (issue #1) [jbaumann]
Fix PloneFormGen publish support. Recursively publish all items from a FormFolder. [10.06.2011, mathias.leimgruber]
1.4
Cleanup, move to github (https://github.com/4teamwork/ftw.publisher.sender) and prepare for release. [jbaumann]
1.3
Added some german translations and added plain english po-file [28.12.2010, mathias.leimgruber]
Merged lock-config-branch into trunk Bei Direktem Publishing ohne Queu macht das Locking keinen Sinn. Daher kann man nun das Locking einschalten/ausschalten. [13.07.2010, mathias.leimgruber]
Added new IBeforeQueueExecutionEvent, which allows third party packages to do dome stuff. [jbaumann]
1.2
Added missing message factory import in publishploneformgen.py [24.08.2010, jbaumann]
Added QueueExecutedEvent [20.08.2010, jbaumann]
Added viewlet manager on configlet page. [19.08.2010, jbaumann]
Do not catch BadStatusLine exceptions since the should be moved to the executed jobs list like when regular exceptions occur. [19.08.2010, jbaumann]
Added batching to executed jobs view [17.08.2010, jbaumann]
Added upgrade step for migrating the executed jobs storage to IOBTree [17.08.2010, jbaumann]
Added some storage tests and changed the executed jobs storage to a IOBTree storage for better performance. [17.08.2010, jbaumann]
UPGRADES: * portal_setup: run the ftw.publisher.sender upgrade step for migrating storage
1.1
Issue #148 Robustes Error-Handling, falls auf dem Ziel-System der Publisher nicht erreichbar ist [02.07.2010, jbaumann]
Use the translated communication state names [01.07.2010, jbaumann]
Issue #151 ftw.publisher: getDataFolder nicht persistent speichern [28.06.2010, jbaumann]
Show json cache path in configuration [25.06.2010, jbaumann]
Executed jobs list: made more robust ; reversed listing [25.06.2010, jbaumann]
1.0c4
Fixed bad adapter usage [24.06.2010, jbaumann]
1.0c3
Added string encoding / decoding methods which work with json [24.06.2010, jbaumann]
1.0c2
Issue #150 publisher: Move-Jobs funktionieren nicht [22.06.2010, jbaumann]
Fixed fixed namespace_packages in setup.py [22.06.2010, jbaumann]
1.0c1
Locking while executing queue [15.06.2010, jbaumann]
Added possiblity to disable automatic publishing in control panel [15.06.2010, jbaumann]
Added possibility to execute / delete a single job in the queue [15.06.2010, jbaumann]
Added executed jobs list [15.06.2010, jbaumann]
Added publisher control panel icon [14.06.2010, jbaumann]
Implemented blacklist support [14.06.2010, jbaumann]
Added modification date to medata: it will be set by the receiver [09.06.2010, jbaumann]
Fixed encoding problem: the dumped data should always contain unicode strings [04.06.2010, jbaumann]
Client-Objects are now IAttributeAnnotable [17.05.2010, jbaumann]
Using z3c.autoinclude for including zcml-dependencies [07.05.2010, jbaumann]
implement rename action [08.04.2010, mle]
Initial Release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.