Updating Content Approval Status using SharePoint Designer 2013 Workflow

November 20, 2015

I recently changing Akumina’s InterChange to work with SharePoint 2013 SharePoint Designer workflow but ran into issue that I cannot update the content approval status (_ModerationStatus field) via Designer workflow using builtin update list item activity.  Here is the step-by-step instruction to update content approval status from SharePoint Designer workflow using CallHTTP activity.

  1.  Activate “Workflows can use app permissions” from Site Collection –>Site Settings–>Site Actions–>Manage Site Features
  2. Go to Site Collection –>Site Settings–>Users and Permissions then click Site app permissions and then copy the GUID from workflowappperm
  3. Go to site Collection URL ~/_layouts/15/appInv.aspx  complete the following values
    1. AppId: value copied from above step
    2. Title: workflow
    3. AppDomain: yourdomain (or machinename)
    4. Redirect URL: http://YourDomain (or  http://<machinename>)
    5. Permission Request XML:

      <AppPermissionRequests><AppPermissionRequest Scope=”http://sharepoint/content/sitecollection/web&#8221; Right=”FullControl” /></AppPermissionRequests>appinv

    6. Click Create.  You will be promted with dialog.  Click Trust it
  4. Launch the SharePoint Designer and Create a List Workflow (Same applicable for Reusable or Site Workflow)
  5. From the designer action drop the Build Dictionary Activity and name id “ApprovalRequestHeader” add the following fields
    Name Type Value
    accept String application/json;odata=verbose
    content-type String application/json;odata=verbose
    X-HTTP-Method String MERGE
    IF-MATCH String *
  6. From the designer action drop the Build Dictionary Activity and name id “RequestApprovalMetadata” add the following fields.  Note that Approval Required field must be turned on for this value to appear
    Name Type Value
    type String SP.Data.<LISTNAME>ListItem

    You can get this value by browsing to http://<yoursite>/ _api/web/lists

    The value should be from listitementitypefullname

    Build Metadata Dictionary

  7. From the designer action drop the Build Dictionary Activity and name id “RequestApprovalParam” add the following fields
    Name Type Value
    __metadata Dictionary Variable: ApprovalMetadata

    Refer to workflow parameters named ApprovalMetadata created in previous step

    OData__ModerationStatus Integer 0You can get the field type/name by browsing  http://<yoursite>/_api/web/lists/getbyTitle(‘<LISTNAME>’)/items


  8. From the designer action drop the CallHTTP activity and set the propertiescallhttp
  9. Publish the workflow
  10. To package and deploy https://msdn.microsoft.com/en-us/library/office/jj819316.aspx

Career vNext

July 4, 2014

I joined Ektron in Feb, 2004.  I started single handed to convert CMS 300 VB/COM technology to .Net now known as CMS400.  Since then, I played a major contribution in every release .  I have always looked for ways to improve the product whether that’s a new role (Developer, Scrum Master, Support, Architect) or a new technology (Cloud, SaaS, eSync, Workflow, Security, Taxonomy, Content Marketing, Campaign Management, etc.,).  For a past decade, I’ve built several challenging modules within Ektron.  In my opinion, one of the biggest advantages of working at Ektron is that it’s easy to explore new technologies.  There’s no shortage of interesting work to do and great people to work with.

I plan to create my own while contributing to my new employer.  I am sad to leave Ektron.  I think CMS400 is going to be an amazing product.  At the same time, I’m excited for the next stage of my career.  I am still happy to answer any questions so don’t hesitate to email me or ping me on Twitter (@nhcloud) about anything.


August 16, 2013

Search is a critical element of any website. It’s how the majority of us look for web content.

Search is generally a simple interface that we use on public search engines like Google, Bing and Yahoo every day of our lives. In this blog, I will focus on why it makes sense to have search in the cloud. To start off, let’s discuss three key components of a search engine: querying, indexing and crawling.  Continue Reading at ektron.com

