Apache-PageKit

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

	- Major changes in API and streamlining of pagekit
		in preparation for 1.0 beta release.  
	- Removed seldom used options and replaced others with
		more user-friendly versions.
	- Renamed Controller directory to Config directory
	- Renamed <TMPL_VAR> and <TMPL_LOOP> tags to
		<MODEL_VAR> and <MODEL_LOOP> for Model Data and
		<CONTENT_VAR> and <CONTENT_LOOP> for Content Data and
		<PKIT_VAR> and <PKIT_LOOP> for PageKit Data
	- Renamed <PKIT_INCLUDE> to <PKIT_COMPONENT> and replaced
		'include' with 'component' across the framework
	- Moved and renamed nav_title option from config to 
		<NAV_TITLE> </NAV_TITLE> in content XML for
		better foreign language support.
	- Renamed Apache::PageKit::FormValidator to Apache::PageKit::Model
		and redesigned class to replace form_validator
		constructor option with $model->validate_input($hash_ref)
		method.  Eliminated error_page and error_page_run_code
		options (user should use $pk->continue
		in model instead).  This should make the development
		easier because all the logic is in the Model class instead

README  view on Meta::CPAN

Apache::PageKit
===============

Status
------
	Version: 1.17

Description
-----------
	PageKit is a web applications framework that is based on mod_perl.
	This framework is distinguished from others such as Embperl and Mason
	by providing a clear separation of programming, content and
	presentation.

	It does this by implementing a Model/View/Content/Controller (MVCC)
	design paradigm:
		- Model is user supplied Perl Classes
		- View is set of PageKit Templates and/or XSLT files
		- Content is set of XML Files
		- Controller is PageKit

docsrc/features.xml  view on Meta::CPAN

<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>

docsrc/reference.xml  view on Meta::CPAN

      <para>
       Command line that should be used to run Apache XML FOP to generate
       PDF output.  PageKit will append FO file and PDF file arguments at end.
      </para>
      <informalexample>
       <programlisting>
        # some example fop command lines
	fop_command = "/usr/java/jdk1.3.0_02/bin/java -cp /usr/local/javaclass/fop org.apache.fop.apps.CommandLine"
	fop_command = "/usr/java/jdk1.3.0_02/bin/java -cp /usr/local/javaclass/fop org.apache.fop.apps.CommandLine"
	fop_command = "/usr/java/jdk1.3.0_02/bin/java -cp /usr/local/javaclass/fop org.apache.fop.apps.Fop"
	fop_command = "/usr/lib/java/bin/java -classpath /opt/fop-0.20.3/lib/xerces-1.2.3.jar:/opt/fop-0.20.3/lib/xalanj1compat.jar:/opt/fop-0.20.3/lib/xalan-2.0.0.jar:/opt/fop-0.20.3/lib/xalan-1.2.2.jar:/opt/fop-0.20.3/lib/stylebook.jar:/opt/fop-0.20.3/lib...
        
        # disable fop_command from Apache::PageKit 1.14 on 
        fop_command = ""
        # or remove the fop_command line option from Config.xml at all.

       </programlisting>
      </informalexample>
      <para>
       Can be overriden by specifying the server <link linkend="config.server.fop_command">fop_command</link> configuration option.
      </para>

docsrc/reference.xml  view on Meta::CPAN

      <para>
       Command line that should be used to run Apache XML FOP to generate
       PDF output.  PageKit will append FO file and PDF file arguments at end.
      </para>
      <informalexample>
       <programlisting>
        # some example fop command lines
	fop_command = "/usr/java/jdk1.3.0_02/bin/java -cp /usr/local/javaclass/fop org.apache.fop.apps.CommandLine"
	fop_command = "/usr/java/jdk1.3.0_02/bin/java -cp /usr/local/javaclass/fop org.apache.fop.apps.CommandLine"
	fop_command = "/usr/java/jdk1.3.0_02/bin/java -cp /usr/local/javaclass/fop org.apache.fop.apps.Fop"
	fop_command = "/usr/lib/java/bin/java -classpath /opt/fop-0.20.3/lib/xerces-1.2.3.jar:/opt/fop-0.20.3/lib/xalanj1compat.jar:/opt/fop-0.20.3/lib/xalan-2.0.0.jar:/opt/fop-0.20.3/lib/xalan-1.2.2.jar:/opt/fop-0.20.3/lib/stylebook.jar:/opt/fop-0.20.3/lib...
       </programlisting>
      </informalexample>
     </listitem>
    </varlistentry>
    <varlistentry id="config.server.html_clean_level">
     <term>html_clean_level</term>
     <listitem>
      <para>
       Sets optimization level for <ulink url="http://kobesearch.cpan.org/search?dist=HTML-Clean">HTML::Clean</ulink>.  If set to 0, disables use of
<ulink url="http://kobesearch.cpan.org/search?dist=HTML-Clean">HTML::Clean</ulink>.  Levels range from 1 to 9.

docsrc/reference.xml  view on Meta::CPAN

    <varlistentry id="config.view.content_type">
     <term>content_type</term>
     <listitem>
      <para>
Sets the content type of the output sent to the client.  
Content types are strings like "text/plain", "text/html" or "application/xml".
This corresponds to the "Content-Type" header in the HTTP protocol. 
The following content types have default views and/or special handing
associated with them:
      </para>
      <informaltable frame="all">
       <tgroup cols="4">
        <tbody>
         <row rowsep="1" role="attrheader">
	  <entry role="th"><para><emphasis role="bold">content_type</emphasis></para></entry>
	  <entry role="th"><para><emphasis role="bold">Description</emphasis></para></entry>
	  <entry role="th"><para><emphasis role="bold">Default Views</emphasis></para></entry>
	  <entry role="th"><para><emphasis role="bold">Special Handing</emphasis></para></entry>
	 </row>
         <row>
	  <entry>text/html</entry>

lib/Apache/PageKit.pm  view on Meta::CPAN

  }
  return undef;
}

1;

__END__

=head1 NAME

Apache::PageKit - MVCC web framework using mod_perl, XML and HTML::Template

=head1 SYNOPSIS

In httpd.conf

  SetHandler perl-script
  PerlSetVar PKIT_ROOT /path/to/pagekit/files
  PerlSetVar PKIT_SERVER staging

  PerlHandler +Apache::PageKit

lib/Apache/PageKit.pm  view on Meta::CPAN

    my ($model, $ses_key) = @_;

    # check whether $ses_key is valid, if so return user id in $user_id
    # your code here.........

    return $ok ? $user_id : undef;
  }

=head1 DESCRIPTION

PageKit is an mod_perl based application framework that uses HTML::Template and
XML to separate code, design, and content. Includes session management,
authentication, form validation, co-branding, and a content management system.

Its goal is to solve all the common problems of web programming, and to make
the creation and maintenance of dynamic web sites fast, easy and enjoyable.

You have to write a module named MyPageKit::Common
that inherits from Apache::PageKit::Model and
provides methods common across the site.
For example, if you wish to support authentication, it must

lib/Apache/PageKit.pm  view on Meta::CPAN

=head1 VERSION

This document describes Apache::PageKit module version 1.12

=head1 NOTES

Requires mod_perl, Apache::SessionX, Compress::Zlib, Data::FormValidator,
HTML::Clean, HTML::FillInForm and HTML::Template, Text::Iconv and
XML::LibXML

I wrote these modules because I needed an application framework that was based
on mod_perl and seperated HTML from Perl.  HTML::Embperl, Apache::ASP 
and HTML::Mason are frameworks that work with mod_perl, but embed Perl code
in HTML.  The development was inspired in part by Webmacro, which
is an open-source Java servlet framework that seperates Code from HTML.

The goal is of these modules is to develop a framework that provides most of the
functionality that is common across dynamic web sites, including session management,
authorization, form validation, component design, error handling, and content management.

=head1 BUGS

Please submit any bug reports, comments, or suggestions to the Apache::PageKit
mailing list at http://lists.sourceforge.net/mailman/listinfo/pagekit-users

=head1 TODO

lib/Apache/PageKit/FAQ.pod  view on Meta::CPAN

    perldoc Apache::PageKit::FAQ

=head1 DESCRIPTION

This document serves to answer the most frequently asked questions for I<Apache::PageKit>.

=head1 Basic Information & Information Sources

=head2 1.1 What is I<Apache::PageKit>?

PageKit is an mod_perl based application framework that uses HTML::Template and
XML to separate code, design, and content. Includes session management,
authentication, form validation, co-branding, and a content management system.

Its goal is to solve all the common problems of web programming, and to make
the creation and maintenance of dynamic web sites fast, easy and enjoyable.

=head2 1.2 Where can I get it from?

The Comprehensive Perl Archive Network.



( run in 0.954 second using v1.01-cache-2.11-cpan-df04353d9ac )