AcePerl

 view release on metacpan or  search on metacpan

README.ACEBROWSER  view on Meta::CPAN

The settings in the default.pm configuration file distributed with
AcePerl should work with little, if any modification.  The following
variables may need to be tweaked:

  $ROOT = '/cgi-bin/ace';

This is the root (top level) for all the Acebrowser CGI scripts.
Change this if necessary.

 $DOCROOT = '/ace';

This is the root (top level) for all of Acebrowser's static HTML files
and images.  You will need to change this if the static files are
installed somewhere else.

 $ICONS = "$DOCROOT/ico";

This is where Acebrowser expects to find its icons. This subdirectory
holds icons and other small static images.  Note how the
previously-defined $DOCROOT variable is used.  You will probably not
need to change this.

 $IMAGES = "$DOCROOT/images";

This is where Acebrowser expects to find its "images" subdirectory.
This directory contains images generated dynamically by the ACEDB
database.  It *must* be writable by the web server user, usually
"nobody".  When the AcePerl install script creates this directory, it
makes it world-writable by default.  You may prefer to make it owned
by the "nobody" user and/or group.

 $HOST = 'stein.cshl.org';

This is the name of the host where the desired acedb server can be
found.

 $PORT = 2005;

This is the network port on which the desired acedb server is
listening.  Network ports in the range 1024-65535 are assumed to
correspond to the newer socket-based sgifaceserver.  Ports in the
range 65536-4,294,967,296 are assumed to correspond to the older
RPC-based gifaceserver.

 $USERNAME = '';
 $PASSWORD = '';

For password-protected ACEDB databases, these variables contain the
username and password.

 $STYLESHEET = "$DOCROOT/stylesheets/aceperl.css";

This is the cascading stylesheet used to set the background color,
font, table colors, and so forth.  You probably don't need to change
this, but you might want to modify the stylesheet itself.

 @PICTURES = ($IMAGES => "$HTML_PATH/images");

This array indicates the location of the "images" subdirectory.  The
first element of the array is the location of the directory as a URL,
and the second element is the location of the directory as a physical
path on the file system.  This array is ignored when running under
modperl/Apache::Registry; modperl uses $IMAGES to look up the
corresponding physical path.

 @SEARCHES   = (
	       basic => {
			name   => 'Basic Search',
			url    =>"$ROOT/searches/basic",
		       },
	       text => {
			name   => 'Text Search',
			url    =>"$ROOT/searches/text",
		       },
	       browser => {
			   name => 'Class Browser',
			   url  => "$ROOT/searches/browser",
			  },
	       query => {
			 name => 'Acedb Query',
			 url  => "$ROOT/searches/query",
			 },
	       );
 $SEARCH_ICON = "$ICONS/unknown.gif";

The @SEARCHES array sets the searches made available to users.  The
first element in each pair is the symbolic name for the search.  The
second element is a hash reference containing the keys "name" and
"url".  The name is the bit of human readable text printed in the
list of searches located at the top of the AceBrowser page.  The url
is the URL of the script that performs the search.

The $SEARCH_ICON variable selects an icon to use for the search
button.


 @HOME      = (
	      $DOCROOT => 'Home Page'
	     );


Select the URL and label for the "home" link appearing on the bottom
of each Acebrowser-generated page.  By default, the home will point to 
"/ace" directory on the local machine.

 %DISPLAYS = (	
	     tree => {
		      'url'     => "generic/tree",
		      'label'   => 'Tree Display',
		      'icon'    => '/ico/text.gif' },
	     pic => {
		     'url'     => "generic/pic",
		     'label'   => 'Graphic Display',    
		     'icon'    => '/ico/image2.gif' },
	    );

As described in EXTENDING ACEBROWSER, the %DISPLAYS hash declares a
set of pages, or "displays", to be used for displaying certain Ace
object types.

 %CLASSES = (	
	     Default => [ qw/tree pic/ ],
	   );

As described in EXTENDING ACEBROWSER, the %CLASSES hash describes how
Acedb classes correspond to displays.

 sub URL_MAPPER {
   my ($display,$name,$class) = @_;
   ...
 }

As described in EXTENDING ACEBROWSER, the URL_MAPPER subroutine allows
you to tinker with the way in which Acedb classes are turned into
links.

 $BANNER = <<END;
 <center><span class=banner><font size=+3>Default Database</font></span></center><p>
 END

The $BANNER variable contains HTML text that will be displayed at the
top of each generated page.  You will probably want to change this.

 $FOOTER = '';

The $FOOTER variable contains HTML text that is displayed at the
bottom of each generated page.  You will probably want to change this.

 $PRINT_PRIVACY_STATEMENT = 1;

If this variable is set to true, then AceBrowser will generate a link
in the footer that displays a privacy statement explaining
AceBrowser's use of cookies.

 @FEEDBACK_RECIPIENTS = (
			[ " $ENV{SERVER_ADMIN}", 'general complaints and suggestions', 1 ]
 );

This array contains a list of recipient e-mail addresses for the
"feedback" page.  Each recipient is an array reference containing
least two elements, the e-mail address and a comment.  A third,
optional, element, if true, indicates that this recipient should be
selected by default.  The default is the webmaster's e-mail address.
Comment out the entire section of you do not want the feedback link to 
appear.

 # configuration for the "basic" search script
 @BASIC_OBJECTS = 
   ('Any'          =>   '<i>Anything</i>',
    'Locus'        =>   'Confirmed Gene',
    'Predicted_gene'    =>   'Predicted Gene',
    'Sequence'     =>   'Sequence (any)',
    'Genome_sequence', => 'Sequence (genomic)',
    'Author'       =>    'Author',
    'Genetic_map'  => 'Genetic Map',
    'Sequence_map' => 'Sequence Map',
    'Strain'       =>  'Worm Strain',
    'Clone'        => 'Clone'
   );

The @BASIC_OBJECTS array is used by the "basic" search script.  It
indicates the Acedb classes to offer to the user to search on, and the
labels to use for each class.  For example, the default configuration
will present the user with a radio button labeled "Confirmed Gene" for
use in searching the Acedb class "Locus".

USING ACEBROWSER WITH MOD-PERL

Acebrowser is designed to work well with modperl
(http://perl.apache.org).  In fact, using it with a modperl-enabled
Apache server will increase its performance dramatically.

To use Acebrowser with modperl, install the CGI scripts into a
directory that is under the control of Apache::Registry.  The
<Location> section in httpd.conf should look like this:

 Alias /acedb/ /usr/local/apache/cgi-bin/ace/

 <Location /acedb>
   SetHandler Perl-script
   PerlHandler Apache::Registry
   PerlSendHeader On
   Options +ExecCGI +Indexes
 </Location>

Change the paths as appropriate.  The Acebrowser scripts located in
/usr/local/apache/cgi-bin/ace can now be accessed under modperl at the 
URL /acedb, as in:

  http://your.site/acedb/searches/text

When running under modperl, you can force all the CGI scripts in a
directory to use a particular configuration file by defining the
AceBrowserConf configuration variable .  For example, to create a
virtual directory named /movies and force all the scripts within it to
use the moviedb configuration file:

 Alias /movies/ /usr/local/apache/cgi-bin/ace/

 <Location /movies>
   SetHandler Perl-script
   PerlHandler Apache::Registry
   PerlSendHeader On
   Options +ExecCGI +Indexes
   PerlSetVar AceBrowserConf /usr/local/apache/conf/acebrowser/moviedb.pm
 </Location>

Be sure also to edit moviedb.pm $ROOT variable to indicate the correct
location of scripts in URL space:

 $ROOT = '/movies';


EXTENDING ACEBROWSER

Acedb is fundamentally object based.  In addition to having a name,
each object has a class, such as "Sequence".  Acebrowser takes
advantage of this object structure by allowing you to assign one or
more displays to a class.  Each display is a CGI script that fetches
the desired object from the database, formats it, and displays it as
HTML or an image.

Whenever Acebrowser is called upon to display an object, it consults
the configuration file to determine what displays are registered for
the object, and then presents a row of display names across the top of
the window.  In Acebrowser jargon, this line of displays is called the
"type selector."  The user can change the display to use by selecting
the corresponding link.

Three generic displays, which will work with all databases, come with
Acebrowser:

  tree  an HTML representation of the Acedb object which
	presents the object in the form of a collapsible outline.



( run in 2.526 seconds using v1.01-cache-2.11-cpan-5837b0d9d2c )