In this article we can explore a common scenario associated with creating Workflows in Visual Studio 2010.
Scenario
You are creating a workflow through Visual Studio 2010. The SharePoint 2010 templates are installed and while selecting a Workflow template and entering the site URL you receive the following error:
"The SharePoint site at URL is missing a target, task, or history list. Each of these lists is required to associate a workflow template. Please create a list and then launch this wizard."
![Scenario.jpg]()
Root Cause
The Workflow requires the following lists for its working:
- Workflow History of Template 140
- Workflow Tasks of Template 107
Solution
There are many solutions to the above problem like:
- Create a new site from a site template that includes Workflow History & Task list (Example Team Site template)
- Create the 2 lists Programmatically
- Create the 2 lists using PowerShell
Here I will apply the second solution, using C# code to create the 2 lists.
Implementation
Create a new SharePoint Console Application and change the project properties as:
Add the following code to the Main() method. Please change your URL accordingly.
class Program
{
private static string URL = "http://yourblanksite";
static void Main(string[] args)
{
using (SPSite site = new SPSite(URL))
{
using (SPWeb web = site.OpenWeb())
{
web.Lists.Add("Workflow History", string.Empty, SPListTemplateType.WorkflowHistory);
web.Lists.Add("Workflow Task", string.Empty, SPListTemplateType.Tasks);
}
}
}
}
Execute the preceding code and if it completed without errors, your problem is solved.
Verification
Inside SharePoint you can verify our new lists as shown below:
![Verification.jpg]()
Inside Visual Studio 2010, try creating the workflow again and you should not see the error. The select lists page should display the new lists which were created.
![select-lists-page-sharepoint2010.jpg]()
Please note that the lists are displayed here based on their Template Id.
Template Enumeration Reference
You can refer to the Template Enumeration (SPListTemplateType) here.
Name | Description |
InvalidType | Not used. Value = -1. |
NoListTemplate | unspecified list type. Value = 0 |
GenericList | Custom list. Value = 100. |
DocumentLibrary | Document library. Value = 101. |
Survey | Survey. Value = 102. |
Links | Links. Value = 103. |
Announcements | Announcements. Value = 104. |
Contacts | Contacts. Value = 105. |
Events | Calendar. Value = 106. |
Tasks | Tasks. Value = 107. |
DiscussionBoard | Discussion board. Value = 108. |
PictureLibrary | Picture library. Value = 109. |
DataSources | Data sources for a site. Value = 110. |
WebTemplateCatalog | Site template gallery. Value = 111. |
UserInformation | User Information. Value = 112. |
WebPartCatalog | Web Part gallery. Value = 113. |
ListTemplateCatalog | List Template gallery. Value = 114. |
XMLForm | XML Form library. Value = 115. |
MasterPageCatalog | Master Page gallery. Value = 116. |
NoCodeWorkflows | No Code Workflows. Value = 117. |
WorkflowProcess | Custom Workflow Process. Value = 118. |
WebPageLibrary | Wiki Page Library. Value = 119. |
CustomGrid | Custom grid for a list. Value = 120. |
SolutionCatalog | Solutions. Value = 121 |
NoCodePublic | No Code Public Workflow. Value = 122 |
ThemeCatalog | Themes. Value = 123 |
DataConnectionLibrary | Data connection library for sharing information about external data connections. Value = 130. |
WorkflowHistory | Workflow History. Value = 140. |
GanttTasks | Project Tasks. Value = 150. |
Meetings | Meeting Series (Meeting). Value = 200. |
Agenda | Agenda (Meeting). Value = 201. |
MeetingUser | Attendees (Meeting). Value = 202. |
Decision | Decisions (Meeting). Value = 204. |
MeetingObjective | Objectives (Meeting). Value = 207. |
TextBox | Text Box (Meeting). Value = 210. |
ThingsToBring | Things To Bring (Meeting). Value = 211. |
HomePageLibrary | Workspace Pages (Meeting). Value = 212. |
Posts | Posts (Blog). Value = 301. |
Comments | Comments (Blog). Value = 302. |
Categories | Categories (Blog). Value = 303. |
Facility | Facility. Value = 402 |
Whereabouts | Whereabouts. Value = 403 |
CallTrack | Call Track. Value = 404 |
Circulation | Circulation. Value = 405 |
Timecard | Timecard. Value = 420 |
Holidays | Holidays. Value = 421 |
IMEDic | IME (Input Method Editor) Dictionary. Value = 499 |
ExternalList | External. Value = 600 |
IssueTracking | Issue tracking. Value = 1100. |
AdminTasks | Administrator Tasks. Value = 1200. |
HealthRules | Health Rules. Value = 1220 |
HealthReports | Health Reports. Value = 1221 |
The link is added in the References section too.
References
http://tinyurl.com/sp2010-lsttmpref
Summary
In this article we have explored a common error scenario associated with workflow creation and a solution for it.