0
Custom Development for
SharePoint
What are My Options Now?
Talbott Crowell
SharePoint Saturday Rhode Island
November 9th, ...
About Me
• http://about.me/talbott
• Solutions Architect at ThirdM
• A Founder of SharePoint Saturday Boston
• Microsoft M...
About this Talk
• For Developers
• Who want to build Custom Solutions on SharePoint
• For Architects
• Who want to underst...
App Development History
• SharePoint 2003 – Web Parts
• SharePoint 2007 – Farm Solutions & SPD
• WSP (A CAB file with depl...
What are My Options Today
• For SharePoint 2007

and SharePoint 2010

• OOTB Configuration
• CSS, JavaScript, Web Parts
• ...
What are My Options Today
• For

SharePoint 2013

• OOTB Configuration
• CSS, JavaScript, Web Parts
• SharePoint Designer ...
What are My Options Today
• For

Office 365 (aka SharePoint Online)

• OOTB Configuration
• CSS, JavaScript, Web Parts

• ...
Factors in Choosing
• Size of Development Team
• Just you or a group of people?
• Skillset
• Leverage existing skills: Jav...
Choose the right API set in SharePoint 2013

http://bit.ly/sp2013api
Is the SharePoint Server API Dead?
Server Object Model
• The largest set of APIs is in the server object model of

managed classes
• Workflow, Alerts, Web Pa...
Client Object Models
• Microsoft Options
• .NET client object model
• Silverlight Client Object Model
• SilverlightWebPart...
REST/OData endpoints
• For non-JavaScript clients
• C#, Java, etc…
• CRUD Operations on SharePoint lists
• Target the clie...
Deprecated API sets
Two API sets are still supported in the SharePoint 2013
framework for backward compatibility, but we r...
SPServices
• Compatible with SharePoint 2007, 2010, 2013
• Based on asmx web services
• Created and maintained by Marc And...
Apps?
Apps for SharePoint Hosting Options
• Provider Hosted Apps
• SharePoint 2013 on-premise
or Office 365
• Unlimited scaling
...
What is a Provider Hosted App
• SharePoint 2013 Compatible Application
• Hosted outside of SharePoint
• Azure
• Amazon Web...
Provider Hosted Apps
Office 365 Data Center
or On-Premise SharePoint 2013 Farm

Application Runtime and Backend
(Can be an...
SharePoint App Development
System Requirements
• Visual Studio 2012
• On Premise Development Environment
• http://bit.ly/s...
Developing Apps?
Development Environment Decisions
• Office 365 or On-Premise?
• If Office 365, Visual Studio 2012
• If On...
Development Environment Options
• CloudShare
• http://cloudshare.com/
• Windows Azure
• if you have MSDN
• Stand up a Serv...
How much RAM do you need?
• dfs

http://bit.ly/6gbsp2013
Azure Demo by Peter Barrera
Session Review
• Many choices in customization
• OOTB, SharePoint Designer, C#, jQuery, Sandbox Solutions, Full
Trust Farm...
Resources
• My Blog for Slides, Questions, and Follow up information
• http://bit.ly/tcrowell
• Pluralsight Videos by Andr...
More Resources
• Jeremy Thake’s SharePoint Apps Playbook Series
• http://bit.ly/appsplaybook
• Choose the Right API Set in...
Custom SharePoint Development in
SharePoint – What are My Options Now?
Presented by Talbott Crowell
@talbott

Thank You
Qu...
Thanks to our sponsors!
And you!
Custom Development for SharePoint
Upcoming SlideShare
Loading in...5
×

Custom Development for SharePoint

2,474

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,474
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
84
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Custom Development for SharePoint"

  1. 1. Custom Development for SharePoint What are My Options Now? Talbott Crowell SharePoint Saturday Rhode Island November 9th, 2013
  2. 2. About Me • http://about.me/talbott • Solutions Architect at ThirdM • A Founder of SharePoint Saturday Boston • Microsoft MVP • Blogger and Author • @talbott
  3. 3. About this Talk • For Developers • Who want to build Custom Solutions on SharePoint • For Architects • Who want to understand options and architecture considerations of the different options for building applications on SharePoint • For Anyone • Who wants to learn more about SharePoint 2013 and previous versions and what is possible for customization of this great platform
  4. 4. App Development History • SharePoint 2003 – Web Parts • SharePoint 2007 – Farm Solutions & SPD • WSP (A CAB file with deployment assets and instructions) which may include: • Server Code (.NET Assemblies for GAC or BIN) • Client Code (JavaScript Files, CSS, HTML) • ASP.NET (ASPX, ASCX, Master Pages), Images, Site templates, List definitions, Content Types (CAML), Layouts, various other types of content • SPD (SharePoint Designer) • Create custom solutions with Workflows, JavaScript, HTML, jQuery, Master Pages, Layouts stored in Content Database • SharePoint 2010 • Sandbox Solutions • SharePoint 2013 • Apps for SharePoint
  5. 5. What are My Options Today • For SharePoint 2007 and SharePoint 2010 • OOTB Configuration • CSS, JavaScript, Web Parts • SharePoint Designer (with designer view) • Master Pages, Page Layouts, Power Editing • Visual Studio WSP • SharePoint Solutions • Can contain: CAML declarative XML • Compiled .NET Code (.NET Assemblies) • Features (Scoped at Farm, Web Application, Site Collection, or Site) • For SharePoint 2010 only • Sandbox Solutions • WSP with Compiled .NET Code and CAML declarative XML
  6. 6. What are My Options Today • For SharePoint 2013 • OOTB Configuration • CSS, JavaScript, Web Parts • SharePoint Designer (without designer view) • Master Pages, Page Layouts, Power Editing • Visual Studio WSP • SharePoint Solutions • Can contain: CAML declarative XML • Compiled .NET Code (.NET Assemblies) • Features (Scoped at Farm, Web Application, Site Collection, or Site) • Sandbox Solutions • WSP without Compiled .NET Code • (although .NET Code is still supported for backward compatibility) • Can contain only CAML declarative XML • Apps for SharePoint
  7. 7. What are My Options Today • For Office 365 (aka SharePoint Online) • OOTB Configuration • CSS, JavaScript, Web Parts • SharePoint Designer (without designer view) • Master Pages, Page Layouts, Power Editing • Sandbox Solutions • WSP without Compiled .NET Code • Can contain only CAML declarative XML • Apps for SharePoint
  8. 8. Factors in Choosing • Size of Development Team • Just you or a group of people? • Skillset • Leverage existing skills: JavaScript, C#, etc… • Development Environment • Depending on what you choose, the cost for development workstations can vary immensely • Requirements • Of course this should be #1, what are you trying to accomplish? • This can be the most important factor on choosing between the many different API’s and customization options • Maintainability/Upgradeability
  9. 9. Choose the right API set in SharePoint 2013 http://bit.ly/sp2013api
  10. 10. Is the SharePoint Server API Dead?
  11. 11. Server Object Model • The largest set of APIs is in the server object model of managed classes • Workflow, Alerts, Web Parts, Search, BCS • Many more classes are added in SharePoint 2013 for • Enterprise Content Management (ECM) • User profiles • Taxonomy • Advanced search
  12. 12. Client Object Models • Microsoft Options • .NET client object model • Silverlight Client Object Model • SilverlightWebPart class • Mobile object model • REST/OData endpoints • WCF Data Services Framework • http://bit.ly/sp2013api • SPServices
  13. 13. REST/OData endpoints • For non-JavaScript clients • C#, Java, etc… • CRUD Operations on SharePoint lists • Target the client.svc web service • Accepts a RESTful HTTP Request • Responds with either Atom or JSON • Example: • http://server/site/_api/web/lists(‘guid’)/items?$filter=City eq ‘Nashua’
  14. 14. Deprecated API sets Two API sets are still supported in the SharePoint 2013 framework for backward compatibility, but we recommend that you not use them for new projects 1. ASP.NET (asmx) web services 2. Direct Remote Procedure Calls (RPC) calls to the owssvr.dll file
  15. 15. SPServices • Compatible with SharePoint 2007, 2010, 2013 • Based on asmx web services • Created and maintained by Marc Anderson • Great client side JavaScript library • http://spservices.codeplex.com/
  16. 16. Apps?
  17. 17. Apps for SharePoint Hosting Options • Provider Hosted Apps • SharePoint 2013 on-premise or Office 365 • Unlimited scaling • Autohosted Apps • Typically Azure Web Sites written in .NET • Runs only in Office 365 (no on-premise option) • Uses the consumers Office 365 Azure resources • SharePoint Hosted Apps • Client side only (JavaScript, jQuery, HTML, CS S) • Uses CSOM to manipulate SharePoint object • http://bit.ly/spapphosting
  18. 18. What is a Provider Hosted App • SharePoint 2013 Compatible Application • Hosted outside of SharePoint • Azure • Amazon Web Services (AWS) • Rackspace • Your Datacenter • An on-premise server in your customer’s Datacenter (you provide the Application, Hardware, and/or VM) • Written in any language on any platform • Java, F#, Ruby, Linux, Unix
  19. 19. Provider Hosted Apps Office 365 Data Center or On-Premise SharePoint 2013 Farm Application Runtime and Backend (Can be anywhere: On-Premise or Cloud) Provider Hosted app SharePoint 2013 Provider Service Provider Data Customer Provider
  20. 20. SharePoint App Development System Requirements • Visual Studio 2012 • On Premise Development Environment • http://bit.ly/spappdevenv • Office Developer Tools for Visual Studio 2012 • http://bit.ly/spapptools
  21. 21. Developing Apps? Development Environment Decisions • Office 365 or On-Premise? • If Office 365, Visual Studio 2012 • If On-Premise then build your SharePoint 2013 Dev Server • Windows Server 2012 or Windows Server 2008 R2 SP1 • http://msdn.microsoft.com/en-us/library/fp161179.aspx • http://msdn.microsoft.com/en-us/library/fp179923.aspx • Andrew Connell’s Critical Path Training • SharePoint 2013 Setup Guide for Developers • http://bit.ly/cp2013setup
  22. 22. Development Environment Options • CloudShare • http://cloudshare.com/ • Windows Azure • if you have MSDN • Stand up a Server with HyperV • MSDN licenses • Buy a powerful workstation or laptop with adequate RAM, etc.. • If you are doing OOTB • just a Browser • If you are doing SharePoint Designer • No need for powerful workstation
  23. 23. How much RAM do you need? • dfs http://bit.ly/6gbsp2013
  24. 24. Azure Demo by Peter Barrera
  25. 25. Session Review • Many choices in customization • OOTB, SharePoint Designer, C#, jQuery, Sandbox Solutions, Full Trust Farm Solutions, Apps for SharePoint • Factors on Choosing • Requirements, Maintainability, Upgradability, Development Team Skillset, Budget, etc… • Where to Go to Learn more…
  26. 26. Resources • My Blog for Slides, Questions, and Follow up information • http://bit.ly/tcrowell • Pluralsight Videos by Andrew Connell • Over 12 hours of Video • http://bit.ly/acplural • Microsoft MSDN Documentation on Apps for SharePoint • http://bit.ly/spappmsdn • CloudShare for developer and test hosting • http://www.cloudshare.com/
  27. 27. More Resources • Jeremy Thake’s SharePoint Apps Playbook Series • http://bit.ly/appsplaybook • Choose the Right API Set in SharePoint 2013 • http://bit.ly/sp2013api • SPServices for SharePoint 2007, 2010, and 2013 • http://spservices.codeplex.com/ • CloudShare • http://cloudshare.com/ • SharePoint 2016 Dev with only 6 GB of RAM • http://bit.ly/6gbsp2013
  28. 28. Custom SharePoint Development in SharePoint – What are My Options Now? Presented by Talbott Crowell @talbott Thank You Questions?
  29. 29. Thanks to our sponsors! And you!
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×