XAO Web Developer 1.07 review

Download
by rbytes.net on

XAO::Web is a part of XAO open source web services suite

License: Artistic License
File size: 113K
Developer: Andrew Maltsev
0 stars award from rbytes.net

XAO::Web is a part of XAO open source web services suite. It allows to build dynamic web content using data, templates and external input.

The distinguishing feature of XAO::Web is in its modular design where almost every aspect of functionality can be altered and alterations can be re-used. No complex code is embedded in the templates which allows to upgrade code and templates separately or maintain multiple visual representations of the same functionality at the same time.

Installation

perl Makefile.PL
make
make test
sudo make install

Saying "install XAO::Web" from the CPAN shell is a good way too:

perl -MCPAN -eshell
install XAO::Web

Using CPAN shell is usually the best way because all dependencies will be resolved automatically.

If you do manual installation then XAO::Web depends on at least the following modules (look into Makefile.PL or just watch closely the output of `perl Makefile.PL' for additional dependencies):

XAO::Base
XAO::FS
Digest::MD5
Error
MIME::Lite
Test::Unit

When you run "perl Makefile.PL" you will be asked for XAO::Web test database. That database is only used when you do `make test' and it have to exist. It does not matter what is inside the database, it will be completely wiped out for each test case.

Normally the database should be the same that you have used for XAO::FS tests and in case of MySQL is usually 'test' or 'test_fs'.

The directory where templates get installed is the same that you gave to XAO::Base when you installed it. Normally that directory is /usr/local/xao -- we will assume that for the rest of the document.

Here are some key features of "XAO Web Developer":
Perl code is not mixed with templates. Templates can be normal HTML files if no processing is required.
A specific site can replace or modify standard XAO::Web objects if required by overriding or extending their methods. You do not need to re-implement entire object to make a site specific change. In case of system object upgrade or bug fix there is no need to alter site-specific changes normally.
Site can create any extension objects or embed third-party extensions as well.
One server can serve arbitrary number of XAO::Web sites each with however extended functionality without creating any conflicts. That includes different modifications to the system objects for different sites.
Not limited to Web environment, allows to build any dynamic content -- content of mail messages or reports for instance.
Works with CGI or mod_perl (mod_perl is recommended for production grade sites).
If used in mod_perl mode improves performance by using caching of configuration, parsed templates, database handlers and so on.
XAO::Web is by default integrated with XAO::FS (see XAO::FS) as a database layer, but this is not a requrement -- if for any reason a different database must be used for a site it can be easily and gracefully achieved.
Hosting providers can allow their customers to build very complex sites without allowing them to execute arbitrary code, by allowing to modify only templates.

What's New in This Release:
Fixed a problem with Web.pm for mod_perl usage, introduced last minute just before releasing 1.06

XAO Web Developer 1.07 search tags