AxKit2 - XML Application Server
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.
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.
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.
The following are the core plugins which ship with AxKit2:
- cachecache - A cache plugin that gives every plugin access to a
- dir_to_xml - Provides XML for a directory request.
- 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.
- fast_mime_map - Maps files to a MIME type for output in the
Content-Typeheader using the file extension only.
- magic_mime_map - Maps files to a MIME type using
- request_log - Logs requests in the Apache combined log format.
- serve_cgi - Runs CGI scripts.
- serve_file - Serves plain files.
- stats - Provides access statistics for the console.
- uri_to_file - Maps URLs to filenames.
- logging/warn - Logging output to STDERR via warn().
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
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.
TODO - fill in as I write more docs for each module.
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.
AxKit2 is licensed under the Apache License, Version 2.0.