In-Depth

Get Ready for WSS v3 and MOSS 2007

WPF is going to change the way you write graphics applications, but it's going to take a while before you see it adopted broadly.

Windows SharePoint Services version 3 (WSS v3) is a major-scale upgrade to the first Windows Server 2003 add-on that Microsoft announced in March 2003 as the replacement for SharePoint Team services. WSS v3 is a highly scalable, royalty-free Web site provisioning engine for Windows Server 2003 SP1 and the June 2006 or later Community Technical Preview (CTP) of forthcoming Windows Server "Longhorn." WSS v3 is an Internet Information Services (IIS) 6+ Web application that provides collaboration features—such as shared lists, documents in libraries, and calendars—and stores the content in a SQL Server 2005 Express Edition or later named instance (OFFICESERVERS). The term Web application refers to an IIS Web site that's been upgraded with WSS v3 and replaces WSS V2's use of the term virtual server.

Microsoft Office SharePoint Server (MOSS) 2007, the replacement for SharePoint Portal Server 2003, adds enterprise-wide portal, search, business intelligence, business process management, and Web content and enterprise record management to WSS v3. If you haven't installed WSS v3 or MOSS 2007 Beta 2, now's the time to get acquainted with their feature sets and capabilities. Read the system requirements, and then download and install the Windows Workflow Foundation (WWF) Beta 2.2 runtime before either server. The MOSS 2007 Beta 2 installer includes an integrated WSS v3 setup program; alternatively, you can download the substantially less resource-intensive WSS v3 server (see Resources). Bear in mind that MOSS 2007 isn't a free add-on; the 2007 Microsoft Office System Pricing page says MOSS 2007 licenses are "[a]vailable only through volume licensing; price not quoted."

WSS v3 and MOSS 2007 are major weapons in Microsoft's forthcoming Office System 2007 upgrade blitz. Tech•Ed 2006 offers 89 sessions, labs, or Birds of a Feather get-togethers in the Microsoft Office Systems track, of which 31 cover WSS v3, MOSS 2007, or both. Attendees are receiving a copy of a 200-page book, 7 Development Projects for Microsoft Office SharePoint Server 2007 and Windows SharePoint Services 3.0. If you didn't make it to Beantown, you can download the entire book in PDF format. In this article, I'll summarize the important new features of WSS v3 and MOSS 2007. Then I'll demonstrate exporting an Access 2007 table to a MOSS 2007 or WSS v3 list and editing the list with a VB 2005 Windows form app.

New WSS v3 and MOSS 2007 Features
The SharePoint team has updated WSS from the .NET Framework 1.1 of version 2 to 2.0 for version 3. .NET 2.0 incorporates the ASP.NET 2.0 Web Parts Framework and Web Virtualization features previously supplied by WSS v2. WSS v3 enables defining custom field data types, permits adding folders to lists, improves the performance of larger lists with indexes, establishes per-item security and versioning, and requires document checkout prior to editing. The move to ASP.NET 2.0 lets WSS v3 take advantage of master and content pages. The WSS team also refactored the object model with emphasis on the Microsoft.SharePoint.Administration namespace. With the exception of this namespace, most object-model modifications are backward-compatible.

