How to initiate your O365 tenant move to the South African datacentres in 5 quick steps

Yesterday (25 July 2019), Mirosoft announced the availability of Office 365 services in the South African data centres and the big question on everyones lips is “How do I move my data?”. Essentially you have 2 options available to you:

1. Migrate your tenant yourself (at your own cost!).

If your tenant name is important to you and lots of work that is costly is something you avoid, go to option 2.

2.  Let Microsoft migrate the tenant for you (at no cost!)

The following 5 quick steps illustrate how to initiate your Office 365 tenant move to the South African datacentres from within your O365 Admin Portal:

data residency move 001

data residency move 005


SharePoint Saturday Johannesburg slides

It’s that time of year again – SharePoint Saturday 2019 comes to South Africa and I had the privilege of presenting at the Johannesburg event on the  6th April.

\My session was on Kaizala, aptly named “What the Kaizala?” and it was an overview of the new chat platform released globally by Microsoft on the 6th April. Thanks to all the attendees and a big shout out to the organisers!

Here are the slides to my presentation, if you have any questions on the subject, please get in touch 🙂

PowerApps ♥ SharePoint: SharePoint Choice Columns

In my previous post I whinged about PowerApps not supporting Choice columns. Well after much pain and frustration I’ve found that this is, in fact, not true.

PowerApps does support choice columns – the developers however failed to set the default view of the dropdown to the column value but rather the odata type.

Should you need to add SharePoint choice columns  to your PoerApps form, follow these steps:

1. Add the Choice Column
2. Click into the Data Card
3. Unlock the properties


4. Set Value1 property to Value.


PowerApps ♥ SharePoint?

In 2015 Microsoft launched PowerApps and it was moved from preview to public availability at the end of October 2016. To organisations, developers and consultants alike the product promised so much….

This post is going to focus specifically on PowerApps for SharePoint and what’s not supported by the framework at this stage.

Let me start with the statement in the Release AnnouncementPowerApps ♥ SharePoint: fully integrated with SharePoint lists“. “Fully integrated” would lead us to assume that we can take existing custom SharePoint lists and easily create mobile forms wrapped in a PowerApp. Wrong.

During my short exposure to PowerApps I’ve found he following key features are missing from the SharePoint integration (I will no doubt add to this list as I dig deeper):

  1. Choice Columns – not supported *Update on this here
  2. List Attachments – not supported
  3. Managed Metadata Columns – not supported
  4. SharePoint Calendar – not supported

What’s worse is I have yet to be able to find a software boundaries and limitations or a roadmap online suggesting a lack of transaparancy on the part of Microsoft (unless anyone else can provide a link?).

Please comment and share any other limitations and/or frustrations you’ve had in your PowerApps travels so far.

“Change the look” returns blank page in SP 2013

I recently stumbled across this bug in SharePoint Online, and would assume that the same bug persists on prem as well.

After having created a new site based on a site template I had created and saved through the UI.

The site itself is a very straight forward one: it is based on the OOTB SharePoint team site, with a few content types associated to the document library, the customer’s logo and changing the theme to the OOTB “Green” theme.

After creating a new site using the new site template I had saved I noticed that for some reason the theme had not changed to the green theme (as per the template). No problem, I simply browsed to the “Change the look” link in the Suite Bar and, to my horror the page was completely blank. I was initially convinced it might be Edge playing up, so went to old school IE – same result, I also tried Chrome and finally Firefox all returned the same blank page.

After some digging around I noticed that the Theme URL field in the Composed Looks gallery was referring to the site name of the original site. I edited the URL of the theme in question (I only needed the one) and checked the “change the look” page again and, presto! it was displaying as expected.

So in short to fix the issue follow these steps;

  1. Go to Site Setting > Web Designer Galleries > Composed Looks
  2. Click Edit this list
  3. Update the Theme URL field from /sites/(original site)_catalogs/theme…. to /sites/(new site)_catalogs/theme….
  4. Save

Nintex workflow won’t publish, returns Context has expired error

