Wednesday, March 15, 2006

What are FrontPage Server Extensions?

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

  • Authoring FrontPage webs. For example, when an author moves a page from one folder to another in a FrontPage web, the Server Extensions automatically update all hyperlinks to that page from every other page and Microsoft Office document in the FrontPage web, directly on the Web server machine.
  • Administering FrontPage webs. For example, a FrontPage web administrator can specify which users can administer, author or browse a FrontPage web.
  • Browse-time FrontPage web functionality. For example, users of a FrontPage web can participate in a discussion group. The Server Extensions will maintain an index of hyperlinks to articles in the discussion, separate discussion threads, tables of contents, and search forms to locate pages of interest.

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:

  • A full hyperlink map of all files in a FrontPage web. The FrontPage Explorer displays hyperlinks using this hyperlink map. When a FrontPage web is copied from one Web server to another, the entire hyperlink map is recalculated.
  • A full-text index of all Web pages in a FrontPage web. This lets end-users search a FrontPage web for pages containing words or phrases.
  • A persistent structure that authors can create and manipulate. This structure defines the key pages in a FrontPage web and the relationships among these pages. Authors operate on the structure of a FrontPage web in the FrontPage Explorer. When the structure of a FrontPage web is changed, affected pages are updated to reflect the changes.
  • Web themes. A theme is a set of color-coordinated page elements, including background colors, text colors, bullets, borders, and horizontal lines. By applying a theme to a FrontPage web, an author can easily give a FrontPage web a consistent, attractive appearance. When a new theme is applied to a FrontPage web, all pages are automatically updated to use it.
  • A Tasks list containing the tasks needed to complete a FrontPage web. Tasks are linked to the pages on which they occur.
  • Unique security settings. Each FrontPage web can be made available to a different group of administrators, authors and end-users.

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:

  • As private domain names, such as "www.mycompany.com." These are usually implemented as virtual servers on the same physical server machine using multihosting. Private domain name customers each get their own root web and have the option of creating sub-webs.
  • As a common or shared domain but with private virtual servers, as in "www.mycompany.myprovider.com," where "myprovider.com" is a shared domain and "www.mycompany" is a private virtual server. Private virtual server customers on a shared domain each get their own root web and have the option of creating sub-webs.
  • As a URL on an Internet service provider's server machine, as in "www.myprovider.com/mycompany." URL customers get a single sub-web.

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.

  • The FrontPage Explorer is the FrontPage tool for creating, designing, viewing, maintaining, and publishing FrontPage webs. Various views in the FrontPage Explorer provide different ways of looking at and modifying the contents of a FrontPage web.

  • The FrontPage Editor is the FrontPage tool for creating, editing, and testing World Wide Web pages. As an author adds text, tables, forms, images, controls and other elements to a page, the FrontPage Editor displays it in WYSIWYG style, as it would appear in a Web browser. The FrontPage Editor is fully integrated with the FrontPage Explorer.

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

  • Saving documents to FrontPage webs.
  • Creating, copying, and publishing FrontPage webs.
  • The Tasks view, containing a list of tasks needed to complete a FrontPage web.
  • FrontPage web-structure editing. An author defines the structure of a FrontPage web in the FrontPage Explorer's Navigation View and inserts navigation bars in the FrontPage Editor. FrontPage navigation bars automatically create the hyperlinks that express the FrontPage web's structure. If the author changes the structure in the Navigation View, all FrontPage navigation bars automatically update these hyperlinks.
  • FrontPage components (also called WebBot components). FrontPage includes a rich set of active components that update pages when a change occurs in the FrontPage web. For example, the Table of Contents component keeps an updated table of contents of the entire FrontPage web. When an author moves a page, the table of contents is updated. Another FrontPage component, the Include component, inserts the contents of one page into another. If the inserted page changes, all pages that include it are automatically updated.
  • Hyperlink map. A FrontPage web's hyperlink map is browsable in the FrontPage Explorer's Hyperlink View. Using this map, FrontPage updates affected hyperlinks in the FrontPage web when a page is moved or renamed.
  • Themes. Authors select FrontPage web themes in the FrontPage Explorer, or they can apply a theme to a single page in the FrontPage Editor. When the theme for a FrontPage web changes, FrontPage automatically updates every page in the FrontPage web to use the new theme.

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.

  • Administering permission gives a user, group of users, or a computer permission to administer the FrontPage web.
  • Authoring permission gives a user, group of users, or a computer permission to open the FrontPage web in the FrontPage Explorer and edit its pages and files.
  • Browsing permission gives a user, group of users, or a computer permission to browse the FrontPage web when it is published on the Internet or on an intranet.

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:

  • admin.dll for FrontPage web administration
  • author.dll for FrontPage web authoring support
  • shtml.dll for browse-time support

FrontPage Extensibility

FrontPage is extensible in the following areas:

  • Web wizards and page wizards
  • Web themes and page themes
  • menu commands
  • FrontPage components

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)
AIX 3.2.5, 4.1, 4.2 (RS6000, PowerPC)
SCO OpenServer5.0 (Intel X86)
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, Intel x86
Windows NT Workstation, Intel x86

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

0 Comments:

Post a Comment

<< Home