2/15/2012 - Wrapping Your Head Around the SharePoint Beast
Wrapping Your Head Around the
SharePoint Beast
Mark Rackley – Solutions Architect /
SharePoint Practice Lead / Developer
Email: mrackley@gmail.com
Blog: http://www.sharepointhillbilly.com
Twitter: @mrackley
Session Outline
• Why SharePoint?
• What is SharePoint?
• SharePoint Overview
• What is SharePoint Development?
• Steps to becoming a SharePoint Developer
• The SharePoint Community
3
5 Stages of Learning SP Dev
•Denial – “They aren’t really going to make me learn
this. They’ll forget all about it in the next few months and
move onto something new.”
•Anger – “This is SO stupid! I can’t believe they are making
me learn this! It’s impossible!”
•Bargaining – “Okay.. How about this, I’ll do support 24/7
for the rest of my life, just don’t make me learn this!”
•Depression – “It’s hopeless. I’ll never learn this. I wonder
if McDonald’s is hiring?”
•Acceptance – “Well, it looks like I have no choice… maybe
it won’t be that bad? Hey! At least it will look good on my
resume?”
7
Why SharePoint?
.NET SharePoint
Data Storage Data Storage
Presentation Presentation
Security Security
Clustering Clustering
API’s API’s
Office Integration Office Integration
Features Features
9 Source: http://www.sharepointcowboy.com
What IS SharePoint?
• A File Share?
• Content Management System?
• Workflow Engine?
• Collaboration Portal?
• A silver bullet for all your business
processes?
• The cure for cancer?
Terminology
(Remember when a Web Application was a Web Application)
Farm
Elevated Privileges Safe Control
CAML
Site Column Feature Declarative Workflow
STSADM
Site Collection Persisted Object Application Page
Content Type Site Definition List Definition
Solution Package
Scope
Content Database List Instance
Event Receiver
Central Administration
Publishing Page ONET
Web Application
Theme
List View Feature Receiver
Field Control Team Site
Client Object Model
Server Farms
• A collection of SharePoint role Server Farm
servers and a SQL database Web Front
server Ends
• Servers can perform one or more
functions (web front end, search,
application, etc.)
• Farm-level features are managed Application
via Central Administration
• Custom code can be deployed at
the Farm level and managed
centrally
• Solution Packages allow custom Database
code to be automatically deployed
across the farm
Planning and architecture for
SharePoint Server 2010
http://technet.microsoft.com/
en-us/library/cc261834.aspx
• Technical diagrams
• Planning worksheets
• Video demos
• Planning for sites and
solutions
• Planning for server farms
and environments
• Capacity Planning
21
Path To SharePoint Developer
• Create sites
End User • Work with lists & Document Libraries
• Use basic web parts
• Manage content
• Add users
• Manage simple workflows
http://www.nothingbutsharepoint.com
Path To SharePoint Developer
• Configure SharePoint farm
• Use Central Admin
• STSADM / PowerShell
• Deploy Features
• Add Workflows to Lists
• Configure Search
• Be familiar with all out of the box web parts
• Know 12 Hive structure and what’s in there
Path To SharePoint Developer
• Know how & WHEN to use SharePoint Designer
• Be .NET developer
• Know XSLT, CAML, XML, JavaScript, jQuery, and other
acronyms
• Be familiar with SharePoint Object Model
• Be familiar with SharePoint Web Services
• Be able to debug
• Be able to Package
Path To SharePoint Developer
• Be able to use all the
acronyms appropriately
• Fake everything else
Path To SharePoint Developer
• Know the Basics!
– Content Types
– Site Columns
– Lists
– Workflows
– Permissions
– Calculated Columns
– Out of the box Web Parts
What IS SharePoint Development?
Gifted .NET Developer != SharePoint Developer
30
Development Options
• Out of the box features
– Custom Views
– Web Parts
– Attend some End User Sessions!
32
SharePoint Designer… if you can’t say
anything nice…
SharePoint Designer (SPD)
• The Good
– Don’t have to develop on the server
– SPD Workflows
– Developing Branding
– Data View Web Parts
– Data Views on External data sources
• The Bad
– SPD Workflows
– Un-Ghosting
• The Ugly
– Possible to break a site collection
• Be careful modifying default aspx files
– Migration & Restores
• Disconnect Workflows
33
Development Options
• JavaScript / jQuery
– No deployment necessary
• Put .js files in Document Library (or deploy to file system)
• Reference scripts in CEWP or with ScriptLinks in Custom Actions
– Missing piece of SharePoint Out of the Box?
• Do complicated joins of data for reporting
• Graphical awesomeness with multitude of free libraries
– SPServices
• jQuery library for accessing SharePoint’s Web Services
• Executes as authenticated user
– But be careful with jQuery
• Executed on the Client computer, not the server
• Can cause performance issues
A Dummies Guide to SharePoint and jQuery
http://bit.ly/jQueryForDummies
34
Visual Studio Development
• Develop on a farm
– Event Receivers
– Custom Web Parts
– Workflows
– Custom Actions
– Package XML
• Remote development
– Client Object Model
– Web Services / REST
– Integration with legacy systems / web sites
– Batch processing
35
Cracking open Visual Studio
• Virtual Machines
– Virtual Box or VMWare Player
– Free VHD from Microsoft (time bombed)
• 2007 - http://www.microsoft.com/downloads/details.aspx?familyid=67F93DCB-ADA8-
4DB5-A47B-DF17E14B2C74&displaylang=en
• 2010 - http://www.microsoft.com/downloads/details.aspx?FamilyID=0c51819b-3d40-
435c-a103-a5481fe0a0d2&displaylang=en
– Build your own if possible
• Windows Server 2003 / 2008
• SQL Server 2005 / 2008
• MOSS 2007 / SharePoint 2010(Don’t do basic install!)
• Office
• SharePoint Designer
• Visual Studio
36 • SDK’s etc..
Custom Development
• Web Part Development
– Learn File Structure and XML files purpose
37
Development Tools…
(There’s an App For that)
• Web Part Development cont.
– STSDev from http://codeplex.com
• Creates structure and XML files for you – avoids typos in
XML
• Great build options:
38
Solution Packages
• .WSP file (WSS Solution Package)
• Easily Deploy and Retract Files
• SharePoint manages deploying to multiple
WFEs
• Deployed with STSADM
• #1 Best Practice For Developers!
Free Tools…
• Custom Development / Deployment
– STSDev
– WSP Builder
• SPServices
– Access SharePoint Web Services using jQuery
– http://spservices.codeplex.com
• Fiddler – Web Debugging Proxy
• http://www.fiddler2.com/Fiddler2/version.asp
• Performance Tuning, inspect session data, etc
• Don’t forget to check CodePlex
Tips when asking for help
• Try to find the answer yourself first
– Google it with Bing
– MSDN Forums
– SharePoint Stack Exchange
• Ask on Twitter #SPHelp
• Use the correct terminology
• Don’t abuse the experts (or make
direct eye contact)
• Give the full story with relevant
background
• Don’t tell the person helping you
they are wrong or that their solution
doesn’t work (unless they are of
course)
A Word (or two) About
Community
Don’t leave home without it!
47
To Avoid SharePoint Fail…
48 Image Source: http://theroosterstrikes.files.wordpress.com
You Gotta Drink the Kool-Aid!
• Join the
Community
• Read Blogs
• Read Books
• Setup a Virtual
Machine
• Start a blog
• Attend events
• DON’T BE
AFRAID TO DO
SOMETHING!
49
Image Source: http://www.irvinehousingblog.com
The SharePoint Server has gained a lot of popularity with the release of Microsoft Office SharePoint Server 2007. With the inclusion of document management and enterprise search capabilities, as well as Records Center and Excel Services modules, more and more companies are turning toward SharePoint in search of solutions to their business problems. With this growth comes big opening for business opportunities, but those who don’t have the right training approach stand to lose out on a customer’s or internal business units satisfaction.Some of the SharePoint environment roles are often defined as IT related, and information workers are often overlooked.Lack of training is the number one