Take me over?
NAME
AxKit2 - XML Application Server
SYNOPSIS
Just start the server:
$ cp etc/axkit.conf.sample etc/axkit.conf
$ ./axkit
To do anything more than run the demo files you'll need to read the documentation and start writing plugins.
DESCRIPTION
AxKit2 is the second generation XML Application Server following in the footsteps of AxKit-1 (ONE). AxKit makes content generation easy by providing powerful tools to push XML through stylesheets. This helps ensure your web applications don't suffer from XSS bugs, and provides standardised templating tools so that your template authors don't need to learn new Perl templating tools.
In doing all this AxKit harnesses the power of XML. Feel the power.
PLUGINS
Everything AxKit2 does is controlled by a plugin, and thus a lot of the documentation for things that AxKit2 does is held within the provided plugins.
To get started writing plugins see AxKit2::Docs::WritingPlugins.
CORE PLUGINS
The following are the core plugins which ship with AxKit2:
cachecache - A cache plugin that gives every plugin access to a cache.
See plugins::cachecache.
dir_to_xml - Provides XML for a directory request.
See plugins::dir_to_xml.
error_xml - When an exception/error occurs this plugin generates XML (with an optional stacktrace) for what happened, and allows you to apply XSLT to that XML to display it in the browser.
See plugins::error_xml.
fast_mime_map - Maps files to a MIME type for output in the Content-Type header using the file extension only.
magic_mime_map - Maps files to a MIME type using File::MMagic.
request_log - Logs requests in the Apache combined log format.
See plugins::request_log.
serve_cgi - Runs CGI scripts.
See plugins::serve_cgi.
serve_file - Serves plain files.
See plugins::serve_file.
stats - Provides access statistics for the console.
See plugins::stats.
uri_to_file - Maps URLs to filenames.
See plugins::uri_to_file.
logging/warn - Logging output to STDERR via warn().
CONSOLE
AxKit2 has a console which you can log into to view current and trend activity on your server. To setup the console add the following config:
ConsolePort 18000
Plugin stats
This creates the console on localhost:18000
, and loads the stats plugin to provide trend statistics on your server. To use the console just telnet to port 18000. There is online help there and it should be obvious what each function does.
To provide additional stats, modify the stats plugin or write your own. Whatever get_stats
returns will be output in the console when asked for statistics.
API DOCUMENTATION
TODO - fill in as I write more docs for each module.
Why 2.0?
In creating AxKit2 the following goals were aimed for:
Make it easier to setup and get started with than before.
Make it faster.
Make building complex web applications easier.
Make easy to extend and hack on.
Make complex pipelines and caching schemes easier.
Many people wanted a straight port to Apache2/mod_perl2, so that they could get their AxKit code migrated off the Apache1.x platform. This would have been one route to go down, a route which we looked at very seriously. However already taking up the mantle of an Apache2 version of AxKit is Tom Schindl's Apache2::TomKit distribution. Please check that out if you absolutely need mod_perl2 integration.
LICENSE
AxKit2 is licensed under the Apache License, Version 2.0.