FrontPage Server Extensions

In any assessment of Expression Web, a special place must be reserved for the mess that Microsoft has made over the FrontPage Server Extensions (FPSE). These are a set of executables, or perhaps scripts in non-Windows implementations, that run on a web server. Microsoft’s own brief summary of what the FPSE are for is:

Enables authoring and administration of websites with Microsoft FrontPage and Visual InterDev

This description comes from the Windows Components Wizard in Windows 2000, Windows XP and Windows Server 2003, which all include the FPSE as a separately installable feature of the Internet Information Services (IIS). Installing the IIS gets you a web server with at least a Default Web Site. If you have installed the FPSE as well, then the IIS Manager (among the Administrative Tools) provides you with an easy way to configure the server extensions for your web sites.

Unsurprisingly, the FPSE are also supplied with FrontPage. Most notably, FrontPage 2002 supplies the FrontPage 2002 Server Extensions as an update for the FrontPage 2000 Server Extensions that may already be present if installing on Windows 2000 or Windows XP. The FrontPage 2002 CD also contains, in a separate directory with its own setup program, something called Windows SharePoint Services (version 2.1), which is notable here because it also includes the executables of the FrontPage 2002 Server Extensions. For the purposes of this note, Windows SharePoint Services are FrontPage Server Extensions by another name.

The FrontPage Server Extensions are not supplied with Windows Vista and are not supplied with Expression Web. Microsoft distributes the Windows SharePoint Services (version 3.0 Service Pack 1 as late as December 2008) as a free download, but the package does not install on Windows Vista. At least for users of Windows Vista, the FrontPage Server Extensions seem to have had their day.

Standards Compliance

Some would say the FrontPage Server Extensions would better have never been introduced. On some grounds, they would have a good point. The FPSE are not solely about using HTTP for authoring and administration. They also support, and are needed for, some of the design-time aids that FrontPage calls Web Components. In a typical case, the design-time coding is an HTML comment whose text is to be interpreted by the server and resolved as HTML code that is downloaded to browsers. Such server-side HTML generation is not of itself objectionable. Indeed, it’s well-established in a variety of forms and seems to be widely valued. The trouble is that for some of these Web Components, the HTML code that the FPSE generates at the server and sends to the browser is non-standard.

Of course, this trouble might be resolved easily enough by fixing the FPSE so that the generated code is standard-compliant. If Microsoft has not wanted to do this, then that is Microsoft’s perogative, but it is strange from a company that has usually attended well to issues of compatibility. At Microsoft’s encouragement, the FrontPage Server Extensions are by now depended on for the correct working of very many websites that have been written using FrontPage. The FPSE are installed not only on the machines of FrontPage users but also on countless servers operated by the providers of web-hosting services. Perhaps what Microsoft really dislikes is that many of those servers do not run Windows. Is it too cynical to suppose it might suit Microsoft much better if FrontPage users who presently publish to Linux servers that run FrontPage Server Extensions should evolve into Expression Web users who expect their web-hosting services to provide ASP .NET on Windows servers?

Expression Web

The Expression Web Help says very little about the FrontPage Server Extensions. This seems odd to me, since much of what the Expression Web Help says you can do with websites is impossible if the website is accessed through an HTTP address but does not have the FrontPage Server Extensions. Consider for instance the page Publishing Websites. It offers several “publishing scenarios”, each of which I quote:

There is no suggestion of any dependence on the FrontPage Server Extensions, yet if the remote web server, whether for staging or production, is to be accessed as a web server through an HTTP address, then it must have the FrontPage Server Extensions. This is known to the Expression Web programmers, as is perfectly plain from the following message box, so how does Microsoft omit to mention it in the Expression Web Help?

Unable to open Web site

Worse, this fairly informative message box is not what greets you in practice if you think to open a web site that doesn’t have the FrontPage Server Extensions. Due to coding problems, you are told instead that The Folder Name Is Not Valid. As an explanation, that is so extremely and obviously unhelpful that one must wonder how the Expression Web programmers and testers can have tolerated it if they ever saw it. Perhaps they simply closed their minds to the possibility that users who have migrated from FrontPage would think to enter an HTTP address for a web server.

Disk-Based Webs

Of course, there are other ways to open a website in Expression Web on Windows Vista. Those “publishing scenarios” that I quote above are each possible without the FPSE. It’s just that you can’t open the websites by using HTTP addresses. For your local website, you are instead reduced to using what the FrontPage documentation refers to dismissively as a disk-based web.