what is sharepoint development?
DESCRIPTION
DTRANSCRIPT
About Mark Rackley
• Solutions Architect & Developer at Summit 7 Systems• 17+ years software architecture and development experience• Blogger, Writer, Speaker• [email protected] • @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?