We struggled with this error for days at a client:

While trying to publish a Nintex workflow after some time the error “soap: ServerServerwas unable to process request. — > The context has expired and can no longer be used. (Exception from HRESULT: 0x80090317)0x80090317″

Context has expired

After some thorough investigation and reading up I found this had to do with the user token timing out. The default period being 2 minutes.

To resolve the issue, we go back to the old school STSADM command line tool and run the following to increase the time-out:

stsadm -o setproperty -propertyname token -timeout -propertyvalue <A valid time interval, in minutes>

After increasing the time-out value  (I increased it to 4 minutes) the workflow was able to publish successfully.

Since performed the above I did some more researching and came across the following PowerShell script that does the same (although I haven’t test it myself)

if((Get-PSSnapin -Name Microsoft.SharePoint.Powershell -ErrorAction SilentlyContinue) -eq $null)
 Add-PSSnapin Microsoft.SharePoint.Powershell
$cs = [Microsoft.SharePoint.Administration.SPWebService]::ContentService
 $cs.TokenTimeout = (New-TimeSpan -minutes 2)




Can SharePoint be leveraged as a Digital Asset Library?

With SharePoint being a content management solution and therefor an effective platform for the delivery of communications  (internally), a lot of my client engagements have heavily involved internal comms or marketing departments. And, one of the feature requests that has popped up on more than one occasion (and just so happens has just done so again) is leveraging SharePoint for digital asset management (video and image libraries). I’ve had many discussions with colleagues as to whether or not SharePoint is a good fit for this requirement. Here are my thoughts;

Unless you are leveraging RBS (Remote Blob storage solutions such as StorSimple / Metalogix StoragePoint / AvePoint Storage Manager then the answer s simple, no, SharePoint is not a good fit for the following reasons;

  • Item limitation (SP2010/SP2013)
    SharePoint’s item limit of 2GB restricts the ability to store large HD or UHD video file formats
  • Expensive storage
    SQL is not cheap to own and not cheap to maintain, Storing large video files in SQL is impractical and expensive.
  • Site Collection size limitations (SP2010/SP2013)
    A 200GB content database may sound adequate when working with standard office documents, but when most of your video files are 1GB+ in size this fills up within minutes.
With the introduction of the O365 Video Portal, yes.
  • Item Limits
    As of today, yes it IS the same (2GB), but this is about to change to a 10GB/item limit see
  • Cheap Storage
  • Site Collection size limits
    As of today 1TB which will increase dramatically going forward (as we have witnessed with SPO over the last few years)
Note in bandwidth starved countries, O365 may not be an option due to the high cost and low availability of bandwidth, so when architecting your digital asset management solution. always keep this constraint in mind.

Displaying tasks assigned to groups in which the current user belongs to using a CQWP

A little flaw in the tasks view web part I’ve noticed is that the My Tasks view does not extend to tasks assigned to a group I may belong to. To get around this I used a CQWP and injected some CAML to include AssignedGroups.

To achieve this follow these easy steps:

  1. Open your page in edit mode
  2. Add a new Content Query Web Part
  3. Configure the web part to return task items and whether it should be from the entire site collection or only a specific list.
  4. Click apply and OK
  5. Now export the web part and save the .webpart file locally
  6. Edit the .webpart file in notepad and paste the following code (found below) within the <properties>  </properties> tags:
  7. Save the .webpart file
  8. Navigate to Site Settings > Web parts (found within the Web designer Galleries section)
  9. Use the ribbon to upload a new file.
    1. Navigate to your .webpart file and upload to the gallery
  10. The updated web part will now be available for use.

<property name=”QueryOverride” type=”string”>
<Membership Type=”CurrentUserGroups”><FieldRef Name=”AssignedTo” /></Membership>
<Eq><FieldRef Name=”AssignedTo” LookupId=”TRUE”/><Value Type=”Integer”><UserID/></Value></Eq>
<Neq><FieldRef Name=”Status” /><Value Type=’Choice’>Completed</Value></Neq>