CodeKit Perl Source Code Setup

Read the Overview and the Code Table Setup pages first.

The CodeKit Perl source code is in the perl directory:

    CodeKit.pm        - CodeKit module definition.
    ck_admin.pl       - Setup for ck_admin_main.pl.
    ck_admin_main.pl  - CodeKit Translation Utility.
    ck_connect.pl     - Database connection setup.
    ck_demo.pl        - CodeKit Demo page.
    regression.test   - Regression test.
    Makefile.PL       - Makefile setup.
CodeKit.pm requires the DBI.pm module. The Translation Utility and the Demo page need the CGI.pm module.

1. Database Schema and Core Record Loading

Read and follow directions for Code Table Setup.

Load and test the ck_code table schema definition as well as the core data records. If you want to run the demo load the demo data records as well.

2. Database Connection Setup

Customize the ck_connect.pl file to open a database handle to your database. If your application setup has already opened a database handle, use that handle instead of opening a new one. The handle should be set up to autocommit.

ck_connect.pl is used by ck_admin.pl, ck_demo.pl and by regression.test.

3. CodeKit.pm Installation

Copy the CodeKit.pm file into a directory on your Perl include path. Or do the makefile thing:
    $ perl Makefile.PL
    $ make
    $ make test
    # make install

Run regression.test on the basic BabelKit class functions. This will fail unless you have completed the above steps!

4. CodeKit Administration Page Setup

You may wish to customize the ck_admin.pl file to your situation:
  • Require and open a CodeKit handle.
  • Set the $perm_add, $perm_upd and $perm_del global variables. These let the user add, update and delete codes.
  • Define the cka_sess_url() function. Customize this if you are carrying session identifiers in your urls.
  • Require ck_admin_main.pl and call the cka_admin_main() function.
It is fine to make multiple copies of ck_admin.pl to set up different permissions for different classes of users.

5. Demo Page Setup

In order for the demo page to function, you will need to load the demo data records.