Microsoft cloud engineer - SharePoint, Office 365, Azure, DotNet, Angular, JavaScript.
Microsoft cloud engineer - SharePoint, Office 365, Azure, DotNet, Angular, JavaScript.

Blog

FIXED – SPDActivities Custom Action (SharePoint 2016 )

After troubleshooting an issue with SharePoint Designer, I wanted to document the fix for others.   Installing the “DP.CustomActions” WSP from CodePlex worked well on SharePoint 2010 and 2013.   However, with 2016 an issue occurs which requires additional [web.config] modification.   Details below.   Cheers!  

shades_smile

Issue

  1. WSP is fully deployed and installed
  2. Custom Action workflow steps are visible in SharePoint Designer
  3. Click action then suggestion menu disappears.   No action sentence is visible on designer.

image

Resolution

  1. Locate </targetFx> in [web.config] file
  2. Add below XML code both before AND after </targetFx>

<authorizedType Assembly=”DP.Sharepoint.Workflow, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0298457208daed83″ Namespace=”DP.Sharepoint.Workflow” TypeName=”*” Authorized=”True” />

  1. IISRESET
  2. Clear SharePoint Designer client cache https://stackoverflow.com/questions/43113666/how-to-clear-cache-in-sharepoint-designer-site
  3. Test
image

Root Cause

  • Appears that SharePoint 2016 leverages more Dot Net Framework versions (3.0, 3.5, 4.0, 4.5) and has a larger [web.config] to support backward compatibility with multiple Dot Net versions.

Angular JS (1x) – Modify repeating rows table

Live coding demo below showing how to leverage a text box change even to modify the number of vertical rows.  Can easily step up/down by large numbers.   Demo and code below.

Cheers! 

shades_smile

Video

Angular JS (1x) – Modify repeating rows table from Jeff Jones on Vimeo.

Code

JS

function demoCtl ($scope) {
    var vm = $scope;
    vm.hello = 'world';

    //default
    vm.rowCount=2;
    vm.rows = [{name:'first'},{name:'second'}];

    //events
    vm.numberRowsChanged= function() {
        var gap = vm.rowCount - vm.rows.length;
        if (gap == 0) return;
        if (gap > 0) {
          // more
          for (var i = 0; i < gap; i++) {
            vm.rows.push({});
          }
        } else {
          // less
          for (var i = gap; i < 0; i++) {
            vm.rows.splice(-1, 1);
          }
        }
    };
}

angular.module('demoApp',[]).controller('demoCtl', demoCtl);

HTML

    
    
    
    Document
    
    



    

Total

Rows

VerifyAD – Validate Active Directory username and password with REST api

Below is a example of how to wrap System.DirectoryServices.AccountManagement.PrincipalContext.ValidateCredentials() with REST api container for electronic signature over REST api call.   This enables web based forms to be “signed” for business purpose with given user’s password.   The api will return “true” if given a valid Domain, User, and Password.   However, should any invalid input be given or an exception occur it merely responds “false.”

NOTE – This API should ONLY be used over HTTPS for secure encrypted transport.  Demo video shows HTTP for educational purposes only.

Cheers!  

shades_smile

Video

Code

References

© Copyright 2016
@ SPJeff

Return to Top ▲Return to Top ▲