Wednesday, February 14, 2018

Sri Lanka SharePoint Forum monthly gathering – February 2018

Title: Office 365 CLI: Managing Office 365 tenant and SharePoint Online

Description: Office 365 CLI is an open-source project driven by the SharePoint Patterns and Practices initiative. Using the Office 365 CLI, developers can manage the different settings of SharePoint and Office 365 no matter if they use Windows, macOS or Linux. In this session we are going to look at some cool features of Office 365 CLI.

Event Url:

Office 365 CLI - Managing Office 365 tenant and SharePoint Online - Suhail Jamaldeen - Suhail Cloud - SharePoint Forum Sri Lanka

Slides which used for the event.

Clicks during the event

Office 365 CLI Managing Office 365 tenant and SharePoint Online - Suhail Jamaldeeen - Suhail Cloud (6)Office 365 CLI Managing Office 365 tenant and SharePoint Online - Suhail Jamaldeeen - Suhail Cloud (2)

Monday, February 5, 2018

Awarded Microsoft MVP for Office Servers and Services


All the praises belong to Almighty

Today I'm honored to be a new member of the Microsoft MVP community for Office Servers and Services.

I would like to thank our mentor Prabath Fonseka for guiding me throughout my professional career, Dinusha Kumarasiri for nominating me and guiding me.

In addition, I would like to thank Wellington Perera, Upul Weerasinghe, Sachira Chinthana Jayasanka and Fiqri Ismail for the support and encouragement which they have given me.

Also I would like to thank Hibathul Careem sir, my family, friends who are with me always.

Sunday, January 21, 2018

Trigger a Microsoft flow only when a SharePoint list item is modified – An alternative approach


One of my friend asked me whether there is a Microsoft flow action to trigger the flow only when a SharePoint Online list item is modified. Unfortunately there is no out of the box trigger available.


We can overcome this by adding a condition at the beginning of the flow - we have to check whether the created date time and modified date time are not equal. So the flow will execute only if the created time and modified time is not equal.

Please check the below screenshot for the reference.

Suhail Cloud - January 2018

Tuesday, January 9, 2018

Invoke a code activity (Native Activity) and retrieve the results using code – Workflow Foundation 4.5


We can create code activity as a part of workflow solutions using workflow foundation 4.5. In this post I will show how we can create a native code activity and access the results in controller. Native code activity


   //The string mentioned in NativeActivity is the resut type.  

     public sealed class MySampleNativeCode : NativeActivity     {

         // Define an activity input argument of type string

         public InArgument Name { get; set; }

         protected override void Execute(NativeActivityContext context)


             var name = context.GetValue(Name);

             //Here we set the string value to the Result property in NativeCode

             context.SetValue(base.Result, "Hello from Native Code Activity " + name);


Invoke the code activity The code activity is invoked in web api controller.
 // GET: api/CustomerRegistration

         public string Get()


             //Create a instance of the native code

             Activity wf = new MySampleNativeCode();

             //Define the input argumentes

             Dictionary arguments = new Dictionary();

             arguments.Add("Name", "Suhail");

             //Invoke the workflow

             IDictionary outputs = WorkflowInvoker.Invoke(wf, arguments);

             //Get the output value and assign to return string

             var returnString = outputs["Result"].ToString();

             return returnString;



You can see the value in “returnString” which is returned from Native Code Activity.

Saturday, January 6, 2018

Cannot add .Net Standard 2.0 Class as .Net Type in Workflow Foundation Activity Designer projects in Visual Studio 2017


I was working on Workflow Foundation 4.5 using Activity Designer Library template in Visual Studio 2017.

Problem Background

When I try to add a class library as input Type through Type Browser in Activity designer it shows an error as “The selected type could not be created” as shown in the image below.


I compared another machine with the latest update of Visual Studio which was working fine. The problem seems to be I didn’t have .Net framework 4.6.2 SDK and .Net framework 4.7 SDK installed.



I modified the Visual Studio as below using Visual Studio Installer.



You will can refer .Net Standard 2.0 projects and dlls in workflow foundation project templates and use without any issue.

Sunday, December 17, 2017

Sri Lanka IT Pro Forum Meetup – December 2017

I will be speaking at Sri Lanka IT Pro Forum Meetup – December 2017
Venue: Microsoft Sri Lanka
Date: 20th of December 2017
Time: 6pm
Title: Manage how people use your SharePoint Online

In this session, we will discuss some of the key features in SharePoint Online and Office 365 that leads to create a successive governance model and control how people use our site.
Event Url:

Suhail Jamaldeen  Suhail Cloud 2

Updated On: 22nd of December 2017


Some Clicks from the event

Sri Lanka IT Pro - Suhail Jamaldeen - Suhail Cloud (1)Sri Lanka IT Pro - Suhail Jamaldeen - Suhail Cloud (16)Sri Lanka IT Pro - Suhail Jamaldeen - Suhail Cloud (8)Sri Lanka IT Pro - Suhail Jamaldeen - Suhail Cloud (19)Sri Lanka IT Pro - Suhail Jamaldeen - Suhail Cloud (21)Sri Lanka IT Pro - Suhail Jamaldeen - Suhail Cloud (3)Sri Lanka IT Pro - Suhail Jamaldeen - Suhail Cloud (11)

You can see all the photos from below url:

Saturday, December 9, 2017

Make password expire and force users to change them - Office 365


One of my clients want his users’ to change their password every 45 days as a part of their company policy.


In Office 365 admin center, under setting select “Security & privacy”.


There under Password policy you can set the days by clicking on Edit.