Plone package for outbound syndication.
- What is it?
- vice.plone.outbound - 1.0rc2 (not yet released)
- vice.plone.outbound - 1.0rc1 To be released October 12, 2008
- vice.plone.outbound - 1.0a1 Released April 29, 2008
- plone.app.syndication.oubound - 1.0a3 Released December 19, 2007
- plone.app.syndication.outbound - 1.0a2 Released October 24, 2007
- plone.app.syndication.outbound - 1.0a1 Released October 15, 2007
- Contact us
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)
- Fixed reST errors and improved documentation [pbugni]
- 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 http://plone.org/products/vice/issues/6 [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 http://plone.org/products/vice/issues/3 (Autodiscovered feed inserts redundant <html> tag ) [pbugni]
- 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]
Assuming you have your buildout.cfg in an editor:
Add vice.plone.outbound in your list of eggs to install, e.g.:
eggs = vice.plone.outbound
Tell the plone.recipe.zope2instance recipe to install a ZCML slug:
zcml = vice.plone.outbound
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:
[zope2] fake-zope-eggs = true ...
Re-run your buildout:
$ ./bin/buildout -v
Install from the control panel in plone
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.
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 atct.py 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:
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.
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.
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.
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.