It's been a while since I've been able to continue my Application Templates series, but we move on to the Help Desk template which has some neat customizations that you can take onto your own projects.
The Help Desk template is a part of the server admin templates provided directly from Microsoft here. This template is based off of a site definition which needs to be installed by a SharePoint server administrator using stsadm. The Help Desk template was designed for the IT / Operations business area and the official description is described below:
The Help Desk application template helps teams manage the process of handling service requests. Team members use the application template to identify a service request, manage identification of the root cause and track solution status. The application template provides role-based dashboards displaying information relevant to customer service representatives and managers, including performance history.*
Features:
By using a site definition when you create a site based off of this template it automatically activates the custom features associated with this template. The custom features that are automatically activated are:
- Knowledge Base Keyword List
- Knowledge Base Knowledge Base List
- Help Desk Experts List
- Help Desk Service Request List
- Help Desk Support FAQ List
- Help Desk Tasks List
- Help Desk List Instances
- Help Desk Modules
- Knowledge Base Provisioning Handler
- TSA Post Provisioning Event Handler
The Keyword List, Knowledge Base List, Experts List, Service Request List, and FAQ List features create the schema for those lists where the Help Desk List Instances create the actual lists when the site is created. The most interesting features are the Help Desk Modules (which contains a couple Data View web parts AND SharePoint Designer Workflows) and the Knowledge Base Provisioning Handler (contains event handler).
Custom Libraries:
Knowledge Base – The Knowledge Base document library has content types automatically associated with it, Knowledge Base Document and Knowledge Base Article. These content types automatically provide some custom lookup columns which tie into the Keywords list and also allows you to reference Related Articles.
The Knowledge Base Article content type is based off of the Wiki format, however because the document library is not based off of the WebPageLibrary template, you cannot use the page linking features, this is probably why the included the Related Articles lookup field so you could have some document linking functionality. Because you are only able to link documents together through the lookup field, the Incoming Links feature used with Wiki Pages is no longer valid. However the inline history is still available on the article’s content.
Application Pages – The Application Pages document library is an out-of-the-box document library that automatically contains pages used by help desk personnel. The pages included in this document library contain various Data View’s and the individual pages should have their permissions managed based on personnel functions/roles.
Custom Lists:
Experts – This list works very similar to a regular contact list, but is trimmed down to work for the Help Desk template. It also includes a lookup column referencing the Keywords list, that that an expert can be defined with multiple keywords, making it easier to allocate the correct resource to an issue.
Keywords – This list defines the keywords available for use in Service Requests, Knowledge Base Articles and Expert association.
Service Requests – The Service Requests list is the main list for this template. It uses various column types including; single text, multiple text, person or group, lookup, choice, date and time, yes/no, and calculated. This list also has the Article Request workflow associated with it to flag if an article should be created based on a service request. There are also many custom views on this list to help different roles manage service requests in different ways. It should be noted that this list uses the Service Request content type which has some columns that do not show up in the NewForm.aspx. You may start to think that they customized the NewForm.aspx, however instead of customizing the page, some columns in the Service Request content type have the property ShowInNewForm set to FALSE. There are similar properties for the Display Form and Edit Form that you can set on individual columns if you define them through an XML definition or you can change individual column properties using PowerShell.
Service Request Tasks – This list defines tasks created from the Article Request workflow. This list contains a Link and Outcome column that aren’t defined by any content type associated with this list, nor have I found where an end user would input any information into those columns.
Support FAQs – The Support FAQ list is a custom list that lets you create quick answers to common issues. Once again there are a few lookup columns in this list, Related Articles and Keywords.
Custom Pages:
Default Page
The default home page for the site contains many regular list view web parts showing current Announcements, recently updated FAQs, related Links, and the current users active Service Requests.
They have also modified the quick launch, or current navigation, to include some common actions for this site like creating a service request. Also if you are a member of the Help Desk Staff the quick launch provides you instant access to the dashboard Application Pages you have access to.

Service Representative Manager
The Service Representative Manager page is a great example of a dashboard created using Data View Web Parts. All, except the My Tasks web part, of the web parts on this page have been created using the Data View Web Part. The Average Resolution Time web part is an example of how you can create a custom KPI using Data View Web Parts. This dashboard also contains two other Data View Web Parts to give the service representative manager a bar chart representation for Overall Service Request Status and Overall Service Request Priority. The Service Requests web part is another Data View Web Part that references different list views of the Service Requests List. To get further information on how some of these customizations have been created, take a peek at the Application Templates Under the Hood document provided from Microsoft (Dashboard section begins on page 24).

Knowledge Manager
The Knowledge Manager page is another example of a dashboard that can be created using multiple list views. The My Documents, Recent Additions, and Recent Changes web parts are just different views of Knowledge Base library. The Common Actions web part is another Data View Web Part that gives the Knowledge Manager direct access to activities they would do on a daily basis. The Knowledge Base Article Requested web part is yet another web part that uses a list view. In order for items to be shown in this view it needs to be marked for the knowledge base as well as not have an article associated with it.

Service Representative Home
The Service Representative page is another application page that is made up using different list views of similar data. The Unowned Service Requests, Service Requests Owned By Me and Service Requests Assigned To Me web parts all bring different data to the service representative that logs into this page. The Experts web part also is a nice touch so the service representative have a list of people (associated to their expertise) they can contact for individual service requests.

Workflows:
There is one SharePoint Designer workflow attached to the Service Requests list when you create a site based off of this template
Article Request
The Article Request workflow is set to automatically start when an item is created in the Service Request list. This SharePoint Designer workflow is a simple two step workflow where the first step waits for the Status column to equal Closed, once the item is set to closed, it moves on to the second step where it checks of Mark for Knowledge Base is set to Yes, if so it then creates an item in the Service Request Tasks list.

Installation recommendations:
If you are looking to create a site based off of this site definition you probably have noticed many modifications you would need to make in order to use this in your environment. The first thing you will need to do is assign permissions to the Application Pages for the different roles in your organization. Setting permissions on those pages will trim the pages for Service Desk Reps, Knowledge Base Reps and Help Desk Manager. I would also extend/create alternative workflows on the Support FAQ list for content approval, create an article based off a template when a task is assigned to an individual, etc.
Other modifications that could be made are creating custom data view web parts to create a KB article directly from a service request (much like the data view web parts in the Board of Directors template), or other common tasks.
I would also clean up some of the views, especially the extra columns showing in the Service Request Tasks list default view, as well as removing the Service Representative Dashboard page that is in the Application Pages library.
If you have other recommendations you would like to share, please let me know by commenting to this post.
*Description reference URL here
["Brian"]
Posted
02-25-2008 8:53 AM
by
Brian Caauwe