Drupal核心模块

Drupal的核心模块指的是Drupal下载安装后自带的模块,有些核心模块也并非必须,管理员可以根据需要开启或关闭。

下面的页面都是关于如何管理核心模块的介绍。这里假设你已经安装并在管理>>模块里开启了这些模块,并且假设你已经在管理>>访问控制里设置了相应的权限。

Drupal还有很多用户开发的扩展模块,在手册的扩展模块介绍部分有相应介绍。

Aggregator:内容的聚合发布

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

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

你可以:

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

在新窗口打开聚合链接

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

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

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

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

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

主要功能包括:

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

如何订阅内容?

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

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

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

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

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

设置新闻种子

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

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

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

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

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

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

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

创建聚合内容分类

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

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

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

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

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

使用新闻聚合器

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

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

RSS feed 区块

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

Archive: 按时间查看存档内容

在存档(archive)页面可以查看指定日期发布的内容。同时它也提供了一个按月显示的日历视图,方便用户浏览不同时间的内容。

要查看某一天的内容,只需选择想要查看的日期就行了。管理员可以选择开启archive模块自带的日历(calendar)区块,用户就可以在边栏的日历上方便地浏览特定日期的内容。日历是按月显示的,用户可以点月份旁边的箭头浏览其它月份的内容。日历上的当前日期是用黑体或高亮标出的。

你可以:

  • 按日期查看存档内容。
  • 管理>>区块下开启日历(calendar)区块,方便浏览查询。

1. 按内容类型或按分类查看
这一部分与archive模块无关,只是提示你如何方便地查看过往内容。每一个节点类型基本都有专门的页面来显示所有该节点类型的文章,比如可以到blog下查看所有blog文章。如果你对内容进行了分类(taxonomy)或加注了标签(tag),那么点选该分类或标签就可以查看所有属于此分类或标签的文章。

Block:控制边栏的显示内容

区块可以把相关的或同类的内容放在一起,显示在你站点的左侧或右侧边栏,在4.7里,如果使用“区域” (region),区块也能放到你站点的任意位置。一般来说,区块都是由模块自动生成的(例如:最近的论坛主题),但管理员也能自定义区块。

要显示边栏的区块,前提是你的主题使用了边栏(有的只使用左边,有的使用右边,有的都使用),并且要在区块管理中去设定。

在区块管理界面中,你可以通过分配权重值,来指定边栏里的各区块的排列顺序。权重值较低的区块将靠近边栏的顶端,权重值较高的区块将靠近边栏的底端。

区块管理界面也提供了选择框和配置链接,对每个区块都自定义是否显示。区块的显示由这些来控制:

  • 在选择框里启用区块,不启用的区块不能显示;
  • 启用了低负荷(throttle)模块后,那些低负荷区块将在服务器高负荷时被隐藏;
  • 页面显示设置:每个区块在指定的页面中,都能设置成显示或隐藏,也可以用PHP代码来设置显示或隐藏;
  • 自定义显示设置:用户能自定义每个区块是否要显示;
  • 在功能上,有些动态区块(例如那些由模块定义的区块)在有些页面中为空,所以也不显示

模版区块
当模版被启用时,可以使用模版区块。在区块管理中能管理这类区块。

管理员定义的区块
这类区块由管理员来自定义内容,包括区块描述、区块标题、要填写的区块正文,drupal会显示出这些区块。

注意:
每个主题都要配置区块,所以如果你的站点有多个主题,你在每个主题中都要启用和配置区块。

你可以:
通过管理 >> 区块 启用低负荷区块和配置区块,
通过管理 >> 区块 >> 添加区块 增加区块。

Blog: 每个用户都有自己的 blog

blog 模块允许注册用户维护一个在线网络日记 (如我们熟知的 blog、博客、部落格等),经常作为一个在线记事或者日记。 Blog 由独立的文章组成,这些文章有时间印戳因此可以按日期来排列显示, Blog 还经常包含到已经阅读并且/或发表了相同/不同看法的网页用户的连接。

blog 模块会在主导航菜单中添加一个 用户 blog 导航 (但这个链接必须手工启用),通过这个链接可以看到站点上所有用户的最新 blog 文章。 导航菜单有一个 建立内容 链接 (会引导你发表各类文章) 以及一个 我的 blog 链接 (只显示你自己的 blog 文章)。 blog 模块还提供了 最新 blog 文章 区块,你可以选择启用它。

你可以

  • 通过您的用户个人信息 我的账户 阅读自己的 blog 文章。
  • 通过 建立内容 >> blog 文章 发表你的 blog 文章。
  • 通过 管理 >> 设置 >> 内容类型 >> blog 文章 管理 blog。
  • 通过 管理 >> 设置 >> blogapi 来管理 blog api。
  • 通过 管理 >> 区块 启用 “最新 blog 文章” 区块来显示最新的 10 个 blog 文章。

如何配置用户 blog

要在你的 Drupal 站点实现用户 blog,必须开启 blog 模块并设置恰当的权限:

  1. 转到 管理 >> 模块 并在 blog 右边的启用列的复选框打勾。
  2. 管理 >> 访问控制,找到 编辑自己的 blog,你希望哪个角色可以拥有 blog,就在相应角色对应的复选框中打勾。

以后,每个有权限的用户登陆后,就可以通过 建立内容 >> blog 文章 发表 blog 文章并且在用户导航区块将看见 我的 blog (只显示自己的 blog 文章)。 在每个独立的 blog 文章上方,blog 文章的作者将发现一个编辑 标签。

为了给用户建立自己的 blog 时以提示,以及设置诸如 发布提升到首页 之类的工作流选项:

  1. 选择 管理 >> 设置 >> 内容类型,然后点击 “blog 文章” 右边的 “配置” 链接。
  2. 在“解释或提交指导”框中输入你的提示信息。
  3. 设置工作流选项。
  4. 设置 最小字数 可以指定所有 blog 文章的最小长度。

最新 blog 文章区块

注意显示 "最新 blog 文章" 的区块不能很容易地进行定制,如显示少于 10 个项目,你必须修改源代码,该数字是一个定数。

待加入连接:如何书写自己的 "最新blog文章" 区块
注:4.7的views模块可以方便的提供类似功能的定制

通过 blog 内的分类进行导航

了解如何让常规的分类系统适应一个多 blog 站点的需求是很有用处的。 如果在我们的站点有众多独立的 blog,但共享相同的词汇(vocabulary),使用文章内的分类链接进行导航可能会遇到一定的困难。

有一个有益的文章,名为 "Blogs categories",非常有用: http://drupal.org/node/20260

将来会使用新的术语(term)链接代码,使用两个参数 (用户 id 和术语 id)。

blog 或 weblog 是什么

Drupal 的 blog 模块允许所有注册用户维护站点上的一个个人网络日记(weblog)。 Blog 是非常容易且经常更新的网站,通常以非正式和口语化的风格来进行写作。 他们通常按年代的反序进行排序 (这意味着最新的文章在最顶部) 并且对过往文章进行归档,每个独立的文章有一个永久的,也就是说,稳定的 URL 直接链接到该项目。 Blog 通常有评论,这样每个读者都可以参与讨论,而且他们通常也有 RSS feed 提供同步功能,以便各地的人可以通过一个聚合器就可以阅读。 每个文章通常含有一个想法、观点或其他什么并且有链接指向最开始讨论这个项目的地方。 Blog 可以是任何主题的,从每日生活琐事到技术到政治到编织到体育到公司产品……

从一个更实际的角度看,blog 可以看作是 个人知识展示、 一个研究者或爱好者建立和共享自己感兴趣领域的知识的地方,又或者在一个项目导向的站点,blog 可以作为项目成员的工作区,用于发布他们各自的想法,让其他的成员参与讨论。

如果你还希望有更完整的关于 blog 的定义,请参考 George Siemens 的 The Art of Blogging - Part 1The Art of Blogging - Part 2

让用户 blog 更易于访问

Drupal 提供了多种方式让用户 blog 文章可被访问到,你可能需要决定哪种方式最适合你,这取决于你的 Drupal 站点是如何配置的:

  • 导航栏内的链接: 激活 blog 模块后,大多数的 Drupal 主题都最顶部导航栏包含一个 Blogs 链接。 用户 blog 列表包含了站点所有用户最近发表的 blog 文章。 如果站点使用 xtemplate,你需要自己建立链接, 转到 站点配置 >> 主题 >> xtemplate 然后使用 HTML 建立 URL (要找出 URL,暂时切换到 Marvin 主题,你会看见顶部导航出现链接)。
  • 让用户 blog 成为站点默认首页: 转到 管理 >> 设置 并在 默认首页 处输入 "blog" (不要引号)。
  • 提升某篇 blog 文章: 如果 默认首页 是 "node",管理员可以将任何一篇用户 blog 文章推举提升到首页。 点击你要提升的 blog 文章,然后点 编辑 标签并选中 提升到首页。
  • 自动提升某篇 blog 文章: 单击 管理 >> 设置 >> 内容类型,然后点 blog 文章 右边的 "配置" 链接,在工作流的 默认选项 中勾选 提升到首页 (这种方法只有当 "node" 是 默认首页 时才生效)。
  • 在侧边栏链接到最近更新的 blog: Drupal 同时在 管理 >> 区块 中提供了最新 blog 文章区块。

