Tuesday, April 26, 2016

Upgrade from SharePoint 2013 to SharePoint 2016 issues

I created a new 2016 farm in another domain (development) so that i can test the upgrade from a 2013 farm.  The content upgrade is nice and simple as stated in all the blogs and documentation from microsoft.

Here is the big issue:   Workflow farm!

The 2010 workflows work fine since it is included with the content database but with the workflow farm introduced in 2013, there are multiple parts that needs to be there for it to work like the Application management service which gives the permissions for the workflow by the realms.  

Since the upgrade for 2016 service applications does not include the Application management, i'm stuck.  Here are the things i tried so far

  • follow the disaster recovery instructions with minor tweeks for WF pointing to the correct service bus, no go.
  • try to copy the activities to the new farm, no go.
  • try to re-publish the 2013 workflow in a new workflow farm, no go.  
  • possible thoughts but this will not work either due to the app management service, which was to share or use the same workflow farm from the 2013 sharepoint farm and the 2016 sharepoint farm.   


Here is another issue to consider, while doing the 2010 farm to 2013 upgrade, i could upgrade one web application at a time with no issues.   But with the 2013 to 2016 upgrade, i can not do this since the workflow farm holds all the 2013 farms web applications workflows in the same database (WFResourceManagementDB).  This causes some issues since if there is a simple fix for the first issue above then all the web applications need to be upgraded or the 2013 farm needs to point to the 2016 workflow farm.

Will update as i find the solution(s) to the issues found so far.   

Tuesday, April 5, 2016

Powershell script to generate powershell script to toggle publish feature

Add-PSSnapin -Name Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
$url = {your url here}
$site = get-spsite $url
$feature = $site.features.Item('f6924d36-2fa8-4f0b-b16d-06b7250180fa')
        
    if($feature -ne $null)
       {
            $ConfirmPreference = 'None'
       #     $feature
       #     Write-Host Disable-SPFeature -Identity $feature.DefinitionId -Url $site.Url -Force  -WarningAction SilentlyContinue
            Write-Host enable-SPFeature  -Identity $feature.DefinitionId -Url $site.Url  -Force   -WarningAction SilentlyContinue
      
       }
foreach($w in $site.AllWebs)
{
  #  Write-Host '#--------------------------------------------------------------------------------------'
  #  $w.Url
    $feature = $w.features.Item('94c94ca6-b32f-4da9-a9e3-1f3d343d7ecb')
        
    if($feature -ne $null)
       {
       $ConfirmPreference = 'None'
         #   $feature
         #  Write-Host  Disable-SPFeature -Identity $feature.DefinitionId -Url $w.Url -Force  -WarningAction SilentlyContinue
            Write-Host enable-SPFeature  -Identity $feature.DefinitionId -Url $w.Url  -Force   -WarningAction SilentlyContinue
      
       }

}