session 2-mark michaelis-sharepoint firestarter-getting started in 2011 with sharepoint 2010...
TRANSCRIPT
Getting Started in 2011 withSharePoint 2010 DevelopmentGetting Started in 2011 withSharePoint 2010 Development
Mark MichaelisChief Technical Architect,
Author & TrainerAllen GreavesSharePoint Code Ninja
Enterprise Collaboration and Content Management
Best Practice Application Life Cycle Management
Software Architecture Consulting
Integration and Enterprise Service Bus Development
Strategic Direction
SharePoint 2010 for Developers
Comprehensive Data AccessLine of Business Integration Workflow Advances
Rich Platform Services
First Class SharePoint Developer ToolsFaster Solution Debugging & TuningChoice of Development Workstation
Developer Productivity
Application Lifecycle Management Standardized Solution PackagingDeploy with Agility and Stability
Flexible Deployment
Developer Tools for SharePoint
Support for SharePoint Sandboxed SolutionsImport WSP from SharePoint Designer including WorkflowBuild Workflow Steps for SharePoint DesignerExtensibility for Development of Additional SharePoint ArtifactsSharePoint Business Connectivity Services support
Web Part, BDC and Workflow designersPackage and Deploy SharePoint projectsGenerate WSP for Production DeploymentView SharePoint site in Server ExplorerTeam Foundation Server Integration
Broad SharePoint Support
Develop, Deploy and Debug
Web Part Designer
Project Types
Visual Studio 2010
Visual Studio 2010 SharePoint Projects
SharePoint Designer 2010
Free for creating and editing SharePoint artifacts
New Tools BDC Entities List Schema Custom Actions Task / Approval Designer
Improved Tools Workflow Designer Page Editor
SharePoint Designer work can be upgraded to Visual Studio 2010 “Save site as template” in SharePoint Site Settings creates WSP WSP imports into Visual Studio 2010 as new project
Office Apps
Client Runtime
Offline Operatio
nsCache
Development
Platform
Business Intelligenc
e
Enterprise content mgmt
Collaboration social
EnterpriseSearch
ECT Stor
e
Runtime
Security
Solution Packagin
g
Out of the box
UI
Web 2.0DBWCFWeb Service.NET LOB
SharePointDesign Tools
SharePoint Designer
2010
Visual Studio 2010
Business Connectivity Services SharePoint List with External Data Read / Write SharePoint Foundation Built on the SharePoint 2007 Business Data Catalog
SharePoint List Improvements
Relationships with Cascade or Block Transacted Cascading Deletion Restriction of Deletion
Validation with Excel Like Formula Formula-based Validation (eg
=len(Title)==8) Ensure Uniqueness
Lookup to Multiple Columns Versionable Lists List Index Auto-Creation Scalability and Performance List Query Throttling And we keep from SharePoint 2007
Self Service List Creation Out of the Box List User Interface Built in Authorization Forms
Collaborative Data Store
List Features
=Len([PhoneNumber])>9
Design Changes in SharePoint 2010
Master Page
Master Page
Page Layout
Master page Basic structure Navigation CSS
Page content Page Layouts (MOSS
Publishing) Web Part layout pages
Interactive UI Pieces Status Bar Dialogs Notifications
Default SharePoint UI
Default Themes
Night and Day master page
Custom Master Page / CSS
Custom Themes
Skills / Tim
e
• Sites that:• Don’t want to
spend any time on customization
• Consider familiarity important
Users can still do content-based customizations
Default SharePoint UI
Default Themes
Night and Day master page
Custom Master Page / CSS
Custom Themes
• Sites that:• Desire to stand
out• Don’t have
design expertise
• Don’t have desire for complete customization
These can be easily supported by ITDefault SharePoint UI
Default Themes
Night and Day master page
Custom Master Page / CSS
Custom Themes
• Sites that:• Represent a
branded entity• Serve as an
“application” or “tool” for users, rather than collaboration
Internet sites Employee portals SharePoint-based
“application” sitesDefault SharePoint UI
Default Themes
Night and Day master page
Custom Master Page / CSS
Custom Themes
Site Owner Customization
Site Icon, Title and Description Navigation
Quick Launch Top Navigation
Custom lists
Themes in 2010
Colors + Fonts in Open XML Theme Format CSS files are marked with “variables” Comment-based design -> Standards Only one CSS file -> Performance Make existing designs theme-compatible
Benefit: More options
Site owners Choose from available themes SharePoint Server: Customize themes in-
browser Supported in all core SharePoint CSS
Designers Can still create designs from scratch Design themes for existing designs
IT / Developer Control over available themes Public API
Programming APIs
Client Object Model
Runs on Remote Machine• Simple API to Add, Retrieve, Update
and Manage Data in SharePoint• Commands batched for Performance
.NET CLRSilverlight
CLRJavaScript
Client Application
SharePoint Data
Talking to SharePoint Web Services
More coverage
Client Object Model Site, nav, security services Very flexible
REST Easiest to use For fixed list schema
Rendering Data to Page
Web ServicesAdvanced OperationsSharePoint Server Operations
Client OMAdvanced List OperationsSite OperationsSecurity
RESTWorking with list data,fixed schema
Rendering Data to PageRequires code on site/on server
LINQ to SharePoint Entity based programming
Strong Types and Intellisense
Supports List Joins and Projections Join lists on lookup field between them Join multiple lists (A->B->C) Project any field from joined list in a query without
changes in list schema
from order in data.Orderswhere
order.Customer.City.Name == "London“select order;
Query Syntax
var query = from list in clientContext.Web.Lists where list.Title != null select list; var result = clientContext.LoadQuery(query);clientContext.ExecuteQuery();
User Interface
Data and Schema
Security
Logic
Site
Web
ListItem
Field
View
Form
Folder
List
NavigationNode
Navigation
UserCustomAction
ContentType
RoleDefinition
WorkflowAssociation
WorkflowTemplate
RoleAssignment
Change
WebPart
File
Major Objects in Client Object Model
Client Object Model Sample .NET
ClientContext context = new ClientContext("http://server");Web site = context.Web;context.Load(site);context.ExecuteQuery();site.Title = site.Title +
" and Client OM";site.Update();context.ExecuteQuery();
Hello World – Silverlight CLR
REST APIs
Integration with growing set of Microsoft REST Technologies
SharePoint list data and
Excel spreadsheets
ADO.NET Data Services REST
Protocols Atom, JSON feeds
SharePoint Events Improvements
Events Project Templates in Visual Studio 2010
After-Synchronous Events Simpler Event Behavior
Site-scoped events Web creation events List creation events More User Interface
Control Custom Error Pages
Workflow Improvements
Visual Studio 2010 Initiation and Association Forms New Workflow Design Surface in SPD Import SPD Workflows into Visual Studio Build SPD Actions in Visual Studio Visio 2010 Workflow Design Browser Based Visualization High Privilege Workflows Control Where Service Runs Site Workflows Reusable Declarative Workflows List Workflow Event Receivers Pluggable Workflow Services Performance and Scale Fully Customizable OOB Workflow Approval Designer
Silverlight 3 and SharePoint 2010
Media Player Web Part Organization Browser List and Site Creation Office Web Applications Silverlight Web Part
Simple way to upload Silverlight CLR compatible
Client Object Model Call SharePoint API’s
REST APIs Simplifies List data access
Support for remotely hosted Silverlight applications Delegated authentication/application principals
Sandboxed Solutions
Essential
AgilityEasy DeploymentIterative DevelopmentAccess To Shared ServersSharePoint Online
Essential
StabilitySafe for Other UsersLimited API AccessMonitored ResourcesSeparate ProcessSite Collection Limits
Business Agility
Security & StabilityBusiness
Agility
Security & Stability
Deployment and Packaging
WSP as the SharePoint Installer
WSS Solution Package (WSP)
Visual Upgrade from version to version
SharePoint UI Save To Template
Better-defined Upgrade Semantics Declarative upgrade mappings Upgrade callouts for features
Application discovery in SharePoint Sites
WSPs as unified developer format Works in both site collections and on machine
Team Foundation Server - ALM
• Work Item Tracking• Source Code
Control• Team Build• Manage Test Cases• Log Bugs• Automated Testing• Load Testing
Enterprise Collaboration and Content Management
Best Practice Application Life Cycle Management
Software Architecture Consulting
Integration and Enterprise Service Bus Development
Strategic Direction
Mark MichaelisChief Technical Architect,
Author & [email protected] GreavesSharePoint Code [email protected]