The preceding enhancements, however, don't compare in importance with these new WSS v3 capabilities:

  • Content types enable classifying documents as belonging to a particular category, such as Proposal, Request for Quotation, Contract, Progress Billing, or 10-Q Report. A content type defines the metadata for a document class, including the number and types of columns for a document library list and the template for the class. You can include multiple content types within a single list or document library, and specify a content type within multiple sites.
  • Integrated workflows attach business logic to WSS v3 lists and documents. Microsoft Office SharePoint Designer (SPD) includes a graphic designer for adding workflows that don't require code (see Figure 1). Alternatively, download and install the VS 2005 Extensions for WWF Beta 2.2 to create generic workflows with C# or VB code. However, you must download and install the Enterprise Content Management (ECM) Starter Kit to add the necessary references to C#-only workflow projects for WSS v3 or MOSS 2007, as well as the activity, event, and task tools to the toolbox (see Figure 2 and Resources). You can initiate WSS workflows manually or automatically from a particular SharePoint event, such as the addition of a list item or library document.
  • RSS feed, blog, and wiki support lets users create and syndicate their own Weblogs and wikis. Lists also generate RSS feeds and help users stay up to date with changes (see Figure 3). Ian Morrish's Internet-facing WSS Demo site includes a WSS v3 blog with comments enabled.
  • ASP-style Web parts inherit the WebPart base class from the .NET Framework 2.0's System.Web.UI.WebControls.WebParts namespace instead of Microsoft.SharePoint.WebPartPages. This change lets you create new Web parts for WSS v3 sites with VS 2005; WSS v3 also supports WSS-style Web parts created for WSS V2 without recompilation.

Be sure to include SPD in your list of Office System 2007 clients for the Beta 2 download. You must use the toolbox's Choose Items dialog, select the Activities tab, click Browse, navigate to the \Program Files\ Common Files/Microsoft Shared/web server extensions/12/ISAPI/Microsoft.SharePoint.WorkflowActions.dll, and click OK to add the 56 SharePoint-specific tools from the ECM Starter Kit to the toolbox. Lack of a VB version of the ECM Starter Kit indicates that the SharePoint team hasn't gotten the message that VB is an enterprise-level language, too; perhaps they'll add VB examples in a later version.

MOSS 2007 replaces SharePoint Portal Server (SPS) 2003 and Microsoft Content Management Server (MCMS) 2002. MOSS 2007 is generally backward-compatible with SPS 2003, but some SPS 2003 APIs have been deprecated by, don't work in, or have changed in MOSS 2007. Like F. Scott Fitzgerald's observation in "The Rich Boy" that "[t]he rich are very different from you and me," Microsoft says that MOSS 2007's API is "very different from MCMS 2002." For example, MOSS 2007 replaces MCMS 2002's site authoring and publishing function with the Web content management feature's publishing and layout functions.

Here are what appear to be MOSS 2007's most important new features:

  • Enterprise document management features provide improved control of document access and versioning, support content distribution and reuse with live copies, and enable customizing document rights management (including document handling policies) with document converters.
  • Web content management enables site design customization, creating specialized document converters, internationalizing sites, and automated document deployment.
  • Records management maintains an organization's important documents, lists, or other information in a dedicated WSS v3 records repository server to achieve regulatory compliance. MOSS 2007 includes records management tools for audit and policy reporting.
  • Search Center is the home page for full-text searches across data in all sites managed by the organization.
  • Business Data Catalog (BDC) makes data available from back-end sources—such as Web services and databases—without building connector technology. You can display data from line-of-business (LOB) applications, such as SAP, Seibel, and SalesForce.com. BDC comes with five reusable, codeless business data Web parts: Business Data List, Business Data Item, Business Data Item Builder, Business Data Related List, and Business Data Actions.
  • Excel services lets users view worksheets in a browser or manipulate them with a Web service.
  • InfoPath form services lets users enter and edit InfoPath data in a browser.
  • Administration of Web server farms and site collections is simplified by replacing SPS 2003's Byzantine management model with an extension to WSS v3's.

The Microsoft Office Developer Center has a SharePoint Server Migration Center with links to articles and tools for migrating SPS 2003 and MCMS 2002 to MOSS 2007.

Access 2007 Integration With WSS v3
Microsoft Office Access 2003 introduced the capability to import, export, and link WSS v2 lists. Access 2007 adds the capability to upsize an entire database to a WSS v3 site—probably as the workaround for the new version's surprising lack of user-level security for individual database objects with workgroup files. "Upsizing" an Access 2007 database exports its tables to WSS v3 lists that link back to the source database. Although a SQL Server 2005 Express database stores the list data, use of the term "upsizing" is questionable when the data destination is WSS v3 or MOSS 2007.

