Sun Java System Portal Server 6 2004Q2 管理员指南 |
第 13 章
管理订阅服务本章包含以下部分:
概述用户可以使用“订阅”服务创建一个所需的、包含许多信息源的配置文件。在本版软件中,所支持的信息源包括类别、讨论和可搜索文档。用户每次访问“订阅”频道时,都会用最新信息更新配置文件。“订阅”频道会概括出与用户为分类文档和/或讨论所定义的每个配置文件条目相匹配的命中数(相关信息)。
“搜索”服务用于:
结果显示为一个链接,该链接显示了与配置文件条目相匹配的信息数量。该链接把用户重新定向至一个更详细的匹配视图本身。
在类别订阅中,链接将用户重新定向至搜索频道,在该搜索频道中,按照标准类别搜索结果格式汇总所需的特定文档。“订阅”频道起到了门的作用,将用户引导至更详细的视图。
配置程序功能在指定的相关内容发生更改时将提供电子邮件通知。配置程序可从 Identity Server 获取用户的订阅详细信息,从“搜索”服务获取结果,并向用户发送电子邮件通知。可安排配置程序使其于特定时间在组织级运行。
管理订阅服务管理员可以启用或禁止订阅服务。可在以下级别管理“订阅”:
根级别
在根级别管理“订阅”服务可按类型(即针对类别、讨论和已保存搜索)设置系统范围内默认的最大订阅数。有关在根级别定义“订阅”服务的信息,参见在根级别定义订阅服务。
组织级别
在组织级别管理“订阅”服务将按类型(即针对类别、讨论和已保存搜索)改写系统范围内默认的最大订阅数。有关在组织级别定义“订阅”服务的信息,参见在组织级别定义订阅服务。
组织用户级别
在“组织用户”级别管理“订阅”服务可编辑用户的“订阅”服务设置。管理员可以维护用户的服务数据,如:
有关管理用户的“订阅”服务的信息,参见管理用户的订阅服务。
在根级别定义订阅服务
在组织级别定义订阅服务
管理用户的订阅服务
使用订阅频道
“订阅”频道按类型显示订阅,这些类型可以是类别订阅、讨论订阅和已保存搜索。对于每种类型的订阅,将显示下列内容:
最终用户可以通过订阅频道“编辑”按钮更新所有订阅并且可以取消订阅。用于匹配订阅的最终用户提示在“订阅”频道中被分组。根据订阅频道的刷新时间生成提示。管理员可以为频道(该频道实际显示某个时间段的内容缓存中的内容)设置 refreshTime 特性。当最终用户试图在少于“刷新时间”参数的时间内多次刷新订阅频道的内容时,将从缓存中读取内容,而不是通过实际数据生成内容。可以用秒来指定 refreshTime 频道特性值。
在下列情况下,会提示最终用户使用新文档:
订阅类别
订阅讨论
保存搜索
讨论本部分包含以下内容:
讨论概述讨论与主题和特定文档联系在一起。它是人们增添和谈论现有文档或自己创建文档的一种有力武器。它还为人们共享与特定文档或新主题有关的信息提供了一条便捷途径。
Sun Java System Portal Server 软件的讨论功能包括讨论线程、基于文档或新主题开始讨论、搜索讨论以及将讨论分级。默认情况下,在示例门户上为匿名用户提供了“讨论”频道。但是,匿名用户不能订阅讨论或编辑“讨论”频道。
DiscussionLite 频道和“讨论”频道都建立在 DiscussionProvider 基础之上。与搜索频道 JSP 类似,它们也具有查询部分、显示部分,并且也使用桌面主题。
DiscussionProvider
DiscussionProvider 是使用“桌面”主题的 JSP 提供者。它使用搜索标记库和 API,从后端“搜索”服务检索数据。讨论和注释被作为不同的“资源描述符”(RD) 存储在讨论数据库中。DiscussionProvider 支持以下各项:
- 对讨论进行注释和分级。例如,用户可以:
- 搜索所有讨论,并在某个讨论的内部进行搜索。这些功能被发送到搜索提供者。用户也可以按“高级搜索”中的级别进行搜索。
- 订阅。已验证的用户可以通过选择订阅链接来选择订阅特殊讨论。该请求由 SubscriptionProvider 处理。如果不需要该功能,则可以禁用 displaySubscription 特性(参见代码示例 13-1)。默认情况下,该值为 true。
DiscussionProvider 的显示配置文件 XML 片段
代码示例 13-1 显示了显示配置文件中 DiscussionProvider 提供者的 XML 片段。
管理 DiscussionProvider
DiscussionProvider 管理发布在下列各项之间:
DiscussionLite 频道
DiscussionLite 频道显示了最上面的二十个讨论标题(这些标题可以重新配置)和日期。按照创建日期(上次修改日期)排序讨论,并先显示时间上最近的讨论。DiscussionLite 频道视图中有一些链接,可用来查看每个讨论、查看以“讨论频道”为目标的所有讨论,并可启动一个讨论。默认情况下,在单个容器中显示频道,而且所有链接都出自 JSPDynamicSingleContainer。
可通过管理控制台配置特性。默认情况下,该频道没有用户可编辑的特性。
各讨论存储在显示配置文件中的 dbname 特性指定的讨论数据库中。可以在显示配置文件中配置搜索服务器主机(searchServer 特性)、数据库名(dbname 特性)和要显示的讨论数(viewHits 特性)(参见代码示例 13-2)。
代码示例 13-2 DiscussionLiteProvider 频道显示配置文件 XML 片段
<Channel name="DiscussionLite" provider="DiscussionProvider">
<Properties>
<String name="title" value="Recent Discussions"/>
<String name="description" value="This is a DiscussionLite provider example"/>
<String name="contentPage" value="discussionLiteContent.jsp"/>
<String name="editPage" value=""/>
<String name="processPage" value=""/>
<String name="width" value="thin"/>
<String name="searchServer" value=""/>
<String name="db" value="discussion"/>
<Integer name="viewHits" value="20"/>
</Properties>
</Channel>
下列 JSP 被用于 DiscussionLite 频道:
讨论频道
“讨论”频道包含一个完整视图,该视图:
可通过 Sun Java System 管理控制台配置“讨论”频道特性。
各讨论存储在显示配置文件中的 dbname 特性指定的讨论数据库中。可以在显示配置文件中配置搜索服务器主机(searchServer 特性)、数据库名(dbname 特性)和要显示的讨论数(viewHits 特性)(参见代码示例 13-3)。
代码示例 13-3 讨论频道显示配置文件 XML 片段
<Channel name="Discussions" provider="DiscussionProvider">
<Properties>
<String name="title" value="Discussions"/>
<String name="description" value="This is a Discussion provider example"/>
<String name="searchServer" value=""/>
<String name="dbname" value="discussions"/>
<Integer name="viewHits" value="8"/>
</Properties>
</Channel>
下列 JSP 被用于“讨论”频道:
discussionContent.jsp
JSP 内容页
discussionEdit.jsp
编辑页
discussionDoEdit.jsp
进程编辑页
declare.jsp
portal.jsp
提取显示配置文件数据
fullDiscussion.jsp
处理完整视图显示
fullDiscussionDisplay.jsp
所有讨论页的用户界面
searchUI.jsp
在所有讨论页上显示的搜索窗体
viewDiscussion.jsp
查看讨论
viewDiscussionBar.jsp
在查看讨论页上显示中央水平条和全部过滤器
viewDiscussionDisplay.jsp
查看讨论页的用户界面
viewDiscussionHeader.jsp
查看讨论页上显示的标题注释
viewDiscussionNavigation.jsp
查看讨论页的标题上方和下方显示的导航条
feedback.jsp
提供注释、反馈和分级功能
feedbackDisplay.jsp
显示反馈信息
feedbackForm.jsp
提供反馈表单
feedbackProcess.jsp
处理反馈信息
error.jsp
显示异常和错误消息
query.jsp
格式化并执行搜索查询
pageFooter.jsp
提供页码
管理和使用频道管理 DiscussionProvider 频道
DiscussionProvider 频道的管理分布在 Sun Java System Identity Server 管理控制台中的“桌面”显示配置文件和“搜索”服务之间。提供者的特定信息存储在显示配置文件中。讨论文档以及与管理相关的数据库必须在“搜索”服务中执行。
讨论存储在讨论数据库中。讨论数据库需要一个用于讨论和注释的特定模式。在 schema.rdm 文件中已经为该功能添加了新的模式字段。搜索 CLI rdmgr 可以用于数据库管理和调试。例如,要转储所有注释,可键入:
./run-cs-cli rdmgr -y discussion
示例 DiscussionProvider 频道被配置为使用默认的搜索服务器。讨论数据库和频道中一些被导入的示例讨论准备就绪,可以使用。
示例位于 S1PSBaseDir/SUNWps/samples/discussions/ 目录中。分别是:
discussions.soif
讨论数据库中加载的一个示例 SOIF 文件。
dp-org.xml
包含讨论频道显示配置文件 XML 片段。
dp-providers.xml
包含讨论提供者显示配置文件 XML 片段。
dp-anon.xml
包含 authlessanonymous 用户的 XML 片段,在示例门户安装期间加载。
管理员可以控制对讨论的访问(只读或者全部隐藏)。
通过 DiscussionProvider 创建频道
- 登录到 Sun Java System Identity Server 管理控制台,并从“查看”下拉菜单中选择“服务”。
服务列表显示在左侧框架中。
- 选择“桌面”和“频道和容器管理”。
注意,“频道和容器管理”链接在右侧框架中提供。
- 选择“频道”下的“添加”按钮。
显示一个页面,用于指定要添加的频道的类型。
- 在“频道名称”文本框中为该频道指定一个名称,并从“提供者”下拉菜单中选择 DiscussionProvider。
- 选择“创建”。
此操作会创建一个基于指定提供者的频道。单击“取消”按钮可返回到“频道和容器管理”页,而不创建任何新频道。
- 选择“频道”表中新创建的频道旁的“编辑”链接。
显示用于编辑频道默认值的页面。
- 编辑特性并选择“保存”按钮,以保存修改的值。
下面的显示配置文件特性专用于此提供者:
searchServer
搜索服务器的路径。默认路径为 portal/portal/search。
dbname
任意有效的数据库。
viewHits
要显示的讨论数。
defaultDiscussionDisplay
该属性值可设置为线程或者平面,以允许注释子树以线程或平面方式显示。
defaultFilter
用于搜索和显示讨论的过滤器以及子树的控制显示。可以级别为基础,比如无关、常规、有趣、重要和必读等。默认情况下,其值是无关,因此将显示所有级别为无关或者在无关之上的注释。“必读”过滤器将突出显示高级别的注释。
defaultExpansionThreshold
可以设置为全部展开或全部折叠。默认情况下,其值被设置为全部折叠。如果设置为全部展开,它将展开全部已过滤的注释、显示说明、分级菜单,并允许用户通过链接来发布回复。
anonymousAuthor
viewDiscussionWindow
displaySearch
showDescription
对于“讨论”频道,此属性为可配置项。
ratingText
默认情况下,可将讨论分级为无关、常规、有趣、重要或者必读。
使用 DiscussionProvider 示例频道
启动新讨论