Home > Sample chapters

SharePoint 2010 Real-World Projects: Building a Basic FAQ Solution

Building the Solution

It is now time to start building the simple FAQ solution. You start by building the FAQ site and then you configure the various lists. Once the lists are configured, the final step is to add the web parts to the different pages in our solution.

Build the FAQ Site

The FAQ site collection will be created from Central Administration using the settings in the following table. If you don’t have access to the farm’s Central Administration pages, you should request that a site be created using this information.

Field

Value

Web Application

http://www.tailspintoys.com

Title

FAQ

Description

Central repository for common Tailspin FAQs.

URL

.../sites/FAQ

Template Selection

Team Site

Primary Site Collection Owner

Wallace, Anne

Secondary Site Collection Owner

Duncan, Bart

Quota Template

Application_40GB

  1. On the Central Admin home page, click Create Site Collections in the Application Management group.
  2. Enter the information provided in the preceding table, and click OK to provision the site collection.
  3. Once the site is provisioned, follow the link that’s provided to open the new site collection.

Change the Site Logo and Theme

To provide some additional styling to the site, you can update the site logo and theme. You first need to upload the logo to the site and copy the URL. You then specify that URL on the Title, Description And Logo page:

  1. On the Site Actions menu, click the Site Settings link.
  2. Click Title, Description, And Icon in the Look And Feel section.
  3. Enter the URL for the company logo in the URL text box, and then click OK.
  4. Click Site Theme in the Look And Feel section.
  5. Select the Construct theme, and then click Apply.

The home page will now reflect your corporate logo and the updated theme.

Create and Customize the FAQs List

Use the information provided in the following procedure to create the FAQs list:

  1. From the Site Actions menu, select the More Options link.
  2. Locate the Custom List template, and then click the More Options button.
  3. Enter the information from the following table, and then click the Create button.

    List

    Name

    Template

    Description

    Navigation

    FAQs

    FAQs

    Custom List

    (Leave blank)

    No

Create the Columns

For this list you need to create several custom columns. Each column is described in detail in the following table. After the table, the steps you need to complete to create each of the columns are provided.

Column Name

Field

Value

Answer

Type

Multiple Lines of Text

Description

(Leave blank since the column title is self-descriptive.)

Specify Type of Text

Rich text (bold, italics, text alignment, hyperlinks)

Required

Yes

Append Changes to Existing Text

No

Add to Default View

Yes

Keywords

Type

Multiple Lines of Text

Description

(Leave blank since the column title is self-descriptive.)

Specify Type of Text

Rich text (bold, italics, text alignment, hyperlinks)

Required

No

Append Changes to Existing Text

No

Add to Default View

Yes

Category

Type

Choice

Description

This FAQ falls into the following category:

Values

General FAQ

Human Resources

Benefits

IT / Technology

Display Choices Using

Drop-down

Required

Yes

Enforce Unique Values

No

Default Value

General

Add to Default View

Yes

Column Validation

NA

To create each of the columns, follow these steps:

  1. From the Site Actions menu, select the View All Site Content link.
  2. Click the FAQs link to open the list.
  3. Under List Tools on the ribbon, click the List tab.
  4. Click Create Column.
  5. Enter the information for each column from the preceding table.

When you have completed the process, the Columns section on the List Settings page should appear like the following screenshot.

Customize the Shared Documents List

One of the solution requirements is that each FAQ item can be linked to additional documents. To manage this, we can use the default document library that is created as part of the Team Site template. The only item you need to configure is a column that provides a way to associate the documents with an FAQ. You can do this is by adding a lookup column using the information from the following table.

Field

Value

Column Name

FAQ

Type

Lookup

Description

(Leave blank)

Required

No

Enforce Unique Values

No

Get Information From

FAQs

In This Column

Title (linked to item)

Allow Multiple Values

No

Allow Unlimited Length

No

Add a Column to Show Additional Fields

None

Enforce Relationship Behavior

Yes, Restrict Delete

When you have created the column, your List Settings page should look like the following. If you need step-by-step instructions for creating the column, see the preceding section.

Customize the Links List

In addition to referencing documents related to various FAQs, the solution includes a requirement to be able to easily link to additional content. You can do this by adding a column to the Links list that is included in the Team Site template. The information for the column is found in the following table.

Field

Property

Column Name

FAQ

Type

Lookup

Description

(Leave blank)

Required

No

Enforce Unique Values

No

Get Information From

