Help-Site Computer Manuals
Software
Hardware
Programming
Networking
  Algorithms & Data Structures   Programming Languages   Revision Control
  Protocols
  Cameras   Computers   Displays   Keyboards & Mice   Motherboards   Networking   Printers & Scanners   Storage
  Windows   Linux & Unix   Mac

HTMLUtils
a module for useful HTML utilities for Genex DBs

HTMLUtils - a module for useful HTML utilities for Genex DBs


NAME

HTMLUtils - a module for useful HTML utilities for Genex DBs


SYNOPSIS


  use HTMLUtils;

  %new_hash = post_process(%args);

  $html_string = objs2table(HEADER=>1, CGI=>$cgi, OBJECTS=>\@obj_list);


DESCRIPTION

Methods for transforming information from a GeneX DB into HTML.


FUNCTIONS

post_process($cgi,%args)
Begin to post-process information from a Genex table before writing it to an HTML table. In order to write HTML we use CGI.pm, so any calling routine must pass in the current CGI object.

Currently, post_process() handles the following tasks:

  • Lookup foreign key values from the appropriate table.

  • Change the output of fkeys to be hyperlinks to the cgi script for that table type.

  • Modify URLs and email addresses to be active hyperlinks.

  • Filter out sensitive information such as login names and passwords.

For example, after generating a Genex object, we can create a hyperlinked HTML table output for that object by doing the following:


    # we need a CGI object

    my $q = new CGI;

    my $object = Bio::Genex::Species->new(id=>25);

    foreach (@{Bio::Genex::Species->column_names()}) {

      no strict 'refs';

      $tmp_values{$_} = $object->$_;

    }

    # call post_process() to HTML'ize the values

    %tmp_values = post_process($q,%tmp_values);

    # make a header that's human readable

    my @rows;

    my @keys = keys %{Bio::Genex::Species->column2name()};

    my @values = values %{Bio::Genex::Species->column2name()};

    push(@rows,td([@values]));

    # add the data in the same order of the header

    push(@rows,td([@tmp_values{@keys}]));

    # now contstruct the table, 

    print $q->html_start("Information for Species: $object->primary_scientific_name");

    print $q->table({-border=>''},

                    Tr(\@rows)  # Tr() distributes over an array reference

                   );

    print $q->html_end();
objs2table(HEADER=>1, CGI=>$cgi, OBJECTS=>\@obj_list)
Returns an HTML string encoding the list of objects as an HTML table rows using the $cgi object. Each attribute will be printed out as a separate column for each object. Before printing the value for each object the data will be fed through post_process().

The 'HEADER' parameter pair is optional and specifies that a human readable header row should be included as the first row of the table output.

NOTE: The returned string must still be wrapped by a $cgi->table() function call. This is so that the application can pass optional parameters to the table call.

CAUTION: it is assumed that all the objects in @obj_list are of the same class.


AUTHOR

Jason Stewart (jes@ncgr.org)


SEE ALSO

perl(1).

Programminig
Wy
Wy
yW
Wy
Programming
Wy
Wy
Wy
Wy