Convert a SharePoint designer document notification workflow to Microsoft Flow

During the migration phase of our projects from SharePoint on-premise to O365, we had to convert a couple of good old SPD workflows to Microsoft Flow.


Whenever a document in a library is due for review, i.e, 30 days before the “Next Review” date, fire a notification to the document “Owner” based on a defined template.

SPD Workflow way

When a document is created or modified, check whether the current date matches the “Next Review” date minus 30. If it doesn’t, pause the workflow until that date is reached and fire an email notification.

Microsoft Flow way


Create a Recurrence action that checks every day for each item in the library whether the condition, “Next Review” date minus 30, has reached.

It will fire emails for any document that has the condition satisfied.

The action items used here – “Recurrence” for repetition, “Get Items” for getting all items in a SharePoint library, “Apply to each” for checking the condition on each list item, “Send an email” to alert the users.

I simply love Flow, just because:

  • it’s too easy to change the email template.
  • on a flick of a button, you can switch on or off the necessary flows on a site.
  • and the best part, I can run through the executed flow on an item to item basis.

Simply easy !!!


Web Components, Angular and SPFx

An exciting announcement from the Angular team during the Angular Mix event last month has brought lot of attention around the SharePoint community.

Lets try to understand what this is all about.

What are Web Components ?

These are simple widgets that allow us to bundle markup and styles into custom HTML elements. They are not tied to any framework- purely built with HTML, CSS, and JAVASCRIPT.

To understand it easily, imagine them as web parts that we could add into any SharePoint page. These components can be plugged into any piece of existing HTML adding few lines of code.

If you are interested to know more about web components, like custom elements and Shadow DOM , this is a neat blog from css-tricks, where it is explained in detail.

BTW, most of the major browsers have pretty much good support for the web components or at least one can use webcomponents.js as polyfill.

So, in a nutshell, if you convert your widget / web part as a Web Component, then you will be able to run it pretty much everywhere, which is pretty awesome.



Integrating Web Components into JS Frameworks

Did you know that these web components could be integrated into the framework of your choice?

The new Angular and Vue frameworks score full points in utilizing all the web component capabilities, although React is not quite there yet.

This enables you to create your widget and utilize them in your Angular or Vue projects. This also allows you to pass attributes to your widget, have custom properties utilized and even trigger events.

web_component angular

How do you create Web Components?

To be super quick in creating Web Components, Polymer library created by Google, has done much of the heavy lifting. They have also created a bunch of  ready to use custom elements that are maintained in their Github.

You can even create Web Components using Vue.

But wait… what if you can create them using Angular too?

If you are that person who loves Angular and had problems with Angular integrating into the SPFx model, the new feature named Angular Elements that came out as part of the Angular Labs would definitely help.

This was taken a step forward when Rob Wormald from Google, during the European SharePoint Conference 2017, explained how Angular Elements could be used in a SharePoint SPFx web part.

Keep it coming…

All these announcements should help us plan better for future SharePoint developments.

I think this is the best part of SPFx, where it allows you to embrace the awesomeness that happens in the outside world.

SharePoint 2013

SharePoint Framework Developer Preview released

Microsoft released the developer preview for SharePoint Framework.

It’s all in Github now –

If you are new to this, watch the official Microsoft statement to get some heads up  –

Also note that SharePoint Framework web parts are not supported for production use yet.

So just be ready guys !!!

Microsoft joins IFTTT like automation

Microsoft has introduced an exciting automation procedure called Microsoft Flow –

You can relate this to IFTTT where you can connect all of your best apps to achieve amazing things. Who wouldn’t like to light up their house during sunset 🙂

Microsoft Flow allows you to connect your Office 365 accounts with services like Dropbox, Trello, Slack or Google Drive.

There are plenty of free templates which can get you started or you can create automation from blank.

Create your own recipes and enjoy 🙂

AppFabric 1.1 error while installing SharePoint Server 2013 prerequisites

SharePoint 2013

While installing the SharePoint Server 2013 prerequisites, you see the following error in the event log and the setup log:

Product: AppFabric 1.1 for Windows Server — Error 1722. There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor.  Action Env_PSModulePath_powershell_i, location: c:\Program Files\AppFabric 1.1 for Windows Server\Microsoft.ApplicationServer.InstallHelper.exe, command: powershell.exe “-command \”$str = [System.Environment]::GetEnvironmentVariable( \\\”PSModulePath\\\ “, [System.EnvironmentVariableTarget]::Machine); $str = $str+\\\”;c:\Program Files\AppFabric 1.1 for Windows Server\PowershellModules\\\”; c:\Windows\system32\setx.exe /M PSModulePath \\\”$str\\\”\ “” “C:\Users\Administrator\AppData\Local\Temp\AppServerSetup1_1_CustomActions(2014-5-15 11-08-45).log”

The PSModulePath environment variable is corrupted. There is a quotation mark at the end.

C:\Windows\system32\WindowsPowerShell\v1.0\Modules\;C:\Program Files (x86)\Microsoft SQL Server\110\Tools\PowerShell\Modules;c:\Program Files\AppFabric 1.1 for Windows Server\PowershellModules”

Delete the ending quotation mark and re-run the setup.

Original Official post here.