46
©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010 Advanced Developer Training

What’s new in events? What’s new in lists and how can I utilize these new functionalities?

Embed Size (px)

Citation preview

Page 1: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

Advanced Developer Training

Page 2: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

List Enhancements and Customizations in SharePoint 2010

NameTitleCompany

Page 3: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

Agenda

Improved Support for EventsList Relationships and JoinsField & List Item validation and improvementsLarge List SupportXSL Based ViewsInfoPath for list forms and web part usage

Page 4: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

IMPROVED SUPPORT FOR EVENTS

What’s new in events?

Page 5: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

New & Improved Events

New events in SPF 2010WebAdding & WebProvisionedListAdding & ListAddedListDeleting & ListDeleted

New Registration CapabilitiesSite collection level event registration to support new eventsSPSite & SPWeb event receiver registration via Features

Page 6: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

Post Synchronous Events

WSS 3.0 “after” events are exclusively asynchronousProblem when wanting to do post processing after item submitted, but before displaying to userSPF 2010 adds new property on receiver definition to change “after” event to synchronous

SPEventReceiverDefinition.Synchronization

Page 7: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

Cancelling Events & Custom Error Pages

WSS 3.0 provided capability to cancel synchronous events & returning an error messageSPF 2010 introduces capability to cancel error and redirect user to custom error page

Not possible on post synchronous eventsSynchronous cancel with redirection URLOffice clients support cancellation, but not redirection

Page 8: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

Event Impersonation Improvements

WSS 3.0 events run in context of user who triggered the eventCertain things trigger events to run under System Account (workflow, etc), but doesn’t permit reverting back to user who triggered actionSPF 2010 now adds the originating user & user token on SPEventPropertiesBase

Page 9: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

Events in Visual Studio 2010 Tools

Page 10: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

New & Improved Events

demo

Page 11: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

LIST RELATIONSHIPS AND JOINS

What’s new in lists and how can I utilize these new functionalities?

Page 12: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

Relational Lists & Joins

SPF 2010 introduces the capability to have a relationship behavior enforced by a Lookup fieldNew investments:

Projected fields into child listsJoinsRelational integrity between parent & child lists

Introduces also new security considerations and possible issues

Page 13: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

List lookups

Lookups form relationships between lists

One-to-manyMany-to-many

1 m mProjects TimecardsClients

Lookup

1

Lookup

Page 14: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

List relationships and data integrity

One-to-many relationships can be used to:

Trigger Cascade DeleteRestrict Delete

1 m m

Lookup

1

Lookup

ProjectsClients Timecards

Page 15: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

List joins and projections

Query within and across lists:Join lists using lookup columnsLookup to multiple columns

1 m m

Lookup

1

Lookup

QueryResult Set

ProjectsClients Timecards

Page 16: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

Projected Fields and joins

Projected FieldsExtra field pulled from parent list into view of child listVia browser interface, users add a lookup User can select a secondary fields to pull into the child list

JoinsJoins can only be implemented by developers using the API, CAML or SharePoint Designer 2010New properties on SPQuery:

SPQuery.Join & SPQuery.ProjectedFields

Use SPLinq instead of CAML to join two lists in code easily

Page 17: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

Relational Lists: Projected Fields

Page 18: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

Relational Lists & Joins

demo

Page 19: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

LARGE LIST SUPPORT

What’s new for large lists and how to access them efficiently?

Page 20: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

Large List Support

SPF 2010 lists can now support 50M items

Under read scenariosPlatform Investments:

Configuration options for administrators per Web application (Central Administration)Site collection & list administrators can request exemptions from the throttle (for expensive queries)

Throttling in place by default

Page 21: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

Managing Large Lists

Web Application Settings:List view threshold (w/ warning threshold)Allow object model override

Enables developers with sufficient permissions to programmatically use the List View Threshold for administrators and auditors, which is higher than the normal user's List View Threshold by default:

List View Threshold: 5,000 items List View Threshold for Administrators and Auditors: 20,000 items

Daily window time for expensive queries without threshold

Page 22: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

Managing Large Lists (2)

List level settingsKicks in when the item amount in list meets certain thresholdList administrators can see warnings & messages when lists exceed thresholds from list settings pageNote. Warnings are based on item count on the list, not on the item amount on single view

Page 23: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

Content Iteration – handling items in batches

