PageKit Web Application Framework
Elegant solutions for complex web
sites
|
User Guide
upd!
FAQ
|
PageKit® is a mod_perl based web application framework
that
uses a template system and XML to
separate the Model, View, Content and Controller.
Provides elegant solutions to many difficult web programming problems,
including session management, language localization, authentication,
form validation, and co-branding.
| new! |
For everyone who want to evaluate Apache::PageKit, I offer a free installation service on a Linux system.
Full Apache::PageKit with the working example easy to extend. As a unique user. So if you do not like it,
just rm the user and you are done. Just drop me a ssh account.
|
|
|
| new! |
I like to offer commercial support for Apache::PageKit. This includes writing applications, answer questions, consulting, ...
Boris Zentner.
|
|
|
FEATURES
- Model/View/Content/Controller approach to design,
provides
a clean separation of the
different components (logic, presentation, and data) of the website.
- Model is simply a set of OO Perl Classes whose
methods get
exposed to the client through URIs.
-
Supports XSLT for separating content from presentation.
- upd!
Language Localization. Automatically select correct
language
based on xml:lang attribute
in XML files.
-
PageKit Template language is based on HTML::Template
and supports XPath queries using
HTML::Template::XPath.
- PageKit Templates are pre-compiled and cached for fast delivery.
XSL
transformations
are also cached, using the URI and any request parameters used in the
<xsl:param> tag.
- Component based architecture. Can easily share
templates
across multiple pages using
components, and may associate Perl methods to the components.
- upd!
Session Management, provides easy access to hash tied to
Apache::SessionX.
- Authentication. Provides site-wide authentication,
including support
for inactivity timeouts.
- Form Validation. Uses Data::FormValidator to
validate
form and highlights
the invalid fields.
- Sticky/Auto-fill HTML Forms. Uses HTML::FillInForm
fill
in HTML Form fields
from the request parameters or from the Model code.
- upd!
Multiple Views. It is easy to plug-in different views. Examples
include co-branding, printable views, and different
media
outputs
such as HTML, XML, and WML.
-
Easy error handing using Apache::ErrorReport. Screen
display
for development servers, email alerts for production
servers.
-
Gzipped output.
-
Output in multiple character sets (supports all that are suppored by
iconv/Encode)
-
Support for PDF output using Apache XML FOP
-
Page based Session Management, provides easy access to hash tied to
Apache::SessionX.
- new! Choice the output template language currently between HTML::Template, HTML::Template::Expr and Template.
- new! Overwrite/extend the default request_class.
Examples
The included PageKit example site can be reached here:
PageKit example site
(only onlineediting is turned off).
Sites using PageKit
www.millerhomes.co.uk
An excellent PageKit site built by Benedict Ausden at
navyblue new media for Miller Homes.
www.collectornetwork.com
Another excellent PageKit site developed by www.soludium.com.
maxmind.com
The MaxMind web site is powered by PageKit. GeoIP is a collection
of APIs and databases for determining the Geographical Location of any IP
address.
H:S, the consortium of seven hospitals in
Copenhagen, uses Pagekit for its DNS administration interface, developed
by catpipe Systems ApS. There is no URL for
the interface itself since it is only available from inside H:S.
www.ubiquitywellness.com
Yet another site powered by PageKit. This site and the underlying web
application (for internal users) was implemented by a team of Perl hackers
at Evris Ventures (www.e-vris.com) lead by
Vladimir Bogdanov. Virtually every feature of PageKit framework was utilized to
produce a powerful patient management and wellness tracking (xray imagery,
analysis data, questionnaire etc) system for a health clinic.
www.chainz.com
Example of ecommerce site built with PageKit and Apache 2.0. Chainz sells collection of comtemporary jewelry just for men.
Korean Directory
Example of ODP like directory site powered by PageKit. Uses PageKit's pkit_fixup_uri to control easy to read URL structure and on-screen editing feature for content and link editors.
TODO
- Improved caching, including caching of Model
output.
- Chain of Responsibility for Content handlers, allowing
multiple
XSLT
processors
to attempt to handle XSL transformations.
- Support for cascading stylesheets, filters for PageKit Templates.
Comments, suggestions, and patches welcome!
Copyright
Copyright (c) 2002, 2003, 2004 AnIdea
Corporation. All rights Reserved.
PageKit is a registered
trademark of AnIdea
Corporation.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY
WARRANTY; without
even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the
Ricoh Source Code Public License for more details.
Authors
T.J. Mather is the original author.
Boris Zentner from Brainstorm
has contributed numerous patches and is currently
maintaining the package.
Our generous host:
Our DNS provider:
Thanks to DynDNS for providing PageKit with free DNS and for supporting
the Perl
Foundation!