-----Oprindelig meddelelse-----
Date: Tue, 7 Aug 2012 03:26:45 -0700 (PDT)
From: Sjoerd Vosse <sjoerdvos at yahoo.com>
To: "bioc-devel at r-project.org" <bioc-devel at r-project.org>
Subject: [Bioc-devel] R web interface
Message-ID:
<1344335205.11396.YahooMailNeo at web114704.mail.gq1.yahoo.com>
Content-Type: text/plain
First of all, I'm not sure if this is the right mailing list for this
question. If not, I would appreciate anyone telling me so :)
Dear R developers,
a few years ago I developed an online R interface (OnlineR) for a
microarray institution in the Netherlands. I am now thinking of
extending and publishing this online application, but I would first
like to hear your thoughts on whether there would be a demand for such
an application, and if it does not already exist. I checking the R-Web-
Interfaces page, but I did not find anything as flexible, user-friendly
or extended (he said humbly) as my application. Below I will list the
features and some thoughts, and I would appreciate any feedback anyone
can offer.
1. User management
This application generally has 3 user groups:
- Statisticians writing scripts for users
- End-users (biologists in my case) analysing their data
- Administrators
Each kind of group has specific functionality and permissions
available, which a user with administrative rights can assign to them.
It is important to note that administrators can give any kind of
permission to any kind of group or individual users within any group.
Administrators can also create user groups, or give a user
administrative rights over a single group for example. I'm just using a
lot of words here to say that the user permission module is entirely
flexible.
2. File management
User can upload and manage files in a drag-and-drop file manager.
Administrative users can assign a quota to other users. When the quote
is reached no more files can be uploaded or analyses that output files
to the file manager run. Furthermore, and my users found this a very
important feature, users can give access to their files to other users
or groups, be they raw data or analysis results. Share permissions are
either view, edit or delete or any combination of these.
3. Creating analyses
Users with the proper permissions can create analyses (for lack of a
better word) for end users. The statistician simply uploads or writes
an R script and uses the appropriate syntax to define the required user
input and analysis output, and then defines which users or groups can
run this script. End-users will have an overview of available analyses
(organised in categories, sub-categories, or whatever the administrator
defines) and can run them by simply clicking on them. On the next
screen they will see an intuitive HTML form asking them for their
input. When the input has been received (and validated) the R script is
run in the background. Administrators can give end-users a quota of
maximum number of analyses they can run simultaneously. The output is
either printed on the screen, e-mailed or stored in the file manager
(from whence it can be downloaded), whatever the statistician has
decided.
The syntax for the statistician to define the required user input will
look something like the following:
name <- '{text;Name;Sjoerd;validation:required:true;}';
age <- {select;Age;options:30:31:32};
etc
User input statements are included between brackets and allow the
statistician to define the type of input, the required validation and
the available and default values.
Input can be any of the available HTML elements, most importantly:
- input text
- input textarea
- upload file
- radio button
- dropdown select
- checkbox
Statisticians can of course include a description and usage
descriptions with their script. Also, it will include version
management, to allow statisticians to update their scripts while still
allowing end-users to reproduce their previous results with older
versions of the script.
4. User interface
In my days as a scientific programmer I have noticed that virtually no
developers take the time to create an eye-pleasing and intuitive user
interface for the users of the software. I have noticed however, that
this makes the software look overly complicated and actually frightens
the less computer-literate users. I will make sure to make this
application as user-friendly and visually attractive as possible.
Tools & requirements (nothing surprising here):
- PHP 5
- MySQL
- R
- HTML, CSS, JavaScript
- Linux server
Once again, any feedback would be appreciated. Most of all I'm
interested to know if you think end-users will appreciate and use the
above-described web application, and, just as important, if
statisticians and developers are willing to put in the effort for their
colleagues ;)
Kind regards,
Sjoerd