ProVUEs SiteWarrior
Volume Number: 16
Issue Number: 1
Column Tag: Tools of the Trade
ProVUE’s SiteWarrior
by Bill von Hagen
Automating Web site management and standardizing
content
Huge web sites can be a nightmare to maintain, both because of the sheer number of
pages and because of the frequency with which page data and inter-page relationships
can change. Developments in browsers and Web technology such as SSI (Server-Side
Includes), CSS (Cascading Style Sheets), and XSL (eXtensible Stylesheet Language) go
a long way towards helping the web-site designer standardize the visual identify of a
site by imposing a single set of styles across a site. Unfortunately, imposing an
analogous set of standards across the content of your pages can still be a difficult task.
ProVUE's SiteWarrior is a web site management and creation tool that takes a unique
approach to page storage and content standardization. SiteWarrior stores web sites in
an internal database where each record contains a single web page. For storage and
management tasks SiteWarrior uses ProVUE's own market-tested Panorama RAM
database, and therefore doesn't require that you already have a database application on
your system. Using a database often brings visions of shotguns loaded with cryptic SQL
commands to mind, which isn't the case at all with SiteWarrior. SiteWarrior uses its
integrated database behind the scenes to produce final versions of your web pages - you
don't have to know a single thing about databases in order to use SiteWarrior.
Once you've created and stored web pages in SiteWarrior, you can either preview them
with a browser or export them as separate HTML files, a process which SiteWarrior
calls "rendering." SiteWarrior helps enforce consistency guarantees in the pages you
render by inserting standard headers and footers, standard server-side includes, and
even automatically generating portions of the content for your pages.
Getting Started with SiteWarrior
SiteWarrior's installation process is as easy as you'd expect from any Mac application.
One significant problem with the version I reviewed is that it did not create a
SiteWarrior folder (as advertised in the documentation), but instead installed all of
the SiteWarrior files and folder at the top level of the selected disk. If you are as
meticulous as I am about using neatly nested folders for all of your software, you
should create a SiteWarrior folder in your target install location before installation.
After installing any Web software package, my initial inclination is to set a cup of
coffee on top of the documentation, fire up the software, and starting hacking pages.
Unless you're psychic, that isn't possible with SiteWarrior. There is no SiteWarrior
icon, which is an initial hint that you are indeed working with Web sites and pages in a
whole new way. SiteWarrior provides a template web site in a folder called Empty Web
Site. To create a new web site in SiteWarrior, you have to duplicate this folder,
renaming the copy to suit your site. You start SiteWarrior by opening this folder,
renaming the file www.emptysite.com to match your site, and then you double-click on
the renamed file. Frankly, a helpful little AppleScript to do all of the above would be a
win in my book, but it's always nice to leave a few bells and whistles for the next
release.
Creating Pages with SiteWarrior
SiteWarrior's main screen is organized into three basic areas, with an attendant
button bar and set of menus. (See Figure 1.) Once you have created pages, you can
organize them into subsets in the Groups window, which simplifies maintaining
different looks for different parts of your site. When you first start SiteWarrior, it
provides two default entries, ALL and Main. Similarly, the Pages area lists all of the
pages that are available in the active web site, and only lists the default Home page
when you first open a new site project. The contents of the currently selected page are
displayed in the largest window, which is empty when you start a new SiteWarrior
project. SiteWarrior's page editor is simple but functional. If you are a BBEdit fan,
you're in luck - SiteWarrior's Edit commands allow you to automatically open the
current page in BBEdit.
Figure 1.Sample Home
To create a new page in SiteWarrior, select the Edit menu's New Page command. A
dialog is displayed (See Figure 2.) in which you supply general information about the
page, such as its name, title, meta tag keywords, and a general description of the intent
of the page. You can also do this via the keyboard shortcut Command-N, which is
exactly what you'd expect in a savvy Macintosh application.
Figure 2.New Page.
SiteWarrior is a text-oriented application, a fact that is heavily stressed in the
documentation. For this reason, to add content or markup to a page means you must
either manually enter pairs of HTML tags or click icons on the button bar to insert the
appropriate HTML tags. I can already hear WYSIWYG page design fans beginning to
chant "Burn It! Burn It!," but I'd like to meet a web page designer who hasn't closed his
or her office door and manually hacked a web page or two.
SiteWarrior provides complete, integrated balloon help like any good Mac application.
The balloon help is extremely useful when trying to figure out the meaning of the
various icons on the button bar. Their meaning was intuitive in retrospect, after
reading the associated balloons, but the balloon help was quite handy in solving this
classic bootstrapping problem without resorting to clicking buttons to see what they
actually do.
Once you've added tags and content to a page, you can preview it at any time by selecting
the Render menu's Preview Page command. This displays the current page in your
default browser.
Figure 3.Page Preview
Working with Existing Sites and Pages
Few people today have just one Web page design tool in their software toolchest. An
important issue is how well SiteWarrior lets you work with existing sites and pages.
SiteWarrior's File menu provides an Import Pages dialog that lets you browse for
existing pages to import. SiteWarrior's import command worked well, but still
provides some opportunities for incremental improvement. For example, it would be
handy to have the option to strip or correct extraneous characters during the import
process. Similarly, it would be nice to be able to automatically verify links on
imported pages during the import process, letting you know if you've overlooked any
files that you meant to import. Though you can subsequently verify links using the Site
URL Maintenance command from SiteWarrior's Edit menu, a little automation here
would be a nice thing.
Standardizing Site Content
Standardizing SITE SiteWarrior's greatest strength is its ability to insert entries that
will be replaced by blocks of HTML code when you render a page. SiteWarrior does this
in two different ways. First, you can define "tag nicknames" for commonly-used terms
or complex HTML expressions, and second, you can use SiteWarrior's "Supertags",
which automatically insert things like extra document header information,
server-side includes, special types of generated content, and so on. When you render a
page containing either tag nicknames or Supertags, they are automatically expanded
into the more complex information that they represent. Not only are these useful to
provide simple shortcuts for complex expressions, but they help eliminate the
standard "query-replace" problem when you need to change something that appears on
multiple pages throughout your site. By coding items such as a product name as a
SiteWarrior's tag nickname, you can change that object through every referenced page
by simply modifying the value of the nickname. You can view or edit the list of
available tag nicknames at any time by selecting the Tags menu's Tag Nicknames
command.
Using SuperTags
SiteWarrior's tag nicknames are a timesaver, but its SuperTags are a thing of beauty.
Unlike tag nicknames, which simply substitute terms or HTML expressions during
rendering, Supertags can either insert special content, such as standard page headings
and the current date, or can generate complex content for the appropriate Supertag.
ProVUE calls these Supertags "HTML factories" because of their ability to
automatically generate content, insert styles, and otherwise help standardize your web
site by freeing you from a significant amount of tedious, error-prone work. You can
even create custom templates for the HTML generated from SuperTags, providing you
even more opportunities for customization. As an example of the power of SuperTags,
let's examine the SuperTags provided to help generate tables of contents and tables
themselves.
Anyone who has maintained a large, dynamic web site and an associated table of
contents page knows what a hassle it is to keep the table of contents up to date. As pages
are added or removed from the site, updating the table of contents to reflect the
current set of pages and their correct position in the site's browse sequence can be
time-consuming and is easily overlooked when frantically adding content. In
SiteWarrior, you can automate this entire process by inserting the tableofcontents
SuperTag. When the web site is rendered, the tableofcontents SuperTag is
automatically replaced by a generated table of contents for all of the pages in that site.
The HTML elements that are compiled into the table of contents are the contents of the
TITLE tags for each of the site's pages. The contents of the HTML TITLE tag are entered
in the Page menu's Page Options dialog, which you filled out when you created the page
but can edit at any time.
When creating longer pages, you often want to create a table of contents for a single
page. SiteWarrior automates this process by providing a PageContents SuperTag. The
HTML elements to be compiled into a page's table of contents are identified by the use of
anchor tags. For example, the following tag would automatically appear in a page's
table of contents after rendering a page containing the PageContents SuperTag:
Separate SuperTags for site-wide and per-page tables of contents cover the most
common cases where you would otherwise have to manually create tables of contents.
You can also use the tableofcontents SuperTag to automatically generate tables of
contents for subsets of the pages, by using the tableofcontents SuperTag's GROUP
attribute. As mentioned earlier in this review, SiteWarrior lets you associate
different pages with each other by assigning them to SiteWarrior page groups. When
you insert a tableofcontents SuperTag whose GROUP attribute is set to the name of that
page group, you can automatically generate a table of contents for a specific page group
during rendering.
Automatically Merging External Information
SiteWarrior provides several SuperTags to help you automatically include, import,
and format external information. The Include, Merge, MergeImport, and TableImport
SuperTags automate different ways of integrating external data, templates, and other
information. Let's look at SiteWarrior's TableImport SuperTag to see exactly how
these types of tags can save you time and prevent the errors that are often accidentally
introduced when you update complex pages.
A similarly tedious task to maintaining tables of contents is maintaining HTML tables,
especially when done manually. This is painfully true when the source of the table data
is in an external database that can be changed independently. SiteWarrior's
TableImport SuperTag lets you store table data outside your web pages, thereby
automating this process. It automatically imports and generates tables from that data
during the rendering process.
Figure 4.Tables Import.
The TableImport SuperTag's FILE attribute identifies the name of the file with
delimited entries that make up each row of your table. Whenever you need to update the
tables in your site, you simply use your database application to generate the delimited
file and then re-render the site in SiteWarrior. The next figure shows the HTML table
produced by this rendered TableImport SuperTag.
Figure 5.Tables.
In addition to the FILE attribute, the TableImport tag provides a number of other
attributes that make it easy to generate sophisticated tables. The COLUMN attribute
lets you specify column titles, specific column widths, column alignment, and the
background color for any column. A COLOR attribute lets you automatically specify
separate table background colors, and an associated COLORPATTERN attribute lets you
define a repeating pattern of different row colors. The TableImport SuperTag also
provides other attributes that let you further customize the layout of rows, columns,
an entire table, or the cells in a table by providing HTML templates.
Conclusion
SiteWarrior is a powerful web site creation and management tool. Web site designers
with a more graphical focus will need to augment SiteWarrior with a graphical page
design tool, but once you've settled on a look for your site, it's easy to make it into a
SiteWarrior template for future pages. If your focus is more on content and site design
as a programming task, you will quickly fall in love with SiteWarrior's tag
nicknames, Supertags, and similar shortcuts for automatic generation of content and
standardization of the pages in your web sites. All in all, SiteWarrior is a powerful,
capable tool for Web page design and management. If you can overcome its
non-WYSIWYG orientation, SiteWarrior is a powerful addition to your web site war
chest.
______________________________
Bill von Hagen is a writer, computer system administrator, and the author of
"SGML for Dummies." You can contact him at wvh@gethip.com.