This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

What is it?

vice.plone.outbound provides Plone with the ability to syndicate web feeds (rss, atom, etc). It is configurable by users and extensible by developers.

Plone requirement: version 3.1


vice.plone.outbound gives you outbound syndication for all “out of the box” Archetype Content Types (ATCT) and subclasses. Any folder (including the site root) can be configured with any number of feeds. This can be used to provide granular or bulk content feeds in multiple formats.

Any feed can be set as recursive or not. A recursive feed will include all the content at the location of the feed as well as any content contained in sub-folders of the feed at any depth. A non-recursive feed will only syndicate the content directly present at the level of the feed.

Auto discover can be set on any feed. This will enable modern aggregators and browsers to “sense” the location of the feed by simply providing the URL for the feed folder. NB only one feed per folder (location) should be configured with auto discover on.

Users may also include a “Published URL” on any feed. This will enable site managers to easily route all traffic through services like “feedburner”, by first registering the local syndicated feed with feedburner, and then entering the respective feedburner URL as the “Published URL” for the feed.

Enabling or disabling feeds can be done for the whole site (see the add-on product configuration for “Syndication (Outbound)” in the Plone control panel), on any folder, or each feed itself.

There are global and per folder configuration options for the maximum number of items to be syndicated from any respective feed as well. The modified date is used to sort all feed content, with the most recently added or modified items appering first.

Installation instructions are in INSTALL.txt.


(name of developer listed in brackets)

vice.plone.outbound - 1.0rc2 (not yet released)

  • Fixed reST errors and improved documentation [pbugni]

vice.plone.outbound - 1.0rc1 To be released October 12, 2008

  • Removed viewlets and configlet on uninstall. [MatthewWilkes]
  • Add a doctest to show how to create new adapters for feeds and items. [pilz]
  • Turn off KSS validation of the feed config grid. Because the name is a required attribute, KSS was reporting an error unless name was filled in first. Now, the name field will only be checked for presence during server round trips. Thanks to Godefroid for the KSS hints! Was [pbugni and derek_richardson]
  • Use plone.browserlayer to prevent availability of pages and views until installation (via GS or quickinstaller). This solves the symptom where, when vice eggs were present but installation had not been finished, the vice eggs broke the Plone site. [derek_richardson]
  • Fixed (Autodiscovered feed inserts redundant <html> tag ) [pbugni]

vice.plone.outbound - 1.0a1 Released April 29, 2008

  • Change package name [derek_richardson]
  • Change to use vice.zope2.outbound [derek_richardson]
  • Add configlet icon [derek_richardson]
  • Add autodiscovery viewlet for Plone 3.1 [derek_richardson]
  • Add portlet for feeds [tim2p]
  • Make published_url hideable on individual feed configs [derek_richardson]
  • Make recursion hideable on individual feed configs [derek_richardson] - 1.0a3 Released December 19, 2007

  • Add metadata.xml to default GS profile, declaring version 1. Importing the profile will cause the global feed settings to be reset, so you’ll need to reconfigure it through the site settings configlet. Hopefully this is the last time that will happen, as the new metadata.xml should prevent that in the future. [derek_richardson]
  • Display standard feed icons next to feed links in viewlet. [derek_richardson]
  • Store the ID on the FeedConfig annotation, so it cannot change. Fix bad ID generation, bug #002. [derek_richardson]
  • New SyndicationTool that delegates to global FeedConfig utility. Issues deprecation warnings when used. [matthewwilkes] - 1.0a2 Released October 24, 2007

  • Published feed urls different from their internal urls [derek_richardson]
  • Remove ‘@@’ view marker from feed URLs [matthewwilkes]


Assuming you have your buildout.cfg in an editor:

  1. Add vice.plone.outbound in your list of eggs to install, e.g.:

    eggs =
  2. Tell the plone.recipe.zope2instance recipe to install a ZCML slug:

    zcml =
  3. Configure the plone.recipe.zope2install recipe to use fake-zope-eggs. In your buildout.cfg file, find the [zope2] section, and add fake-zope-eggs = true:

    fake-zope-eggs = true
  1. Re-run your buildout:

    $ ./bin/buildout -v
  2. Install from the control panel in plone

  3. Configure for use in the Add-on Product Configuration section in the Plone control panel.


This document talks about the various ways vice.plone.outbound may be extended.

Syndicating new feed and item types - new adapters

You can syndicate new feed types by writing new adapters for your feed types. If you want a content type to be an item, adapt it to IFeedItem; if you want it to be a feed, adapt it to IFeed. If you look at in adapters/, you will see plenty of examples - just do, in your own package, the type of thing that is done in this package. Also, there is an example of this type of customization in:


Modifying attributes of feed and item types - new adapters

You can change the way data is gathered from content types and turned into feeds and items by writing a new adapter that performs in the way that you wish and overriding the stock Vice adapter. You can override the stock Vice adapters by changing the contents of DefaultFeedFormats or providing your own feed format ovject to replace the default.

Changing the body of a feed item - page templates

All stock Vice feed items use a page template to render the body of the feed item. You can customize the bodies, therefore, by plugging in new page templates that render the body in the way you prefer.

Creating new formats - page templates

The formats for Vice (rss1, rss2, atom) are governed by the page templates for formats that are available. You can add new formats by adding new page templates and wiring them up similarly to the stock formats.

Removing feed types - editing feed formats

If you wish to remove formats that are provided by default with Vice (say, you only want users to be able to create Atom feeds), you can do this by changing DefaultFeedFormats or by providing your own feed format utility.

Contact us

Please file any bugs you find. Join or mail the discussion list to share comments and questions, or find us in the #vice IRC channel on Freenode.

If you’d like to contribute to future vice development, please join the developers list. We welcome contributions. More information is available at the vice project on open plans.

Release History

Release History


This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More


History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
vice.plone.outbound-1.0rc1.tar.gz (45.9 kB) Copy SHA256 Checksum SHA256 Source Oct 12, 2008

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting