+
+
+=head1 NAME
+
+Maypole::View::Base - Base class for view classes
+
+=head1 DESCRIPTION
+
+This is the base class for Maypole view classes. This is an abstract class
+that defines the interface, and can't be used directly.
+
+=head2 process
+
+This is the entry point for the view. It templates the request and returns a
+C<Maypole::Constant> indicate success or failure for the view phase.
+
+Anyone subclassing this for a different rendering mechanism needs to provide
+the following methods:
+
+=head2 template
+
+In this method you do the actual processing of your template. it should use
+L<paths> to search for components, and provide the templates with easy access
+to the contents of L<vars>. It should put the result in C<$r-E<gt>output> and
+return C<OK> if processing was sucessfull, or populate C<$r-E<gt>error> and
+return C<ERROR> if it fails.
+
+=head1 Other overrides
+
+Additionally, individual derived model classes may want to override the
+
+=head2 new
+
+The default constructor does nothing. You can override this to perform actions
+during view initialization.
+
+=head2 paths
+
+Returns search paths for templates. the default method returns folders for the
+model class's C<moniker>, factory, custom under the configured template root.
+
+=head2 vars
+
+returns a hash of data the template should have access to. The default one
+populates classmetadata if there is a table class, as well as setting the data
+objects by name if there is one or more objects available.
+
+=head2 error
+
+
+=cut