Skip to main content

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 <https://github.com/4teamwork/ftw.publisher.sender>`_ |
`ftw.publisher.sender pypi <http://pypi.python.org/pypi/ftw.publisher.sender>`_

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 <https://github.com/4teamwork/ftw.publisher.receiver>`_ |
`ftw.publisher.receiver pypi <http://pypi.python.org/pypi/ftw.publisher.receiver>`_

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 <https://github.com/4teamwork/ftw.publisher.core>`_ |
`ftw.publisher.core pypi <http://pypi.python.org/pypi/ftw.publisher.core>`_


*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 <https://github.com/4teamwork/ftw.publisher.example>`_ |
`ftw.publisher.example pypi <http://pypi.python.org/pypi/ftw.publisher.example>`_


Installation & Usage
====================

Take a look at the
`ftw.pubisher.example <https://github.com/4teamwork/ftw.publisher.example>`_
package and the
`example buildout <https://github.com/4teamwork/ftw.publisher-example-buildout>`_.
See also the `wiki https://github.com/4teamwork/ftw.publisher.sender/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 <http://www.4teamwork.ch/>`_.

Authors:

- `jone <http://github.com/jone>`_
- `maethu <https://github.com/maethu>`_

Changelog
=========


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


Download files

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

Source Distribution

ftw.publisher.sender-1.4.tar.gz (37.7 kB view hashes)

Uploaded Source

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