Presentation is loading. Please wait.

Presentation is loading. Please wait.

Taking the Red Pill: Working with and Entering the World of SharePoint Development John Huschka Portals and Collaboration Lead, Coldwater Software September.

Similar presentations


Presentation on theme: "Taking the Red Pill: Working with and Entering the World of SharePoint Development John Huschka Portals and Collaboration Lead, Coldwater Software September."— Presentation transcript:

1 Taking the Red Pill: Working with and Entering the World of SharePoint Development John Huschka Portals and Collaboration Lead, Coldwater Software September 24, 2014

2 About Coldwater Software Founded in 2009 by Microsoft Alumni. Focus on SharePoint collaboration, Office 365, infrastructure, and custom solution delivery. Microsoft Gold Partner in Collaboration. Clients in the mining, travel, healthcare, non-profit, financial, and pharmaceutical industries. Creator of corporate communications software for SharePoint. Based in Greenwood Village, Colorado. September 24, 2014, 2 www.coldwatersoftware.comLinkedin.com/company/coldwater-software Twitter.com/coldwatersoftFacebook.com/coldwatersoftware

3 Two Worlds September 24, 2014, 3 Configuration, “No code”Development

4 Bringing Both Worlds Together September 24, 2014, 4 Configuration + Development = SharePoint

5 The Configuration World Content Types Lists Libraries List Templates Columns Workflows Themes Site collections Webs Web parts Views Audiences Features September 24, 2014, 5

6 The SharePoint World Content Types Lists Libraries List Templates Columns Workflows XML, XSLT CAML Solutions Features XAML InfoPath Farm Web application Site collections Webs Web parts Views Audiences Features Sandbox Apps/App parts CSS HTML JavaScript, JQuery C#, VB.Net Visual Studio PowerShell September 24, 2014, 6

7 Susan: Great Solution, but Now What? September 24, 2014, 7 How do I make changes and test them without impacting users? The Cleveland Division wants to use it. How do I give it to them? The VP thinks it could be the foundation of a marketable product, but how can I add the web features she wants? How do I recreate it in another environment and know that it is complete and correct? What can I do to make sure that it will work with future versions of SharePoint? …And I’ve heard that Cleveland is considering Office 365… How do I make it an installable product?

8 Declarative versus Imperative September 24, 2014, 8 While (Question.Status != “Answered”){ Place Telephone.Handset Into Body.Arms(Left).Hand; Telephone.Dial(IKEA.TelephoneNumber); Post Question => IKEAFriendlyRepresentative; Receive Question.Answer <= IKEAFriendlyRepresentative; } What How versus

9 Defining SharePoint Objects All objects that comprise a SharePoint application can be created declaratively and/or imperatively. September 24, 2014, 9 DeclarativeImperative C ollaborative A pplication M arkup L anguage.NET Languages: C#, VB.Net + SharePoint object model JavaScript + SharePoint object model SharePoint PowerShell + SharePoint object model

10 Demo: Creating SharePoint Objects September 24, 2014, 10

