Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
SPSDenver - Wrapping Your Head Around the SharePoint Beast
1. Wrapping Your Head Around the
SharePoint Beast
Mark Rackley – Solutions Architect /
SharePoint Practice Lead / Developer
Email: mrackley@juniper-strategy.com
Blog: http://www.sharepointhillbilly.com
Twitter: http://www.twitter.com/mrackley
3. Session Outline
• Why SharePoint?
• What is SharePoint?
• SharePoint Overview
• What is SharePoint Development?
• Steps to becoming a SharePoint Developer
• The SharePoint Community
3
6. 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?”
6
8. Why SharePoint?
.NET SharePoint
Data Storage Data Storage
Presentation Presentation
Security Security
Clustering Clustering
API’s API’s
Office Integration Office Integration
Features Features
8 Source: http://www.sharepointcowboy.com
9. 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?
13. 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
16. 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
23. Governance
• What is this thing everyone talks about?
• Get executive buy-in
• Set up committee
– As few IT people as possible, but led by IT
– Make sure decision makers from important departments play key
role
• Document policies
• Determine correct level of control
– Too much will frustrate users
– Too little will render sites unusable
• Enforce Policies
23
25. Information Architecture
• GUIDANCE: MICROSOFT OFFICE
SHAREPOINT SERVER 2007
INFORMATION ARCHITECTURE
– http://www.microsoft.com/industry/healthc
are/technology/hpo/knowledgeworker/mos
s2007informationarchitecture.aspx
Microsoft Office SharePoint 2007 Information Architecture describes
how to plan and design an information architecture and provides step-
by-step instructions showing how to configure Microsoft® Office
SharePoint® Server 2007 with these settings.
25
27. 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.endusersharepoint.com
28. 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
29. 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
30. Path To SharePoint Developer
• Be able to use all the
acronyms appropriately
• Fake everything else
31. Path To SharePoint Developer
• Know the Basics!
– Content Types
– Site Columns
– Lists
– Workflows
– Permissions
– Calculated Columns
– Out of the box Web Parts
32. What IS SharePoint Development?
Gifted .NET Developer != SharePoint Developer
32
34. Development Options
• Out of the box features
– Custom Views
– Web Parts
– Attend some End User Sessions!
34
35. 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
35
36. 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
36
37. Visual Studio Development
• Develop on a farm
– Event Receivers
– Custom Web Parts
– Workflows
– Custom Actions
– Package XML
• Remote development
– Web Services / REST
– Integration with legacy systems / web sites
– Batch processing
37
38. 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
38 • SDK’s etc..
39. Custom Development
• Web Part Development
– Learn File Structure and XML files purpose
39
40. 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:
40
45. 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!
46. Solution Packages
• Contains two things
– All necessary files
– Instructions for handling those files
• What Can be deployed?
– Assemblies
– Any file to SharePoint Root
– Custom Code Access Security Policies
– Web Part definitions and resources
47. Free Tools…
• Custom Development / Deployment
– STSDev
– WSP Builder
• SPServices
– Access SharePoint Web Services using jQuery
– http://spservices.codeplex.com
• Don’t forget to check CodePlex!
48. Free Tools Rock
• Internet Information Services (IIS) 6.0 Resource
Kit Tools
• http://www.microsoft.com/downloads/details.aspx?FamilyID=56fc9
2ee-a71a-4c73-b628-ade629c89499&displaylang=en
• Metabase Explorer to fix port conflicts
• Fiddler – Web Debugging Proxy
• http://www.fiddler2.com/Fiddler2/version.asp
• Performance Tuning, inspect session data, etc
• Application Pool Manager
• http://www.harbar.net/articles/APM.aspx
• IIS Reset usually not necessary, recycle app pools is much quicker
• SQL to CAML Converter
– http://www.spsprofessional.com/sqlcaml.aspx
48
50. A Word (or two) About
Community
Don’t leave home without it!
50
51. To Avoid SharePoint Fail…
51 Image Source: http://theroosterstrikes.files.wordpress.com
52. 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!
52
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