oday's knowledge workers must sift through an ever-increasing amount of information that can be located anywhere in the world and in any format. To use information effectively, the knowledge worker must know that the information exists and must also know where to find it.
The Microsoft® SharePoint™ Portal Server 2001 (referred to as SPS throughout this article for brevity, although this does not represent the official name of the product) is a flexible, scalable solution that can help knowledge workers manage information. SPS allows users to easily create, share, and publish information from a single Web portal interface armed with nothing more than the site's URL. SPS goes a step further than other portal solutions by allowing document management and workflow features from a single point of access.
Based on core Microsoft technologies such as Microsoft Search Service, Web Storage Services (WSS), Microsoft Internet Information Services (IIS), and Digital Dashboard, SharePoint Portal Server 2001 provides a wealth of benefits right out of the box. A business can rapidly deploy and customize SPS to suit its unique needs. In discussing the central features of SPS I will focus on the core areas that simplify creating, sharing, and publishing information. This article is based on the SPS code available for download at http://www.microsoft.com/sharepoint/evaluation/trial/default.asp.
This article does not cover SharePoint Team Services, a solution that is part of the Microsoft Office XP family. SharePoint Portal Server targets collaboration needs across an enterprise, while Team Services is focused on smaller workgroups that need to share and communicate. Microsoft provides a document that compares Portal Server and Team Services at http://www.microsoft.com/sharepoint/ evaluation/overview/technologies.asp.
SharePoint Portal Server 2001 is a Web-based collaborative portal solution that combines multiple client interfaces, search and indexing services, basic document management features, and Web storage. Figure 1 provides a basic overview of the core components of SPS.
Figure 1 SharePoint Portal Server Core Components
SPS uses WSS for storage of content and metadata. WSS is a hierarchical, URL-based data store that provides access to data through the HTTP protocol. The data store also supports synchronous and asynchronous events. The SDK allows developers to customize and extend the system. The same tools that you use for Exchange Server, including the Workflow component, can be used to work with the SPS Web Storage System.
Microsoft Search Service has been in existence since 1996, when it was released with Microsoft Index Server. Since then, Search Service has been providing the core indexing and search functions for Microsoft products such as Outlook®, SQL Server™, and Site Server. An even better version of the service ships with SPS. Search Service provides content indexing and search functions as well as categorization and probabilistic ranking.
Indexing is accomplished using the well-documented IFilter interface, allowing developers to extend the indexing capabilities of the Search Service. I'll describe the search features in detail later in this article.
SharePoint Portal Server's document management service provides for checkin/checkout, versioning, approval routing, and metadata. While the document management server provides the core functions to manage documents, it does not provide some of the complex functionality associated with an enterprise document management system, such as object reuse, merging, and complex workflow. Complex document management functions such as these are generally not needed for most businesses that simply want to manage their information more easily.
Three Client Interfaces
Users can easily integrate SPS into existing work processes with little or no change to these processes. SPS accomplishes this by providing three client interfaces: a Web-based portal, the Windows® Explorer Shell, and Microsoft Office extensions.
The Web portal interface provides a rich user interface to information and is accessible by pointing your Web browser to the workspace address. (A workspace is a loose collection of information, documents, directories, and their associated indexes that the users can search and access.) The Web portal is the first commercialized implementation of the Microsoft Digital Dashboard runtime. Digital Dashboard technology allows a business to easily customize and extend not only the integration with SPS but also with the business's own applications to help create a single point of access for users.
The Web portal interface contains a number of SPS Web parts. Web parts, formally called Nuggets, are the functional pieces of a Digital Dashboard implementation. Extending or customizing the portal is simply a matter of importing or creating a new Web part using DHTML, VBScript, JScript®, XML, XSLT, and other Web technologies. Working with the SPS object model, a developer can easily create new Web parts that integrate with SPS. Businesses can also integrate business-specific Web parts to create a single point of access for a user. Figure 2 shows the default Web portal for an IT department's workspace. Information on creating Web parts can be found on the SharePoint Portal Server site.
While the Web portal provides a rich collection of Web parts to interact with the SPS, workspaces can also be accessed through Web Folders. Web Folders are supported on all versions of Windows, from Windows 95 on up. They are actually an implementation of WebDAV (Web Distributed Authoring and Versioning) and provide an Explorer-like view into the workspace. Figure 3 shows an Explorer view of the IT_Dept workspace. Web Folders can be mapped to the workspace by supplying the same workspace address as the Web portal. Users who use the Explorer Shell can map a Web Folder to the same workspace address as the Web portal. To use the Explorer view, users must first install the client-side piece. The Explorer view provides all the Explorer functions that users are familiar with, including the ability to easily copy, move, and delete files and folders. Custom functionality such as checkin/checkout, profile editing, and publishing of documents is also available. Another great benefit of this interface is the amount of metadata SPS provides when you simply select a file, as you can see in Figure 3.
Figure 4 Accessing SharePoint Portal Server from Word 2000
The third interface is through Microsoft Office 2000 and Office XP. Office 2000 uses Office Extensions to integrate with SharePoint Portal Server. From the File menu, users can access most of the available document management functions. Figure 4 shows the options available from Microsoft Word 2000. Office 2000 extensions are available through the install program, while Office XP provides native integration with SPS.
Installing the Server
Hosting SharePoint Portal Server requires Windows 2000 Server or Advanced Server with Service Pack 1 to be installed. Active Directory™ is not a requirement for SPS installation. Minimum hardware requirements include a Pentium III-compatible processor, 256MB of RAM, and 550MB of hard disk space. Before installing SPS on the server, consult the readme file, which includes a list of updates that should be installed prior to SPS installation. The SPS client interfaces can run within a Windows 2000 or Windows NT® 4.0 environment. After the server is installed, a wizard will help you set up the first workspace, Web portal, and Web Folder. That's it! SharePoint Portal Server is ready to use.
During installation, SPS makes changes to the server's proxy settings. If the server does not access the Internet through a proxy server, then the proxy settings will need to be changed (see the readme file or "Deploying Microsoft SharePoint Portal Server Across an Extranet").
Workspaces and Servers
The server itself is managed using the SharePoint Portal Server Management Console. Administrators can manage server-level settings such as data file locations, proxy server settings, accounts for index crawling and propagation, external content indexing load settings, exchange account information for crawls, Lotus Notes crawl settings, and discussion settings. Access to these server-level settings is available from the server property pages, as you can see in Figure 5.
Figure 5 Server Property Page
Administrators can also create and manage workspaces from within the Microsoft Management Console (MMC). A single SharePoint Portal Server can support up to 15 workspaces, depending on the number of documents, external indexes, and hardware. The first workspace is created during the initial installation of the server. Any additional workspaces are created through MMC.
An administrator creates additional workspaces with the New Workspace Wizard, which is accessible by right-clicking on the server name and selecting New | Workspace. The New Workspace Wizard creates the necessary files for the default Web portal and maps a Web Folder to the new workspace address. Figure 6 shows the MMC snap-in for SPS with multiple workspaces configured. The Microsoft implementation of workspaces creates a virtual server for each workgroup, allowing the workgroup to maintain its own content and settings. The workspace properties that are available from the workspace's property page include workspace contact name and e-mail address, top-level folder access security options, indexing information, log settings, subscription settings, and discussion settings.
Figure 6 Multiple Workspaces in MMC Snap-in
Each SharePoint Portal Server workspace can provide document management, indexing, and search capabilities. They can also be dedicated to indexing and/or searching, as shown in Figure 7. Generally in these scenarios, dedicated workspaces are created on dedicated servers which can crawl external content (Web sites, file shares, other SPS workspaces) and propagate the indexes back to the workgroup servers or a dedicated search server. Larger systems will be able to balance the processing across multiple servers.
Security and Roles
SPS uses Integrated Windows authentication to control server access if the client supports it. If not, SPS can be set up to use Basic authentication. An administrator can make this change through the IIS MMC.
Once authenticated, access to information is controlled through the use of roles. SPS currently supports three roles: coordinator, author, and reader. You cannot extend the roles nor create new ones in the current version. Here is a general description of the three roles:
Coordinator Two levels of coordinators, workspace and folder, maintain and manage content. Workspace coordinators maintain and manage the workspace settings, such as defining the initial directory structure, assigning groups and/or users to roles, and setting workspace properties such as indexing parameters and content sources. Folder coordinators maintain a folder's security list and directory structure for the folder. Both workspace and folder coordinators can create, edit, and view information within their coordinator area.
Author Authors are allowed to create, edit, and view documents that are contained in the folder for which they are the author. Authors can also create, edit, and delete folders. Groups or users assigned to this role can see unpublished changes to a document.
Reader Groups or users assigned to the reader role can only find and view published documents. Readers are unable to view changes to unpublished documents.
Workspaces also maintain a security list that becomes the default list for new folders created directly under the workspace. A coordinator of the folder can make changes to the security list, editing the folder's coordinators, authors, and readers, using the Explorer Shell in Windows 2000. Coordinators cannot access management functions using other operating systems such as Windows NT or Windows 98. The workspace creates a default security list at the top level. Properties are inherited from the parents, so folders created within the workspace will be created with a security list that mirrors the workspace. The coordinator has the option to change the inherited security list. The default security list for the workspace is Reader (everyone) and Coordinator (the user who created the workspace), as shown in Figure 8.
Figure 8 Workspace Security Settings
Roles are generally assigned at the folder level; that is, each folder contains its own security list. Access control at the folder level allows for a group or user to have different roles based on the folder. For example, a member of the developers group might be an author in the Projects folder, but only a reader in the Policies folders. The developers group might not even have reader roles in the Project Management folders.
Role-based security makes the coordination of the workspaces very easy to manage. After creating the workspace, the administrator assigns a workspace user to act as coordinator. The new coordinator can now create a directory structure, assign users to roles, add external content to the indexes, and modify the workspace as needed. System administrators are not needed for normal workspace coordination, relieving the need for the IT department to maintain intranets based on SPS.
Folders created in SPS are one of two possible types: Standard or Enhanced. Choosing the type of folder that will contain your information is an important decision since folders within SPS determine the document management functionality available. Folders can be created within the Web portal (as you can see in Figure 9) or from the Explorer Shell. To create new folders within the Web portal you must navigate to the Document Library dashboard and select the Add Subfolder link. Creating folders within the Explorer Shell is as simple as accessing the context menu with a right-click, then selecting New | Folder. Accessing the folder properties allows a coordinator to set the folder type to Standard or Enhanced as well as setting other properties such as the security list and approval routing.
As I said earlier, security is set primarily at the folder level, which means all documents within a folder share the same access list as that of the folder. There is one exception: each document allows coordinators and authors to deny access to a list of users through its property page.
Each document contained in SPS is associated with a document profile—a named collection of properties. Documents are associated with one of many document profiles. By default, SPS has four document profiles: Announcement, News Item, Web Link, and Base Document. Workspace coordinators can create custom profiles using a wizard that is accessed using Windows Explorer by navigating to the Add Document Profile application that is in the Web Folder mapped to the workspace. The application is located in the Management and Document Profile folders.
Figure 10 displays a custom profile. Using the Explorer Shell interface, a folder coordinator can set allowable document profiles as well as the default profile. A document's associated profile is displayed whenever the document is saved, checked in, or published. This means that coordinators and authors can change the profile type and content whenever the profile is displayed.
Figure 10 Custom Document Profile
While every document in SPS has a document profile and a security list associated with it, not every document has access to versioning, publishing, or approval routing. Only documents contained within an Enhanced folder have access to these document management functions (which are automatically versioned documents). SPS supports major and minor versions. Major versions (1.0, 2.0, 3.0, and so on) are published versions that are available for viewing by anyone on the security list (coordinators, authors, and readers). Minor versions (1.1,1.2, and so on) are working versions, accessible only to coordinators and authors. SharePoint Portal Server maintains a complete copy for each version; therefore, a well-designed directory structure for Enhanced versus Standard folders is important to avoid maintaining versions on documents that may not need versioning.
SPS maintains and increments versions automatically. To edit a versioned document, an author or coordinator must check out the document, thereby creating a new minor version. After editing, the same author or coordinator must check in the document if it is to be used by other authors or coordinators. Checking in a document does not create a new major (published) version. The document is now available for viewing only by authors and coordinators. A different author can check out the document for editing, resulting in the minor version being incremented again. Authors and coordinators can check documents in or out using any of the three interfaces. Figure 11 shows the shortcut menu for the Explorer Shell. You have already seen the menu options available from Word 2000 in Figure 4. To actually allow the current minor version to become the new major (published) version, either an author or coordinator must publish the document.
A versioned document must be published before it can be indexed or found from a search. Authors and coordinators can publish a document from within all client interfaces. There is a shortcut on the Explorer Shell shortcut menu as well as a link in the Web portal for publishing a document. A document can also be published during check in by choosing the "Publish this document after check-in" checkbox on the document profile (see Figure 10).
Along with versioning, documents in an Enhanced folder can be placed into an approval routing process. Approval routing is a simple workflow that allows an approver the ability to determine if the document should be published. Approval routing is provided at the folder level and is set by a coordinator of the folder. Since approval routing is set at the folder level, all documents in the same folder share the same approvals. Three types of approval routing are provided: Serial, Parallel:Single, and Parallel:All. Serial allows for one or more approvers to review a document. The approval process flows from the first approver onto the next until all approvers have given their approval. At any point a single approver can stop the process. If all approvers have signed off on the document, then the document is published. Parallel:Single allows all approvers to view the document at the same time, but only one approval is needed. Parallel:All allows all approvers to view the document, but all approvers must approve the document before it can be published.
Approval routing is the only workflow provided by SharePoint Portal Server. Since SPS uses the same Web Storage System that Exchange 2000 uses, workflow can easily be enhanced by using the Exchange Workflow tools. Sean McCormick provides a view into the Web Storage System as well as the Workflow Tools in the May 2001 issue of MSDN® Magazine.
Content Indexing and Searching
SPS and the Search Service make it simple to find content not only within SPS, but also externally. Using the IFilter interface and a related protocol handler allows SPS, via Search Service, to crawl and perform full-text indexing multiple file formats, both internal to the server and external to it. The SDK located at http://www.microsoft.com/sharepoint/downloads/tools/SDK.asp provides the details on the protocol handlers. Out-of-the-box SPS can full-text index and search HTML, XML, plain text, TIFF files, and Microsoft Office documents (excluding Access). Using the IFilter and Protocol Handler interfaces, developers can create full-text indexes for other formats. Currently, Corel and Adobe offer an IFilter for WordPerfect and PDF documents, respectively. Information on the IFilter interface can be found at http://msdn.microsoft.com/library/en-us/indexsrv/hh/indexsrv/ixrefint_9sfm.asp.
Searching takes place within the Web portal. SharePoint Portal Server ships with a search Web part that provides two views, a simple search and a second for more advanced searches. Figure 12 displays the Home dashboard with the Simple Search Web part located in the top-center of the page. More complex searches can be accomplished from the Search dashboard (see Figure 2). The Search dashboard allows users to narrow the search by searching on metadata associated with the document. For example, a user can search for documents that have a specific document profile or search by author. Search results are returned with basic information such as document name, title, author, and description. Search results contain only documents that the user has access to based on the user's roles and the document's location. Accessing a document returned by a search is as simple as clicking on the document link.
Indexing, Categories, and Queries
Outside of indexing and searching, SPS and Search Service provide many additional functions to make it easy for users to find and share information. These functions take the form of external content crawling, categories, and persistent queries (which are also called subscriptions).
SPS can crawl and index internal and external content. A workspace coordinator specifies the content sources to index. These can be Exchange 5.5 or Windows 2000 public folders, Lotus Notes databases, Web sites, file shares, or other SPS workspaces. Content from these sources are not migrated into SPS but simply indexed. Indexing both external and internal content allows for a single search point for all content so users don't need to physically search or browse all the various content repositories for information. New content sources can be created from the Management\Content Source folder using the Explorer Shell within Windows 2000 by selecting Create New Content Source from the context menu.
SPS categories are another form of content organization. Sometimes a user is looking for information but does not know what search criteria to use. He might simply want to browse information to see what is available. Categories make this task much simpler by providing a way to organize information without concern for its physical location. Information located in different folders can be linked together logically though categories, allowing users to easily browse related information. Authors and coordinators can categorize information through either a custom document profile or a document's property page, as you can see in Figure 13. In addition, SPS can automatically categorize information through the Category Assistant.
Figure 13 Categories in Property Page
Not only can users search for information, but with SPS, information can find the user. After searching for information within the Web interface, the user can subscribe to the search, generating a persistent query or subscription. Then, until the user deletes the subscription, he will be notified by e-mail or through the subscription Web part whenever SPS indexes new content that matches the query. You can see in Figure 2 that the user has two subscriptions, one with four notifications (Dust Bunnies). Clicking on the link will take the user to the documents. Persistent queries are not limited to search queries. A user can subscribe to search queries, folders, or categories. Persistent queries are a powerful notification mechanism, informing users of relevant information changes.
SharePoint Portal Server 2001 provides the functionality to allow users to easily create, share, publish, and locate information. The ability to locate accumulated information regardless of the location or storage media allows users to concentrate on business rather than technology. SPS provides businesses with an easily customizable and extensible solution to fit their specific knowledge management needs. This article has focused on the business intranet, but the SharePoint Portal Server can also be accessed over the Internet. For instructions, see the article I mentioned earlier "Deploying Microsoft SharePoint Portal Server Across an Extranet".