Skip to main content

Plone package for outbound syndication.

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

Features

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.

History

(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 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]

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]

plone.app.syndication.oubound - 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]

plone.app.syndication.outbound - 1.0a2 Released October 24, 2007

  • Published feed urls different from their internal urls [derek_richardson]

  • Remove ‘@@’ view marker from feed URLs [matthewwilkes]

plone.app.syndication.outbound - 1.0a1 Released October 15, 2007

  • Initial release. [lots of people]

Installation

Assuming you have your buildout.cfg in an editor:

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

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

    zcml =
        vice.plone.outbound
  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:

    [zope2]
    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.

Customization

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 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:

src/vice.plone.outbound/vice/plone/outbound/tests/adapting_contenttypes.txt

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.

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

vice.plone.outbound-1.0rc1.tar.gz (45.9 kB view details)

Uploaded Source

File details

Details for the file vice.plone.outbound-1.0rc1.tar.gz.

File metadata

File hashes

Hashes for vice.plone.outbound-1.0rc1.tar.gz
Algorithm Hash digest
SHA256 e23a1c43d63d27d801ed5974094367c86f62a2ad7ff13a9926274686ae96d685
MD5 4676b4dfb0b38168b241bf439b36588f
BLAKE2b-256 b62539104ea30509af86b9300653a0438871de710663118d16b5fa07e356e7bd

See more details on using hashes here.

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