Free Newsletters
Technology & Business Daily

InfoWorld
Log-in | Register

  Tuesday, September 24, 2002 

Channelroll bugfix, RSS continuity

Yesterday my channelroll broke, and began displaying the message: The server returned a SOAP-ENV:Client fault: Can't create item "." because "" is an illegal name. I think I've seen this happen on other sites, but I never got the chance to figure out what it meant until it happened to me. Here's the explanation, and the fix.

The offending URL was:

http://www.voidstar.com/rssify.php?url=http%3A%2F%2Fwebvoice.blogspot.com%2F

Some quirk involving the rssify script and the blogspot.com service was (temporarily, I guess) resulting in an empty channel-level <title> element. You can, it turns out, subscribe to a feed whose channel title is empty. But it breaks the channelroll. I've updated the script with the following bolded changes:

for adr in (@aggregatorData.services)
    {
    scratchpad.subsTried = scratchpad.subsTried + 1;
    try
        {

        local(title = adr^.compilation.channeltitle);
        local(channelUrl = adr^.compilation.channellink);
        local(rssUrl = nameOf(adr^));
        local (l);
        new (listType, @l);
        l[0] = channelUrl;
        l[0] = rssUrl;
        t[title] = l;
        scratchpad.subsGot = scratchpad.subsGot + 1;
        }
    else
        {
        scratchpad.subsNotGot = nameOf(adr^) + "," + scratchpad.subsNotGot;
        }

    }

The bad URL was, in any case, apparently obselete. The current one is:

www.voidstar.com/module.php?mod=blog&op=feed&name=jbond

It strikes me that with namespace support for RSS, an element might be added that would enable aggregators to redirect in such cases. This was a problem for me when I switched from radio.weblogs.com to weblog.infoworld.com. I was stuck doing this:

<?xml version="1.0" ?>
<rss version="0.92">
<channel>
<title>Jon's Radio</title>
<link>http://weblog.infoworld.com/udell/ </link>
<description>Jon Udell's Radio Blog</description>
<copyright>Copyright 2002 Jon Udell</copyright>

<item>
<title>Redirection</title>
<link>http://weblog.infoworld.com/udell/rss.xml </link>
<description>This feed has moved to http://weblog.infoworld.com/udell/rss.xml. I've used a client-side redirect (HTTP-EQUIV="refresh") for the home page, but haven't figured out how to do the same for the RSS channel. If you see a way, please clue me in. Otherwise, if you want to keep subscribing to my feed, you'll have to switch your aggregator to the new link. Sorry for the inconvenience! - Jon</description>
</item>

</channel>
</rss>

I don't see any proposed modules that address this situation, but I can imagine a mod_redir that would go something like this:

<?xml version="1.0" ?>
<rss version="2.0" xmlns:redir="http://purl.org/rss/1.0/modules/redir/" >
<channel>
<redir:rssUrl>http://weblog.infoworld.com/udell/rss.xml </redir:rssUrl>
<redir:link>http://weblog.infoworld.com/udell/ </redir:link>
<title>Jon's Radio</title>
<link>http://radio.weblogs.com/0100887/ </link>
<description>Jon Udell's Radio Blog</description>
</channel>
</rss>

 


Recent Entries


















































Sponsored Technology Links

 
 
 HOME  NEWS  BLOGS  PODCASTS  VIDEOS  TECHNOLOGIES  TEST CENTER  EVENTS  CAREERS   About | Advertise | Awards | RSS | Contact Us 

Copyright © 2008, Reprints, Permissions, Licensing, IDG Network, Privacy Policy, Terms of Service.
All Rights reserved. InfoWorld is a leading publisher of technology information and product reviews on topics including viruses,
phishing, worms, firewalls, security, servers, storage, networking, wireless, databases, and web services.

CIO :: ComputerWorld :: CSO :: Demo :: GamePro :: Games.net :: IDG Connect :: IDG World Expo
Industry Standard :: IT World :: JavaWorld :: LinuxWorld :: MacUser :: Macworld :: Network World :: PC World :: Playlist