|
General Documentation |
The Community Starter Kit, CSKDotNet project version 1.1 is a collaborative development project. This release is an updated version of the ASP.NET Community Starter Kit 1.0 that includes new functionality and bug fixes contributed by the CSK developer community.
You can download the latest version of the Community Starter Kit, CSKDotNet project from the CSK Workspace on GotDotNet.
Installation steps are detailed in an installation document included in the CSKDotNet distribution package.
The original Community Starter Kit is available in C#, VB.NET, and J# versions in both Visual Studio.NET and Software Development Kit versions. All six versions of CSK 1.0 can be downloaded from http://www.asp.net/Default.aspx?tabindex=9&tabid=47.
You configure a particular community through the Community Admin Pages. You use the Community Admin Pages to make all the changes to your community. For example, you use these pages to configure the theme for your community and to add or edit existing sections.
The Community Admin Pages can be accessed only by a user that is a member of the Community-Administrators role for that community. Here are the steps for opening the Community Admin Pages:
You can easily and dramatically modify the appearance of your community site by selecting a new theme for your community. A theme determines the layout and formatting of the pages in your community.
The Community Starter Kit includes eight standard themes:
When you first install the Community Starter Kit, the Default theme is selected. Follow these steps to select a new theme for your entire community:
When you select a theme for the Home section of your community, the theme is automatically inherited by all the child sections of your community. You can also select different themes for different sections. It would be a strange thing to do, but you can select the Default theme for the Home section and the Robotico theme for the Articles section.
The Fail-Over Theme option allows you to specify which theme to use if the selected theme doesn't explicitly contain a skin file for a component of the CSK. The CSK will first attempt to load the needed skin file from the selected theme, then it will attempt to use the fail-over theme. If the skin file doesn't exist in either the Fail-Over theme nor the selected theme, the skin file will be loaded from the default theme as a last resort. Most themes do not supply skin files for all components of the CSK, but instead rely on the default theme to provide many of the common skins.
You can easily add your own themes to the Community Starter Kit. You'll want to create your own theme when you need to create a completely custom "look" for your community. Instructions for creating a new theme can be found in the Community Starter Kit Architecture document.
When you first install the Community Starter Kit, a sample community named the Lunar .NET Web site is installed. The Lunar .NET Web site represents a fictional .NET usergroup Web site located on the moon. Most likely, unless you want to start a .NET usergroup on the moon, you'll want to remove this sample content and create your own community.
You can remove all content from your community and start from scratch by opening the Delete Content page. There is a link to the Delete Content page on the main menu of the Community Admin Pages. Select the Delete all content items, Delete all sections, Delete all users options and click the Continue button to delete all the sample content.
The next thing that you'll want to do to customize your community is to modify the sections that appear in your community. You can add new sections or edit existing sections from the Edit Sections page. For example, follow these steps to add a new articles section to your community:
You can use service subscriptions to automatically copy content from one community Web site to another community Web site. The two communities can be located at different locations on the Internet.
Service subscriptions are valuable when you need to aggregate content from multiple Web sites and show the content on your Web site. For example, the administrators of multiple Community sites might agree to share their discussion sections so that any message posted to one discussion section will appear at all the other discussion sections.
In this version of the Community Starter Kit, you can use service subscriptions with the following types of sections: Articles, Events, Discuss, Links, and Books. You cannot use service subscriptions with Downloads and Photo Gallery sections.
Furthermore, you can use service subscriptions to replicate content only between the same types of sections. You can replicate content from an Article section on one community to another. However, you cannot use a service subscription to replicate content between a Articles section and a Links section.
Imagine that you want to copy the contents of an Articles section in Community A to Community B. There are three main steps that you must perform to configure content replication:
The first step is the easiest step. Follow these steps to expose a section in Community A as a Web service:
Next, in Community B, you need to create a service subscription to the remote community section that you exposed as a Web service. Follow these steps:
If the remote community section requires a password, then you need to specify the correct password when adding the service subscription.
The final step is to add the new service subscription to a section in Community B. When you add the service subscription to a section in Community B, the content from Community A is copied to that section. Follow these steps:
After you complete these steps, content from Community A will automatically be copied to Community B. You can monitor the transfer of content by viewing the Activity Log. The Activity Log records how much content is being transferred between the two communities. You also can use the Activity Log to view any errors encounted when transferring content.
You can use Web Box Services to display content retrieved from other Web sites. Unlike service subscriptions, Web Box Services are used to display content outside of the main content area of your pages. Web Box Services enable you to retrieve content from two types of services: RSS and Community services.
There are many existing RSS news feed that exist on the Internet. For example, the sample Lunar .NET site consumes an RSS feed exposed by the official Star Wars site. The Star Wars RSS feed is located at:
http://www.starwars.com/community/webmasters/starwars.rdfThe MSDN Web site also has an RSS feed located at:
http://msdn.microsoft.com/msdnmag/rss/recent.xml
Follow these steps to add the MSDN RSS feed to your community:
A Community service, unlike an RSS service, uses an XML Web service to retrieve content from other community Web sites. You can use a Community service to retrieve content from any Community Starter Kit Web site that has exposed a section as a Web service.
Imagine, for example, that Community A has a section named UpcomingEvents and that you want to display the contents of this section in a Web Box in Community B. You'll need to complete each of the following steps:
The first step is to expose the UpcomingEvents section in Community A as a Web service. Follow these steps:
Finally, you need to add the Community Service to at least one section in Community B. Follow these steps:
After you complete these steps, the events listed in Community A will appear in a Web box in Community B. The list of events is automatically transferred from one community to another through an XML Web service.
The Community Starter Kit includes ten standard content modules: Articles, Events, Discuss, Books, Links, Downloads, Photo Gallery, HTML Page, Parent, and Custom. Each of these modules are described in the following sections.
An Articles section is used to list articles. For example, you can use an Articles section to list news articles, tutorials, or programming samples.
An Articles section includes four types of pages:
Like all the standard content modules, an Articles section supports security, comments, moderation, notifications, ratings, and HTML input.
An Events section is used to list events. For example, you can use an Events section to list upcoming events for your usergroup.
An Events section includes five types of pages:
You can add an event that won't be displayed until a particular date in the future. This is useful when you need to list many events at once but you don't want the events to immediately appear.
Like all the standard content modules, an Events section supports security, comments, moderation, notifications, ratings, and HTML input.
A Discuss section is used to host a discussion forum. For example, you can use a Discuss section to create a forum for discussing programming topics such as ASP.NET or C#. Or, you can use a Discuss section to discuss the latest issues in your knitting club.
A Discuss section includes six types of pages:
Like all the standard content modules, a Discuss section supports security, comments, moderation, notifications, ratings, and HTML input.
The Discuss module enables users to add Locked posts. When a message is posted, the user can prevent other people from responding to the post by checking a checkbox labeled Do not allow replies to this post.
The Discuss module enables users to add Announcements. An announcment is displayed with a special icon (an exclamation mark) when listed. Only members of a role selected for editing or moderating a discussion section can add announcements.
The Discuss module enables users to add Pinned posts. A pinned post always appears at the very top of a Discuss section. For example, pinned posts are useful for explaining the purpose of a discussion section. Only members of a role selected for editing or moderating a discussion section can add announcements.
Note: The Discuss module included with the Community Starter Kit is a limited version of the AspNetForums (available for download at www.ASP.net). Unlike the AspNetForums, the Discuss module does not support certain advanced features such as avatars.
A Books section is used to list books. For example, you can use a Books section to list all the books that your user group is giving away to its members.
A Books section includes four types of pages:
Like all the standard content modules, a Books section supports security, comments, moderation, notifications, ratings, and HTML input.
A Links section is used to list links to other Web sites. For example, you can use a Links section to list links to your favorite .NET developers resource sites.
A Links section includes four types of pages:
Like all the standard content modules, a Links section supports security, comments, moderation, notifications, ratings, and HTML input.
A Downloads section is used to list files that can be downloaded. For example, you can use a Downloads section to enable users to download PowerPoint presentations from previous speakers to your user group, download code samples, download sample book chapters, or download new ASP.NET controls.
A Downloads section includes four types of pages:
The Downloads module supports both community and user quotas. Every community has a total quota assigned when it is created. This total quota is the community quota. If the community quota is passed, users cannot add new content to the Downloads section. Community administrators can also assign quotas to particular users.
The community quota is assigned in the ISP Admin Pages. The user quota is assigned in the Edit Users page in the Community Admin Pages.
Like all the standard modules, a Downloads section supports security, comments, moderation, notifications, ratings, and HTML input.
A Photo Gallery section is used to list photographs or other images. For example, you can use a Photo Gallery section to display pictures from previous user group meetings.
When you post an image to the Photo Gallery, the image is automatically resized into a thumbnail image. When the list of images in a photo gallery is displayed they can all be displayed with a consistent width or height.
Images in a Photo Gallery can be viewed either as a film strip or as thumbnails. When viewed as a film strip, the selected image is displayed in its full size on the same page.
A Photo Gallery section includes four types of pages:
The Photo Gallery module supports both community and user quotas. Every community has a total quota assigned when it is created. This total quota is the community quota. If the community quota is passed, users cannot add new content to the Photo Gallery section. Community administrators can also assign quotas to particular users.
The community quota is assigned in the ISP Admin Pages. The user quota is assigned in the Edit Users page in the Community Admin Pages.
Like all the standard modules, a Photo Gallery section supports security, comments, moderation, notifications, ratings, and HTML input.
An HTML Page section is used to display a single HTML page. You can use an HTML Page section to display any type of content that you please. For example, you can use an HTML Page section to display a general information page about your community.
An HTML Page section includes two types of pages:
A Parent section includes one type of page:
After you create a Parent section, you can add child sections to the Parent section from the Edit Sections page in the Community Admin Pages. Click the Edit link for any section and select a Parent section from the dropdown list.
A Parent section will display a special icon next to sections that have restricted access. For example, if a section is private to community Administrators, then a Parent section will not display the section for normal users. However, if you are authenticated as a member of the Administrators role, then the section will appear with a special icon.
A Custom Module section is used to add custom content to your community. Using a Custom Module section, you can add an ASP.NET User Control to the content area of a page. For example, you can use a Custom Module section to create a survey form for users of your community.
To create a Custom Module section, you need to add an ASP.NET User Control that has exactly the same name as your section to your community. For example, if you add a Custom Module section with the name My Section to your community, then you need to name your User Control My Section.ascx.
After you create the User Control, you must add the control to the CustomModules directory corresponding to your community. For example, if your community is named Community1, then you must add the User Control to the \CommunityStarterKit\Communities\Community1\CustomModules directory.
You can control who can view, add, edit, and delete content for any section in the Community Starter Kit. For example, if you create an articles section, you can prevent anyone except members of the Community-Administrators role from adding new articles. Alternatively, you can give permission to any authenticated user to add new articles.
You configure security for a section on the Edit Sections page in the Community Admin Pages. Click the Edit link next to any section and select the Security tab. Beneath the Security tab, you'll see listboxes for selecting View Roles, Add Roles, Edit Roles, and Delete Roles.
The Community Starter Kit include the following built-in roles:
You can also create your own custom roles. For example, you might want to create a role named ArticleAuthors and only allow members of the ArticleAuthors role to add new articles. Follow these steps to create a new custom role:
You can enable users to add comments to any of the standard content modules (excluding the HTML Page, Parent, and Custom Modules).
You enable comments for a section from the Edit Section page. Open the Edit Section page for any section and click the Advanced tab. To enable comments, you need to do two things: Check the Enable Comments box and select one or more roles to determine who can add comments. If you enable comments, but do not select any roles, no one will be able to add a comment.
You can allow users to enter comments that contain HTML, limited HTML, or no HTML. Scroll to the top of the page under the Advanced tab and you'll see a section labeled HTML Content. Select the None, Limited, or Full option. Be aware that if you allow users to add HTML in their comments, then they could potentially add Javascript code. You are strongly encouraged to enable moderation (described below) whenever you allow users to add HTML content.
When you enable notifications for a section, users can receive email notifications whenever new content is added to the section. For example, if you have a job board then users can sign up to receive notifications when a new job is posted.
You enable notifications from the Advanced tab in the Edit Section page. You can enable email notifications for any of the standard content modules.
A user can disable all email notifications from the Profile page. For example, if a user signs up for email notifications from multiple sections, and then changes his or her mind, the user can globally disable email notifications.
The content of the email notification message can be edited from the Edit Messages page. There is a link to the Edit Messages page on the main Community Admin Pages menu.
The emails are sent using the SMTP server specified in the ISP Admin pages.
You can enable ratings for any section in your community. When you enable ratings, users can rate content in a section on a scale of 1 to 5. The content displays the average rating for all users.
You enable ratings from the Advanced tab in the Edit Section page. You can enable ratings only for the main content in a section. Additionally, you can enable ratings for comments.
Finally, you can restrict the members who can rate content to only members of specific roles. For example, you might want only members of the Community-Administrators role to be able to rate new books posted to your community site.
You can enable HTML input for any of the sections in your community. When you enable HTML input, users can add content that contains HTML.
You enable HTML input from the Advanced tab in the Edit Section page. You can enable either limited or full HTML input. The meaning of limited HTML is different depending on the type of browser being used to access the Web site.
If limited HTML is enabled, and you are using Microsoft Internet Explorer version 5.5 or higher, then you can enter HTML content through an HTML editor. The editor restricts you to entering only a subset of HTML. For example, when limited HTML is enabled, you can select different fonts and add emoticions. However, you cannot add Javascript code.
If limited HTML is enabled, and you are using a browser other than Internet Explorer 5.5 or higher (for example, any version of Netscape), then you cannot enter any HTML content. All content entered is HTML encoded. So, if you enter the tag <b>, the tag is displayed instead of being interpreted.
If full HTML is enabled, and you are using Interent Explorer 5.5 or higher, then an extra checkbox labeled View HTML Source appears at the bottom of the HTML editor. If you check this checkbox, then you can enter any HTML content that you please including Javascript.
If full HTML is enabled, and you are using a browser other than Internet Explorer 5.5 or higher (for example, any version of Netscape), then you can enter HTML through a standard text box.
Be aware that enabling HTML input opens your Web site to script injection attacks. When you enable either limited or full HTML, a malicious and determined user could add Javascript content to the HTML. The Javascript could do something evil like redirecting all users to a Web site in Borneo.
When you enable HTML input for a section, you are encouraged to enable moderation for the section or restrict the users who have Add permissions for the section to the Community-Administrators (or some other trusted role).
The CSKDotNet version replaces the origonal CSK's HTML Editor with a new one based on the source code of FreeTextBox. The new editor supports all of the origional editor's capabilities, and adds many new features. More information on the new editor can be found in the What's New documentation.
Before you enable topics for a section, you need to create the list of topics. You can create new topics in the Edit Topics page. There is a link to the Edit Topics page in the main menu of the Community Admin Pages. When you create a topic, you provide a topic name and topic description. Optionally, you can also supply a topic image.
After you create a topic, you can enable topics for any section in the Edit Section page. Click the Advanced tab and enable the checkbox labled Topics.
After you enable topics for a section, users must select a particular topic when adding content. A list of topics appear in the Topics menu. When a user clicks on a topic in the Topics menu, all the content related to that topic is displayed.
Topics enable you to categorize content across different sections. For example, imagine that your community has both an articles and events section. You can enable topics for both sections and create two topics named Programming and Politics. When a user clicks the Programming topic in the Topic menu, all the articles and events related to Programming are displayed. When a user clicks the Politics topic in the topic menu, all the articles and events related to Politics are displayed.
The Topic menu displays the topics of the last five content items added to your community. By default, the Topic menu is refreshed every ten minutes. So, if you create a topic named Politics, and no content has been added using that topic, the topic will not be displayed in the Topic menu.
You can disable the Topic menu for your community on the Edit Topics page. When you disable the Topic menu, the list of topics is not displayed at the top of your pages. However, users must still select topics when adding content to sections which have topics enabled. In other words, you can disable the Topic menu, but still enable topics for particular sections.
You can use Web Boxes to display content outside of the main content area of a page. For example, you can use Web Boxes to display a list of the most popular articles at your Web site or display a list of new articles or events posted to another community.
There are two types of Web Boxes that you can add to a section. You can add either standard Web Boxes or you can add Web Service Boxes. You add either type of Web Box to a section from the Web Boxes tab in the Edit Section page.
A standard Web Box enables you to display content such as the newest articles and books posted to your community. You can select one or more Web Boxes from the Web Boxes list box. You can also control how the Web Boxes are displayed. For example, you can randomly display only one of the selected Web Boxes at a time.
A Web Service Box enables you to display content from other Web sites. You can use a Web Service Box to display an RSS news feed or you can use a web Service Box to display the latest events posted to another community on the Internet.
Before you can add a Web Service Box to a section, you must first configure a Web Service Box using the Edit Web Box Services page. You use the Edit Web Box Services page to specify the location of the service that the Web Service Box displays. There is a link to the Edit Web Box Services page on the main menu of the Community Admin Pages.
You can use the Web Services tab in the Edit Section page to expose the contents of a section as a Web service. This is useful when you need to share content across communities located at different locations on the Internet. In other words, you can use this feature to replicate content across the Internet.
For example, imagine that you want to share code samples across different community user group sites. To do this, you can expose an articles section as a Web service. Another user group site on the Internet can then automatically copy all the content posted to the articles section in your community to an articles section in their community.
To expose a section as a Web service, you check the Publish section content as a Web service checkbox under the Web Services tab in the Edit Section page. You can optionally enter a password that can be used to password protect the contents of the section.
To consume content from another Web site, you must first configure a service subscription. You configure a service subscription from the Edit Services Subscriptions page. You create a service subscription by supplying the URL to the section on the remote Web site that contains the content that you want to consume.
After you create a service subscription, you can add the subscription to a section from the Web Services tab on the Edit Section page. When you add the service subscription to a section, content will automatically be retrieved from the remote Web site and added to the section.
You can monitor a service subscription from the View Activity Log page. The View Activity Log page tracks how often content is retrieved from the remote Web site. The View Activity Log page will also display any errors encountered when attempting to retrieve content from the remote Web site.
The Edit Sections page displays all the sections configured for your community. You can use the Edit Sections page to perform the following tasks:
A service subscription is used to retrieve content from another Community Starter Kit Web site. A service subscription enables you to replicate content from one community to another. You can use the Edit Service Subscriptions page to perform the following tasks:
Topics appear in the Topic menu in your community. You can use the Edit Topics page to perform the following tasks:
The Edit Web Box Services page is used to configure Web Box Services. A Web Box Service can be either an RSS service or a community Web service. You can use the Edit Web Box Services page to perfrom the following tasks:
Use the Edit Images page to upload new images to your community. After you upload an image, you can display the image in an HTML Page section or within any section that can display HTML content. The Edit Images page enables you to perform the following tasks:
Use the Delete Content page to delete community content. For example, you can use this page to delete the sample Lunar .NET site. The Delete Content page enables you to perform the following tasks:
Use the Edit Voting Polls page to add new voting polls to your community. For example, you can survey your users to determine the topic for the next user group meeting. The Edit Voting Polls page enables you to perform the following tasks:
Use the Edit Messages page to edit the informational messages displayed and sent to users of your community. The Edit Messages page enables you to perform the following tasks:
You can use special tags in the messages to display content. For Email Notifications, you can use the following tags:
For Password Reminders, you can use the following tags:
The Edit Users page enables you to edit the information associated with users of your community. The Edit Users page enables you to perform the following tasks:
Use the Send Newsletter page to send an email newsletter to all the members of your community. The Send Newsletter page enables you to perform the following tasks:
You can use special tags in a newsletter template to automatically display content from your community. Here is a list of these tags:
Use the View Activity Log page to view activity in your community. For example, you can use the activity log to determine the reason why a service subscription is not retrieving content from a remote Web site. The Activity Log displays only the last fifty events that happened in your community. You can clear the Activity Log by clicking the Clear Entries link.
Displays the document that you are currently reading.
This is a new feature of the CSKDotNet version and is covered in
the What's New documentation in detail.
The ISP Admin Pages are used to add, edit, and delete whole communities. The ISP
Admin Pages are located, by default, at
http://localhost/CommunityStarterKit/ISPAdmin. You must login to the ISP Admin
Pages using the ISP Admin username and password. You created the ISP username
and password when you installed the Community Starter Kit. The ISP username and
password are stored in the Web.Config file.
Use the Add New Community Page to add a new community to the Community Starter
Kit. The Community Starter Kit can distinguish communities by domain or
subdomain. For example, you can create two communities distingushed by domain
with the domains:
When you create a new community, you supply the following information:
The Edit Community page enables you to edit an existing community. You can edit
any community property except the Community Administrator username and
password.
The Export Sample Data page enables you to export the contents of the Community
Starter Kit to a set of XML files. You can use the Export Sample Data page with
the Import Sample Data page to modify the sample community displayed by the
Community Starter Kit. The Export Sample Files page is located at
http://localhost/CommunityStarterKit/IspAdmin/SampleData/ExportSampleData.aspx.
You should use the Export Sample Data page only when your community Starter Kit
installation contains a single community. If your Community Starter kit
installation has multiple communities, the sample data will be mixed.
The sample data is exported to the ISPAdmin\SampleData\SampleFiles directory.
Use the Import Sample Data page to load the sample data XML files into the
sample data database tables. The Import Sample Data page is located at
http://localhost/CommunityStarterKit/IspAdmin/SampleData/ExportSampleData.aspx.
The ASP.NET Community Starter Kit is not a supported product by Microsoft
Product Support Services (PSS). All support for the Community Starter Kit is
provided through the ASP.NET forums at:
There is a Web site devoted to the Community Starter Kit located at:
ISP Admin Pages
Add New Community
You can also distinguish communities by subdomain:
You can use any name for a community. The community name is used to distinguish
communities in the \Communities\ folder.
The primary domain is used when calculating the full path of a community and
sending emails. For example, if you assign the value CommunityStarterKit.com
to the primary domain then the newsletter will be sent from the
news@CommunityStarterKit.com email address. The primary domain is not used to
distinguish communities.
The community domain is used to distinguish one community from another. You can
use the wildcard * to match any domain.
The community subdomain is used to distinguish one community from another. You
can use the wildcard * to match any subdomain.
The SMTP Server is the address of the email server used to send emails from
this community.
The database quota is used to limit the total amount of photos and downloadable
files that can be added to a community.
Determines whether the community appears in the Community Menu. The Community
Menu is a control that is included with the Community Starter Kit but, by
default, it is not included in any skin.
When checked, the Lunar .NET site sample content is added to the new community
when it is created.
The username for the administrator of the new community.
The password for the administrator of the new community.
Edit Community
Export Sample Data
Import Sample Data
Getting Help
http://www.ASP.net/forums
Please feel free to post any questions or comments about the Community Starter
Kit to the forum.
http://www.CommunityStarterKit.com
This Web site has additional resources for using the Community Starter Kit.