Monthly Archives: October 2018

What’s in that patch? Oct 2018

NOTE – PDF format updated to include both SharePoint 2013 and 2016 notes.

Ever wondered what fixes are inside of a given CU?   Please see attached PDF with full detail. I wanted a new format for easy reading.   Show management and make the business case for why downtime should be taken to apply CUs.  Also posted at

If you found this helpful, please leave a comment.    shades_smile_thumb_thumb_thumb_thumb[2]


What’s in that patch – Oct 2018.PDF

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


  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.



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

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

  2. Clear SharePoint Designer client cache
  3. Test


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


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



function demoCtl ($scope) {
    var vm = $scope;
    vm.hello = 'world';
    vm.rows = [{name:'first'},{name:'second'}];
    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++) {
        } else {
          // less
          for (var i = gap; i < 0; i++) {
            vm.rows.splice(-1, 1);
angular.module('demoApp',[]).controller('demoCtl', demoCtl);


    Archives for October 2018 | SPJeff



Return to Top ▲Return to Top ▲