Domanda

quando leggo il mio feed RSS con il lettore di feed Thunderbird, alcune voci sono duplicate. Google Reader non ha lo stesso problema.

Ecco il feed difettoso http://plcoder.net/rss.php?rss=Blog

C'è un problema, ma dove?

Saluti, C # 233 &; Dric

aggiornamento: aggiungo guid ma il problema persiste. I feed Anothers non duplicano come il mio, quindi rielaborerò questo modulo e sostituirò questo vecchio buon codice.

conclusione: rielaboro completamente il codice del generatore rss ed è ok. Penso che stavo usando una versione molto vecchia di RDF.

È stato utile?

Soluzione

Prova ad aggiungere un tag <guid> a ciascun elemento, dandogli un permalink. cioè:.

<item rdf:about="http://plcoder.net/?doc=2134&amp;amp;titre=mon-pc-se-la-pete">
  <link>http://plcoder.net/?doc=2134&amp;amp;titre=mon-pc-se-la-pete</link>
  <guid>http://plcoder.net/?doc=2134&amp;amp;titre=mon-pc-se-la-pete</guid>
  ...
</item>

Senza un GUID, se uno qualsiasi dei contenuti del post cambia, il tuo aggregatore RSS potrebbe pensare che si tratti di un nuovo post. Con il GUID, anche se il contenuto di quell'elemento cambia, il tuo aggregatore RSS dovrebbe semplicemente aggiornare il post, invece di trattarlo come un nuovo elemento.

Altri suggerimenti

Almeno con Thunderbird 2.0.0.21 il problema è che TBird non sembra rispettare i tag GUID ma non rispetta i tag pubDate del canale . Pertanto, se pubDate è più recente rispetto all'ultima lettura, TBird leggerà tutte le voci (sembra).

Non so cosa succederebbe se mancasse il tag pubDate del canale ...

Ho riscontrato questo problema con alcuni dei miei feed. Quello che è successo è che inizio con un elenco di voci come questa:

Item A
Item B
Item C

Il client li scarica e tutto va bene. Quindi aggiungo un nuovo elemento, quindi il feed recita come:

Item D
Item A
Item B

D appare nel lettore.

Ma poi decido che non voglio quell'elemento, quindi la lista torna a:

<*>

Quando Thunderbird legge questo, conterà C come nuovo elemento. am utilizzo un elemento GUID, quindi dubito che sia il problema. Penso che abbia più a che fare con il parser di Thunderbird che non prende in considerazione elementi più vecchi.

La soluzione prolungata è " ricordare " quali elementi hai già pubblicato e da allora sono stati rimossi dalla fine dell'elenco da nuovi elementi. Fondamentalmente dovrai mantenere un elenco corrente di elementi nel feed e quando elimini elementi da esso, abbrevialo fino a quando non ci sono nuovi elementi per sostituirlo.

Questo è spiegato nella Documentazione Thunderbird (sotto " FAQ sulla risoluzione dei problemi "):

  

D: Perché a volte i messaggi dei feed sono duplicati?

     

A: Feed di messaggi con contenuto identico ma con ID univoci diversi   non rilevato come duplicato. Vedi questo post per molti altri dettagli.

Il post collegato come riferimento:

  
      
  1. I feed Atom (obbligatori) hanno un ID univoco; I feed RSS (non obbligatori) di solito hanno una guida unica. Per i feed Rss senza guida, un tentativo   viene creato per creare un ID univoco dalle parti obbligatorie dell'elemento feed.
  2.   
  3. Tutti i messaggi di feed scaricati hanno un record con questo ID memorizzato in feeditems.rdf ed esistono lì fintanto che esistono nel publisher   file, con quell'ID. Se l'editore rimuove un messaggio con l'id   dal loro file, dopo 24 ore viene anche eliminata la cache feeditems.rdf   (su get messaggi biff).
  4.   
  5. Se un editore riutilizza un ID dopo che è stato eliminato, otterrai un duplicato (se il contenuto è identico). Questo è un abuso dell'intento   dietro ID univoci e errore dell'editore.
  6.   
  7. Se un editore riutilizza un ID prima che venga eliminato e il contenuto è diverso, non vedrai il nuovo contenuto, poiché verrà trattato come   un duplicato. Thunderbird non utilizza il tag attualmente e   l'uso improprio da parte degli editori può rendere difficile l'implementazione.
  8.   
  9. Se si visualizza l'origine (Ctrl-U) di due duplicati apparenti, si noterà l'intestazione ID messaggio. Se due apparenti duplicati hanno differenti   Valori ID messaggio, quindi non sono duplicati indipendentemente dal potenziale   contenuto identico. Tb non distingue i contenuti duplicati.
  10.   
     

Se desideri un debug estremo, modifica il pref Feeds.logging.console   per eseguire il debug o tracciare e riavviare, per vedere cosa succede durante il feed   elaborazione.

     

Se annulli l'iscrizione a un URL feed, questo cancellerà la cache feeditems.rdf   per quel feed. Se successivamente ti iscrivi nuovamente riceverai duplicati di   tutti gli elementi correnti nel file del publisher che esistono anche nel tuo feed   cartella.

     

La compattazione non ha alcun effetto sull'elaborazione del feed, rimuove solo i contrassegni   per gli elementi di eliminazione dal file. Se elimini una cartella / la sposti   spazzatura, non è iscritto. A partire da Tb29, se si trascina / rilascia a   cartella da un feed conteggiato a un altro account feed, l'abbonamento   viene mantenuto (ma non feeditems). Per profili / account feed molto vecchi   (pre Tb17), può essere una buona idea creare un nuovo account feed e   trascinare le cartelle lì (Tb29 e versioni successive), come un nuovo database feeds.rdf   creato; la penalità è una possibilità duplice di una volta.

Ho avuto lo stesso problema ... Sono passato al feed di Google e ora è stato risolto, ma non ho mai saputo la causa esatta

http://feedproxy.google.com/juanformoso

Thunderbird ha alcuni bug con duplicati delle voci del feed, forse è solo uno di loro che appare?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top