附加特性

  • Blog it: 有权写 blog 的用户将看到一个 "blog it(加入日记)" 链接,例如在 RSS 区块列出的新闻条目右边,将出现一个 blog it 链接图标,单击该链接将引导用户撰写一个 blog 文章,新闻的摘要已经自动填入了正文框中。
  • 用户 Blog RSS 同步: 每个独立的用户 blog 都有自己的 RSS feed,允许其他站点同步他们的内容或者通过新闻聚合器阅读他们的 blog 文章。 要查找一个用户的 RSS feed,只要浏览他们的个人 blog (在他们的个人信息中,选择 显示最新Blog文章),然后找到 blog 页面底部的 XML 图标。

BlogApi: 通过 blog 工具发表文章

blog API 模块允许用户通过外部 GUI 应用程序发表 blog 文章。 许多用户更愿意使用外部工具来增强定制阅读和发表的能力, blog api 让用户可以自由使用 blog 工具,并且让他们有选择 blog 服务器的的自由。

当这个模块启用并配置好以后,你就可以使用象 Ecto 这样的工具从你的桌面建立和发表文章。 Blog API 模块支持好几个基于 XML-RPC 的 blogging API,例如 Blogger APIMetaWeblog API 以及大多数的 Movable Type API。 任何支持这些 API 的桌面 blog 工具或者其他服务 (如 Flickr 的 "发表到 blog") 都可以正常工作。

这个模块同时还允许站点管理员配置何种内容类型可以通过外部应用程序发表文章,因此,用户除了发表 blog 文章外也可以发表论坛帖子。 在启用支持后,外部应用程序将每个内容类型显示为独立的 "blog"。

你可以

  • 访问 XML-RPC 页面
  • 管理 >> 设置 >> blogapi

通过 mailhandler 发表内容

如果 BlogAPI 还不能满足你的需求,你或者应该考虑 mailhandler 模块 来提交内容。

Book: 结构化文档

book 内容类型适合建立结构化的、多页面的超文本,例如站点资源指南、手册、常见问题 (FAQ) 等, 它允许文档有章、节、小节等。book 可以协作完成,当然不是必须的。 有相应权限的作者可以添加或者编辑一个 book 的页面,也可以排列或者重新排序存在的文档。

Book 在每个页面的底部拥有额外的导航元素,可以通过文本、前一页向上下一页 链接进行移动。 前一页下一页 链接显示的是 book 中前后节点的标题。 另外一个导航方式是启用 手册导航 区块。

用户还可以选择 book 页面底部的 打印版本 链接来生成一个包含当前页面及其下属所有页面的对打印机友好的显示。

管理员可以查看 book 的轮廓,在那里它还可以改变节的标题及其 权重 (用于对节重新排序)。 在这个轮廓中,同时还允许编辑和/或删除 book 页面。 包括页面(page)在内的许多内容类型 (如 blog 文章、新闻、投票等) 都可以通过查看该文章时选择 轮廓 标签加入到一个 book 当中。

你可以:

  • 建立新的 book 页面: 建立内容 >> 手册页面
  • 管理某个 book (从列表选择一个 book): 管理 >> 内容 >> 手册
  • 管理 >> 设置 >> 内容类型 >> 手册页面设置工作流和其他全局 book 设置。
  • 启用手册导航区块: 管理 >> 区块
  • 管理 >> 访问控制控制谁可以建立、编辑和维护 book 页面。

用协作书写的手册来维护 FAQ

协作手册让你在站点轻易地组织一个常见问题 (FAQ)。最主要的益处是你不需要自己撰写所有的问题/答案 - 让社区帮你完成!

为了设置一个 FAQ,你必须建立一个新的手册,用以组织所有的相关内容,步骤如下:

  1. 单击 建立内容 >> 手册页面
  2. 输入一个贴切的标题,象 “神奇水滴之旅 - FAQ” 就相当不错。
  3. 上层 设置为 <顶层> 表示这是新手册的起始页面。
  4. 将手册页面的文本内容输入到 正文 区域。
  5. 暂时将 日志信息 留空。
  6. 使用权重来定位这个手册在 book 模块页面列表的位置。

在你提交这个手册页面后,你已经准备好添加常见问题了。

为你的 FAQ 建立新的页面。 在你的 FAQ 建立新的页面的过程类似上面的步骤,不过在 上层 选项中,要选择刚才建立好的 FAQ 手册页面。

将存在的非手册页面加入 FAQ。 你随时都可以将一个文章加入到你的 FAQ:

  1. 在该文章的顶部单击 轮廓 标签。
  2. 通过选择 上层 将文章放到相应的手册中。

注意:

  • 手册是相当有弹性的,他们可以有 管理员HOWTO最终用户HOWTO 等章节,随着你对 book 模块了解的深入,你可以重新组织手册内的文章使得他们更有条理。
  • 任何文章相对应的评论,在你将该文章加入手册后,评论也跟着被转换过去。 这是一个很棒的特性,因为大量的群众的智慧通过评论分享。 记住所有此后的评论及其修改均自动反映到你的手册中。
  • 你可能希望在将文章加入你的 FAQ 时编辑它的标题,因为清晰明了的标题能极大地提升可导航性。
  • 手册页面可以来自任何的内容类型 (blog 文章、新闻稿件、静态页面等)。 如果你要直接建立手册页面,那么可以使用 建立内容 >> 手册页面 链接。
  • 如果你没有看见 编辑 链接或 轮廓 标签,那么你可能是没有足够的 权限

定制手册导航菜单

默认情况下,手册的导航菜单区块只出现在手册相关的页面-换句话说是在手册顶层页面 (www.example.com/books/book-name) 及其子页面 (www.example.com/books/book-name/child-page)。 这是因为该区块中的代码不是一个实际的菜单- 它只是模拟一个菜单,因此它绝不会出现在 ..admin/menu 页面。

这意味着你不能让手册导航区块永久出现在首页 (假如你使用 book 模块建立一个静态的层次结构的话) 或者其他任何非手册页面。

这看起来是一个不小的局限,不过幸运的是我们可以使用 代码片断 来建立手册导航菜单,这样就可以让它出现在任何需要的地方,而不仅仅是手册页面。

Comment: 允许发表评论

comment 模块为每个节点建立一个讨论的领空, 用户可以发表评论对论坛话题、blog 文章、新闻、手册页面等进行讨论。评论的能力是社区成员交互参与的重要组成部分。

管理员可以给某个用户组提供评论权限,而且用户可以 (可选) 编辑他们最后的评论(假如这之前没有其他新的评论的话)。

附加到每个评论领空的是一个控制面板,用于定制评论的显示方式。用户可以控制评论的时间次序 (最新的在前或者最旧的在前) 以及每页显示的评论数。

评论行为就象其他的用户发表行为一样,作用于节点的过滤器、表情和 HTML 同样也作用于评论上。当有新的评论时 comment 模块提供特别的特性来提示站点成员。 当用户发表了新的评论时,管理员可以监管这些评论。

你可以

  • 通过访问权限 管理 >> 访问控制来控制访问 comment 模块提供的各种功能。
  • 管理评论 管理 >> 评论 >> 配置
  • 启用最新评论区块: 管理 >> 区块

详细的评论文档

在启用后,Drupal 的评论模块为每个 Drupal 节点建立一个讨论领空,用户可以发表评论对论坛话题、blog 文章、新闻、手册页面等进行讨论。管理员可以给某个用户组提供评论权限,而且用户可以 (可选) 编辑他们最后的评论(假如这之前没有其他新的评论的话)。

评论显示的用户控制

附加到每个评论领空的是一个控制面板,用于定制评论的显示方式。用户可以控制评论的时间次序 (最新的在前或者最旧的在前) 以及每页显示的评论数。 附加的设置包括:

  • 线性 — 按会话和子会话分组显示评论。
  • 平坦 — 按时间次序显示评论,没有线性关系。
  • 展开 — 显示每个评论的标题和正文。
  • 折叠 — 仅显示每个评论的标题。

当一个用户选择 保存设置 后,评论将按用户的设置进行显示。 管理员可以通过 管理 >> 评论 >> 配置 设置默认的评论显示方式。 注意: 当评论监管被启用后,用户将拥有另外的控制选项 (见后文)。

附加评论配置

