Server side activities have been updated. You need to restart SharePoint Designer to use updated version of activities

While Opening SharePoint Designer and trying to create new SharePoint Designer workflow or open existing Designer Workflows, you may come across this kind of error saying “Server-side activities have been updated. You need to restart SharePoint Designer to use updated version of activities” message.

server side activities error

As a workaround, do

Clear SharePoint Designer Cache:

  1. Close SharePoint Designer 2013
  2. Delete everything at %USERPROFILE%\AppData\Local\Microsoft\WebsiteCache
  3. Delete everything at %APPDATA%\Microsoft\Web Server Extensions\Cache
  4. Go to SPD2013 options –> General –> Application Options –> Uncheck the “Cache site data across SharePoint Designer sessions”
  5. Restart the SharePoint Designer and open/create the workflow.

Update SharePoint Designer:

Update the SharePoint Designer to the latest package available and check to see if this resolves your problem.

If still problem exists try to Open the SharePoint/Office 365 Site probably in some other system/machine and check to see if the problem still exists.

In my case I’m able to open the site/workflow from another machine.

 

Save Site as Template Missing

In SharePoint 2013, you cannot save a publishing site as a site template. To save the site as template try to navigate to _layouts/savetmpl.aspx . Probably you will get an error  “the save site as template is not supported on this site”.

sst

As a workaround, you can open SharePoint Designer and browse the site and look for site options and set “SaveSiteasTemplateEnabled” to true from false.

sst1

After setting this try to open the application page savetmpl.aspx from browser and you will be able to save the site as template with/without content for migration.

 

Power shell script to create site columns

Here is the powershell script for creating site columns for SharePoint.

Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
Start-SPAssignment -Global

##$site
$site = Get-SPWeb -Identity “<<Site Name>>” -ErrorVariable err -ErrorAction SilentlyContinue
$Option=[Microsoft.SharePoint.SPAddFieldOptions]::AddFieldInternalNameHint

#### SITE COLUMNS
#### StatusID Number Column
$FieldSchema = ‘<Field Type=”Number” Name=”StatusID” DisplayName=”StatusID” Required=”TRUE” EnforceUniqueValues=”FALSE” Indexed=”FALSE” MaxLength=”255″ Group=”Status Columns” />’

[bool]$createColumn = $true
if($createColumn)
{
$newField = $site.Fields | where {$_.InternalName -eq “StatusID”}
if($newField -eq $null)
{
$site.Fields.AddFieldAsXml($FieldSchema)
}
}
$site.Update()

#### IsActive bool Yes/No
$FieldSchema = ‘<Field Type=”Boolean” Name=”StatusIsActive” DisplayName=”StatusIsActive” Group=”Status Columns” DefaultValue=”0″ />’

[bool]$createColumn = $true
if($createColumn)
{
$newField = $site.Fields | where {$_.InternalName -eq “StatusIsActive”}
if($newField -eq $null)
{
$site.Fields.AddFieldAsXml($FieldSchema)
}
}
$site.Update()

#### ApplicationLead People picker
$FieldSchema = ‘<Field Type=”User” Name=”ApplicationLead” DisplayName=”ApplicationLead” Required=”TRUE” UserSelectionMode=”PeopleOnly” Group=”Status Columns” />’

[bool]$createColumn = $true
if($createColumn)
{
$newField = $site.Fields | where {$_.InternalName -eq “ApplicationLead”}
if($newField -eq $null)
{
$site.Fields.AddFieldAsXml($FieldSchema)
}
}
$site.Update()

#### RequestedDate DateTime
$FieldSchema = ‘<Field Type=”DateTime” Format=”DateOnly” Name=”RequestedDate” DisplayName=”RequestedDate” Required=”TRUE” EnforceUniqueValues=”FALSE” Indexed=”FALSE” MaxLength=”255″ Group=”Status Columns” />’

[bool]$createColumn = $true
if($createColumn)
{
$newField = $site.Fields | where {$_.InternalName -eq “RequestedDate”}
if($newField -eq $null)
{
$site.Fields.AddFieldAsXml($FieldSchema)
}
}
$site.Update()

#### BusinessJustification -Rich Text
$FieldSchema = ‘<Field Type=”Note” Name=”BusinessJustification” DisplayName=”BusinessJustification” NumLines=”6″ RichText=”FALSE” Group=”Status Columns” />’

[bool]$createColumn = $true
if($createColumn)
{
$newField = $site.Fields | where {$_.InternalName -eq “BusinessJustification”}
if($newField -eq $null)
{
$site.Fields.AddFieldAsXml($FieldSchema)
}
}

#### ApplicationLookup Lookup column

#Source list

$listApplication=$site.Lists.TryGetList(“Applications”)
write-host $listApplication.id
$FieldSchema = ‘<Field Type=”LookupMulti” Mult=”TRUE” List=”‘+$listApplication.id+'” ShowField=”ApplicationName” Name=”ApplicationLookup” DisplayName=”ApplicationLookup” Group=”Status Columns” />’
write-host $FieldSchema
[bool]$createColumn = $true
if($createColumn)
{
$newField = $site.Fields | where {$_.InternalName -eq “ApplicationLookup”}
if($newField -eq $null)
{
$site.Fields.AddFieldAsXml($FieldSchema)
}
}
$site.Update()

$site.Dispose()

Stop-SPAssignment -Global

Power Shell script to create custom list

Here is the script to create custom list using powershell.

Add-PSSnapin Microsoft.SharePoint.PowerShell
Start-SPAssignment -Global
# Get the site
$site = Get-SPSite -Identity “<<Site Name>>”
# Get the web
$web = Get-SPWeb -Identity $site.Url

# choose type of list
$spTemplate = $web.ListTemplates[“Custom List”]
$spListCollection = $web.Lists
#check for the list if not proceed
$spList = $spListCollection.TryGetList(“CustomMessages”)

if($spList -eq $null)
{

$spListCollection.Add(“CustomMessages”, “This list is used to store custom messages”, $spTemplate)

}
#dispose
$web.Dispose()
$site.Dispose()

Stop-SPAssignment –Global

Import Active Directory Groups to SharePoint

To enable Active Directory Groups instead of individual users in SharePoint we have to change the setting under configure synchronization settings of User Profile Service Application in Central Admin to import Users and Groups and choose use SharePoint Active Directory.

ADGroupImport.png

After this run User Profile Sync and you will be able to see Active Directory Groups as well along with Users.