<?xml version="1.0" encoding="UTF-8" ?>
<rdf:RDF xmlns="http://usefulinc.com/ns/doap#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><Project><name>vice.plone.outbound</name>
<shortdesc>Plone package for outbound syndication.</shortdesc>
<description>===================
vice.plone.outbound
===================

.. contents::

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`_.

.. _INSTALL.txt:  http://dev.plone.org/collective/browser/vice.plone.outbound/trunk/src/vice.plone.outbound/docs/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 &lt;html&gt; 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
    ...

5) Re-run your buildout::

    $ ./bin/buildout -v

6) Install from the control panel in plone

7) 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.

.. _src/vice.plone.outbound/vice/plone/outbound/tests/adapting_contenttypes.txt: http://dev.plone.org/collective/browser/vice.plone.outbound/trunk/src/vice.plone.outbound/vice/plone/outbound/tests/adapting_contenttypes.txt

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`_.

.. _file any bugs: http://plone.org/products/vice/issues
.. _discussion list: http://www.openplans.org/projects/vice/lists/vice-discussion
.. _developers list: http://www.openplans.org/projects/vice/lists/vice-squad
.. _Freenode: http://freenode.net
.. _vice project: http://www.openplans.org/projects/vice/project-home
.. _open plans: http://www.openplans.org</description>
<homepage rdf:resource="http://www.openplans.org/projects/vice/" />
<maintainer><foaf:Person><foaf:name>Derek Richardson</foaf:name>
<foaf:mbox_sha1sum>ba7540b3c266b3d7c3991ea9c7303ad091633afa</foaf:mbox_sha1sum></foaf:Person></maintainer>
<release><Version><revision>1.0rc1</revision></Version></release>
</Project></rdf:RDF>