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

Introduction

collective.portlet.feedmixer is a portlet for Plone 3 which can show one or multiple content feeds.

Feedmixer uses feedparser to process feeds which allows it to support RSS 0.90, Netscape RSS 0.91, Userland RSS 0.91, RSS 0.92, RSS 0.93, RSS 0.94, RSS 1.0, RSS 2.0, Atom 0.3, Atom 1.0, and CDF feeds

Installing

This package requires Plone 3.0 or later and feedparser.

Installing without buildout

First install feedparser. You can install this in either the system python path or in the lib/python directory of your Zope instance. If you have setuptools installed you can do this using easy_install:

easy_install FeedParser

If you do not have setuptools you can install it manually using the setup.py script in the feedparser source. If you want to install feedparser inside your Zope instance instead of system wide you can its ”–prefix=” option to install in the ”lib/python” directory of your Zope instance.

Next you need to install this package. This can also be done by installing it in either your system path packages or in the lib/python directory of your Zope instance. As with feedparser you can do this using either easy_install or via the setup.py script.

After installing the package it needs to be registered in your Zope instance. This can be done by putting a collective.portlet.feedmixer-configure.zcml file in the etc/pakage-includes directory with this content:

<include package="collective.portlet.feedmixer" />

or, alternatively, you can add that line to the configure.zcml in a package or Product that is already registered.

Installing with buildout

If you are using buildout to manage your instance installing collective.portlet.feedmixer is even simpler. You can install it by adding it to the eggs line for your instance:

[instance]
eggs = collective.portlet.feedmixer
zcml = collective.portlet.feedmixer

The last line tells buildout to generate a zcml snippet that tells Zope to configure collective.portlet.feedmixer.

If another package depends on the feedmixer egg or includes its zcml directly you do not need to specify anything in the buildout configuration: buildout will detect this automatically.

After updating the configuration you need to run the ”bin/buildout”, which will take care of updating your system.

Using the portlet

In order to use the feedmixer portlet you will first need to install the feedmixer product in your site. This is done through the standard ”Add-on products” control panel in the Plone site setup. After this has been done a new ”Feed Mixer’ portlet type will be available.

Feedmixer portlets have several configurable options:

Portlet Title
This will be used as the title of the portlet.
Maximum time to cache feed data
This determins how long feeds can be cached before feedmixer will attempt to refresh the feed data. In order to reduce the load on other servers it is advisable to set this to a reasonably large value.
Number of items to display
How many items to show in the portlet.
URL(s) for all feeds
A list of URLs for all feeds. All standard RSS and Atom feeds are supported as well as CDF feeds.

Performance

The portlet tries to be very friendly and will only reload a feed if required. It does this in several different ways.

All feeds are stored in a shared cache as defined in plone.memoize. This defaults to being a Zope RAMCache but you can choose different caches by registering a different ”ICacheChooser” utility. The cache key used is ”collective.portlet.feedmixer.FeedCache”. For example for deployments with multiple Zope instances you can use a memcached based cache which will allow you to share downloaded feeds amongst all Zope instances.

If a feed entry has expired in the cache it needs to be reloaded. However the feedmixer portlet will try to use both ETAGs and HTTP Last-Modified headers to check if the feed has been updated since the last time it was downloaded. If it has not been updated the timeout for the cached feed will be updated and continue to be used.

Changelog

1.6 - 2011-09-13

  • Make it plone 4 compatible, thanks to Rafahela Garcia Bazzanella for fix [martior]
  • Added Portuguese Brazilian transaltions from Rafahela Garcia Bazzanella [martior]
  • Direct import of IVocabularyFactory for Plone 4.1 compatibility. [lewy]
  • Fix bad cache key on entries(). Previously, the repr of a generator object was used. This meant effectively no request caching. Worse, it caused intermittent cache-key overlap with more than one portlet rendered in the same request. [tmog]

1.5 - 2011-03-02

  • Wrap the full feed’s entries in a div so we can visually separate them. [jbaldivieso]
  • Fix the full feed’s lookup of the feed entries so that the caching decorator can acquire the request from the view as it expects. [davisagli]
  • Explicitly include plone.app.portlets’ ZCML to ensure the plone.portlet directive works in all cases. [hannosch]
  • Added Spanish translation [macagua]

1.4 - 2009-11-06

  • Removed edit permission as this prevents feedmixer portlet being added to a user’s dashboard. [matth]

1.3 - 2009-04-03

  • Fix the full_feed view to have fallback when getting description from an feed item as it is not a required field in the rss2 standard. [martior]

1.2 - 2008-07-10

  • Fix the “More …” link of the portlet. We have to store the path to the context of the portlet assignment, because plone[.app].portlets doesn’t expose it. This workaround was taken from ely.portlets.image. This will only work for newly created feedmixer portlets, existing ones will still create wrong urls in subfolders. [fschulze]
  • Added french translation and made some i18n fixes. [glenfant]

1.1 - 2007-11-28

  • Correct caching of mixed feed entries: caching per instance instead of per request meant we would never update our feed as long as the ZODB did not expire the assignment. Instead to cache per request and using the list of feed_urls of the assignment. [wichert]
  • Fix typo in the portletBottomLeft CSS class name. [daftdog]

1.0 - 2007-11-05

  • Initial release.
Release History

Release History

1.6

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

1.5

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

1.4

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

1.3

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

1.2

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

1.2dev-r68204

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

1.1

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

1.0

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
collective.portlet.feedmixer-1.6.zip (42.8 kB) Copy SHA256 Checksum SHA256 Source Sep 13, 2011

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS 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