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.
1. 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.
2. 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.
3. 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:
1. List events Core events, including changes, additions, and removals of list items and list columns (schema changes)
2. 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."
Jason Fortner is co-founder of Total Productivity Solutions. Total Productivity Solutions is an Atlanta based company that 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