Post on 11-May-2015
description
F5 TORNADOA WHIRLWIND INTRODUCTION TO
SHAREPOINT DEVELOPMENTPatrick S. Tucker
patrick.tucker@sds-consulting.com
#SPcincy2013 on Twitterwww.sharepointcincy.com
• Open wireless access is available.
• Feel free to Tweet (#SPcincy2013) and blog during the session.
Thanks to our Platinum Sponsors
#SPcincy2013 on Twitterwww.sharepointcincy.com
BIO
Patrick Tucker, Principal ConsultantMCT, MCTS, MCPD, MCITP, MCSD, MCAD, MCDBA
Email: Patrick.tucker@sds-consulting.com or tuckersnet@live.comBlog: www.tuckersnet.comTwitter: @TuckersNet
Developer, Architect, Trainer for over 14 yearsSharePoint since 2005Country when country wasn’t cool
ABOUT SDS
SDS Custom SharePoint SolutionsAgile development and SharePoint coding experience to create an optimal solution for your unique SharePoint application and integration needs.
· Workflow & InfoPath Forms for Business Process Automation
· SharePoint Reports & BI Integration
· Portals & Collaboration
· Content Management
Agile Practices for proven faster delivery, higher quality, & increased business value.
WHO’S THIS FOR?
It’s for you if you’re a …
A .NET developer new to SharePoint?
A developer from another background or language
Non-developer who wants to learn more
Recent lottery winner willing to give some cash to local instructors
Not for you if you’re a ...
Experienced SharePoint developer
IT Pro who thinks development is for the nerds and the birds
Confused attendee who wandered into the wrong class
If you’re a SharePoint 2010 dev looking for new stuff in 2013, sit near the back so you can sneak out easily
.NET AND SHAREPOINTunderstanding how the platform is put together
SHAREPOINT SITS ON TOP OF ASP.NET
SharePoint is a platform that sits on top of ASP.NET
ASP.NET Web Forms, not MVC
SP 2010 is built on .NET 3.5
SP 2013 is built on .NET 4.5
SharePoint brings its own objects to the party and its own way of doing things
So SharePoint developers are different from ASP.NET developers
SHAREPOINT ARCHITECTURE
Farm
Web Applicatio
n 1
Site Collection
1
Host Web App Web
Site
List
Item
Item
Library
File
File
Site Collection
2Web Applicatio
n 2
SHAREPOINT OBJECTS & DATA
Farm (SPFarm) – single configuration database
Web Application (SPWebApplication) – think IIS web site, one or more content databases
Site Collection (SPSite) – top level plus subsites, security boundary, in 1 content database
Site (SPWeb) – sub site, container for lists and libraries (which are not equal to db tables)
SHAREPOINT DEPLOYMENT
starting at the finish line
WRAPPING THINGS UP
Features wrap up things like web parts, timer jobs, etc.
Solutions (.wsp files) are the units of deployment in SharePoint 2010
Apps are a new means of deployment in SharePoint 2013 (.app files)
SharePoint Designer may also be used to deploy changes to pages, lists, libraries and workflows in both 2010 and 2013
FARM SOLUTIONS
These solutions are deployed to the SharePoint farm by an administrator and run with full trust
GAC Deployment
Still possible with SharePoint 2013
SANDBOX SOLUTIONS
Deployed to a solution store by a site owner.
A move toward limited permissions and resources
Provides as subset of classes
Deprecated but still around in SharePoint 2013
CLOUD
Office 365
SharePoint hosted by Microsoft (Azure) or by third party hoster
Not all clouds are the same
Client side code becomes key
HOW TO CREATE FOR SHAREPOINT
so what can we build?
ARTIFACTS
DefinitionsSite, list, content
types, etc.
Visual ComponentsWeb Parts, App
Parts, Controls, etc.
ProcessingWorkflows, event receivers, timer
jobs
External Connections
BCS, External Event Receivers
DEFINITIONS
XML Based Definitions of sites, lists, content types, features, etc.
Deployed to the server via features and solutions
14 Hive and/or 15 Hive, depending on SharePoint version
WEB PARTS
May be created as a web part or visual web part
Added to web part pages in definitions or by users
In SharePoint 2010, may be deployed to the sandbox
PROCESSING
Workflows Two workflow platforms – 2010 and 2013 SharePoint 2013 supports either platform SharePoint Designer is a prime time tool for 2013 workflows
Event Receivers Code that runs in response to a feature or list action Deployed as definition plus code Remote event receivers are available for SharePoint 2013 apps
Timer Jobs Allows scheduling of server side code processes on the farm
PAGES
Master Pages allow UI reuse, introduced with ASP.NET
Application pages
Page Layouts add a visual layer to a content type and provide templates
SharePoint pages may also be created in the “Pages” or “Site Pages” libraries
SHAREPOINT 2013 APPS
MSDN states “Apps for SharePoint are self-contained pieces of functionality that extend the capabilities of a SharePoint website. An app may include SharePoint components such as a lists, workflows, and site pages, but it can also surface a remote web application and remote data in SharePoint.”
SHAREPOINT 2013 APP HOSTING
http://msdn.microsoft.com/en-us/library/fp179930.aspx
Autohosted – think Azure; server and client code OK
Provider-hosted – think your own hosting environment; server and client code OK
SharePoint-hosted – think Office 365, client code only
HOW TO TALK TO SHAREPOINT
languages, apis and tools
TWO SHAREPOINT WORLDS
SP 2010
•.NET Developer
SP 2013
•Web Standards Developer
STANDARDS - 2010
SharePoint 2010 Declarative – CAML, XML, XSLT
Used to build reusable definitions Used to query the data hidden deep in SQL tables
Server Side Programming .NET languages (C#, VB.NET, etc. used to build solutions)
Client Side Programming Client Object Model limited / subset of classes JavaScript, jQuery, JSON, etc.
Services ASMX, WCF, REST
PowerShell
STANDARDS - 2013
SharePoint 2013 Declarative – CAML, XML, XSLT Apps Development – HTML 5, CSS 3, JavaScript Server Side Programming
.NET languages (C#, VB.NET, etc. used to build solutions) Client Side Programming
Rich Client Side Object Model (CSOM) for managed code and JavaScript JavaScript, jQuery, JSON, etc.
Services REST, OData, OAuth (ASMX is deprecated)
PowerShell
APIS
Server Side Object Model Useful for farm solutions or LINQ to Objects or LINQ to SharePoint
Client Side Object Model CSOM (C#, JavaScript) jQuery, JavaScript libraries
Web Services WCF entry point in 2010 – client.svc, listdata.svc (still around if needed) SharePoint 2013 – client.svc entry point extended with REST (_api in
URL) REST and OData
Mobile New API for Windows Phone applications
CHOOSING THE RIGHT API
http://msdn.microsoft.com/en-us/library/jj164060.aspx
FEELING DISORIENTED YET?
So apps or no apps?
To the cloud or the cellar?
Client side or server side?
WHAT TO BUILD SHAREPOINT WITH
tools of the trade
TOOLS
Visual Studio 2010 and 2012 SharePoint 2010 and 2013 templates, including 2013 Apps Visual Studio 2012 Update 2 is most current Need Microsoft Office Developer Tools for Visual Studio 2012
SharePoint Designer SPD 2010 – a graphical designer and workflow editor SPD 2013 – a workflow designer and light admin tool
LightSwitch A “light” development tool to build little or no code applications http://msdn.microsoft.com/en-us/library/vstudio/jj969621.aspx
“Napa” Office 365 Development A web based development tool for SharePoint online apps Can deploy to SharePoint directly with .app files
PROJECTS
SharePoint 2010 / VS 2010 or 2012 SharePoint 2013 / VS 2012
COOL FREE STUFF
Free SharePoint 2013 Sample Pack (lots of code samples) http://code.msdn.microsoft.com/officeapps/Apps-for-SharePoint-sample-
64c80184
Free Office 365 Developer Site http://msdn.microsoft.com/en-us/library/fp179924.aspx
Free SharePoint 2010 Developer Training from Microsoft http://msdn.microsoft.com/en-us/sp2010devtrainingcourse.aspx
Free HTML 5, CSS and JavaScript course from Microsoft https://www.microsoftvirtualacademy.com/training-courses/learn-html5-
with-javascript-css3-jumpstart-training
Free SharePoint 2010 Code Samples http://code.msdn.microsoft.com/office/SharePoint-2010-101-Code-
da251182
•Remember to visit the exhibit hall.
•Get to know your user groups to find out about local activities and events in your area.
•Make sure you stick around for the closing session and turn in your business cards to be eligible for the prize raffles.
#SPcincy2013 on Twitterwww.sharepointcincy.com
#SPcincy2013 on Twitterwww.sharepointcincy.com
Please Support our Sponsors!
THANK YOU!patrick.tucker@sds-consulting.com
tuckersnet@live.comBlog: www.tuckersnet.com
Twitter: @TuckersNet