| This chapter is intended to provide a brief, prosaic description of the process of developing a web site with HyperContent.
Information ArchitectureThe first and most critical stage of developing a web site is determining the information architecture. Things that must be established include what information will be conveyed, what kinds of pages are necessary to present that information, how pages relating to different kinds of information will be grouped, how broad and deep these groupings should be, and how navigation will be performed among the different groupings and page types. These decisions need to be made with a goal of clarity and comprehensibility to the intended audience.
There are many resources to help develop a coherent strategy for information architecture, including an O'Reilly book and a webmonkey tutorial.
Graphical User Interface DesignGUI Design generally starts with pen, paper, and the intention to express an information architecture, from its structure and navigation to the display of specific types of information. The process is iterative, with each set of sketches being a refinement of the last, based on review, feedback and fresh ideas. The end result of the GUI Design process is generally a set of paper, graphical or HTML mockups that exemplify the overall site branding and the presentation of every type of page and navigational component specified by the information architecture. This design ultimately will be distilled down to CSS, image files and HTML gestures. The CSS and image files can be imported directly into HyperContent for site implementation; the HTML gestures will be coded into XSL templates designed to present the structured data stored in the site repository.
Site ImplementationSite implementation requires an information architecture, but may begin without a finished GUI design; as the goal of site implementation is to maintain a separation between content and presentation, much of the work can be done before the presentation is fully developed.
An information architecture is expressed at two levels in HyperContent; at the lowest level, XML DTDs are used to express the structure of data fields. At a higher level a Project Definition document describes file and directory structures, the association of particular XML root elements with specific XML file types, the includes, XSL and filters associated with XML files, support for non-XML content types, and any customizations of the content authoring environment. Project Definitions also describe where the data repository will be, as well as where the site output should go. Project Definitions are described in depth in the Developing Sites section of the HyperContent documentation.
When the site implementation is complete, the end result will be a Project Definition file, a set of XML DTDs and XSL, and any number of image, CSS and other support files which are used to construct the GUI. All of these files can be managed using the Content Manager channel, which is the administrative and authoring tool provided by HyperContent.
Content DevelopmentOnce a site is implemented, the Content Manager channel gives content authors everything they need to create, update and manage content in the site. This includes the ability to browse, search, create, copy, move, edit, delete, preview, build and publish files and folders in the repository. All of these activities are subject to authorization, so that administrative users can specify exactly who has what privileges.
During authoring, there is a repetitive cycle of making changes and previewing the result. It is possible to give content authors permission to build content, which runs their changes through the publishing engine and onto the staging server, but not publish it, allowing review by an editor before the content is made publicly available.
The Content Manager channel is described in depth later in this manual, as are the specific authoring tools that ship with HyperContent. HyperContent also provides a complete framework for plugging in custom editors.
Adding onAs time goes on, many web sites need to add additional types of information in order to meet new needs or cater to increasingly sophisticated users. At any time, the project DTDs can be modified to add additional fields or attributes that can be used in existing as well as new XML content. You can easily extend either the breadth or depth of the site with new page types that will live alongside or beneath current data, and it is possible to implement a new look and feel, navigational scheme, or audience-specific output either in place of or alongside the existing site, by modifying or writing new XSL templates.