An Overview of the FrontPage Server Extensions

  • What Are the FrontPage Server Extensions?
  • FrontPage Webs
  • FrontPage Authoring Support
  • FrontPage Administrative Support
  • FrontPage Browse-Time Support
  • Publishing FrontPage Webs
  • FrontPage Product Architecture
  • FrontPage Extensibility
  • FrontPage Client and Server Extensions Compatibility
  • FrontPage Server Extensions: Supported Platforms
  •  

    What Are the FrontPage Server Extensions?

    The FrontPage Server Extensions are a set of programs on the Web server that support:

    A FrontPage web is a project containing all the pages, images, and other files that make up a Web site. For a full description of FrontPage webs, see FrontPage Webs.

    The design of the FrontPage client and Server Extensions minimizes the need for costly file transfers over the Internet. When an author using the FrontPage Explorer opens a FrontPage web from a Web server containing the Server Extensions, information about the FrontPage web, such as its hyperlink map, is downloaded to the client machine so that the FrontPage Explorer can display the information. However, the full set of pages and other files that comprise the FrontPage web remain on the Web server machine. A page is only downloaded over the Internet when it is opened for editing in the FrontPage Editor. This is a very efficient mechanism: an entire Web site can be changed directly on a Web server at the cost of downloading and editing a single file.

    When a Web server machine has the FrontPage Server Extensions, FrontPage web authoring and administering functionality is available from a PC or Macintosh computer that has the FrontPage client program and that is on the Internet or an a local Intranet. The browse time functionality of the Server Extensions is available from any Web browser on the Internet or Intranet.

    Communications between a client computer and a Web server containing the Server Extensions uses the same open, ubiquitous HTTP protocol that Web browsers on a client computer use to interact with a Web server. No file-sharing access on the Web server machine is needed, nor are FTP or telnet access required. No proprietary file system sharing calls are necessary.

    The Server Extensions are designed to work with any standard Web server using the Common Gateway Interface (CGI), the near-universal Web server extension mechanism. This includes freeware and shareware servers such as those from Apache,CERN and NCSA, and commercial web servers from Netscape, Microsoft, and O’Reilly and Associates. The Server Extensions are designed to be easily ported to all popular hardware and software platforms for cross-platform Web server compatibility. See FrontPage Server Extensions: Supported Platforms for a complete list of the operating systems and Web servers for which the Server Extensions are available.

    On Windows Web servers, the Server Extensions are integrated with Microsoft Visual SourceSafe and support version control and check-ins and check-outs of files from the Web server.

    The Server Extensions are also used by Microsoft Visual InterDev in the same way that they are used by Microsoft FrontPage.

    FrontPage Webs

    FrontPage works with World Wide Web content by managing FrontPage webs. You can think of a FrontPage web as a project. It contains all the pages, images, and other files that make up a Web site. Authors can create, delete, open, and close FrontPage webs using the FrontPage Explorer and FrontPage Editor on a client computer. A FrontPage web can be stored on a remote Web server computer, a Web server running on the same computer as the client program, or in the client computer's file system.

    Many of the features of a FrontPage web require the FrontPage Server Extensions to be on the server containing the FrontPage web. Some of the features of FrontPage webs that are supported by the FrontPage Server Extensions are:

    FrontPage supports two kinds of FrontPage webs: root webs and sub-webs. A root web is a FrontPage web that is the top level content directory of a Web server or, in a multihosting environment, of a virtual Web server. It can have many levels of subdirectories, containing it’s content. There can be only one root web per Web Server or virtual Web server.

    A single root web can support a number of sub-webs. A sub-web is a complete FrontPage web that is a subdirectory of the root web. Sub-webs can only exist one level below the root web. Each sub-web can have many levels of subdirectories, making up its content. Sub-webs cannot have sub-webs.

    Even though sub-webs appear below the root web in the Web server's file system and URL space, the root web does not include the content in its sub-webs. This separation of content is done by the FrontPage Server Extensions.

    The root web and all sub-webs on a server have separate copies of the Server Extensions installed, or have stub executables of the Server Extensions programs. Having separate Server Extensions copies for each FrontPage web lets the Web server enforce different end-user, author, and administrator permissions on each FrontPage web, since FrontPage uses the Web server's built-in security mechanism to control access.

    FrontPage webs can be implemented on a Web server and accessed by Web browsers in the following ways:

    FrontPage Authoring Support

    In FrontPage, authors create Web pages and entire Web sites using FrontPage on a client computer (a PC or Macintosh). The FrontPage client programs are the FrontPage Explorer and the FrontPage Editor.

    Much of the FrontPage Explorer and Editor's functionality is supported by the FrontPage Server Extensions. Some examples are:

    FrontPage Administrative Support

    The FrontPage Server Extensions provides a set of web-administration tools that can be used remotely from the FrontPage Explorer. These tools provide access control and general Web-administration functionality. The Server Extensions support three levels of access control of FrontPage webs: administrator, author, and browser.

    For a full discussion of FrontPage Server Extension administrative capabilities, along with a general discussion of Server Extensions security issues, see The FrontPage Server Extensions: Security Considerations.

    FrontPage Browse-time Support

    FrontPage browse-time support occurs when a user views a page in a FrontPage web from a Web browser. Browse-time support is implemented in the FrontPage Server Extensions as FrontPage components (also called WebBot components).

    A FrontPage component is an active object that is inserted on an HTML page using the FrontPage Editor. It has a persistent state that is encoded as HTML comments. FrontPage components typically produce as their output HTML that is inserted in the surrounding HTML page. FrontPage components can be active at authoring-time, while the FrontPage Editor and Explorer are in use, or at browse-time. For example, the Include component is an authoring-time component that includes the contents of one page in another.

    Some browse-time FrontPage components are:

    Search Form
    The Search Form uses the full text index created by the Server Extensions. It appears as a form on a page. When a user submits a Search Form containing words to locate, the Search Form returns hyperlinks to all pages in a FrontPage web that contain the words.
    E-mail Form Handler
    The E-mail Form Handler gathers information from a form, formats the information, and sends it to an e-mail address.
    Discussion Form Handler
    The Discussion Form Handler lets users participate in an online discussion. It collects information from a form, formats it into an HTML page, and adds the page to a table of contents and to a text index.

    When a user browses an HTML page containing a browse-time FrontPage component, the Server Extensions do whatever processing is required and then generate a new HTML page to display the results of the operation. For example, a Search Form will generate an HTML list of hyperlinks to pages and an E-mail Form Handler will generate a page confirming that a form's contents have been processed and sent to an e-mail address.

    An HTML page with no browse-time FrontPage components does not use the Server Extensions when a user browses the page. Instead, the normal Web server page-retrieval process occurs.

    Publishing FrontPage Webs

    Publishing a FrontPage web means making the FrontPage web available to users for browsing from a Web server, either on an intranet or on the Internet. The Internet and intranet cases typically use different methods of publishing.

    In Internet publishing, the most common method is for an author to create a FrontPage web on a Web server installed on the client computer. (When the FrontPage client program is installed, FrontPage optionally installs a Web server with the Server Extensions on the client computer.) Then, when the FrontPage web is completed and tested, the author publishes it to an Internet service provider's Web server using the FrontPage Explorer's Publish FrontPage Web command. Authoring on a local Web server is efficient because it does not require an author to be connected to an Internet service provider while working on a FrontPage web.

    The Publish FrontPage Web command copies the FrontPage web from a source (desktop) Web server to a destination (production) Web server in batch mode. Only new or changed pages and files are copied by default. Pages and files deleted from the source FrontPage web are also deleted from the destination web.

    When an author publishes a FrontPage web using the Publish FrontPage Web command, the home page is renamed, if necessary, to match the naming-convention on the destination Web server. Also, all FrontPage components in the FrontPage web are regenerated to take advantage of platform-specific functionality. For example when a FrontPage web is published to an IIS server containing Microsoft Index Server, any Search Forms are configured to use the Index Server.

    In Intranet publishing, the most common method does not require the Publish FrontPage Web command. Instead, an author works directly on a Web server machine on an internal network, which is typically used to share information inside an organization. In this method, whenever a page is opened from the Web server and edited, the change is published to the intranet when it is saved from the FrontPage Editor.

    FrontPage Product Architecture

    The FrontPage client system communicates with a Web server via the FrontPage Explorer. The library dedicated to communicating from the client is the WEC (Web Extender Client), a private FrontPage library. This library communicates via WinSock and TCP/IP. Wizards and custom applications on the client communicate with the Editor and Explorer using OLE automation.

    The FrontPage client tools communicate with the Server Extensions using HTTP, the same protocol used to communicate between Web browsers and Web servers. FrontPage implements a remote procedure call (RPC) mechanism on top of the HTTP "POST" request, so that the FrontPage client can request documents, update the Tasks list, add new authors, and so on. The Web server sees "POST" requests addressed to the Server Extensions CGI programs and directs those requests accordingly. FrontPage correctly communicates between client and server through firewalls (proxy servers). FrontPage does not use or require the HTTP "PUT" request. As described in the HTTP specification, "PUT" sends a document to a Web server. However, few Web servers implement "PUT." Therefore, FrontPage uses the universally-implemented HTTP "POST" request for all communications with the Server Extensions.

    For most web servers, the Server Extensions are accessed by the Web server using the Common Gateway Interface (CGI), the near-universal Web server extension mechanism. The implementation of CGI differs somewhat among Web servers and platforms. For example, most Unix web servers invoke a CGI extension by running it in a separate fork, whereas some Windows NT web servers support a Dynamic Link Library (DLL) variant of CGI-style communication that incurs less overhead. But the information flow is similar for all CGI implementations: user-driven values and environment parameters are passed to the CGI extension using a block of name/value pairs, and the CGI extension program returns a result in HTML format.

    The Server Extensions are divided into three libraries:

    FrontPage Extensibility

    FrontPage is extensible in the following areas:

    The Microsoft FrontPage Software Developer's Kit, which is included on the FrontPage CD-ROM in the \SDK folder, contains full documentation for adding these features, including examples and sample code.

    FrontPage Client and Server Extensions Compatibility

    The FrontPage Server Extensions exist for FrontPage client versions 1.1, FrontPage 97, and FrontPage 98. Each FrontPage client release is accompanied by a new Server Extensions release that supports the new features of the client. For example, the current release, FrontPage 98, is accompanied by a new FrontPage 98 Server Extensions release. It is always most effective to use the most up-to-date versions of the FrontPage client and the Server Extensions.

    Each new release of the Server Extensions is backward compatible with previous FrontPage client versions so that it continues to support the client's functionality at each earlier level. For example, a FrontPage 97 client can open and edit a FrontPage web from a Web server that has the FrontPage 98 Server Extensions installed with no loss of functionality in the FrontPage 97 client. However, the client will not be able to access new Server Extensions functionality added for the FrontPage 98 client such as applying themes to a FrontPage web or creating and saving a FrontPage web structure.

    A FrontPage client can also open and edit FrontPage webs on a Web server containing an earlier version of the Server Extensions. However, the client will not be able to use its newer features, because they will not be supported by the earlier version of the Server Extensions.

    Bug fixes and patches are occasionally issued for the current released version of the Server Extensions . Older versions of the Server Extensions do not receive these occasional updates. However, patches to the current version of the Server Extensions will work with earlier versions of the FrontPage client.

    FrontPage Server Extensions: Supported Platforms

    The following table provides the complete list of operating systems and Web servers for which the FrontPage Server Extensions are available.

    On the following operating systems: The FrontPage Server Extensions
    are available for the following
    Web servers:
    UNIX

    Digital UNIX 3.2c, 4.0 (Alpha)
    BSD/OS 2.1 (Intel x86)
    BSD/OS 3.0 (Intel x86)
    Linux 3.03 (Red Hat Software) (Intel x86)
    HP/UX 9.03, 10.01 (PA-RISC)
    IRIX 5.3, 6.2 (Silicon Graphics)
    Solaris 2.4, 2.5 (SPARC)
    SunOS 4.1.3, 4.1.4 (SPARC)


    Apache 1.1.3, 1.2
    CERN 3.0
    NCSA 1.5.2 (we do not support 1.5a 0r 1.5.1)
    Netscape Commerce Server 1.12
    Netscape Communications Server 1.12
    Netscape Enterprise Server 2.0, 3.0
    Netscape FastTrack 2.0

    Windows NT Server, Windows NT Workstation, and Windows 95
    .
    Intel x86 Win 32
    .
    .
    .
    .
    .
    .
    .
    .


    Windows NT Server 4.0 or higher,
    Windows NT Workstation 4.0 or higher




    Internet Information Server 2.0 or higher, including IIS 4.0
    Microsoft Peer Web Services (on Windows NT Workstation)
    Netscape Commerce Server 1.12
    Netscape Communications Server 1.12
    Netscape Enterprise 2.0 and 3.0
    Netscape FastTrack 2.0
    O'Reilly WebSite
    Microsoft Personal Web Server (on Windows 95)
    FrontPage Personal Web Server



    Microsoft Internet Information Server2.0 or higher, including IIS 4.0
    Microsoft Peer Web Services (on Windows NT Workstation)