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.
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.)
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 (!)).
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!