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

Slides:



Advertisements
Similar presentations
Microsoft Office SharePoint Portal Server 2007 Introduction to InfoPath Forms Services Daryl L. Rudolph.
Advertisements

Microsoft SharePoint 2010 technology for Developers
A Developer’s Introduction to SharePoint 2013 Apps Ryan McIntyre, MCITP, MCPD National Architect Neudesic Ryan McIntyre, MCITP, MCPD National Architect.
Randy Williams, MOSS MVP Senior Consultant Synergy Corporate Technologies.
Microsoft Patterns and Practices SharePoint Guidance Robert L. Bogue MS MVP, MCSE, MCSA: Security
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
IntroductionThemes and other branding techniques Building response experiences Controls and other UX elements.
Build /16/2017 © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION.
Development models for on-premises Transformation approaches Farm solution considerations.
Microsoft SharePoint 2013 SharePoint 2013 as a Developer Platform
Office 365 Platform Flexible Tools Office Store and App Catalog Discover A marketplace of off-the-shelf solutions to many of the common needs for.
Microsoft ® Official Course Introducing Apps for SharePoint SharePoint Practice Microsoft SharePoint 2013.
Migrating Full-Trust Solutions to the Cloud Scot
Becky Bertram SharePoint MVP
©2012 Microsoft Corporation. All rights reserved..
Site Provisioning Options Web Template Fundamentals Web Templates and App Webs Custom Solutions for Site Provisioning Wrap Up.
SPC220 Web Template FundamentalsCreating Web Templates Using Web Templates Web Templates and App Webs Wrap Up.
Basic SharePoint 2013 App Development start-up for New Developers
©2012 Microsoft Corporation. All rights reserved. Content based on SharePoint 15 Technical Preview and published July Thierry Gasser TSP
WSS 3.0 Architecture and Enhancements Ashvini Shahane Member – Synergetics Research Lab.
Marat Bakirov Readify. 2 3 ServerClient Browser Host Web Server Host SharePoint & Exchange Office APP Client APIs Server APIs.
Create with SharePoint 2010 Jen Dodd Sr. Solutions Consultant
The new way to work together SharePoint Products Cloud Server Free.
Office 365 Platform Flexible Tools Office Store and App Catalog Discover A marketplace of off-the-shelf solutions to many of the common needs.
SharePoint and SharePoint Online: Today and what's next? Presented by Luke Abeling – IT Platforms.
Office 365 Platform Flexible Tools Understand different provisioning options and their advantages and disadvantages…
Basic Developer Knowledge That Every SharePoint Admin Must Have Randy Williams, MVP MOSS Synergy Corporate Technologies
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
SharePoint Online – Developing Solutions for the Cloud Chris Mayo Microsoft Corporation
Microsoft ® Official Course Developing a Publishing Site for Web Content Microsoft SharePoint 2013 SharePoint Practice.
Cloud Roadshow. Advanced SharePoint add-in Development.
SharePoint Online Migration API and Improvements
Welcome to Azure App Services! Amie Seisay
Yaroslav Pentsarskyy Involved in SharePoint since 2003 SharePoint MVP (2009- Present) Blog: sharemuch.com.
UNDERSTANDING YOUR OPTIONS FOR CLIENT-SIDE DEVELOPMENT IN OFFICE 365 Mark Rackley
| Lausanne Become an Office 365 developer in 60 min Valerie Alonso Xavier Bocken.
Back to Basics A Tour of Microsoft SharePoint. Who am I? Kenny Duenke Lead Systems Analyst RGA
Using Azure Active Directory Authentication with your SharePoint Add-Ins for Office 365.
Task Pane App adjacent to the document Content App in the body of the document Mail Inline Pane on an or appointment item.
Office 365: Attack of the Clones! Building reusable site templates with the Office 365 PnP Framework.
1 Intro to the add-in model.
Software services delivering SharePoint, Mobile, and Business Intelligence solutions Understanding and implementing the remote provision pattern in SharePoint.
SharePoint Fest 2013 Chicago What’s New and Exciting (and not so great) in SharePoint Designer 2013 Workflows Ira Fuchs – SharePoint Technical Specialist,
Bob German Principal Architect Future-Proof your SharePoint Customizations: Build 2010 Solutions that become 2013 Apps.
Trimantra Software Solution Offshore Software Development Outsourcing Company Visit :
Apps for the modern enterprise INTRODUCTION TO SHAREPOINT AS A DEVELOPMENT PLATFORM RON COURVILLE.
A Developer’s Introduction to SharePoint 2013 Apps Ryan McIntyre, MCITP, MCPD National
Virtual techdays INDIA │ November 2010 SharePoint 2010 – Your one stop shop for all portal requirements Saranya Sriram │ Developer Evangelist, Microsoft.
SharePoint Online and PowerShell?
Converting SharePoint on- premise Apps to Office 365 Jos Auker-Woor M377.
Joy Rathnayake Senior Architect – Virtusa Pvt. Ltd.
From SharePoint to Office 365 Development
1/10/2018 9:33 PM Cloud Roadshow © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO.
About Bill Bill Baer (ˈbɛər)
SPC Developer 6/25/2018 © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Upgrading from Full Trust Code to Add-in Model and SharePoint Framework Paolo Pialorsi Senior Consultant - PiaSys.com Track: DEV | Level:
How to Perform a Migration Plan?
SharePoint Framework Extensions
Advancing the SharePoint Developer Community (PnP)
SharePoint Online Development Best Practices
SharePoint-Hosted Apps and JavaScript
Transforming SharePoint Farm Solutions to the Add-in Model
02 | Controlling branding in SharePoint using app model
12/27/2018 4:59 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or.
Vesa Juvonen | Senior Program Manager
03 | Site collection and site provisioning with app model
Getting Started with SP2013 Apps
SharePoint 2019 Overview and Use SPFx Extensions
Explore PnP Partner Pack for IT pros, admins and architects
04 | Apps and SharePoint Chris Johnson | SharePoint Guru
Presentation transcript:

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 se.linkedin.com/in/erwinvanhunen

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

z

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

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.

Well… not really…

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…

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

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

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

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

Product roadmap is clear though …

Remember when feature framework and solutions where introduced…

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

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

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

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

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.

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

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

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

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

Code samples Guidance documentation Monthly community calls Case Studies Themes Site Provisioning Branding Remote processing Embed JavaScript

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); }

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

@OfficeDev StartStart