PageKit Web Application Framework
Elegant solutions for complex web
PageKit® is a mod_perl based web application framework
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.
For everyone who want to evaluate Apache::PageKit
, I offer a free installation service on a Linux system.
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.
like to offer commercial
support for Apache::PageKit
. This includes writing applications, answer questions, consulting, ...
- Model/View/Content/Controller approach to design,
a clean separation of the
different components (logic, presentation, and data) of the website.
- Model is simply a set of OO Perl Classes whose
exposed to the client through URIs.
Supports XSLT for separating content from presentation.
Language Localization. Automatically select correct
based on xml:lang attribute
in XML files.
PageKit Template language is based on HTML::Template
and supports XPath queries using
- PageKit Templates are pre-compiled and cached for fast delivery.
are also cached, using the URI and any request parameters used in the
- Component based architecture. Can easily share
across multiple pages using
components, and may associate Perl methods to the components.
Session Management, provides easy access to hash tied to
- Authentication. Provides site-wide authentication,
for inactivity timeouts.
- Form Validation. Uses Data::FormValidator to
form and highlights
the invalid fields.
- Sticky/Auto-fill HTML Forms. Uses HTML::FillInForm
in HTML Form fields
from the request parameters or from the Model code.
Multiple Views. It is easy to plug-in different views. Examples
include co-branding, printable views, and different
such as HTML, XML, and WML.
Easy error handing using Apache::ErrorReport. Screen
for development servers, email alerts for production
Output in multiple character sets (supports all that are suppored by
Support for PDF output using Apache XML FOP
Page based Session Management, provides easy access to hash tied to
- new! Choice the output template language currently between HTML::Template, HTML::Template::Expr and Template.
- new! Overwrite/extend the default request_class.
The included PageKit example site can be reached here:
PageKit example site
(only onlineediting is turned off).
Sites using PageKit
An excellent PageKit site built by Benedict Ausden at
navyblue new media for Miller Homes.
Another excellent PageKit site developed by www.soludium.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
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.
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.
Example of ecommerce site built with PageKit and Apache 2.0. Chainz sells collection of comtemporary jewelry just for men.
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.
Comments, suggestions, and patches welcome!
- Improved caching, including caching of Model
- Chain of Responsibility for Content handlers, allowing
to attempt to handle XSL transformations.
- Support for cascading stylesheets, filters for PageKit Templates.
Copyright (c) 2002, 2003, 2004 AnIdea
Corporation. All rights Reserved.
PageKit is a registered
trademark of AnIdea
This program is distributed in the hope that it will be useful, but
even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the
Ricoh Source Code Public License for more details.
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