ETLp

 view release on metacpan or  search on metacpan

lib/ETLp/Manual/Install.pod  view on Meta::CPAN

       |  |     /incoming
       |  |
       |  +--/<source 2>
       |     |
       |     +--/archive
       |        |
       |        /fail
       |        |
       |        /incoming
       |
       +--/locks
       |
       +--/log

The data source sub-directories will typically be symbolic links to locations outside of the application tree.

2. Link to B<etlp> to the bin directory. The B<etlp> script to link to will usually be  in either /usr/bin or /usr/local/bin depending on whether your perl is in /usr/bin or /usr/local/bin

   cd bin
   ln -s /usr/local/bin/etlp . # or /usr/bin/etlp

3. Create a basic configuration file, env.conf, and save it to the conf dircetory

   user         = <db user>
   password     = <db password>
   dsn          = <DBI DSN>
   admin_email  = <email address for errors and warnings>
   email_sender = <email address of the sender>
   logger_level = <Log4perl Logging level>
   environment  = <environment name?

=over 4

=item * The admin email will be the global mailbox for all processing errors
=item * The email sender is the address that appears in the the from field - typically something like noreply@domain.com
=item * The logging level should be one of DEBUG, INFO, WARN, ERROR, FATAL. This provides a decreasing level of information. E.g. if the level is set to INFO, no debug messages will appear in the logs. All messages with a threshold of WARN and above ...
=item * The name of the environment will appear in the subject line of email alerts

=back

ETLp is now installed

=head1 Installing the Runtime Audit Browser

The Runtime Audit Browser allows support staff to view the status of jobs and to drill down and view details at the individual item and/or file level.

=head2 Prerequisite: Persistent Perl

Unless code is run in a persistent environment, each page request must undergo an expensive process of

=over 4

   1. Launching the Perl interpreter
   2. Compiling the code - including all dependent Perl libraries
   3. Initiate a connection to the database
   4. Perform the user request
   5. Exit
   
=back

With small applications on a non-busy site, this shouldn't cause any issues. However, it doesn't scale very well. Although ETLp Runtime Audit Browser isn't especially busy, it does requite many dependent classes.  In order to mitigate the issues abov...

=over 4

   1. When the first request is received, the Persistent Perl interpreter is launched.
   2. The code is compiled and a connection is made to the database.
   3. The user's request is performed
   4. Wait around for the next request
 
=back

Other alternatives exist: FastCGI is commonly used, and supports not only Perl, but PHP, Ruby and any language that respects the CGI protocol. mod_perl installs a persistent interpreter and a complete version of the application in each Apache process...

ETLp includes a patched version of Persistent Perl that works with Perl 5.10 running on Linux. It is located in the "util" directory. The installation process is fairly simple:

    cd util
    tar zxf PersistentPerl-2.22-5.10-patched.tar.gz
    cd PersistentPerl-2.22
    perl Makefile.PL
    make
    make test
    sudo make install

=head2 Configuring the Browser

=over 4

=item 1. Choose a root directory for the browser application that is accessible to your Apache server
=item 1. Copy the code under the web directory to that location
=item 1. Edit the application configuration file
=item 1. Edit the Apache configuration file
=item 1. (Re)start Apache

=back

As B<root>, from the ETLp home directory:

    mkdir   /var/www/etlp/
    cp web/*  /var/www/etlp/

Create the browser config file, /var/www/etlp/conf/etl.conf, and enter the appropriate settings

    user     = <etl user>
    password = <etl password>
    dsn      = <Perl DBI connection string>
    root_url = /etlp
    pagesize = 20

=over 4

=item * user. The username to connect to. This is usually etl.

=item * password. The user's password

=item * dsn. The Perl DBI connection string.

=item * root_url. The portion of the URL after the server name (absolute path). For example (!https://<!MyHost>/etlp would be /etlp)The directory where the main application is configured. It must be readable by the web server user (typically ''apache...

=item * How many items to show on a page. Pagination links will be displayed as appropriate

=back



( run in 2.387 seconds using v1.01-cache-2.11-cpan-140bd7fdf52 )