SharePoint 2007 New Feature Overview
by: Jason Fortner
Sharepoint 2007 is in Beta 2 now and is projected to be released at the beginning of the year but now is the time to start looking at the new features that SharePoint 2007 and WSS V3.0 will contain.
Below are some of the highlights of the new features that SharePoint 2007 and WSS V3.0 will contain.
Site columns provide a central, reusable model for column definition.
When you create a site column, each list that uses this column has the same definition, and you do not have to do the tedious work of reproducing the column in each list. Additionally, site columns provide you with the simplicity of a single maintenance point. For instance, you can create a status site column, which may contain multiple choices of an enterprise's specific statuses, and implement the column in dozens of project master lists across the site collection. If you add a new status, you can modify the site column instead of having to modify each list that contains a status column.
Content types are a core concept used throughout the functionality and services offered in Microsoft Windows SharePoint Services (version 3) and are designed to help users organize their SharePoint content in a more meaningful way. A content type is a reusable collection of settings you want to apply to a certain category of content.
Content types enable you to manage the metadata and behaviors of a document or item type in a centralized, reusable way. For example, consider the following two types of documents: software specifications and legal contracts. You might want to store documents of those two types in the same SharePoint document library. However, the metadata you would want to gather and store about each of these document types would be quite different. In addition, you would likely want to assign different workflows and retention policies to the two types of documents. Content types enable you to store multiple types of content in the same SharePoint library or list. In the preceding example, you could define two content types, named Specification and Contract. Each content type would include different columns for gathering and storing item metadata and would have different workflows and policies. Yet items of both content types could be stored in the same SharePoint document library.
Recycle bins, or undelete functionality, is another important improvement that has been added in Microsoft Windows SharePoint Services (version 3). This functionality is available in both lists and document libraries. Deleting an item from a list triggers a multilevel series of events. First, the item is sent to a Web-level recycling bin. From here, the item can be undeleted by any individual who has been given appropriate rights. When the item is deleted from this bin, the item is sent to a second recycling bin, controlled by the site administrator.
Among the design features of this bin are timers that allow you to automate the removal of old documents. For example, an administrator may decide that the vast majority of requests for item restores happen within the first 90 days. In this scenario, the administrator may set the timer such that items older than 90 days are permanently deleted.
RSS has become a standard way of aggregating content from the Web. For more information on RSS in Microsoft Windows Code Name "Longhorn," see the technical article RSS Support in Longhorn on Microsoft Developer Network (MSDN). By integrating RSS feeds for each SharePoint list, Microsoft Windows SharePoint Services (version 3) provides a push mechanism for forwarding information to end users.
Folders, one of the popular features from document libraries in Microsoft Windows SharePoint Services (version 2), is now also available in lists. Folders allow further segregation of content within a single list, adding another level of versatility. One of the interesting features of folders is the ability to assign metadata to a folder. This creates a rich content holder that contains child content, while appearing as more than a container. Essentially, this allows the folder to function as a separate, but fully functional, item type. An example of this can be seen in Windows SharePoint Services discussion boards. Each top-level discussion is, in fact, a folder with metadata, containing one to n child objects. By modifying the appearance of the folder, an end user can visualize the folder as another list item rather than as a container. You can use this model in custom lists to create a dynamic parent/child list. Many business applications require rich container objects, for which a parent object has both important data concerning itself, and one to n children with similar data. Normally, you deal with this challenge by using lists in which a parent, or master, list selection drives the display of a child, or detail, list.
Because you can now assign metadata to folders in a SharePoint list, you can achieve similar functionality with a single list.
Consider an Orders list, for example. You could provision a folder as an order, and then assign metadata to it, such as order number, customer, and shipment method. By doing so, you can make the folder mimic the master list functionality. You can then fill the folder with order items list items, each with its own metadata, such as item number, description, and price. Now you have the rich functionality of a master/detail list within a single list.
List Indexing. Integral to the idea of using Microsoft Windows SharePoint Services as a platform is the ability to use its storage containers, specifically lists and document libraries, for application storage. However, a number of limitations restricted the true use of these containers in Microsoft Windows SharePoint Services (version 2). One of the problems was the inability to handle large lists. As lists began to grow, both in metadata and list items, the mechanisms built into lists became clunky and inefficient.
A key goal within Microsoft Windows SharePoint Services (version 3) was to fix these restrictions and create a rich storage model with performance capable of supporting applications, both external and those built upon the Windows SharePoint Services platform. One of the key ways that Microsoft Windows SharePoint Services (version 3) solves this issue is to include indexing on columns. By allowing a column to be indexed, and stored as a simple name/value pair in a separate database, access to specific items in large lists is significantly improved. These kinds of performance improvements allow SharePoint lists to become true data stores, capable of supporting external applications as well as simple team sites.For example, with an Orders list, you could provision a folder as an order and then assign metadata to it, such as order number, customer, and shipment method. Consider that by indexing the order number column, access to specific items in the list by an external request becomes significantly cheaper.
Another scenario is an external application with hundreds of thousands of records. Previously, your Web application could not use a SharePoint list as a storage device. With the inclusion of indexing on columns, performance increases allow this architecture. By using Windows SharePoint Services storage, the standard features of the platform, such as views, alerts, and RSS, can now be used as a data store explorer for internal use in simple team sites.
Cross-List Queries - Another improvement made with the idea of using Microsoft Windows SharePoint Services storage more effectively is cross-list queries. Cross-list queries allow you to use the SPQuery object to query all the lists within a Web or site collection. Previously, you had to iterate through the parent objects to obtain a collection of SPList objects, query the list to return the items, and then build your own collection of list items from the multiple lists. This exercise was not only tedious and redundant but expensive. Cross-list queries allow you to take advantage of the efficiencies built into the SPQuery functionality in a number of additional scenarios. Cross-list queries provide a rich querying capability, similar to SQL queries, within SharePoint. Among the many possible scenarios this functionality allows is the numerous aggregation scenarios commonly requested by end users.
List Items. Several improvements in Microsoft Windows SharePoint Services (version 3) are implemented on the item level rather than on the entire list. The following is a list of several important new features.
Per-Item Security Item-level security is certain to be a popular new feature in Microsoft Windows SharePoint Services (version 3). List and document libraries now feature the ability to set roles on each item, rather than simply at the lists level. In a developer scenario, if you combine per-item security with other features, such as list events or extensible field types, you could use per-item security to change who has access to an item, based upon an entry in another field. For example, a change to the status of an item could trigger a change in who has the ability to edit the item.
Versioning In Windows SharePoint Services (version 2), only document libraries allowed versioning, and then only a major version would be created. This basic functionality did not match the workflow normally associated with documents; namely, the creation and edit process when a document is in draft version, and then the publishing of a document to public status. Microsoft Windows SharePoint Services (version 3) offers a new, richer versioning model. This model includes both major and minor versions, and versioning within lists as well as document libraries. In addition, major and minor versions can have different security, allowing separate draft and public version workflows. In a developer scenario, versions are associated with a rich event model that allows numerous scenarios, including custom workflows, item validation, and information propagation.
Required Checkout In Windows SharePoint Services V2, users could modify documents without checking those documents out from a document library. This allowed multiple users to edit the same document, and left a complicated, poorly understood merge/overwrite scenario. In Microsoft Windows SharePoint Services (version 3), document edits are allowed only when the document has been checked out. This forced checkout defines a clear owner model and simplifies merging of changes.
Workflows In Microsoft Windows SharePoint Services (version 3), a workflow allows you to attach a business process to items in SharePoint Products and Technologies. This process can control almost any aspect of an item in SharePoint Products and Technologies, including the lifecycle of that item. For example, you could create a simple workflow that routes a document to a series of users for approval.
Workflows can be as simple or complex as your business processes require. You can create workflows that the user initiates, or workflows that SharePoint Products and Technologies automatically initiate based on some event, such as when an item is created or changed. In addition, your workflows can interact directly with the user through workflow forms. Workflow forms enable you to gather information from the user at each stage of the workflow. You can create your workflow to interact with the user through the standard SharePoint Products and Technologies browser-based interface, through workflow forms in Microsoft Office client applications such as Microsoft Word and Microsoft Excel, or even through your own custom applications. Workflows are available to end users at the list or document library level.
Workflows can also be added to content types. Multiple workflows may be available for an item. In addition, multiple workflows can run simultaneously on the same item, but only one instance of a specific workflow type can run on a specific item at any given time. For example, you might have two workflows, "SpecReview" and "LegalReview," available for a specific content type, "Specification." Although both workflows can run simultaneously on a specific item of the "Specification" content type, you can't have two instances of the "LegalReview" workflow running on the same item at the same time.
Events are key to transforming Microsoft Windows SharePoint Services into a true developer platform.
Events enable first and third parties to hook into Windows SharePoint Services behaviors and override default behaviors. Events fall into two major categories:
List events Core events, including changes, additions, and removals of list items and list columns (schema changes) Simple site events Deletion of sites and site collections
Events are either synchronous "before" events, denoted by the "XYZing" name format, or asynchronous “after” events, denoted by the "ABCed" name format. Event receivers can be registered, through the "Features" feature, with an Item, a List, a Web, or a Content Type. For example, an event receiver that ensures a document always has a copyright in the footer can be associated with a central Content Type and pushed down to all document libraries associated with that type. As they do in Microsoft Windows SharePoint Services (version 2), developers can override and extend the event handler method. A new sequence number parameter allows for control of the firing order of multiple events.
Features - Microsoft Windows SharePoint Services (version 3) contains a new structure called a "feature." A "feature" is an end-user-oriented container of one or more elements. An element is an atomic Windows SharePoint Services concept. The "feature" is defined in an XML format, similar to other existing SharePoint structures. Each “feature” definition is a set of XML files. Many items that were previously contained within a site definition in Windows SharePoint Services (version 2) are now able to fit as an element. In Windows SharePoint Services (version 3), a SharePoint site definition is transformed into a list of "features" plus a layout page and a master page. The goal is that any templated SharePoint site can be transformed into another templated SharePoint site simply by having the administrator toggle features on the site and possibly switch the layout page or master page. Upgrading a Windows SharePoint Services V2 site definition to a Windows SharePoint Services V3 site is a process of breaking the XML files (such as ONET.XML) into small chunks, componentizing them into arbitrary components, and then packaging them as a Windows SharePoint Services V3 "feature" and creating a workspace template that uses those "features."
About The Author
Jason Fortner is co-founder of Total Productivity Solutions. Total Productivity Solutions provides custom SharePoint, webpart and .NET development; and solutions to common software development issues are also provided on the site.
Sharepoint sites, Sharepoint webparts and .NET Development
http://www.totalproductivitysolutions.comhttp://www.totalproductivitysolutions.com/ProgrammingTips/SharePoint_2007_New_Features.aspx