John Siracusa

NAME

Rose - A complete web application construction kit.

SYNOPSIS

    use Rose;

    print "This is Rose version ", Rose->version, "\n";

DESCRIPTION

Rose is a work in progress. It is a suite of modules used to build web applications in the mod_perl environment. Support for Apache 1 and 2 is planned.

The Rose suite is broken up into several components. This module (Rose.pm) lists all the other Rose components as prerequisites. Bundle::Rose is another way to install the entire suite.

CLASS METHODS

version

Returns the version number of the Rose suite. This version number will not be meaningful until I decide on a policy for suite versioning. Until then, ignore it and simply download the latest version of each Rose::* component. The easiest way to do this is to install Bundle::Rose.

COMPONENTS

Rose is made up of the following components:

Rose::Object

A simple object base class and method maker.

Rose::URI

A URI object built for easy and efficient manipulation.

Rose::DateTime

Central location for all Rose-related DateTime utility functions and wrapper objects.

Rose::HTML::Objects

Object representations of HTML tags, particularly HTML forms and fields.

Rose::DB

DBI abstraction layer.

Rose::DB::Object

Create and manipulate object representations of database rows.

Rose::Conf

Perl module configuration system.

Rose::BuildConf

Simple Perl build system for web applications. (Unreleased)

Rose::WebApp

Web application framework. (Unreleased)

As you can see, a lot of these components have not yet been released. I've decided to release what I have so far because I think Rose::HTML::Objects may be useful immediately, even without any of the unreleased web application code.

DEVELOPMENT POLICY

Here are the ground rules for the Rose suite:

  • All APIs are subject to change until version 1.0. I will try to avoid breaking things unnecessarily before then, but I make no promises.

  • If it is not documented, it doesn't exist. The Rose suite is filled with classes that exist solely to factor out common functionality in the public Rose modules. Although these modules may look useful, I reserve the right to change or eliminate them at any time in any version unless they have POD documentation. If a module has no POD, do not try to use it.

    Similarly, if a function or method is in a public module but is not documented in the POD for that module, don't just assume that I forgot to add it. Undocumented methods are undocumented for a reason, and are subject to change or removal at any time, in any version. If you feel like you need to use the method, email me and I'll consider making it part of the public API.

BUGS

To report a bug, email the author or use CPAN's bug tracker.

SUPPORT

Source code, mailing lists, and a wiki are available at the Rose project web site:

http://rose.googlecode.com

AUTHOR

John C. Siracusa (siracusa@gmail.com)

COPYRIGHT

Copyright (c) 2008 by John C. Siracusa. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.