评论行为就象其他的用户发表行为一样,作用于节点的过滤器、表情和 HTML 同样也作用于评论上。管理员可以通过访问权限 管理 >> 访问控制 来控制访问 comment 模块提供的各种功能。 注意在一个全新安装的 Drupal 站点中,所有的评论权限默认是被禁止的,哪个角色 (用户组) 哪种评论权限的选择权留给了管理员。 有下面的权限:

  • 访问评论 — 允许用户查看评论。
  • 管理评论 — 允许用户控制、编辑和删除评论。
  • 监管评论 — 允许用户给评论文章评分 (详见后文)。
  • 发表评论 — 允许用户发表评论,进入管理员监管队列。
  • 直接发表评论,无需审核 — 允许用户直接发表评论,不需要管理员监管。

新评论通知
Drupal 提供了特殊的特性来提示站点成员有新评论发表。
Drupal 显示附加到每个节点的评论数,并跟踪每个站点成员对评论的阅读情况。 登陆成员会看见一个通知提示有未阅读的评论,有些管理员可能希望 下载、安装和配置 notify 模块,然后用户可以请求 Drupal 在有新评论时给他们发 e-mail 通知 (notify 模块需要正确配置 cron.php)。
默认禁用的 tracker 模块显示了站点所有的最新文章,导航区块有一个链接指向 最新文章 页面,这个页面对于浏览最新发表或者最近更新的节点和评论是非常有用的,用户尚未阅读的内容会用一个红色的星型符号标识 (这个图形取决于所使用的主题)。 访问任何节点的评论领空,会发现 Drupal 在每个尚未阅读的评论旁边显示一个红色的 "新" 标注。

评论监管
在那些有着活跃用户评论的站点上,管理员可以管理社区的评论监管。
在评论监管下,每个评论被自动指定一个初始评分。 当用户阅读评论时,他们可以投上一票来影响该评论的得分,同时用户在控制面板上还有额外的选项来控制评论显示的阀值,得分低于该阀值的评论不显示。 要启用监管,管理员必须给用户授予 监管评论 权限,然后还必须配置 管理 >> 评论 >> 配置

监管投票
第一步是建立监管标注以允许用户为一个评论评分。 转到 管理 >> 评论 >> 配置 >> 监管投票,在 vote 字段,输入文本标注便于用户投票,一些示范:

  • Excellent +3
  • Insightful +2
  • Useful +1
  • Redundant -1
  • Flame -3

这样用户就了解他们的评分是如何影响评论的,这些示范的标注包括了每个投票选项对应的分值(虽然这是可选项)。 使用权重选项,你还可以控制评分选项的次序,更重的权(正数) 使得投票标注向底部靠拢,更轻的权 (负数) 使得投票标注向顶部靠拢。 为了鼓励正面的投票,一个有用的次序是将正的投票设置一个负的权重值。
监管投票/分值矩阵
接着转到 管理 >> 评论 >> 评论 >> 监管矩阵。 为投票矩阵内的每个角色的投票标注输入分值,这里输入的分值将用于为每个评论评分。 注意: 评论得分通过对所有用户投票得到的分值取平均获得。

建立评论阀值
管理 >> 评论 >> 配置 >> 监管阀值 中,你必须建立一些评论阀值才能让评论投票系统变得有用。 当评论监管被启用并且阀值建立后,用户会发现另外一个评论控制面板选项来选择他们自己的阀值。 他们将使用你输入的阀值来过滤得分低于阀值的评论,因此你可能希望建立若干的阀值来让用户更有弹性的过滤评论。
当建立阀值后,注意问你的 最小得分 是评论要显示出来必须具备的最小投票得分。 要了解一个阀值如何工作的通用示范,你可以访问 Slashdot 然后查看他们的评论榜上的评论控制面板。
初始评论得分
最后,你可能希望输入一些 初始评论得分。 在 管理 >> 评论 >> 配置 >> 监管角色 中你可以按特定权限角色指定所有评论的初始得分,如果你没有指定初始得分, Drupal 以 0 为默认值。

聚合评论
评论的聚合功能已加入到 aggregator2 模块。

Contact: 允许其他用户联系你

contact 模块允许其他用户通过你的个人信息联系表格发 E_Mail 联系你。 在联系表格中,用户可以发送主题和信息, contact 模块对于帮助社区成员之间的联系时相当重要的。

用户可以在他们的账户设置中管理联系设置,注意用户的 e-mail 地址是不公开的,不过象站点管理员这样权限的用户还是可以联系你,即使你没有启用这个特性。 如果用户激活个人联系表格,则他们的用户个人信息中将出现联系标签。

你可以

  • 访问用户 个人信息
  • 每个用户可以在 我的账户启用他们的个人联系表格。
  • 管理联系在 管理 >> 联络卡

Drupal: Drupal站点目录服务器

Drupal模块使你的站点可以通过XML-PRC网络通信协议连接指定的目录服务器。

开启Drupal模块将可以:

  • 允许所有开启了Drupal模块的站点之间进行分布式认证,也就是说,允许其它Drupal站点的用户可以使用他们在其他站点的注册信息登录你的站点。
  • 同样,也允许你的站点的注册用户,直接登录其它开启了Drupal模块的站点。用户名将是类似email地址的形式,例如:

    (example.com是你的站点地址)

    Drupal模块管理页面允许你设置一个你想要连接的XML-RPC目录服务器页面。那么在下一次cron运行后,你的站点就会自动登记并显示在该服务器的目录页面。

    你可以:

  • 在cron页面手动运行cron
  • 查看XML-RPC页面
  • 管理>>设置>>drupal下管理Drupal模块

Filter: 用户内容输入格式

过滤器(Filter)模块允许管理员设置站点的文本输入格式。例如,管理员也许需要对用户的评论文本进行过滤,去掉其中可能存在的恶意HTML代码;管理员也许还希望直接输入的URL地址自动转换为链接格式。这些都可以通过设置相应的输入过滤器来实现。

用户在发布或编辑内容时,可以在允许的输入格式中进行选择使用哪一种。管理员可以设置哪些输入格式可以被用户使用,同时制定缺省的输入格式。管理员还可以创建新的输入格式。每一种输入格式都可以单独设置,是用一个或多个相应的过滤器。

你可以:

  • 管理>>输入格式下管理输入格式的设置与权限
  • 管理>>输入格式>>添加输入格式下添加新的输入格式。

Forum: 论坛

使用forum(论坛)模块可以创建围绕特定主题的讨论话题,其形式类似于常见的BBS讨论版如phpBB等。论坛功能非常有用,因为它允许社区成员讨论感兴趣的话题,并且所有的讨论都将存档供以后查询。

论坛(forums)的组织是通过容器(containters)来实现的。每个容器(也可以叫做版块)下面包含多个子论坛(或版面),而每个子论坛下则是相关按话题排列的讨论内容。容器与论坛都可以再放到其它的容器或论坛下面。精心安排容器与论坛结构将可以帮助用户更容易地找到感兴趣的内容。管理员可以把讨论贴从一个论坛移动到另一个论坛,并选择是否在原论坛留下备份。论坛的讨论贴都有自己的URL路径。

使用论坛模块需要先开启Taxonomy(分类)与Comments(评论)模块

你可以:

  • 管理>>论坛下管理论坛
  • 管理>>设置>>内容类型>>论坛下的论坛设置页面,进行论坛的全局性设置。
  • 管理>>访问权限下,或者使用taxonomy access control模块来控制哪些用户可以发布、编辑或管理论坛内容。
  • 管理>>模块下开启论坛功能必需的taxonomy与comment模块。
  • 使用flatforum theme美化论坛外观,或使用quote, subscription, bbcode及comment mover等模块为你的论坛增加相应的功能。还可以使用privatemes模块使用户可以使用站内信息互相联络,并使用profile模块来扩展用户个人信息资料。
  • 管理>>帮助>>评论页面阅读有关comment模块的帮助信息。
  • 管理>>帮助>>分类页面阅读有关taxonomy模块的帮助信息。

Drupal的论坛就像drupal本身一样,可以根据使用者的需要开启不同的模块,功能可以得到不断的扩展。你可以完全控制需要实现什么样的功能。

如何创建一个论坛

用户可以在论坛下发贴,论坛本身又可以是上一层论坛的子论坛,或者放在不同的容器(版块)下,从而形成多层结构。

  1. 点击管理>>论坛
  2. 点击 “添加论坛” 标签
  3. 输入论坛名称
  4. 输入论坛的说明。当用户选择论坛时,这个简短的说明将显示在论坛名称下。
  5. 为这个论坛选择一个母论坛或容器。如果没有其它论坛或容器可供选择的话,你将只有(根)这一个选择,也就是说该论坛将处于整个论坛分层结构的最上层。
  6. 选择权重。权重决定了论坛的显示顺序,数字越大表示其越‘重’,也就是说在显示时会沉到下面;相反,数字越小表示其越'轻',排列时会排在上面。
  7. 点击“提交”按钮。

如何创建一个容器