FAQ

In This Column

Title (linked to Item)

Allow Multiple Values

No

Allow Unlimited Length

No

Add a Column to Show Additional Fields

None

Enforce Relationship Behavior

Yes, Restrict Delete

When you have created this column, your List Settings page should look like the following. If you need step-by-step instructions for creating the column, see “Create the Columns” earlier in this chapter.

Create and Customize the Help Me List

Within the solution, users need to send a request for additional information to the help desk. We will implement this requirement by creating a list to manage these requests. The list will be secured so that users see only the items they have submitted. Once a user submits an item, a workflow will start that notifies the help desk that a new request has been submitted. The help desk will review the request and provide a response to the user who submitted it.

The first step in configuring this feature is to create the list. After the list is in place, you will use SharePoint Designer to build the workflow.

  1. From the Site Actions menu, select the More Options link.
  2. Locate the Custom List template, and then click the More Options button.
  3. Enter the information from the following table, and then click the Create button.

    List

    Name

    Template

    Description

    Navigation

    Help Me

    HelpMe

    Custom List

    (Leave blank)

    No

  4. When the list is displayed, select the List Settings option on the ribbon.
  5. Click the Title, Description And Navigation link in the General Settings group.
  6. Update the title to Help Me, and then click OK.
  7. Click the Advanced Settings option in the General Settings group.
  8. Change the settings under Item-Level Permissions so that users can read only items that were created by the current user and create and edit only items that were created by the current user. Click OK.

Create the Columns

For the Help Me list, you need to create several custom columns. Each column is described in detail in the following table.

Column Name

Field

Value

Question

Type

Multiple Lines of Text

Description

(Leave blank since the column title is self-descriptive.)

Specify Type of Text

Rich text (bold, italics, text alignment, hyperlinks)

Required

Yes

Append Changes to Existing Text

No

Add to Default View

Yes

Response

Type

Multiple Lines of Text

Description

(Leave blank since the column title is self-descriptive.)

Specify Type of Text

Rich text (bold, italics, text alignment, hyperlinks)

Required

Yes

Append Changes to Existing Text

No

Add to Default View

Yes

FAQ

Type

Lookup

Description

If this question prompted the creation of a new FAQ, the link will be provided here.

Required

No

Enforce Unique Values

No

Get Information From

FAQs

In This Column

Title (linked to item)

Allow Multiple Values

No

Allow Unlimited Length

No

Add a Column to Show Additional Fields

None

Enforce Relationship Behavior

Yes, Restrict Delete

When you have created the columns, your List Settings page should look like the following screenshot. If you need step-by-step instructions for creating the columns, see the section “Create the Columns”.

Configure the Workflow

You will use SharePoint Designer to configure the workflow for this list. Later in the chapter you will create a page with a custom view for users to add items to this list, but for now we will focus on the workflow. The workflow will follow the process shown here:

The purpose of the workflow is to notify the help desk that a new request has been submitted. The workflow notifies all users in the Help Desk Site Owners group. Everyone in that group will receive an email message that a new task has been assigned. Once a help desk staff member accesses the task, she can respond and complete the task, or she can claim the task to let others in the group know she is working on a response. After the task is completed, the item’s creator will receive an email with the response and the workflow will be marked as completed.

Here are the steps to create the workflow using SharePoint Designer:

  1. Navigate to the List tab for the Help Me list that you created earlier.
  2. Click the Workflow Settings option, and select Create A Workflow In SharePoint Designer.

  3. When prompted, enter the following information, and then click OK:

    • Title: New Request
    • Description: Workflow that is started when a user requests additional information from the FAQ site.
  4. In the Workflow editor, use the ribbon to add the following actions within Step 1:

  5. Click data in the first action, and enter the following information when prompted:

    • Next
    • Name: Please Provide Feedback
    • Description: A new FAQ has been submitted to the site. Please review and provide a response.
    • Next
  6. Click the Add button on the screen, and then enter the following information:

    • Field Name: Help Desk Response
    • Description: Please provide a response to the user. This response will be sent to the user via email after you complete the task.
    • Information Type: Multiple Lines of Text
    • Next
  7. Click the check box next to all options and click Finish.
  8. Click this user in the first action. When prompted, add the FAQs Owners group to the Selected Users column, and then click OK.

  9. Click this list in the next action.
  10. Select Current Item from the list drop-down menu.
  11. Click Add.
  12. Select Response from the Set This field list.
  13. Click the fx button to open the lookup configuration.
  14. Enter the following values, and then click OK:

    • Data Source: Association: Task List
    • Field From Source: Help Desk Response
    • Field: ID
    • Value: Variable: Collect
  15. Click OK.

  16. Click these users in the final action. When prompted, complete the email as follows:

    • To: Current Item: Created By
    • Subject: A New Response Is Available!
    • Body: Recently you submitted the following question to the help desk on the FAQ site: [%Current Item: Question%]. The Help Desk has reviewed your request and has provided the following response: [%Current Item: Response%].
  17. Click OK to close the email generator.

    The final workflow should look like the screenshot shown here:

  18. Click New Request in the breadcrumbs to open the workflow details page.

  19. Select the check box for Start The Workflow Automatically When An Item Is Created in the Start Options.
  20. Click the Publish option on the ribbon to publish the workflow to the Help Me list.

