What IS SharePoint Development?

Preview:

DESCRIPTION

D

Citation preview

What IS SharePoint Development?

SPTechCon Boston 2012Mark Rackley

mark.rackley@summit7systems.com

About Mark Rackley

• Solutions Architect & Developer at Summit 7 Systems• 17+ years software architecture and development experience• Blogger, Writer, Speaker• mark.rackley@summit7systems.com • @mrackley• http://sharepointhillbilly.com

• What’s the big deal?• Define “Development”• Types of SharePoint Development

– What it is– Benefits – Disadvantages– Skills needed

• Demos

Agenda

WHAT’S THE BIG DEAL?

Can’t we all just get along?

• You need to know the best tool for a job– Efficiently design solutions– Avoid unnecessary work

• Make sure you are hiring the right person for the job– Can they do the job?– Will they cause more problems than they will

solve?– Know the right questions to ask

What’s The Big Deal?

DEFINE “DEVELOPMENT”Let’s start at the beginning…

developer  (dɪˈvɛləpə)  — n1.a person or thing that develops something

Define “Developer”

Define “Development”

develop  (dɪˈvɛləp)  — vb  1. to come or bring to a later or more advanced 

or expanded stage; grow or cause to grow gradually

2. to elaborate or work out in detail3. to come or bring into existence; generate or b

e generated

Define “Development”• #1 Mistake SharePoint “developers” make?

– Opening Visual Studio– Development is not necessarily code

TYPES OF SHAREPOINT DEVELOPMENT

There’s more than one?

OUT OF THE BOX (OOB)

So easy, even a manager can do it…

• Performed in SharePoint.• No external tools, little or no code• Create sites, lists, custom views, alerts,

dashboards and simple applications using web parts and web part connections

Out of the Box (OOB)

• Benefits– No code– No external tools– Even your boss could do it– Fewest upgrade issues

• Disadvantages– Will rarely be enough– It’s not idiot proof– Even your boss can do it

Out of the Box (OOB)

• Skills needed– Understanding of the ins and outs of SharePoint– Knowledge of the out of the box web parts

• Bottom Line– Essential to understand for all types of SharePoint

Development– Most under utilized development approach by

traditional developers– Always start here first– Attend some end user sessions

Out of the Box (OOB)

SHAREPOINT DESIGNERMuch better than it used to be…

• Free development tool• Users SharePoint’s Web Services to

communicate with your site• Create SharePoint objects, edit forms,

DataViewWebParts, connections to external lists, essential for developing branding.

SharePoint Designer (SPD)

• Benefits– More options than OOB– More control over look and feel– Remote development!– SPD Workflows

• Disadvantages– Still has limitations– Deployment is messy (or develop in production)– Customizing (unghosting)

SharePoint Designer (SPD)

• Skills needed– OOB Skills– HTML, CSS, XML, XSL, JavaScript

• Bottom Line– Don’t hate, much improved from MOSS– Essential tool for skilled designers, site admins,

and quick tweaks in production.

SharePoint Designer (SPD)

JAVASCRIPT / JQUERYWith great power comes great responsibility…

• Part of that “Client Side Development”• Great for complicated business logic in tightly

controlled environments• Communicate with remote servers using Web

Services• Scripts can be deployed in a solution or placed

in a Document Library and linked in a Content Editor Web Part

JavaScript / jQuery

• Benefits– Can replace the need for Visual Studio for certain

functionality– Does not create “points” like Sandboxed solutions– Improved user experience– It’s the future

• Disadvantages– Can be difficult to maintain and debug– Anyone can do it– Can cause performance issues

JavaScript / jQuery

• Skills needed– OOB Skills– HTML, JavaScript, jQuery, CSS, XML, XSL– Traditional developer skills

• Bottom Line– Amazing, essential skill if used correctly– Becoming more important every day (sometimes

only option in the cloud)– Use it wisely

JavaScript / jQuery

POWERSHELLAdmins are developers in denial…

• Scripting environment, NOT for creating interactive SharePoint solutions

• Configure farm, Deploy solutions, Create SharePoint artifacts

• Tools– PowerShell– PowerShell ISE – PowerShell Plus (Idera)– PowerGUI (Quest)

PowerShell

• Benefits– Essential for deploying solutions and doing admin

work that development sometimes requires– Perfect for “run once” logic that may not make

sense to deploy as a feature• Disadvantages

– Not an option in the cloud– Not a tool for creating “business functionality”

PowerShell

• Skills needed– OOB Skills– PowerShell syntax– SharePoint Object Model

• Bottom Line– Might be able to live without as a developer, but

can save you a lot of time and make you a more efficient developer

PowerShell

VISUAL STUDIO / .NETWhen all else fails, use a bigger stick…

• Create solutions that deploy files to the farm• Sometimes there is no other option• It CAN do most of what the other options can

do… but… – May not be an option in your environment– May take a lot longer to develop– Deployment can add headaches

Visual Studio / .NET

• Create solutions to deploy files to your farm so you aren’t manually copying them

• Create virtually any SharePoint object including content types, site columns, lists, sites, workflows, web parts, event receivers, timer jobs, service applications, etc…

• Remote development using Web Services / Client Object Model

Visual Studio / .NET

• Benefits– Create deployable solutions– When all else fails it can get the job done– Best method for working with large amounts of

data• Disadvantages

– Greater skill required (bigger learning curve)– Must have access to the server to deploy features

(aside from Sandbox solutions)– Can be difficult to debug in production

Visual Studio / .NET

• Skills needed– OOB Skills– C#, .NET, SharePoint Object Model, CAML, LINQ,

XML, HTML• Bottom Line

– Should not always be first choice in development– By far the most powerful development option

Visual Studio / .NET

*Development Option Comparison  OOB SPD JavaScript PowerShell Visual Studio

Create SharePoint Objects Yes Yes Yes Yes Yes

Display information to the user (Dashboards, Reports, Dynamic information) Yes Yes Yes No Yes

Execute code with elevated privileges No No No Yes Yes

Perform complicated business logic No Limited Yes Yes Yes

Event Receivers, Timer Jobs, Service Applications, Custom Search No No No No Yes

Create deployable solutions No No No No Yes

Deploy solutions No No No YesNot in production

Create List Views Yes Yes Yes Yes Yes

Visual enhancements such as animations Limited It depends Yes No Yes

*Most of the time

Learn more at…• All

– Blogs, books, conferences• OOB & SPD

– http://EndUserSharePoint.com • jQuery & JavaScript

– http://jQuery.com – The SharePoint & jQuery Guide http://bit.ly/jQueryAndSP

• PowerShell– Gary Lapointe http://blog.falchionconsulting.com

• .NET– Critical Path Training - http://www.criticalpathtraining.com– MindSharp - http://www.mindsharp.com/

DEMOSI know! About time! Right?

SharePoint Saturday OzarksSept. 8, 2012

http://www.sharepointsaturday.org/ozarks

Chateau On The LakeBranson, MOhttp://www.chateauonthelake.com/

QUESTIONS?I have an answer, let’s see if they match?

Recommended