容器,顾名思义,用于包容题材相近的多个论坛。容器本身并不是一个论坛或版面,用户不能在容器上发布内容,而只能在容器下包含的论坛里发布。

  1. 点击管理>>论坛
  2. 点击 “添加容器” 标签
  3. 输入容器名称
  4. 输入容器的说明。当用户选择论坛时,这个简短的说明将显示在容器名称的下面。
  5. 为这个容器选择一个母容器或论坛。如果没有其它论坛或容器可供选择的话,你将只有(根)这一个选择,也就是说该容器将处于整个论坛分层结构的最上层。
  6. 选择权重。权重决定了论坛的显示顺序,数字越大表示其越‘重’,也就是说在显示时会沉到下面;相反,数字越小表示其越'轻',排列时会排在上面。
  7. 点击“提交”按钮。

Help: 上下文相关帮助

Help(帮助)模块用于显示上下文相关的帮助信息。用户可以通过点击帮助模块提供的连接,更块地熟悉相关的模块功能。

模块直接可以通过这个help模块来互相交换帮助信息。所有的在线用户帮助信息都通过这一模块展示。下面是一些帮助信息的例子:

  • 模块的名称
  • 在 admin/system/modules 页面看到的帮助信息
  • 在 admin/help 页面现实的模块特定帮助文本,以及每个模块帮助链接的说明
  • The help for a distributed authorization module (if applicable).
  • The description of a post type (if applicable).

管理>>帮助页面下的帮助文本通常也就是手册中相应模块的说明,当然手册中会包括更多更详细的内容。

你不能对help模块进行任何设置管理操作。

Legacy: 重新映射旧风格 URL

legacy 模块在从一个旧的安装升级时提供对旧版 URL 的处理,它能自动重定向旧版的页面链接,从而预防了 页面未找到 错误。

legacy 模块处理旧版遗留风格的分类页面、分类 feed 和 blog feed 路径,它也处理从 Drupal 4.1 升级时的 URL 问题,它会重新将旧版风格的 URL 改为新版风格的 URL (简洁 URL)。

一些映射示范:

  • taxonomy/page/or/52,97 映射为 taxonomy/term/52+97
  • taxonomy/feed/or/52,97 映射为 taxonomy/term/52+97/0/feed
  • blog/feed/52 映射为 blog/52/feed
  • node/view/52 映射为 node/52
  • book/view/52 映射为 node/52
  • user/view/52 映射为 user/52

Legacy 模块没有配置选项,而且对于新安装的 Drupal 站点,根本无须启用。

Locale: 多语言支持

locale 模块允许你用自己的语言来表现你的 Drupal 站点,而不是默认的英语, 你可以用它来建立一个多语言的站点或者替换 内建 的文本达到定制站点的目的。当 locale 模块遇到需要显示的文本时,会尝试将它翻译为当前选定的语言,如果没有可用的翻译,这个字符串会被记录下来,然后你就可以轻易地检索尚未翻译的字串了。

locale 模块提供两种不同的翻译方式。 第一种集成到了 web 界面中,通过这个界面你可以搜索尚未翻译的字串,然后自行翻译。 当然更简易并且节省时间的方法是通过导入翻译好的语言文件,这些语言文件一般是 GNU gettext Portable Object files (简单说是 .po 文件)。在翻译页面有许多翻译好的语言文件可供下载使用。

如果一个翻译好的语言文件不能适应你的需求,.po 还可以通过特殊的编辑工具方便地再次修改。locale 模块的导入特性允许你从这些文件将字串导入到站点数据库中,而输出功能则允许你通过生成 Portable Object file 的方式与他人分享你的翻译。

你可以

  • 通过 管理 >> 本地化 来管理本地化。
  • 管理本地化字符串: 管理 >> 本地化 >> 管理字符串
  • 添加本地语言: 管理 >> 本地化 >> 添加语言
  • Drupal 翻译页面 下载翻译好的文件。

翻译文本

通过 Drupal 界面翻译文本可以说是相当乏味的,这不能说是因为 Drupal,而是每次字符串更新都要重新载入页面。 更好的翻译方法是通过 PO 编辑器编辑 PO 文件,然后导入到 Drupal。

关于 Drupal 核心和模块的翻译,有完整的指南,请参考 此处

如何安装其他语言

要安装一个本地语言,只要启用 locale 模块,然后到 admin/localization 导入从 http://drupal.org/project/Transla​tions 下载的 .po 文件就可以了。 你应该在弹出的菜单中选择了正确的语言了吧?就这么简单!

现在你可以选择是否让用户自己切换语言了,同时你还会发现本地化模块的 "翻译字符串" 标签。

更多信息请参考 本地化或国际化支持

如何建立定制语言集来替代 Drupal 术语

  1. 管理 >> 模块 页面启用 locale 模块。
    • 管理 >> 访问控制
    • 给自己 (以及其他应该拥有的) 访问本地化的权限
  2. 来到 管理 >> 本地化 页面。
  3. 选择 添加语言 标签。
  4. 假设是英语,在语言代码文本字段输入 en-US 就可以建立一个定制的语言。
  5. 为你的语言命名,例如 定制的英语 (注意不能使用空格),然后添加该语言。
  6. 此时将返回到本地化主页面,启用你的新语言并设置为默认。
  7. 保存配置。
  8. 禁用原来的 English 语言集 (就是说,你不希望用户在在自己的账号中有选择语言的权利)。

现在当你浏览页面,那些 Drupal 硬编码的内容将加入到你的语言集数据库中。

当你访问过你希望修改的内容后:

  1. 转到本地化的管理字符串页面 (admin/locale/string/search)。
  2. 输入你要搜索的字符串。
  3. 编辑结果,输入你的替代文本。

如何使用定制语言集来改变 Drupal 文本和术语

举个简单的例子,你可能希望将 "Search" 按钮改为 "Find",或者你希望评论显示为 "Posted by" 而不是 "Submitted by"。更进一步,你可能希望将 Drupal 描述为 "forums" 的任何东西替换为 "bulletin boards" 这样的描述,你还可能希望将任何地方出现的单词 "forum" 改为自己喜欢的单词。

locale 模块是一个发展的相当好的系统,可以轻松处理这些情形。尽管我们将它描述为一个翻译系统,它一样能够高效地处理你用自己的术语代替 Drupal 默认术语的问题。 你应该首先阅读 如何建立定制语言集来替代 Drupal 术语,在遵循该文指示建立了你自己的定制语言后,本文试图为 Drupal 新手提供更详细的处理步骤。

再重复一次,在处理前,遵循 如何建立定制语言集来替代 Drupal 术语 的第一部分启用 locale 模块,建立一个定制语言并使之成为默认语言。如果你不是站点的第一个用户,还需要到访问控制页面 管理 >> 访问控制 给你所处的角色赋予 "管理本地化" 的权限。

接下来,你会发现直接在 管理 >> 本地化 中逐个搜索字符串没有通过模板文件导入 "已翻译" 字串来的容易。因此,到 翻译模板 页面下载相应版本 Drupal 的翻译,一些第三方的模块会有一些翻译模板在 "po" 目录下。

在下载得到的模板目录中,你会发现许多扩展名为 ".pot" 的文件,"general.pot" 里面的字串被好几个模块重复利用,用一个文本编辑器打开并浏览下,记得前面我们举的简单的例子吗?我们从文件中找到下面形式的字符串:

#: includes/locale.inc:327;346 modules/search.module:142;996 modules/system.module:1198 modules/user.module:1958
msgid "Search"
msgstr ""

编辑这个文件就可以指定替代文本,例如:

#: includes/locale.inc:327;346 modules/search.module:142;996 modules/system.module:1198 modules/user.module:1958
msgid "Search"
msgstr "Find"

类似的,我们可以改变这个条目:

#: themes/engines/phptemplate/phptemplate.engine:250;273
msgid "Submitted by %a on %b."
msgstr "Posted by %a on %b."

注意 "#:" 后面的文本是一些帮助性质的信息,对翻译结果没有任何影响。

此时你可以将编辑过的文件保存到某处 (你可能希望放在你定制的主题的本地副本边上?)。 现在转到 管理->本地化 并选择 "导入",选择你刚才保存的翻译文件,将它导入到你的定制语言中。瞧! Search 框的名字变成 "Find" 了,以及等等。

要进行更广泛的修改,你还可以打开 "forum-module.pot" 文件,将所有 "forum" 单词改为你自己喜欢的,例如:

#: modules/forum.module:51;110;216
msgid "forum topic"
msgstr "bulletin board subject"

更多关于使用 local 模块和生成替代文本的帮助和技巧可以参考 翻译人员指南

满足你的好奇心
如果你阅读一个模块的 PHP 代码,例如 search.module,你会发现:

<?php
  $form
['basic']['inline']['submit'] = array('#type' => 'submit', '#value' => t('Search'));
?>

这里 'Search' 是一个 t-ified 字串,它意味着你可以使用 locale 模块替换为任何字串。

Menu: 定制站点导航

