Archive for category SharePoint 2010

Using Code in Application Page Of SharePoint 2010

Posted by admin on Friday, 4 February, 2011

Using Code in Pages

Content pages are ASPX pages, and are therefore intended to contain custom code. However, because end users can distribute such pages, and active code can potentially harm a server’s reliability, there are several security restrictions. As a general rule, inline code is not supported within a custom content page. You are supposed to use code-behind classes to provide code to content pages to overcome this restriction.

A special configuration section, <SafeControls>, defines the controls permitted on content pages. To prevent users from uploading Web Parts containing harmful custom code, the code portion must be explicitly registered in the <SafeControls> section. Otherwise, SharePoint will not execute it. As a general rule you should avoid custom code in content pages. However, internal pages can execute code at any time. If you create a new site definition using modified content pages with custom code, they will execute just fine. If a user later modifies those pages, making them ghosted, the code will no longer execute. To avoid this confusing behavior you should not use custom code in common content pages. However, as with most other extensible parts on ASP.NET, the administrator of a farm can override this behavior by configuring the Virtual Path Provider. This provider is responsible for retrieving the page from wherever it is stored (file system or database) and handing it over for execution. The following definition in web.config enables the execution of server-side code:

<SharePoint>

<SafeMode …>

<PageParserPaths>

