Apache-PageKit
view release on metacpan or search on metacpan
docsrc/features.xml view on Meta::CPAN
<chapter><?dbhtml filename="features.html"?>
<chapterinfo>
<releaseinfo role="meta">
$Id: features.xml,v 1.21 2003/11/25 10:20:24 borisz Exp $
</releaseinfo>
</chapterinfo>
<title>Overview of Features</title>
<sect1><?dbhtml filename="mvcc.html"?>
<title>Model/View/Content/Controller approach to design</title>
<para>
PageKit follows a Model/View/Content/Controller design pattern, which
is an adaption of the Model/View/Controller pattern used in many other
web frameworks, including Java's Webmacro and Struts.
</para>
<itemizedlist>
<listitem>
<para>
The Model is the user provided classes, which encapsulate the
business logic behind the web site
</para>
</listitem>
<listitem>
<para>
View is set of PageKit Templates, or XSLT files that generate
PageKit Templates
</para>
</listitem>
<listitem>
<para>
Content is set of XML Files
</para>
</listitem>
<listitem>
<para>
Controller is PageKit
</para>
</listitem>
</itemizedlist>
<para>
This approach parallels the division of the job responsibilities of a large web development team.
The programmers can focus on the Model, the designers on the View, and the content
administrators on the (you guessed it!) Content. PageKit provides the Controller which glues
everything together.
</para>
<para>
This way everybody can focus on what they do best, whether it is programming, design, or
content. Since the interfaces are simple and well-defined they can easily work together without
interfering with each other.
</para>
<sect2>
<title>Model</title>
<para>
The Model is provided by Perl classes which implement the business logic that is custom to the
site. These class files should be located in the <filename>Model/</filename> directory. Each URL is translated into a class and method automatically.
</para>
<para>
It includes support for <ulink url="http://search.cpan.org/doc/MARKSTOS/Data-FormValidator-1.6/lib/Data/FormValidator.pm">Data::FormValidator</ulink>, making the tedious task of input validation easier.
To validate a form, you simply specify required fields and constraints. If there is an error, you
can return to the input form, and the invalid fields automatically get highlighted in red.
</para>
</sect2>
<sect2>
<title>View</title>
<para>
( run in 1.624 second using v1.01-cache-2.11-cpan-39bf76dae61 )