menu 模块允许定制菜单。 出现在区块的菜单有助于为你的站点提供导航,用于导航的主菜单是主导航菜单。

  • 在管理菜单页面,管理员可以 “编辑” 以改变菜单项的标题、描述、从属关系或者权重,在 “操作” 列中,单击“启用/禁用”可以切换菜单项的开关状态。 禁止的菜单项并没有被删除,只不过他们不能出现在菜单区块中,所以不能用于站点导航。 注意由 menu 模块默认生成的菜单项不能删除,只能禁用。
  • 使用 “添加菜单” 标签来建立一个新的菜单标题,在建立后,它会出现在管理菜单页面中主导航菜单的下面,靠近列表的底部。
  • 使用 “添加菜单项” 标签可以在导航或者定制菜单中建立新的链接。选择上级菜单项将新建的链接定位到一个存在的菜单结构中去,如果是顶层菜单项,直接选择菜单名称。
  • 要关闭导航菜单区块就需要去管理区块页面了。

你可以

  • 管理菜单: 管理 >> 菜单
  • 打开或关闭菜单区块: 管理 >> 区块
  • 添加菜单: 管理 >> 菜单 >> 添加菜单
  • 添加菜单项: 管理 >> 菜单 >> 添加菜单项
  • 将所有对菜单的定制,重新设置为 Drupal 默认状态: 管理 >> 菜单 >> 重设菜单

Node: 内容

站点内所有内容都作为 节点(node) 进行存储和处理,因此节点是任何文章,例如 blog 文章、新闻、投票、论坛帖子等。 node 模块管理这些内容类型,这也是 Drupal 比其他内容管理系统强大的地方。

将所有内容作为节点处理,具有高度的弹性,便于建立新的内容类型,它也允许你轻松地对所有内容应用新特性或改变。评论 (comment) 不作为节点处理,但它总是与某个节点相关。

Node 模块特性

  • 一个对站点所有内容进行显示、搜索和改变状态的界面。
  • 配置设置标签可以对站点内容进行基本的设置。
  • 配置内容类型标签列出站点所有内容类型并允许你配置其默认工作流。
  • 搜索标签让你搜索站点的所有内容。

你可以

  • 搜索 中搜索站点所有内容。
  • 管理 >> 内容 管理站点所有内容。
  • 管理 >> 设置 >> 内容类型 管理每个节点类型的工作流和其他默认设置。
  • 管理 >> 设置 >> 文章 配置显示在主页面的节点数和文章的摘要长度。
  • 管理 >> 访问控制 为不同的节点类型设置访问权限。

Page: 发布静态页面

page 模块允许用户建立静态页面-一种基本的内容类型。 页面可以通过 book 模块被收集到手册中。 如果一个页面的信息是静态的,那么用户应该建立一个页面,例如一个 "关于" 页面。

当一个页面被建立后,用户可以设置作者信息、配置发布选项、读者是否可以参与评论等,他还可以选择页面的内容类型 (如 full HTML, filtered HTML, php)。

作为一个管理员,你可以设置页面的默认发布选项 (通过其工作流): 你可以指定一个页面默认是发布、送到监管队列、提升到首页,还是置顶,你还可以设置是否默认启用修订功能。 你可以为不同的用户角色设置相应的权限,使得他们可以查看、建立和编辑页面。

你可以

  • 阅读节点管理帮助: 管理 >> 帮助 >> 节点
  • 阅读页面管理帮助: 管理 >> 帮助 >> 页面
  • 阅读新闻管理帮助: 管理 >> 帮助 >> 新闻
  • 建立一个静态页面: 建立内容 >> 页面
  • 设置工作流和其他全局设置: 管理 >> 设置 >> 内容类型 >> 页面

页面和新闻之间的区别

许多人问,“页面” 节点类型和 “新闻” 节点类型有什么区别?从基本功能的角度来说,他们之间没有不同点。然而,既然 Drupal 将他们作为两种不同的类型进行处理,那么你就可以分别对他们进行不同的主题化,这样页面节点和新闻节点就分别拥有自己的外观了。

这两中节点类型在节点监管任务中也可以区分开来,例如,站点管理员可以设置权限使得一个站点访问者可以建立新闻节点,但要经过站点成员的评审才能决定是否发布,而页面节点则作为站点管理公告。

推荐新用户在他们站点的首页上发表文章。一个没有更新的首页不利于搜索引擎优化。在首页以外的地方(例如二级页面)进行更新是相当无意义的,同样的更新量下,其内容价值将远不如在首页更新。有些人对此不以为然,然而有人会说,一个商业站点会对此非常感兴趣,因此这些站点首页,不可能是一个长期没有更新的页面,新内容在首页上直观显示,用户无需经过华而不实的界面,点击数次,才能看到站点上的新内容。

参考节点主题化和节点监管。

按标题指定页面

你可以通过使用 node.php?title=text 的 URL 格式来指定页面。

Path: 易读的 URL

path 模块允许你指定 Drupal URL 的别名。这些别名为站点用户增强了 URL 的可读性并可能帮助互联网搜索引擎更有效地索引你的内容。 每个页面都可以建立多个别名。

一些 URL 别名的示范:

  • user/login => login
  • image/tid/16 => store
  • taxonomy/term/7+19+20+21 => store/products/whirlygigs
  • node/3 => contact
  • node/10 => products/merchandise/cups
  • node/10 => cups
  • node/11 => products/merchandise/coffeemakers

path 模块在所有的节点输入和编辑界面加入额外的输入别名的区域 (当然要求该用户具有相应的权限),它也提供一个查看和编辑所有 URL 别名的界面。

这个模块同时带来了用户批量定义 URL 别名的可能性,这对于希望统一的 URL 别名而不是默认的地址很有用处。 例如,你可能希望在不同的语言中有自己的 URL 表现形式,在 web 服务器上访问 Drupal 源代码需要设置这些类型的别名。

你可以

  • 用 path 模块为文章设置路径。
  • 添加一个 URL 别名: 管理 >> url 别名 >> 添加别名
  • 管理 URL 别名列表: 管理 >> url 别名
  • 阅读如何为你的 webserver 配置简洁 URL
  • 管理 >> 设置常规设置 区域启用 简洁 URL 以去除 =? 。
  • 安装和使用 pathauto 模块 可以自动建立 url 别名。

批量建立 URL 别名

Drupal 同时带给用户进行批量指定 URL 别名的可能性。 你可能愿意看到 Drupal 使用完全不一样的 URL,或者是将 URL 翻译为访问者的本地语言,不论是哪种情形,这个特性都是相当棒的。 只有可以访问站点源代码的管理员才能设置这种类型的别名,你可以在代码的某处定义一个函数 (甚至在 settings.php),请看下面的示范:

<?php
// 用于 Drupal 4.6.x 的示范
function conf_url_rewrite($path, $mode = 'incoming') {
  if (
$mode == 'incoming') { // 来自客户端的 URL
   
return preg_replace('!^display/(\d+)$!', 'node/\1', $path);
  }
  elseif (
$mode == 'outgoing') { // 输出到客户端的 URL
   
return preg_replace('!^node/(\d+)$!', 'display/\1', $path);
  }
}
?>

<?php
// 适用于 Drupal 4.7.x 以上的示范
function custom_url_rewrite($type, $path, $original) {
 
// 如果这个路径已经有别名了,跳过它
 
if ($path != $original) {
    return
$path;
  }
  if (
$type == 'source') { // 来自客户端的 URL
   
return preg_replace('!^display/(\d+)$!', 'node/\1', $path);
  }
  elseif (
$type == 'alias') { // 输出到客户端的 URL
   
return preg_replace('!^node/(\d+)$!', 'display/\1', $path);
  }
}
?>

这个函数将每个 node/$node_id 类型的 URL 转为 display/$node_id。 你自己定制的 URL 别名将不受影响,因此,如果你有一个 'contact' 页面别名,那么 display/3 别名将不会生效。

利用这个特性,你不仅仅可以用来缩短你的 URL,或者将他们翻译为你自己的语言,你还可以添加全新的次级 URL 到已经存在的模块的 URL 空间,或者将存在的组合到公共的 URL 空间。举个例子,你可以为“新闻”词汇下的页面别名建立一个 news 部分,这样就可以拥有 news/15news/sections/3 这样的 URL 而不是 node/15taxonomy/term/3。 当然要做如此高级的别名,你需要广泛地了解 Drupal 的内部工作机理和正则表达式。

Ping: 通知改变的服务

ping 模块有助于将你的站点的改变通知给关注的站点。 它自动发送通知 (称之为 "pings") 到 pingomatic 服务,告诉它你的站点已经改变,而 pingomatic 将轮流 ping 其他服务,例如 weblogs.com、Technorati、blo.gs、BlogRolling、Feedster.com、 Moreover 等等。

ping 模块需要启用 cron 或者类似的时间作业计划。

你可以:

  • 管理 >> 模块 页面启用或禁用 ping 模块。
  • 在你的站点的 cron 页面运行你的 cron job。
  • 阅读 配置 cron jobs 的相关信息。

写一个定制的模块 ping 一系列站点

如果你希望通知的站点没有使用 ping-o-matic,你可以使用下面的更新。

来自: http://drupal.org/node/29704

