Presentation is loading. Please wait.

Presentation is loading. Please wait.

Both Dutch and Swedish nationality 20+ years of industry experience Living in Stockholm, Sweden MCSM, MCM, MVP, MCSE, MCSD, MCSA, MCPD, MCITP, MCTS PnP.

Similar presentations


Presentation on theme: "Both Dutch and Swedish nationality 20+ years of industry experience Living in Stockholm, Sweden MCSM, MCM, MVP, MCSE, MCSD, MCSA, MCPD, MCITP, MCTS PnP."— Presentation transcript:

1

2 Both Dutch and Swedish nationality 20+ years of industry experience Living in Stockholm, Sweden MCSM, MCM, MVP, MCSE, MCSD, MCSA, MCPD, MCITP, MCTS PnP Core Team Member erwin.van.hunen@rencore.com @erwinvanhunen se.linkedin.com/in/erwinvanhunen

3 1.SharePoint development is changing rapidly 2.New model requires new mindset 3.Every SharePoint professional should know about Office 365 Developer Patterns & Practices

4

5

6

7 z

8 SharePoint 2007 SharePoint 2010 SharePoint 2013 Sandbox Provider Hosted Add-Ins _api

9

10 Microsoft uses these approaches to build the product ourselves. BUT, many service providers (not just Office365) restrict their usage for the known challenges they impose. No.

11 Well… not really…

12 Sandbox History October 2009 Sandboxed Solutions announced at SPC 2009 “Save Site as Template” uses the sandbox July 2012 Microsoft ships Design Manager, which is based on Sandboxed Solutions New App Model is announced Sandbox deprecated for SharePoint 2013 January 2014 Solutions Gallery is spared (for the time being) January 2015 Microsoft PnP team says, “Stay out of the sandbox!” It seemed like fun in 2010…

13 Sandboxed Solutions The Good Customize SharePoint without a farm solution Declarative Features (lists, libraries, files, client side code) User Code (web parts, InfoPath forms, event receivers, workflow actions) Multi-tenant friendly The Bad and the Ugly Limited server side API Provisioned content is brittle Versioning is a black art No central way to manage, update Scalability Problems While they still work for the time being, it’s best to Avoid all use of Sandboxed Solutions

14 We are indeed gradually moving away from feature framework to alternative patterns…

15 Marketing terminology change done spring 2015, which was only done for marketing messaging purposes.

16 Classic - Full trust solutions ISV solutions Platform level customizations to on-premises Custom service applications Custom WCF services SharePoint customizations, not customer specific customizations Client Side Solutions Server side controls as JavaScript on page layouts and master pages Remote provisioning for elements Embracing un-ghosted model SP App dimension with provider hosted apps to provide new capabilities Customer specific customizations Store apps App catalog based solution Packaged reusable solutions built for specific functionality Not only for market place or store, but also as platform for customer specific customizations SharePoint Add-Ins means all operations which are executed outside of the server

17 Product roadmap is clear though …

18 Remember when feature framework and solutions where introduced…

19 Or when you were told that you’ll have to learn CAML…

20 If you know general web development, you also know SharePoint development… SharePoint add- in Development

21

22 Rewrite your code to app model. There’s actually no 100% automated migration or transformation as such, but you can reuse concepts and patterns

23 Feel free to do that in future as well. It comes down on the business and functional requirements, together with deployment roadmap.

24 Microsoft will make investments mainly on the app model side also for on-premises to better align the development story: write once and use it cross cloud and on-premises Yes.

25 Farm solutions are deployed cross SharePoint farm and they could impact multiple customers… No.

26 Full page Implement complete add-in experiences to satisfy business scenarios Parts Create add-in parts that can interact with the SharePoint experience UI command extensions Add new commands to the ribbon and item menus

27

28 They have multiple virtual teams who are working closely full time with customers on app model topics related on the cloud and also on- premises. Their recommendations are coming from real life customer work. Actually… No

29 aka.ms/OfficeDevPnP aka.ms/OfficeDevPnPYammer aka.ms/OfficeDevPnPMSDN aka.ms/OfficeDevPnPVideos aka.ms/OfficeDevPnPTraining “Sharing is caring”

30

31 Code samples Guidance documentation Monthly community calls Case Studies Themes Site Provisioning Branding Remote processing Embed JavaScript http://aka.ms/OfficeDevPnP

32

33

34 string contentTypeName = "Content Type To Add"; IEnumerable results = web.Context.LoadQuery (ctCol.Where(item => item.Name == contentTypeName)); web.Context.ExecuteQuery(); var contentType = results.FirstOrDefault(); List list = GetListWeGotFromSomeWhere(); //Code to Throw if CT does not exist //Code to do nothing if CT is already in list if (!list.IsPropertyAvailable("ContentTypesEnabled")) { list.Context.Load(list, l => l.ContentTypesEnabled); list.Context.ExecuteQuery(); } list.ContentTypesEnabled = true; list.Update(); list.Context.ExecuteQuery(); list.ContentTypes.AddExistingContentType(contentType); list.Context.ExecuteQuery(); // Set the default content type if (defaultContent) { ContentTypeCollection ctCol = list.ContentTypes; list.Context.Load(ctCol); list.Context.ExecuteQueryRetry(); var ctIds = new List (); foreach (ContentType ct in ctCol) { ctIds.Add(ct.Id); } // remove the folder content type var newOrder = ctIds.Except(ctIds.Where(id => id.StringValue.StartsWith("0x012000"))).OrderBy(x => !x.StringValue.StartsWith(contentType.Id.ToString(), StringComparison.OrdinalIgnoreCase)).ToArray(); list.RootFolder.UniqueContentTypeOrder = newOrder; list.RootFolder.Update(); list.Update(); list.Context.ExecuteQuery(); SetDefaultContentTypeToList(list, contentType); }

35 web.AddContentTypeToListByName( "ListName", "ContentTypeName", defaultContentType: true, searchContentTypeInSiteHierarchy: true );

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50 @OfficeDev StartStart

51


Download ppt "Both Dutch and Swedish nationality 20+ years of industry experience Living in Stockholm, Sweden MCSM, MCM, MVP, MCSE, MCSD, MCSA, MCPD, MCITP, MCTS PnP."

Similar presentations


Ads by Google