Workflow in Action

To test the workflow, create an item in the list. Assuming you are a member of the Owners group for the site, you will receive an email that informs you that a new task has been created.

  1. Click Open This Task to add your response.
  2. Close the task.

    Notice that you are presented with an option to claim the task, as shown in the following screenshot. If you select this option, the task is assigned to you individually instead of to the group. Others in the group who open the task will see that you have claimed the task.

Once the task has been completed, the person who created the item will receive an email such as this:

This workflow provides a simple way for users to communicate directly with the help desk if they have any questions that they can’t find an answer to within the site. Since the help desk can respond via email, the workflow helps reduce the amount of time help desk staff spend on the phone answering requests.

Design the List View Page

Now that the content has been built, it is time to work on a few of the design elements. The first area that you will focus on is the customizations that need to be made to the FAQs list view. Because you are using SharePoint Foundation you do not have access to InfoPath Forms services to customize the list form. However, this doesn’t mean that you can’t make any customizations. In this section you will make several simple web part customizations that help improve the value of the FAQs list view.

  1. From the Site Actions menu, select the View All Site Content link.
  2. Click the FAQs link to open the list.
  3. Click the Customize Form item on the Lists tab, and then select the Default Display Form option.

    httpatomoreillycomsourcemspimages1061523.png
  4. Click Add A Web Part.
  5. From the Web Parts menu, add the FAQs web part to the page twice.

  6. Select Modify Web Part for the FAQs [3] web part, and then edit the web part by changing the following properties:

    Property

    Value

    Selected View

    Edit the Current View (see the following instructions)

    Toolbar Type

    No Toolbar

    Chrome

    None

  7. To modify the web part’s current view, select Edit The Current View directly below the Selected View list in the web part tool pane.
  8. When the view is displayed, update the following settings:

    Property

    Value

    Fields

    Title

    Style

    Newsletter

  9. Select Modify Web Part for the FAQs [2] web part, and then edit the web part by changing the following properties:

    Property

    Value

    Selected View

    Edit the Current View (see the following instructions)

    Toolbar Type

    No Toolbar

    Chrome

    None

  10. To modify the web part’s current view, select Edit The Current View directly below the Selected View list in the web part tool pane.

  11. When the view is displayed, update the following settings:

    Property

    Value

    Fields

    Answer

    Keywords

    Category

    Style

    Newsletter

  12. Select Modify Web Part for the FAQs [1] web part, and then edit the web part by changing the following property:

    Property

    Value

    Layout

    Hidden

  13. In the FAQs [1] Web Part menu, click Web Part Connections, and then add a connection to FAQs [2] that passes the ID filter by using the Get Filters Value From connection type.

  14. Configure the connection so that the Provider and Consumer fields are both set to ID, and then click Finish.

  15. Add the same connection from FAQs [1] to FAQs [3].

  16. On the ribbon’s Page Tools Insert tab, open the Related List drop-down menu.

    httpatomoreillycomsourcemspimages1061531.png
  17. Click the Links option to add the related web part to the page.

  18. Select the Modify Web Part menu for Related Items in the Links web part, and then edit the web part by changing the following properties:

    Property

    Value

    Selected View

    Summary View

    Toolbar Type

    No Toolbar

    Title

    Related Links (if applicable)

  19. On the Related List menu, click the Shared Documents option to add the related web part to the page.

  20. Select the Modify Web Part menu for Related Items in the Shared Documents web part, and then edit the web part by changing the following properties:

    Property

    Value

    Selected View

    Edit the Current View (see the following instructions)

    Toolbar Type

    No Toolbar

    Title

    Related Documents (if applicable)

  21. To modify the web part’s current view, select Edit The Current View directly below the Selected View list in the web part tool pane.

  22. When the view is displayed, update the following settings:

    Property

    Value

    Fields

    Type (icon linked to document)

    Name (linked to document)

    Style

    Newsletter

