                     WWW::Kontent INSTALLATION INSTRUCTIONS                     
                     ======================================

A couple warnings before we begin:

*** THIS SYSTEM WILL NOT RUN IN PERL 5.  IT REQUIRES THE EXPERIMENTAL PERL 6 ***
*** COMPILER, PUGS, AND THE CROSS-LANGUAGE PARROT INTERPRETER.               ***

*** THIS RELEASE IS AN EARLY ALPHA, AND IS BY NO MEANS READY FOR DEPLOYMENT. ***
*** IF YOU'RE THINKING ABOUT USING THIS FOR ANYTHING REAL YET, YOU'RE NUTS.  ***
*** IT MAY DESTROY YOUR DATA, ERASE YOUR HARD DRIVE, MAX OUT ALL YOUR CREDIT ***
*** CARDS, OR TELL YOUR MOTHER EXACTLY WHAT YOU'VE BEEN DOING WITH THAT      ***
*** LOVELY GIRL YOU'RE GOING OUT WITH.  YOU HAVE BEEN WARNED!                ***

*** THIS RELEASE HAS KNOWN SECURITY ISSUES SURROUNDING USER AUTHENTICATION.  ***
*** DO NOT RUN THIS RELEASE ON A PUBLIC SERVER!                              ***

Now that that's over with...

PREREQUISITES
=============
Kontent requires the following:

  * A recent version of Parrot; Parrot 0.2.3 may be adequate, but your best bet 
  	is probably to check Parrot out of the development repository.
    
  * A recent version of Pugs, built with Perl 5 embedding.  (Building Pugs 
    requires the Glasgow Haskell Compiler, version 6.4.)  Once again, I suggest 
    using a version from the Subversion repository until Pugs 6.2.10.
    
    The script files that ship with Kontent assume that Pugs will be located at 
    /usr/bin/pugs.  If your machine is not configured this way, be sure to 
    adjust the shebang lines.
    
  * A SQL database engine.  (Kontent has been tested with MySQL 4.0, but the 
    SQL used is fairly simple; you may need to create the tables by hand, 
    however.)
    
  * The Perl 5 DBI module and an appropriate DBD for your database engine.
    
  * A web server capable of running CGI scripts, such as Apache.

To build a usable copy of Pugs:

  * Download and install Parrot.
    
      $ cd /home/user
      $ svn checkout http://svn.perl.org/parrot/trunk parrot
      $ cd parrot
      $ perl Configure.pl
      $ make
      $ make test				# A few test failures are okay.
    
  * Download and install Pugs with Perl 5 and Parrot embedding.
    
      $ cd /home/user
      $ svn checkout http://svn.openfoundry.org/pugs pugs
      $ cd pugs
      $ PUGS_EMBED='perl5 parrot' PARROT_PATH=/home/user/parrot perl Makefile.PL
      $ make
      $ make test				# Expect plenty of fireworks.
      $ sudo make install		# Or su -c 'make install'

SETTING UP
==========
Unpack the Kontent distribution into a directory somewhere.  (Your home folder 
may work, although you may have to tweak your permissions to allow it.)  Enter 
that directory and perform the following steps:

  * Edit kontent-config.yaml to reflect the details of your database.  You may 
    want to create a new database and user for Kontent to use.
    
  * Run the initialize.p6 script to create the root page and load the default 
    page set.
    
    If your database engine can't seem to handle the CREATE TABLE statements, 
    you'll have to create the tables manually.  Open 
    WWW/Kontent/Store/NarrowDBI.pm and search for "sub make_root" to find the 
    statements, then adjust them as needed and run the result on your database
    engine.  Once the tables have been created, run the above command again; 
    make_root will only try to create the tables if they don't already exist.
    
  * Add the following to your Apache httpd.conf file and restart httpd:
    
      Alias /kontent /path/to/test.p6
    
    Of course, other web servers will require other commands.  For the moment, 
    your Kontent instance *must* be located at /kontent; this will be 
    configurable in future versions.  (If you aren't happy with this, you can 
    modify WWW/Kontent/Renderer/HTML.pm--it only appears in a few places.)

ACCESSING KONTENT
=================
Open your web browser and navigate to http://servername/kontent.  You should 
see the root page, which will contain further instructions.

Enjoy!
