Slashdot Log In
Netscape Dumps Critical File, Breaks RSS 0.9 Feeds
Posted by
CmdrTaco
on Sun Jan 14, 2007 10:28 AM
from the hate-when-that-happens dept.
from the hate-when-that-happens dept.
An anonymous reader writes "In the standard definition of RSS 0.91, there are a couple of lines referring to 'DOCTYPE' and referencing a 'dtd' spec hosted on Netscape's website. According to an article on DeviceForge.com quite a few RSS feeds around the web probably stopped working properly over the past few weeks because Netscape recently stopped hosting the critical rss-0.91.dtd file. Probably someone over at netscape.com simply thought he was cleaning up some insignificant cruft." Some explanation has been offered by a Netscape employee.
Related Stories
[+]
Netscape Dumps Critical File, Breaks RSS 0.9 Feeds 137 comments
An anonymous reader writes "In the standard definition of RSS 0.91, there are a couple of lines referring to 'DOCTYPE' and referencing a 'dtd' spec hosted on Netscape's website. According to an article on DeviceForge.com quite a few RSS feeds around the web probably stopped working properly over the past few weeks because Netscape recently stopped hosting the critical rss-0.91.dtd file. Probably someone over at netscape.com simply thought he was cleaning up some insignificant cruft." Some explanation has been offered by a Netscape employee.
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
Ack (Score:4, Funny)
Why would this break RSS readers? (Score:5, Interesting)
Re:Why would this break RSS readers? (Score:5, Informative)
The DTD contains more than just the element definitions and hierarchy. Its also used to define entities (&...;) that are non-standard to XML but may be expected in the file. HTML has tons of pre-defined entities but XML only has the core 4. All others are defined in DTDs and loaded on the fly as part of the processing.
There are ways to turn it off at the lowest levels, but higher-level abstractions/libraries might not give access to that. For example, with JAXP + SAX you can turn off DTD loading, but Jakarta Commons Digester doesn't give a setting where you can trigger that, so Digester tries to load the dtd, and even with validation off you can't change that. My only recourse is to take the DTD lines out of the various config files. (Reason: My JBoss server is deployed in private networks where the server can't reach the internet).
Parent
Re: (Score:2)
Basicly this system would do to URNs and URLs what DNS does to domain names and IP numbers.
Re: (Score:2)
Re: (Score:2)
we have licensed customers with this (in fact, they're the problem - internally we don't see any problem with having outbound internet access for our servers and trust the firewalls we put up); i can't go telling their IT departments (who are sometimes completely inept) that we need to go mucking around with OS configuration files, especially in Windows.
Re: (Score:2)
True, but if all they're doing is grabbing a dtd from there, who will notice ? It's offline right now anyway ...
Re: (Score:2)
However, with most parsers there is a way to set up a mapping where it can look on the local box for a file matching a specific URL. JBoss, Hibernate, and Struts all do that for DTD files they have in their resp
Re: (Score:3, Insightful)
Ever since I started developing on a laptop during my commute, I discovered that XML-based programs like J2EE servers would simply stop working. I experienced the same thing at work where, by default, your desktop applications (namely Eclipse) do not have access to the internet, and the servers will never have access to the "Internet".
The proper thing to do is for your
Re: (Score:2)
See my comment elsewhere in this thread - there's some "magic" that Java can do to load a local file as a resource given an external URL but I've never seen a decent example of how to set that up for my own apps.
Re: (Score:2, Informative)
Re: (Score:2, Interesting)
Re:Then they're broken! (Score:5, Insightful)
First of all, that's a needless operation. It can take time; don't forget the DNS lookup and all.
Second of all, it's not as if you could handle any random DTD. Software doesn't work that way. (this is one of the reasons why XML itself is a mostly-lame idea) If the XML doesn't match expectations, you can't convert it to your own internal representation. You probably have a C struct that you need to fill in. Even in some wild interpreted language like perl, you just won't have any use for unexpected data structures and you damn well need the expected data structures.
Parent
Re: (Score:2, Informative)
It's called a non-validating processor and it's totally compliant with the XML 1.0 specification [w3.org].
Re: (Score:2, Informative)
Ugh (Score:4, Insightful)
According to an article on DeviceForge.com quite a few RSS feeds around the probably web stopped working properly over the past few weeks because Netscape recently stopped hosting the critical rss-0.91.dtd file.
STOP, Grammar time. Ooooh whoooaaa oh oh...
Probably someone over at netscape.com simply thought he was cleaning up some insignificant cruft."
Or Netscape got tired of people using their bandwidth. Regardless of the reasons: if you reference a file on someone's site, it's hardly their fault if they move/change/delete it, and it breaks your stuff.
Re: (Score:2, Interesting)
Unnecessary hard coding of something that's not necessarily non-ephemeral.
I never liked the idea, I'm glad to see that some of my worries are well-founded.
The point... (Score:4, Insightful)
Class paths is java are the perfect example to say how it *should* work. Java CLASSPATHs in every application/installation I have seen are site-local, all paths accessible without going over the internet to another site to get classes.
To be similar, an RSS site should copy this DTD to their local server, or to a server with which they have a concrete understanding of the relationship. Either a commercial agreement with a peer or at least using a server from an organization who explicitly defines the purpose of hosting to be a common place to promote it as a standard.
Did netscape promise itself to be an organization sharing that DTD explicitly, or did site developers get in the practice because 'it just always was there'?
Parent
DTDs are different (Score:5, Interesting)
It is expected that DTDs are hotlinked. For example, if you ever look at html source of a web page, you would see: on the top, and the hotlink goes to somewhere on w3.org. That is because W3 is the authority body that defines the html.
Since Netscape is the authority body that defines RSS 0.91, it is a bit strange how they stopped hosting the definition.
In any case, the missing definition won't affect software that processes RSS feeds. It only affects software that checks whether a SGML document is structured properly according to that missing DTD.
The main interest to this article seems to be the speculation how a deprecated web 1.0 company could end up hiring a clueless webmaster who deletes important files without recognizing its importance.
Parent
Re: (Score:3, Insightful)
RSS is a spec that was created and promoted by Netscape. For proper validation, this remote (Netscape-hosted) file is needed and was supplied by Netscape to facilitate implementation of RSS. Removing it breaks a standard that they promoted. That is, they encouraged people to use this file that they hosted as part of the RSS spec. To reiterate, they told people to use this file a
Obligatory Lamport quote on distibuted systems (Score:5, Insightful)
SPOF? (Score:2, Insightful)
Doesn't AOL own Netscape? (Score:5, Funny)
HAHA (Score:5, Funny)
Host it yourself! (Score:4, Funny)
Seriously though, relying on some other system so your site will work is a recipe for disaster. It's similar to relying on someone to take you to work everyday. After a while, you get used to that fact that someone else is driving you that you don't even think about it. Then your driver gets deleted somehow. And you're stuck with no way to work.
Re: (Score:2)
It's even worse if your driver gets somehow deleted while you're on the road. Happens to my XP box all the time.
This is a major problem, (Score:5, Funny)
Netscape Says No RSS 0.91 For You (Score:5, Informative)
It seems as though it just took them 5+ years to follow up on the threat? Primary links are broken, but of course the lively
Sorry about that (Score:5, Informative)
Now, why this file was living under my.netscape.com is anybody's guess, but we'll have it restored ASAP. I only wish that someone had brought it to our attention so that I didn't have to find out about it from Slashdot.
Christopher Finke
Netscape Developer
Re:Sorry about that (Score:5, Informative)
What's the official way to let you know about this sort of thing? I'm not trolling -- the better you can inform folk like us about how to interact with you, the more likely it is you'll get a response when you need it. For example, a quick scan of the Help and FAQ pages linked to off of the Netscape home page shows no mention of how to contact folk like you.
Parent
Re:Sorry about that (Score:5, Informative)
For something as serious as this, a user could have checked the profile of one of the Netscape Anchors or developers, where many of them list their screennames or websites, and subsequently, their e-mail addresses. (At least, I know I do [netscape.com].) Alternatively, any Netscape.com member could use Netscape sitemail to contact any of the staff members. Obviously, these are unacceptable for normal circumstances, but I wouldn't call this situation a normal circumstance.
Parent
Re: (Score:3, Funny)
You gotta be kidding me... (Score:4, Interesting)
>I only wish that someone had brought it to our attention so that I didn't have to find out about it from Slashdot.
This rankles.
Have you EVER tried contacting Netscape from the outside world? Seriously, I can count the number of times:
*) When my.netscape.com locked out Konqueror (1998?)
*) When my.netscape.com WITHDREW the ability to embed RSS feed on your "my" page -- actually this was PRE-RSS if I recall. Way before it was commonplace, you could embed Slashdot and Linux Today feeds. Then they killed it, presumably because they got enough users or some pointy haired reason. 1999.
*) When my.netscape.com adopted a shitty policy of DELETING all your mail if you don't login for 30 days. This did not seem to be publicised by an actual email. They don't seem to delete the mailbox itself, which violates RFCs I'm sure and basically insinuates the mailbox is active. I lost tons of mail from 1996-2003 (yeah yeah backups. Some things I didn't think I would need later). ?? Happened in 2003. Note that mailboxes were only 5MB still, so I quickly bailed for a 100MB Yahoo account.
*) The 2001 deletion of Netscape Developer. This lost a ton of Netscape copyrighted Javascript documentation.
Just TRY contacting Netscape from their page. The best you can do is use the WRONG FORM to submit to some contracter who won't forward it. Or, oh yeah - there's a 900 number for by the minute Support.
Back when it mattered, there was no 'Google Guy' for Netscape, who would act as an unofficial liason. After Jamie Z left, no one internally tried to fill the shoes of a community facing employee.
While I'll be eternally grateful for Netscape's open sourcing of their browser. What a different world it is now. Too bad that step is something the current management would never have allowed (that's the perception). I can't think of a more opaque Internet company than today's Netscape. I'm sure there are people who disagree or wish it could be changed (you're here..) but that and a $1 gets you a cup of black coffee. Show this to your boss - there are suggestions here
Parent
Re:You gotta be kidding me... (Score:5, Informative)
Parent
Re: (Score:3, Interesting)
* The former GM, Jason Calacanis [calacanis.com], blogged extensively about Netscape and encouraged other employees to do the same. He also called out other industry big-wigs [calacanis.com] for "not having time" to blog about their product.
* Many [fabienne.us] Netscape [neothoughts.com] Anchors [robotskirts.com], Navigators [themulife.com], and developers [efinke.com] have an active blog [sampletheweb.com] where they write about Netscape and/or are available to discuss it.
* There i
Re:Sorry about that (Score:4, Insightful)
Ummm, maybe I'm mising something here, but I would think that your web log would show a spike in 404 errors for this file, right? In my experience, it is helpful to assume that I do not know what I don't know, and to put procedures in place to help make those omissions stick out. So, a scan of your log files not only for this file, but for any others that also have a high number of 404's (especially from a multitude of referers) would be worth investigating.
BTW, best of luck on the redesign!
Parent
Re: (Score:3, Informative)
Re: (Score:2, Interesting)
2) I found it amusing that the
Re:Sorry about that (Score:4, Interesting)
I only wish that someone had brought it to our attention so that I didn't have to find out about it from Slashdot.
If you are looking to learn a lesson from this, how about this one: URLs are forever!
Whenever I make a change to a live server, my biggest concern is to not break existing usage. If I ever change an URL, I make sure to redirect old usage to new usage that's just as good. And if I'm ever not sure something is used, I generally look back at least three months in the logs. Especially if you've inherited a pile full of mystery, good analytical tools for your server logs are vital. Trying to run even a modestly-sized site without them is like running a large store without tracking your inventory: your life will become a series of unfortunate surprises.
Parent
Re:Sorry about that (Score:5, Informative)
And BTW, it appears that the DTD file will be restored early tomorrow morning at the latest.
Parent
Huh? (Score:2, Redundant)
Seriously bad programming (Score:5, Insightful)
These URL's are mainly there for their Uniqueness, not so much as for a place of quaranteed storage. Of course, they are also a nice place to look for the actual definition, but after that you would need a local repository. This is the first thing an XML library should support, and the first thing a moderately intelligent programmer should look at. I get *very* annoyed if this kind of basic rules are ignored. And I've even seen them ignored by people pointing to the XML digital signature definitions, where security and reliability should be the first requirements in the design.
Also, what would happen if w3c.org or netscape.com go the way of the Gopher? If they go bust? It's a quickly changing world out there.
Re: (Score:2)
The URLs there were initially intended to be used as unique namespaces since each domain had someone that could guarantee uniqueness inside that domain, not really as actual retrievable URLs, although they were usually valid and
Logs? (Score:3, Interesting)
If I was a new hire at some old company where everyone else had been let go, I'd at least check out the logs and see what is being used? and then if some file is being hit 1,000's of times a day.. maybe ask a few questions..
A rewording... (Score:3, Funny)
Re: (Score:2)
Incomplete Quote (Score:2)
Re: (Score:2)
Re: (Score:2)
Exactly. The problem is that you're supposed to have an XML catalog that lists the location of the DTDs on the local filesystem (at least, that's how 4suite works). If you don't set that up, a validating parser can either fail or fetch the DTD from the URL specified in the document (personally, I prefer that it just fail so that I can fix the problem, but it's not the default).
Re: (Score:2, Insightful)
It's not any different, except the w3c is run by intelligent people, and Netscape, apparently, is not.
I've always thought the full paths were a bit stupid too, and they should have some sort of shortcut standard, one that says "Use w3c's HTML4.0 standard", and the web browser knows how to contruct a path to find w3c standards. That way, when "Use netscape's RSS0.91" standard stopped working, web browsers could have a trivial update, or their config could even be changed manually, to tell them where to find