Web 2.0 Interfaces for R with Tiki

Sepember 2013, 10h along 3 days. 1.5 ECTS credits ECTS:
  • September 6: 9-12h.
  • September 9: 9-12h.
  • September 10: 9-13h.

MEIO Summer School - http://meioupcub.masters.upc.edu/summer-school

Workshop led by Xavier de Pedro Puente, Ph.D. & Alex Sánchez Pla, Ph.D.
  • Statistics and Bioinformàtics Unit
    Vall d'Hebron Research Institute (UEB-VHIR). Barcelona. http://ueb.vhir.org
    xavier.depedro(a)vhir.org - alex.sanchez(a)vhir.org
    Phone +34 934894007
    Image Image

Program of the 3 days of the course:

It's easy to meet people with intermediate level in the use of R, but do not know how to create a dynamic web interface to their programs in R.

There are some tools that let you create html reports easily from R (see Pastell 2010 or Yuan Huang, 2013 among others), but do not allow users to change parameters and re-generate these graphs, tables and reports with new data or parameters chosen by the user through of the website itself. Similarly, many R users have deep knowledge gaps regarding webservers (like Apache), web programing languages (like PHP), Web-oriented Relational Databases (like MySQL), and open-source/free/libre web programs that can run taking profit of them for free.

There are other approaches getting common since last year, such as Rook, Concerto, Django or Shiny, among many, each one with their advantages and disadvantages. We will not cover them all, but just one to take the most out of it during the 3 day course, so that you can get confident creating your own web 2.0 interfaces for your R scripts, while getting many many more things under the hood for your present and future needs online with the same platform.

Thus, this workshop is an extended and improved version of the former workshops held in 2011 and 2012 at the 3rd and 4rth R user Conferences in Spanish.

Attendees will see a bird's eye view about everything needed to create web interfaces to their programs in R. Therefore, at the end of the 3 day workshop they will have learned:
  • What is a web server (like Apache), a database (like MySQL), web programming language (like PHP)
  • How to use PhpMyAdmin: a manager of MySQL databases through a simple web browser
  • And install a PHP-MySQL application called "Tiki" on a server, allowing them to create and use dynamic web 2.0 pages made ​​with free and open software.
  • How to install Tiki PluginR to communicate with R on the server.
  • How to apply "configuration profiles" for Tiki, like "r_test" or even "R heatmaps" to have a real and functional web interface as an example of a package of R used in bioinformatics (De Pedro and Sanchez 2011)
  • How to modify this example to create a first draft of web interface for the program of interest to the attendant.
  • How to export the mysql database to migrate to another web hosting solution that you contracted elsewhere or provided by the attendant's institution.
  • Where to find more information and help from the end of the workshop onwards

Enrolled attendees will be provided for free for at least 3 months with a private online account with sftp & ssh access where they will be able to install and manage they own Tiki and PluginR, save backups online.

Tightly Integrated Knowledge Infrastructure. A web 2.0 application made ​​with PHP, MySQL, Zend, Smarty, jQuery, all opensource/free/libre software, with many preinstalled utilities for a wide variety of use cases. More information: https://tiki.org

Tiki Plugin that allows to communicate with R on the server, and display the text or graphical output through wiki page (in png, being exportable also graphical output svg and pdf). More information: https://doc.tiki.org/PluginR

Equivalent feature to 'Database', providing also predefined forms of data input and output individually or in bulk via csv files. It also lets you create custom interfaces, for data input and output, through the use of plugins related trackers in Tiki wiki pages. The reports of R combined with results can be displayed via "Pretty Trackers" through the use of combined "Smarty" templates. More information: https://doc.tiki.org/Trackers

Smarty Templates
Smarty is a html template manager that allows in PHP applications to split code and instructions to run the program from code to manage the display of information via html. Smarty in Tiki is a program like Sweave in R. Smarty is who can combine R instructions with Tiki output data, and display it to the user in a common html (in the case of R and Sweave, the equivalent document produced is in latex markup)

Reference Documents

Advanced examples
  1. Bioinformática - goProfiles
  2. Word Cloud Art
  3. Gráficos dinámicos con Google Visualitzation API:

Mini-cheatsheet about basic wiki syntax:

Tiki Books:
Rick-Sapir. 2010. Tiki Essentials. lulu.com. 132 pp. ISBN-10: 0557766761
Rick-Sapir. 2011. Tiki for Dummies Smarties. lulu.com. 350pp. ISBN-10: 0557345758.

More geberic information (on web programming abilities)

Where to find help from now onwards?

Tiki Forums (in general):

Forum about Tiki & PluginR

Email lists:

IRC Canal (chat):