<PageParserPath VirtualPath=”/_mpg/*”

CompilationMode=”Always”

AllowServerSideScript=”true”

IncludeSubFolders=”true”/>

</PageParserPaths>

If you plan to create complete applications using code, using application pages is much more

powerful and less confusing.

By

Team CVK , Microsoft Competency


Activating Developer Dashboard in SharePoint 2010

Posted by admin on Friday, 4 February, 2011

Activating the Developer Dashboard Using stsadm

By default the Developer Dashboard is switched off. To activate it on your machine, you can run a stsadm command:

stsadm –o setproperty –pn developer-dashboard –pv ondemand

The command switch -pv accepts the following settings:

• on: Activate the Developer Dashboard (always appears at the end of a page)

• off: Deactivate

• ondemand: Activate on Demand

The ondemand option is usually the best choice, as it allows you to show or hide the information

using the dashboard icon in the upper-right corner,

Note launching this command takes some time even on a fast machine.

The on option is helpful if the layout of a page is destroyed or you can’t reach the Dashboard icon for

some reason.

Activating the Developer Dashboard Using Power Shell

To activate the Developer Dashboard via Power Shell, use a script such as this:

$level=”Off”

[void][System.Reflection.Assembly]::LoadWithPartialName(“Microsoft.SharePoint”)

[void][System.Reflection.Assembly]::LoadWithPartialName

(“Microsoft.SharePoint.Administration”)

$contentSvc=[Microsoft.SharePoint.Administration.SPWebService]::ContentService

$contentSvc.DeveloperDashboardSettings.DisplayLevel=

([Enum]::Parse(

[Microsoft.SharePoint.Administration.SPDeveloperDashboardLevel],

$level))

$contentSvc.DeveloperDashboardSettings.Update()

Write-Host(“Current Level: ” + $contentSvc.DeveloperDashboardSettings.DisplayLevel)

The supported properties for the $level variable are the same as those for stsadm:

• “On”: Activate the Developer Dashboard (always appears at the end of a page)

• “Off”: Deactivate

• “OnDemand”: Activate on Demand

Activating the Developer Dashboard Using Code

You’re probably going to write some clever tools for SharePoint. Using code to activate the dashboard

may help others to investigate what they are doing. A simple piece of code does the trick:

SPWebService svc = SPWebService.ContentService;

svc.DeveloperDashboardSettings.DisplayLevel = SPDeveloperDashboardLevel.OnDemand;

svc.DeveloperDashboardSettings.Update();

Note that the usage of the SPFarm object, which is shown in several blogs regarding earlier versions

of SharePoint 2010, is no longer supported in the final SharePoint product.

Working with the Developer Dashboard

This tool will give you the following:

• A breakdown of the request/response cycle with timings for each operation

• A breakdown of the response times for each database query that the rendering

process triggers

• A breakdown of the load times for each Web Part on the page

By

Team CVK , Microsoft Competency


Key Investment Areas of SharePoint 2010

Posted by admin on Monday, 8 November, 2010

SharePoint is a broad solution so we often get asked how we would describe it in a sentence. For SharePoint 2010, we settled on “The Business Collaboration Platform for the Enterprise and the Web”. A few words are worth explaining. We decided “Collaboration” was broad enough to cover the spectrum of publishing, sharing, finding, analyzing and managing information that SharePoint enables. We chose “Platform” not only because custom solutions are a major focus of the 2010 release but also “platform” conveyed a solid base for all the out-of-box usage that never requires a developer. Finally, we want to call out “the Web” to highlight both internet scenarios reaching customers and partners and the cloud-based delivery of SharePoint Online. For SharePoint 2007, we used a pie diagram chart to describe the major SharePoint categories such as “Enterprise Content Management”. This release, we picked words we thought were both simpler and gave us more freedom to innovate beyond traditional category boundaries. We settled on Sites, Communities, Content, Search, Insights and Composites as the new category names. Within each of these plus Administration and Development, I will highlight 5 major feature areas for a total of 40. Needless to say, this is the biggest release of SharePoint yet and we hope you find it as exciting as we do!

Sites

In 2007, we expanded SharePoint to a single platform for intranet, extranet and internet sites. For SharePoint 2010, we improved the experience for this range of sites spanning browsers, Microsoft Office and mobile devices. The top five investment areas here are:

1. SharePoint Web Experience We updated the SharePoint UI to make it simpler to access a growing range of tools. Highlights include incorporating the Office ribbon, in place web editing, AJAX responsiveness and richer navigation. We also expanded the reach of SharePoint sites through multi-lingual support, improved accessibility including WCAG 2.0 support and cross-browser support built on XHTML compliance.

2. Office Client – We continue to support previous versions of Microsoft Office working against SharePoint 2010. Office 2010 enhances this with features like offline editing with asynchronous saves as well as exposing SharePoint features through the new Office Backstage UI. Via the Backstage, you can access the context around the document including tags, related tagging and people.

3. SharePoint Workspace – In this release, we evolved and renamed Groove as SharePoint Workspace which provides great local and offline read-write access to SharePoint lists and libraries. SharePoint Workspace has a consistent experience with Office 2010 and SharePoint 2010 including the Office ribbon. It supports advanced features like bringing external business data offline and is smart about synching changes and not entire files.

4. Office Web Apps – We made SharePoint 2010 a great place to host the new Office Web Apps so you can view and update content from within a browser and include Office content as part of your web site (e.g. an Excel spreadsheet as part of “Sales Metrics Portal”). The Office Web Apps provide a familiar user experience, high fidelity viewing and essential editing without loss of data or formatting. They include Word, Excel, PowerPoint and OneNote. The OneNote client and Web App support is one of the coolest features of the release to enable multiple people to collaborate on a rich canvas online or offline. In addition to the Office Web Apps, we updated InfoPath Forms Services and Excel Services and added, new for 2010, Visio and Access Services.

5. SharePoint Mobile Access – We both improved the experience for mobile web browsers and are introducing a new SharePoint Workspace Mobile client so you can take Office content from SharePoint offline on a Windows Mobile device. These clients let you navigate lists and libraries, search content and people and even view and edit Office content within the Office Web App experience running on a mobile browser.

Communities

In the first post, I talked about breaking down organization and technology silos as key driver of our vision. Since then we have tried to make SharePoint the ultimate Swiss army knife for collaboration with smart connections across people and teams. You told us you want to embrace new Web 2.0 approaches within a unified experience which we included in SharePoint 2007. For SharePoint 2010, we expanded and enhanced the set of collaboration and social networking tools for both organic and managed communities across your organization. The top five investment areas:

1. Collaborative Content – Building on the new SharePoint user experience, we made it much easier to create and find content in SharePoint sites. This includes not only improved blogs and wikis (both simple and enterprise) but also calendars, discussions, tasks, contacts, pictures, video, presence and much more. With Office 2010, multiple people can simultaneously author content on a SharePoint site.

2. Social Feedback and Organization – With SharePoint 2010, we are introducing a consistent experience for organizing, finding and staying connected to information and people including bookmarks, tagging and ratings. We have taken a holistic approach across search, navigation, profiles, feeds and more. We are bringing together informal social tagging with formal taxonomy described below so you can choose the right approach for a given set of content. We have been using these features internally for a while and I think you will find the not only useful but fun.

3. User Profiles – We enhanced user profiles to reflect colleagues, interests, expertise – either via explicit tagging or recommendations based on Outlook and Office Communicator. The model is opt-in so users can manage what information is shared publically. They decide when an interest is something they want to share or be asked about by others in the organization.

4. MySites – We significantly enhanced MySites in SharePoint 2010 building on the updated SharePoint UI and user profile. We streamlined MySites to give you quick access to your content, profile and social network while continuing to let you customize, target and personalize pages to the needs of different roles and users in your organization. The enhanced newsfeed helps track interests and colleagues.

5. People Connections – In SharePoint 2003, we introduced a universal person hyperlink and presence icon so you can always navigate to a user’s MySite, send them mail, start an IM, call, etc. In this release, we enhanced this UI in conjunction with Outlook and Office Communicator as well as greatly improved the colleague tracking and people search features with new algorithms and user experience leveraging expertise, social data and more. MySites also include a new interactive organization browser built using Silverlight to give you another way to navigate the organization. In larger companies, org. chart browsing via the address book is one of the most popular features in Outlook and we think this takes that experience to the next level.

Content

SharePoint 2007 brought together document management, records management and web content management with a consistent user experience, architecture and platform. We built a common platform for metadata, security, workflow, etc. SharePoint 2010 adds scale and depth in these areas as well advancing the user experience. The top five investment areas:

1. Large Lists and Libraries – We made architecture and user experience investments so you have much larger document libraries with metadata driven navigation to help users go quickly to the content that is most important to them. Libraries will scale to tens of millions and archives to hundreds of millions of documents. This is a key investment for high-end document and records management but also helps organizations with lots of smaller sites. We enhanced the workflow capabilities and tools in SharePoint Designer.

2. Enterprise Metadata – We are addressing your feedback to support content types and taxonomies across not only across sites but also server farms. We have made applying this metadata easy (and valuable to users) in both the SharePoint and Office client user experience. The top-down taxonomy and bottoms-up social tagging (sometimes called folksonomy) combine to help improve search, navigation and people connections.

3. Document Sets We are introducing a way to manage a collection of documents as a single object for workflow, metadata, etc. within SharePoint and Office so experience more closely models your work product (e.g. a proposal that may contain a presentation, budget, contract, etc.).

4. Web Publishing including Digital Asset Management – We made a number of key improvements to make it easier to publish rich sites on the intranet or internet. We used the new browser ribbon and editor experience to speed site customization, content authoring and publishing tasks. We added digital asset management features like thumbnails, metadata and ratings for images as well as video streaming from SharePoint. Finally, we improved content deployment robustness from authoring to production for larger scale sites.

5. Governance and Records Management – Compliance is an increasingly important requirement for organizations. We enhanced the Records Managements features in 2010 building on the scalable storage and enterprise metadata support described above. We improved the sophistication and flexibility of our governance tools. Just a few new features include location-based file plans, multi-stage dispositions, in-place records and e-discovery.

Search

As discussed in my first post, enterprise search is a big investment area for Microsoft from Search Server Express to SharePoint’s standard search to the new FAST Search for SharePoint. We added depth at all levels in 2010. While many customers will be fine with the base SharePoint search capabilities, FAST Search for SharePoint will meet the most sophisticated needs. FAST Search for SharePoint supersets the base SharePoint user experience, APIs and connectors. This is the first step, but a big one, and we will add more consistency and enhancements across our tiers of search in the future. We will continue to sell and enhance FAST ESP standalone as well. The top five investment areas here:

1. Interactive Search Experience – We built a richer search experience providing flexible navigation, refinement and related searches. Both Standard and FAST Search for SharePoint get query completion, spell checking, wild cards and more. FAST enhances this experience enabling feature content for common queries and providing more flexible navigation and document thumbnails and previews including in slide navigation of PowerPoint presentations which is a common end user scenario.

2. Relevance – We improved the out-of-box ranking and expanded the relevance factors including social data such as tagging and usage (clicks). FAST Search adds more configurable set of relevance inputs for custom applications and specialized corpuses.

3. People Search – We greatly improved people finding based on social networking and expertise algorithms and tailored user experience for people including getting views of authored content. As users frequently do not know or recall the spelling of people’s names, we built a new phonetic search algorithm that works much better than previous approaches to spell checking for names. In testing, we had a lot of fun coming up with crazy ways to misspell each others’ names to see if we could stump it.

4. Connectivity – We know lots of data lives outside SharePoint so expanded and improved our connectors to index web sites, file servers, SharePoint, Exchange, Lotus Notes, Documentum and FileNet. The updated Business Connectivity Services (previously the BDC) described below makes it much easier to index an arbitrary source such as a custom database. You can create this search connection without code using the new SharePoint Designer.

5. Scale and Platform Flexibility – We made significant performance and scalability improvements through our search technology. Optimizing for 64-bit helped but we also introduce partitioned indices and scale-out query servers in SharePoint search this release. FAST scales-out even further and has significantly more pipeline extensibility to handle the largest collections and most complex value-added processing and search applications. We think both end users and IT will be immediately excited about the new capabilities supporting hundreds of millions of documents with great index freshness and query latency.

Insights

Historically, business intelligence has been a specialized toolset used by a small set of users with little ad-hoc interactivity. Our approach is to unlock data and enable collaboration on the analysis to help everyone in the organization get richer insights. Excel Services is one of the popular features of SharePoint 2007 as people like the ease of creating models in Excel and publishing them to server for broad access while maintaining central control and one version of the truth. We are expanding on this SharePoint 2010 with new visualization, navigation and BI features. The top five investment areas:

1. Excel ServicesExcel rendering and interactivity in SharePoint gets better with richer pivoting, slicing and visualizations like heatmaps and sparklines. New REST support makes it easier to add server-based calculations and charts to web pages and mash-ups.

2. Performance Point Services – We enhanced scorecards, dashboard, key performance indicator and navigation features such as decomposition trees in SharePoint Server 2010 for the most sophisticated BI portals.

3. SQL Server – The SharePoint and SQL Server teams have worked together so SQL Server capabilities like Analysis Services and Reporting Services are easier to access from within SharePoint and Excel. We are exposing these interfaces and working with other BI vendors so they can plug in their solutions as well.

4. “Gemini” – “Gemini” is the name for a powerful new in memory database technology that lets Excel and Excel Services users navigate massive amounts of information without having to create or edit an OLAP cube. Imagine an Excel spreadsheet rendered (in the client or browser) with 100 million rows and you get the idea. Today at the SharePoint Conference, we announced the official name for “Gemini” is SQL Server PowerPivot for Excel and SharePoint.

5. Visio Services – As with Excel, users love the flexibility of creating rich diagrams in Visio. In 2010, we have added web rendering with interactivity and data binding including mashups from SharePoint with support for rendering Visio diagrams in a browser. We also added SharePoint workflow design support in Visio.

Composites

The single biggest area we increased our investment from SharePoint 2007 was making it easier for everyone – users, IT, partners, etc. – to build custom solutions on SharePoint that automate processes and connect disparate information. Some of the scenarios are more IT driven. Analysts often call them “Composite Applications”. Others are more end user centric or “Mash-Ups”. We thought “Composites” was a good short word to describe the breadth of solutions built with SharePoint. The top five investment areas:

1. SharePoint Designer – We revamped the SharePoint Designer experience to focus on the building blocks of a SharePoint solution vs. HTML source code. The user experience gets easier including the Office Ribbon and new tools for building workflows and connecting to external data. We have made SharePoint Designer customizations safe out-of-box in 2010 so IT can let users customize sites without risk. SharePoint Designer is also a great tool for mashing-up SharePoint (which now exposes REST) and external data.

2. InfoPath Forms Service – InfoPath is the best way to have a common form definition render in the browser as well as in a rich and offline client. For 2010, we improved the design environment to make it easier to build rich forms declaratively with little to no code and more client-side validation. We have also made it straightforward to use InfoPath forms as native SharePoint forms both on the web and when offline from within the SharePoint Workspace client.

3. Access Services - Users have long loved the ability to create database applications quickly with forms and views. Access Services lets you publish new Access solutions to a SharePoint site where they can be managed centrally and accessed (necessary pun) from a web browser.

4. Sandbox Solutions – In SharePoint 2007, custom code requires the farm administrator to trust the code running on the server. In SharePoint 2010 we are introducing a new SharePoint custom code sandbox with isolation and resource limitations (memory, SQL, CPU) that allows administrators to let others safely add and consume custom solutions without impacting overall farm performance and stability. While it does not cover the full SharePoint object model it addresses key scenarios like custom web parts and event receivers. We will use this and the client side object model described later to support custom SharePoint solutions in SharePoint Online as well.

5. Business Connectivity Services – We expanded the read-only Business Data Catalog from SharePoint 2007 to support create, read, update, delete, search and offline access to line-of-business (LOB) data. This data, such as a customer record from a database, web services, etc. is called an External List in SharePoint 2010 and it is mapped to an External Content Type so this data looks and behaves like native SharePoint lists. You can not only update this data from within SharePoint but can take it offline from SharePoint Workspace and, where it makes sense like contacts, in Outlook with offline editing. There is great support for BCS in SharePoint Designer and Visual Studio 2010. This perhaps our biggest “Wow, how did you do that?” demo. We will be building on the BCS for future LOB connectivity solutions.

Administration

We understand the most critical capability for you to introduce these features to your users is making it easier to manage. We have gotten a lot of great feedback in this area and made big investments for SharePoint 2010. As I have mentioned in previous posts, our experience with our CAT team, running SharePoint Online with SharePoint 2007 and targets for higher scale informed the design of SharePoint 2010. You have the choice of Server, Online or a mix. Even if you run SharePoint yourself, you benefit from our design and experience with Online. Beyond the fundamentals of scalability and reliability which got a lot of focus, the top five investment areas:

1. Improved Upgrade – We changed the model for SharePoint 2010 vs. the previous release. We will get your existing sites up and running with the existing SharePoint 2007 user interface including your customizations. You can preview and switch to the new UI at your convenience. With SP2 of SharePoint 2007, we released an upgrade checker tool that reports any potential issues. There are two key things to think about in planning the migration. First, as we announced a while ago, SharePoint 2010 is 64-bit only. Second, thin about places where you may have invested in custom code than can be replaced with out-of-box features such as the new enterprise metadata features described above.

2. Throttling, Health Monitoring, Analytics – Performance and reliability was a big focus for this release to address the scale of the largest organizations, web sites and the SharePoint Online service. We invested in optimizing the SharePoint, Windows Server and SQL Server architecture for scale and availability. We introduced more resource governors throughout SharePoint to prevent bulk operations or asynchronous jobs from slowing down the server. We built in proactive and extensible health reporting, monitoring and resolution in SharePoint 2010 based on analyzing a wide range of deployments. We will enhance this based on your feedback and our experience during the Beta and beyond. We are introducing a new usage analytics logging and reporting and are publishing the SQL schema for this analytics database so you can create your own reports.

3. Web and PowerShell Admin – We improved the web based administration interface for SharePoint 2010 and put it through the level of usability testing we had previously focused on for end user features. However, the biggest thing we heard from you was an improved scripting interface for SharePoint for simplified administration of farms. With the release of PowerShell, we were able to switch over all our administration to that framework and will ship with hundreds of commandlets you can use, edit and enhance. The administration framework is built on a new multi-tenant model we are be using on SharePoint Online but know is also of interest to 3rd-party hosters and large organizations looking to do server consolidation.

4. Scalability and Availability – We made the shared services and federation model much more flexible to support richer scale out as you add services, sites and applications to SharePoint. We reduced the downtime for SharePoint 2010 with improved patching and SQL Server configuration, backup-restore, log shipping support and more.

5. Identity Management and Security – We have introduced more flexibility identity lifecycle management including updates between SharePoint with identity sources like Active Directory, LDAP servers and HR applications.

Development

I covered the higher-level solutions features under “Composites” above. Many of these enable building solutions with much less code than possible before. We also invested in a number of lower level development features as well for hard core developers. The top give investment areas:

1. New SharePoint APIs – This bullet is a blog post itself! The new UI framework has more extensibility in the ribbon and natively uses XSLT DataViews in lists vs. previous CAML views. There are new APIs for AJAX and Silverlight applications that make it make it much easier to access SharePoint data with less code and better performance. We significantly improved list access and programmability with REST, ATOM, JSON and LINQ including richer data relationship, validation, joins and projections over SharePoint lists which as described above can now reach far higher scale points.

2. Application Lifecycle – We have converged and improved on WSP as the packaging and deployment format for SharePoint solutions. You can save as WSP in SPD and bring that into Visual Studio 2010.

3. Visual Studio 2010 Support – SharePoint 2010 is a first class target for Visual Studio 2010. This includes F5 deployment and debugging (applause welcome …) as well as designers for various SharePoint project types, web parts, workflow, business connectivity services and integration with the VS Server Explorer. The early feedback on this has been so great, we decided to highlight it in Steve Ballmer’s keynote at the SharePoint Conference.

4. Developer Dashboard View – If you have the rights, you can turn on a mode for a SharePoint page which will render at the bottom to show full trace and latency through the SharePoint, .NET and SQL layers. You can use our reporting tools described earlier to identify any slow pages in your site and then turn on this view to see a custom web part has bogged down the page by making repeated expensive SharePoint object model calls.

5. Development on Windows 7 – We now support development on Windows 7 and Vista client machines. Although it isn’t a supported configuration for production, we heard you that you want to use it as a development environment.


What’s New in SharePoint 2010?

Posted by admin on Monday, 8 November, 2010

Alerts Enhancements

Microsoft SharePoint Foundation 2010 expands the alerts framework to enable users to have alerts sent as Short Message Service (SMS) messages to their mobile devices.

Extensible Mobile Messaging Framework

SharePoint Foundation 2010 takes advantage of the new mobile messaging framework to enhance its Alerts feature. To support the new option, the SPAlert class now has a property that indicates whether the alert is delivered as e-mail or as an SMS message. The SharePoint Foundation Web application is given its own account, which can be programmatically changed, with a mobile messaging service provider.

The mobile messaging framework is itself extensible, so you can create your SharePoint Foundation solutions that incorporate SMS messages that are sent to mobile telephones. You can create a completely customized alert system if you want. If your messaging solution uses the Office Mobile Service (OMS) protocol, most of your development work has already been done for you. A rich set of classes has been added to the object model to represent the Web Methods and response types of the protocol. If your solution requires a different protocol, base classes have been provided with default implementations of essential properties and methods.

Business Connectivity Services

Microsoft Business Connectivity Services (BCS), formerly named the Business Data Catalog, provides read/write access to external data from line-of-business (LOB) systems, Web services, databases, and other external systems within Microsoft SharePoint 2010. SharePoint 2010 has product features that can use external data directly, both online and offline. Developers can gain access to a rich set of features and rapidly build solutions by using familiar tools such as Microsoft Visual Studio 2010 and Microsoft SharePoint Designer 2010.

Business Connectivity Services enhances SharePoint application capabilities and their UI through features, services, and tools. These enhanced capabilities and UI streamline development of solutions with deep integration of external data and services. Power users, developers, and business unit IT professionals can integrate assets from external systems and enable interaction with the external data through many types of applications. The Business Connectivity Services feature set enables rapid development and deployment of scalable and security-rich solutions.

The following are some of the features of Business Connectivity Services.

Write-back to External Systems

Using Business Connectivity Services, you can create; read, update, delete, and query (CRUDQ) to the external system from a Microsoft Office application or SharePoint site if the external system supports the operations and is modeled appropriately in the Business Data Connectivity (BDC) service.

Familiar UI

External content types provide SharePoint behaviors (such as lists, Web Parts, and profile pages) to external data and services. As a result, users can work in their familiar work environments without needing to learn different (and often proprietary) user interfaces.

More Connectivity Options

The core function of BDC is to provide connectivity support to the following types of external systems:

  • Databases
  • Web and Windows Communication Foundation (WCF) services
  • Microsoft .NET connectivity assemblies
  • Custom data sources

Extensible Provider Model

In addition to connectors for the previous list of data sources provided by BDC, BDC provides a pluggable framework with which developers can plug in connectors for new external system types, thus enabling these new data source types to be accessed via the BDC.

Batch and Bulk Operation Support

In Office SharePoint Server 2007, BDC supported only single item operations, such as search. BDC now provides batch and bulk operation support which enable you to read multiple items in a single call thus reducing round trips to the backend dramatically.

Read BLOBs

BDC now supports reading Binary Large Object (BLOB) data. This is useful for streaming BLOBs of data from the external system.

Read and Write-back of Complex Types

BDC now supports dot notation in field names and therefore enables you to read and write complex types.

Life Cycle Management

Business Connectivity Services provides a set of tools to facilitate creation of models and Office 2010 application artifacts, declaratively and by writing code. You can use SharePoint Designer 2010 to rapidly create composite solutions that meet external unit needs without writing code. You can use Visual Studio to create or extend solutions with sophisticated workflows and data that spans structured LOB systems, unstructured SharePoint applications or Microsoft Office applications, and Web 2.0 services.

Enhanced API Set and Extensibility

Developers can use the BDC Runtime object model to write generic applications by using the stereotyped APIs as building blocks. Such generic applications are then assured to work against any external system, including those that are preexisting and those that are yet to be built.

Developers can also write specific applications that make assumptions about the abstract entity model (the fields exposed by these, and the types of the fields).

And with the .NET Assembly Connector, Custom Connector and the pluggable Secure Store Provider, it provides a rich extensibility mechanism for software developers.

Client Object Model

Microsoft SharePoint Foundation 2010 introduces three new client APIs for interacting with SharePoint sites: from a .NET managed application (not earlier than Microsoft .NET Framework 3.5), from a Microsoft Silverlight application (not earlier than Silverlight 2.0), or from ECMAScript (JavaScript, JScript) that executes in the browser. These new APIs provide access to a subset of the types and members that are contained in the Microsoft.SharePoint namespace of the server-side object model.

The new client object models provide an object-oriented system for interoperating with SharePoint data from a remote computer, and they are in many respects easier to use than the already existing SharePoint Foundation Web services. You start by retrieving a client context object that represents the current request context, and through this context, you can obtain access to client objects at site-collection level or lower in the SharePoint Foundation hierarchy. Client objects inherit from the ClientObject class (ECMAScript: ClientObject), and you can use them to retrieve properties for a specific SharePoint object, to retrieve child objects and their properties, or to retrieve child items from a collection.

Custom Field Rendering Enhancements

Microsoft SharePoint Foundation 2010 makes two significant changes to the way that you define how custom field types render.

XSLT Stylesheet Rendering on List Views

In Windows SharePoint Services 3.0, fields were rendered on list view pages by a RenderPattern element in a field definition file, fldtypes*.xml. In SharePoint Foundation 2010, fields are rendered on list view pages by XSLT stylesheets. Consequently, you now define the rendering of your custom field types by creating a custom XSLT stylesheet rather than adding a custom RenderPattern element to a field type definition

RenderPattern Elements are Now Obsolete

In Windows SharePoint Services 3.0, fields were also typically rendered in Display mode by means of a RenderPattern element in a field definition file. It was also possible, although rare, to render a field in Edit and New modes with a RenderPattern element. It was more common to render fields in Edit and New modes with a user control (ASCX), known as a RenderingTemplate, and it was possible to use a user control to render a field in Display mode. In SharePoint Foundation 2010, custom fields should always be rendered with user controls in all three modes. Although some long-standing built-in fields still use a RenderPattern element, for development of custom fields RenderPattern elements are obsolete.

PropertySchema Elements are Now Obsolete

In Windows SharePoint Services 3.0, when a custom field had a variable property (that is, a property with a different value on different lists), a control was needed on the New Site Column, Change Site Column, Create Column, and Change Column pages so that users could set the property value. One of the ways that custom field designers could define the rendering of this control was with a PropertySchema element in a field definition file. This method is now obsolete. You should create an editing control as a user control (ASCX). Point your custom field to the user control by setting the FieldEditorUserControl property.

Backward Compatibility

If there is no user control (RenderingTemplate) for a field, the runtime looks for a RenderPattern element in the field type definition file and, if found, uses it. One implication of this behavior is that custom fields that you created for versions earlier than SharePoint Foundation 2010 can still use their existing field type definitions with RenderPattern elements for Display, Edit, or New mode.

SharePoint Foundation 2010 will not automatically render your legacy custom fields on list views by using the RenderPattern in the field type definition for the field. However, if you do not want the default rendering that is given to the field by the XSLT stylesheet, you can re-enable the RenderPattern by adding a <Field>TRUE</Field> element to the field type definition.

Events Enhancements

Microsoft SharePoint Foundation 2010 supports multiple new events, including on-create events for lists and Web sites and support for synchronous after events. Many of the new events are available in both synchronous and asynchronous modes. SharePoint Foundation offers a more approachable events infrastructure that is easier to program against than earlier versions.

What’s New in the Event Model

New events in SharePoint Foundation 2010 include the following:

  • add and delete events on lists.
  • add events on Web sites.
  • after events can now be either synchronous or asynchronous.

Additionally, new event model capabilities include the following:

  • Event registration at the site collection level.
  • XML event registration at the site receiver.
  • Improved semantics for retrieving event data.
  • Improved user interface for form-level events.

Health Analyzer

Microsoft SharePoint Foundation 2010 introduces SharePoint Health Analyzer, an extensible, rules-based infrastructure that monitors and maintains the health of SharePoint Foundation throughout a server farm. It is designed to check automatically for potential configuration, performance, and security problems and to identify issues to farm administrators.

SharePoint Health Analyzer monitors the farm by applying a set of health rules. A health rule is executable code that is deployed in a compiled assembly at the farm level and registered with SharePoint Health Analyzer by a farm administrator. A number of health rules are included with SharePoint Foundation. You can create and deploy additional rules by writing code that uses the SharePoint Foundation object model.

List Enhancements

Microsoft SharePoint Foundation 2010 adds features to the list infrastructure that improve user experience in the case of large lists, and that enhance data integrity.

Large Lists

In enterprise deployments of SharePoint Foundation, list content can often grow into such large collections that, when users access that content through standard operations, the performance of the site diminishes. The new List View Threshold feature addresses this issue by allowing you to specify a maximum number of list items that a database operation can retrieve. If a query exceeds the threshold, the query is blocked because it would adversely affect site performance.

Properties of the SPWebApplication class allow you to set request throttling for operations that return list items. For example, the MaxItemsPerThrottledOperation property specifies the maximum number of items that can be affected by a query or list update; if the number is exceeded, the operation is cancelled. The EnableThrottling property of a list object specifies whether throttling is applied to the list, and SPQuery and SPSiteDataQuery each have a RequestThrottleOverride property. The SPFieldIndex class represents a compound index over one or two fields in a list, which provides support for efficient list item queries that filter by using the fields.

Referential Integrity for List Items with Lookup Columns

In previous releases of SharePoint Foundation, you could create a loosely defined relationship between lists through a lookup field, where a child list looks up to a parent list. In SharePoint Foundation 2010, items in the parent list are inherently “aware” of related items in the child list, and you can set referential integrity constraints on the child items by specifying a delete behavior. You can define list relationships and specify delete behavior through the user interface or through the object model.

The SPRelatedField class represents a relationship between fields in two lists. You can get a collection of SPRelatedField objects by calling the GetRelatedFields()()()() method of the SPList class. The SPRelationshipDeleteBehavior enumeration is used to specify a deletion constraint: Cascade delete, where deleting a parent list item also deletes all related child items in one transaction; Restrict delete, where an error message is displayed if a user attempts to delete a parent list item with child items that look up to it; or None, which means no delete behavior is enforced (default value). You set a delete behavior through the RelationshipDeleteBehavior property of a lookup field, which is represented by an instance of the SPFieldLookup class.

Enforcing Unique Column Constraints

With SharePoint Foundation, you can now provide a primary key on column fields by using (or “enforcing”) a new feature named unique column constraints. You can use this feature to enforce uniqueness on values in a list or document library column. Note that not all column types support this feature

To support uniqueness constraints, a column must be able to be indexed. Furthermore, when uniqueness is enforced on a lookup column, the list item in the target list can have at most one list item looking up to it from the child list (the list where the Lookup column lives). In other words, uniqueness is not enforced on the projected column of the target list but rather on the ID column.

This feature can also be used programmatically by using a new property on the SPField object named EnforceUniqueValues. The property gets and sets a Boolean to specify whether duplicate values are allowed; the default is to allow duplicate values, so you must explicitly set a column field property EnforceUniqueValues to true.

External Lists

Microsoft Business Connectivity Services (BCS) introduces the external list, which allows you to access external data in the same way that you access SharePoint Foundation list data. Users can interact with an external list in the same way they interact with other SharePoint lists

Microsoft Synch Framework

The Microsoft Synch Framework in SharePoint Foundation is a comprehensive and unified synchronization architecture that provides data-agnostic and bidirectional capabilities to developers. Because it was designed to provide cross-application synchronization, implementing the Microsoft Synch Framework allows other Microsoft and third-party applications to synch more easily with SharePoint Foundation 2010 deployments.

The Synch Framework provides three core building blocks:

  • Synch Runtime
  • Synch Metadata Services
  • Synch Provider

Mobile Device Development Enhancements

Microsoft SharePoint Foundation 2010 greatly expands access from mobile devices to SharePoint Foundation pages, lists, and functionality.

Mobile Web Part Adapters

It is now possible to have a mobile page that corresponds in purpose, data, and functionality to a nonmobile Web Parts page. You can adapt any Web Part on a nonmobile page by adding a control to the mobile page that duplicates the Web Part’s functionality. These controls are known as mobile adapters. Some of the major Web Parts that are built into SharePoint Foundation already have adapters. You develop your own adapters for Web Parts that you want to make available on mobile pages. A mobile adapter must be registered in the compat.browser file and registered as a Safe Control. When a mobile device accesses a Web Parts page, SharePoint Foundation redirects the device to the corresponding mobile page. For each Web Part on the Web Part page that has an adapter control, the adapter control will be rendered on the mobile page

Mobile Messaging

Your SharePoint Foundation solutions can now incorporate Short Messaging Service (SMS) messages sent to mobile telephones. If your messaging solution uses the Outlook Message Service (OMS) protocol, most of your development work has already been done for you. A rich set of classes has been added to the object model to represent the Web Methods and response types of this protocol. If your solution requires a different protocol, base classes have been provided with default implementations of essential properties and methods.

SharePoint Foundation 2010 takes advantage of the new mobile messaging support to enhance its Alerts feature. Users can now choose to have Alerts sent as SMS messages to a mobile telephone. The SharePoint Foundation Web application is given its own account, which can be programmatically changed, with a messaging service provider.

New Mobile Pages and Controls

SharePoint Foundation 2010 adds many new types of mobile pages and over 60 new public mobile controls. These improvements provide new or enhanced support in mobile devices for view filtering, people selection, file uploading, images, wiki pages, Web Parts pages, and other functionality. The appearance of mobile pages is more colorful as well. In general, you can come much closer now to duplicating on a mobile device the full range of appearance, functionality, and data access that your SharePoint Foundation solutions provide to nonmobile users.

Mobile Document Viewers

You can create custom pages that host document viewers that enable mobile users to open, on their mobile device, documents from SharePoint Foundation document libraries even if they have been formatted for a particular desktop application, such as a spreadsheet or word processor application.

Performance Monitoring and Request Throttling

Microsoft SharePoint Foundation 2010 introduces a programmable system of throttling HTTP requests when the front-end Web server that is handling the requests becomes too busy to handle them all.

Using the system, your server code can do the following:

  • Determine which Windows Server 2008 performance counters are used to determine whether a front-end Web server is busy.
  • Define what values of a counter are poor enough to cause the worker thread to begin throttling.
  • Define which kinds of HTTP requests are throttled and whether they are throttled as soon as the server is busy or only when it has been busy continuously for at least 60 seconds.
  • Exempt certain kinds of HTTP requests from throttling.

The system also reports the current health score of the front-end Web server in the HTTP response object, so your client side code can do its own request throttling.

Query Enhancements

Microsoft SharePoint Foundation 2010 includes several new ways to query and filter data.

New Query Support for Server Side Code

Querying data in server code has become significantly easier and more powerful in SharePoint Foundation 2010.

LINQ to SharePoint Provider

When your code needs to query list data, it is no longer necessary to compose a Collaborative Application Markup Language (CAML) query. SharePoint Foundation 2010 includes a LINQ to SharePoint provider to enable your code to query SharePoint lists from server code by using LINQ syntax. The provider translates your LINQ queries into CAML queries for submission to the content database. Because SharePoint Foundation 2010 also adds a new Join element to the Query Schema, you can have both implicit and explicit joins in your LINQ queries by using the join keyword. (See “List Joins Supported in CAML Queries” below.) You can also write to the lists by using the provider. As always with a LINQ provider, you must have classes that provide an object-oriented interface over the relational content databases. These classes are generated for you by the SPMetal tool that is included with SharePoint Foundation 2010

You can use LINQ syntax in your code even if you are not using the LINQ to SharePoint provider. Any SharePoint Foundation object that implements IEnumerable<(Of <(<’T>)>)> can be queried with LINQ syntax.

List Joins Supported in CAML Queries

You can now join multiple lists in a single query with the new Join Element (View). Use the new ProjectedFields Element (View) element to specify what list fields to include in the results. There are some details that need to be considered when using these elements.

Querying in Client Side Code

There have been dramatic changes in the way that client applications access SharePoint Foundation data.

Queries in the Client Object Model

You can query within the client object model in two ways:

  • Write CAML queries for use with the SPQuery class

Ribbon

The Server ribbon offers new functionality in the Microsoft SharePoint Foundation 2010 user interface. The ribbon serves as the primary command surface that you can use to interact with objects within Microsoft SharePoint Foundation. In earlier product versions, commands were accessed across multiple surfaces and located in varying menus. With the introduction of the ribbon, commands are grouped in a logical manner through the use of tabs and groups, making them easy to find. You can also extend the functionality of the ribbon to include your own custom commands.

Sandboxed Solutions

A sandboxed solution is a new concept in Microsoft SharePoint Foundation that allows site collection users to upload their own custom code solutions. A sandboxed solution uses a subset of the Microsoft.SharePoint namespace. These objects are marked in the object model to show their availability in a sandboxed solution. All sandboxed solutions are stored in a solution gallery. In addition, there are facilities provided to help server farm administrators monitor and validate solutions that have been uploaded to these galleries. Performance can be monitored by measuring CPU execution time, memory consumption, and database query time. You can also monitor other aspects of operation including abnormal termination, critical exceptions, unhandled exceptions, and data marshaling size.

Security Enhancements

Microsoft SharePoint Foundation and Microsoft SharePoint Server 2010 continue to build on and enhance the security features in Windows SharePoint Services 3.0 and Microsoft Office SharePoint Server 2007. This topic summarizes the new features and enhancements for security in SharePoint Foundation and SharePoint Server 2010.

Claims-Based Identity and Authentication

Claims-based identity is an identity model in SharePoint Foundation and SharePoint Server 2010 that includes features such as authentication across users of Windows-based systems and systems that are not Windows-based, multiple authentication types, stronger real-time authentication, a wider set of principal types, and delegation of user identity between applications.

When a user signs in to SharePoint Foundation and SharePoint Server 2010, the user’s token is validated and then used to sign in to SharePoint. The user’s token is a security token issued by a claims provider. There are five supported sign-in or access modes in SharePoint Foundation and SharePoint Server 2010:

  • Windows Classic–Mode Sign-In
  • Windows Claims–Mode Sign-In
  • SAML Passive Sign-in Mode
  • ASP.NET Membership and Role Passive Sign-In
  • Anonymous Access
Note
SAML passive sign-in describes the process of signing in. When a sign-in for a Web application is configured to accept tokens from a trusted login provider, this type of sign-in is called SAML passive sign-in. A trusted login provider is an external (that is, external to SharePoint) STS that SharePoint trusts.

When you build claims-aware applications, the user presents an identity to your application as a set of claims. One claim could be the user’s name, another might be an e-mail address. The idea here is that an external identity system is configured to give your application all the information that it needs about the user with each request, along with cryptographic assurance that the identity data received by your application comes from a trusted source.

Under this model, single sign-on is much easier to achieve, and your application is no longer responsible for the following:

  • Authenticating users
  • Storing user accounts and passwords
  • Calling to enterprise directories to look up user identity details
  • Integrating with identity systems from other platforms or companies

Under this model, your application makes identity-related decisions based on claims supplied by the user. This could be anything from simple application personalization with the user’s first name, to authorizing the user to access higher-value features and resources in your application.

ASP.NET Membership User Token Converted to Claims Security Token

In SharePoint Foundation, an ASP.NET membership provider must implement the required System.Web.Security.Membership.ValidateUser method. Given a user name, the role provider system returns a list of roles to which the user belongs. The membership provider is responsible for validating the credential information by using the System.Web.Security.Membership.ValidateUser method (required now in SharePoint Foundation).

However, the actual user token is created by the SharePoint Foundation security token service (STS). The SharePoint Foundation STS creates the claims security token from the user name validated by the membership provider, and from the set of group memberships associated with the user name that are provided by the membership provider.

Automatic Password Change and Managed Accounts

The new automatic password change feature in SharePoint Foundation enables you to update and deploy passwords without having to perform manual password update tasks across multiple accounts, services, and Web applications. This makes managing password in SharePoint Foundation simpler. You can use the automatic password change feature to determine whether a password is about to expire and to reset the password by using a long, cryptographically-strong random string.

You use managed accounts to implement the automatic password change feature. Managed accounts in SharePoint Foundation improves security and ensures application isolation.

For more information about the managed account API, see:

  • SPManagedAccount
  • SPManagedAccount..::..EventProcessingOptions
  • SPManagedAccount..::..EventType

Effective Permission API

In Windows SharePoint Services 3.0, it is difficult to get a user’s effective permission on securable objects, such as SPWeb, SPList, SPListItem, and so on. Over time, the site can have very complex permission settings, especially when many objects do not inherit permissions from the parents (unique scope). It is difficult for administrators to determine the effective permission of a specific user and how the user gets the permission on a particular object. SharePoint Foundation introduced a new ribbon command named Check Permissions and a set of effective permission APIs that provide a quick way to enumerate all role assignments for a specific user in a specific scope.

The SPSecurableObject class exposes a new GetUserEffectivePermissionsInfo()()()() method. This method retrieves an object with detailed information about the effective permissions that a specified user has in the current scope and the role assignments related to this user at this scope. This method does not include Web application security policy information in the permission mask if the provided user belongs to a policy that is marked as “Account Operate as System”.This method is available for users who have the EnumeratePermissions permission granted. For more information about EnumeratePermissions, see the SPBasePermissions enumeration.

The SPSecurableObject class also exposes a new GetUserEffectivePermissions()()()() method. For the current scope, this method returns a SPBasePermissions object that represents the effective permission mask of the user.

The SPWeb class has a new method named GetWebsAndListsWithUniquePermissions()()()() for site collection administrators to retrieve a collection of Webs and lists that have unique permissions themselves or that have items with unique permissions.

The behavior of the API is as follows: From the starting URL, it returns a list of URLs of containers (for example, SPWeb or SPList) where a unique security scope is present (where Break Roles Inheritance occurred), including all containers that do not have a unique security scope but that contain one or many child items with unique security scopes.

The SPList class has a new GetItemsWithUniquePermissions()()()() method for site collection administrators to retrieve all list items with unique permissions.

For more information about these APIs , see Microsoft.SharePoint.

Note
This topic highlights only some of the new APIs. It does not list all the new security-related APIs added to SharePoint Foundation.

Secure Store Service

The Secure Store Service replaces the Microsoft Office SharePoint Server 2007 Single Sign On feature. Secure Store Service is a service that provides storage and mapping of credentials such as account names and passwords. It enables you to securely store data that provides credentials that are required for connecting to external systems and for associating those credentials to a specific identity or group of identities. It is common for solutions to try to authenticate to an external system in which the current user is known differently or has a different account for authentication. In such cases, Secure Store Service can be used to store and map user credentials that are required by the external system. You can configure Secure Store Service so that multiple users can access an external system by using a single set of credentials on that external system.

Service Application Framework

The Service Application Framework provides a platform that allows developers to build scalable middle-tier applications that are hosted in Microsoft SharePoint Foundation 2010. These services can provide data or processing resources to other SharePoint features. The Service Application Framework enables services to be shared between computers on a server farm; it also helps load balance and manage services in SharePoint.

The Service Application Framework provides over 20 services that are built into the core product. For example, SharePoint Search is implemented by Service Application Framework. The Service Application Framework is an API that is provided to build services that are hosted by back-end application servers and consumed by front-end Web servers.

The Service Application Framework replaces the Shared Services Provider in Microsoft Office SharePoint Server 2007. The Service Application Framework model is much more flexible than the Shared Services Provider model. Service applications can be used by a single server farm or shared across farms, allowing centralized shared computing investments. Service Application Framework applications are easily scaled out for load balancing high-demand service applications.

Key features of the Service Application Framework include the following:

Improved Development Experience

The Service Application Framework allows service developers to focus on the business logic of their applications. The Service Application Framework makes it easy to implement details such as writing code to configure a server that runs Internet Information Services (IIS), installing a Secure Sockets Layer (SSL) certificate, creating a virtual directory, managing credentials for a pool of application users, managing and caching distributed settings, tracking and load balancing endpoints, and also performing many backup and restore tasks.

Improved Integration with SharePoint

The Service Application Framework offers integration with the management experience. Services plug their management User Interface (UI) into the SharePoint Service Management page, thereby providing a common experience for administrators. Services benefit from common SharePoint administration tools such as Upgrade, Backup/Restore, and Account management. Administrators can use this common UI to manage, start, stop, group, associate, federate, and backup services.

Service developers can build their own administrative pages to manage their services and host them by using SharePoint Central Administration. Services can be configured to have their own additional specialized administrative roles. Service Administration can also be delegated to users who are not server farm administrators. In this case, the Central Administration UI is security trimmed to include only the pages that the Service Administrator has permission to access.

Management of Service Application Framework applications can be performed through either the Central Administration UI or Windows PowerShell.

Integration with Windows Communication Foundation

The Windows Communication Foundation (WCF) service model addresses communication between client and service. The SharePoint service model addresses deployment, management, and discovery of services in a server farm. These models are complementary, the Service Application Framework is ideal for deploying, managing, and discovering WCF service clients and endpoints

Round Robin Load Balancing

Service Application Framework provides round-robin load balancing.

SharePoint service applications are typically hosted on multiple machines and invoked from a service client application that is running on a front-end Web server. Service application proxy method invocations must be routed from the front end Web server to an appropriate application server by using a load balancing tool.

While SharePoint Foundation administrators do configure external load balancing solutions for front-end Web servers, they do not expect calls between front-end Web servers and application servers to require yet another external load balancer. SharePoint provides a simple round-robin load balancer implementation in the SPRoundRobinServiceLoadBalancer class, which can be enhanced or replaced by third-party developers as necessary. Service application proxies may use the built-in round-robin load balancer to route requests to the appropriate back-end service application.

Claims Based Identity

The claims-based identity model for SharePoint Foundation and SharePoint Server is built upon Windows Identity Foundation (WIF). This new identity model includes features such as authentication of users across both Windows-based systems and non-Windows-based systems, also multiple authentication types, stronger real-time authentication, a wider set of principal types, and delegation of user identity between applications.

When you build claims-aware applications, the user presents an identity to your application as a set of claims. One claim could be a user name, another claim might be an e-mail address. The idea here is that an external identity system is configured to give your application everything it needs to know about the user with each request, along with cryptographic assurance that the identity data you receive comes from a trusted source. Under this model, single sign-on is much easier to achieve. Service application authorization is performed by using claims. Web application calls to service applications are secured by using claims.

Backup and Restore

The Service Application Framework allows for easy integration with the SharePoint backup and restore tool.

Silverlight Integration and Cross-Domain Data Access

In Windows SharePoint Services 3.0, you could host a Microsoft Silverlight application in a Web Part. Microsoft SharePoint Foundation 2010 goes beyond by providing a built-in, extensible, Silverlight Web Part specifically designed to host Silverlight applications. Closely related to the new Web Part is Silverlight Cross-Domain Data Access (Silverlight CDA) that enables secure, cross-domain, integration between Silverlight applications and SharePoint Foundation deployments, and Silverlight CDA can be used by non-Silverlight external applications as well.

Silverlight Web Part

Adding a Silverlight application to your SharePoint Foundation solution need not require any SharePoint Foundation development at all in the simplest case: Users install your Silverlight application on the same domain as their SharePoint Foundation Web application and add the hosting Silverlight Web Part through the UI. All they need supply is the URL of the application. If the Silverlight application accesses SharePoint Foundation data and is hosted on a server outside the domain of the Web application, you create External Application XML that users, in turn, use to register the hosting Silverlight Web Part. A built-in Silverlight Tool Part is also part of SharePoint Foundation 2010.

Silverlight Cross-Domain Data Access

It can be a great advantage to SharePoint Foundation users to be able to host applications that are in a different domain from the SharePoint Foundation Web application, because many such applications can be hosted on an application server and made available to all Web applications in the farm. SharePoint Foundation 2010 introduces Silverlight CDA to make this scenario possible in a secure way. Silverlight CDA enables administrators to control the permissions of the external applications without unduly restricting the ability of users to add Web Parts hosting these applications to Web Part pages. The application logs on to the SharePoint Foundation Web application as a distinct type of user known as an application principal. The application’s permissions are the intersection of the permissions that the administrator has granted this special user and the permissions of the real user who opened the Web page containing the Web Part that hosts the application.

UI Enhancements

The user interface (UI) in Microsoft SharePoint Foundation has been upgraded significantly. This includes the introduction of the Server ribbon, a revamped master page, and new cascading style sheets (CSS). Each of these enhancements creates a more consistent experience for users across pages and makes it easier to work with objects inside SharePoint Foundation.

User Interface Improvements

The following elements have been upgraded in SharePoint Foundation.

The Server Ribbon

The Server ribbon was introduced to make the command surfaces in SharePoint Foundation easier to use. The commands are logically grouped into tabs and groups to help users find commands more easily. The ribbon can also be extended to include customized tabs, groups, and commands

Master Pages

In SharePoint Foundation application pages now reference the site master page. Site and application pages now contain the same content placeholders in SharePoint Foundation. Administrators can turn off custom master pages for application pages as well.

Cascading Style Sheets

The cascading style sheets in SharePoint Foundation have been revamped. The CSS has been divided into multiple files to enable more targeted customization scenarios and to improve page loading performance.

ULS Logging

This topic introduces the new logging features available to Microsoft SharePoint Foundation 2010 developers, as well as the improvements made to the existing logging mechanisms.

New for Logging

The following features are new to logging in SharePoint Foundation.

SPMonitoredScope

The SPMonitoredScope is a code attribute that, when applied to a class or method, allows a developer to write logging information to the SharePoint Foundation usage database with complete application information and custom strings.

Request Usage Database

The request usage database allows the capture of every SharePoint Foundation resource request that is made as a page is rendered.

Developer Dashboard

The developer dashboard is a utility that a developer can enable when debugging a SharePoint Foundation Web page. Similar in concept to ASP.NET tracing, this dashboard displays all the details of the request to the user.

API Improvements

In Windows SharePoint Services 3.0, the only way to write to SharePoint Trace Logs and Unified Logging System (ULS) Logs was to implement the IDiagnosticsManager interface, which required additional code to implement. However, in SharePoint Foundation, the preferred method is to use the SPDiagnosticsServiceBase class, which contains simpler and more efficient ways to interact with ULS Logs, specifically, the WriteEvent and WriteTrace methods that are simple to implement.

Windows PowerShell for SharePoint

Windows PowerShell™ command-line interface is a new command-line tool and supporting scripting language from Microsoft that complements Cmd.exe in the Windows administration context. In the SharePoint administration context, Windows PowerShell supersedes the Stsadm.exe administration tool. Moving forward, you should use Windows PowerShell scripting technology to develop any new command-line scripts in SharePoint Foundation 2010.

Workflow Enhancements

In Windows SharePoint Services 3.0, the Windows Workflow Foundation provided a highly extensible workflow model to the SharePoint platform. Microsoft SharePoint Foundation 2010 continues to build upon the functionality available in Windows SharePoint Services 3.0 and improves and expands your options so that you can build rich workflows that can accommodate even more complex business scenarios. This topic presents the new features that are available for workflows in SharePoint Foundation 2010.

New Features

The following is a list of the improvements and additions that have been added to the new product version.

New Workflow Activities

New workflow actions are built into the core installation of SharePoint Foundation. Workflow activities (also known as actions) are the building blocks of all workflows, and the addition of new activities gives you greater flexibility in your workflow design.

New Workflow Activities for SharePoint Foundation

Pluggable Workflow Services

Pluggable workflow services are now available that allow you to create workflows that interact and receive data from external sources.

Pluggable Workflow Services

Workflow Events

Workflows in Windows SharePoint Services 3.0 were built to respond to a limited number of events. In SharePoint Foundation, workflows can interact with even more events. SharePoint Foundation also gives you the ability to create your own custom events and event receivers.

New Workflow Events

Site Workflows

New site workflows break the dependency that Windows SharePoint Services 3.0 workflows had on list items. Site workflows now allow you to develop workflows that can be associated with specified events and other workflow activities.

Site Workflows

Reusable Declarative Workflows

In the previous version, workflows were associated only with a specified list or document library and could not be packaged and deployed or copied to other lists or document libraries. In SharePoint Foundation, declarative workflows are reusable, which allows you to apply your workflow development efforts for one list to multiple places.

Source : SDK