About wwwace


wwwace provides a world wide web interface to ACeDB's graphical displays. This package includes modifications to the ACeDB source code to build wwwace, and the CGI scripts in perl to be run from the web. It is designed for ACeDB version 4, to be run along with the text-based WWW interface to ACeDB developed at NAL.

The interface acts like xace with only the left button available. Only single clicks can be passed back from a clickable image in an HTML document. Thus, any right button actions (e.g., pop-up menus) or any drag operations are not supported. (The only exception is the modification to the gmap display to allow scrolling.) In wwwace as in xace, two clicks are required to follow a link to another object on the display.

Files modified

colcontrol.c
if a left button down click isn't over a box, it simulates a right button up, and recenters the map.
display.c
each time anything is displayed, the display name, class and object name are printed out. If the display is TREE, exit (for speed; don't need gif of TREE display). Also modified to resize the active graph so that all its constituent boxes are showing.
graphgd.c
fixed font bug.
graphwww.c
culled from graphxlib.c, graphxt.c, xtsubs.c, and tacemain.c; all X code is removed, and this acts as a 'graphics' package (with a text front end). New tace commands: display, displayps, gifdump, and mouseclick.
nicedump.c
has display name added to perl output; must be compiled into aceserver.
truemake
added wwwace as a target.

CGI scripts

display
takes database, class, object name, and x,y pairs. Returns an HTML page with a clickable gif of the ACeDB display of the object.
displayps
returns the display as postscript, rather than a gif
getimg
used by display; actually returns the gif.

Integration of text and graphics

Text output is generated from dbrun (using AceWWW.pm); URLs generated in dbrun point back to dbrun, so that the default view of every object is text. Graphics are generated by the 'display' cgi-bin script; the display link can be added to text objects using the markup rules of AceWWW.pm. This is the reason that the display name was added to perl output: the markup rule can specify to add the display link only for objects which do not have 'TREE' as the default display. Alternatively, one could program markup rules specific to each class which test for the presence of data required for mapping- for instance, the rule could check that a locus has position information before adding a link to display.

Installation instructions

  1. Prior to installing the wwwace files, ACeDB should compile without errors (make xace, tace, aceserver, and aceclient).
  2. For each C file in this package, backup the original file from ACeDB.
  3. Move the included files for acedb into place:
  4. Make aceserver and wwwace. (Note: because of changes in display.c and colcontrol.c, xace will not build correctly with these files in place- hence the backups!)
  5. Copy the scripts display, displayps, and getimg to cgi-bin. Edit the paths (to perl, wwwace, the data, etc.) within the files for your system setup.
  6. Add a markup rule (such as the one in the global.emr file provided) to either global.emr or yourDB.emr to add the link to the display script.