Skip to main content

How to create a custom Workflow Task / SharePoint Server Workflow Task content type using Visual Studio?


If you are designing an Workflow and you want to create custom Workflow Task or SharePoint Server Workflow Task using Visual Studio interface then you'll need to make these two content types visible.

To make them visible I'm using the following PowerShell script:

$site = Get-SPSite "http://site/url/here"
$web = $site.RootWeb

# Workflow Task
$contentType = $web.ContentTypes["Workflow Task"]
$contentType.Group = "Custom Content Types"
$contentType.Hidden = $FALSE
$contentType.Update()

# SharePoint Server Workflow Task
$contentType = $web.ContentTypes["SharePoint Server Workflow Task"]
$contentType.Group = "Custom Content Types"
$contentType.Hidden = $FALSE
$contentType.Update()

$site.Dispose()
Then when you can add a new Content Type from Visual Studio and you will see the two Content Type in the list.

To revert these changes run this PowerShell script:
$site = Get-SPSite "http://site/url/here" $web = $site.RootWeb # Workflow Task $contentType = $web.ContentTypes["Workflow Task"] $contentType.Group = "_Hidden" $contentType.Hidden = $TRUE $contentType.Update() # SharePoint Server Workflow Task $contentType = $web.ContentTypes["SharePoint Server Workflow Task"] $contentType.Group = "_Hidden" $contentType.Hidden = $TRUE $contentType.Update() $site.Dispose()

Comments

Popular posts from this blog

PowerShell script to add work email to the list fields for the author

The Author (Created By) field is actually an lookup field to the hidden User Information list. If you need to add the work email of the Author (Created By field) user to a specific list it can be done by adding a dependent lookup field for the Author field: $site = get - spsite "site url here"; $list = $site . RootWeb . Lists [ "list name" ]; $createdByEmailGuid = $web . Fields . AddDependentLookup ( "Work e-mail" , [ Microsoft . SharePoint . SPBuiltInFieldId ]:: Author ); $createdByEmail = $web . Fields . GetFieldByInternalName ( $createdByEmailGuid ); $createdByEmail . Description = "Work e-mail address of the Author."; $createdByEmail . LookupField = $web . Fields [[ Microsoft . SharePoint . SPBuiltInFieldId ]:: EMail ]. InternalName ; $createdByEmail . Update (); $web . Update (); $list . Fields . Add ( $createdByEmail ); $list . Update (); If additional fields are needed the same method can be applied. Here is a li

Emmet in Visual Studio Code | cheat sheet link

Support for   Emmet   snippets and expansion is built right into Visual Studio Code,   no extension required .   Emmet 2.0   has support for the majority of the   Emmet Actions   including expanding   Emmet abbreviations and snippets .   Emmet is a web-developer’s toolkit that can greatly improve your HTML & CSS workflow   Links: Emmet in Visual Studio Code   Cheat Sheet (emmet.io)  

SharePoint 2010 - Enable and configure unique Document IDs

There is a great article on how to Enable and configure unique Document IDs on Microsoft.com. In short you need to: Activate the Document ID site collection feature Enable and configure the use of Document IDs in a site collection But what it doesn't mention is that behind the scenes there are two time jobs that need to run to activate this feature: one to add the Document ID column and one to generate unique ids for the existing documents. But, these jobs are set to run once a day. So if you need your unique Document IDs to be activate right away, you need to go to Central Administration and run these two timer jobs for your respective web application: Document ID enable/disable job  Document ID assignment job