替换 ping.module:ping_ping 为下面的代码。 兼容 drupal 4.6.3

/**
* 执行 hook_ping().
*
* 通知 pingomatic.com, blo.gs, 和 technorati.com 本站已经改变。
*/
function ping_ping($name = '', $url = '') {
$result = xmlrpc('http://rpc.pingomatic.com', 'weblogUpdates.ping', $name, $url);
if ($result === FALSE) {
watchdog('directory ping', t('Failed to notify pingomatic.com (site).'), WATCHDOG_WARNING);
} else {
watchdog("directory ping", t('successfully notified pingomatic.com (site).'), WATCHDOG_NOTICE);
}
unset($result);
$result = xmlrpc('http://rpc.technorati.com/rpc/ping', 'weblogUpdates.ping', $name, $url);
if ($result === FALSE) {
watchdog('directory ping', t('Failed to notify technorati.com (site).'), WATCHDOG_WARNING);
} else {
watchdog("directory ping",t('successfully notified technorati.com (site).'), WATCHDOG_NOTICE);
}
unset($result);
$result = xmlrpc('http://ping.blo.gs', 'weblogUpdates.ping', $name, $url);
if ($result === FALSE) {
watchdog('directory ping', t('Failed to notify blo.gs (site).'), WATCHDOG_WARNING);
} else {
watchdog("directory ping", t('successfully notified blo.gs (site).'), WATCHDOG_NOTICE);
}
unset($result);
}

- David Herron - http://7gen.com/

Poll: 社区投票

Poll模块可以用来为站长发起一个简单的投票活动。Poll使用多选问卷的形式来表达网民对调查的回应。放置‘民意调查’在网站上是一个很好且直接的了解网民意见的途径。

站长可以发起一次Poll,标题可以就是问题,然后给出答案和“基础”票数。您还可以选择每轮投票开始的时间周期。

在导航菜单中加入Poll项可以让你在页面中看到当前所有的投票情况,投票(如果你还没有投票)或者查看投票结果。

你可以

  • 查看投票页
  • 管理 》设置》内容类型》投票

Profile: 用户帐号信息扩展

Profile模块允许你在用户个人信息中自定义字段,例如国籍、真实姓名、年龄等等。这让站点的用户共享更多他们的信息,也能帮助社区型站点根据这些个人信息来组织用户。

下列类型字段能加到用户个人信息中:

  • 单行文本字段
  • 多行文本字段
  • 复选框
  • 下拉列表
  • 下拉框
  • URL
  • 日期

profile 模块让你的用户分享他们自己的有关信息。 你设计一些表格让他们自己填写,用户可以在他们自己的 “我的账户” 页面点 编辑 标签来填写信息。 用户填写的每项信息都可以配置为其余用户可见。

你可以在 modules 页面启用 profile 模块 (administer >> site buiding >> modules)。

当你为用户设计了表格 (administer >> user management >> profiles) 后,你就可以定义一些定制的字段 (如芳名、高寿、所居等),有下面的类型可供利用:

  • single-line textfield(单行文本)
    范例: 你希望询问用户的真名
  • multi-line textfield(多行文本)
    范例: 你希望询问一个开放型的问题: "你希望为社区的发展做点什么?"
  • checkbox(复选框)
    范例: 你想说 "如果你曾经见过大米就勾这个框。"
  • list selection(列表)
    范例: 你想问 "你最喜欢哪种颜色--红、黄、蓝?"
  • freeform list(自由列表)
    范例: 你希望询问用户--"你都会哪种方言?"
  • URL(网址)
    范例: 你想知道 "你的个人网站地址?"
  • date(日期)
    范例: 你想问 "您的生日?"

只要你喜欢,你可以有许多字段,可以使用任何类型和任意多次。 为了让每个字段排班就列,会用到它的 "weight(权重)"。

每次你添加一个字段,会询问你它的 "category(类别)",这允许你将每个用户的个人信息分割为多个部分。 举个例子来说,你可能希望将用户个人信息分割为两个部分,一个叫 "Community interests" 一个叫 "Professional skills",这样你定义字段时可以将这些字段分别指定给其中一个类别。 Drupal 会分别显示这两个部分--一个叫 "Community interests" 另一个叫 "Professional skills"--每个都包含各自的信息集。

你可以标记一个字段为必须 ("The user must enter a value"),你还可以将某个字段设置为新用户注册时必须填写。

如果 profile 模块和 menu 模块都启用了,那么在 Menus 页面 (administer >> site buiding >> menus) 可以启用 Navigation Menu 的 User list 项。 这样有权限查看用户个人信息的用户就可以方便地链接到用户列表页面了。

该菜单项目默认是禁止的,不过你可以启用 (你还可以重命名 "User list" 为任何你喜欢的名称),你也可以在站点的 primary 和 secondary 链接或其他任何菜单中放一个用户列表链接 (单击 "add menu item" 然后在 "path" 字段中输入 "profile")。

permissions(权限) 页面 (administer >> user management >> access control) 你可以决定什么人可以有权查看用户个人信息(user profiles),它的设置在 "user module" 下,无论如何设置,站点管理员总是能够访问用户个人信息的。

Contributed modules 可以配置用户个人信息字段使得他们能发挥更大作用,例如可以帮助一个基于社区的站点通过他们的个人信息字段识别和组织用户。

你可以

  • 查看用户 个人信息
  • 管理个人信息设置: administer >> user management >> profiles

启用用户图片(或虚拟形象)

请注意用户图片(或虚拟形象)是theme模块的一部分,不在profile模块里。

  1. 在管理员导航条里,通过 管理 >> 主题 >> 配置 来进行用户图片的设置。
  2. 在显示设置中,启用图片显示。
  3. 你可以在全局设置中对所有主题进行设置,也可以选择某个主题进行针对性的设置。
  4. 点击“保存设置”

创建新的个人信息字段

  1. 启用Profile模块。在管理 >> 模块中选择“prfile | 支持配置用户信息”启用它。
  2. 创建新的个人信息字段或编辑已有字段。在管理导航条上,选择管理 >> 设置 >> 个人信息,在“加入新的字段”下选择字段类型。根据提示信息配置字段,并保存。

生成用户注册表单的自定义字段

要生成用户注册表单的自定义字段,按以下步骤:

  1. 进入管理 >> 设置 >> 个人信
  2. 如果还没有用户个人信息字段,创建它,接下来:
    • 在“加入新的字段”下点击选择字段类型
    • 填写字段的具体细节,即类别、标题、表单名称、说明、权重、可见性和页面标题。
    • 检查该字段是否可以让用户留空。
    • 为了让该字段出现在注册表单上,请在“在注册表单上可见”前打勾。
  3. 点击“保存字段”按钮

现在你自定义的新字段将会出现在注册表单上。

CiviCRM: 标签,个人信息,群组,高级社区用户管理

CiviCRM模块功能允许你根据你的联系管理需求,去整合并扩展Drupal用户界面,它也提供工具收集并共享社区用户和访问者的联系信息。

你可以:

  • 配置用户注册表单,包括标准的或自定义的CiviCRM字段
  • 允许用户维护他们自己的部分或全部联系信息,并能通过CiviCRM的搜索其他人已共享的资料找到他们的联系信息。
  • 允许部分CiviCRM资料可供搜索列表
  • 创建自定义的注册表单,去收集网站访问者的联系信息

更多信息可参见:

Search: 站点内部搜索系统

搜索模块能够通过关键字来搜索内容。要在一个大站点内找到内容,搜索是最实用的方法。搜索很有用,它能通过搜索关键字来查找用户和文章。

搜索引擎通过维护你站点内容的关键词索引来运行。它能把文章和用户建立索引。你可以调整设置去改变索引行为。请注意,搜索模块需要正确设置cron(不知道怎么翻译,感觉像定时器)。请根据索引百分比的情况,设置每次cron运行时索引项目的最大数量。如果你的cron超时或者php内存溢出,请降低该设置值。

要使用搜索模块,数据库用户需要创建临时表的权限。如果你没有这个权限,请向你的系统管理员申请。

