2008-10-02 6 views
5

Ich arbeite an einem RSS-Feed für ein benutzerdefiniertes Tasking-System, das wir verwenden, und ich bin immer noch dabei, wie die Dinge funktionieren sollten. Was ich haben möchte, ist ein Feed für jeden Benutzer, der Aufgaben anzeigt, die ihnen zugewiesen sind, und zusätzlich einen Feed für jede Aufgabe, der Aktualisierungen für die Aufgabe anzeigt.RSS Artikel-Updates

Was ich jetzt wissen möchte, betrifft den Benutzer-Feed. Wenn ein Fall, der einem Benutzer zugewiesen ist, aktualisiert wird, habe ich derzeit Code, um den pubDate-Eintrag für dieses Element und das lastBuildDate für den Kanal zu ändern. Ich hatte gehofft, dass dies dazu führen würde, dass der Artikel in den Lesern als ungelesen erscheint, so dass der Benutzer es wieder sehen würde, aber das scheint nicht der Fall zu sein. Sollte ich die Guid ändern, obwohl es wirklich die gleichen Elemente sind? Was wären die Nebenwirkungen davon?

Gibt es etwas, was ich vermisse? Wie kann ich das lösen?

Antwort

3

Das Ändern des <pubDate> zeigt an, dass sich der Eintrag geändert hat, aber es gibt keine Anforderung, dass ein bestimmter RSS-Reader etwas dagegen tun muss. (Streng genommen, es gibt keine Anforderung als ein RSS-Reader alles tun, aber wir bleiben vernünftig.) Einige Leser tun markieren aktualisierte Einträge als geändert. Zum Beispiel kann Bloglines.com optional Änderungen in der <Beschreibung> erkennen und Einträge als neu in diesem Fall markieren.

auf Ihrem Leser je nach Änderung der <Titel>, <Beschreibung> oder <pubDate> könnte Ihnen das Verhalten Sie wollen. Aber wie GateKiller oben erwähnt, ist Ihre sicherste Option, es zu einem völlig neuen Eintrag mit einem neuen <Guid> machen. Wenn Sie schon dabei sind, möchten Sie vielleicht eine Gelegenheit nutzen, um einen direkten Link oder Details zum Update hinzuzufügen.

Natürlich, wenn Sie sowohl den Produzenten und Verbraucher der RSS schreiben, und Ihr Ziel ist, dass der Feed immer den vollen Satz der zugewiesenen Aufgaben enthält, nur die Aktualisierung <pubDate> wird gut funktionieren.

+0

Haben Sie schon den direkten Link. Aber wie würde ich "Details zum Update" zeigen, ohne die Beschreibung zu ersetzen? –

+1

Wenn Sie Details über das Update anzeigen, scheint mir das ein neues RSS-Element zu sein. Das heißt, jedes Element ist im Wesentlichen eine Aktualisierung für eine Aufgabe, keine Aufgabe selbst. –

1

Die Lösung ist auch die GUID zu ändern, was bedeutet, dass die aktualisierte Zeit darin enthalten ist. Die GUID stellt die Eindeutigkeit für jedes Element im Feed bereit und wird als ungelesen markiert, wenn Sie das Datum darin aktualisieren.

+1

Was ist mit Nebenwirkungen, da dies technisch der gleiche Gegenstand ist? –