Closed bpayst closed 13 years ago
This issue is not a 1.2 issue. It is present in 1.1 as well. It was just exposed by a recent change to your feed. The tablet pane only loads the primary feed at this time. This is a known limitation. Since it's an independent issue, could you please crete a a new issue about that. I will update you on the progress of detecting, and dealing with the XML parsing error.
The problem is that your feeds are producing invalid XML. Those description/title tags should be wrapped in <![CDATA[ ]]> tags. We can look to see what we can do to mitigate that, but there are limits to dealing with data that violates specs.
well, they're not technically my feeds (all mine are valid). Still, they do validate as RSS using the W3 validator:
http://feed2.w3.org/check.cgi?url=http%3A//www.med.unc.edu/www/news/aggregator/RSS
Other feed readers handle them fine. I understand the limits of data that violates specs, but these don't really seem to in this particular use case.
Sorry. We're conflating 2 distinct issues:
http://feed1.w3.org/check.cgi?url=http%3A%2F%2Fglobal.unc.edu%2Frss_newscenter.php It will take some interesting heuristics to deal with include HTML entities not wrapped in CDATA in a performant way.
My fault should have put them in as different issues. Yes, that global feed is crap at the moment. You can ignore that. It's invalid and should error out. I'll just pull the feed.
The tablet interface issue is not on the home screen. It's on the page for that feed. For example http://m.unc.edu/news/?section=8 on a tablet shows stories, but the full detail pane on the right just spins and never loads.
OK. I know what's happening. We do not handle cases where there is no GUID in the feed very well.
Short story: the url that's given is not a Kurogo url, but rather the direct link to the article. This is bad (and Kurogo's fault)
Longer story: The AJAX code attempts to load that URL in the detail page (instead of the url that shows the story detail) and of course that doesn't work because of cross domain policy.
This will require a fix. Probably a way to generate GUIDs when they aren't present in the feed. It isn't an issue for non-tablets since they just open the url anyway (no ajax).
Yes, that would certainly explain it. Having worked parsing feeds a bit myself in the past I know the exceptions tend to be much greater than those that follow the rules.
Happy to test a fix when it is available.
I just updated to 1.2 and several feeds that worked in 1.1 no longer work.
This feed: http://global.unc.edu/rss_newscenter.php
returns:
XML error: Undeclared entity error at line 14
Fatal error: Uncaught exception 'Exception' with message 'XML error: Undeclared entity error at line 14' in /var/www/mobile/lib/XMLDataParser.php:68 Stack trace:
0 /var/www/mobile/lib/DataController.php(335): parseData(string)
1 /var/www/mobile/lib/DataController.php(371): parseData(string, object)
2 /var/www/mobile/lib/RSSDataController.php(58): getParsedData()
3 /var/www/mobile/app/modules/news/NewsWebModule.php(301): items(integer, string)
4 /var/www/mobile/lib/WebModule.php(1201): initializeForPage()
5 /var/www/mobile/lib/WebModule.php(1292): setPageVariables()
6 /var/www/mobile/www/index.php(271): displayPage()
7 {main}
thrown in /var/www/mobile/lib/XMLDataParser.php on line 68
These feeds do not load in the display pane (stories list does load) in the tablet UI, they do work in the iPhone and desktop views:
http://uncnews.unc.edu/component/option,com_rss/feed,RSS2.0/no_html,1/ http://www.med.unc.edu/www/news/aggregator/RSS