Windows SharePoint Services 3.0 (WSS 3.0) is the next version of WSS 2.0, released on 2007, and Microsoft Office SharePoint Server 2007 (MOSS 2007) is built on top of this. Windows SharePoint Services 3.0 takes full advantage of Microsoft ASP.NET 2.0 and the core Microsoft .NET 2.0 runtime. WSS 3.0 offers a lot of new features and programmability support. I have consolidated a list of new features and enhancements in the below section:
Object Model Enhancements:
Windows SharePoint Services 3.0 has greatly extended or modified the object model of existing Windows SharePoint Services 2.0 namespaces, and added entirely new namespaces for new features, while all these changes have been made with an emphasis on high backward-compatibility with Windows SharePoint Services 2.0.
- The object model of the Microsoft.SharePoint.Administration namespace has been completely refactored to allow for greater extensibility.
- WSS 3.0 introduces Timer Job Service which provides facilities for setting up a timed job that executes at a definable interval (every n minutes) or during a certain time period in the hour, day, week, month, or year. The main objects for the Timer Job service are Microsoft.SharePoint.Administration.SPJobDefinition and Microsoft.SharePoint.SPWorkItem.
- Recycle Bins, or undelete functionality, is another important new Feature in Windows SharePoint Services 3.0. This functionality is available in both lists and document libraries and can be accessed through new types in the Microsoft.SharePoint namespace.
- Property bags are now exposed on several major objects in the Microsoft.SharePoint namespace, including the SPWeb, SPFile, SPFolder, and SPListItem classes. These and other classes provide a Properties property that returns a property bag for the specified object, which consists of a hash table in which values are stored. A call to the Update method on the object persists the values set in the property bag.
- Windows SharePoint Services 3.0 expands several existing Web services, increasing the number of methods provided through Lists, Site Data, Users and Groups, Web Part Pages, and Webs Web services. Both Lists and Webs, for example, now include new methods for content type integration, and the Lists Web service provides new methods for working with files in document libraries, In addition, Windows SharePoint Services 3.0 introduces several new Web services, including services for authentication, copying files, managing security principals, portal search, and directory management for messaging application synchronization.
Enhancements in Collaboration Workspace:
Key enhancements to Collaboration Workspace in WSS 3.0 can improve the way that we work with documents and tasks and how we share information with others.
- Send e-mail to a SharePoint site: We can use e-mail to add content to your site, such as discussion items, calendar events, and documents.
- New site templates and web parts for building Blogs and Wikis sites.
- Support for publishing RSS feeds to recieve updates about lists and libraries.
- Get mobile access to a SharePoint list: We can view a list on a mobile device, which helps us to stay current on team projects and tasks when we are on the road.
- Display data visually using Gantt Chart.
- Improved alert functionality.
- Closer integration with Outlook for better event and task tracking.
Concept of Features:
Windows SharePoint Services 3.0 implements a new concept known as a Feature, which is an end-user-oriented container of one or more elements. The Feature is defined in XML format by using Collaborative Application Markup Language (CAML). Each Feature definition includes a set of XML files. Many items that were previously contained within a site definition in Windows SharePoint Services 2.0 are now modular and fit separately as an element using Features.
In WSS 3.0, a SharePoint site definition is basically transformed into a list of Features plus layout pages and master pages. The goal is that any templated SharePoint site can be transformed by an administrator into another templated SharePoint site simply by toggling Features on the site and possibly switching the layout pages and master pages.
Site Columns and Content Type Settings:
A site column is a reusable column definition, or template, that we can assign to multiple lists across multiple SharePoint sites. When you create a site column, each list that uses this column has the same definition, and we do not have to do the tedious work of reproducing the column in each list. Site columns decrease rework and help us to ensure consistency of metadata across sites and lists.
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. Content types enable you to store multiple, different types of content in the same document library or list. For example, consider the following two types of documents: business requirements and design documents. We might want to store documents of those two types in the same document library, while the metadata we would want to gather and store about each of these document types would be very different. In addition, we would most likely want to assign different workflows to the two types of documents. To achieve this, we can define two content types named RequirementDoc and DesignDoc. Each content type could include different columns for gathering and storing item metadata, as well as have different workflows assigned to it. Yet items of both content types could be stored in the same document library.
Enhancements in Lists:
Windows SharePoint Services 3.0 introduces following new list features:
-
Folders in Lists: Earlier in WSS 2.0, Folders could be created only in document libraries. Now in WSS 3.0, folders are also available in lists. Folders allow more segregation of content within a single list, adding another level of versatility.
-
List Indexing: List indexing allows SharePoint lists to become true data stores, capable of supporting external applications as well as simple team sites. For example, indexing a list column significantly improves access to specific items in the list in external requests. In the case of an external application with hundreds of thousands of records, indexing on columns can greatly improve performance and make it easier to use a SharePoint list as a storage device.
-
Cross-List Queries: Cross-list queries allow us to use the SPQuery object to query all the lists within a Web site or site collection. In WSS 2.0 we had to iterate through the parent objects to obtain a collection of list objects, query the lists to return the items, and then build your own collection of list items from the multiple lists. The SPSiteDataQuery class allows us to perform cross-list queries quickly and efficiently, providing a rich querying capability, similar to SQL queries, within Windows SharePoint Services 3.0.
-
List Item Versioning: Now the item level versioning is available for lists in WSS 3.0.
Workflows:
A workflow allows us to attach a business process to items in Windows SharePoint Services 3.0 and this process can control almost any aspect of an item in WSS 3.0, including the life cycle 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 our business processes require. We can create workflows that the user initiates, or workflows that Windows SharePoint Services 3.0 automatically initiates based on some event, such as when an item is created or changed. WSS 3.0 workflows are made available to end users at the list or document-library level. Workflows can be added to documents, list items, and content types. Multiple workflows may also be available for a given item.
Extensible field types:
We may encounter a situations where the business data does not conform to the field types included in Windows SharePoint Services 3.0, or situations where you want to customize those general field types. WSS 3.0 gives developers the ability to create custom field types, based on the robust set of base field types that are already included. These custom field types can be exposed as simple fields within a list or document library. For example, someone might use a custom field type to build a ratings system that assigns stars to content based on its popularity.
Migrating Content Programmatically:
The Microsoft.SharePoint.Deployment APIs in Windows SharePoint Services 3.0 provide a flexible set of tools for migrating content between SharePoint Web sites. WSS 3.0 uses the concept of the content migration package, which can include either single or multiple XML files, and then provides a flexible set of APIs to enable exporting and importing the migration packages. The content import/export feature of the deployment object model allows us to export not only Web site content but also existing dependencies, like security features, user roles, versioning data, workflows, and other metadata.
Miscellaneous:
There are a lot of other new features and enhancements in WSS 3.0. I am just consolidating some of these in the below section:
- Better management of people and groups
- Improved backup and restoration of sites
- Improved search and logging
- More flexible and scalable deployment and upgrade
- Contextual display, based on user permissions
- Welcome Menu
- Greater control over security settings and permissions
- Better control with master pages
- Better document recovery with help of Recycle Bin
- Option to require document checkout