docs/install.rst
Install Tripal Galaxy
=================================
Installation
------------
The Tripal Galaxy module is available as a full Drupal module. Therefore, it can be installed following the typical Drupal module installation either via the GUI or via Drush. However it requires a few dependencies:
* curl
* php-curl
* blend4php
Follow the typical method for installation of tools for your operating system to install ``curl`` and ``php-curl``. For example, on Ubuntu systems you can install both ``curl`` and ``php-curl`` with the following command:
.. code-block:: bash
sudo apt-get install php-curl
Additionally, this module requires the presence of the `blend4php library <https://github.com/galaxyproject/blend4php>`_. The blend4php library was developed as part of the Tripal Gateway Project as stand-alone PHP bindings to the Galaxy RESTful API. It allows any PHP-based web application to communicate with a remote Galaxy instance. To install blend4php, navigate to the ``sites/all/libraries`` directory of your Drupal installation and issue the following command:
.. code-block:: bash
git clone https://github.com/galaxyproject/blend4php.git
That's it! The library is now available for Drupal to find. Now, install the Tripal Galaxy module. We'll do so here using a Drush command:
.. code-block:: bash
drush pm-enable tripal_galaxy
You will be asked if you would like to download and then enable the module. Now that the Tripal Galaxy module is installed, navigate to the ``Administration > Tripal > Extensions > Galaxy`` page via the administrative menu. At this location is the administrative interface for interacting with remote Galaxy servers. Near the top of the page are several tabs including **Workflows, Job Queue, Usage, Files** and **Settings**.
.. image:: ./install.1.png
Set Permissions
---------------
Now that the Tripal Galaxy module is installed, we must set permissions so that users can add submit workflows and administrators can manage the workflows. To set permissions, navigate to **People** page and click the **Permissions** tab in the top right. To allow end-users to submit workflows, you must set the following two permissions found in the **Tripal Galaxy** and **Tripal** sections of the permissions page:
* Tripal Galaxy > Execute Published Galaxy Workflows
* Tripal > Upload files
To allow a user to administer the Tripal Galaxy workflows you must set three permissions for the given role:
* Tripal Galaxy > Administer Galaxy
* Tripal Galaxy > Execute Published Galaxy Workflows
* Tripal > Upload files
The following screenshot shows an example of the permissions in the **Tripal Galaxy** section of the **Permission** page:
.. image:: ./install.2.png
.. warning::
If your site is not new you may have additional roles. As a rule you should not give the anonymous user either permission.