Skip to content

New List Improvements in SharePoint 2010

by on August 24, 2010

List Relationships & Joins

Lookup Relationships – One-to-many, many to many

Lookup Field Relationship Behavior –  behavior that can be enforced includes; Project multiple fields into a child list; Joins between lists, Relational integrity between child and parent lists – this brings up new possible security issues & considerations

List Relationships & Data Integrity – one-to-many allows you to trigger cascade delete and restrict delete

List Joins & Projections – query in and across lists (join lists using lookup columns, lookup to multiple columns) – Projected Fields are pulled in from parent list to va view of child list, users can add a lookup through the browser, users can select secondary fields to pull into child list – Joins can be implemented by developers with the SharePoint API, CAML, or SharePoint Designer 2010, SPQuery now has a join and projected property, use SPLinq instead of CAML to join lists efficiently in code (no longer have to strip index numbers & other unneccesary information), Restrict delete  and cascading delete option is available in browser interface for the list fields

New and enhanced events

New Events – WebAdding, WebProvisioned, ListAdding, ListAdded, ListDeleting, ListDeleted

New Registration – event receiver registration via Features for SPWeb & SPSite

Post Synchronous Events – “After” event now has a property on receiver to set as synchronous (SPEventReceiverDefinition.Synchronization)

Custom Errors – can redirect to a custom error page (doesn’t work with post synchronous events), synchronous cancel with redirection url, Office clients allow cancellation but not redirection – helps create consistent user experience & site branding

To Create & Edit Custom Error Message: Visual Studio 2010 > Right click on project > Add > New Item > Event Receiver > Follow Wizard > edit custom error page that has been created

Event Impersonation – when running events under elevated account, originating user and user token added to SPEventPropertiesBase, this permits reverting back to user

Visual Studio 2010 – Has Event tool wizard to easily create events, can create web, site, or list events with the same designer

Support of Large Lists

Read Scenarios – 50 Million item lists

Defaults – 5000 items for Users –20000 items for Auditors & Administrators

Central Administration – configurations options per web application, List View Threshold & warning threshold (warning is based on numbers of items in a list, not on a View), “Happy Hours” time window for expensive queries without a threshold, allow object override for developers to programmatically use Admin/Auditor threshold

Throttling – used by default, site collection and  and list administrators can request throttle exemptions from throttle for expensive queries, throttle overview for developers to override default

ContentIterator – Batch Item Handling of items in lists (even small lists), queries will not execute if item count is higher than threshold (say 5000 default), the content iterator can have batch amount set (say 2000 items) and will never hit threshold – ALWAYS USE CONTENTITERATOR WHEN ACCESSING LIST DATA!

Wide List Threshold – Number of feilds that make up a single item, SharePoint wraps the row a maximum of 6 rows(SPF), SPListItem limited to 8kb(SPF) not attachments, List View Lookup threshold is 8 or less lookups limit but Editor and Creator information are lookups (so you can only create 6 custom lookups per view)

XSL/XSLT Based Views

XSLTListViewWebPart – replaces ListViewWebPart, rich customization through SharePoint Designer, Better UX, Schema is more generic, wysiwyg in-place editing   in SharePoint Designer, need to pass the schema as a separate parameter, now more industry standard and therefore easier to integrate into projects

Custom InfoPath 2010 For List Forms & Web Parts

New Features – Improved Field Picker, List Data Connection, Library Data Connection, List Forms, full integration in SharePoint, validation of fields, creating regions, adding images, changing colors

Uses for InfoPath – List Item Forms can be changed to InfoPath forms (access from List or SharePoint Designer), List can have multiple forms and default form selected, Different forms can be displayed at different points (ex. initiation, edit), InfoPath DataSource is hidden behind “Advanced View”, InfoPath controls now parallel SharePoint controls/fields, Can pull a lot of related data, Access third party datasources, add custom functionality, can remove and add fields, easy graphical editing of forms, pull in repeating row content, save locally or quick publish forms, set fields to required, etc.

InfoPath Form Web Part – can use this to expose any customized InfoPath form and how it will behave, select a specific form from a list or library that has many, saves directly to the correct list, you must save the changes to the page once the web part has been added to the content or web part zone

Field & List Item Validation

Unique Columns – can require specific columns values of all items to have unique content (say email), applied to field, scoped at SPList level, MUST be indexed (automatic), when making an existing column unique data is validated, Uniqueness determined by SQL Collation and use that configuration for insensitive/sensitive

Item Validation – validation rule defined using custom formula, error message can be customized, validation rule is checked when item is saved, can be defined in code (often with FeatureReciever)

Item Field Validation – custom rule formula set on field, error message can be customized, can be defined in code (often with FeatureReciever)

Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: