composer/packagist — pull request #229 by rdohms (2012-09-25 13:21:20+00:00)
Title: Implementing feeds

This PR implements the feeds that will be available to Packagist users. Let me describe how they are be formed and what their content is.
Each feed will list 40 items, this is an average from most of the sites I looked at an it sounds like a good number. This is easily configurable via the "packagist_web.rss_max_items" set by adding the following to `config.yml`:

`packagist_web:
rss_max_items: xx`

Below are the details and some issues that should be addressed, I did not have enough real data to decide on some items.

## Url structure

`/feeds/[.].`

`` - keyword name attributed below
`` - will be used for vendor filtering
`` - rss or atom

## Feeds

- `packages` - Latest Releases: latest versions of each package (packages)
- `releases` - Latest New Packages: latest packages that are new to Packagist (releases)
- `vendor` - Packages per vendor: latest released by vendor (vendor)

## Data

Each feed entry should represent the following data

- Title: ` []`
- Description: `
- Link to package
- Authors added as authors
- Date of last update.

## Caching

Caching is left to Varnish, the sript will sets a SharedMaxAge a LastModifiedDate and a etag based on the content.

## Issues/Improvements

- To gather recent versions i did not group by pakcages, but this may be a good thing? If anyone has input on it.
- We only require zend-feed but version 2.0.2 has a bug as its missing some of its dependencies. This will be fixed in the next release in october (zendframework/zf2#2402) so for now i added these manually to the composer.json

Let me know if there are any other changes/requirements. I also added test to make sure everything returns a 200, but i did not go real deep into tests.