ShearerSite

Features

Features

Summary: The ShearerSite template system merges your HTML files with global templates in order to add headers, footers, navigation bars, and other repeating elements. It generates regular static HTML files that you can still edit, and you can reapply the same or different templates any number of times without ill effect.

  • Templates and includes can be updated at any time. Click the “Apply” button on the Web administration screen, and the dependent pages will be updated too.
  • Supports separate staging and production servers (though this is not a requirement).
  • Requires no special software or databases on the production Web server.
  • Can be administered through the Web, normally using the staging Web server. If your access privileges do not allow you to install the software onto a Web server (for instance, you can only upload files through FTP), you have two options. An internal personal web server can run the entire Web interface, or a stripped-down command-line interface is available to run the “apply template” feature directly on your own machine.
  • Supports ASP, PHP, JSP, and SSI files in addition to plain HTML, and takes extra care to be sure that the template does not clobber or rearrange leading or trailing server-side scripts.
  • Will work with your existing HTML files. When applying a new template to a page, FrontPage shared borders will be removed automatically.
  • Can embed consistent navigation controls (including a breadcrumb trail and child links) into your pages automatically.
  • Templates can be hierarchical (dependent on one another) and can contain named placeholders that are each overridable separately. At its simplest, a template is just an HTML page containing a marker specifying where the main content goes.
  • Templates and content pages can be created and edited with WYSIWYG HTML editors.
  • FrontPage integration: will parse FrontPage navigation data, and will strip off FrontPage shared borders when applying a new template. Coming in version 1.4 is a FrontPage menu item that lets you jump directly to the Web administration screen for the current subweb.
  • Web browser integration: an icon you can place in your Web browser’s toolbar called a bookmarklet allows you to edit, apply templates, and replicate to the current page or folder.
  • Metainformation: view keywords, description, title, and content modification date for all pages in a folder.
  • Online editing: For pages not needing complex HTML markup in their content areas, a separate HTML editing product isn’t needed at all. You can edit metainformation and named content areas within a Web browser, using the Web administration interface. This is ideal for highly structured templates that must be filled in by many authors, such as standardized department information pages, since the cost of distributing a full-fledged HTML editor to all of the authors, training them, and cleaning up their pages when they haven’t followed the template properly, can be eliminated.

The system has been in use on a major company‣s web site since March 2001. It's being used on the pages you're reading now. The navigation links at left are made by the folder-based navigation generator.

It was written to solve a few major problems:

  1. The effort, knowledge, and time required to make a traditional Web page that fits in with the rest of the site, including its look and its navigation controls, often means that the page won’t be created at all.
  2. Site navigation is hard to do well. Most of the current systems aren’t flexible enough or are hard to maintain. Some don’t scale well to large sites. Some use frames, which tend to create problems for users following inbound or outbound links.
  3. Sites often contain recurring elements on every page, and sometimes need to change all of them (say, to fix a link, or to change the look of the site). There are several existing methods for doing this, but each have different drawbacks that led to the design of the new template system.
    1. Server-side includes (SSI), in .shtml files, are one method. Advantages of ShearerSite-style includes over SSI:
      1. There will be less load on the Web server, because the SSI interpreter doesn’t have to parse the main file and read others, and the page can be served out of the static-file cache.
      2. It will work with any server-side embedded scripting language (ASP, PHP, JSP, etc.) without syntax changes.
      3. Existing URLs can be easily preserved, since extensions don’t change from .htm or .html to .shtml
      4. The included files are well-formed HTML documents themselves, openable with graphical editors and HTML syntax checkers, instead of fragments without <html>, <head>, or <body> tags. Many tools won’t work at all with HTML fragments. FrontPage, for example, tends to add a <head> element to fragments it opens, which leads to bad HTML code with duplicate <head> tags being served to the browser.
    2. FrontPage-style includes don’t have the SSI problems listed above, but haved traded them for different ones. ShearerSite advantages over FrontPage includes:
      1. The included file is checked for tag imbalances that would corrupt the finished document and make the template system unable to determine the boundaries of the include area the next time through. (FrontPage has been known to eliminate the content of a document when faced with unbalanced tags in its border files.)
      2. Documents be reliably updated through a Web interface. FrontPage is supposed to update documents when an included file is changed through FrontPage, but it doesn’t always work. (And it never works if FrontPage didn’t see the change, say, if the included file was edited from a network drive with a text editor.)
      3. The number or type of tables used is completely up to the template designer. FrontPage borders enclose all content in an extra table, which can affect its appearance (since the table width is always set to 100%, preventing content from shrinking below the window width).
      4. Any Web authoring program can be used. Even remote Web authors uploading through FTP can be supported.
      5. FrontPage includes don’t work outside of the current subweb, requiring larger sites to duplicate recurring elements to each subweb.
    3. And, of course, there are advantages over a static system, where the Web author copies and pastes boilerplate HTML code:
      1. The correct template is applied automatically to the page (using per-folder or per-hierarchy rules).
      2. The templates or includes can be modified at any time, and rerunning the template system will update all dependent files accordingly.
    4. There are advantages over other content-management systems that generate a separate copy of the HTML files for production.
      1. There only need to be one copy of the content, so you don’t have to manage an "original" set and a "generated" set.
      2. After applying templates, the original content is editable, WYSIWYG-style, inside the template.
    5. ... and many advantages over a database-based content-management system.
      1. Much less server load.
      2. Not locked in to proprietary software, database format, or brittle, unfriendly URLs.
      3. Robust and resilient: a finished HTML page can be transferred between systems or even through a Web downloader without loss of information, still allowing the template to be changed and re-applied. Apart from per-folder defaults and the _templates folder itself, there are no hidden files that have to be preserved.
      4. Prevents linkicide and linkrot: Since the content is in regular HTML with simple template markers, instead of read out of a system-dependent database, it’s easy to preserve existing links across system migrations and upgrades. You could even switch to a different content-management product with, at worst, a text search-and-replace. (This type of technique would have prevented the well-documented linkicide of the writer Dan Gillmor’s columns when his employer switched content management systems.)

Also see the How to Use and Revision History pages.