BioQ is a web application based on LAMP (Linux-Apache-MySQL-PHP) architecture. The code can be found our Subversion server.
This shows roughly how the key components of the web application interact.
Common subroutines.
Peter: describe |
The "help" link in the top right.
The BioQ main page.
Used for those PHP programs that require sessions.
This needs to be saved as config.php and then revised according to the particular installation. This is basically the case for any file in Subversion prefixed with "template_".
The code for BioQ::Documentation features (see Documentation Tools). It is derived mainly from the dbDoc application that goes with dbSNP-Q. Because of this, some of the code that should really be in the parent directory, such as some JavaScript files and maybe some PHP files, are down here. For example, all the jqGrid files are are in dbdoc/.
Contains some utilities for setting up MySQL.
Contains the perl programs used by BioQ, such as bioq_query.pl and dbdoc_util.pl.
Contains code for BioQ::Query features. The web interface is contained in submit.php. This uses query.php via an Ajax call. The query.php script then call bioq_query.pl that does all the database work.
JavaScript code is usually saved in a directory named js. Frameworks and modules, such as jQuery, are located in js/external.tar.gz. The .gz files are saved in Subversion bust must be extracted for use with the application. The CSS and JavaScript files for the main page, index.php, are located in the dbdoc directory.
BioQ uses the following external JavaScript modules:
Note that some of these modules also require their own CSS files.
jQuery is a JavaScript framework used to control many aspects of the web user interface in BioQ.
jQuery UI is an extension of jQuery that provides custom themes and a suite of user interface features. jQuery UI is built into BioQ by going to their download site, selecting a theme and which widgets you will need, and then downloading the tarball generated by their web tool. The current configuration is as follows:
jqGrid is a jQuery plugin for displaying interactive tables.
Style sheets are stored in a directory named css.