Scenarios:Moving all items tagged with “Confidential” to another repositoryReporting on all content in a site about to go live in the next monthProcessing all content in a library that is expiring within the next monthEnforcing metadata consistency or change across a corpus of content

Solution: ContentIterator

Page 24: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

Threshold

List20,000

All items:

SPQuery:

Expiration >= 07/01/200914,000

Sorted by index:Expiration < 07/01/2009

6,000

5,000 Threshold!

query.Query =     “<where><Lt><FieldRef Name=‘Expiration’/>” +    “<Value type=‘DateTime’>2009-07-01</Value></Lt></where>” query.ViewAttributes = “Scope=‘Recursive’”;

SPListItemCollection items = list.GetItems(query);

Foreach (SpListItem item in items) {    // Add to report}

Page 25: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

Using ContentIterator

List20,000

All items:

SPQuery:

Expiration >= 07/01/200914,000

Sorted by index:Expiration < 07/01/2009

6,000

2k

query.Query =     “<where><Lt><FieldRef Name=‘Expiration’/>” +    “<Value type=‘DateTime’>2009-07-01</Value></Lt></where>”

ContentIterator ci = new ContentIterator();ci.ProcessListItems(    list,    query,    true,  // Recursive query    2000,  // Page size of 2000    delegate(SPListItemCollection items) {        // Process the items batch by batch    },    delegate(SPListItemCollection items, Exception e) {        // Handle exception    });

2k

2k

Page 26: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

Wide List Limits & Threshold

Support for number of fields that makeup a SPListItem

SPF 2010 – SPListItems are limited to 6 rows

SPListItem limited to 8KB of data

List view lookup threshold = eightException thrown if code tries to select fields from more than eight fields from the joined listsIf no view fields specified (maximal view), only the first eight pulled and only the IDs for the remaining lookups will be retrieved.

Page 27: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

Using content iterator to handling list items

demo

Page 28: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

FIELD & LIST ITEM VALIDATION AND IMPROVEMENTS

How to define field or list item validations?

Page 29: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

Unique Column Constraints

Lists can now contain columns that require all values in all items in the list for that column to be unique

Scoped at SPList, not SPFolder, level

Unique columns must be indexed (automatically configured)When making existing column unique, existing data is validatedUniqueness determined by SQL collation

Ex: Case sensitive / insensitive

Page 30: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

List Item Validation

Items are validated against a custom formula when saved

Page 31: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

List Item Field Validation

Similar to list item validation, each column can be validated using a custom field, or by referencing other fields

Page 32: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published April 2010

Defining validations from codeYou can define the validation rules for list item or item field also from code – like from feature receiver

Page 33: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

List item and field validations

demo

Page 34: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

XSL BASED VIEWSHow the rendering logic of lists have been improved?

Page 35: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

WebPart

BaseXsltDataWebPartData

ViewWebPart (V2)

DataFormWebPart (V3)

BaseXsltList

WebPart

(v4)

XsltListFormWebPart (V4)

XsltListViewWebPart (V4)

ListFormWebPart

ListViewWebPart

XsltListViewWebPart

Replaces ListViewWebPartRich customization support through SPDSchema agnosticBetter UX In-Place Editing

Page 36: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

Inside the XsltListViewWebPartXmlDefinition

ListName

XSL

SPDataSource

HTML

XsltListViewWebPart

XslCompiled

Transform

CAML Query

List Schema

View Transform

XML Data

Page 37: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

XsltListViewWebPart

demo

Page 38: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

INFOPATH FOR LIST FORMS AND WEB PART USAGE

Flexible form design for lists and forms in web parts

Page 39: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

InfoPath 2010 and SharePoint 2010

Improved Field Picker

List Data Connection

Library Data

ConnectionList Forms

Page 40: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

SharePoint List Solutions

List item forms can be changed to InfoPath formsAccess point from list or from SharePoint designer

Page 41: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

Creating an InfoPath List Form

Page 42: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

Example usage of InfoPath form in web part

Page 43: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

InfoPath forms in lists and in sites

demo

Page 44: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

Summary

Improved Support for EventsList Relationships and JoinsLarge List SupportField & List Item validation and improvementsXSL Based ViewsInfoPath for list forms and web part usage

Page 45: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

Page 46: What’s new in events? What’s new in lists and how can I utilize these new functionalities?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after

the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.