Session 2-Mark Michaelis-SharePoint FireStarter-getting started in 2011 with sharepoint 2010 development


Published on

Published in: Education, Technology
1 Like
  • Be the first to comment

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

No notes for slide

Session 2-Mark Michaelis-SharePoint FireStarter-getting started in 2011 with sharepoint 2010 development

  1. 1. Getting Started in 2011 withSharePoint 2010 Development<br />Mark Michaelis<br />Chief Technical Architect, <br /> Author & Trainer<br />Allen Greaves<br />SharePoint Code Ninja<br />
  2. 2.
  3. 3. Agenda<br />
  4. 4. SharePoint 2010 for Developers<br />First Class SharePoint Developer Tools<br />Faster Solution Debugging & Tuning<br />Choice of Development Workstation<br />Developer Productivity<br />Comprehensive Data Access<br />Line of Business Integration <br />Workflow Advances<br />Rich Platform Services<br />Application Lifecycle Management <br />Standardized Solution Packaging<br />Deploy with Agility and Stability<br />Flexible Deployment<br />
  5. 5. Development on Windows 7or Windows Vista SP1<br /><ul><li>Either SharePoint Foundation or SharePoint Server
  6. 6. Requires x64 OS
  7. 7. Not Supported for Production
  8. 8. Only for Stand Alone Installation
  9. 9. Can be Disabled through Group Policy
  10. 10. Just for Developers
  11. 11. Requires Following Install Guide in SDK</li></ul>Windows 7<br />
  12. 12. Developer Tools for SharePoint<br />Develop, Deploy and Debug<br />Web Part, BDC and Workflow designers<br />Package and Deploy SharePoint projects<br />Generate WSP for Production Deployment<br />View SharePoint site in Server Explorer<br />Team Foundation Server Integration<br />Visual Studio 2010<br />Web Part Designer<br />Broad SharePoint Support<br />Support for SharePoint Sandboxed Solutions<br />Import WSP from SharePoint Designer including Workflow<br />Build Workflow Steps for SharePoint Designer<br />Extensibility for Development of Additional SharePoint Artifacts<br />SharePoint Business Connectivity Services support<br />Project Types<br />
  13. 13. Visual Studio 2010 SharePoint Projects<br />
  14. 14. SharePoint Designer 2010<br />Free for creating and editing SharePoint artifacts<br />New Tools <br />BDC Entities<br />List Schema<br />Custom Actions<br />Task / Approval Designer<br />Improved Tools <br />Workflow Designer<br />Page Editor<br />SharePoint Designer work can be upgraded to Visual Studio 2010<br />“Save site as template” in SharePoint Site Settings creates WSP<br />WSP imports into Visual Studio 2010 as new project<br />
  15. 15. Developer Dashboard<br />stsadm -o setproperty -pn developer-dashboard -pvondemand<br />Quick Debug or Monitor Page Performance<br />
  16. 16. SharePoint List with External Data<br />Read / Write<br />SharePoint Foundation<br />Built on the SharePoint 2007 Business Data Catalog<br />Office Apps<br />Client Runtime<br />Offline Operations<br />Cache<br />Design Tools<br />SharePoint<br />Visual Studio 2010<br />Enterprise<br />Search<br />Development<br />Platform<br />Business Intelligence<br />Enterprise content mgmt<br />Collaboration social<br />SharePoint Designer 2010<br />ECT Store<br />Runtime<br />Security<br />Solution Packaging<br />Out of the box UI<br />Web 2.0<br />DB<br />WCF<br />Web Service<br />.NET LOB<br />Business Connectivity Services<br />
  17. 17. SharePoint List Improvements<br />Collaborative Data Store<br />Relationships with Cascade or Block<br />Transacted Cascading Deletion<br />Restriction of Deletion<br />Validation with Excel Like Formula<br />Formula-based Validation (eg =len(Title)==8)<br />Ensure Uniqueness<br />Lookup to Multiple Columns<br />Versionable Lists<br />List Index Auto-Creation<br />Scalability and Performance<br />List Query Throttling<br />And we keep from SharePoint 2007<br />Self Service List Creation<br />Out of the Box List User Interface<br />Built in Authorization Forms<br />
  18. 18. List Features<br />=Len([PhoneNumber])>9<br />
  19. 19. XSLT Views for Lists<br />Replaces CAML for Views<br />CAML Still Used for Queries<br />Better Performance<br />Easier edit in SPD<br />Ribbon UX: sort/filter/group, conditional formatting,…<br />Simpler Coding Experience<br />Standard language, shared default XSLT<br />XSLT-based views are now default<br />SharePoint Lists<br />External Lists<br />
  20. 20. Design Changes in SharePoint 2010<br />
  21. 21. Master Page<br />Page Layout<br />Master page<br />Basic structure<br />Navigation<br />CSS<br />Page content<br />Page Layouts (MOSS Publishing)<br />Web Part layout pages<br />Interactive UI Pieces<br />Status Bar<br />Dialogs<br />Notifications<br />Master Page<br />
  22. 22. Custom Master Page / CSS<br />Skills / Time<br />Night and Day master page<br />Custom Themes<br />Default Themes<br />Default SharePoint UI<br />
  23. 23. Custom Master Page / CSS<br /><ul><li>Sites that:
  24. 24. Don’t want to spend any time on customization
  25. 25. Consider familiarity important
  26. 26. Users can still do content-based customizations</li></ul>Night and Day master page<br />Custom Themes<br />Default Themes<br />Default SharePoint UI<br />
  27. 27. Custom Master Page / CSS<br /><ul><li>Sites that:
  28. 28. Desire to stand out
  29. 29. Don’t have design expertise
  30. 30. Don’t have desire for complete customization
  31. 31. These can be easily supported by IT</li></ul>Night and Day master <br />page<br />Custom Themes<br />Default Themes<br />Default SharePoint UI<br />
  32. 32. Custom Master Page / CSS<br /><ul><li>Sites that:
  33. 33. Represent a branded entity
  34. 34. Serve as an “application” or “tool” for users, rather than collaboration
  35. 35. Internet sites
  36. 36. Employee portals
  37. 37. SharePoint-based “application” sites</li></ul>Night and Day master page<br />Custom Themes<br />Default Themes<br />Default SharePoint UI<br />
  38. 38. Site Owner Customization<br />Site Icon, Title and Description<br />Navigation<br />Quick Launch<br />Top Navigation<br />Custom lists<br />
  39. 39. Themes in 2010<br />Colors + Fonts in Open XML Theme Format<br />CSS files are marked with “variables”<br />Comment-based design -> Standards<br />Only one CSS file -> Performance<br />Make existing designs theme-compatible<br />
  40. 40. Benefit: More options<br />Site owners<br />Choose from available themes<br />SharePoint Server: Customize themes in-browser<br />Supported in all core SharePoint CSS<br />Designers<br />Can still create designs from scratch<br />Design themes for existing designs<br />IT / Developer<br />Control over available themes<br />Public API<br />
  41. 41. Programming APIs<br />
  42. 42. Client Object Model<br />Runs on Remote Machine<br /><ul><li>Simple API to Add, Retrieve, Updateand Manage Data in SharePoint
  43. 43. Commands batched for Performance</li></ul>SharePoint Data<br />Client Application<br />.NET CLR<br />Silverlight CLR<br />JavaScript<br />
  44. 44. Talking to SharePoint<br />Web Services<br />Advanced Operations<br />SharePoint Server Operations<br />Web Services<br />More coverage<br />Client Object Model<br />Site, nav, security services<br />Very flexible<br />REST<br />Easiest to use<br />For fixed list schema<br />Rendering Data to Page<br />Client OM<br />Advanced List Operations<br />Site Operations<br />Security<br />REST<br />Working with list data,<br />fixed schema<br />Rendering Data to Page<br />Requires code on site/on server<br />
  45. 45. LINQ to SharePoint<br />Entity based programming<br />Strong Types and Intellisense<br />Supports List Joins and Projections<br />Join lists on lookup field between them<br />Join multiple lists (A->B->C)<br />Project any field from joined list in a query without changes in list schema<br />from order indata.Orderswhereorder.Customer.City.Name== "London“selectorder;<br />
  46. 46. Query Syntax<br />varquery = from list <br />         in clientContext.Web.Lists<br />         where list.Title != null<br />         select list;<br /> <br />varresult = clientContext.LoadQuery(query);<br />clientContext.ExecuteQuery();<br />
  47. 47. Major Objects in Client Object Model<br />Site<br />Web<br />ContentType<br />Change<br />List<br />Navigation<br />Form<br />NavigationNode<br />View<br />UserCustomAction<br />Field<br />RoleDefinition<br />ListItem<br />User Interface<br />RoleAssignment<br />Data and Schema<br />Folder<br />WorkflowAssociation<br />Logic<br />File<br />WorkflowTemplate<br />Security<br />WebPart<br />
  48. 48. Client Object Model Sample .NET<br />ClientContext context =<br />new ClientContext("http://server");<br />Web site = context.Web;<br />context.Load(site);<br />context.ExecuteQuery();<br />site.Title = site.Title + <br /> " and Client OM";<br />site.Update();<br />context.ExecuteQuery();<br />
  49. 49. Hello World – Silverlight CLR<br />
  50. 50. Hello World – JavaScript<br />
  51. 51. Accessing Data: Today<br />SharePoint Data<br />Server<br />Application<br />SharePoint API<br />Web Service<br />Client Application<br />
  52. 52. REST APIs<br />ADO.NET Data Services REST Protocols Atom, JSON feeds<br />SharePoint list data and Excel spreadsheets<br />Integration with growing set of Microsoft REST Technologies<br />
  53. 53. SharePoint Events Improvements<br />Events Project Templates in Visual Studio 2010<br />After-Synchronous Events<br />Simpler Event Behavior<br />Site-scoped events<br />Web creation events<br />List creation events<br />More User Interface Control<br />Custom Error Pages<br />
  54. 54. Workflow Improvements<br />Visual Studio 2010 Initiation and Association Forms<br />New Workflow Design Surface in SPD<br />Import SPD Workflows into Visual Studio<br />Build SPD Actions in Visual Studio <br />Visio 2010 Workflow Design<br />Browser Based Visualization<br />High Privilege Workflows<br />Control Where Service Runs<br />Site Workflows<br />Reusable Declarative Workflows<br />List Workflow Event Receivers<br />Pluggable Workflow Services<br />Performance and Scale<br />Fully Customizable OOB Workflow<br />Approval Designer<br />
  55. 55. Silverlight 3 and SharePoint 2010<br />Media Player Web Part<br />Organization Browser<br />List and Site Creation<br />Office Web Applications<br />Silverlight Web Part<br />Simple way to upload<br />Silverlight CLR compatible <br />Client Object Model<br />Call SharePoint API’s<br />REST APIs<br />Simplifies List data access<br />Support for remotely hosted Silverlight applications<br />Delegated authentication/application principals<br />
  56. 56. Sandboxed Solutions<br />Security & Stability<br />Security & Stability<br />Essential Agility<br />Essential Stability<br />BusinessAgility<br />BusinessAgility<br />Easy Deployment<br />Iterative Development<br />Access To Shared Servers<br />SharePoint Online<br />Safe for Other Users<br />Limited API Access<br />Monitored Resources<br />Separate Process<br />Site Collection Limits<br />
  57. 57. Deployment and Packaging<br />
  58. 58. WSP as the SharePoint Installer<br />WSS Solution Package (WSP)<br />Visual Upgrade from version to version<br />SharePoint UI Save To Template<br />Better-defined Upgrade Semantics<br />Declarative upgrade mappings<br />Upgrade callouts for features<br />Application discovery in SharePoint Sites<br />WSPs as unified developer format<br />Works in both site collections and on machine<br />
  59. 59. Team Foundation Server - ALM<br /><ul><li>Work Item Tracking
  60. 60. Source Code Control
  61. 61. Team Build
  62. 62. Manage Test Cases
  63. 63. Log Bugs
  64. 64. Automated Testing
  65. 65. Load Testing</li></li></ul><li>
  66. 66. Mark Michaelis<br />Chief Technical Architect, <br /> Author & Trainer<br /><br />Allen Greaves<br />SharePoint Code Ninja<br /><br />