|
ASP.NET Community Starter Kit文档 |
ASP.NET Community Starter Kit拥有用于建立公共社区的所有工具,可以建立用户组社区、新闻社区、开发资源社区等。ASP.NET Community Starter Kit的主要特点有:
这篇文档将描述Community Starter Kit所有的这些特性。
可以通过http://www.asp.net/default.aspx下载最新版本的Community
Starter Kit,下载安装文件后,双击开始安装。
有两种安装方式:通过标准的Windows安装程序安装所有的Community
Starter Kit文件;通过一个Windows窗体程序进行自定义安装,自定义安装包括虚拟目录安装和数据库安装。在安装步骤部分将详细介绍每个安装步骤。
共有六个版本的Community Starter Kit:
这些版本都具有上面介绍的特点,唯一的不同之处就是源代码的语言不同。
除了上面的六个版本,还有命令行版本的安装程序,用于Internet服务供应商。
Community Starter
Kit的安装需要以下条件:
Community Starter
Kit的安装分为以下几个步骤:
如果上面的任意一步安装失败,可以在以后通过“开始 >程序> ASP.NET Starter Kits menu”运行Community Starter Kit安装向导重新安装。
这部分一步一步地介绍Community Starter Kit 的常规任务。在此可以学习:通过社区管理页面(Community Admin Pages)来管理社区;改变社区的主题;创建新区;从一个社区向另外的社区复制内容。
可以通过社区管理页面来配置特定的社区,可以在这里完成社区的所有改动。例如,可以设置社区的主题,添加或删除区。
社区管理页面只能通过社区管理员的身份进入。下面是打开社区管理页面的步骤:
可以通过为社区选择主题使社区界面变得生动,主题决定了社区的布局和页面的风格。
Community
Starter Kit中包括了八个标准主题:
第一次安装Community
Starter Kit时,使用的是默认的主题。通过以下步骤可以为整个社区选择新的主题.
在完成以上步骤后,就会以Professional主题来取代社区的默认主题。
当为社区的主区设置了主题,社区的各个分区都会延用这个主题。也可以为各区选择不同的主题,这么做可能有点奇怪,但确实可以在主区使用默认的主题,而文章区使用Robotico主题。
可以很容易的在Community
Starter Kit中添加新的主题,当希望为社区创建一个完全个性化外观时,可以创建自己的主题。在Community
Starter Kit文档中可以找到关于创建新主题的介绍。
在第一次安装Community
Starter Kit时,同时安装了一个名为“Lunar
.NET”的演示社区。“Lunar
.NET”表示一个虚拟的分布在月球上的.NET用户组社区,可以删除演示社区的内容来建立自己的社区(除非想在月球上使用.NET用户组)。
可以打开“删除内容(Delete
Content)”页面来删除所有的社区内容。在社区管理页面的主菜单中有一个指向“删除内容”页面的链接。通过选择“删除所有内容条目”(Delete
all content items),“删除所有区”(Delete
all sections),“删除所有用户”(Delete
all users)选项,点击“继续”按钮可以删除社区所有的内容。
社区个性化的下一步可能就是修改社区的区。可以在“编辑区”(Edit
Section)页面中添加或修改区。例如,可以按照下面的步骤在社区中添加一个“articles”部分:
添加新的区后,可以通过位于社区主页中的区菜单来链接。
可以通过服务签名自动将一个社区的内容复制到另外一个社区中,这两个社区可以分布在Internet上的不同位置。
需要在一个社区中汇集并显示多个社区的内容时,服务签名就显得特别有用。例如,多个社区的管理员可能会同意共享各自社区的讨论部分,这样发表在一个社区讨论部分的信息会出现在其他社区的讨论部分。
在这个版本的Community
Starter Kit中,可以对以下部分使用服务签名:Articles、Events、Discuss、Links和Books,不能对Downloads和Photo
Gallery部分使用服务签名。
注意:服务签名只能用于在相同类型的区之间复制内容。可以在两个社区的Articles区之间复制内容,但是不能在Articles区和Links区之间复制内容。
假设要在将A社区Articles部分的内容复制到B社区,必须完成以下三个主要步骤:
第一个步骤最为轻松,按照下面步骤可以将一个区发布为web服务:
提醒一点,可以为Web服务指定密码,通过输入密码来限制可以访问Web服务的社区。注意:密码不会采用任何加密编码方式,在Internet中以纯文本方式传输。
下一步,在B社区为远端作为Web服务的区建立服务签名。按照以下步骤进行:
http://www.CommunityA.com/NewsArticles/service.asmx
如果远端社区的区需要密码,必须在添加服务签名时指定正确的密码。
最后一步是在B社区中将服务签名添加到相应的区,以便从A社区的区复制内容。按照以下步骤进行:
完成以上步骤后,A社区的内容会自动复制到B社区。可以通过活动日志(Activity
Log)来查看内容的传递,活动日志记录在两个社区之间有多少内容被传递,也可以通过活动日志查看内容传递中的错误。
可以通过Web框服务显示从其他Web站点接收的内容。与服务签名不同,Web框服务用于显示社区主内容范围之外的内容。Web框服务通过两种服务来接收内容:RSS和社区服务(Community
services)。
目前在Internet上有很多RSS新闻馈送点。例如,“Lunar .NET”演示社区假定了一个“Star Wars”官方社区的RSS馈送(RSS feed),位于http://www.starwars.com/community/webmasters/starwars.rdf。
MSDN社区上也有RSS馈赠点,位于“http://msdn.microsoft.com/ msdnmag/rss/recent.xml”。
可以按照以下步骤可以将MSDN的RSS供应点加到社区中:
按照以下步骤可以显示社区中的Web框服务:
社区服务(Community
service)与RSS服务不同,它是采用XML
Web服务从其他社区接收内容。可以通过社区服务从任何发布了Web服务的Community
Starter Kit社区接收内容。
例如,可以假想A社区有一个名为“UpcomingEvents”的区,希望在B社区的Web框中显示其内容。为此,需要完成以下步骤:
第一步是在A社区将”
UpcomingEvents”区发布为Web服务。按照以下步骤进行:
提醒一下,可以为“UpcomingEvents”区发布的Web服务指定密码(可选)。可以通过这个密码对接收内容的社区进行限定。注意:密码不会采用任何保密编码方式,是以纯文本方式在Internet上传送。
最后,按照以下步骤,将社区服务至少应用到B社区的一个区中:
完成以上步骤后,A社区列出的事件会出现在B社区的Web框中。列出的事件是通过XML
Web服务在两个社区之间传递的。
Community
Starter Kit包含了十个标准的内容模块:Articles,
Events,
Discuss,
Books,
Links,
Downloads,
Photo Gallery,
HTML Page,
Parent,和Custom。下面分别介绍各种模块。
Articles区用于列出文章。例如,可以用Articles区来列出新闻报道、教程或者代码示例。
Articles区包含四种类型的页面:
和其他标准内容模块相同,Articles区支持安全、注释、调整、通知、评价和HTML输入。
Events区用于列出事件。例如,可以用Events区来为用户组列出即将发生的事件。
Events区有五种类型的页面:
可以添加一个事件,使它在以后某个特定日期到来后才出现。这非常有用,可以一次列出多个事件,但不让它们立即显示。
和其他标准内容模块相同,Events区支持安全、注释、调整、通知、分级和HTML输入。
Discuss区用于管理(host)论坛。例如,可以用Discuss区建立讨论编程方面(如:ASP.NET或C#)的论坛,也可以建立一个Discuss区来讨论编织俱乐部最近的话题。
Discuss区有六种类型的页面:
和其他标准内容模块相同,Discussion区支持安全、注释、调整、通知、评价和HTML输入。
Discuss模块允许添加“锁定的”(Locked)贴子。当发出一条消息后,用户可以选中“不允许回贴.”(Do
not allow replies to this post)复选框来阻止其他人回复贴子。
Discuss模块允许用户发表“告示”(Announcements),“告示”在列表中显示为特殊符号(惊叹号)。只有那些对discussion区拥有编辑和调整权限的成员才可以发表“告示”。
Discussion模块允许用户添加“定位”贴子,“定位”贴子总是出现在discussion区的顶部。例如,“定位”贴子对于解释discussion区的目的就非常有用。只有那些对discussion区拥有编辑和调整权限的成员才可以发表“定位”贴子。
注意:Community
Starter Kit中的Discuss模块是AspNetForums(可以在http://www.asp.net/default.aspx下载)的限制版本。与AspNetForums不同,Discuss模块不支持一些高级功能(如“化身(avatars)”)。
Books区用于列出书籍。例如,可以用Books区列出一个用户组可以为其成员提供的所有书籍。
Books区有四种类型的页面:
和其他标准内容模块相同,Books区支持安全、注释、调整、通知、评价和HTML输入。
Links区用于列出到其它社区的链接。例如,可以通过Links区来链接偏爱的.NET开发资源社区。
Links区包括四种类型的页面:
和其他标准内容模块相同,Links区支持安全、注释、调整、通知、评价和HTML输入。
Downloads区用于列出所有可下载的文件。例如,可以用Downloads区来让用户下载用户组中以前演讲者的“PowerPoint”演示稿、示例代码、书籍的样例章节或者新的ASP.NET控件。
Downloads区包括四种类型的页面:
Downloads模块支持对社区和用户的限额。在建立社区时为其分配了总限额,即社区限额。当超过社区限额时,用户就不能在Downloads区添加新的内容。同样可以为特定的用户分配限额。
社区限额是在ISP管理页面(ISP
Admin Pages)设置的,用户限额是在社区管理页面的“编辑用户”(Edit
Users)页设置的。
和其他标准内容模块相同,Downloads区支持安全、注释、调整、通知、评价和HTML输入。
Photo
Gallery区用于显示照片和图像。例如,可以用Photo
Gallery区显示以前的用户组会议照片。
当在Photo
Gallery中贴上一幅图片时,图片会自动调整为缩略图,这样当显示图片列表时,图片可以按照适当的高度和宽度显示。
Photo
Gallery中的图像可以以幻灯片(film
strip)形式或缩略图形式显示。当以幻灯片形式显示时,选定的图片按照完整尺寸显示在同一页面中。
Photo
Gallery区包括四种类型的页面:
Photo
Gallery模块支持社区和用户限额。每个社区在创建时都设定了一个总限额,即社区限额。如果超出了总限额,用户就不能在Photo
Gallery区中添加新的内容。同样可以为特定的用户设定限额。
社区限额是在ISP管理页面中设定的,用户限额是在社区管理页面的“编辑用户”页设定的。
和其他标准内容模块相同,Photo
Gallery区支持安全、注释、调整、通知、评价和HTML输入。
HTML
Page区用于显示单个HTML页面,可以在HTML
Page区中显示任何喜欢的内容。例如,可以通过HTML
Page区显示关于社区的概要信息页。
一个HTML
Page区包括两种类型的页面:
Parent区用于包含子区。例如,如果社区包含多个论坛,可以创建一个Parent区来列出所有的子讨论区。
Parent区只包括一种页面:
创建Parent区后,可以通过“社区管理页面”的“编辑区”页为其添加子区。点击区的“编辑”链接,并从下拉列表中选择Parent区。
Parent区会在限制访问的区下面特殊显示图标。例如,如果一个区属于社区管理员私有,那么Parent区就不会为普通用户显示该区。如果用户具有管理员权限,那么该区会与一个特殊图标一起显示。
Custom
Module区用于为社区添加自定义内容。通过Custom
Module区,可以在页面的内容部分加入ASP.NET用户控件(User
Control)。例如,可以在社区中为用户创建一个调查窗体。
为了创建Custom
Module区,需要为社区添加一个与区名称相同的ASP.NET用户控件。如果在社区中添加了一个名为“My
Section
to”的Custom
Module区,则需要将用户控件命名为“My
Section.ascx.”。创建用户控件后,将控件放入社区的“CustomModules”目录下。例如,如果创建的社区名称为“Community1”,则必须将用户控件放到“\CommunityStarterKit\Communities\Community1\CustomModules”目录下。
这部分将介绍可以在社区任意一个区应用的标准功能。所有这些选项都可以在“社区管理页面”的“编辑区”页中进行设置。
在Community
Starter Kit中可以限定对区进行浏览、添加、编辑和删除操作的用户。例如,如果创建了一个articles区,可以阻止具有社区管理员身份以外的用户添加新文章,当然也可以授权某些用户添加新文章。
在“社区管理页面”的“编辑区”页进行安全设置。点击区下方的“编辑”链接,并选择“安全”(Security)页,在“安全”页的下方有一个列表框,可以选择浏览角色(View
Roles)、添加角色(Add
Roles)、编辑角色(Edit
Roles)和删除角色(Delete
Roles)。
Community
Starter Kit中包括以下内置角色:
可以创建自定义角色。例如,可以创建一个名为“ArticleAuthors”的角色,所有ArticleAuthors角色的成员都可以添加新文章。创建新角色的步骤如下:
添加后的角色,其用法与内置角色完全相同。例如,在为一个区进行浏览、添加、编辑和删除角色操作时,可以选择新的角色。
可以允许用户为标准的内容模块(除了HTML
Page、Parent和Custom
Modules)添加注解。
可以通过“编辑区”页面来启用注解。打开一个区的“编辑区”页并点击“高级”(Advanced)页。为了启用注解,必须做两件事:选中“启用注解”选框;选择一个或多个角色,以决定哪些用户可以添加注解。如果启用了注解却没有选择任何一个角色,那么任何人都不能添加注解。
可以允许用户在注解中包含完全的HTML、限制的HTML或者无HTML。在“高级”页的顶部,可以看到“HTML内容”部分,可以选择“无”、“限制”或者“完全”选项。要注意如果允许用户在注解中添加完全的HTML,则用户很可能会添加Javascript代码。强烈建议:任何时侯,只要允许用户添加HTML内容,就要启动调整功能(在后面介绍)。
当对一个区启用通知功能,在添加新内容时,用户就会接收到通知邮件。例如,对于一个职位公告板,所有的订阅用户都会在新职位出现时收到通知。
可以在“编辑区”页面的“高级”页中启用通知。可以为任何内容模块启用邮件通知。
用户可以在“配置文件”页中禁用邮件通知。例如,如果一个用户订阅了一个或多个区的邮件通知,后来改变了主意,可以全面禁用邮件通知。
邮件通知的内容可以通过“编辑通知”页面进行编辑。在社区管理页面的主菜单中有一个指向“编辑通知”页的链接。
邮件是通过ISP管理页面指定的SMTP服务器发送的。
可以为社区的任何一个区启用评价。启用评价后,用户可以对一个区的内容按照1-5进行打分。内容将显示所有用户的平均打分。
通过“编辑区”页面的“高级”页可以启用评价。可以只对区的主内容启用评价,也可以对注解启用评价。
最后,可以指定只有特定角色的成员才可以对内容进行评价。例如,可能希望只有具有社区管理员身份的成员才能对社区中的新书籍进行评价。
可以对社区的任何一个区启用HTML输入。当启用了HTML输入,用户可以添加包含HTML的内容。
通过“编辑区”页面的“高级”页可以启用HTML输入。可以启用限制的或完全的HTML输入,“限制的HTML”所代表的含义根据访问社区的浏览器类型不同而不同。
启用限制的HTML输入后,如果使用的是Microsoft
Internet Explorer5.5或者更高版本,可以通过HTML编辑器输入HTML内容。例如,启用限制的HTML后,可以选择不同字体和添加字符图释。但是不能添加Javascript代码或者创建“<table>”标记。
如果启用了限制的HTML输入,而没有使用Internet
Explorer 5.5或更高版本的其他浏览器(如使用的是任何版本的Netscape),那么将不能输入任何HTML内容,所有输入的内容都是已编译的HTML。所以,如果输入标记“<b>”,那么将直接显示“<b>”,而不会对它进行编译。
如果启用了完全的HTML输入,并且使用的是Internet
Explorer 5.5或更高版本浏览器,在HTML编辑器的底部会出现另外的一个“查看HTML源码”复选框。选中这个复选框,就可以任意输入HTML内容,包括Javascript。
如果启用了完全的HTML输入,而没有使用Internet
Explorer 5.5或更高版本的浏览器(如使用的是任何版本的Netscape),可以通过一个文本框输入HTML。
警告:启用了HTML输入后,社区就可能受到脚本嵌入的攻击。如果启用了限制的或完全的HTML输入,一些不怀好意的用户就可以在HTML中加入Javascript代码,Javascript代码可能会恶意地将所有的用户重定向到“婆罗洲(Borneo)”的一个社区。
当为一个区启用了HTML输入后,建议为区启用调整功能,或者限定只有社区管理员(或其他可信任的角色)拥有该区的添加权限。
在为一个区启用主题之前,必须创建一个主题列表。可以通过“编辑主题”(Edit
Topics)页面创建新的主题。在社区管理页面的主菜单中有指向“编辑主题”页的链接。在创建主题时,需要提供主题名称和描述,而且可以为主体提供图片(可选)。
在创建主题后,可以通过“编辑区”页面为任何一个区启用主题。点击“高级”页,并选择“主题”复选框。
为一个区启用主题后,用户在添加内容时必须指定一个主题。在主题菜单中会出现一系列的主题,当用户点击其中的一个主题后,所有与该主题相关的内容都会被显示。
通过主题可以对不同区的内容进行分类。例如,假设一个社区有文章区和事件区,为这两个区启用了主题,包括“Programming”和“Politics”两个主题。当用户在主题菜单中点击了“Programming”主题,所有与程序设计相关的文章和事件都会被显示。当用户点击“Politics”主题,所有与策略相关的文章和事件都会被显示。
主题菜单中显示的是与五条最新内容相关的主题。默认情况下,菜单每十分钟更新一次。因此,如果创建了一个名为“Politics”的主题,但是没有任何内容使用这个主题,那么这个主题就不会出现在主题菜单中。
可以通过“编辑主题”页面来禁用社区的主题菜单。当禁用了整体菜单后,页面的顶部不会再出现主题列表。但是用户在向启用了主题的区添加内容时,仍然需要选择主题。换句话说,可以禁用主题菜单,但是仍然为特定的区启用了主题。
可以通过Web框(Web
Boxes)显示页面内容范围之外的内容。例如,可以用一个Web框显示社区中最流行的文章,或者显示其它社区上发表的最新的文章和事件。
可以为一个区添加两种类型的Web框,标准Web框或者Web服务框。可以通过“编辑区”页面为一个区添加Web框。
标准Web框中可以显示社区内的内容,如社区中最新的文章和书籍。可以从“Web框”列表框中选择一个或多个Web框,也可以控制Web框的显示方式。例如,可以每次随机显示一个被选择的Web框。
Web服务框可以显示来自其它社区的内容。可以通过Web服务框显示RSS新闻馈赠,或者显示Internet上另外一个社区上发表的最新的事件。
在为一个区添加Web服务框之前,必须在“编辑Web框服务”(Edit
Web Box Services)页面配置Web服务框。在社区管理页面中有指向“编辑Web框服务”页的链接。需要在编辑Web框服务页面中指定Web服务框的显示位置。
可以通过“编辑区”页面中的“Web服务”标签将一个区的内容发布为Web服务。这非常有用,可以让分布在Internet上不同位置的多个社区进行内容共享。换句话说,可以利用这个功能通过Internet进行内容复制。例如,希望在不同的公共用户组社区上共享代码示例。为此,可以将一个社区的文章区发布为Web服务,Internet上的其他社区就可以将该社区文章区的内容自动复制到自己的文章区。
为了将一个区发布为Web服务,需要在“编辑区”页面的“Web服务”页选中“将区的内容发布为Web服务(Publish
section content as a Web service)”复选框。也可以输入密码以保护区的内容(可选)。
为了从其他社区接收内容,首先必须配置一个服务签名,可以在“编辑服务签名”(Edit
Services Subscriptions)页进行配置,在服务签名中需要将URL指向要接收内容的远端社区。
在建立服务签名后,可以通过“编辑区”页面的“Web服务”页将服务签名加入到一个区中。为一个区加入服务签名后,就可以自动从远端社区接收内容并将其添加到区中。
可以在“查看活动日志”(View
Activity Log)页中监测服务签名。通过活动日志可以跟踪内容接收的频率,也可以查看接收内容时发生的错误。
通过社区管理页面,社区管理员可以对社区内容进行个性化设置。这部分将介绍社区管理页面的各部分。
“编辑区”页中显示了社区中每个区的设置。可以通过“编辑区”页完成以下工作:
服务签名用于从其他Community
Starter Kit社区接收内容。通过服务签名可以从一个社区向另外一个社区复制内容。在“服务签名”页中可以完成以下工作:
主题将在社区的“主题”菜单中出现,可以通过“编辑主题”页完成以下工作:
“编辑Web框服务”页面用于配置Web框服务,Web框服务可以是RSS服务或者社区Web服务。通过“编辑Web框服务”页面可以完成以下工作:
通过“编辑图片”页可以为社区上传新图片。可以在HTML
Page区或者任何可以包括HTML内容的区显示上传的图片。通过“编辑图片”页可以完成以下工作:
通过“删除内容”页可以删除社区的内容。例如,可以通过该页删除“Lunar
.NET”示例社区。通过“删除内容”页可以完成以下工作:
通过“编辑投票调查”(Edit
Voting Polls)页可以为社区添加新的投票调查。例如,可以对用户调查以决定下一次用户组会议的主题。通过“编辑投票调查”页可以完成以下工作:
通过”编辑通知”页(Edit
Messages)可以对用于显示和发送给用户的通知进行编辑。“编辑通知”页中可以完成以下工作:
在通知中可以通过特殊标记显示内容。对于邮件通知可以使用以下标记:
对于密码提示,可以使用以下标记:
在“编辑用户”页中可以对社区用户的信息进行编辑。通过“编辑用户”页可以完成以下工作:
通过“发送时事通讯”页(Send
Newsletter)可以向所有的社区用户发送一份时事通讯邮件。“发送时事通讯”页用于完成以下工作:
在时事通讯模板中可以通过特殊标记来自动显示社区的内容,下面列出了这些标记:
通过“查看活动日志”页(View
Activity Log)可以查看社区的活动日志。例如,可以通过活动日志检查某个服务签名不能接受远端社区内容的原因。活动日志只显示社区最近的五十条事件。可以通过点击“全部清除”链接(Clear
Entries)清除活动日志。
显示当前正在查看的文档。
ISP管理页面(ISP
Admin Pages)用于添加、编辑和删除整个社区。默认情况下,ISP管理页面位于http://localhost/CommunityStarterKit/ISPAdmin。必须使用ISP管理用户名和密码才能登录ISP管理页面,这个用户名和密码是在安装Community
Starter Kit时创建的,保存于Web.Config文件中。
通过“添加新社区”(Add
New Community)页可以在Community
Starter Kit中添加新的社区,Community
Starter Kit通过域和子域来区分社区。例如,可以通过以下两个域来区分所创建的两个社区:
也可以通过子域来区分:
创建新社区时需要提供以下信息:
“编辑社区”(Edit
Community)页面用于对现有社区进行编辑。在这里可以编辑社区的任何属性,除了社区管理员用户名和密码。
“导出示例数据”页(Export
Sample Data)可以将Community
Starter Kit的内容导出为一系列的XML文件。可以用“导出示例数据”页与“导入示例数据”页结合来改变Community
Starter Kit中的示例社区。“导出示例数据”页的地址为“http://localhost/CommunityStarterKit/IspAdmin/SampleData/ExportSampleData.aspx”。
在使用“导出示例数据”页时,要确保Community
Starter Kit中只有一个社区。如果有多个社区,示例数据就会被混淆。示例数据将被放到“ISPAdmin\
SampleData\SampleFiles”目录下。
使用“Import
Sample Data”页可以将示例数据的XML文件导入示例数据表中。“导入示例数据”页的位置为“http://localhost/CommunityStarterKit/
IspAdmin/SampleData/ExportSampleData.aspx”。
ASP.NET Community Starter Kit不是Microsoft产品支持服务(PSS)范围内的产品,所有的支持都由ASP.NET论坛http://www.ASP.net/forums 提供。
可以在这个论坛上对Community Starter Kit相关的内容进行自由提问和评论。
还有一个非常受欢迎的Community Starter Kit社区http://www.CommunityStarterKit.com。这个社区中有许多Community Starter Kit使用方面的额外资源。