Difference between revisions of "RReportGenerator on the Web"
Line 1: | Line 1: | ||
− | [[RReportGenerator]] is | + | While the original [[RReportGenerator]] is/was designed as stand-alone, now we've developed a version that is available through a web interface. |
+ | This should allow users to benefit of servers that are much more powerful, in particular if the applications are memory consuming. | ||
[http://lbgi.igbmc.fr/rreportgenerator http://lbgi.igbmc.fr/rreportgenerator] | [http://lbgi.igbmc.fr/rreportgenerator http://lbgi.igbmc.fr/rreportgenerator] | ||
=How it works= | =How it works= | ||
− | The main tcl program '''rrg.tcl''' | + | The main tcl program '''rrg.tcl''' (mostly code by Luc Moulinier) remains nearly unchanged. We replaced the call to 'main' with following lines : |
<source lang="tcl"> | <source lang="tcl"> | ||
global env | global env | ||
Line 18: | Line 19: | ||
* (We should find a better way to test if it concerns http ...) | * (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 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. | + | * If launched by the web server, '''rrg.tcl''' sources the additional file '''rrg_web.tcl''' (code written by Raymond Ripp) 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. | * 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. | * The user can switch between existing projects (if he knows the password) or create a new project. | ||
Line 26: | Line 27: | ||
=Installation= | =Installation= | ||
− | ==To run | + | ==To run RReportGenerator on the Web you need== |
# A http web server (we use Apache) | # A http web server (we use Apache) | ||
# An already installed RReportGenerator | # An already installed RReportGenerator |
Revision as of 10:40, 3 November 2010
While the original RReportGenerator is/was designed as stand-alone, now we've developed a version that is available through a web interface. This should allow users to benefit of servers that are much more powerful, in particular if the applications are memory consuming.
http://lbgi.igbmc.fr/rreportgenerator
Contents
How it works
The main tcl program rrg.tcl (mostly code 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 (code written by Raymond Ripp) 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
- A http web server (we use Apache)
- An already installed RReportGenerator
- with the files rrg.tcl and rrg_web.tcl or their binary version
- the logos RRG_logoTransparent.gif, RRG_generateReport.gif, LogoIGBMC.gif and your LocalLogo.png
- access to R, latex and pdflatex
- If you are running 'not compiled scripts' you need Tcl8.5 or higher
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 (with your LocalLogo.png) 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.html in rreportgenerator with a redirection to rrg.tcl
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <meta http-equiv="REFRESH" content="0;url=./rrg.tcl?commande=WebForm"> </head> </html>
- or do it in the apache configuration