Difference between revisions of "RReportGenerator on the Web"
(17 intermediate revisions by 2 users not shown) | |||
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] | ||
+ | |||
+ | |||
+ | ==To run RReportGenerator on the Web you need== | ||
+ | * A http web server (we use Apache) | ||
+ | * Access to R, latex and pdflatex | ||
+ | ** for Linux we use ''which R'' , ''which latex'' and ''which pdflatex'' | ||
+ | ** for Windows we search in the directory defined as the environment variable ProgramFiles | ||
+ | * The '''unique file rrg.tcl''' (it's not the source file but the compiled file !!!) | ||
+ | ** It contains all what you need (=rrg_main.tcl + rrg_web.tcl + tcl runtime library + index.html + Logos + test scenarios and indata) | ||
+ | ** At first run it extracts automatically the logos, index.html and creates the Web directory where the Scenarios, Indata and Outdata will be stored | ||
+ | ==Installation on Linux== | ||
+ | * we need a '''directory accessible''' by the web server. We call it ''/var/www/rreportgenerator'' | ||
+ | <source lang='bash'> | ||
+ | #suppose www-data is the user running the web server | ||
+ | sudo su - www-data | ||
+ | cd /var/www | ||
+ | mv rreportgenerator rreportgenerator.OLD | ||
+ | mkdir rreportgenerator | ||
+ | cd rreportgenerator | ||
+ | wget -O rrg.tcl "http://lbgi.igbmc.fr/rreportgenerator/rrg.distrib" | ||
+ | # please notice the '.distrib' extension (it's the stable version) | ||
+ | </source> | ||
+ | |||
+ | * '''rrg.tcl''', index.html 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) | ||
+ | * the '''sub directory called Web''' contains 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 | ||
+ | |||
+ | If this is done you can even use the url http://''http_server''/''rreportgenerator'' | ||
+ | |||
+ | * To allow the execution of the rrg.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 | ||
+ | |||
+ | * Notice : to allow the url http://''http_server''/''rreportgenerator'' | ||
+ | ** do it in the apache configuration or ... | ||
+ | ** use the file index.html in ''rreportgenerator'' with the 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> | ||
+ | |||
+ | ==Write permissions== | ||
+ | ===For the Web version=== | ||
+ | The user running the http server needs to have write permissions to | ||
+ | * /var/www/rreportgenerator/Web where he creates | ||
+ | ** /var/www/rreportgenerator/Web/web.log | ||
+ | ** /var/www/rreportgenerator/Web/RRGDataForWeb containing the temporary files and RRG_config (can be modified) | ||
+ | ** /var/www/rreportgenerator/Web/''ProjectX'' created when the user creates a new project ''ProjectX'' | ||
+ | |||
+ | ===For the standalone version=== | ||
+ | When a user runs rrg.tcl he creates | ||
+ | * ~user/RRGConfiguration containing RRG_config and the temporary files | ||
+ | * the Output files in the directory defined as ''Output Folder'' | ||
=How it works= | =How it works= | ||
− | The main tcl program ''' | + | The main tcl program '''rrg_main.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 16: | Line 74: | ||
</source> | </source> | ||
− | + | * If launched as local program, '''rrg_main.tcl''' requires the package Tk and runs normally | |
− | * If launched as local program, ''' | + | * 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. |
− | * 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. | * 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 24: | Line 81: | ||
* 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. | * 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. | * These output files can be shown, downloaded and deleted by any user knowing the password of the project. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Latest revision as of 16:02, 13 December 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
To run RReportGenerator on the Web you need
- A http web server (we use Apache)
- Access to R, latex and pdflatex
- for Linux we use which R , which latex and which pdflatex
- for Windows we search in the directory defined as the environment variable ProgramFiles
- The unique file rrg.tcl (it's not the source file but the compiled file !!!)
- It contains all what you need (=rrg_main.tcl + rrg_web.tcl + tcl runtime library + index.html + Logos + test scenarios and indata)
- At first run it extracts automatically the logos, index.html and creates the Web directory where the Scenarios, Indata and Outdata will be stored
Installation on Linux
- we need a directory accessible by the web server. We call it /var/www/rreportgenerator
#suppose www-data is the user running the web server
sudo su - www-data
cd /var/www
mv rreportgenerator rreportgenerator.OLD
mkdir rreportgenerator
cd rreportgenerator
wget -O rrg.tcl "http://lbgi.igbmc.fr/rreportgenerator/rrg.distrib"
# please notice the '.distrib' extension (it's the stable version)
- rrg.tcl, index.html 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)
- the sub directory called Web contains 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
If this is done you can even use the url http://http_server/rreportgenerator
- To allow the execution of the rrg.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
- Notice : to allow the url http://http_server/rreportgenerator
- do it in the apache configuration or ...
- use the file index.html in rreportgenerator with the 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>
Write permissions
For the Web version
The user running the http server needs to have write permissions to
- /var/www/rreportgenerator/Web where he creates
- /var/www/rreportgenerator/Web/web.log
- /var/www/rreportgenerator/Web/RRGDataForWeb containing the temporary files and RRG_config (can be modified)
- /var/www/rreportgenerator/Web/ProjectX created when the user creates a new project ProjectX
For the standalone version
When a user runs rrg.tcl he creates
- ~user/RRGConfiguration containing RRG_config and the temporary files
- the Output files in the directory defined as Output Folder
How it works
The main tcl program rrg_main.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
}
- If launched as local program, rrg_main.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.