public
Description: A PHP5 application framework
Homepage: http://krai.hallofkvasir.org
Clone URL: git://github.com/gsmcwhirter/krai.git
krai /
name age message
file .gitignore Loading commit data...
file CHANGELOG Fri Jul 25 12:16:30 -0700 2008 Bug fixes and Updating Version [gsmcwhirter]
file COPYING Sat Jul 12 12:46:53 -0700 2008 Adding the equivalent codebase as KvFramework 2... [gsmcwhirter]
file INSTALL Wed Jul 16 18:09:15 -0700 2008 Fixing that I actually need autoloading for un-... [gsmcwhirter]
file Krai.php
directory Krai/
file MIGRATION Sat Jul 19 13:16:40 -0700 2008 Refactoring some database things. Hopefully thi... [gsmcwhirter]
file README Mon Apr 27 13:28:45 -0700 2009 Updating README to reflect proper issue tracker [gsmcwhirter]
file VERSION Fri Jul 25 11:13:15 -0700 2008 Updates to version file [gsmcwhirter]
file appflow.dia Wed Jul 23 17:49:23 -0700 2008 Update [gsmcwhirter]
directory script/
directory tutorials/ Wed Jul 23 17:49:23 -0700 2008 Update [gsmcwhirter]
README
= Krai Framework =

License: MIT License (see COPYING file)
Author: Greg McWhirter <gsmcwhirter@gmail.com>
Copyright: 2008 Greg McWhirter


Krai Framework is a MVC-inspired framework. The main concept is modularity.
Modules are individual units of an appliation. The modules hold together
some actions, which are the elements that are executed on a typical page
request. Both modules and actions provide before- and after-filter capability,
and both can hold various other methods. Actions proceed in the pattern
Validate - Process - Display, and everything in the action and the module is
available to the rendering call (whether as an instance method or through
$this->_parent for things in the module).

== DEPENDENCIES ==

- Krai_Mail depends on the PEAR Mail library
- The Demo Application depends on the PEAR Text_Wiki library

== SETUP / USAGE - Blank Application Skeleton ==
Note: The scripts don't seem to work on Mac OS X without some editing.

1. tar xzf krai-XXXXX.tar.gz (you probably already did this if you are reading
    the README file)
2. ./krai-XXXXX/script/newapp.sh [-l] [-p] -d /path/to/application/place -n appname
3. cd /path/to/application/place/appname
4. Edit includes/configs/krai.yml to the correct settings
5. Edit public/.htaccess to correct the RewriteBase (if necessary)
6. ln -s /path/to/application/place/appname/public/ /path/to/public_html/appname
7. Visit http://example.com/appname/ (should see "Yay! Online!)

This is a bare outline. Far more things are possible, though not nearly well
documented yet. Try setting up the demo application and seeing how it works for
an example (see below).

== SETUP / USAGE - Demo Application ==

1. tar xzf krai-XXXXX.tar.gz (you probably already did this if you are reading
    the README file)
2. ./krai-XXXXX/script/newapp.sh [-l] [-p] -w -d /path/to/application/place -n appname
3. cd /path/to/application/place/appname
4. Create a database and import sql/schema.sql
5. Edit the users table entry for "root" to have a valid e-mail address
6. Edit includes/configs/krai.yml to the correct settings
7. Edit includes/configs/application.config.php to the correct settings
8. Edit public/.htaccess to correct the RewriteBase (if necessary)
9. ln -s /path/to/application/place/appname/public/ /path/to/public_html/appname
10. Visit http://example.com/appname/
11. Try logging in with username: root, password: default
12. The demo application should be running.

== BUGS / REQUESTS ==

Please file an Issue at http://www.github.com/gsmcwhirter/krai/issues if you
find any bugs or if you would like to request any new features.

== COMPONENT GENERATOR ==

There is a component generator script in the script directory of each
application. Call it to see usage. It generates empty files in the right places,
but may eventually add code into those files.