I recently committed (as discussed with Pete) some code to
org.jboss.seam.rss that enables you to
use JSF tags for creating rss/atom feeds. It is based around the
YARFRAW (
http://yarfraw.sourceforge.net/)
library. The only other new dependency is commons-lang. There is a
quick-and-dirty build.xml included in
the source dir that requires some modification, I didn't want to mess
with the main build structure while
it was in the "collecting feedback" stage.
Any use for it in the trunk? Any considerations/feedback before
expanding on it? It is currently very simplified,
using a parent-child Feed -> Entries structure with several
simplifications (only one author, name only etc).
usage is in the lines of
<r:feed
xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:r="http://jboss.com/products/seam/rss"
title="#{rss.feed.title}"
uid="#{rss.feed.uid}"
subtitle="#{rss.feed.subtitle}"
updated="#{rss.feed.updated}"
link="#{rss.feed.link}">
<ui:repeat value="#{rss.feed.entries}" var="entry">
<r:entry
uid="#{entry.uid}"
title="#{entry.title}"
link="#{entry.link}"
author="#{entry.author}"
summary="#{entry.summary}"
published="#{entry.published}"
updated="#{entry.updated}"
/>
</ui:repeat>
</r:feed>
Some questions that came to mind:
* Delivery mechanism: I currently use the document store. Any better
alternatives? Some sort of flush + response complete?
* Most attributes support both text and html formats. Should there be
1. One "textFormat"-swith at feed level
2. titleFormat and title, subtitleFormat and subtitle etc..
3. Complex tag structure with <r:title
format="html">title</r:title> etc?
I'm currently leaning towards 1.
* What level of the atom specs to support? All of it? At least r:link,
r:author, r:contributor, r:category, r:source, r:generator would
be required (or whatever multi-attribute 0:n stuff are nested in the
feed/entry elements in the specs)
* Any usage for it in wiki? I haven't really looked that much as the
wiki, it seems to have an own feed servlet and perhaps some cacheing
requirements
---
Nik