straw-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Straw-devel] categories from OPML


From: Juri Pakaste
Subject: [Straw-devel] categories from OPML
Date: Tue, 02 Mar 2004 19:25:25 +0200

To clarify what I mean by the categories from OPML thing I've mentioned
a few times, here's an outline of the idea:

- General idea

Straw has categories. Many of the Planet sites (and other sites too)
offer OPML files describing the sites they subscribe to. It would be
good if the user could have a category automatically mirroring the
contents of a remote OPML file. For example, "Gnome" category could read
its contents - the locations of the feeds it contains, *not* the
contents of the feeds, those should behave just like every other feed -
from Planet GNOME's OPML file.

- Behaviour in various circumstances

When the user subscribes to an OPML file, a category is marked to follow
it. The file is fetched and its contents read. We flatten any hierarchy
and treat it just as a linear list of feeds, eliminating any duplicates.
The xmlUrl attributes of the elements inside are compared to the
locations of the currently subscribed feeds. If there are no matches, we
subscribe to the feed and add it to the category. If there is a match,
we just add the existing feed to the category.

The file is polled every time as part of the ordinary polling run. If it
cannot be reached, we assume the file hasn't changed. The user should
probably be notified, though. How? Maybe show the error in the
categories dialog. Can the list menu widget used for displaying the
categories display an icon alongside the feed name? We could add there
an icon telling the user a) the category mirrors an OPML file and b) the
file wasn't reached the last time we tried.

If a feed is removed from the OPML file, we do not unsubscribe from the
feed, we just remove it from the category. It might make sense to
optionally do this in the case where a feed is only subscribed to via
OPML files and the last one drops the feed. But I think we probably
better not.

- Open questions

There were a few in the chapters above, but at the moment the main one
for me is this: how strong should the bond between a category and a
single OPML file be?

 - Should a category be able to mirror more than one OPML file?
  - This might be nice in some circumstances, although I think this
would be pretty rare. We should probably avoid making very strong
assumptions that make this impossible - unless the decision is to
strongly bind categories and OPML files together - but I don't know if
it's necessary to implement this feature.

 - Should a category mirroring an OPML file allow to user add other
feeds to it?
  - This is a more realistic concern. I subscribe to some feeds I
categorize as "Gnome" feeds that aren't in Planet GNOME. It would be
good if it was possible to categorize them together. However, there are
some cases where this might be followed by surprising behaviour, unless
we are careful. Say I'm subscribed to feed A that is contained in
category B mirroring OPML file C. I've added A to B manually, it isn't
contained in C. Now C adds it. A week afterwards the maintainer of C
decides he made a mistake and drops A from it. However, Straw probably
shouldn't drop A from B at this point, right? There might be similar
corner cases.

Any comments? At the moment, I'm planning to implement this for 0.24.

-- 
[ Juri Pakaste / address@hidden / http://www.iki.fi/juri/ ]

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

[Prev in Thread] Current Thread [Next in Thread]