You have just replaced the default list view with a collection of custom-configured web parts. The results can be seen in the following screenshot. This is a quick way to make the default views more user-friendly by using only browser-based changes.

Design the Help Me Page

One of the requirements for this solution is that users be able to quickly submit a request to the help desk when they can’t find what they are looking for. To address this requirement, you created the Help Me list and its associated workflow. In this step you will create a page that users can access when they want to submit a request. After you create the page, you’ll use SharePoint Designer to add a custom form web part.

  1. From the Site Actions menu, select the More Options link.

  2. Locate the Web Part Page template, and then click the Create button.

  3. For the page’s name, type HelpMe.aspx\.

  4. For the layout template, select Header, Footer, 3 columns.

  5. For the document library, enter Site Assets.

  6. Click Create.

  7. In the Header section, click Add A Web Part.

  8. Locate the Content Editor web part, and then click Add.

  9. For the web part that was just added, click the Modify Web Part menu.

  10. Choose Chrome as the property.

  11. Select None as the value for Chrome.

  12. Click in the web part to add new content.

  13. Type a welcome message for the Help Me page.

  14. Click Stop Editing.

    Your page should look similar to the screenshot shown here:

  15. From the Site Actions menu, select the Edit In SharePoint Designer link.

  16. Use the Navigation menu to open the HelpMe.aspx page in the Site Assets library.

  17. Click Edit File on the summary page.

  18. With your cursor in the left column, use the ribbon to insert a custom list form.

    httpatomoreillycomsourcemspimages1061537.png
  19. Select the Help Me list, the Item content type, and the Edit Item form, and then click OK.

  20. Customize the form so that only the Question field is displayed with the Save and Cancel buttons at the bottom of the page.

  21. Click the Save icon in the top menu bar.

  22. Use the Navigation menu to open the Help Me list.

  23. Click Edit List Columns.

  24. Click Title.

  25. For the default value, enter New Request.

    httpatomoreillycomsourcemspimages1061543.png
  26. Click OK.

If you navigate back to the HelpMe.aspx page in the browser, your screen should look similar to the screenshot shown here.

Design the Home Page

The final step in configuring this solution is to create the home page. You’ll do this simply by adding a few web parts and links to the home page.

  1. Navigate to the site’s home page.

  2. Click Edit Page on the Site Actions menu.

  3. Delete the existing default content.

  4. Add a welcome message to the right column.

  5. Add the FAQs List web part below the welcome message.

  6. Select the Modify Web Part menu for the FAQs web part, and then edit the web part by changing the following properties:

    Property

    Value

    Selected View

    Edit the Current View (see the following instructions)

    Toolbar Type

    No Toolbar

    Title

    Most Recently Created FAQs

  7. To modify the web part’s current view, select Edit The Current View directly below the Selected View list in the web part tool pane.

  8. When the view is displayed, update the following settings:

    Property

    Value

    Fields

    Title

    Answer

    Category

    Keywords

    Sort

    Modified

    Style

    Newsletter

    Item Limit

    5, Display items in batches of specified size.

  9. Using the ribbon and the rich text tools, add links to the right column for the following items:

    Link

    URL

    View All FAQs

    http://tailspintoys.com/sites/FAQ/Lists/FAQs/AllItems.aspx

    I can’t find what I need!

    http://tailspintoys.com/sites/FAQ/Lists/FAQs/AllItems.aspx

  10. From the Site Actions menu, select the View All Site Content link.

  11. Open each of the list settings pages and check that only the Shared Documents, Links, and FAQs lists are displayed on the Quick Launch.

  12. From the Site Actions menu, select the Site Settings link.

  13. Click Quick Launch in the Look And Feel section.

  14. Click the edit icon next to the Discussions heading.

  15. Delete the heading.

The final home page should look similar to the following screenshot. Depending on how you created your links, you may have some differences. The links in the screenshot were created by inserting an image and a hyperlink followed by the horizontal rule markup style. This provides a styled look and feel to the site. Examples of the different styles and items used are provided for your reference in the following screenshots.

httpatomoreillycomsourcemspimages1061549.png