Nik,
It's great to see us putting a focus on native feed integration since
it is only one of the most common tasks in modern web-based
applications. Granted, this is currently possible with Facelets doing
it the manual way, shown below. But that does require a lot of manual
labor (most likely of the copy-paste variety). I would like to see if
we can limit the number of tags because a lot of tags gets closer to
doing it the manual way. Perhaps we can use the attributes for text
only and facets for non-text (just a thought).
I'm not sure I understand why you need the document store, though.
That is typically reserved for sending a binary format over the wire
needing disposition headers. An RSS feed is just an XML stream and
therefore you simply need to set the contentType on the JSF response.
<?xml version="1.0" encoding="UTF-8"?>
<feed version="0.3"
xmlns="http://purl.org/atom/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:f="http://java.sun.com/jsf/core"
xml:lang="en">
<f:view contentType="application/atom+xml">
<title>Sample feed</title>
<link rel="alternate" type="text/html"
href="http://example.com/feed"/>
<modified>2008-04-04T00:00:00Z</modified>
<tagline>Sample feed</tagline>
<id>tag:example.com,2008://1</id>
<generator
url="http://seamframework.org/"
version="2.0.1.GA">Seam</generator>
<copyright>Copyright (c) 2008, Dan Allen</copyright>
<entry>
<title>Hi there!</title>
<link rel="alternate" type="text/html"
href="http://example.com/1" />
<modified>2008-04-04T00:00:00Z</modified>
<issued>2008-04-04T00:00:00Z</issued>
<id>tag:example.com,2008://1.87</id>
<created>008-02-24T04:30:06Z</created>
<summary type="text/plain">Hi there</summary>
<author>
<name>Dan Allen</name>
</author>
<dc:subject>Subject</dc:subject>
<content type="text/html" mode="escaped"
xml:lang="en"
xml:base="http://example.com">
Hi there
</content>
</entry>
</f:view>
</feed>
On Tue, Aug 26, 2008 at 10:42 AM, Nicklas Karlsson <nickarls(a)gmail.com> wrote:
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
_______________________________________________
seam-dev mailing list
seam-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/seam-dev
--
Dan Allen
Software consultant | Author of Seam in Action
http://mojavelinux.com
http://mojavelinux.com/seaminaction
NOTE: While I make a strong effort to keep up with my email on a daily
basis, life and work come first and, at times, keep me away from my mail
for a while. If you contact me, then don't hear back for more than a week,
it is very likely that I am excessively backlogged or the message was
caught in the spam filters. Please don't hesitate to resend a message if
you feel that it did not reach my attention.