你可以:

  • 在“管理 >> 帮助 >> 系统”中查看你的站点怎样使用cron
  • 在cron页面手动运行cron
  • 查看“配置cron”(http://drupal.org/node/23714)
  • 管理 >> 设置 >> 搜索配置搜索模块

在你定制的模块中加入搜索

要在你定制的模块中加入搜索,你的模块必须支持搜索钩子。
在drupal API中查看hook_search:http://drupaldocs.org/api/head/function/hook_search
4.7版本 http://api.drupal.org/api/4.7/function/hook_search)

Statistics:来源跟踪、页面点击数,等等

统计模块记录着站点使用情况的统计资料,它统计了你文章的访问次数和访问来路。统计模块可以用来知道很多有用的信息——用户和用户之间、用户和站点之间的互动信息。

统计模块特性:

  • 用日志显示你站点的访问次数和访问的具体内容
  • 外部来源(Referrers)告诉你访问者从哪里来(即来源网址)
  • 热门页面显示你站点上最热门的内容
  • 最活跃的用户显示你站点里最活跃的用户
  • 最新点击显示你站点最近活跃的内容,也可以禁止某一访问者访问站点
  • 节点计数显示节点被浏览的次数,它显示在“发表评论”的旁边

配置统计模块:

  • 启用访问日志功能,你可以打开或关闭访问日志。该日志用来储存每个页面的浏览数据,例如远端主机的IP地址,来源网址,访问了哪些节点,还有访问者的名字。启用访问日志后,Drupal每显示一个页面,都会呼叫一次数据库。
  • 删除页面访问记录,能让你设定访问记录保存的期限,到期后访问记录会从数据表中删除掉。要使用这一功能,你需要运行cron.php
  • 启用节点计数允许你打开或关闭节点计数功能,如果打开了,每当显示节点时,都将会增加一次额外的数据库查询,计数器会不断累加。
  • 显示节点计数允许你全局设置关闭计数器的显示。

你可以:

  • 管理 >> 设置 >> 统计中管理统计模块
  • 管理 >> 日志中访问统计日志
  • 管理 >> 日志 >> 最新点击中访问最新点击

Story: 发布静态内容

新闻模块用来建立被称为“新闻”的内容类型。新闻就是有着简单形式的文章:他们有标题,摘要与正文。新闻通常被用来发布新文章或用于群体博客。

新闻管理界面允许进行复杂的配置。它可以设定提交表单,工作流,默认显示权限,默认编辑权限,权限设置和附件。

你可以:

  • 建立内容 >> 新闻 中发表新闻
  • 管理 >> 设置 >> 内容类型 中设置工作流和其他全局配置
  • 管理 >> 访问控制 中设定哪些用户能建立和修改新闻

Throttle: 拥堵控制

拥堵控制(throttle)模块提供了一个可以自动探测访问流量的波动的平衡机制。如果站点有大流量的访问或者被dos攻击,web服务器可能难以承受。这个机制可以自动的停止其他模块的耗费cpu的功能。比如,在主题方面,在站点很忙的时候可以选择禁止图片(减少带宽),或者模块方面,可以选择禁用一下复杂的逻辑处理模块(减少cpu占用)

当有匿名访问的数量超过指定门槛时,拥堵控制就可以自动的启用。当注册用户访问的数量超过指定门槛时,拥堵控制平衡也可以自动的启用。

你可以:

  • 管理>>模块 启用拥堵控制模块
  • 管理>>区块 启用拥堵控制区块
  • 管理>>设置>>平衡 管理拥堵控制模块的设置

何时使用拥堵控制模块

对于资源被限制而且平时也不是很忙的站点来说拥堵控制模块是很有用的。而对于持续高流量的站点确实不怎么有用,这些网站基本上都有解决高流量的基本框架。

拥堵控制模块在有cpu和带宽限制的共享主机下的站点可以很好的工作,特别是对于站点一会只有一小撮访问,一会又突然暴增的情况。当然,只有在启用并正确配置该模块的情况下才有帮助。

Tracker: 察看最新内容

跟踪(tracker)模块在网站上允许用户看到最近添加或者更新过的内容,跟踪模块为那些喜欢跟随特定的作者的用户提供给用户级的跟踪。

“最新文章”的链接在导航栏里可以看到,是一个新的和最近更新过的内容按时间反序组成的列表。显示了内容类型、标题、作者名、有多少条评论,以及最后更新的时间。原作者或其他人对文章内容的任何改变,还有添加新评论都属于更新。要使用跟踪模块查看一个用户更新过的内容,只需要在用户描述中点击跟踪标签就可以了。

你不能管理这个模块,没有配置选项。

你可以

  • 浏览最近的文章
  • 在用户描述中选择浏览跟踪标签

跟踪新创建的内容(而不是更新过的内容)

如果你只希望跟踪新创建的内容节点,而不是同时也显示那些最近更新过的节点:

在tracker.module中,(或者tracking.module),只要把模块里面有“changed”的代码行修改成“created”就可以了。

Tracking模块

另外的一个跟踪模块:tracking (注意是tracking,drupal自带的核心模块叫tracker)

这一模块能够过滤在近期文章列出的节点类型,尤其是在论坛中的最近论坛话题的过滤,(在缺省情况下是靠tracker.module来完成的)

在下面的链接中下载tracking.module
http://www.settingtheworldtorights.com/node/417

在设置页面可以指定何种类型的内容tracking.module可以进行收集,而且还有下面的选择:

  • 新评论
  • 未读过的标题
  • 未读过的文章
  • 所有的评论
  • 近期的文章
  • 热门的讨论
  • 冷门的讨论

Upload: 上传文件

上传(upload)模块允许用户上传文件到站点。上传文件到网站的功能对于希望分享工作的社区成员来说来说是很重要的。对于那些希望把上传文件关联到节点或页面的管理员来说也很有用。

有上传权限的用户可以上传附件。你可以在内容类型设置页面中选择上传附件的post类型。针对上传文件的大小,或者图像文件的尺寸可以定制到每个用户角色。注意:在你定制这些设置之前,必须首先给予一个用户角色上传的权限。

你可以:

  • 管理>>设置>>内容类型 启用/禁止 对单独类型的内容上传
  • 管理>>设置 (里面的文件系统设置部分)管理上传文件的存储目录
  • 管理>>设置>>上传 设置文件大小,数量和其他用户角色缺省设置
  • 管理>>访问控制 管理可以上传和浏览附件的人

最大上传的大小由你的php环境决定.标准php缺省值是2M,如果你需要改变它,参看手册中的 如何在php.ini中增加上传大小

User: 用户访问与管理设置

用户(user)模块允许用户注册,登录以及退出。用户的信任来自能登录,因为他关联他们用他们的账号创建的内容,并允许对他们的角色设置不同的权限。用户模块支持用户角色,可以设置正确的权限,使得每个角色只能做管理员允许的事情。每个用户可以被指定一个或多个角色。缺省情况一般有两个角色,匿名用户-没有登录,和授权用户-登录并被授权

在他们个人的我的帐户页面中,用户可以使用他们的名称,也能自由调整某些个人配置。
注册用户需要一个本地用户名和口令来得到授权,或者远程的用户名和口令(比如delpiforms id,或者另外的基于drupal的站点的用户名和口令),访问者访问你的站点注册了一个通用ID,被称为session ID,保存在cookie中。基于安全考虑,cookie不包含个人信息,但是可以作为拿到保存在服务器上的信息的钥匙。

你可以:

  • 显示你的用户页面
  • 管理>>用户 管理用户
  • 管理>>用户>>添加用户 创建新用户
  • 管理>>设置>>用户 修改用户注册信息,email,用户头像等
  • 管理>>主题 允许用户选择他们自己的主题
  • 管理>>帮助>>个人资料 查看用户文件帮助
  • 管理>>管理控制 设置访问权限

使用分布式认证

分布认证

访问新网站时,填写注册表格是个非常繁闷的时刻。在drupalchina.org,如果你已经是drupal的成员,就不需再填写注册信息。这种功能就是分布式认证,也是基于drupal的网站所独一无二的。

当一个新用户在输入栏终输入用户名和密码,即使是用户从来没有在本地注册过,分布式认证也能进行识别。由于drupal知道如何同外部的注册数据库进行通讯。比如,假设一个用户已经用“joe”注册成为了一个“Delphi forums”的成员,drupal在注册和登录界面告诉joe,他可以用他的delphi id在drupalchina.org上注册。Joe认为这很好,用joe@romote.delphiforums.com 和他的口令来登录。Drupal在后台同 remote.delphiforums.com 的服务器通讯(通常使用xml-rpc, http post 或 soap),询问“用户joe的口令是否正确?”。如果 Delphi回答说是,那么我们就为joe创建一个新的帐户,并使他登录。Joe可以用同样的方法登录进入drupalchina.org,他也可以用同样的帐户登录。

Drupal

Drupal是drupal.org所用的软件的名称。世界各地都有drupal的网站,他们中的许多都在共享他们的注册数据库以便于用户可以使用同一个drupal id自由的登录任何drupal网站。

所以,请随意用你在drupalchina.org帐户登录其他的drupal站点。 Drupal id的格式类似于一个email地址:username@server.
示例 :ifly3years@drupal.org 或ifly3years@drupalchina.org

使用权限和用户角色来管理访问控制

角色(role),是指定一个群组的权限一种方法。允许你对安全,使用和管理进行微调。被指定属于某种角色(或某个群组)的用户被认为拥有这个角色的权限。通常使用的角色包含:匿名用户,授权用户,mederater 和管理员

缺省情况,drupal在安装后,自动定义了两种角色

  • 匿名用户――没有账户或没有登录的浏览者
  • 授权用户――drupal站点指定给新帐户的角色

匿名用户角色一般有最小的权限。授权用户,由于他们花了时间来注册,应该授予更多大权限,比如创建某些内容的能力。如果新用户需要管理权限,或者他们符合某种标准(比如拥有一个公司的email地址),你可以用上面的方法给他们更多的权限。

第一个drupal帐户在安装后被创建,被认为是“根用户”,拥有完全的权限,包括管理、内容创建、编辑、删除。

通过管理员创建角色可以给更多的信任用户可以被赋予某些特权,这必须要在管理界面中手工添加角色。要创建新角色,你必须:

  1. 点击 管理>>访问>>访问控制
  2. 在当前角色列表下面的可以输入文字的地方给新角色输入一个标签,
  3. 添加完角色后,选择权限标签
  4. 你的新角色将会在权限表中以新的一列中列出
  5. 要把用户添加到这个角色中,你可以编辑用户帐户信息,点击 管理>>用户 然后点击编辑链接,把用户添加到希望的那个角色中。

为用户分配角色并制定权限

几乎所有的drupal模块可以用对指定角色允许或禁止来控制访问权限,出于安全考虑,站点安装后的匿名和授权用户只被配置了最小化的权限。你必须考虑哪些权限是可以放开的。

到权限管理页面(管理>>访问控制>>权限 列表)中允许或禁止权限,考虑一下下面关于权限的描述

  • 管理员――管理权限。比如管理内容,管理用户,通常是站点内最被信任的保留用户。这些管理权力可以通过权限表中对指定模块的声明状态来达到。举例来说,当对针对指定类型节点的某个模块的管理权限被声明,该用户将能编辑和删除该类型节点的内容。
    提醒:你可以把访问管理页的权限开放给任何需要在管理菜单设置站点权限的角色
  • 访问――声明用户只读访问权限,模块常用的权限(没有明显的配置的话)。典型的是,这些角色不能被允许创建内容。多数访问权限对于任意访问角色来说是安全的,但还是对多数信任用户收回了访问管理的权限。
  • 创建――允许用户创建,但是稍后不需要编辑的类型的内容。通常用于节点类型。
  • 维护――这些权限通常使得用户可以创建内容,并允许提及内容的作者编辑他们自己的内容。如果你想允许新的成员拥有自己的weblog或协同编写手册,你需要给这些授权用户相关的维护权限。

分类访问控制

你还可以按术语分类(taxonomy)来对内容进行访问控制,参见分类访问控制模块(Taxonomy Access Control)的介绍:

基于对术语分类的用户角色访问控制

  • 对术语关键词和节点(基于他们的分类词)自动控制访问
  • 为每种用户角色配置页面
  • 5种类型的权限(显示、升级、删除、创建、列表)

(如果你想对独立的用户进行分类访问控制,请查看tac_lite模块)

增加模块后调整权限

当启用一个模块是,就算是他是关掉后又打开的,针对这个模块的权限将被重新指定到所有的用户角色种。出于安全考虑,管理员需要在启用模块时指定权限给角色。

用户偏好与个人资料

每个drupal用户都有个人资料(profile)和一系列的偏好设定(perference),可以通过点击“我的帐户”来进行编辑。当然,用户必须登录才能看到这个页面。用户可以改变时区、语言、用户名、email地址、口令、主动、签名、主页和分布授权用户名等。修改将立即生效。另外,管理员可以在 管理>>用户 中修改他们描述和偏好。

模块开发者需要提供几个hook来添加自定义的区域来给用户浏览或编辑。在druapl 手册中提供这些hook的说明。比如,可以在/modules/jabber.module中查看jabber_user()函数。

用户认证

注册用户需要一个本地用户名和口令来得到授权,或者远程的用户名和口令,比如jabber,delphi ,或者是另外的基于drupal的站点的用户名和口令。参看分布式认证得到更多信息。

本地用户名和密码,用md5哈西算法,保存在数据库中。输入的密码也要经过哈西运算,然后跟保存在数据库中的数据进行比较。如果哈西符合,用户名和密码就是正确的。

一旦一个授权用户的进程启动,用户就不可能被再次授权,直到这个进程结束。要保持跟踪这个独立的进程,drupal使用了php的进程支持。用户访问站点时被指定了一个唯一的ID,这个所谓的ID,被保存在cookie中。出于安全考虑,cookie不包含个人信息,但是将作为取回保存在服务器上信息的钥匙。当有人访问站点时,drupal将检查该指定的进程ID是否已经发送过请求,如果是,上次的环境将会被再次创建。

NTLM认证

NTLM is a proprietary (and not so good) protocol for deploying Single Sign On in predominantly Windows oriented networks (our company network also). NTLM sits on top of HTTP, so users who are logged on to the Windows Active Directory network can transparently log-on to web services using their Microsoft Windows credentials (and thereby having Single Sign On). Getting IIS servers working with NTLM is easy (it should be), but traditionaly Apache servers have had problems in doing this.
NTLM是一种在windows导向的网络(也是我们公司的网络)中使用的单一签名独占(不一定很好)的协议。NTLM在HTTP的最顶端,登录到windows活动目录的用户可以传输。。。

这篇文档说明了如何在LINUX+apache 的drupal中通过NTLM认证

有几种方式在Apache中可以通过NTLM认证:

  • Mod_ntlm-是一个可以添加NTLM支持的apache模块。该模块并不常用,并且,在不同的版本的apache中编译和运行是一个非常困难的工作。要使用他,编译可能会弹出很多警告信息,使人感到很不方便。
  • mod_ntlm_winbind-为有winbind的box设置的。这个模块可以为apache提供NTLM认证。然而,这个模块还在继续开发并且没有得到很好的测试。

总之,为了帮助在这样不友好的情况下工作的人们,有一个出色的perl 模块可以提供对NTLM的很好的支持。

按照下面的步骤来实现NTLM认证:

  1. 在apache下安装/配置 mod_perl,并使之正常工作。
  2. 下载下面的文件(英文)
  3. 安装下载的模块
                 tar xvfz Apache*AuthenNTLM*.tgz
                 cd Apache*AuthenNTLM*
                 perl Makefile.PL
                 make
                 make test
                 make install
       

  4. 编辑apache的配置文件,启用keepalive。
             KeepAlive On
        

    重启动apache服务

  5. 配置apache进行认证。例如在.htaccess中添加:
       	     # Enable the Authentication module
                 PerlAuthenHandler Apache2::AuthenNTLM
                 
                 # Do NTLM and basic authentication
                 AuthType ntlm,basic
                 
                 # The name that should be displayed in the Auth box, if NTLM fails
                 AuthName OurCompany
                 
                 # Ask for a valid user.
                 require valid-user
                 	
                 #                    domain      pdc         bdc
                 # Domain : Your windows domain
                 # pdc : Primary Domain Controller
                 # bdc : Backup Domain controller.
                 #
                 # Note : Multiple domains can be specified.
                 
                 PerlAddVar ntdomain  "OURDOMAIN  domainpdc domainsdc"
                 
                 # What should be the default domain
                 PerlSetVar defaultdomain OURDOMAIN
                 
                 # The user names are in the form "OURDOMAIN\user_name". Let us split it.
                 PerlSetVar splitdomainprefix 1
                 
                 # Set the debug variables
                 PerlSetVar ntlmdebug 0
                 PerlSetVar ntlmauthoritative off
       

    可以在tarballlink中的readme文件中看到更多的文档信息。

    一旦这些做完了,域用户将作为在apache服务器中设置为REMOTE_USER变量,可以被用来进行验证

  6. 现在,我们需要启用drupl来检查用户ID和自动创建用户。一旦我们启用了NTLM验证,用户ID将作为REMOTE_USER。Webserver auth模块可以使用这个变量来自动登录用户。

    下载,安装,启用和配置webserver auth 模块。你就可以把drupal嵌入一个基于windows的活动目录的网络中了。

过滤email地址

在用户设置里你还可以对用户注册的email地址进行过滤,比如只允许drupalchina.org地址的用户注册,而拒绝使用公用邮箱(比如yahoo.com或者gmail.com)的用户注册。

可以在管理>>访问控制>>访问规则 下面添加下面的访问规则:

Deny "%@%" (这一条先拒绝所有用户注册)
Allow "%@drupalchina.org" (这一条将允许drupalchina.org的用户注册)

Watchdog: 监视你的站点

看门狗(watchdog)模块可以记录你的站点,捕捉系统事件,记入日志文件,供以后授权使用者查看。这对于需要快速查看站点活动的管理员非常有用。这些日志也记录了事件的相关问题,所以也有助于检查站点的错误。
看门狗的日志是个简单的列表,记录的事件,包含惯用的数据、性能数据,错误,警告和操作信息。
管理员应该有规律的检查看门狗的报告,确保他们的站点工作正常。使用“按信息类型过滤”来显示不同类型的系统信息。

你可以:

  • view watchdog logs at administer watchdog.
  • 管理>>日志 查看看门狗日志
  • 管理>>设置 的 “错误管理” 里面设置日志保存的时间
  • 管理>>设置 中的错误提示区,设置日志记录的时间,