Nach der letzten Aktualisierung auf Blogengine.NET 1.5.0.9 und der anschließenden Prüfung mit den verschiedenen W3C-Validatoren, wurde der RSS-Feed meines Blog nicht mehr als valide erkannt. Der Feed.Validator mokierte einen falschen Inhalt im Author-Tag eines jeden Artikel. Der W3C Feed-Validator verlangt hier eine gültige Emailadresse als Inhalt. Bis zur Blogengine.NET Version 1.4.5 wurde der RSS-Feed meines Blog immer als valide erkannt. Also musste sich das Problem mit dem Update auf die Version 1.5 eingeschlichen haben. Und tatsächlich; Beim direkten Vergleich der Klasse SyndicationGenerator aus dem Blogengine.Core Namensraum wurde der kleine aber gravierende Unterschied deutlich.
In der statischen Methode WriteRssItem(XmlWriter writer, IPublishable publishable) wird dem author-Element der Namen des Beitragsautor mitgegeben und keine Emailadresse.
Also brauch hier nur die betreffende Zeile wie im folgenden Listing ersetzt zu werden und der RSS-Feed wird wieder als valide erkannt.

//------------------------------------------------------------
//	Write optional channel item elements
//------------------------------------------------------------
// canged to pass the W3C feed test
writer.WriteElementString("author", BlogSettings.Instance.Email.Replace("@", ".nospam@nospam.") + " (" + publishable.Author + ")");
//writer.WriteElementString("author", publishable.Author);

Mir ist nicht ganz klar warum diese Änderung erfolgte. Ein Grund könnte die bessere Unterstützung für Blogs mit mehreren Autoren sein. Doch dann sollte, um einen validen Rss-Feed zu erzeugen, die Email des jeweiligen Autor aus dem Benutzerprofil verwendet werden.

Wenn ihnen der Artikel gefallen hat oder er für sie hilfreich war, bitte "kicken" sie ihn.
kick it on dotnet-kicks.de