11 Answering Susan’s Questions We create source code for her solution, providing a complete and accurate solution definition. That source code can be either declarative (CAML) or imperative (C#, VB.Net, JavaScript). September 24, 2014, 11 How do I recreate it in another environment and know that it is complete and correct?

12 Packaging Custom SharePoint Functionality All of these solutions run as “part of” SharePoint. September 24, 2014, 12 Farm Solutions Sandboxed Solution Site Collection Web App Solutions Web Application A solution file contains the objects and functionality to be installed within SharePoint The functionality is seen within SharePoint as features.

13 Demo: SharePoint Solutions and Features September 24, 2014, 13

14 Answering Susan’s Questions To distribute the solution elsewhere, we create SharePoint installable packages. Once we have it packaged, we can give it to a client to install. We can also create development and test installations in which we can create and test changes to the solution. September 24, 2014, 14 How do I recreate it in another environment and know that it is complete and correct? How do I make it an installable product? How do I make changes and test them without impacting users?

15 Looking Ahead to SharePoint in the Cloud Sandboxed solutions are deprecated in SharePoint 2013/Office 365. Farm and web application solutions cannot be used in Office 365. September 24, 2014, 15 Farm Solutions Sandboxed Solution Site Collection Web Application Solutions Web Application X X SharePoint Apps Apps run “along side” SharePoint

16 Accessing SharePoint September 24, 2014, 16 ThenNow Yes, I’ll have the pepperoni with olives…

17 The New SharePoint APIs September 24, 2014, 17 Web Server Client Computer Web Browser Client Side Object Model (CSOM) REST Client Side Object Model (CSOM) REST JavaScript Object Model (JSOM) REST

18 Demo: SharePoint JavaScript Object Model and REST September 24, 2014, 18

19 Answering Susan’s Questions SP 2013 and Office 365 provide a new application model that allows us to powerfully combine all the latest features of the Cloud, SharePoint, and the web. September 24, 2014, 19 What can I do to make sure that it will work with future versions of SharePoint? The VP thinks it could be the foundation of a marketable product, but how can I add the web features she wants? …And I’ve heard that Cleveland is considering Office 365… The Cleveland Division wants to use it. How do I give it to them?

20 Helping Susan Succeed Expanding/refining a solution from configuration/”no code” to deployable, code-based components is itself a project. To be successful, Susan and her associates need to understand that project’s dynamics. September 24, 2014, 20

21 From Solution to Product: Taxonomy and Design Taxonomy ≈ structure and organization. Almost every solution needs taxonomy and/or design refinement. For example: Hard-coding: “Not everyone we want to enter into the solution lives in Ohio.” Data relationships: “We don’t want to re-key their address every time they order something.” Security: “But we don’t want people in fulfillment to be able to see the customer’s account balance.” Data definitions: Lookup values in a list rather than hard-code as choice column. Data editing: “We need the customer’s area code as part of their phone number.” User interface: Branding, eliminating needless navigations. September 24, 2014, 21

22 From Solution to Product: Time and Effort SharePoint makes an initial solution relatively easy to create. In contrast, the development toolset is complex (but rapidly improving). At the same time, revolutions are occurring: Rapid move to the cloud (Office 365). SharePoint 2013/Office 365 moving to a web-centric application development model. These factors can make the development effort seem out-of-proportion to the original solution creation effort. September 24, 2014, 22

23 Susan Has One More Question September 24, 2014, 23 How can I learn SharePoint development technology?

24 How to Get Started 1.Learn SharePoint, independent of coding (“no code”). 2.Develop a basic understanding of core technology, independent of SharePoint: Web servers, web sites, HTML, JavaScript,.NET. Channel9.msdn.com: “HTML5 & CSS3 Fundamentals: Development for Absolute Beginners” Channel9.msdn.com: “JavaScript Fundamentals: Development for Absolute Beginners” Channel9.msdn.com: “C#/Visual Basic Fundamentals for Absolute Beginners” 3.Learn SharePoint Development: “Beginning SharePoint Development” by Fox, Johnson, Follette. September 24, 2014, 24

25 Your Questions and Comments September 24, 2014, 25

26 References C# Fundamentals for Absolute Beginners: http://channel9.msdn.com/series/C-Fundamentals-for-Absolute-Beginners http://channel9.msdn.com/series/C-Fundamentals-for-Absolute-Beginners JavaScript Fundamentals: Development for Absolute Beginners: http://channel9.msdn.com/Series/Javascript-Fundamentals-Development-for-Absolute-Beginners http://channel9.msdn.com/Series/Javascript-Fundamentals-Development-for-Absolute-Beginners Visual Basic Fundamentals for Absolute Beginners: http://channel9.msdn.com/Series/Visual-Basic-Fundamentals-for-Absolute-Beginners http://channel9.msdn.com/Series/Visual-Basic-Fundamentals-for-Absolute-Beginners HTML5 & CSS3 Fundamentals: Development for Absolute Beginners: http://channel9.msdn.com/Series/HTML5-CSS3-Fundamentals-Development-for-Absolute- Beginners http://channel9.msdn.com/Series/HTML5-CSS3-Fundamentals-Development-for-Absolute- Beginners Beginning SharePoint 2013 Development: http://www.wiley.com/WileyCDA/WileyTitle/productCd-1118495845.html http://www.wiley.com/WileyCDA/WileyTitle/productCd-1118495845.html SharePoint 2013 on Microsoft Development Network (MSDN): http://msdn.microsoft.com/en-us/library/office/jj162979(v=office.15).aspx http://msdn.microsoft.com/en-us/library/office/jj162979(v=office.15).aspx September 24, 2014, 26


Download ppt "Taking the Red Pill: Working with and Entering the World of SharePoint Development John Huschka Portals and Collaboration Lead, Coldwater Software September."

Similar presentations


Ads by Google