Customizing and Branding Web Content Management-Enabled SharePoint Sites (Part 3 of 3): Creating and Configuring WCM-Enabled Sites
Summary: This article examines the Web content management (WCM) features of Microsoft Office SharePoint Server 2007 from an administrative perspective: creating a Publishing Portal site, configuring a site for anonymous access and forms authentication, and using site variations. (9 printed pages)
Patrick Tisseghem, U2U
Applies to: Microsoft Office SharePoint Server 2007
Introduction to Creating and Configuring WCM–Enabled Sites
Web content management (WCM) is enabled in Microsoft Office SharePoint Server 2007 through a set of features—many of which rely on Windows SharePoint Services 3.0—that are discussed in the first article of this series. The second article discussed the extensibility options you have as a developer. (For links to the first two articles in this series, see Additional Resources.) To conclude this series, I take an administrator's approach to WCM. Starting with the steps to create an Internet site, I show you how to configure and tune your site for anonymous access and forms authentication. I also demonstrate how you can create and configure site variations.
Creating a Publishing Portal
A company typically hosts an Internet site in its own site collection and a dedicated Microsoft Internet Information Services (IIS) Web site (a Web application). The steps to create a site are not much different from the steps you take to create team sites or a portal site. You actually make the decision very late in the process at the level of the site template you select. For an Internet site, you select the Publishing Portal template.
To create an Internet site by using Office SharePoint Server 2007, open Central Administration. In the Application Management section, click Create or Extend a Web Application. This option enables you to enter all the settings for the creation of a Web application, the authentication provider (Kerberos or NTLM), and the application pool configuring the worker process running your Internet site. You can, on this page, immediately turn on anonymous access at the level of IIS.
After you extend the Web application, you can create a site collection with the top-level site based on the Publishing Portal template.
Configuring the Site for Forms Authentication
Prior to Office SharePoint Server 2007, Windows SharePoint Services and Microsoft Office SharePoint Portal Server 2003 relied completely on IIS 6.0 to authenticate visitors to the sites. Visitors needed a valid Windows account—either a local account or, in a real-world scenario, typically a domain account.
In Windows SharePoint Services 3.0, the visitor accounts can be stored in and managed from any identity store. You can configure your Web application to allow everybody to visit the SharePoint sites that allow anonymous access, and then provide custom authentication when needed by using Microsoft ASP.NET 2.0 forms authentication and leveraging the ASP.NET 2.0 authentication provider model. For example, you might have accounts for one or more visitors responsible for authoring and managing the content in the Internet site. You can also configure anonymous access in combination with Windows authentication instead of Forms authentication.
Preparing the SQL Server Data Store
ASP.NET 2.0 provides two default authentication providers: Microsoft SQL Server Membership and LDAP Membership. If these are not sufficient, the ASP.NET 2.0 authentication provider model enables you to create your own custom membership providers if you decide to store the accounts in another data store.
Suppose that you want to use Microsoft SQL Server 2005 to store your accounts. How do you start? First you need a database to store the accounts. You could use any database, but ASP.NET includes a ready-to-use database named aspnetdb. To create this database in Microsoft SQL Server 2005, you execute a small command-line tool named aspnet_regsql.exe. You can find this tool in your Microsoft .NET Framework folder. A wizard in the tool guides you through the steps to create this database.
Switching the Authentication Mode
The default authentication mode for the new Internet site created is Windows authentication. If you want to configure the Web application to use Forms authentication, use the following procedure.
To use Forms authentication
Open Central Administration, and then click Application Management.
In the Application Management page that opens, in Application Security, click Authentication Providers.
In the Authentication Providers page that opens, click Default.
In the Edit Authentication page that opens, do the following:
In Authentication Type, select Forms.
In Membership Provider Name, type AspNetSQLMembershipProvider.
This procedure changes the authentication portion of the web.config file for the site to the following.
Office SharePoint Server 2007 includes a sign-in page that you can replace with a custom sign-in page. (The BLANKINTERNET site definition also includes a sign-in page definition.)
Populating the Accounts Database
Before you can log on to the Internet site, you must have an account provisioned by the aspnetdb SQL Server database. Currently, none are defined. Several ways exist to populate the users table inside the database with custom accounts. For example, you can choose to execute a stored procedure, or you can use the ASP.NET Web Site Administration tool, which provides a browser-based front end for the database. I explain the latter method here.
To open the ASP.NET Web Site Administration tool
In Microsoft Visual Studio 2005, create a blank ASP.NET 2.0 Web application.
Modify the web.config file to set the mode of the <authentication /> element to Forms instead of Windows.
Replace the empty <connectionstrings /> tag with the following.
<connectionStrings> <remove name="LocalSqlServer" /> <add name="LocalSqlServer" connectionString="Data Source=.;Initial Catalog=aspnetdb; Integrated Security=True"/> </connectionStrings>
This change overrides the <connectionstrings /> definition found in the machine.config file.
In the toolbar of Solution Explorer, click ASP.NET Configuration. The ASP.NET Web Site Administration tool opens in your browser.
Click the Security tab. Use the links on this tab to add accounts to the aspnetdb database.
The machine.config file (located in the config folder of the .NET Framework folder) contains an entry that directs ASP.NET to SQLExpress. If you always want to use the aspnetdb database that is created in SQL Server 2005, you might want to modify the <connectionstrings /> element directly in machine.config. If not, make the change in every web.config file associated with the Web applications where you want to use the aspnetdb database in SQL Server 2005. You also need to change the web.config file of the Internet site and the web.config file of Central Administration. The web.config file of Central Administration is located in
C:\inetpub\wwwroot\virtualdirectories\GUID, where GUID is unique for your own computer. Consult your IIS manager to determine your GUID.
Defining the Administrator Account
None of the accounts created in the Microsoft SQL Server database have access to the Internet site. And you do not have a way to get access to the site and define a user as an administrator of the site. However, Central Administration provides an option to define users for the Internet site via the Policy for Web Application administrative link on the Application Management page without having to log on to the site itself. On the page, you can add one of your custom user accounts and grant it the role of the administrator in the Internet site. The new administrator can then log on and assign roles to the other custom accounts. If you are targeting the Internet, use the Default zone.
Figure 1 shows how the People Picker control verifies the names you type against the accounts stored in the SQL Server database. If the People Picker is not able to verify an account, a red squiggle appears under the name. If this occurs, verify that you modified the <connectionstrings /> tag in the web.config file of Central Administration.
Figure 1. Using People Picker control with SQL Server accounts
You can now use the administrator account to sign in to the Internet site. If sign in succeeds, you see a welcome page and can manage the other user accounts.
Allowing Anonymous Access
The last step is configuring the Internet site to allow anonymous users to visit the site. You already turned on anonymous access at the level of IIS. There is an additional step to take in the Internet site itself. Currently the anonymous users do not have any authorization to access the top-level site. On the home page of the Internet site, you can find a shortcut to the administration page where you have the option to give anonymous users authorization to the complete site (Figure 2).
Figure 2. Authorizing anonymous users
To grant access to anonymous users
On the home page of the Internet site, click Enable anonymous access.
In the Change Anonymous Access Settings page that opens, under Anonymous users can access, click Entire Web site.
If the Enable anonymous access link has been removed from the home page of the Internet site, use the following procedure.
To navigate to the Anonymous Access administration page
On the Site Actions menu of the Internet site, click Site Settings.
In the Users and Permissions section, click Advanced Permissions.
On the Settings menu, click Anonymous Access.
You can configure anonymous access per site in your site collection. For example, you can hide one or more sites from anonymous users and make those sites available only to authenticated users.
Before you test your anonymous access, explicitly log out by using the Welcome control at the top of the site.
Creating Site Variations
Site variations are definitely one of the most exciting additions to Office SharePoint Server 2007, making it possible for companies to support multilingual, multidevice, or just plain multi-anything Web sites. Generally, you use site variations to modify a source site, and Office SharePoint Server 2007 duplicates those modifications to any variations of this site.
For example, imagine a multilingual scenario in which a company decides to support three languages for their external Web site: Flemish, Dutch (yes! Flemish is different from Dutch), and English. Being based in Brussels (Belgium), the company designates the Flemish version of the site as the master or source site. The content managers perform their work on the master site. They want to see their work—that is, all of the pages created—duplicated in an automatic way in the Dutch and English sites. Site variations provided by Office SharePoint Server 2007 allow you to accomplish this task.
Office SharePoint Server 2007 cannot translate the sites. Translation of the created content is typically a step in a custom workflow triggered when a content author publishes a page—in this example, in the Flemish site.
Artifacts Enabling Variations
Site variations rely on a number of artifacts:
First and most important are variation labels. In the multilingual scenario discussed earlier, Flemish, Dutch, and English are variation labels. One of your variation labels must be the source variation label.
Office SharePoint Server 2007 allows for a fully scheduled and automatic duplication of work done in the source variation label. Administrators determine schedules to fit their way of working.
Site variations use the Windows SharePoint Services solutions framework and everything it offers. An internal list named Relationships stores all of the metadata involved.
Resources, such as pictures, can be shared (or referenced) by all variations, or administrators can decide to maintain dedicated resources per variation label.
Starting with Site Variations
By default, site variations are not turned on. Site collection administrators must first configure the site variation settings.
To access the site variations settings
Open a site, such as the Internet site created in the beginning of the article.
On the Site Actions menu, click Site Settings.
On the Site Settings page, under Site Collection Administration, click Variations.
Now you need to decide where you want to start varying the site. Your options are to start from the top-level site ("/") or from one of the subsites in the site collection. You can use the Browse button to select a subsite.
You can take control of the duplication process yourself or let Office SharePoint Server 2007 take care of it. You can also configure other options:
Re-create a deleted page in the variations when the source page is republished. This option can enforce the consistency between the variations, but in some scenarios you might not want to do so.
Update Web Parts on target pages. When a content author creates a new source page, you might want to have all of your target pages created, but you might not want to preserve a link to the source page.
Notify persons that need to be aware of the creation of new subsites or pages.
Reuse resources (such as a picture) by simply referencing it, or make a local copy of the resource. The latter choice is useful if the resources need to be translated.
Creating Variation Labels
Now you create the variation labels, one for each of the languages you want to support.
To create a label for the source variation
On the Site Settings page, click Variation Labels.
On the Variation Labels page, click New Label.
On the Create Variation Label page, type the name of the label, such as Flemish, and a description of the label.
In the Display Name box, type the name that represents the variation in the user interface.
In the Locale list, select a locale. If your site variations begin at the top-level site, the locale allows your site to switch to the language variation based on the culture setting in the browser.
In the Hierarchy Creation section, select the portion of the source variation that you want to duplicate to the other variations.
In the Source Hierarchy section, select Set this variation to be the source variation. You can have only one source variation.
Select the site template on which to base the site variation.
Next you create all of the other site variation labels that will duplicate the content and infrastructure created in the source variation. Only the title, description, display name, and locale are available to set. This is because you already have defined the source variation. Remember that you can have only one source variation for your site collection.
As a final step, you create the infrastructure by clicking Create Hierarchies in the toolbar of the Variation Labels page. After Office SharePoint Server 2007 creates the variations, you see an overview similar to Figure 3.
Figure 3. Variation Labels page
Tuning the Navigation
If you return to the home page of your Web site, you can see three subsites—one for each of the variation labels (Figure 4). (The Press Releases subsite that is visible in the figure is not part of the variations infrastructure.)
Figure 4. Three language variations for your Web site
The home pages of your site variations still need to be approved before they are published. The master page associated with your site contains a small ASP.NET user control named VariationLabelsMenu.ascx that Office SharePoint Server 2007 displays on your pages (Figure 5), which allows a user to jump to the corresponding page in other variations.
Figure 5. Variations Label menu
For variations based on language, you probably want to hide the variation sites. Remember that Office SharePoint Server 2007 directs a user to the appropriate language of the site based on the locale as defined in the language settings of the browser. So a Flemish visitor with the Flemish locale set in Internet Explorer sees the Flemish variation. If the specified locale is not available as a site variation, the user sees the source variation.
You can hide variations from the navigation by clicking Modify Navigation Settings on the Site Settings page at the Site Collection Level.
A content author creating a new page in the source variation sees the page duplicated in the other variations. The update of the variations can happen automatically, or you can activate it manually by using the Page Editing toolbar where the Update Variations action is available.
The pages created in the variations can be involved in a workflow that handles the translation process. One possible scenario is that a translator is notified by an e-mail message to navigate to the new page and translate it.
This final article in this series provided insight into the steps involved in configuring an Office SharePoint Server 2007 site for anonymous access and forms authentication, and discussed the configuration of a site to support multiple variations of the content delivered with the site.
About the Author
Patrick Tisseghem (MVP, Microsoft Office SharePoint Portal Server) is managing partner at U2U, a Microsoft .NET training and services company based in Brussels, Belgium. He works most of his time as a contracted trainer for Microsoft delivering presentations, workshops, and seminars covering most of the Microsoft information worker products and technologies. Patrick is author of several articles and white papers about SharePoint Portal Server development aspects (published on MSDN) and is currently researching and writing a book about Microsoft Office SharePoint Server 2007 for Microsoft Press.
This article was developed in partnership with A23 Consulting.
For more information, see the following resources: