SAL

From GTALUG

Sitemap > Culture > Psema4 > SAL

Contents

SAL

What is it and what are its goals?

SAL, or Sub Application Layer, is a library of data-access and -visualization objects. It is not an application framework, but rather some gears that one might use to build a framework.

It's primary goal is to aid in the rapid development of reporting tools, but as with Perl, SAL is extremely flexible. It can be used for any number of purposes. As development progresses, the distributions' samples directory will contain examples of various uses for SAL.

The project has two major milestones that I'd like to hit within the next 12-24 months: the inclusion of a multi-platform widget set (wxWidgets most likely), and the inclusion of SAL. Still working on the details, but in both cases, the additions will simply subclass other Perl modules to provide a consistant and clean API for the SAL programmer.


Quick History

  • Version 3.01
    • CPAN release
  • Version 3.0
    • First public release
    • Cleaned up copy of version 2
  • Version 2.0
    • Renamed modules and reorganized
    • Added SQLite
    • Graph3D
  • Version 1.0
    • Initial modules (QObject, Auth, Widget)


Installation

New: SAL is currently being uploaded to CPAN which should clean up the installation woes for SAL. New installation instructions, and a general clean-up of this section will be coming shortly. -- dl33t::talk 22:57, 27 Jun 2005 (EDT)



From the INSTALL:

Quick(hopefully)start
=====================
                                                                                                                             
1. Download and install libgd (v2.01 or better) if necessary.  http://www.boutell.com/gd/
                                                                                                                             
2. Using CPAN, install GD::Graph3d if necessary.  Let CPAN handle the dependancies.  :-)
                                                                                                                             
3. Using CPAN, install one (or more) of DBD::mysql, DBD::ODBC, or DBD::SQLite
                                                                                                                             
4. Move the SAL directory onto perl's search path.  (run 'perl -V' for @INC paths)
   eg:  mv ./SAL /usr/lib/perl5/site_perl/
                                                                                                                             
5. If all goes well, you should be able to run the example shell with ./samples/lsql
                                                                                                                             
6. If that works, any you've got apache install, try moving ./samples/web to your cgi-bin
   eg:  mv ./samples/web /var/www/cgi-bin/sal-samples
                                                                                                                             
                                                                                                                             
Better documentation should be coming soon.
                                                                                                                             
- May 03, 2005
                                                                                                                             
  - dl33t

Dependancies

  • Libraries
    1. libgd 2.01+
       
  • Modules
    1. GD.pm
    2. GD::Graph
    3. GD::Graph3D
    4. DBD::Mysql (for mysql)
    5. DBD::ODBC (for odbc)
    6. DBD::SQLite (for sqlite)

Documentation

~Do: Todo: SAL module documentation


Modules

These modules have been in development (on and off) for about the last 18 months.
They represent a decent portion of what I've learned about perl so far...


As a result, these modules may not be (and currently are not) properly documented or optimized.
Comments are also inconsistant.  (sorry)  If you feel an urge to modify the code here... go ahead.  :-)


SAL Module List

  • Boilerplate for new modules: SAL-Base
  • Database Abstraction: SAL-DBI (mysql, odbc, sqlite)
  • Graph Generator: SAL-Graph
  • Logging utility module: SAL-Log (not implemented)
  • Application support module: SAL-WebApplication (needs work)
  • Data Driven Reporting module: SAL-WebDDR (works, but needs overhaul)


Samples

Console / System administration

  • lsql - a mini isql-esque clone written with SAL
  • salsquid - sal-powered authenticator for squid (in development and working :)
  • salauth - two sal-powered authenticators for apache and mod_auth_external2 (in development :)


Web

Retrieved from "http://tlug.ss.org/wiki/SAL"
Customize