RSS 标准过多是缺点也是优点

ZDNet软件频道 时间:2005-02-16 作者:Builder.com |  我要评论()
本文关键词:blog webtrend
要让 RSS 1.0, RSS 2.0,Atom 以及其它一堆互不相干的 Internet 供稿技术产生实际意义,还需要理论的研究。

补充材料:Web 联合供稿(Web syndication)技术的多种多样已经是众所周知,而关于标准方面最大的问题就是标准太多。要让 RSS 1.0, RSS 2.0(并非 RSS 1.0 的后继者,而是 0.94 版本的衍生),Atom 以及其他一堆互不相干的 Internet 供稿技术产生实际意义,还需要理论水平上的研究。如果在定义层次上就产生问题而不能被解决的话(我感觉,有些冲突被媒体过分夸大了),我们还能指望将来能更容易的跨过这些障碍吗?本文就是关于我们用户试着解决某些问题的。

运行 RSS 2.0 的一个问题是,发布者通常会使用不同的范式来发布基于 RSS 的内容源。虽然这种灵活性是 RSS 2.0 最大的优点之一,但是,让多种 RSS 内容源统一规格用于集合显示或演示的负担则落到了使用者一边。虽然最终用户的应用程序(包括 RSS 收集器等)通常有能力格式化各种不同的范式(这意味着 RSS 应用程序前景尚佳),但我很想知道,RSS 究竟会给软件供应商带来多大的困难,才能实现“让常人编程”的诺言——即,技术新手也可以通过鼠标指点和拖拽创建复杂的、基于事务的服务器端应用程序。

毕竟,RSS 是 XML 能够为普通大众所用的派生服务之一。对经常接触 XML 的人来说,更是熟悉不过。有了RSS 推动,很快就能成为抽提任何数据(结构化或未结构化的)的首选方法——不管应用程序是要保持Weblog更新,收取电子邮件(垃圾邮件的末日到了?),或是在一个复杂的工作流中传递事务数据。同样的,RSS 也是鼠标指点编程的第一候选。

为了鼓励 ZDNet 在blog领域开展合作,我们建立了一个内部的Wiki。虽然它也许会有更多内容,但我们Wiki的首页现在更像是一个书签库。我建立了一个二级页面来展示多用户系统的强大力量:一个我们工作组的Weblog集。我使用TWiki的 headlines 插件将基于 RSS 的内容源集合到一个页面上,成为blog世界角落中一个记录我们关注内容的门户。我把它称为我们的雷达。

接下来,我添加了来自 Robert Scoble, Jonathan Schwartz, Tim Bray, Bob Frankston, Slashdot, Groklaw, 以及其他人的内容源,而 ZDNet.com 副总裁 Stephen Howard-Sarin则将之扩展,包含了更多朋友,像 Dan Bricklin, Jon Udell, Dan Gillmor, Phil Windley, 和 Doc Searls。虽然这还不能算鼠标指点的服务器端编程,但实际上已经非常接近了。

在黑箱之外,这个插件提取源并在网页上显示的默认格式并没有出乎我的意料。因此,对于我们所有的内容来源,我用了一些可选的参数来配置这个插件,以确保在最终页面上只有文字(为了改善性能),且在每个源中只提取最新的五篇。通过在图形界面中选择这些参数并自动生成代码,然后将这些代码贴入 Web 页中,是我脑中想象的指点编程应该有的步骤,而不是像现在这样直接编码。在Wiki修改运动的狂潮中,Howard-Sarin在添加他自己的内容来源时即遵照了我的格式。由于没有易用的工具,他仅仅是从代码上做了剪切和粘贴,以及一些必要的替换。好像这样对非程序员来说也不赖,恩?在几小时内,一个两人的协作组就组装了一个门户,随着页面每次刷新而获得更新的有意义的信息。现在,我们只需等待其他 ZDNet 员工将他们各不重样的内容源贴到页面上来了。

但仍然有个问题。有些源不能正确显示,致使我在这个项目上花了比正常情况多得多的时间。举个例子说,在 Jonathan Schwartz 的每篇blog中,都有一些与众不同的地方——在每篇blog(被称为 item)的 XML 文档中,Schwartz 省略了link 字段。多数源,比如现在这篇(指原作——译者注)来自 ZDNet 的文章,使用了连接字段来存储直接指向某一单独项目(在这个例子中,新闻文章就代替了blog)的 URI。在缺少 link 字段的情况下,Schwartz 通过 GUID(全局唯一标识符)域的一个属性(是“permalink”属性)来存储指向每篇blog的入口。这样做的意义在于,在整个 Internet 上,指向特定内容项目的连接是全球唯一的。你可以用其他东西代替,不过何必多此一举?由于这个原因,几乎所有人也都把指向各自 item 的直接连接存入 GUID 中。很多情况下,这就意味着 GUID 中的内容和 link 字段的内容是相同的(如果人们使用 link 的话)。

那这些又有何影响呢?恩,当我使用一个简单的可重用插件参数集(在鼠标指点的世界里,这应该是一个“物件”,但我必须亲见后才能相信)来构建我们的门户网页时麻烦就来了。这是一个对我们页面监视的所有源都会产生作用的参数集。在鼠标指点的凡人编程世界里,如果一个物件仅在某些时候有用,凡人们很快就会因为无法弄懂而放弃。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134