First, some review: the current Roller newsfeed situation...

Currently, each Roller blog has an RSS 2.0 and an Atom 1.0 newsfeed. Each of
these lists the most recent X number of entries (where X is set on the blog's
Preferences->Settings page). Each newsfeed accepts two request: 'catname' so
you can get a category specific feed and 'excerpts' so you can request an
excerpt only feed. So we have:

  /roller/rss/<weblog-handle>?catname=<catname>&excerpts=[true|false]
  /roller/atom/<weblog-handle>?catname=<catname>&excerpts=[true|false]

At the site-wide level, there is an RSS 2.0 newsfeed and an Atom 1.0 newsfeed
for the entire site. Both accept the same 'catname' and 'excerpts' parameters.

  /roller/rss?catname=<catname>&excerpts=[true|false]
  /roller/atom?catname=<catname>&excerpts=[true|false]

Plus, there's a Planet feed. Normally, the feed contains entries from all
of the weblogs on the Roller site plus all of the entries from subscriptions
in the 'external' group. But you can also specify request parameter 'group'
to get feed containing only entries from one subscription group.

  /roller/planetrss?group=<groupname>


So, what's the question?

With Atlas, I'd like to allow the frontpage blog to specify it's newsfeeds.
It's possible that a frontpage blogger might want his blog's feed to contain:

* Only entries from the front-page blog itself
* Entries from the entire site
* Entries from the entire site plus external blogs
* Entries from one specific planet group

How do we do this? I've come up with four options.

Option #1: There's nothing special about the frontpage blog

Treat site-wide feeds and blog-specific feeds as completely independent things.
So, the frontpage blog's feeds are just like any other blog's feeds. And, the
site-wide feeds must be configured at the site level by a Global Admin at
runtime or via roller-custom.properties.

Option #2: Pick feedscope=site or feedscope=weblog
Frontpage blogger must chose either a site-wide or a blog-only feed. Add a new
field to the website table to allow a blogger to pick a 'feedscope' of either
'weblog' or 'site'.

Option #3: Pick almost anything via simple syntax

Frontpage blogger must create a simple feed-specification, a string that
specifies the feed to be produced by the frontpage blog. That 'feedspec' would
be stored as a new field in the website table. It must have one of the
following three formats.

A. site?cats=<cat1,cat2>&lang=<lang>&excerpts=[true|false]
A site-wide feed optionally restricted by catnames, lang and excerpts.
If excerpts not specified, then subscibers can choose either.

B. weblog?cats=<cat1,cat2>&lang=<lang>&excerpts=[true|false]
Weblog-only feed optionally restricted by catnames, lang and excerpts.
If excerpts not specified, then subscibers can choose either.

C. 
planet?groups=<group1,group2>&cats=<cat1,cat2>,lang=<lang>,excerpts=[true|false]
  Planet feed optionally restricted by groups, catnames, lang and excerpts
If excerpts not specified, then subscibers can choose either.

Option #4: Same as #3, but for all weblogs

Allow all weblogs to specify their feedspec and feedtypes, but only
the frontpage
blog can specify ones that start with 'site' and 'planet'.

Personally, I like #4. Comments, suggestions, other options?

And another thing. It's now considered a best practice now to offer only one
format of newsfeed. Mutliple formats are confusing to users and to aggregators
trying to uniquely ID entries. So, if we go with #4, we should also
add a 'feedtype'
field to the website table so that the frontpage blogger can pick the
blog format to
be supported (must be a supported flavor from the classes/flavors directory).

- Dave

Reply via email to