Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

2/15/2012 - Wrapping Your Head Around the SharePoint Beast


Published on

Introduction and overview of SharePoint Development

Published in: Technology
  • Be the first to comment

2/15/2012 - Wrapping Your Head Around the SharePoint Beast

  1. 1. Wrapping Your Head Around the SharePoint BeastMark Rackley – Solutions Architect /SharePoint Practice Lead / DeveloperEmail: mrackley@gmail.comBlog: http://www.sharepointhillbilly.comTwitter: @mrackley
  2. 2. My introduction to SharePoint
  3. 3. Session Outline• Why SharePoint?• What is SharePoint?• SharePoint Overview• What is SharePoint Development?• Steps to becoming a SharePoint Developer• The SharePoint Community3
  4. 4. Learning SharePoint
  5. 5. 5 Stages of Learning SP Dev•Denial – “They aren’t really going to make me learnthis. They’ll forget all about it in the next few months andmove onto something new.”•Anger – “This is SO stupid! I can’t believe they are makingme learn this! It’s impossible!”•Bargaining – “Okay.. How about this, I’ll do support 24/7for the rest of my life, just don’t make me learn this!”•Depression – “It’s hopeless. I’ll never learn this. I wonderif McDonald’s is hiring?”•Acceptance – “Well, it looks like I have no choice… maybeit won’t be that bad? Hey! At least it will look good on myresume?”7
  6. 6. Why SharePoint as a development Platform?8
  7. 7. Why SharePoint? .NET SharePoint Data Storage Data Storage Presentation Presentation Security Security Clustering Clustering API’s API’s Office Integration Office Integration Features Features9 Source:
  8. 8. 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?
  9. 9. SharePoint – What it is
  10. 10. SharePoint – The Instructions
  11. 11. Terminology (Remember when a Web Application was a Web Application)Farm Elevated Privileges Safe Control CAML Site Column Feature Declarative Workflow STSADMSite Collection Persisted Object Application Page Content Type Site Definition List Definition Solution Package ScopeContent Database List Instance Event Receiver Central Administration Publishing Page ONET Web Application Theme List View Feature Receiver Field Control Team Site Client Object Model
  12. 12. SharePoint Overview
  13. 13. SharePoint Overview
  14. 14. SharePoint Has a Farm…
  15. 15. 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
  16. 16. SharePoint Overview
  17. 17. SharePoint Overview
  18. 18. SharePoint Overview Source:
  19. 19. Planning and architecture for SharePoint Server 2010 en-us/library/cc261834.aspx • Technical diagrams • Planning worksheets • Video demos • Planning for sites and solutions • Planning for server farms and environments • Capacity Planning21
  20. 20. Logical Architecture Diagram22
  21. 21. 23
  22. 22. Path To SharePoint Developer24
  23. 23. Path To SharePoint Developer • Create sitesEnd User • Work with lists & Document Libraries • Use basic web parts • Manage content • Add users • Manage simple workflows
  24. 24. 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
  25. 25. 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
  26. 26. Path To SharePoint Developer • Be able to use all the acronyms appropriately • Fake everything else
  27. 27. Path To SharePoint Developer• Know the Basics! – Content Types – Site Columns – Lists – Workflows – Permissions – Calculated Columns – Out of the box Web Parts
  28. 28. What IS SharePoint Development? Gifted .NET Developer != SharePoint Developer30
  29. 29. Development Options31
  30. 30. Development Options • Out of the box features – Custom Views – Web Parts – Attend some End User Sessions!32
  31. 31. 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 Workflows33
  32. 32. 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
  33. 33. 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 processing35
  34. 34. Cracking open Visual Studio• Virtual Machines – Virtual Box or VMWare Player – Free VHD from Microsoft (time bombed) • 2007 - 4DB5-A47B-DF17E14B2C74&displaylang=en • 2010 - 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 Studio36 • SDK’s etc..
  35. 35. Custom Development • Web Part Development – Learn File Structure and XML files purpose37
  36. 36. Development Tools… (There’s an App For that) • Web Part Development cont. – STSDev from • Creates structure and XML files for you – avoids typos in XML • Great build options:38
  37. 37. Debugging• Event Logs – Admin Tools->Computer Management-> Event Viewer39
  38. 38. Debugging• SharePoint Logs – C:Program FilesCommon FilesMicrosoft ShareWeb Server Extensions12LOGS – Can write to logs when writing custom code40
  39. 39. Debugging – Visual Studio41
  40. 40. Deployment42
  41. 41. 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!
  42. 42. Free Tools…• Custom Development / Deployment – STSDev – WSP Builder• SPServices – Access SharePoint Web Services using jQuery –• Fiddler – Web Debugging Proxy • • Performance Tuning, inspect session data, etc• Don’t forget to check CodePlex
  43. 43. 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)
  44. 44. The SharePoint Community
  45. 45. A Word (or two) About Community Don’t leave home without it!47
  46. 46. To Avoid SharePoint Fail…48 Image Source:
  47. 47. 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:
  48. 48. Mark Rackley • Email: • Blog: • Twitter: @mrackley50