Difference between revisions of "RReportGenerator on the Web"

From Wikili
Jump to: navigation, search
Line 34: Line 34:
  
 
==Where have the files to be located==
 
==Where have the files to be located==
* '''rrg.tcl''' '''rrg_web.tcl''' and the logos have to be in the same directory accessible by the web server (if not in the same directory you can use unix links to simulate it)
+
* we need a directory accessible by the web server. We call it ''rreportgenerator''
 +
* '''rrg.tcl''' '''rrg_web.tcl''' and the logos have to be in that directory (if not in the same directory you can use unix links to simulate it)
 
* in the same directory must exist a sub directory called '''Web''' which will contain the scenarios, input and ouput files for all projects. (use links if they are elsewhere)
 
* in the same directory must exist a sub directory called '''Web''' which will contain the scenarios, input and ouput files for all projects. (use links if they are elsewhere)
 +
 +
We can now use the url  http://''http_server''/''rreportgenerator''/rrg.tcl
 +
 +
* To allow the execution of the .tcl as cgi-bin you need following line in the apache configuration file
 +
 +
  ScriptAliasMatch ^/''rreportgenerator''/rrg.tcl /real/path/to/the/directory/''rreportgenerator''/rrg.tcl
 +
 +
* if you want to allow the url http://''http_server''/''rreportgenerator''
 +
** create a file index.php in ''rreportgenerator'' with a redirection to rrg.tcl
 +
** or do it in the apache configuration

Revision as of 10:04, 26 August 2010

RReportGenerator is also available through a web interface.

 http://lbgi.igbmc.fr/rreportgenerator

How it works

The main tcl program rrg.tcl, written by Luc Moulinier, remains nearly unchanged. We replaced the call to 'main' with following lines :

global env
if {! [info exists env(QUERY_STRING)] && $argv=={}} {
    package require Tk
    main
} else {
    source "[file dirname [info script]]/rrg_web.tcl"
    MainWeb
}
  • (We should find a better way to test if it concerns http ...)
  • If launched as local program, rrg.tcl requires the package Tk and runs normally
  • If launched by the web server, rrg.tcl sources the additional file rrg_web.tcl and sends a html page to the web browser.
  • Any action from the user through his web browser will rerun rrg.tcl, the arguments are always transfered within the web page and users queries, avoiding use of session variables.
  • The user can switch between existing projects (if he knows the password) or create a new project.
  • Within a project he can select, delete or create scenarios and input files.
  • After selection of a scenario and input file the user can run RReportGenarator. This lauches the normal rrg.tcl from Luc and stores the result in the OutputDir of the project.
  • These output files can be shown, downloaded and deleted by any user knowing the password of the project.

Installation

To run RreportGenerator on the Web you need

  1. A http web server (we use Apache)
  2. An already installed RReportGenerator
    1. with the files rrg.tcl and rrg_web.tcl or their binary version
    2. the logos RRG_logoTransparent.gif, RRG_generateReport.gif
    3. access to R, latex and pdflatex

Where have the files to be located

  • we need a directory accessible by the web server. We call it rreportgenerator
  • rrg.tcl rrg_web.tcl and the logos have to be in that directory (if not in the same directory you can use unix links to simulate it)
  • in the same directory must exist a sub directory called Web which will contain the scenarios, input and ouput files for all projects. (use links if they are elsewhere)

We can now use the url http://http_server/rreportgenerator/rrg.tcl

  • To allow the execution of the .tcl as cgi-bin you need following line in the apache configuration file
  ScriptAliasMatch ^/rreportgenerator/rrg.tcl /real/path/to/the/directory/rreportgenerator/rrg.tcl
  • if you want to allow the url http://http_server/rreportgenerator
    • create a file index.php in rreportgenerator with a redirection to rrg.tcl
    • or do it in the apache configuration