Cloud Business Apps with LightSwitch and SharePoint 2013 – The Pain with iOS and NTLM

Introduction

This article describes building a Cloud Business App with LightSwitch HTML (2013) and SharePoint 2013.
As you know, LightSwitch is a fantastic technology to develop fancy and responsive apps. A lot of articles already describes how to build them.
Integrating in SharePoint 2013 as an app is also already described in many articles, so I won’t write this again.

What is the Problem?

In one of our last projects, the customer wanted an alternative to an InfoPath 2013 Form, which was for entering absence requests. All data must to be stored in a SharePoint list (because of several workflows behind this list, e.g. approval workflow).
To be mentioned here, this was an upgrade project from MOSS 2007 to SharePoint Server 2013.
So, we suggested to build this new application in LightSwitch as a Cloud Business App. So far, so good. Everything looks fine and fancy and everyone was happy.
EVERYONE? NO!
A lot of employees “unfortunately” wants to use iPhones and iPads to request the next vacation. And that was the problem: Safari on iOS (no matter which version) does not really support SharePoint Claims Authentication (based on NTLM)! The strange thing was, sometimes it works, sometimes it took about 2-3 (!) minutes to open the LightSwitch site and sometimes (mostly) nothing happens. :-(
Changing the authentication to FBA was also not an option.
So, what to do? Most of the iOS users don’t want to install another browser (like Mercury or Chrome). Another thing is, you cannot set another browser to default in iOS, so there will be problems with opening the LS site via a link inside an email. (E.g. a reminder mail from SharePoint workflow.)

Solution

After a lot of research we decided to do following:
We re-built the Cloud Business App as a simple LightSwitch HTML application. Then we attached the SharePoint list as a data source and re-created all forms. With one imported change: we couldn’t use the person viewer- and person picker-cotrol anymore.
Instead, we uses select2 control (I already wrote something about it: here.)
Now, we deployed our new LS application and set authentication method to BASIC. (Of course, this site uses SSL (!)).

Done.

Now, really EVERYONE was happy!
In the next article, I will describe the challenge, how to switch the language in a LightSwitch HTML client in runtime, which was another requirement in this project.

That’s all for now, folks!

Comments

  1. Hi excellent blog! Does running a blog such as this take a lot of
    work? I have no expertise in programming however I had been hoping to start my own blog soon. Anyway, should you
    have any ideas or tips for new blog owners please share. I know
    this is off subject but I simply had to ask.
    Cheers!

Trackbacks

  1. […] back again and as I promised in my last post, I will show you, how we can change the language in our localized LightSwitch HTML 2013 […]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: