airavata-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From scnakand...@apache.org
Subject [2/2] airavata-docs git commit: backing up 0.16 release documents
Date Fri, 07 Apr 2017 14:58:07 GMT
backing up 0.16 release documents


Project: http://git-wip-us.apache.org/repos/asf/airavata-docs/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata-docs/commit/9259dfe4
Tree: http://git-wip-us.apache.org/repos/asf/airavata-docs/tree/9259dfe4
Diff: http://git-wip-us.apache.org/repos/asf/airavata-docs/diff/9259dfe4

Branch: refs/heads/master
Commit: 9259dfe44e1bf8511631d215b00275ad75bbf09e
Parents: 2cdb3e6
Author: scnakandala <supun.nakandala@gmail.com>
Authored: Fri Apr 7 10:58:01 2017 -0400
Committer: scnakandala <supun.nakandala@gmail.com>
Committed: Fri Apr 7 10:58:01 2017 -0400

----------------------------------------------------------------------
 0.16/Admin-Maintenance.md               |  55 +++++
 0.16/Admin-Tutorials.md                 | 198 ++++++++++++++++++
 0.16/Airavata-Installation.md           | 134 ++++++++++++
 0.16/Airavata-Upgrades.md               |  41 ++++
 0.16/AiravataApi.md                     |  77 +++++++
 0.16/Application-CookBook.md            |  43 ++++
 0.16/CPI.md                             | 291 ++++++++++++++++++++++++++
 0.16/Contact-Us.md                      |  14 ++
 0.16/FAQ.md                             | 220 ++++++++++++++++++++
 0.16/Gateway-Configurations.md          | 124 ++++++++++++
 0.16/Models.md                          | 292 +++++++++++++++++++++++++++
 0.16/Own-WSO2-IS-Configuration.md       |  73 +++++++
 0.16/PGA-Installation.md                | 197 ++++++++++++++++++
 0.16/PGA-Upgrades.md                    |   9 +
 0.16/Sharing-Docs.md                    |  79 ++++++++
 0.16/User-Profiles.md                   |  47 +++++
 0.16/User-Tutorials.md                  |   6 +
 0.16/WSO2-IS-Configuration.md           |  42 ++++
 0.16/airavata-properties.md             |  66 ++++++
 0.16/css/extra.css                      |  29 +++
 0.16/img/AppCatalog.png                 | Bin 0 -> 102779 bytes
 0.16/img/AppDeployment.png              | Bin 0 -> 86972 bytes
 0.16/img/AppInterface1.png              | Bin 0 -> 104215 bytes
 0.16/img/AppInterface2.png              | Bin 0 -> 167809 bytes
 0.16/img/AppModule.png                  | Bin 0 -> 87288 bytes
 0.16/img/GauAppDep.png                  | Bin 0 -> 232179 bytes
 0.16/img/GauAppInt1.png                 | Bin 0 -> 226844 bytes
 0.16/img/GauAppInt2.png                 | Bin 0 -> 212219 bytes
 0.16/img/GauAppInt3.png                 | Bin 0 -> 106055 bytes
 0.16/img/MultipleWaystoUseAiravata.png  | Bin 0 -> 72711 bytes
 0.16/img/MultipleWaystoUseAiravata1.png | Bin 0 -> 129098 bytes
 0.16/img/PGAMenu&SubMenu.png            | Bin 0 -> 102694 bytes
 0.16/img/UserProfiles.png               | Bin 0 -> 78923 bytes
 0.16/img/UserProfilesOLD.png            | Bin 0 -> 101847 bytes
 0.16/index.md                           |  24 +++
 0.16/mkdocs.yml                         |  38 ++++
 36 files changed, 2099 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/Admin-Maintenance.md
----------------------------------------------------------------------
diff --git a/0.16/Admin-Maintenance.md b/0.16/Admin-Maintenance.md
new file mode 100644
index 0000000..b40faef
--- /dev/null
+++ b/0.16/Admin-Maintenance.md
@@ -0,0 +1,55 @@
+## Gateway Maintenance
+
+### <h3 id="Airavata"> Assist Gateway Users</h3>
+<b class="blue">Q1.</b> One of my gateway users wants me to investigate his FAILED experiment. How should I proceed?
+<br><b class="blue">Answer:</b> To investigate a specific FAILED experiment or failed experiment within a time frame,<br>
+1. Navigate to AdminDashboard &#8658; Experiment Statistics <br>
+2. Search the experiment by using the experiment ID or by giving the Creation Time 'To' and 'From' <br>
+3. You could also use pre-defined selection criteria ('Get Experiments from Last 24 Hours' OR 'Get Experiments from Last Week')<br/>
+
+
+### <h3 id="Airavata">Day-to-Day Maintenance</h3>
+<b class="blue">Q2.</b> One of the resources used by my gateway is not available for the day. How to stop user job submissions?
+<br><b class="blue">Answer:</b> To temporarily stop users submitting jobs to a particular resource...<br>
+1. Navigate to AdminDashboard &#8658; Compute Resources (Browse)<br>
+2. Un-check the  'Enabled' box for the specific resource. This disables job submissions for the resource<br>
+3. To enable job submission simply check the box and you are back in track!<br>
+
+<b class="blue">Q3.</b> How to upgrade access for a gateway user?
+<br><b class="blue">Answer:</b> User access can be upgraded or downgraded by changing the assigned user role.<br>
+1. Navigate to Admin Dashboard &#8658; Users (Browse)<br>
+2. Search for the specific user and click 'Check All Roles'<br>
+3. From this you can remove/add roles.<br>
+4. For each modification user will receive an email with 'Your Privileges has Changed!'<br>
+
+<b class="blue">Q4.</b> Gateway users who has role 'gateway-user' cannot access experiment creation. Seems like privileges are not accessible.!
+<br><b class="blue">Answer:</b> User roles are given through PGA Admin Dashboard. If the roles are set correctly then check pga_config.php<br>
+1. To check the config file use
+<pre><code>vi /var/www/html/airavata-php-gateway/app/config/pga_config.php</code></pre>
+2. Roles attached to users should exists in the config file against correct role attribute type
+<pre><code>
+        /**
+         * Admin Role Name
+         */
+        'admin-role-name' => 'admin',
+        /**
+         * Read only Admin Role Name
+         */
+        'read-only-admin-role-name' => 'admin-read-only',
+        /**
+         * Gateway user role
+         */
+        'user-role-name' => 'airavata-user',
+</code></pre>
+
+<b class="blue">Q5.</b> I have ran out of allocation for my current community account used in gateway for a resource. What should I do?
+<br><b class="blue">Answer:</b><br> 
+1. If you have another community account you could update the information in Admin Dashboard &#8658; Gateway Profile under Compute Resource Preferences.<br>
+2. Select the resource and modify account information and save.<br>
+3. Login to the resource as the new user and update the authorized_keys with the public key assigned to the resource.<br>
+
+<b class="blue">Q6.</b> I want to send notices to my gateway users. How?
+<br><b class="blue">Answer:</b><br>
+1.  Navigate to Admin Dashboard&#8658;Notices <br>
+2. Use 'Create a New Notice' button add a new notice. <br>
+3. Based on the published date you provided it will be available for users as a Notice !

http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/Admin-Tutorials.md
----------------------------------------------------------------------
diff --git a/0.16/Admin-Tutorials.md b/0.16/Admin-Tutorials.md
new file mode 100644
index 0000000..1292f2f
--- /dev/null
+++ b/0.16/Admin-Tutorials.md
@@ -0,0 +1,198 @@
+## Admin Dashboard Configurations
+
+This page is dedicated to Gateway Admins!
+
+### Prior to starting your configurations
+1. You have admin access to the PGA portal, Admin Dashboard
+    - How to check?
+        - Log in to the gateway portal
+        - You would land on Admin Dashboard with "Let's Get Started!"
+        - Click 'Browse Application Modules'
+        - Do you see button 'Create new Application Interface' ? Then you are good.
+2. Storage resource ID added to the pga_config.php </br>
+    - If not go to  
+        - Admin Dashboard --> Storage Resources --> Browse
+        - Locate your resource and copy the ID
+        - Paste it in pga_config.php file in pga/app/config directory.
+3. Credentials generated, assigned and added to authorized_keys files of resources
+    - To generate key refer <a href=/Gateway-Configurations/#Credentials> Credential Store</a>
+    - Token Assignment <a href=/Gateway-Configurations/#Preference> Gateway Management</a>
+    - Copy the public key for the assigned token frm credential store and add it to authorized_keys file in both compute and storage resources.
+
+NOTE: If you are using a hosted gateway the 2 and 4 would be taken cared by the SciGaP team.
+
+### Select Your Quick Start Tutorial
+1. <a href="#LocalJob">Running Echo on Local Machine</a></br>
+2. <a href="#GaussianJob">Gaussian Job Submission to Comet (XSEDE resource)</a></br>
+3. <a href="#PrePostCommands">Add Pre and Post Job Commands for an Application</a></br>
+4. <a href="#SampleApp">Add Environment Variables for an Application Deployment</a></br>
+5. <a href= "#Resources">Know your Compute & Storage Resources</a></br>
+6. <a href= "#Preference">Gateway Preference Management</a></br>
+7. <a href= "#GtwyAccess">Managing User Accounts</a></br>
+8. <a href= "#Notices">Communication with Gateway Users</a></br>
+9. <a href= "#Traffic">Monitor Gateway Traffic</a></br>
+10. <a href= "#Secure">Using Credential Store</a></br>
+
+
+#####<h5 id="LocalJob">Running Echo on Local Machine</h5>
+Quickest way to confirm Airavata and PGA setup. This will tell you what you need to do to Echo a simple 'Hello World' in your local machine
+
+1. Create new application module: Echo
+    - Navigate to Admin Dashboard &rarr; App Catalog &rarr; Apllication Module 
+    - Click Create a new Application Module
+    - Enter Application Module Name: Echo
+    - Enter Application Module Version: Echo 1.0 (Not mandatory)
+    - Enter Description: Echo application for testing
+    - Create
+    - This create the Echo module </br>
+![Screenshot](img/AppModule.png) </br></br>
+2. Create the application interface: Echo
+    - Navigate to Admin Dashboard &rarr; App Catalog &rarr; Application Interface
+    - Click 'Create new Application Interface'
+    - Add Application Name: Echo
+    - Add Application Description: Echo Interface for testing
+    - Select Application Module: Echo
+    - Set 'Enable Archiving Working Directory' to False (Why? - This is set to true if you want to bring back all the files in working directory back to PGA)
+    - Set 'Enable Optional File Inputs' to False (Why? - Set to false because there won't be any additional optional inputs for Echo)
+    - Provide application inputs
+        - Click Add Application Input
+        - Name: Input-to-Echo
+        - Value: Echo Test 1......2......3....... (This value can be overridden at experiment creation)
+        - Type: STRING
+        - Application Arguments:
+        - Standard Input: False (Why? - Futuristic property and not in real use at the moment)
+        - User Friendly Description: Enter STRING input for Echo (Not mandatory)
+        - Input Order: 1
+        - Data is Staged: True
+        - Is the Input Required: True
+        - Required in Commandline: True
+        - Meta Data:
+    - Provide application outputs
+    NOTE: 3 application outputs to define.</br>
+        - 1st output
+            - Click Add Application Output
+            - Name: Echo-Standard-Out
+            - Value:
+            - Type: STDOUT
+            - Application Argument:
+            - Data Movement: False
+            - Is the Output required?: True
+            - Required on command line?: True
+            - Location:
+            - Search Query:</br>
+        - 2nd output
+            - Click Add Application Output
+            - Name: Echo-Standard-Error
+            - Value:
+            - Type: STDERR
+            - Application Argument:
+            - Data Movement: False
+            - Is the Output required?: True
+            - Required on command line?: True
+            - Location:
+            - Search Query:</br>
+![Screenshot](img/AppInterface1.png) ![Screenshot](img/AppInterface2.png) </br></br>
+3. Create the application deployment: Echo on Local Machine
+    - Navigate to Admin Dashboard &rarr; App Catalog &rarr; Application Deployment
+    - Click 'Create new Application Deployment'
+        - Application Module: Echo
+        - Application Compute Host: Local (Local machine has to be added as a compute resource prior to this step)
+        - Application Executable Path: /home/airavata/ECHO/echo_wrapper.sh (Local to where you have airavata installed)
+        - Application Parallelism Type: SERIAL </br>
+![Screenshot](img/AppDeployment.png)
+4. Echo_wrapper.sh contains;
+<pre><code>
+    #!/bin/bash
+    #sleep 10
+    echo "Echoed_Output=$*" 
+</code></pre>
+           
+#####<h5 id="GaussianJob">Gaussian Job Submission to Comet  (XSEDE resource)</h5>
+This is a tutorial to configuring and running an application on XSEDE resource through PGA portal.
+
+1. Create new application module: Gaussian
+    - Navigate to Admin Dashboard &rarr; App Catalog &rarr; Apllication Module 
+    - Click Create a new Application Module
+    - Enter Application Module Name: Gaussian
+    - Enter Application Module Version: Gaussian 09 (Not mandatory)
+    - Enter Description: Gaussian provides capabilities for electronic structure modeling
+    - Create
+    - This create the Gaussian module </br>
+2. Create the application interface: Gaussian
+    - Navigate to Admin Dashboard &rarr; App Catalog &rarr; Application Interface
+    - Click 'Create new Application Interface'
+    - Add Application Name: Gaussian
+    - Add Application Description: Gaussian provides capabilities for electronic structure modeling
+    - Select Application Module: Gaussian ( If multiple modules are using same interface here you can add multiple modules. Ex: Gaussian 03 and Gaussian 09 modules)
+    - Set 'Enable Archiving Working Directory' to True (Why? - This is set to true when you want to bring back all the files in working directory back to PGA. Caution: If there are very large files they may not be able to SCP)
+    - Set 'Enable Optional File Inputs' to False (Why? - Set to false because there won't be any additional optional inputs for Gaussian)
+    - Provide application inputs
+        - Click Add Application Input
+        - Name: Input-File
+        - Value: 
+        - Type: URI (Why - This is the type for file uploads)
+        - Application Arguments:
+        - Standard Input: False (Why? - Futuristic property and not in real use at the moment)
+        - User Friendly Description: Gaussian input file specifying desired calculation type, model chemistry, molecular system and other parameters. (This is information to the user at creating job experiment. Not mandatory)
+        - Input Order: 1
+        - Data is Staged: False
+        - Is the Input Required: True
+        - Required in Commandline: True
+        - Meta Data:
+    - Provide application outputs</br>
+    NOTE: 3 application outputs to define. </br>
+        - 1st Output
+            - Click Add Application Output
+            - Name: Gaussian-Application-Output
+            - Value: Gaussian.log
+            - Type: URI
+            - Application Argument:
+            - Data Movement: True
+            - Is the Output required?: True
+            - Required on command line?: True
+            - Location:
+            - Search Query:</br>
+        - 2nd output
+            - Click Add Application Output
+            - Name: Gaussian-Standard-Out
+            - Value:
+            - Type: STDOUT
+            - Application Argument:
+            - Data Movement: False
+            - Is the Output required?: True
+            - Required on command line?: True
+            - Location:
+            - Search Query:</br>
+        - 3rd output
+            - Click Add Application Output
+            - Name: Gaussian-Standard-Error
+            - Value:
+            - Type: STDERR
+            - Application Argument:
+            - Data Movement: False
+            - Is the Output required?: True
+            - Required on command line?: True
+            - Location:
+            - Search Query:</br>
+![Screenshot](img/GauAppInt1.png) ![Screenshot](img/GauAppInt2.png) ![Screenshot](img/GauAppInt3.png) </br></br>
+3. Create the application deployment: Gaussian on Comet
+    - Navigate to Admin Dashboard &rarr; App Catalog &rarr; Application Deployment
+    - Click 'Create new Application Deployment'
+        - Application Module: Gaussian
+        - Application Compute Host: comet.sdsc.edu (Your comet specific gateway preferences need to be added in 'Gateway Management' prior to this)
+        - Application Executable Path: g09
+        - Application Parallelism Type: SERIAL
+        - Application Deployment Description: Gaussian provides capabilities for electronic structure modeling.
+        - Module Load Commands: module load gaussian
+        - Post Job Commands: mkdir -p "$PWD"_restart; cp *.chk ${pwd}_restart; mv *.rwf* ${pwd}_restart; (Why? - any command you would want to execute after post job execution)</br>
+![Screenshot](img/GauAppDep.png)
+
+##### <h5 id="PrePostCommands">Add Pre and Post Job Commands for an Application</h5>
+This tutorial demonstrates use of pre and post job commands and how they appear in job submission script
+
+1. 
+
+Work-in-Progress
+
+Refer <a href="/Gateway-Configurations/#AppCatalog" target="_blank">Application Configuration</a> for more generic details.
+

http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/Airavata-Installation.md
----------------------------------------------------------------------
diff --git a/0.16/Airavata-Installation.md b/0.16/Airavata-Installation.md
new file mode 100644
index 0000000..11ebb7b
--- /dev/null
+++ b/0.16/Airavata-Installation.md
@@ -0,0 +1,134 @@
+##  <h2 id="AiravataCent">Install Apache Airavata</h2>
+
+<b>Select...</b><br/>
+[<button type="button" style="color:#f2f2f2;text-align:center;font-weight:lighter;background-color:#2481b9;width:160px;border: 2px solid #3980c6;border-radius:4px">Airavata Prerequisites</button>](#Airavata) &emsp;
+[<button type="button" style="color:#f2f2f2;text-align:center;font-weight:lighter;background-color:#2481b9;width:160px;border: 2px solid #2481b9;border-radius:4px">Airavata on CentOS 7</button>](#AiravataCent) <br/>
+
+### <h3 id="Airavata">General Prerequisites</h3>
+1. JAVA 8
+	- Java installation on CentOS, Mac, Windows, etc.. - <a href="https://docs.oracle.com/javase/8/docs/technotes/guides/install/install_overview.html" target="_blank">Oracle JAVA Installation</a>
+2. RabbitMQ
+	- <a href="https://www.rabbitmq.com/download.html" target="_blank">Download the RabbitMQ Binary</a><br>Select the download file as per the operating system of your machine/server.
+	- Same link has installing guide documentation as well. E.g.:<a href="https://www.rabbitmq.com/install-standalone-mac.html" target="_blank">MAC Installation Guide</a>
+	- For  detailed information on getting RabbitMQ started, stopped, etc please visit <a href="https://www.rabbitmq.com/documentation.html" target="_blank">RabbitMQ Documentation</a>
+3. Maven
+	- <a href="http://maven.apache.org/download.cgi" target="_blank">Download Maven</a> (java based code building tool).
+4. MySQL Database
+
+### <h3 id="AiravataCent">Airavata Installation on CentOS 7</h3>
+<b>NOTE: Airavata installation on other operating systems are similar with minor changes.</b></br>
+#### Pre-Installations
+1. CentOS 7 Default open JDK 1.8.0. (minimum) is sufficient. Use "yum search jdk" to find available versions. Verify versions using "javac -version". Be sure to install the developer version.
+<pre><code>yum install java-1.8.0-openjdk-devel.x86_64</code></pre>
+2. Download RabbitMQ binary for CentOS 7
+<a href="https://www.rabbitmq.com/install-generic-unix.html" target="_blank">Download RabbitMQ Binary for CentOS</a><br>
+3. Prerequisite for RabbitmQ Erlang can be installed using yum
+<pre><code>yum install erlang</code></pre>
+4. Unzip the downloaded RabbitMQ tar file into a folder in your local machine.
+<pre><code>tar -xvf rabbitmq-server-mac-standalone-3.4.1.tar.gz</code></pre>
+5. Start the RabbitMQ server in the bin folder using;
+ <pre><code>./sbin/rabbitmq-server start</code></pre>
+6. Install Maven using yum install. ((install the latest maven 3.3.9. Default Maven default of centOS 7).
+<pre><code>yum install maven</code></pre>
+7. Install MySQL database
+<pre><code>yum install mariadb-server</code></pre>
+8. Start maria DB with;
+<pre><code>systemctl start mariadb</code><pre>
+9. While maria DB is running run
+<pre><code>mysql_secure_installation</code></pre>
+When executing above it will ask you for root password; provide it.
+10. Now login as the root user providing the password you gave above.
+10. Create databases required for Airavata
+<pre><code>create database app_catalog;</code></pre>
+<pre><code>create database experiment_catalog;</code></pre>
+<pre><code>create database replica_catalog;</code></pre>
+<pre><code>create database credential_store;</code></pre>
+<pre><code>create database workflow_catalog;</code></pre>
+11. Grant permission to these databases for a new user which would be used by Airavata<br>
+Command syntax: 
+<pre><code> grant all privileges on &#60;DB-Name&#62;&#46;&#x204E; to '&#60;username&#62;'@'%' identified by '&#60;password&#62;'; </code></pre>
+E.g.: 
+<pre><code>grant all privileges on app_catalog&#46;&#x204E; to 'airavata'@'%' identified by 'airavata';</code></pre>
+<br>
+NOTE: Grant permission to every databased created above. % can be replaced by  'localhost' (if DB is also in the same server as airavata). If DB is in a different server give the server name.
+<br>
+
+#### Airavata Installation
+1. Create a folder in your local machine (E.g.: mkdir LocalAiravata).<br>
+2. Clone the master source (If you have not taken a clone prior) code from github to the created folder.<br>
+<pre><code>git clone https://github.com/apache/airavata.git</code></pre>
+3. After cloning is completed, build the source code by executing following maven command (In LocalAiravata/airavata);
+<pre><code>mvn clean install</code></pre>
+Hint: To avoid tests (recommended for first time users) use
+<pre><code>mvn clean install -Dmaven.test.skip=true</code></pre>
+4. Locate the tar file in target directory
+Path:
+<pre><code>cd airavata/distribution/target/</code></pre>
+5. Navigate to locally created directory (LocalAiravata) copy the tar file
+<pre><code>cp airavata/distribution/target/apache-airavata-server-0.16-SNAPSHOT-bin.tar.gz ./</code></pre>
+OR
+<pre><code>cp airavata/distribution/target/apache-airavata-server-0.16-SNAPSHOT-bin.zip ./</code></pre>
+6. Now unzip either the tar or zip file of Airavata server distribution;
+<pre><code>unzip apache-airavata-server-0.16-SNAPSHOT-bin.zip</code></pre>
+OR
+<pre><code>tar xvzf apache-airavata-server-0.16-SNAPSHOT-bin.tar.gz</code></pre>
+7. Generate Credential store keystore file in the created local directory.
+<pre><code>	keytool -genseckey -alias airavata -keyalg AES -keysize 128 -storetype jceks -keystore airavata_sym.jks</code></pre>
+For more information visit <a href="https://cwiki.apache.org/confluence/display/AIRAVATA/Credential+Store+Configuration+Guide/" target="_blank">Credential Store Configuration Documentation</a>
+8. In order to copy mysql jar file (always download the latest available); navigate to Airavata lib directory
+<pre><code>cd /LocalFolderPath/apache-airavata-server-0.16-SNAPSHOT/lib</code></pre>
+Now copy the mysql jar (e.g. mysql-connector-java-5.1.39-bin.jar) to lib  directory (<a href="http://dev.mysql.com/downloads/connector/j/" target="_blank">Download mysql.jar</a>).
+9. Navigate to bin folder which contains file airavata-server.properties and open it;
+<pre><code>vi apache-airavata-server-0.16-SNAPSHOT/bin/airavata-server.properties</code></pre>
+10. Update relevant necessary properties in airavata-server.properties file.<br>
+Change as required. For more details refer; <a href="../airavata-properties">Airavata Property File</a>.
+	- In sections; API Server Registry Configuration, Application Catalog DB Configuration, Data Catalog DB Configuration, Workflow Catalog DB Configuration, Credential Store Module Configuration<br>
+		- Comment out derby DB properties.<br>
+		- Change MySQL configurations as per the databases created above.
+	- Make sure gateway ID is properly defined;<br> 
+		default.registry.gateway=php_reference_gateway
+	- Server module Configuration
+		- Make sure all servers required to start are added as given <br>
+			servers=apiserver,orchestrator,gfac,credentialstore
+	- API Server SSL Configurations
+		- Give the correct path for key generation file. This is in the bin directory and it is shipped default with Airavata.<br>
+		apiserver.keystore=/home/airavata/LocalAiravata/apache-airavata-server-0.16-SNAPSHOT/bin/airavata.jks
+	- Credential Store module Configuration
+		- Add the path to SSH key generation file <br>
+		E.g.: credential.store.keystore.url=/home/airavata/LocalAiravata/airavata-sym.jks
+	-  API Security Configuration
+		- Make sure <br>
+		api.secured=false<br>
+		TLS.enabled=false
+	-  Monitoring Module Configuration
+      	- Add your email address, username and password for email monitoring.<br> This is the email account the job status change emails will be received from compute resources.
+		 email.based.monitor.host=imap.gmail.com<br>
+		 email.based.monitor.address=jobs@sample.org<br>
+		 email.based.monitor.password=SamplePassword<br>
+	-  Zookeeper Server Configuration
+		- For 'Production' scenario make;<br>
+		embedded.zk=false
+	- AMQP Notification Configuration
+		- Users can use RabbitMQ as 'Guest' users. This is the easy method. For this uncomment <br>
+		rabbitmq.broker.url=amqp://localhost:5672
+		- To use as a 'Production' user <br>
+		Navigate to RabbitMQ bin folder.<br>
+		Make sure the RabbitMQ server is running. For production use <pre><code>rabbitmq-server -detached</code></pre>
+		Create a virtual-host and user with a password. Follow documentation in <a href="http://blog.dtzq.com/2012/06/rabbitmq-users-and-virtual-hosts.html" target="_blank">RabbitMQ Users & VirtualHost</a>
+		To create a user; <pre><code>rabbitmqctl add_user airavata airavata</code></pre>
+		To create a vitrual-host <pre><code>rabbitmqctl add_vhost messaging</code></pre>
+		Provide permission to created username; 'airavata' to the created vhost <pre><code>rabbitmqctl set_permissions -p messaging airavata ".*" ".*" ".*”</code></pre>
+		Uncomment rabbitmq.broker.url=amqp://airavata:airavata@localhost:5672/messaging.
+11. Download and install Zookeeper. Use <a href="http://www.us.apache.org/dist/zookeeper/zookeeper-3.4.8/" target="_blank">Download Zookeeper</a> <br> You can download and install Zookeeper in the above created local folder; LocalAiravata
+12. Start Zookeeper
+    - Copy the sample config file to zoo.cfg:  cp conf/zoo_sample.cfg conf/zoo.cfg
+    - Navigate to the Zookeeper bin directory and start zookeeper <pre><code>zkServer.sh start</code></pre>
+13. In bin start the Airavata server and monitor log messages; This may require JAVA_HOME to be defined. Some configurations such as in  bin/zoo.cfg and bin/airavata-server.properties  may have to be adjusted if some ports are already in use. Ports need to be open as well.
+<pre><code>sh airavata-server-start.sh all</code></pre> (This will run the airavata server in the background in demon mode)<br>
+14. If you are in the target folder use given to start Airavata server;<br>
+<pre><code>sh apache-airavata-server-0.16-SNAPSHOT/bin/airavata-server-start.sh all</code></pre>
+15. To monitor the server starting up, view the airavata server log;<br>
+<pre><code>tail -f logs/airavata.log</code></pre>	
+16. For subsequent Airavata copies; in the local Airavata folder where source code is cloned do a git clone https://github.com/apache/airavata.git for the latest trunk.
+
+Next is <a href="PGA-Installation" target="_blank">PGA Installation on CentOS 7</a>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/Airavata-Upgrades.md
----------------------------------------------------------------------
diff --git a/0.16/Airavata-Upgrades.md b/0.16/Airavata-Upgrades.md
new file mode 100644
index 0000000..a06446e
--- /dev/null
+++ b/0.16/Airavata-Upgrades.md
@@ -0,0 +1,41 @@
+## Airavata Update
+
+1. In order to update Airavata with latest master code; go to the folder (Created in installation; LocalAiravata) initially created to clone Airavata.
+2. Within your local folder navigate to folder 'airavata' and execute <pre><code>git pull </code></pre>
+Hint: If you are in the wrong folder you would probably get message <pre><code>'fatal: Not a git repository (or any of the parent directories): .git'</code></pre>
+3. Now build the code 
+<pre><code> mvn clean install</code></pre>
+Hint: To avoid the 'tests on install' run <pre><code>mvn clean install -Dmaven.test.skip=true</code></pre>
+4. Once the build is success, stop the running Airavata server. You can either stop the java server using 
+<pre><code>kill -9 &#60;process ID&#62;</code></pre>
+OR<br>
+Navigate to bin folder where airavata server exists (LocalAiravata/apache-airavata-server-0.15-SNAPSHOT/bin). and stop the server
+<pre><code>./airavata-server.sh stop -force</code></pre>
+5. For references, back up the currently existing release
+<pre><code>mv apache-airavata-server-0.15-SNAPSHOT apache-airavata-server-0.15-SNAPSHOT-bk</code></pre>
+6. Copy the new release to your local folder (LocalAiravata)
+<pre><code>cp /&#60;path to created folder&#62;/LocalAiravata/airavata/distribution/target/apache-airavata-server-0.16-SNAPSHOT-bin.tar.gz .</code></pre>
+7. Un-tar the copied new release
+<pre><code>tar -xvf apache-airavata-server-0.16-SNAPSHOT-bin.tar.gz</code></pre>
+8. Navigate to the new bin folder and back up airavata-server.properties and gfac-config.yaml files.
+9. Copy your previously used airavata-server.properties from the backed up release to bin folder (This is the easiest way to get the properties file updated. If you prefer, you can change the new file manually. &#9786;)
+<pre><code>/&#60;your local path&#62;/LocalAiravata/LocalAiravata/apache-airavata-server-0.16-SNAPSHOT-bk/bin/airavata-server.properties .</code></pre>
+10. Copy your previously used gfac-config.yaml from the backed up release
+<pre><code>cp /&#60;your local path&#62;/LocalAiravata/apache-airavata-server-0.16-SNAPSHOT-bk/bin/gfac-config.yaml .</code></pre>
+11. Now compare with the new airavata-server.properties and gfac-config.yaml and make necessary changes in the copied files.
+Try <pre><code> diff airavata-server.properties airavata-server.properties-bk</code></pre>
+12. Check the path correctness of credential store keystore in airavata-server.properties file.
+<pre><code>credential.store.keystore.url=/&#60;your local path&#62;/LocalAiravata/airavata_sym.jks</code></pre>
+13. Go to lib folder and copy mySQL jar (mysql-connector-java-5.1.38-bin.jar) from old backed up lib to the new lib
+<pre><code>  cp /home/airavata/LocalAiravata/apache-airavata-server-0.16-SNAPSHOT-bk/lib/mysql-connector-java-5.1.38-bin.jar .</code></pre>
+14. Now restart airavata server in bin folder
+<pre><code>./airavata-server.sh start</code></pre>
+15. Airavata ready for job submissions!
+16. For PGA updating steps try <a href="../PGA-Upgrades">PGA Update</a>
+
+
+
+
+ 
+
+

http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/AiravataApi.md
----------------------------------------------------------------------
diff --git a/0.16/AiravataApi.md b/0.16/AiravataApi.md
new file mode 100644
index 0000000..db615a5
--- /dev/null
+++ b/0.16/AiravataApi.md
@@ -0,0 +1,77 @@
+## Apache Airavata API
+
+For Airavata API documentation please visit <a href="http://airavata.apache.org/api-docs/0.16/" target="_blank">Airavata 0.16 API Documentation</a>
+### <h3>Airavata APIs for Experiments & Projects</h3>
+
+|       Gateway Function/Feature        |           Airavata API            |           Description         |
+|:--------------------------------------|:----------------------------------|:------------------------------|
+<b style="color:blue;">Project</b>
+| Create a Project                          | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_createProject" target="_blank">createProject</a>                                      | Linked with Create Project in PGA.    |
+| Update Project                            | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_updateProject" target="_blank">updateProject</a>                                      | To update Project name and description.   |
+| Get a Project                             | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_getProject" target="_blank">getProject</a>                                            | Retrieve Project by providing the ID.           |
+| Search Project by Name                    | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_searchProjectsByProjectName" target="_blank">searchProjectsByProjectName</a>          | Search for Project by giving part or full project name.          |
+| Search Project by Desc                    | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_searchProjectsByProjectDesc" target="_blank">searchProjectsByProjectDesc</a>          | Search for Project by giving part or full project description.          |
+| Get all user Projects                     | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_getUserProjects" target="_blank">getUserProjects</a>                                  | Retrieve all Projects of a user.          |
+<b style="color:blue;">Experiment</b>
+| Create an Experiment                      | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_createExperiment" target="_blank">createExperiment</a>                                | Create an Experiment.          |
+| Update an Experiment                      | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_updateExperiment" target="_blank">updateExperiment</a>                                | Update ab Experiment. Experiments with CREATED exp-status can be updated.          |
+| Get an Experiment                         | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_getExperiment" target="_blank">getExperiment</a>                                      | Retrieve Experiment by providing the experiment ID.          |
+| Get Detailed Experiment                   | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_getDetailedExperimentTree" target="_blank">getDetailedExperimentTree</a>              | Retrieve detailed Experiment by providing the experiment ID.          |
+| Clone an Experiment                       | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_cloneExperiment" target="_blank">cloneExperiment</a>                                  | Clone an existing Experiment. Experiment with any exp-status can be cloned by providing the ID.          |
+| Cancel an Experiment                      | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_terminateExperiment" target="_blank">terminateExperiment</a>                          | Cancel an existing Experiment. Experiments with exp-statuses LAUNCHING or EXECUTING can be cancelled.           |
+| Search Experiment by Name                 | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_searchExperimentsByName" target="_blank">searchExperimentsByName</a>                  | Search Experiment by giving full or part of the name.          |
+| Search Experiment by Desc                 | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_searchExperimentsByDesc" target="_blank">searchExperimentsByDesc</a>                  | Search Experiment by giving full or part of the description.           |
+| Search Experiments by Application Name    | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_searchExperimentsByApplication" target="_blank">searchExperimentsByApplication</a>    | Search Experiment by giving the application name.           |
+| Search Experiment by Creation Time        | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_searchExperimentsByCreationTime" target="_blank">searchExperimentsByCreationTime</a>  | Search Experiment by giving creationTime period.           |
+| Get all user Experiments                  | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_getUserExperiments" target="_blank">getUserExperiments</a>                            | Search for all the experiments of a single user.          |
+| Get Experiments for a Project             | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_getExperimentsInProject" target="_blank">getExperimentsInProject</a>                  | Retrieve all the experiments in a particular Project.          |
+
+
+
+
+
+### <h3>Airavata APIs for Admin Dashboard</h3>
+   
+|           Admin Function/Feature              |              Airavata API             |                                          Description                                              |
+|:----------------------------------------------|:--------------------------------------|:------------------------------------------------------------------------------------------------  |
+<b style="color:blue;">Add Gateway</b>
+| Add a gateway                                 | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_addGateway" target="_blank">addGateway</a>        | Adding a new Gateway. |
+<b style="color:blue;">Credential Store</b>  
+| Generate a Token/SSH Key                      | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_generateAndRegisterSSHKeys" target="_blank">generateAndRegisterSSHKeys</a>            | Generate new SSH Key and Token.   |
+| Get all Credential Store Tokens               | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_getAllGatewaySSHPubKeys" target="_blank">getAllGatewaySSHPubKeys</a>               | Retrieve all the generated keys of a Gateway.              |
+| Remove a Token/SSH Key                        | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_deleteSSHPubKey" target="_blank">deleteSSHPubKey</a>                       | Select and delete a particular SSH Key Token pair.   |  
+<b style="color:blue;">Compute Resource (CR)</b>                                                                                            
+| Get all application deployed CRs              | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_getAllApplicationDeployments" target="_blank">getAllApplicationDeployments</a>          | Get all Application deployed Compute Resources.        |
+| Get a CR                                      | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_getComputeResource" target="_blank">getComputeResource</a>                    | Retrieve Compute Resource information by providing the resource ID.   |
+| Register CR                                   | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_registerComputeResource" target="_blank">registerComputeResource</a>               | Register a new Compute Resource. This is Super Admin Feature.|
+| Update CR                                     | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_updateComputeResource" target="_blank">updateComputeResource</a>                 | Retrieve an existing Compute Resource and update.|
+| Enable and Disable CR                         | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_getComputeResource" target="_blank">getComputeResource</a>    <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_updateComputeResource" target="_blank">updateComputeResource</a>    | Retrieve the CR and enable or disable through update. This is a Super Admin feature.| 
+| Delete a Queue                                | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_deleteBatchQueue" target="_blank">deleteBatchQueue</a>                      | Delete a selected Queue from the Compute Resource.      |
+<b style="color:blue;">Storage Resource (SR)</b> 
+| Get all SR Names                              | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_getAllStorageResourceNames" target="_blank">getAllStorageResourceNames</a>          | Retrieve all storage resources of the gateway.  |
+| Get a SR                                      | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_getStorageResource" target="_blank">getStorageResource</a>                    | Fetch Storage Resource by providing the Storage ID.   | 
+| Register a SR                                 | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_registerStorageResource" target="_blank">registerStorageResource</a>               | Register a new Storage Resource. This is a Super Admin Feature.|
+| Update a SR                                   | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_updateStorageResource" target="_blank">updateStorageResource</a>                 | Update and existing Storage Resource.|
+| Enable and Disable SR                         | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_getStorageResource" target="_blank">getStorageResource</a>    <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_updateStorageResource" target="_blank">updateStorageResource</a>    |Retrieve the SR and enable or disable through update. This is a Super Admin feature.|
+| Delete SR                                     | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_deleteStorageResource" target="_blank">deleteStorageResource</a>                 |Select and delete and existing Storage Resource. |
+| Delete Data Movement Interface of SR          | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_deleteDataMovementInterface" target="_blank">deleteDataMovementInterface</a>       |Delete a Data Movement Interface of a Storage Resource|
+<b style="color:blue;">Experiment Statistics</b>
+| Get Experiment Statistics                     | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_getExperimentStatistics" target="_blank">getExperimentStatistics</a>               | Displays experiments grouped by the experiment status and derived for the given date time range.  |
+<b style="color:blue;">Gateway Preferences</b>
+| Add CR Preference for a gateway               | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_addGatewayComputeResourcePreference" target="_blank"> addGatewayComputeResourcePreference</a>     ||     
+| Edit CR Preference                            | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_addGatewayComputeResourcePreference" target="_blank"> addGatewayComputeResourcePreference</a>     ||
+| Delete a CR Preference                        |  ||
+| Add SR Preference for a gateway               | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_addGatewayStoragePreference" target="_blank"> addGatewayStoragePreference</a>     || 
+| Edit SR Preference                            | <a href="http://airavata.apache.org/api-docs/0.16/airavata_api.html#Fn_Airavata_addGatewayStoragePreference" target="_blank"> addGatewayStoragePreference</a>     ||
+| Delete a SR Preference                        |      ||
+<b style="color:blue;">Other</b>
+| Get all Notices                               | noticesView                           | View all existing Notices.        |
+
+
+
+
+
+<br></br>
+If any questions or clarification regarding the API documentation please contact us through;
+<a href="http://airavata.apache.org/community/mailing-lists.html" target="_blank"><br>Airavata Mailing List</a> <br> OR<br>
+<a href="https://www.hipchat.com/gMDHyN1KM" target="_blank">HipChat</a>

http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/Application-CookBook.md
----------------------------------------------------------------------
diff --git a/0.16/Application-CookBook.md b/0.16/Application-CookBook.md
new file mode 100644
index 0000000..ae69e4e
--- /dev/null
+++ b/0.16/Application-CookBook.md
@@ -0,0 +1,43 @@
+## Applications to Run in Gateway
+
+### Few Applications Supported by Airavata
+This list contains a sub section of application supported via gateways linked to Airavata. 
+We can help you to run these in your own gateway.
+
+|  	Application  	|  		Availability  					|
+|:-----------------	|:-------------------------------------	|
+|  Abaqus			|	Comet								|
+|  Abaqus-6.13-3	|	Comet								|
+|  Abinit			|	BigRed, Bridges, Comet				|
+|  Amber_Sander		|	BigRed, Comet, Stampede				|
+|  AutoDock			|	BigRed, Karst						|
+|  AutoDock_Vina	|	Comet, Stampede						|
+|  CP2K				|	Comet, Stampede						|
+|  CPMD				|	Comet								|
+|  DDSCat			|	Comet								|
+|  DFTB+			|	Stampede							|
+|  Gamess			|	BigRed, Comet, Gordon, Stampede		|
+|  Gaussian			|	BigRed. Bridges, Comet, Gordon		|
+|  Gaussian16		|	Bridges								|
+|  Gromacs			|	BigRed, Bridges, Comet, Stampede	|
+|  Lammps			|	BigRed, Comet, Gordon, Stampede		|
+|  Molcas			|	Stampede KNL, Stampede				|
+|  NEK5000			|	BigRed								|
+|  NWChem			|	Comet, Stampede						|
+|  Phasta_P			|	Stampede							|
+|  PSI4.0			|	Comet								|
+|  QChem			|	Comet								|
+|  Quantum_Espresso	|	Comet, Bridges, JetStream, Stampede	|
+|  Tinker_Monte		|	Stampede							|
+|  Trinity			|	Karst								|
+|  WRF				|	Stampede							|
+
+
+
+### Application Inputs
+Inputs for all applications currently available in Airavata can be found <a href="https://iu.box.com/s/9ztdby709kso8siachz16svn2y511nn7" target="_blank">Here!</a>
+
+
+
+### Application Configuration
+For sample configurations please refer <a href="/Admin-Tutorials" target="_blank">Admin Tutorials</a>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/CPI.md
----------------------------------------------------------------------
diff --git a/0.16/CPI.md b/0.16/CPI.md
new file mode 100644
index 0000000..a1adde3
--- /dev/null
+++ b/0.16/CPI.md
@@ -0,0 +1,291 @@
+<body>
+<div class="container-fluid">
+<h1>Thrift module: sharing_cpi</h1>
+<table class="table-bordered table-striped table-condensed"><thead><th>Module</th><th>Services</th><th>Data types</th><th>Constants</th></thead>
+<tr>
+<td>sharing_cpi</td><td><a href="#Svc_SharingRegistryService">SharingRegistryService</a><br/>
+<ul>
+<li><a href="#Fn_SharingRegistryService_addChildGroupsToParentGroup">addChildGroupsToParentGroup</a></li>
+<li><a href="#Fn_SharingRegistryService_addUsersToGroup">addUsersToGroup</a></li>
+<li><a href="#Fn_SharingRegistryService_createDomain">createDomain</a></li>
+<li><a href="#Fn_SharingRegistryService_createEntity">createEntity</a></li>
+<li><a href="#Fn_SharingRegistryService_createEntityType">createEntityType</a></li>
+<li><a href="#Fn_SharingRegistryService_createGroup">createGroup</a></li>
+<li><a href="#Fn_SharingRegistryService_createPermissionType">createPermissionType</a></li>
+<li><a href="#Fn_SharingRegistryService_createUser">createUser</a></li>
+<li><a href="#Fn_SharingRegistryService_deleteDomain">deleteDomain</a></li>
+<li><a href="#Fn_SharingRegistryService_deleteEntity">deleteEntity</a></li>
+<li><a href="#Fn_SharingRegistryService_deleteEntityType">deleteEntityType</a></li>
+<li><a href="#Fn_SharingRegistryService_deleteGroup">deleteGroup</a></li>
+<li><a href="#Fn_SharingRegistryService_deletePermissionType">deletePermissionType</a></li>
+<li><a href="#Fn_SharingRegistryService_deleteUser">deleteUser</a></li>
+<li><a href="#Fn_SharingRegistryService_getDomain">getDomain</a></li>
+<li><a href="#Fn_SharingRegistryService_getDomains">getDomains</a></li>
+<li><a href="#Fn_SharingRegistryService_getEntity">getEntity</a></li>
+<li><a href="#Fn_SharingRegistryService_getEntityType">getEntityType</a></li>
+<li><a href="#Fn_SharingRegistryService_getEntityTypes">getEntityTypes</a></li>
+<li><a href="#Fn_SharingRegistryService_getGroup">getGroup</a></li>
+<li><a href="#Fn_SharingRegistryService_getGroupMembersOfTypeGroup">getGroupMembersOfTypeGroup</a></li>
+<li><a href="#Fn_SharingRegistryService_getGroupMembersOfTypeUser">getGroupMembersOfTypeUser</a></li>
+<li><a href="#Fn_SharingRegistryService_getGroups">getGroups</a></li>
+<li><a href="#Fn_SharingRegistryService_getListOfSharedGroups">getListOfSharedGroups</a></li>
+<li><a href="#Fn_SharingRegistryService_getListOfSharedUsers">getListOfSharedUsers</a></li>
+<li><a href="#Fn_SharingRegistryService_getPermissionType">getPermissionType</a></li>
+<li><a href="#Fn_SharingRegistryService_getPermissionTypes">getPermissionTypes</a></li>
+<li><a href="#Fn_SharingRegistryService_getUser">getUser</a></li>
+<li><a href="#Fn_SharingRegistryService_getUsers">getUsers</a></li>
+<li><a href="#Fn_SharingRegistryService_removeChildGroupFromParentGroup">removeChildGroupFromParentGroup</a></li>
+<li><a href="#Fn_SharingRegistryService_removeUsersFromGroup">removeUsersFromGroup</a></li>
+<li><a href="#Fn_SharingRegistryService_revokeEntitySharingFromGroups">revokeEntitySharingFromGroups</a></li>
+<li><a href="#Fn_SharingRegistryService_revokeEntitySharingFromUsers">revokeEntitySharingFromUsers</a></li>
+<li><a href="#Fn_SharingRegistryService_searchEntities">searchEntities</a></li>
+<li><a href="#Fn_SharingRegistryService_shareEntityWithGroups">shareEntityWithGroups</a></li>
+<li><a href="#Fn_SharingRegistryService_shareEntityWithUsers">shareEntityWithUsers</a></li>
+<li><a href="#Fn_SharingRegistryService_updateDomain">updateDomain</a></li>
+<li><a href="#Fn_SharingRegistryService_updateEntity">updateEntity</a></li>
+<li><a href="#Fn_SharingRegistryService_updateEntityType">updateEntityType</a></li>
+<li><a href="#Fn_SharingRegistryService_updateGroup">updateGroup</a></li>
+<li><a href="#Fn_SharingRegistryService_updatePermissionType">updatePermissionType</a></li>
+<li><a href="#Fn_SharingRegistryService_updatedUser">updatedUser</a></li>
+<li><a href="#Fn_SharingRegistryService_userHasAccess">userHasAccess</a></li>
+</ul>
+</td>
+<td></td>
+<td></code></td>
+</tr></table>
+<hr/><h2 id="Services">Services</h2>
+<h3 id="Svc_SharingRegistryService">Service: SharingRegistryService</h3>
+<div class="definition"><h4 id="Fn_SharingRegistryService_createDomain">Function: SharingRegistryService.createDomain</h4>
+<pre><code>string</code> createDomain(<code><a href="sharing_models.html#Struct_Domain">sharing_models.Domain</a></code> domain)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to create a new domain</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updateDomain">Function: SharingRegistryService.updateDomain</h4>
+<pre><code>bool</code> updateDomain(<code><a href="sharing_models.html#Struct_Domain">sharing_models.Domain</a></code> domain)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to update a domain</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteDomain">Function: SharingRegistryService.deleteDomain</h4>
+<pre><code>bool</code> deleteDomain(<code>string</code> domainId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to delete domain</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getDomain">Function: SharingRegistryService.getDomain</h4>
+<pre><code><a href="sharing_models.html#Struct_Domain">sharing_models.Domain</a></code> getDomain(<code>string</code> domainId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to retrieve a domain</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getDomains">Function: SharingRegistryService.getDomains</h4>
+<pre><code>list&lt;<code><a href="sharing_models.html#Struct_Domain">sharing_models.Domain</a></code>&gt;</code> getDomains(<code>i32</code> offset,
+                                       <code>i32</code> limit)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to get all domain.</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_createUser">Function: SharingRegistryService.createUser</h4>
+<pre><code>string</code> createUser(<code><a href="sharing_models.html#Struct_User">sharing_models.User</a></code> user)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to register a user in the system</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updatedUser">Function: SharingRegistryService.updatedUser</h4>
+<pre><code>bool</code> updatedUser(<code><a href="sharing_models.html#Struct_User">sharing_models.User</a></code> user)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to update existing user</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteUser">Function: SharingRegistryService.deleteUser</h4>
+<pre><code>bool</code> deleteUser(<code>string</code> domainId,
+                <code>string</code> userId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to delete user</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getUser">Function: SharingRegistryService.getUser</h4>
+<pre><code><a href="sharing_models.html#Struct_User">sharing_models.User</a></code> getUser(<code>string</code> domainId,
+                            <code>string</code> userId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to get a user</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getUsers">Function: SharingRegistryService.getUsers</h4>
+<pre><code>list&lt;<code><a href="sharing_models.html#Struct_User">sharing_models.User</a></code>&gt;</code> getUsers(<code>string</code> domainId,
+                                   <code>i32</code> offset,
+                                   <code>i32</code> limit)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to get a list of users in a specific domain.</p>
+<li>domainId : Domain id</li>
+<li>offset : Starting result number</li>
+<li>limit : Number of max results to be sent</li>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_createGroup">Function: SharingRegistryService.createGroup</h4>
+<pre><code>string</code> createGroup(<code><a href="sharing_models.html#Struct_UserGroup">sharing_models.UserGroup</a></code> group)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to create a new group</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updateGroup">Function: SharingRegistryService.updateGroup</h4>
+<pre><code>bool</code> updateGroup(<code><a href="sharing_models.html#Struct_UserGroup">sharing_models.UserGroup</a></code> group)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to update a group</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteGroup">Function: SharingRegistryService.deleteGroup</h4>
+<pre><code>bool</code> deleteGroup(<code>string</code> domainId,
+                 <code>string</code> groupId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to delete a group</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getGroup">Function: SharingRegistryService.getGroup</h4>
+<pre><code><a href="sharing_models.html#Struct_UserGroup">sharing_models.UserGroup</a></code> getGroup(<code>string</code> domainId,
+                                  <code>string</code> groupId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to get a group</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getGroups">Function: SharingRegistryService.getGroups</h4>
+<pre><code>list&lt;<code><a href="sharing_models.html#Struct_UserGroup">sharing_models.UserGroup</a></code>&gt;</code> getGroups(<code>string</code> domainId,
+                                         <code>i32</code> offset,
+                                         <code>i32</code> limit)
+</pre><p>API method to get groups in a domainId.</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_addUsersToGroup">Function: SharingRegistryService.addUsersToGroup</h4>
+<pre><code>bool</code> addUsersToGroup(<code>string</code> domainId,
+                     <code>list&lt;<code>string</code>&gt;</code> userIds,
+                     <code>string</code> groupId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to add list of users to a group</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_removeUsersFromGroup">Function: SharingRegistryService.removeUsersFromGroup</h4>
+<pre><code>bool</code> removeUsersFromGroup(<code>string</code> domainId,
+                          <code>list&lt;<code>string</code>&gt;</code> userIds,
+                          <code>string</code> groupId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to remove users from a group</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getGroupMembersOfTypeUser">Function: SharingRegistryService.getGroupMembersOfTypeUser</h4>
+<pre><code>list&lt;<code><a href="sharing_models.html#Struct_User">sharing_models.User</a></code>&gt;</code> getGroupMembersOfTypeUser(<code>string</code> domainId,
+                                                    <code>string</code> groupId,
+                                                    <code>i32</code> offset,
+                                                    <code>i32</code> limit)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to get list of child users in a group. Only the direct members will be returned.</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getGroupMembersOfTypeGroup">Function: SharingRegistryService.getGroupMembersOfTypeGroup</h4>
+<pre><code>list&lt;<code><a href="sharing_models.html#Struct_UserGroup">sharing_models.UserGroup</a></code>&gt;</code> getGroupMembersOfTypeGroup(<code>string</code> domainId,
+                                                          <code>string</code> groupId,
+                                                          <code>i32</code> offset,
+                                                          <code>i32</code> limit)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to get list of child groups in a group. Only the direct members will be returned.</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_addChildGroupsToParentGroup">Function: SharingRegistryService.addChildGroupsToParentGroup</h4>
+<pre><code>bool</code> addChildGroupsToParentGroup(<code>string</code> domainId,
+                                 <code>list&lt;<code>string</code>&gt;</code> childIds,
+                                 <code>string</code> groupId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to add a child group to a parent group.</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_removeChildGroupFromParentGroup">Function: SharingRegistryService.removeChildGroupFromParentGroup</h4>
+<pre><code>bool</code> removeChildGroupFromParentGroup(<code>string</code> domainId,
+                                     <code>string</code> childId,
+                                     <code>string</code> groupId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to remove a child group from parent group.</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_createEntityType">Function: SharingRegistryService.createEntityType</h4>
+<pre><code>string</code> createEntityType(<code><a href="sharing_models.html#Struct_EntityType">sharing_models.EntityType</a></code> entityType)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to create a new entity type</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updateEntityType">Function: SharingRegistryService.updateEntityType</h4>
+<pre><code>bool</code> updateEntityType(<code><a href="sharing_models.html#Struct_EntityType">sharing_models.EntityType</a></code> entityType)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to update entity type</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteEntityType">Function: SharingRegistryService.deleteEntityType</h4>
+<pre><code>bool</code> deleteEntityType(<code>string</code> domainId,
+                      <code>string</code> entityTypeId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to delete entity type</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getEntityType">Function: SharingRegistryService.getEntityType</h4>
+<pre><code><a href="sharing_models.html#Struct_EntityType">sharing_models.EntityType</a></code> getEntityType(<code>string</code> domainId,
+                                        <code>string</code> entityTypeId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to get an entity type</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getEntityTypes">Function: SharingRegistryService.getEntityTypes</h4>
+<pre><code>list&lt;<code><a href="sharing_models.html#Struct_EntityType">sharing_models.EntityType</a></code>&gt;</code> getEntityTypes(<code>string</code> domainId,
+                                               <code>i32</code> offset,
+                                               <code>i32</code> limit)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to get entity types in a domainId.</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_createEntity">Function: SharingRegistryService.createEntity</h4>
+<pre><code>string</code> createEntity(<code><a href="sharing_models.html#Struct_Entity">sharing_models.Entity</a></code> entity)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to register new entity</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updateEntity">Function: SharingRegistryService.updateEntity</h4>
+<pre><code>bool</code> updateEntity(<code><a href="sharing_models.html#Struct_Entity">sharing_models.Entity</a></code> entity)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to update entity</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteEntity">Function: SharingRegistryService.deleteEntity</h4>
+<pre><code>bool</code> deleteEntity(<code>string</code> domainId,
+                  <code>string</code> entityId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to delete entity</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getEntity">Function: SharingRegistryService.getEntity</h4>
+<pre><code><a href="sharing_models.html#Struct_Entity">sharing_models.Entity</a></code> getEntity(<code>string</code> domainId,
+                                <code>string</code> entityId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to get entity</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_searchEntities">Function: SharingRegistryService.searchEntities</h4>
+<pre><code>list&lt;<code><a href="sharing_models.html#Struct_Entity">sharing_models.Entity</a></code>&gt;</code> searchEntities(<code>string</code> domainId,
+                                           <code>string</code> userId,
+                                           <code>list&lt;<code><a href="sharing_models.html#Struct_SearchCriteria">sharing_models.SearchCriteria</a></code>&gt;</code> filters,
+                                           <code>i32</code> offset,
+                                           <code>i32</code> limit)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to search entities</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getListOfSharedUsers">Function: SharingRegistryService.getListOfSharedUsers</h4>
+<pre><code>list&lt;<code><a href="sharing_models.html#Struct_User">sharing_models.User</a></code>&gt;</code> getListOfSharedUsers(<code>string</code> domainId,
+                                               <code>string</code> entityId,
+                                               <code>string</code> permissionTypeId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to get a list of shared users given the entity id</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getListOfSharedGroups">Function: SharingRegistryService.getListOfSharedGroups</h4>
+<pre><code>list&lt;<code><a href="sharing_models.html#Struct_UserGroup">sharing_models.UserGroup</a></code>&gt;</code> getListOfSharedGroups(<code>string</code> domainId,
+                                                     <code>string</code> entityId,
+                                                     <code>string</code> permissionTypeId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to get a list of shared groups given the entity id</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_createPermissionType">Function: SharingRegistryService.createPermissionType</h4>
+<pre><code>string</code> createPermissionType(<code><a href="sharing_models.html#Struct_PermissionType">sharing_models.PermissionType</a></code> permissionType)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to create permission type</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updatePermissionType">Function: SharingRegistryService.updatePermissionType</h4>
+<pre><code>bool</code> updatePermissionType(<code><a href="sharing_models.html#Struct_PermissionType">sharing_models.PermissionType</a></code> permissionType)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to update permission type</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deletePermissionType">Function: SharingRegistryService.deletePermissionType</h4>
+<pre><code>bool</code> deletePermissionType(<code>string</code> domainId,
+                          <code>string</code> permissionTypeId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to delete permission type</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getPermissionType">Function: SharingRegistryService.getPermissionType</h4>
+<pre><code><a href="sharing_models.html#Struct_PermissionType">sharing_models.PermissionType</a></code> getPermissionType(<code>string</code> domainId,
+                                                <code>string</code> permissionTypeId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to get permission type</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getPermissionTypes">Function: SharingRegistryService.getPermissionTypes</h4>
+<pre><code>list&lt;<code><a href="sharing_models.html#Struct_PermissionType">sharing_models.PermissionType</a></code>&gt;</code> getPermissionTypes(<code>string</code> domainId,
+                                                       <code>i32</code> offset,
+                                                       <code>i32</code> limit)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to get list of permission types in a given domainId.</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_shareEntityWithUsers">Function: SharingRegistryService.shareEntityWithUsers</h4>
+<pre><code>bool</code> shareEntityWithUsers(<code>string</code> domainId,
+                          <code>string</code> entityId,
+                          <code>list&lt;<code>string</code>&gt;</code> userList,
+                          <code>string</code> perssionTypeId,
+                          <code>bool</code> cascadePermission)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to share an entity with users</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_revokeEntitySharingFromUsers">Function: SharingRegistryService.revokeEntitySharingFromUsers</h4>
+<pre><code>bool</code> revokeEntitySharingFromUsers(<code>string</code> domainId,
+                                  <code>string</code> entityId,
+                                  <code>list&lt;<code>string</code>&gt;</code> userList,
+                                  <code>string</code> perssionTypeId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to revoke sharing from a list of users</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_shareEntityWithGroups">Function: SharingRegistryService.shareEntityWithGroups</h4>
+<pre><code>bool</code> shareEntityWithGroups(<code>string</code> domainId,
+                           <code>string</code> entityId,
+                           <code>list&lt;<code>string</code>&gt;</code> groupList,
+                           <code>string</code> perssionTypeId,
+                           <code>bool</code> cascadePermission)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to share an entity with list of groups</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_revokeEntitySharingFromGroups">Function: SharingRegistryService.revokeEntitySharingFromGroups</h4>
+<pre><code>bool</code> revokeEntitySharingFromGroups(<code>string</code> domainId,
+                                   <code>string</code> entityId,
+                                   <code>list&lt;<code>string</code>&gt;</code> groupList,
+                                   <code>string</code> perssionTypeId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to revoke sharing from list of users</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_userHasAccess">Function: SharingRegistryService.userHasAccess</h4>
+<pre><code>bool</code> userHasAccess(<code>string</code> domainId,
+                   <code>string</code> userId,
+                   <code>string</code> entityId,
+                   <code>string</code> permissionTypeId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to check whether a user has access to a specific entity</p>
+<br/></div></div></body></html>
+

http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/Contact-Us.md
----------------------------------------------------------------------
diff --git a/0.16/Contact-Us.md b/0.16/Contact-Us.md
new file mode 100644
index 0000000..65f6966
--- /dev/null
+++ b/0.16/Contact-Us.md
@@ -0,0 +1,14 @@
+## Contact Us
+For your clarifications, Questions and Suggestions please contact us through
+<a href="http://airavata.apache.org/community/mailing-lists.html" target="_blank">Airavata mailing list</a>
+
+OR
+
+<a href="https://www.hipchat.com/gMDHyN1KM" target="_blank">HipChat</a>
+
+Issue Reporting
+Any issue encountered with Airavata or our gateway please log through;
+
+<a href="https://issues.apache.org/jira/browse/AIRAVATA-1889?jql=project%20%3D%20AIRAVATA" target="_blank">Airavata JIRA</a>
+<br></br>
+NOTE: If you don't have an account in Apache JIRA you have to create one prior to submitting issues.


Mime
View raw message