Talk: Cloud Storage (Windows Azure Blob and Amazon S3) – Boston Azure User Group

July 1, 2013

On June 27, I had the privilege of speaking at the Boston Azure User Group in Boston, MA. The topic covered a in-depth discussion of Azure Blob Storage and Amazon S3.  It was an very interactive session with lots of great questions from the attendees.  The topics that we covered

  • Storage
    • Overview
    • Azure Blob Storage
    • Amazon S3
    • Comparing Azure Blob and Amazon S3
    • Benchmark comparisons for performance, stability, and scalability
  • CDN
  • Shared Access Signature
  • Best Practice
  • Resource

Click here to download the power point presentation.

click here to download the sample project

Please note you need to set the keys in config file prior to executing the samples.  I also removed .PEM and KEY file for signing amazon URL.  You can create your own files and change the code to use your PEM and KEY file for signing URLs.



Azure IaaS (Infrastructure as a Service)

October 22, 2012

Nashua .NET/Cloud Computing User Group Meeting October 17, 2012

Today’s talk provides an overview of Windows Azure virtual machine for Developers and IT Professionals.  We have covered the key concepts of Virtual Machines and how to get started using windows azure.  Topic includes

  1. Creating Virtual machines (Quick,  Gallery and using custom disk image after sysprep)
  2. Creating and Configuring SQL Server
  3. Working with IaaS and PaaS
  4. Virtual networks
  5. Creating web sites and Deploying cloud services

You can watch the complete pre-recorded demo from http://youtu.be/qunUGfB7sgQ

Here are some technology download links and resources:

Windows Azure Free 90-day Trial
Visual Studio 2012 Express
Windows 8
Windows Server 2012
Hyper-V Server 2012
System Center 2012 Suite
Microsoft Virtual Academy


September 20, 2012

Nashua .NET/Cloud Computing talk Sep 19,2012.

Today’s meeting we discussed all about ASP.NETWeb API. Talk includes žIntroduction, žWeb API Routing, žWeb API Pipeline, žDependency Injections and Resolvers, žModel Binding and Media Formats, žSelf Hosting, Security and žDeploying Web API into cloud.

click here to download the ppt
click here to download the source code
video of this presentation coming soon

Windows Azure SDK 1.7 and new features

June 21, 2012

NHDN Cloud Computing talk Jun 20th, 2012.

We discussed All new features from Jun 7th announcement and SDK 1.7.  How to utilize all the cloud services, cloud storage and virtual machine and the web sites.

click here to download the presentation

click here to download the sample code on caching and service bus ( before running the sample replace the value for appsetting keys )

Migrating to cloud architecture discussion and cloud device

May 17, 2012

NHDN Cloud Computing talk May 16,2012.

We discussed Architecture Guidance on how to migrate existing systems.  How to utilize all the cloud services, cloud storage and virtual networks.  We explored all cloud devices application development on Windows Phone, iOS, Android.

click here to download the presentation

Cloud Storage (Azure Blob and Amazon S3)

April 19, 2012

Today @NHDN Cloud Computing User group meeting @ Daniel Webster College (DWC) Nashua, we talked all about the cloud storage.  Talk includes the overview of cloud storage including Azure Blob and Amazon S3.  Blob storage, Azure Drive and S3 using REST and API.

You can download the presentation here

download the sample source here

NHDN Cloud Computing discussion – extreme performance

March 21, 2012

Today’s NHDN Cloud computing UG Lance gave excellent over view of Extreme performance uisng CQRS model.

Abstract: How high volume sites commit so many transactions and serve so many customers.  CQRS Command and Query Responsibility Segregation.  In the simplest form, it is a pattern where the developer has a different model for their writes versus their reads. The effects can be both logical, physical, change business process, scalability indefinitely (by todays standard), and productivity of the individual developer.

You can download the copy of his presentation here

Place: Daniel Webster College (DWC), Eaton Richmond Center (Room #122), 20 University Drive, Nashua, NH 03063.