<html>
<head>
<title>
Dynamic Publishing System
</title>
</head>
<body>

<h2>
Dynamic Publishing System
</h2>

part the <a href="/doc">ArsDigita Community System</a> 
by <a href="mailto:karlg@arsdigita.com">Karl Goldstein</a>

<hr>

<h3>The Problem</h3>

<p>The traditional way to create dynamic pages for AOLserver 
is to write "pages that are really programs," mixing Tcl code, 
database queries and HTML in a single file.  This approach is
convenient under the following conditions:</p>

<ul>
<li>when all people working on the site have equal responsibility and
ability to write code, create content, and design page layouts.
<li>When a single presentation of the content is sufficient.
</ul>

<p>Alas, the world of web publishing is not so monotonic these days.
Most web publishing teams are faced with the following dilemma(s):</p>

<ul> 

<li><p>The process of creating a site is no longer in the lone hands
of a team of programmers.  Page templates are usually designed by
graphic artists, UI experts, and their associated journeymen.
Programmers must wire their code into the complex templates handed to
them by the HTML authors, and then take responsibility for any later
changes to the HTML that involves their code.  Content may be managed
and contributed by separate teams of editors and authors.</p>

<li><p>As the Web truly becomes World Wide, the need to present the
same content in different ways is becoming increasingly important.
This includes both publishing in different languages as well as
publishing for different devices, such as cell phones and home
internet appliances.</p>

</ul>

<p>The complexities of contemporary web publishing demand more
attention to improving productivity and collaboration among all
members of the team.  Programmers need the means to focus more on
functionality, optimization and security and less on design work.
Conversely, HTML authors need the freedom to make most design changes
without programmer intervention.  Editors and authors need a way to
contribute and manage the content that the pages present.  Site
managers need the means to oversee the work of the entire team.</p>

<h3>The System</h3>

<p>The Dynamic Publishing System addresses these problems with an integrated
suite of tools:</p>

<ul> 

<li><em>Dynamic templates</em> that allow for strict separation of
code (Tcl and SQL) and layout (HTML).  Programmers specify the sources
and variable names of dynamic data in a <em>data specification</em>
file associated with each template file.  HTML authors then use a
small number of special markup tags to include the specified data in
the template.

<li>A <em>form manager</em> to handle user data transactions with
similar separation of code and layout.  Programmers specify the
functional characteristics of a form in a <em>form specification</em>
file.  Most form manager uses this information to handle most common
programming tasks related to forms, including validation, populating
button groups and select lists, setting of default values for update
forms, and database interaction.  HTML authors use special markup
tags to include the specified form widgets in a form template.

<li>A <em>site manager</em> that allows the publisher to establish a
hierarchical structure for a site, for the purpose of generating
navigation controls and site maps.  The manager may also be used to
assign common properties, such as master layout templates, resource
directories, and group access permissions to entire branches of the
site.

<li>A <em>content manager</em> that supports distributed contribution
and editorial control of static text and images in multiple languages.
A site may have any number of <em>content sections</em>, each with its
own group of authors who have permission to contribute content and
editors who have permission to make changes and approvals for public
release.

<li>A <em>locale manager</em> to define the languages in which the
site is published and allow for user selection of locale.

<li>An <em>index manager</em> for assignment of keywords to content,
pages, and entire sections of the site.  This information may then be
used to create metadata and site indices, as well as track user
interests.

<li>A <em>file management</em> tool for controlled editing and
uploading of text and image files.

</ul>

<h3>Status</h3>

<p>The Dynamic Publishing System is currently being developed,
documented and reviewed internally by ArsDigita.  It is publicly
available for trial and inspection from its <a
href="http://karl.arsdigita.com/projects/template">development
site</a>.  The documentation still needs improvement but should be
enough for you to get started.  Questions and feedback are
welcome.</p>

<p>Due to bugs and limitations in the current beta release of
AOLserver 3.0, the system currently works only with AOLserver 2.3.3.
After internal review is complete and AOLserver 3.0 is finally
released, the goal is to include it in the standard ACS
distribution.</p>

<hr>

<a href="mailto:karlg@arsdigita.com">karlg@arsdigita.com</a>