SharePoint Design & Development


Published on

This recent presentation was given by myself and my colleague Mark at a UW

Published in: Technology, Business
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Scrum most popular.
  • SharePoint Design & Development

    1. 1. SharePoint Design and Development ConsiderationsJonathan Schultz – Enterprise Portals ConsultantMark Lezotte – Director, Online Marketing Services Skyline Technologies, Inc. 10-13-2011
    2. 2. Today’s Agenda• Team Structure• Designing Sites for SharePoint• UI Development in SharePoint• SharePoint Developer Skills• Development Environment• SharePoint Development• Execution Models• Logging and Tracing• Deployment• Resources
    3. 3. Experience with SharePoint• Experience with 2003 and Content Management Server• Enterprise Portals Practice - 2006• Online Marketing Practice - 2006• Public sites on 2007 and 2010 platforms• Portals on 2003, 2007, 2010 platforms• 100’s of intranet projects
    4. 4. Team Structure - Then• Project Manager / SharePoint Analyst – Project Manager / Business Analyst – SharePoint Configuration / Training• SharePoint Systems Engineer / SharePoint Analyst – Install SharePoint – SharePoint Configuration / Training – Site skinning• Software Engineer – Web part development
    5. 5. Team Structure - Now• Project Manager• Creative Designer• SharePoint Systems Engineer• SharePoint Software Engineer• SharePoint Business Analyst• SharePoint UI Developer•
    6. 6. Matrixed Organization
    7. 7. Matrixed Organization - Core Team• Project Manager• SharePoint Systems Engineer• SharePoint Software Engineer• SharePoint Business Analyst• SharePoint UI Developer
    8. 8. Matrixed Organization - SharePoint SoftwareEngineer Skill Set• ASP.NET• CSS/HTML• Database Design• Web Services• Overall Experience – Pair Junior Staff with Senior Staff
    9. 9. Matrixed Organization – Non-core Team• Creative / Graphic / Web Designer – Needs to understand designing for a CMS• UI Development – Know and love working with HTML/CSS/jQuery – Understand and embrace cross-browser testing• Software Engineers – They can write the core business logic – SharePoint Software Engineers complete the plumbing• Project Managers
    10. 10. Intranet Project Team• Project Manager• SharePoint Analyst• Creative Designer• SharePoint Systems Engineer
    11. 11. Extranet/Portal Project Team• Project Manager• SharePoint Analyst• Creative Designer• SharePoint Systems Engineer• SharePoint Software Engineer• Potential Add-ons – SharePoint UI Developer – Software Engineer
    12. 12. Public Website• Project Manager – SharePoint Analyst / Trainer• Creative Designer• SharePoint UI Developer• SharePoint Systems Engineer• Potential Add-ons – SharePoint Software Engineer
    13. 13. Role Development – Object Oriented Approach• Project Manager – Inherit base class of Project Manager – Inherit base class of Web Project Analyst – Inherit base class of SharePoint Analyst• SharePoint Software Engineer – Inherit base class of Software Engineer – Additional skills: SharePoint Software Engineer• SharePoint UI Developer – Inherit base class of web designer – Additional skills: SharePoint data structures
    14. 14. “Purple Squirrels”• People with knowledge across many of the roles• Systems Engineer with Analyst skills• Analyst with UI skills• Project Manager with development skills• These folks are hard to find
    15. 15. Designing Sites for SharePoint• Intranets• Extranets• Public Websites
    16. 16. SharePoint is a CMS• Sites don’t have to be “SharePointy”• Concepts flow from other CMS platforms – DNN – Sitefinity – Etc.• Menu expansion• Flexible/liquid layouts
    17. 17. UI Development – Major Consideration• Content Management – End users want full control – End users want a polished product – End users are usually not web designers – Rich-text-edits are not MS Word• Hybrid Approach – Format as much as you can prior to starting
    18. 18. Master Page Page Layout Web Part Web Part Zone Content Area Web PartCan be set up to be Used to add one to editable or not- many web parts editable by user Reusable Content Content Content Editor Webpart – Other pages, jQuery
    19. 19. Hybrid Approach• Place web parts in the page layout to prevent removal• Reusable Content – Ripple effect – No Update• Leverage lists & content query webparts
    20. 20. jQuery and SPServices• jQuery Plug-in that allows you to makes calls the SharePoint web services and “talk” to SharePoint lists•• Javascript is stored in the Style library
    21. 21. Create the List
    22. 22. Save List as a Template - Optional• Go to List > Tools > List Settings• Save List as a Template
    23. 23. Insert Content Query Web Part
    24. 24. Edit web part and point to List
    25. 25. Choose and XSLT Template
    26. 26. Codeless Forms in SharePoint•• Create list – Respects required fields – Add required fields automatically – You can select other fields to add at will – Hide fields for managing the list internal• Allow anonymous access to add to the list
    27. 27. SharePoint Development
    28. 28. SharePoint Development Environment• Physical or Virtual Considerations – Hardware – Remote Access – Local Administration• Backup Strategy – Database Backups – Snapshots• Source Control• Challenges – Farms vs. Single Servers – User Profile Service & Active Directory
    29. 29. SharePoint 2010 Local Development
    30. 30. SharePoint 2010 Boot to VHD
    31. 31. SharePoint 2010 Centralized Virtualization
    32. 32. SharePoint Development Environment WSS 3.0 / MOSS 2007 MSF 2010 / MSS 2010Base System • Windows Server 2003 • Windows Server 2008 R2 • SharePoint or Windows 7/Vista • Visual Studio 2005/2008 • SharePoint • SQL Server • Visual Studio 2010 • SQL ServerDeveloper Tools • Visual Studio Extensions • Visual Studio 2010 for WSS (VSE WSS) SharePoint Developer Tools • SharePoint Designer 2007 • SharePoint Designer 2010 • WSPBuilder • Community Kit for SharePoint: Developer Tools (CKSDev) • Visual Studio 2010 SharePoint Power ToolsOther Products • Microsoft Office • Microsoft Office • Fiddler • Fiddler • IE Developer Toolbar • IE Developer Toolbar
    33. 33. Web Part Design• Reuse, reuse, reuse…• Web Part Connections• Unit Testing – Service Locator Pattern – Model-View-Presenter (MVP) Pattern – Repository Pattern
    34. 34. Web Parts vs. User Controls User Control Visual Web Part Web PartMinimized learning curve for ASP.NET developers XLightweight footprint for better performance XDesign surface for rapid development X XAutomatic packaging using features & solutions X X XConnectable to other web parts (Web Part X XConnections)Ability to add to web part pages via web UI X XSupports end user configuration & personalization X XAllows deployment to the GAC (Needs VS 2010 X SharePoint Power Tools)Available for sandboxed solutions (Needs VS 2010 X SharePoint Power Tools)
    35. 35. Execution Models
    36. 36. Farm Solutions• Full Trust – Deployed to GAC – Shared across Web Applications – Full Featured – Access to External Resources – Use Code Reviews to Reduce Risks• Bin/Code Access Security (CAS) – Unique to single Web Application – Limited Features & Access (based on CAS policies) – Complicated to Create
    37. 37. Sandboxed Solutions• New in 2010• Easier Deployment• Solution Monitoring – Resource Points• Load Balanced
    38. 38. Troubleshooting• Logging – Mainly for Administrators – SharePoint ULS logs or Event Viewer – Severity – SharePoint Logger (SharePoint Guidance)• Tracing – Mainly for Developers – SharePoint ULS Logs – Write Information Before Key Logic – Controlled in Central Admin
    39. 39. Developer Dashboard
    40. 40. Developer Dashboard• Turn on with STSADM Stsadm –o setproperty –pn developer- dashboard –pv ondemand (or “on” or “off”)• Add custom sections with SPMonitoredScope us/library/ff512758.aspx
    41. 41. Assemblies vs. Artifacts
    42. 42. Deployment Artifact Development Authoring Production Environment Environment Solution Deployment Assembly Development Integration Environment Solution Deployment Development Environment
    43. 43. SharePoint Development Resources• SharePoint Guidance• Team-Based Development in SharePoint 2010• SharePoint Unit Testing with Pex and Moles• Using Event and Trace Logs in SharePoint• Application Lifecycle Management in SharePoint 2010• SharePoint Development Team Blog• Skyline Technologies Enterprise Portals Blog• Andrew Connell Blog
    44. 44. Questions
    45. 45. jQuery in XSLT
    46. 46. • Personal/Loans-Mortgages/Pages/Loan- Rates.aspx?GroupID=1