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.com
http://www.totalproductivitysolutions.com/ProgrammingTips/SharePoint_2007_New_Features.aspx