聚合器:内容的聚合发布

由 大米 于 周二, 2006-11-07 02:26 提交。

聚合器模块(aggregator)可以为你的站点提供强大的新闻聚合与阅读功能,它能够自动从你指定的任意新闻或其它网站收集相关内容,并聚合显示到你的站点。

用户既可以按时间先后顺序察看聚合内容,也可以按内容来源分类察看。管理员可以添加、编辑种子(feed)来源,并针对不同种子选择更新的时间间隔。管理员还可以对种子添加标签分类,这样可以把不同类别的聚合内容分别显示。管理员还可以使用区块在站点边栏显示最新聚合内容,既可以显示某一种子的最新内容,也可以按类别显示多个种子来源的内容。新闻聚合器需要通过cron来自动收集你所订阅的站点内容。Drupal还提供你所有订阅种子的OPML文件,方便你导出到其它软件或新闻阅读器。

你可以:

  • 管理>>聚合器下面管理你的新闻种子列表
  • 管理>>聚合器>>添加feed下面添加新的种子(feed)
  • 管理>>聚合器>>添加分类下面添加一个新的种子分类
  • 管理>>设置>>聚合器下面对聚合器进行全局设定
  • 管理>>访问控制>>权限下面控制用户对聚合器模块管理权限
  • 管理>>访问控制>>权限下面控制不同用户角色(如匿名用户)是否有权访问聚合内容。
  • 访问聚合器页面
  • 在站点的cron页面手动运行cron来强制聚合器收集最新内容,而不必等到下次更新。
  • 阅读如何设置cron

1. 在新窗口打开聚合链接

很多站长希望用户在点击聚合内容的链接时,不要在当前窗口跳转到别的新闻站点,而是打开一个新的窗口,这样使得用户不会离开你的站点。最好的办法是通过修改theme模版来实现,或者也可以修改theme函数:aggregator_page_item和aggregator_block_item

另外一个办法就需要修改模块本身的输出部分,但是这样在以后升级起来会比较麻烦。一般来说你需要把输出修改成:
$output .= "link\" target=\"_blank\">$feed->link\n";

(译注:原文比较模糊,drupal总站有一些评论可能会有些帮助。如果哪位能花点时间提供一个具体的theme解决方案,再加到这里)

2. 用户新闻聚合器:用户自己提供种子(feed)

用户新闻聚合器模块(user aggregator),是一个drupal用户自己开发的扩展模块,可以允许一般用户在自己的个人资料栏添加一个自己感兴趣的聚合种子。

主要功能包括:

  1. 站点管理员
    -设定用户所提供种子的缺省分类,或者为用户提供一些分类选择。
    -设定用户所提供种子的缺省更新时间间隔。
    -选择是否在用户帐号注册时开启这一功能
    -允许用户对自己的内容种子制定一个或多个分类
  2. 用户
    -可以为自己的内容种子选择分类
  3. 用户提供的种子将自动进入审核表,经管理员审核后才生效。

3. 如何订阅内容?

内容聚合有一套通用标准,采用的是基于XML的RSS(简单新闻聚合)格式。要聚合某站点的内容,只要知道它的RSS页面地址就行了,一般这些页面都以.rss .xml .rdf 都后缀结尾。比如slashdot的聚合页面就是 http://slashdot.org/slashdot.rdf

绝大多数提供内容聚合的站点都会在其首页放置一个明显的链接,一般来说是类似于这样的一个XML图标。

也有些站点的RSS地址不太容易一下找到,或者你可能希望针对某个主题搜索多个RSS种子,一个方便的办法就是使用一些流行的RSS种子目录,例如 Syndic8

网上有很多关于RSS的介绍,大家可以自己搜索来看一下。(:有什么比较好的中文资料?可以把链接加到这里)

管理>>区块下面开启聚合器区块,会自动为你的站点加上这个内容聚合图标。

4. 设置新闻种子

点击管理>>聚合器可以加入其它站点的种子。

进入聚合器管理页面后,选择上方的“添加feed",这时drupal将提示你输入如下信息:

  • 标题 -- 种子名称,一般来说使用种子来源站点的名称就可以。
  • URL -- 种子地址,种子的RSS链接地址。注意不是普通页面的地址。
  • 更新间隔 -- 用于控制Drupal自动连接该种子并采集内容的时间间隔。缺省为1小时,一般来说不要设置得比这个更短,过于频繁的连接会加重对方服务器的负担,可能导致你被列上拒绝连接的名单。另外一个需要注意的是,新闻聚合器只能通过cron自动运行,如果你的cron设置为6小时运行一次,那么实际上新闻聚合也要每6小时才发生一次。

提交之后,检查一下是否都工作正常。可以到管理>>聚合器页面下手动进行更新,如果没有读入任何内容,那多半是RSS地址有问题。

5. 按关键字、时间或简介来过滤种子

新闻页面(News Page)模块提供了按关键字查询排列种子的功能。

按时间及按简介过滤种子的方法,暂缺。。

6. 创建聚合内容分类

  1. 进入管理>>聚合器页面,点击“添加分类”
  2. 填写新添分类的名称与描述
  3. 管理>>区块下面,你将可以找到新添的分类,可以在这里设置该区块来显示来自该分类的最新内容。

添加了分类后,以后每次添加新的种子时,都可以选择加入到哪个分类。你也可以手动对每一个单独的聚合内容进行分类,下一节将对此进行介绍。

7. 对单独的聚合内容进行分类

上一节是把来自同一种子的所有内容都分入一类,你也可以手动对每一个单独的聚合内容进行分类:

  1. 点击站点导航栏的“新闻聚合”,就可以进入分类页面
  2. 这时你将有两个选择
    • 点击“分类”,然后选择你想查看的分类,然后点上面的“分类”按钮
    • 点击“来源”,然后选择你想查看的种子来源,然后点上面的“分类”按钮
  3. 根据你的选择,drupal将显示一系列的聚合内容。在每一个聚合内容的右边,你将可以看到一个分类的复选框,在这里你可以选择对每一片单独的内容进行分类。如果在聚合器设置里开启了多重分类,那么你还可以将同一篇内容放入多个分类(PC机上按住CTRL,MAC上按住CMD键)就可以多选了。

8. 使用新闻聚合器

新闻聚合器可以按多种方式来展示你所订阅的内容:

  • 最新文章 -- 按时间顺序显示所有聚合内容,按下面样式显示:
    • 文章的标题
    • 文章来源站点,点击该链接不会跳到来源站点,而是进入一个单独页面,列出该来源站点的信息以及所有来自该来源的聚合内容。
    • 文章的简介,一般只列出该篇文章的前一两段
    • 文章的分类,每个分类都链接到相应的分类页面。
  • 按来源发布 -- 将所有聚合内容按不同来源排列发布,只显示文章标题列表,同时会有一个blog-it的图标,方便你对相应内容发布blog评论。
  • 按标题发布 -- 显示所有聚合内容的标题列表,同时会加上blog-it图标。
  • 查看文章来源 -- 按字母顺序显示所有的来源站点。每个站点名称链接到对应的聚合内容页面,进一步显示来源站点的信息以及来自该站点的聚合内容。

9. RSS feed 区块

在自动聚合内容之外,Drupal还自动为每个feed 以及每个聚合内容分类提供相应的区块,用于显示相关的聚合内容列表。在[b]管理>>区块[b]下面可以看到并开启这些区块。

----------------------------------------------------------------------------------
原文:Aggregator: syndicating content