×
Search results provided by Azure Search - read how I built it in this post.
Max Melcher

4 minute read

There are many business scenarios and solutions that have been built on the SharePoint 2010 platform that are critical to customers. As companies, partners, and solution providers look to move to the SharePoint 2013 platform, these solutions should be reimagined to leverage the new cloud app model and apps for SharePoint. This session will deep dive into the key scenarios and techniques of migrating the most common customization patterns from SharePoint 2010 solutions to apps for SharePoint.

Very first session at SPC 2014 “Migrating Traditional SharePoint Solutions to the App Model” – by Steve Walker, Suman Chakrabarti , Kirk Evans and Richard diZerega – nice setting.

Who is carrying a gigantic, neck breaking laptop? This session is changing your life!

Richard diZerega sets some nice expectations.

The slides will be available afterwards but if you are willing to spend some time, please continue reading my notes.

Overview

What does deprecated mean?

Deprecated means “we are going to turn it off” – creating Apps now means you are settled to create applications that work in the future.

Full trust –> Sandbox –> Apps

This is the standard approach, 50% of the audience started to dev with the App Model – and on of the reason behind is that there are not enough SharePoint Devs (try to hire one…)

20140302_171018052_iOS

Vision: Create higher developer adaption because of usage of web standards.

 

20140302_171152393_iOS

App Model: Past, Present and Future

Reference to read: http://www.andrewconnell.com/blog/sharepoint-hosted-apps-in-sp-2013-as-single-page-apps

Migrations

There is no magic migration button that migrates your code to an App.

Apparently, because this is utterly complex – there is no automatic migration.

Question: We are on SP2010 – is there guidance how to continue development so that you are ready for Apps?

There is not. Suggestion was to abstract not supported calls (like User Profile Service calls) so that you later can switch.

I am on-prem – do I need to leave?

Great question! It points out that many of us are still on SP2010 and there is a lack of guidance how to create maintainable solutions that will work without rewriting the whole stuff again (some good examples: Custom Field Types, Custom Service Applications, Webhandlers, … ) – don’t do this.

20140302_171623025_iOS

Hosting options

 

20140302_175142593_iOS

App Model

 

20140302_180014499_iOS

App lifecycle with focus on authentication

 

Code

As a start, Kirk showed how to get properties of webs and lists over oData – calling the _api stuff (that is known to me already, that’s why I skip this here).

TokenHelper

You tried to use app authorization or ADFS –. then you know this guy and I skip this for brevity.

20140302_182554245_iOS

Timerjob as App

That’s a new one for me – App and Timerjob? How that is working out? Kirk shows the code. Honestly this was so fast I did not catch it, I just a saw Thread.Sleep – need to check this one afterwards (damn you Twitter!). During the session Kirk posted this as my homework.

SSL Certificate vs Azure ACL

During creation of a SharePoint App Project you can now choose to use MVC – that’s is cool. More challenging will be the discussion with the IT department to provide a ssl certificate for an app. I really looking forward to explain the IT guys what they should do, that it does not hurt and much more. Description of setting up things is here.

Permissions

20140302_185926193_iOS

Effective Permissions: Apps + User or App only

Kirk explained that permissions are a tough area – you need a lot time to figure out how things are connected and what permissions you need. And the “App-only permission” flag is making things more interesting. Read more on Kirk’s blog post about that.

20140302_192204788_iOS

Feature Stapling with an App

Richard showed a quick demo where he added an app part on a page that brands his mysite to show that you can use this concept to apply branding.

Client Web Part – or as I say “glorified iFrame”

Quite simple to implement, need to keep that in mind.

Site Provisioning

Richard showed a way to override the “Create new subsite” link to redirect to an app page that renders a form. On that form you can then specify metadata about the subweb (e.g. business impact or create yammer group) – good stuff, many clients requests that. There are different approaches – you can grab the code here or here.

20140302_200145130_iOS

Workflows

20140302_201945699_iOS

There are several activities to get values from a web service. In this example Suman showed how to use the _api endpoint to fetches values and then set values on a list item.

Quotes

Summary

So this was a good, fun and informative start for my first SPC. Saw some code, but nothing spectacular (key concepts were promised and I spotted them). The debates were great, too.

comments powered by Disqus