Tim Tepaße: newsfeeds und mehrere Produkt-Linien?

Beitrag lesen

Hallo,

Ich sollte mit meinem Newsfeeder die News von mehreren Produktlinien anzeigen. Je nach Bedarf sollten die News Zielgruppengerecht angezeigt werden, d.h. z.b.
zielgruppe A --> Produktlinie 1

Kurze Überlegung: Um im Feed, ob RSS oder Atom, nur Einträge der Kategorie "Produktlinie 1" anzuzeigen, muss der Feedreader erstmal wissen, dass sein Benutzer Zielgruppe A ist und dann muss er irgendwoher wissen, dass Zielgruppe A nur über Produktlinie 1 Bescheid wissen will. Ersteres kann der Feedreader nur wissen, wenn der Nutzer das irgendwo angibt – natürlich gibt es in gängigen Feedreadern kein Konfigurationsfeld „Zielgruppe“. ;)

Auch der zweite Teil wäre technisch gesehen etwas schwieriger. D.h für gängige Feedreadern gibt es keine allgemein gültige Infrastruktur, ohne kompliziertere Konfiguration, nur Teile des Feeds anzeigen zu lassen.

Microsoft hat zwar eine nette kleine Erweiterung für Feeds namens Simple List Extensions, aber die kann einen Feed nur nach definierten Kriterien _sortieren_, nicht nur bestimmte Dinge anzeigen. Mal abgesehen davon, dass sie abgesehen vom IE 7 eh nur in zwei, drei Feedreadern implementiert ist.

Es gäbe noch HTTP Authentifizierung - der Besucher muss wie bei einer Webseite für den Besuch Username und Passwort angeben und kann serverseitig konfigurieren, was in seinem Feed auftauchen soll. Aber das verlangt unangenehme Registrierung von Gelegenheitsbesuchern und nebenbei kann nicht jeder Feedreader HTTP Auth (Ich prangere das an!).

Sieht RSS und die gebräuchlichen RSS Parser solche Strukturen vor, oder sollte besser für jede Zielgruppe ein neues XML file gepflegt werden?

Das ist wirklich die beste Lösung und ist auch im Sinne des Webs. Wenn jede Produktlinie eine eigene URI hat, dann sollte dort auch der entsprechende Feed verlinkt werden:

http://example.com/produktlinie-1.html → http://example.com/produktlinie-1.atom
  http://example.com/produktlinie-2.html → http://example.com/produktlinie-2.atom
  http://example.com/produktlinie-3.html → http://example.com/produktlinie-3.atom

Wenn man ein CMS dahinter stecken hat, muss man auch nicht notwendigerweise das XML per Hand tippen. Übrigens:

zielgruppe C --> Pruduktlinie 1 und Produktlinie 2 (alles)

Das hier ist wirklich der interessante Fall. Da muss man dann eine Gemisch aus beiden Feeds ausliefern. Um bei Deinen Fall von nur zwei Produktlinien ist das nur ein Feed mehr, da ist es kein großer Aufwand noch einen Feed zu erstellen.

Schwieriger wird es wenn man dem Besucher die Möglichkeit geben will, auf einer Webseite mit vielen (und einer wachsenden Anzahl von Feeds) sich einen Feed zusammenstellen, der nur das enthält, was den Besucher interessiert:

Ich interessiere mich für:

[ ] Horoskope       [x] den Reichsdeputationshauptschluss
  [x] Mandarinen      [ ] Statistiken über Orangensaft

(Feed erstellen)

Schließlich wächst mit jedem dazukommenden Einzelfeed die Anzahl möglicher Kombinationsfeeds exponentiell.

Dafür lohnt es sich eventuell einen Aggregator (Planet, Planet Venus, Plagger) zu installieren und anzupassen, besser noch etwas eigenes zu schaffen, dass sich die betreffenden Einträge direkt aus der Datenbank des CMS saugt. Dort weisst man dann jeder Kategorie (auch ehemaligen, nicht mehr erhältlichen) eine feste unveränderliche Position zu und stellt fest ob dieser Einzelfeed abonniert werden soll, für obiges Beispiel also:

Horoskope | Reichsdeputationshauptschluss | Mandarinen | Orangen
     0      |               1               |    0       |    1

Schon hat man eine eindeutige Zahl für den jeweiligen Kombinationsfeed und somit eine eindeutige URI für diesen.

http://example.com/feeds/0101.atom

Die man, wenn man will, auch in Dezimal- oder Hexadezimalschreibweise schreiben kann und – sollten Sicherheitsbedenken wegen der Möglichkeit des Ratens bestehen – hashen kann.

Aber wie gesagt, für Deine zwei Produktlinien ist das Overkill; ist nur eine Abschweifung. ;)

Tim