Skip to main content


About me

Hi there, I'm John - a technology nerd, travel enthusiast and amateur photographer (translation: I like taking photos of landscapes and nature but not very good at it yet).

I'm lucky enough to be able to wake up each morning, go to work and be part of a team that helps make people's life easier through the use of technology like Azure, Office 365 and SharePoint. As a business analyst, my role is to understand the needs of a business and it's users in order to help address a business objective or pain point through the use of technology.

When not working, I like to travel (or plan/dream about my next trip if I'm not already travelling) and experience new places and cultures around the world. My travel style at the moment is to try and get the most out of the limited budget and time by travelling as smartly as possible whilst attempting  experience the best each place has to offer.

About this blog

I'm new to the world of blogging, but created this blog as a place for me to write about things that I'm passionate about ... technology and travel.

I want to use this blog to share things I've learnt throughout my journey in life from little gotchas from technologies that I'm currently using or tips and lessons I've learnt from my travels. I hope it helps you in some way or another whether you came here for technology, travel or both.

I also want to use this blog as an opportunity to improve my writing skills, so any feedback and suggestions.

Feel free to contact me if you have any questions or feedback.

The not so small prints:

  • The views and opinions expressed in my posts are my personal views alone and not that of any other organisations that I may be associated with.
  • If you would like to use content from this blog (full blog posts or photos), please contact me to ask for permission first. Alternatively, sharing or excerpts of content can be used if it is clearly attributed to this blog (via a link to

Affiliate, sponsored links or contents

For the most part this blog will be paid for using my own money. However from time to time, I may add an affiliate or sponsored link/content into this blog to help subsidize the cost of running this blog (expenses either related to keeping this blog online and costs associated with putting content together).

However be rest assured that any sponsored or affiliate content/link that I place in this blog are here because I:
  • have personally seen, used or experienced the product/service and/or
  • really like using the product and/or 
  • think it will bring value to people reading this blog
In the interest of transparency I will be clear inside any page or posts that contain links or content that contains perks or benefits to me. These will either be identified beside the link and/or flagged at the beggining or end of the post.

My current affiliate channels are:

  • is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to Amazon offers a small commission on products sold through their affiliate links. Each of your purchases via our Amazon Affiliate link supports our cause at no additional cost to you.

Popular posts from this blog

An intro to conditional validation and formatting in PowerApps (using SharePoint as a data source)

The Problem What if we need to create a form that changes it's behaviour based on the answer entered by the user.

For example, we need to build a leave request form that: Shows the comment field if applying for a sick leave, but hides the comment field if applying for a annual leaveRequires the requestor to write a comment if their sick leave is more than 1 day, but is optional if sick for just 1 day.  The default form interface for custom lists in SharePoint Online can be used for basic scenarios, but doesn't provide an easy way to add business logic described above (unless you want to write some javascript)

In the past InfoPath would have been the tool of choice for many, however this tool is now in maintenance mode and whilst it will still be supported for a wee while there will be no improvements or enhancements to the platform.

The Solution This is where PowerApps come in. PowerApps is now the platform that is recommended by Microsoft as a way for business users to create…

Uploading a file from a SharePoint document library into an Azure Blob Storage with Microsoft Flow (or Logic App)

The Problem One of the things that I've been experimenting with lately is Microsoft Flow. The service allows you to build process automation to facilitate transfer of information from one system to another easily.

One scenario I wanted to try out is to be able to copy/move a file from SharePoint to an Azure Blob Storage. There are a number of reasons that you may want to do this:

Archive files that are no longer neededUpload a copy of a file (usually an image) into a Blob Storage so that images can be hosted in a CDN to optimize page load performance In the past doing something like this would have required some form of custom development e.g. a remote event receiver. However the introduction of Microsoft Flow and Logic Apps has created another alternative that is worth exploring....

Update 30/09/16: If you are looking to put your assets into a CDN to make it load faster, then it's worth checking out the new Preview Release Office 365 Public Content Delivery Network (CDN) capab…

Nintex Workflow | parsing JSON responses from json-only web requests

Update 03/08/16:
Logic Apps has gone GA, and has undergone a major v2 change since this post was written. For the most part, the core actions remain the same but just renamed or work a little differently e.g. http listener (now known as "When an http request is received" + "Received") and conditions (now triggered via the add a condition" button instead of being configured inside the http action.)

It is worth noting that the BizTalk JSON Encoder API app can no longer be found in the marketplace. This is now a native function in Logic Apps. Though, I'll try to refresh this post with the how to do it in the version of Logic Apps that GA'd, I'm not sure when I will have to do it, so if you can't wait, I suggest looking at the xml function can be found here.

Update 07/08/16:
Steps for new Logic App UI that has GA have been added into the solution section below.
The problem
One of the things I have been working on lately in the Nintex Workflow world,…