List Enhancements and Client Object Models in SharePoint 2010

Preview:

DESCRIPTION

List Enhancements and Client Object Models in SharePoint 2010. Ronald Tielke ront@microsoft.com Microsoft Services – Southwest. Preview. SharePoint 2010 is now, more than ever, a platform for custom application development - PowerPoint PPT Presentation

Citation preview

List Enhancements and Client Object Models in SharePoint 2010Ronald Tielke ront@microsoft.comMicrosoft Services – Southwest

Preview

SharePoint 2010 is now, more than ever, a platform for custom application developmentList enhancements in SharePoint 2010 further position SharePoint as a Data SourceA number of options are available for accessing this data; each has its place, as well as specific PROs and CONsClient Object Models provide consistent APIs for developing custom apps and abstract the specifics of client-server communication.

Agenda

What You Need to KnowList EnhancementsClient Object Models

ScenarioSolutionReview & Questions

List EnhancementsRelational

Lookups Projections

List EnhancementsRelational

Data integrity between Parent & Child ListsRestrict or Cascade

Uniqueness ConstraintsCreates an Indexed ColumnExamines/Validates existing data

JoinsAccessible via programming APIs and SharePoint DesignerSPQuery.Join & SPQuery.ProjectedFields

List EnhancementsList Validation

Item-Level

Field-Level

List Enhancements

PerformanceGoal of 50M items in Read scenariosSelf-Managed IndexesQuery Throttling

Admin Control at the Web App levelSelf DefenseUser Interface HintsPrivileged Query LevelsDev Overridable if AllowedRestricted Windows of Execution

Wide List (Join) Throttling

List EnhancementsXSLT-Based Views

Based on the XsltListViewWebPart

XmlDefinition

ListName

XSL

SPDataSource

HTML

XsltListViewWebPart

XslCompiled

Transform

CAML Query

List Schema

View Transform

XML Data

List Enhancements

There’s more…Bulk Operations

Edit in Line

Custom

?

List EnhancementsAnd last but not least…

InfoPath Form Integration with Custom Lists !!

Client Object Model

Customers wanted access to more WSS servicesProvides an API instead of more Web ServicesAllows a developer to interact with a familiar set of SharePoint objects

Client objects map to well known Server objectsCovers a major portion of the SharePoint Foundation API

Generally provides a consistent development model across different client platformsStandard (SQL-ish) Programming Pattern:

Shape one or more requestsLoad the request(s)Execute the request batch

Client Object Model

Supported Platforms.NetSilverlightJavaScript

Additional/Related TechnologiesOOB Silverlight Web Part (uses your XAP file)ADO.Net Data Services LINQ to ObjectsLINQ to SharePoint (SPMetal)

Legacy ModelsWeb ServicesWebDAV

Client Object Model

Client.svc

Server OM

Contentdatabase

JavaScript OM

Proxy

Managed OM

Proxy

Managed Controls and Logic

JavaScript Controls and Logic

XML Request

XML Request

JSON Response

JSON Response

Browser

Managed Client

SharePoint Server

Scenario

Contoso distributes a number of products.Contoso Marketing generates product announcements on a monthly basis.Each announcement is associated with a specific product.Contoso customers register via the contoso.com web site and select one or more products of interest.

Contoso Marketing wishes to distribute a personalized newsletter to each registered user; the newsletter will contain announcements related to the product of interest.

SolutionCustom Products list

Master product list

Custom Product Announcements listLookup to Products list; restrict deletes

Custom Registered Users (Contacts) listLookup (multi-select) to Products list; restrict deletes

Custom .Net Client ApplicationUse Client OM for .NetLoad/Cache all eligible product announcementsLoad/Cache all registered usersFor each user:

Determine Product InterestsGather Targeted AnnouncementsGenerate & Send newsletter

DEMO

Review

SharePoint 2010 is now, more than ever, a platform for custom application developmentList enhancements further position SharePoint as a Data SourceA number of options are available for accessing this data; each has its place, as well as specific PROs and CONsClient Object Models provide consistent APIs for developing custom apps and abstract the specifics of client-server communication.

Remember to fill out your evaluations for your chance to win a Zune HD and one of 12 copies of

Office 2007 (13 prizes will be awarded)

Evaluation Prizes Sponsored by:

Recommended