I found processing tables with a large number of records to be quite slow in Beta 2; moving a clone of the Northwind sample database with 1,000 Orders and 6,000 Order Details records takes about 35 minutes of 100-percent CPU usage on a 2.3-GHz Pentium 4 machine with 1 GB RAM. Large tables with lookup fields appear to be the culprits, but WSS v2 isn't—and wasn't intended to be—a general-purpose replacement for relational databases. On eventual completion of the table migration, a Move to SharePoint Site Issues table in the source database reports unsupported features, such as referential integrity, as well as autoincrement field and other data transfer problems.

Access 2007 also enables WSS v3 to publish a link to a site's list in a new or existing Access database. If your Access database contains links to SharePoint lists, you can take the database offline, edit the local tables, and then reconnect to the SharePoint site to resynchronize the local and shared lists.

The fastest method for testing migration of Access 2007 tables to WSS v3 or MOSS 2007 is to export each table's data to a list. Here's the drill with Access 2007 Beta 2:

  • Select in the navigation pane a simple table with no foreign key fields. The Customers table of Northwind.accdb—the Northwind.mdb sample database saved in Access 2007 format—is a good starting point.
  • Click the External Data tab, and click the SharePoint List button in the Export group (see Figure 4) to open the Export - SharePoint Site dialog.
  • Type the URL of the SharePoint site—http://oakleaf-ms18/northwind for this example—and the name of the table in the dialog's two textboxes, and click OK to start the export operation. After a few seconds, the list opens in WSS v3 or MOSS 2007 Standard view.
  • Select Edit in Datasheet from the Actions menu to change to Access Web Datasheet view (see Figure 5).
  • Select View RSS Feed to open the feed in IE 6+ (see Figure 3 for IE 7 Beta 2). The feed doesn't render fully in Firefox 1.5.0.4.

If you export a table that has foreign key fields—such as CategoryID and SupplierID of the Products table—the export process creates copies of the corresponding base tables (Categories and Suppliers) automatically. The process also adds lookup columns to display the base table's Title column values—CategoryName and CompanyName—in the exported table's dropdown sort/filter lists.

The ListsWSUpdate.sln Visual Studio 2003 project lets you explore WSS list schemas and use WSS Web services to update list items (see Resources). My "Manage SharePoint Lists" article from the February 2004 issue of Visual Studio Magazine describes how to use the project, which converts to VS 2005 format without a hitch, demonstrates the backward compatibility of WSS v3 with v2 Web services (see Figures 6 and 7).

Here are the abbreviated startup instructions for ListsWSUpdate.sln:

  • Download VS0402dd.zip by clicking the Get the Code link on page 1 of the article and extract it with Use Folder Names selected.
  • Double-click \VS0401\ListsWSUpdate.sln to start the Visual Studio Conversion Wizard. Click Next, Next, Finish, and Close to complete the conversion, save a backup copy, and open the project is VS 2005.
  • Press F5 to compile and run the project, and then follow the instructions in the Usage section of ReadMe.txt.

You'll find that adding at least the Customers list to your site will increase the usefulness of the project.

Although WSS v3, MOSS 2007, and Access 2007 were in the Beta 2 stage when I wrote this article, the feature sets of the three products were frozen, and most functions behaved as expected. There's still some work for the Access team to do on the Move to SharePoint operation, as well as exporting tables with composite primary keys—such as Northwind's Order Details—and the new multivalue lookup fields, which didn't work for me. On the whole, I expect WSS v3 and MOSS 2007 to be two cornerstones of Microsoft's long-term plan for convincing reticent businesses to upgrade to Office System 2007.

About the Author

Billy Hollis is an author and software developer from Nashville, Tennessee. Billy is co-author of the first book ever published on Visual Basic .NET, .NET Programming on the Public Beta. He has written many articles, and is a frequent speaker at conferences. He is the Regional Director of Developer Relations in Nashville for Microsoft, and runs a consulting company focusing on Microsoft .NET.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube