Custom FrontPage Component Parts

There are three parts to a custom component: the component description file, the component template file, and the component implementation file.

All of the pieces are installed in a special directory for the custom FrontPage components. Each directory can contain one or more components, and contains a single FrontPage component description file and, optionally, component template and implementation files.

The component description file identifies the name, type, and capabilities of each component in that directory, and tells where to find each component template and implementation files. The information kept in the description files of all of the custom component directories is downloaded to the FrontPage client when a web is opened or has its links recalculated. This information is used to construct the merged list of built-in FrontPage components and custom FrontPage components displayed in the FrontPage Insert|FrontPage Component dialog.

The component template file is an HTML document containing type information about each component attribute and initial state. Each user-editable parameter is classified as one of the basic types: Boolean, Integer, String, Date, URL, or Color. In addition, Integer and String parameters can be given MIN and MAX ranges (which apply to a String’s length), and a String parameter can be specified as a RADIO choice (users select one choice from among multiple choices). This information allows the generic FrontPage Component Properties dialog to display type-appropriate editing controls for each attribute. The component template files are downloaded by FrontPage only when needed, such as the first time a component of a given type is inserted into a page. The component template file is used only if the clientbinding=BTL parameter is used (see below for more information on the clientbinding setting.)

The component implementation file can be a dynamic link library or program written in C or C++, or an interpreted script file written in a language like Perl or Tcl. If the implementation file is for a component with a clientbinding=DLL setting, it is downloaded to the client automatically. The C and C++ implementations can be compiled into libraries or executable programs for Win32 or UNIX-based web servers. A custom component library is loaded by the FrontPage Server Extensions or FrontPage, as required. A server-side component program or script is launched by the FrontPage Server Extensions, with parameters sent back and forth via the UNIX-style standard input/output (stdio) file mechanism. A client-side component program is launched by FrontPage (if clientbinding=DLL) and parameters are sent back and forth via standard DLL function parameters.