You know how to create a static web page that has stuff on it. You know how to link web pages together with static links, e.g. <a href="next page">Next Page</a>. You know how to do Perl programming and SQL. So with all these, you understand the concept of creating a dynamic web page (where page content is dependent on user input and database values), and even a dynamic web site (where page-to-page navigation varies based on input errors, user values, data validation, etc.), and you want to just open up the "box" and turn on your website. With WebSite-In-A-Box, you can do that. This package builds upon the raw framework of CGI::Application, adding account creation (by user), account deletion (by admin), admin vs non-admin privileges, admin override (su username), state retention, authentication, site flow engine, template-driven pages, logging, and on-demand diagnostics delivered to browser. The only preparation you have to do before you can run a website is to put a few directories in their proper location, setup a couple database tables, and edit a couple lines in the configuration file.
|N U T S H E L L|
|Description||Framework for building dynamic web sites|
|Reference||API Live Program|
The minimal setup required provides you with a framework web site; you still have the task of customizing it for your needs. This framework is more than just a web site flow engine, however. It provides out-of-the-box web pages for welcome, login, logout, forgotten password, home, and a user list page (this last for the administrator only). It provides out-of-the-box functionality to handle:
Here is a description of each of the included pages; click on any one of the thumbnails for a full size view:
.../cgi-bin/cgiAppBase/ when not logged in)
This is the gateway page to your site. The body may be customized
by adding HTML to the welcome.thtml template file.
This is the login page, allowing a registered user to login or
to access a password reminder,
and allowing a new user to create an account.
The additional screen shots show how feedback from a login error is presented,
plus feedback from a password reminder which also returns here.
This is a simple logout confirmation page.
.../cgi-bin/cgiAppBase/ when logged in)
The main or home page, this is displayed when a login is successful,
or when the home link from the navigation panel is selected.
This page may be tailored as shown to display different text
for an admin vs. a non-admin user vs. an admin-overridden user,
via conditional parameters in the template.
This page allows editing/updating the information that
was used to create an account.
The user may update his/her own information,
or the admin may update anyone's.
Available to the admin user only (controlled via the template),
this shows a list of all users, when each last logged in,
and whether each is currently logged in.
From the login page, the user may navigate here to request
a password reminder via e-mail. The second screen shot simply shows
how invalid user data is presented.
New users to the site will come here from the login page to set up a new