Repository: airavata-docs
Updated Branches:
  refs/heads/master 2cdb3e67b -> 9259dfe44


http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/FAQ.md
----------------------------------------------------------------------
diff --git a/0.16/FAQ.md b/0.16/FAQ.md
new file mode 100644
index 0000000..d0780db
--- /dev/null
+++ b/0.16/FAQ.md
@@ -0,0 +1,220 @@
+## <h2 id="AiravataCent"> FAQs</h2>
+
+
+<a href="#InstallFAQ">Installation FAQs</a></br>
+<a href="#ConfigFGAQ">Configuration FAQs</a></br>
+<a href="#userFAQ">User FAQs</a>
+
+### <h3 id="InstallFAQ">Installation FAQs </h3>
+<b class="blue"> Q1.</b> I have setup my own gateway and Airavata. When I log 
into the gateway I cannot create Compute resources. What should I do?</br>
+<b class="blue">Answer: </b> In your pga_config.php (in folder 
.../testdrive/app/config) under heading 'Portal Related Configurations' set 
'super-admin-portal' => false, to true.</br>
+<br><b class="blue">Q2.</b> I don't get notifications when users create new 
accounts in my gateway. Why?</br>
+<b class="blue">Answer: </b> That's because you have not defined an email 
address in <br>'admin-emails' => ['[email protected]','[email protected]']. Here you can 
add one or many.</br>
+<br><br><b class="blue"> Q3.</b>  I am not receiving email notifications from 
compute resources for job status changes. What should I do?</br>
+<b class="blue">Answer: </b> In airavata-server.properties please locate and 
set your email account information.
+<pre><code>email.based.monitor.host=imap.gmail.com
[email protected]
+email.based.monitor.password=zzzz
+email.based.monitor.folder.name=INBOX
+email.based.monitor.store.protocol=imaps (either imaps or pop3)</pre></code>
+<br><br><b class="blue"> Q4.</b>  In my Airavata log I have error messages like
+<br>ERROR org.apache.airavata.api.server.handler.AiravataServerHandler  - 
Error occurred while retrieving SSH public keys for gateway
+<br>ERROR 
org.apache.airavata.credential.store.server.CredentialStoreServerHandler  - 
Error occurred while retrieving credentials
+<br></br>What should I do?<br>
+<br><b class="blue">Answer: </b> This could be due to missing tables in your 
credential store database. Check whether CREDENTIALS and COMMUNITY_USER tables 
exits. If not create then using
+<pre><code>CREATE TABLE COMMUNITY_USER
+(
+        GATEWAY_ID VARCHAR(256) NOT NULL,
+        COMMUNITY_USER_NAME VARCHAR(256) NOT NULL,
+        TOKEN_ID VARCHAR(256) NOT NULL,
+        COMMUNITY_USER_EMAIL VARCHAR(256) NOT NULL,
+        PRIMARY KEY (GATEWAY_ID, COMMUNITY_USER_NAME, TOKEN_ID)
+);
+</pre></code>
+<pre><code>CREATE TABLE CREDENTIALS
+(
+        GATEWAY_ID VARCHAR(256) NOT NULL,
+        TOKEN_ID VARCHAR(256) NOT NULL,
+        CREDENTIAL BLOB NOT NULL,
+        PORTAL_USER_ID VARCHAR(256) NOT NULL,
+        TIME_PERSISTED TIMESTAMP DEFAULT NOW() ON UPDATE NOW(),
+        PRIMARY KEY (GATEWAY_ID, TOKEN_ID)
+);
+</pre></code>
+<br><br><b class="blue"> Q5.</b>  I cannot login to my Compute Resource and 
launch jobs from Airavata using the SSH key I generated. What should I do?
+<br><b class="blue">Answer: </b> Steps to use generated SSH key<br>
+        - Generate SSH key + token using Credential Store<br>
+        - Add the generated token to your resource through PGA --> Admin 
Dashboard --> Gateway Preferences<br>
+        - Add the generated SSH key<br>
+
+<br><b class="blue"> Q6.</b> When installing PGA in MAC i got below error 
after updating the composer.
+       <br>- Error<br>
+       Mcrypt PHP extension required.<br>
+       Script php artisan clear-compiled handling the post-update-cmd event 
returned with an error<br>
+               [RuntimeException]<br>
+               Error Output:
+<br><b class="blue">Answer: </b>
+       Install mcrypt installation;
+       <a 
href="http://coolestguidesontheplanet.com/install-mcrypt-php-mac-osx-10-10-yosemite-development-server/";
 target="_blanks">mcrypt Installation Steps</a>
+
+<br><b class="blue"> Q7.</b> After following the required steps only the home 
page is working and some images are not shown properly.
+    <br><b class="blue">Answer: </b>If you are facing this behavior first 
check whether you have enabled mod_rewrite module in apache webserver.
+    <br>And also check whether you have set AllowOverride All in the Vhost 
configuration file in apache web server. <br>(e.g file location is 
/etc/apache2/sites-available/default and there should be two places where you 
want to change)
+<br><pre><code>
+<VirtualHost *:80>
+    ServerAdmin [email protected]
+    DocumentRoot /var/www/html/portal/public
+    ServerName pga.example.com
+    <Directory "/var/www/html/portal/public">
+       AllowOverride all
+    </Directory>
+    ErrorLog logs/pga_error_log
+    CustomLog logs/pga--access_log common
+</VirtualHost></code></pre>
+    <br>
+<br><b class="blue"> Q8.</b> I get the Error message Permission Denied to 
app/storage directory.<br>
+    <br><b class="blue">Answer: </b>Execute the following command and grant 
all permissions; <pre><code> sudo chmod -R 777 app/storage</code></pre>
+
+<br><b class="blue"> Q9.</b> In Ubuntu environment when executing sudo 
composer update it fails with message "Mcrypt PHP extension required".
+ <br><b class="blue">Answer: </b>To fix this install PHP mcrypt extension by 
following the below steps;
+ <pre><code>sudo apt-get install php5-mcrypt</code></pre>
+  Locate mcrypt.so ,to get its location
+  Locate mcrypt.ini and open the mcrypt.ini file
+    <pre><code>sudo pico /etc/php5/mods-available/mcrypt.ini</code></pre>
+  Change the at line a extension=<location of the mcrypt.so file> 
eg:/usr/lib/php5/20121212/mcrypt.so Save changes.
+  Execute the command:  <pre><code>sudo php5enmod mcrypt</code></pre>
+  Now restart the apache server again and test PGA web-interface
+
+<br><b class="blue"> Q10.</b> When tried to login or create a new user account 
an Error is thrown which is similar to PHP Fatal error:  SOAP-ERROR: Parsing 
WSDL: Couldn't load from...
+    <br><b class="blue">Answer: </b> If you face this kind of an error first 
check whether you have enabled PHP SOAP and OpenSSL extensions. If even after 
enabling them the issue is still occurring try updating the PHP OpenSSL 
extension. (Using command like yum update openssl)
+    
+<br><b class="blue"> Q11.</b> If you are seeing an error similar to following 
in your airavata.log <br>
+Error: ERROR 
org.apache.airavata.registry.core.app.catalog.impl.StorageResourceImpl  - 
Error while retrieving storage resource...
+       javax.persistence.NoResultException: Query "SELECT p FROM 
StorageResource p WHERE p.storageResourceId =:param0" selected no result, but 
expected unique result.
+<br><b class="blue">Answer: </b> Add storage resource ID in to the 
pga_config.php in your gateway code/app/config directory.  
+         
+<br><b class="blue"> Q12.</b> I am getting error <br>
+2016-05-19 16:17:08,225 [main] ERROR org.apache.airavata.server.ServerMain  - 
Server Start Error:
+java.lang.RuntimeException: Failed to create database connection pool. <br>
+
+What should i do?
+<br><b class="blue">Answer: </b> Airavata cannot create database connection 
because the mysql jar is not existing. Please follow step 8 of documentation in 
Installation --> Airavata --> Airavata Installation
+
+### <h3 id="ConfigFGAQ">Configuration FAQs</h3>
+<br><b class="blue"> Q1 </b> What each application input property mean? </br>
+<b class="blue">Answer: </b> </br>
+    - <b>Name:</b> </br>
+    Identifier of the application input</br>
+    - <b>Value:</b></br> 
+    This could be a STRING value or it can also be used to set input file 
name.</br>
+    - <b>Type: </b></br>
+    Input type, List contain STRING, INTEGER, FLOAT, URI, STDOUT and 
STDERR</br>
+    - <b>Application Arguments: </b></br>
+    These are are the characters you would want on commandline in job 
execution for each input file or character input.</br>
+    - <b>Standard Input: </b></br>
+    Futuristic property and not in real use at the moment</br>
+    -<b> User Friendly Description: </b></br>
+    A description about the input to the gateway user. This will be displayed 
for users at experiment creation.</br>
+    - <b>Input Order: </b></br>
+    this is a number field. This will be the order inputs displayed in 
experiment creation.</br>
+    - <b>Data is Staged:</b></br>
+    - <b>Is the Input Required: </b></br>
+    Futuristic property and not in real use at the moment. Whether set to true 
or false all inputs are currently treated as mandatory.</br>
+    - <b>Required in Commandline:</b></br> 
+    When this is set to true the arguments and the input file or the value 
will be available in job execution commandline in job script.</br>
+    - <b>Meta Data:</b></br>
+
+<br><b class="blue"> Q2 </b> Application Output Properties</br>
+<b class="blue">Answer: </b>
+<b>Add Application Output</b></br>
+    - <b>Name:</b></br> 
+    This is the label for the output.</br>
+    - <b>Value:</b></br>
+    This would be the actual name of the output airavata brings back to the 
PGA.</br>
+    - <b>Type:</b></br>
+    Tye of the output. This is mostly depended on the application. To 
troubleshoot for almost all applications define STDOUT and STDERR</br>
+    - <b>Application Argument:</b></br>
+    This would be arguments for outputs need to be in commandline.</br>
+    - <b>Data Movement: </b></br>
+    Futuristic property and not in real use at the moment. Whether set to true 
or false all outputs are currently brought back to PGA.</br>
+    - <b>Is the Output required?:</b></br>
+    - <b>Required on command line?:</b></br>
+    When this is set to true the arguments and the output file or the value 
will be available in job execution commandline in job script.</br>
+    - <b>Location:</b></br>
+    - <b>Search Query:</b></br>        
+
+<br><b class="blue"> Q3 </b> How to make input file available as an 
executable?</br>
+<b class="blue">Answer: </b><br>
+    - Input files defined are copied to the experiment working directory.</br>
+    - Input files will be available in commandline when 'Required on 
Commandline' = true</br>
+    - To add a commandline argument for a input file add 'Application 
Argument' for each input file. This will also define the order of files in 
commandline.</br>
+
+<br><b class="blue"> Q4 </b> In Application Interface what is the use of 
'Enable Optional File Inputs' </br>
+<b class="blue">Answer: </b></br>
+    - By setting 'Enable Optional File Inputs' = true user can add none or 
many input files at experiment creation.</br>
+    - In Airavata any input file required for the application to execute need 
to be defined as a separate input.</br>
+    - When inputs are defined they are treated as 'Mandatory' inputs.</br>
+
+<br><b class="blue"> Q5 </b> Where do I add remote resource execution 
commands?</br>
+<b class="blue">Answer: </b>In Admin Dashboard --> Application Deployment </br>
+- Add module load commands</br>
+- Pre and post job commands</br>
+- Environment variables
+
+### <h3 id="userFAQ"> User FAQs </h3>
+<b class="blue"> Q1 </b> What is the Project? </br>
+<b class="blue">Answer: </b> </br>
+    - Project is simply a collection of experiments. </br>
+    - When creating an experiment it will be under the project you select.</br>
+    - Projects can be shared with fellow gateway users. </br>
+    - When the project is shared all experiments in the project will be shared 
as well.
+
+<br><b class="blue"> Q2 </b> Where can I get test inputs? <br/>
+<b class="blue">Answer: </b> If you need test inputs try downloading from <a 
href="https://iu.box.com/s/9ztdby709kso8siachz16svn2y511nn7"; 
target="_blank">Test Input Files</a> <br/>
+
+<br><b class="blue"> Q3 </b> Do I need to provide values for wall-time, node 
count and CPU count? OR can I go ahead with the given default values? <br/>
+<b class="blue">Answer: </b> Default values are given to make life little easy 
for users. But depending on the job you should change the values. </br>E.g.: If 
you need only two or less cores than 16 better to change. If you need more 
wall-time change it, etc....<br/>
+       
+       
+<br><b class="blue"> Q4 </b> What can I do with email Notifications in 
experiment? <br/>
+<b class="blue">Answer: </b> Submitting a job from PGA does not guarantee job 
getting executed in the remote resource right away. If you add your email 
address, when the job starts and completes an email will be sent to you from 
the remote resource.<br/>
+
+<br><b class="blue"> Q5 </b> Why 'Save' and 'Save and Launch'? <br>
+<b class="blue">Answer: </b> User has the option of either create and 'Save' 
the experiment for later launch at remote resource <br/>Or <br/>
+               can directly 'Save and Launch' at once.<br/>
+
+<br><b class="blue"> Q6 </b> How do I monitor progress?<br/>
+<b class="blue">Answer: </b> When the experiment is launched navigate to 
Experiment Summary Page.
+               There the experiment and job status will be present.
+               You can monitor the experiment and job status changes. Refresh 
the status using 'Refresh' icon on top  of the summary page.<br/>
+
+<br><b class="blue"> Q7 </b> How do I view/download my outputs? <br/>
+<b class="blue">Answer: </b> Same way you monitor the experiment progress! 
+               <br/>For each experiment inputs can be downloaded from<br/>
+               - Experiment Summary page<br/>
+               - From 'Storage' at the top menu. Here you need to know the 
Project the experiment belongs to. 
+               <br/> Once you locate the project you can browse for your 
experiment. <br/>
+
+<br><b class="blue"> Q8 </b> I want to bring back all the outputs generated by 
my job. How?<br/>
+<b class="blue">Answer: </b> You need to request your gateway admin to simply 
set Archive to 'true' in respective application interface in Admin Dashboard. 
Then all the files in the working directory will be brought back to PGA. This 
flag is set at gateway level not at individual user level.
+
+<br><b class="blue"> Q9 </b> I want to cancel my experiment. How?<br/>
+<b class="blue">Answer: </b> Navigate to experiment Summary and click 'Cancel' 
button.
+       Experiments only in operation (LAUNCHED, EXECUTING experiment statuses) 
can be cancelled.
+
+<br><b class="blue"> Q10 </b> 2. When I cancel do I still receive any outputs 
generated?<br/>
+<b class="blue">Answer: </b> Files will be not transferred from the remote 
resource if the experiment is cancelled. However, if the output files were 
transferred to PGA data directories prior to the cancel request then they will 
be displayed.
+
+<br><b class="blue"> Q11 </b> How can I run same application with different 
different inputs?<br/>
+<b class="blue">Answer: </b> Simply clone an existing experiment and change 
the input files and launch.
+
+<br><b class="blue"> Q12 </b> I want to change the wall-time of my experiment 
before launch. How can I do?<br/>
+<b class="blue">Answer: </b> Experiments in CREATED state can be modified 
through Experiment Summary page. Click 'Edit' change values and Save or Save 
and Launch.
+
+       
+       
+
+
+
+
+       
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/Gateway-Configurations.md
----------------------------------------------------------------------
diff --git a/0.16/Gateway-Configurations.md b/0.16/Gateway-Configurations.md
new file mode 100644
index 0000000..103a31b
--- /dev/null
+++ b/0.16/Gateway-Configurations.md
@@ -0,0 +1,124 @@
+## PGA Configurations
+### You Need to Have
+1. Airavata & PGA installed and running.
+2. Tenant created in WSO2 IS hosted by you or Airavata team.
+3. Administrator privileges to the gateway. (How do you know? - Can you view 
Admin Dashboard and view buttons to create applications)
+<br>
+<br>
+### Apache Airavata Component Configuration
+1. For this we use 'Admin Dashboard'
+2. Gateway Admin need to configure;<br>
+       - <a href="#CompResource">Compute Resources</a><br>
+       - <a href="#StoreResource">Storage Resources</a><br>
+       - <a href= "#Preference">Resource Preferences</a><br>
+       - <a href= "#AppCatalog">Application Catalog</a><br>
+               - Application Module<br>
+               - Application Interface<br>
+               - Application Deployment<br>
+       - <a href= "#Credentials">Credential Store</a>
+               - Generate Credential Store Token + SSH Key.
+               - Add these to authorized key files and into resource 
preferences.
+<br>
+<br>
+###<h3 id="CompResource">Compute Resources</h3>
+1. Navigate to Admin Dashboard &#8658; Compute Resources &#8658; Register
+2. Add Host Name, Description and create the resource.
+3. Then keep adding information on rest of the appeared tabs.
+       - Queues (Queue name is uniqie and cannot be updated. Can delete and 
create new if required)
+       - File Systems (This is only for information capturing for future use. 
Currently this information is not used)
+       - Job Submission Interfaces
+       - Data Movement Interfaces
+5. Similarly you can add multiple compute resources in to your gateway by 
selecting 'Register' from the left-hand-side menu.
+6. To view the added compute resources navigate to Admin Dashboard &#8658; 
Compute Resource &#8658; Browse
+7. All the resources will be listed. Gateway admin can view, edit, delete and 
enable and disable them.
+<br>
+<br>
+###<h3 id="StoreResource">Storage Resources</h3>
+1. Navigate to Admin Dashboard &#8658; Storage Resources &#8658; Register
+2. Add Storage Name, Description and create the resource.
+3. Then add data storage information in
+       - Data Movement Interfaces
+5. Similarly you can add multiple storage resources in to your gateway by 
selecting 'Register' from the left-hand-side menu.
+6. To view the added resources navigate to Admin Dashboard &#8658; Storage 
Resources &#8658; Browse
+7. All the resources will be listed. Gateway admin can view, edit, delete them.
+<br>
+<br>
+###<h3 id="Preference">GatewayPreferences for Resources</h3>
+1. Navigate Admin Dashboard &#8658; Gateway Profile
+2. Both compute resource and storage resource specific preferences are defined 
here.
+3. To add compute resource related preferences click "Add a Compute Resource 
Preference" and select the resource from the drop-down list.
+4. Add/select preferred options and click "Set preferences".
+<br>Repeat this for all the resources used within the gateway.
+4. For each compute resource, gateway admin need to specify;
+       - Preferences can be overridden by Airavata - Yes/No?
+       - Resource login name
+       - Preferred job submission and data movement protocols
+       - Preferred queue
+       - Scratch location
+       - Project allocation number
+       - Resource specific credential store token (When added Base Credential 
Store Token is not valid for the specific resource)
+5. For adding storage resource preference click "Add a Storage Resource 
Preferences", and rest is similar to adding a compute resource preference.
+6. For a gateway currently when a storage resource is selected, that resource 
ID need to be added in to the pga_config.php file in config folder of the 
hosted gateway.
+7. For storage resource preference, gateway admin need to add;
+       - Login username
+       - File System Root Location
+       - Resource Specific Credential Store Token
+8. Apart from adding preference the same interface is used to assign a 'Base 
Credential Store Token". If this is added this is the token used across the 
gateway for communication with all the compute resources and storage resource.
+<br>
+<br>
+### <h3 id="AppCatalog">Application Catalog</h3>
+1. Gateway admin add applications in to the gateway. Adding an application is 
a 3 step process.
+2. Admin need to add application module, interface and deployment information 
in order to launch specific application jobs on compute resources.
+3. Relationship between application module, interface and deployments.
+![Screenshot](img/AppCatalog.png)
+4. What each step means?
+       - <b class="blue">Application Module</b>
+               - Navigation: Admin Dashboard &#8658; App Catalog &#8658; Module
+               - This is the simple introduction of the application; Name, 
Version and Description.
+               - Click 'Create a New Application Module', provide information 
and create. On creation Application Module ID will be generated for the module.
+               - All existing modules are listed; Search by name is available 
for a particular module.
+               - Gateway admin can edit, delete existing modules.
+               - Deleting a module will be restricted if it has application 
interfaces and deployments linked.
+       - <b class="blue">Application interface</b>
+               - Navigation: Admin Dashboard &#8658; App Catalog &#8658; 
Interface
+               - Application interface defines the required inputs, outputs 
produced and their characteristics.
+               - Click on 'Create a New Application Interface', provide 
information and create. On creation Application Interface ID will be generated 
for the module.
+        - All available interfaces are also listed; admin has the option of 
searching for a particular interface by providing the name in the search.
+        - Gateway admin can edit, delete existing interfaces.
+        - Gateway admin cal also clone an existing interface in order to 
create a new similar interface with slight changes.
+       - <b class="blue">Application deployment</b>
+               - Navigation: Admin Dashboard &#8658; App Catalog &#8658; 
Deployment
+                       - Application deployment describes application 
deployment details on a specific resource.
+                       - For an application for each resource there is a 
separate deployment.
+                       - A single application can be deployed in multiple 
resources.
+                       - Multiple application modules can be deployed in a 
single resource. E.g: Gaussian09 and Gaussian16 both exists in bridges.psc.edu 
and they both use same application interface.
+<br>
+<br>
+### <h3 id="Credentials">Credential Store</h3>
+1. Navigation: Admin Dashboard &#8658; Credential Store
+2. This interface is used to generate SSH key + token pairs.
+3. These generated keys can be added in to the authorized key files in each 
resource for SSH key based communication.
+4. Generated key can be either assigned at gateway level; one key + token pair 
 for all the resources OR have separate key for each resource.
+5. SSH keys are used for communication with compute resources, storage 
resources and WSO2 identity server.
+
+### <h3 id="Preference">WSO2 IS Configuration</h3>
+1. Setting up WSO2 IS for the new gateway.
+2. Once PGA is cloned all information related to user identity will be in 
app/config/pga_config.php. No modifications required for users who are using    
     hosted IS.
+3. For user identity management we could either use Airavata WSO2 IS or users 
own WSO2 IS.
+4. Download WSO2 Identity Server 5.0 from 
http://product-dist.wso2.com/products/identity-server/5.0.0/wso2is-5.0.0.zip
+5. Extract the downloaded IS binary archive to a location <IS_HOME>.
+6. Set JAVA_HOME variable and add jdk bin directory to the PATH variable.
+7. Open <IS_HOME>/repository/conf/carbon.xml and change the following property 
to false
+&#60;HideAdminServiceWSDLs&#62;false&#60;/HideAdminServiceWSDLs&#62;
+8. Execute the following command to run the server
+sh <IS_HOME>/bin/wso2server.sh
+You should be able to login to the Identity Server Web App using your browser 
with url http://localhost:9443/carbon . Default admin credentials are username: 
admin, password: admin
+9. For more information regarding WSO2 Identity Server refer <a 
href="https://docs.wso2.org/display/IS460/Deploying+in+Production"; 
target="_blank">WSO2 IS Server</a>
+<br>Gateway admin will be provided with;
+       - Domain URL for the Gateway
+       - Admin User name
+
+
+
+       
+

http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/Models.md
----------------------------------------------------------------------
diff --git a/0.16/Models.md b/0.16/Models.md
new file mode 100644
index 0000000..c470dac
--- /dev/null
+++ b/0.16/Models.md
@@ -0,0 +1,292 @@
+<body>
+<div class="container-fluid">
+<h1>Thrift module: sharing_models</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_models</td><td></td>
+<td><a href="#Struct_Domain">Domain</a><br/>
+<a href="#Struct_Entity">Entity</a><br/>
+<a href="#Enum_EntitySearchField">EntitySearchField</a><br/>
+<a href="#Struct_EntityType">EntityType</a><br/>
+<a href="#Enum_GroupCardinality">GroupCardinality</a><br/>
+<a href="#Enum_GroupChildType">GroupChildType</a><br/>
+<a href="#Struct_GroupMembership">GroupMembership</a><br/>
+<a href="#Enum_GroupType">GroupType</a><br/>
+<a href="#Struct_PermissionType">PermissionType</a><br/>
+<a href="#Enum_SearchCondition">SearchCondition</a><br/>
+<a href="#Struct_SearchCriteria">SearchCriteria</a><br/>
+<a href="#Struct_Sharing">Sharing</a><br/>
+<a href="#Struct_SharingRegistryException">SharingRegistryException</a><br/>
+<a href="#Enum_SharingType">SharingType</a><br/>
+<a href="#Struct_User">User</a><br/>
+<a href="#Struct_UserGroup">UserGroup</a><br/>
+</td>
+<td><code><a 
href="#Const_DO_NOT_SET_AT_CLIENTS_ID">DO_NOT_SET_AT_CLIENTS_ID</a></code><br/>
+</code></td>
+</tr></table>
+<hr/><h2 id="Constants">Constants</h2>
+<table class="table-bordered table-striped 
table-condensed"><thead><th>Constant</th><th>Type</th><th>Value</th></thead>
+<tr 
id="Const_DO_NOT_SET_AT_CLIENTS_ID"><td><code>DO_NOT_SET_AT_CLIENTS_ID</code></td><td><code>string</code></td><td><code>"DO_NOT_SET_AT_CLIENTS_ID"</code></td></tr></table><hr/><h2
 id="Enumerations">Enumerations</h2>
+<div class="definition"><h3 id="Enum_GroupCardinality">Enumeration: 
GroupCardinality</h3>
+<p>This is an system internal enum used to define single user groups and multi 
users groups. Every user is also
+considered as a group in it's own right for implementation ease</p>
+
+<br/><br/><table class="table-bordered table-striped table-condensed">
+<tr><td><code>SINGLE_USER</code></td><td><code>0</code></td><td>
+</td></tr>
+<tr><td><code>MULTI_USER</code></td><td><code>1</code></td><td>
+</td></tr>
+</table></div>
+<div class="definition"><h3 id="Enum_GroupType">Enumeration: GroupType</h3>
+<p>Group types can be either user level or domain level groups.</p>
+
+<br/><br/><table class="table-bordered table-striped table-condensed">
+<tr><td><code>DOMAIN_LEVEL_GROUP</code></td><td><code>0</code></td><td>
+</td></tr>
+<tr><td><code>USER_LEVEL_GROUP</code></td><td><code>1</code></td><td>
+</td></tr>
+</table></div>
+<div class="definition"><h3 id="Enum_GroupChildType">Enumeration: 
GroupChildType</h3>
+<p>System internal data type to match group child types</p>
+
+<br/><br/><table class="table-bordered table-striped table-condensed">
+<tr><td><code>USER</code></td><td><code>0</code></td><td>
+</td></tr>
+<tr><td><code>GROUP</code></td><td><code>1</code></td><td>
+</td></tr>
+</table></div>
+<div class="definition"><h3 id="Enum_EntitySearchField">Enumeration: 
EntitySearchField</h3>
+<p>This list of fields that can be used to search entities</p>
+<li>NAME : Name of the entity</li>
+<li>DESCRIPTION : Description of the entity</li>
+<li>FULL_TEXT : Full text field of the entity</li>
+<li>PARENT_ENTITY_ID : Parent entity id of the entity</li>
+<li>OWNER_ID : Owner of the entity</li>
+<li>CREATED_TIME : Created time of the entity</li>
+<li>UPDATED_TIME : Updated time of the entity</li>
+ <li>ENTITY_TYPE_ID : Entity type ID</li>
+
+<br/><br/><table class="table-bordered table-striped table-condensed">
+<tr><td><code>NAME</code></td><td><code>0</code></td><td>
+</td></tr>
+<tr><td><code>DESCRIPTION</code></td><td><code>1</code></td><td>
+</td></tr>
+<tr><td><code>FULL_TEXT</code></td><td><code>2</code></td><td>
+</td></tr>
+<tr><td><code>PARRENT_ENTITY_ID</code></td><td><code>3</code></td><td>
+</td></tr>
+<tr><td><code>OWNER_ID</code></td><td><code>4</code></td><td>
+</td></tr>
+<tr><td><code>PERMISSION_TYPE_ID</code></td><td><code>5</code></td><td>
+</td></tr>
+<tr><td><code>CREATED_TIME</code></td><td><code>6</code></td><td>
+</td></tr>
+<tr><td><code>UPDATED_TIME</code></td><td><code>7</code></td><td>
+</td></tr>
+  <tr>
+   <td><code>ENTITY_TYPE_ID</code></td>
+   <td><code>8</code></td>
+   <td>
+   </td>
+  </tr>
+</table></div>
+<div class="definition"><h3 id="Enum_SearchCondition">Enumeration: 
SearchCondition</h3>
+<p>Different search operators that can be used with the entity search 
fields</p>
+ <li>EQUAL : Simply matches for equality. Applicable for name, and parent 
entity id</li>
+<li>LIKE : Check for the condition %$FIELD% condition. Applicable for name, 
and description</li>
+<li>FULL_TEXT : Does a full text search. Only applicable for the FULL_TEXT 
field.</li>
+<li>GTE : Greater than or equal. Only applicable for created time and updated 
time.</li>
+<li>LTE : Less than or equal. Only applicable for created time and updated 
time.</li>
+ <li>NOT : Not operator. Only applicable for name, permission type id, parent 
entity id and owner id.</li>
+
+<br/><br/><table class="table-bordered table-striped table-condensed">
+<tr><td><code>EQUAL</code></td><td><code>0</code></td><td>
+</td></tr>
+<tr><td><code>LIKE</code></td><td><code>1</code></td><td>
+</td></tr>
+<tr><td><code>FULL_TEXT</code></td><td><code>2</code></td><td>
+</td></tr>
+<tr><td><code>GTE</code></td><td><code>3</code></td><td>
+</td></tr>
+<tr><td><code>LTE</code></td><td><code>4</code></td><td>
+</td></tr>
+  <tr>
+   <td><code>NOT</code></td>
+   <td><code>5</code></td>
+   <td>
+   </td>
+  </tr>
+</table></div>
+<div class="definition"><h3 id="Enum_SharingType">Enumeration: SharingType</h3>
+<p>This is an internal enum type for managing sharings</p>
+
+<br/><br/><table class="table-bordered table-striped table-condensed">
+<tr><td><code>DIRECT_NON_CASCADING</code></td><td><code>0</code></td><td>
+</td></tr>
+<tr><td><code>DIRECT_CASCADING</code></td><td><code>1</code></td><td>
+</td></tr>
+<tr><td><code>INDIRECT_CASCADING</code></td><td><code>2</code></td><td>
+</td></tr>
+</table></div>
+<hr/><h2 id="Structs">Data structures</h2>
+<div class="definition"><h3 id="Struct_Domain">Struct: Domain</h3>
+<table class="table-bordered table-striped 
table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default
 value</th></thead>
+<tr><td>1</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td><code>"DO_NOT_SET_AT_CLIENTS_ID"</code></td></tr>
+<tr><td>2</td><td>name</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>3</td><td>description</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>4</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>5</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
+</table><br/><p>Domain is the entity that enables multi-tenency in this 
componenet. Every tenant will be
+operating separately it's own silo which is identified by the domain id. In 
the current implementation domain id
+will be same as the domain name</p>
+<li>domainId : Will be generated by the server based on the domain name</li>
+<li><b>name</b> : A single word name that identifies the domain e.g seagrid, 
ultrascan</li>
+<li>description : A short description for the domain</li>
+<li>createdTime : Will be set by the system</li>
+<li>updatedTime : Will be set by the system</li>
+
+<br/></div><div class="definition"><h3 id="Struct_User">Struct: User</h3>
+<table class="table-bordered table-striped 
table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default
 value</th></thead>
+<tr><td>1</td><td>userId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>2</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>3</td><td>userName</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>4</td><td>firstName</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>5</td><td>lastName</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>6</td><td>email</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>7</td><td>icon</td><td><code>binary</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>8</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>9</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
+</table><br/><p>User is the model used to register a user in the system. 
Minimal user information will be required to provide
+regarding the user.</p>
+<li><b>userId</b> : User id provided by the client</li>
+<li><b>domainId</b> : Domain id for that user</li>
+<li><b>userName</b> : User name for the user</li>
+<li><b>firstName</b> : First name of the user</li>
+<li><b>lastName</b> : Last name of the user</li>
+<li><b>email</b> : Email address of the user</li>
+<li>icon : A binary field for storing the user icon</li>
+<li>createdTime : If client provides this value then the system will use it if 
not the current time will be set</li>
+<li>updatedTime : If client provides this value then the system will use it if 
not the current time will be set</li>
+
+<br/></div><div class="definition"><h3 id="Struct_UserGroup">Struct: 
UserGroup</h3>
+<table class="table-bordered table-striped 
table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default
 value</th></thead>
+<tr><td>1</td><td>groupId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>2</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>3</td><td>name</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>4</td><td>description</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>5</td><td>ownerId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>6</td><td>groupType</td><td><code><a 
href="#Enum_GroupType">GroupType</a></code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>7</td><td>groupCardinality</td><td><code><a 
href="#Enum_GroupCardinality">GroupCardinality</a></code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>8</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>9</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
+</table><br/><p>User group is a collection of users.</p>
+ <li><b>groupId</b> : Group id provided by the client</li>
+ <li><b>domainId</b> : Domain id for this user group</li>
+ <li><b>name</b> : Name for the user group. should be one word</li>
+ <li>description : Short description for the group.</li>
+ <li><b>ownerId</b> : Owner id of this group.</li>
+ <li><b>groupType</b> : Group type (DOMAIN_LEVEL_GROUP, USER_LEVEL_GROUP)</li>
+ <li><b>groupCardinality</b> : Group cardinality (SINGLE_USER, MULTI_USER)</li>
+ <li>createdTime : Will be set by the system</li>
+ <li>updatedTime : Will be set by the system</li>
+ 
+<br/></div><div class="definition"><h3 id="Struct_GroupMembership">Struct: 
GroupMembership</h3>
+<table class="table-bordered table-striped 
table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default
 value</th></thead>
+<tr><td>1</td><td>parentId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>2</td><td>childId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>3</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>4</td><td>childType</td><td><code><a 
href="#Enum_GroupChildType">GroupChildType</a></code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>5</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>6</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
+</table><br/><p>System internal data type to map group memberships</p>
+
+<br/></div><div class="definition"><h3 id="Struct_EntityType">Struct: 
EntityType</h3>
+<table class="table-bordered table-striped 
table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default
 value</th></thead>
+<tr><td>1</td><td>entityTypeId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>2</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>3</td><td>name</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>4</td><td>description</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>5</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>6</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
+</table><br/><p>client defined entity types</p>
+<li><b>entityTypeId</b> : Entity type id provided by the client</li>
+<li><b>domainId</b> : Domain id of the domain.</li>
+<li><b>name</b> : Name for the entity type. Should be a single word.</li>
+<li>description : Short description for the entity type.</li>
+<li>createdTime : Will be set by the system</li>
+<li>updatedTime : Will be set by the system</li>
+
+<br/></div><div class="definition"><h3 id="Struct_SearchCriteria">Struct: 
SearchCriteria</h3>
+<table class="table-bordered table-striped 
table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default
 value</th></thead>
+<tr><td>1</td><td>searchField</td><td><code><a 
href="#Enum_EntitySearchField">EntitySearchField</a></code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>2</td><td>value</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>3</td><td>searchCondition</td><td><code><a 
href="#Enum_SearchCondition">SearchCondition</a></code></td><td></td><td>optional</td><td></td></tr>
+</table><br/><p>Container object for search criteria</p>
+<li><b>searchField</b> : Entity search field</li>
+<li><b>value</b> : Search value</li>
+<li><b>searchCondition</b> : EQUAL, LIKE etc..</li>
+
+<br/></div><div class="definition"><h3 id="Struct_Entity">Struct: Entity</h3>
+<table class="table-bordered table-striped 
table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default
 value</th></thead>
+<tr><td>1</td><td>entityId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>2</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>3</td><td>entityTypeId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>4</td><td>ownerId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>5</td><td>parentEntityId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>6</td><td>name</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>7</td><td>description</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>8</td><td>binaryData</td><td><code>binary</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>9</td><td>fullText</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>10</td><td>originalEntityCreationTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>11</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>12</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
+</table><br/><p>Entity object which is used to register an entity in the 
system.</p>
+<li><b>entityId</b> : Entity id provided by the client</li>
+<li><b>domainId</b> : Domain id</li>
+<li><b>entityTypeId</b> : Entity type id</li>
+<li><b>ownerId</b> : Owner id</li>
+<li>parentEntityId : Parent entity id</li>
+<li><b>name</b> : Name</li>
+<li>description : Short description for the entity</li>
+<li>binaryData : Any information stored in binary format</li>
+<li>fullText : A string which will be considered for full text search</li>
+<li><b>originalEntityCreationTime</b> : When registering old records what is 
the original entity creation time. If not
+set will be default to current time</li>
+<li>createdTime : Will be set by the system</li>
+<li>updatedTime : Will be set by the system</li>
+
+<br/></div><div class="definition"><h3 id="Struct_PermissionType">Struct: 
PermissionType</h3>
+<table class="table-bordered table-striped 
table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default
 value</th></thead>
+<tr><td>1</td><td>permissionTypeId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>2</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>3</td><td>name</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>4</td><td>description</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>5</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>6</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
+</table><br/><p>Object for creating client defined permission type</p>
+<li><b>permissionTypeId</b> : Permission type id provided by the client</li>
+<li><b>domainId</b> : Domain id</li>
+<li><b>name</b> : Single word name for the permission</li>
+<li>description : Short description for the permission type</li>
+<li>createdTime : Will be set by the system</li>
+<li>updatedTime : Will be set by the system</li>
+
+<br/></div><div class="definition"><h3 id="Struct_Sharing">Struct: Sharing</h3>
+<table class="table-bordered table-striped 
table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default
 value</th></thead>
+<tr><td>1</td><td>permissionTypeId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>2</td><td>entityId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>3</td><td>groupId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>4</td><td>sharingType</td><td><code><a 
href="#Enum_SharingType">SharingType</a></code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>5</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>6</td><td>inheritedParentId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>7</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>8</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
+</table><br/><p>This is an internal enum type for managing sharings</p>
+
+<br/></div><div class="definition"><h3 
id="Struct_SharingRegistryException">Exception: SharingRegistryException</h3>
+<table class="table-bordered table-striped 
table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default
 value</th></thead>
+<tr><td>1</td><td>message</td><td><code>string</code></td><td></td><td>required</td><td></td></tr>
+</table><br/><p>Exception model used in the sharing registry service</p>
+
+<br/></div></div></body></html>
+

http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/Own-WSO2-IS-Configuration.md
----------------------------------------------------------------------
diff --git a/0.16/Own-WSO2-IS-Configuration.md 
b/0.16/Own-WSO2-IS-Configuration.md
new file mode 100644
index 0000000..7f30242
--- /dev/null
+++ b/0.16/Own-WSO2-IS-Configuration.md
@@ -0,0 +1,73 @@
+    ## WSO2 IS Installation
+### Installation
+1. Download IS 5.1.0 from <a href="http://wso2.com/products/identity-server/"; 
target="_blank">WSO2 Site</a> and extract it.
+2. Open &#60;IS_HOME&#62;/repository/conf/carbon.xml and set the 
HideAdminServiceWSDLs property to false.
+<pre><code>&#60;HideAdminServiceWSDLs&#62;false&#60;/HideAdminServiceWSDLs&#62;</code></pre>
+3. To enable self signup and account confirmation follow the below steps
+    - Open &#60;IS_HOME&#62;/repository/conf/claim-config.xml and add the 
following claims mappings in the &#60;Dialect 
dialectURI="http://wso2.org/claims"&#62; section.
+<pre><code>&#60;Claim&#62;
+          
&#60;ClaimURI&#62;http://wso2.org/claims/identity/accountLocked&#60;/ClaimURI&#62;
+          &#60;DisplayName&#62;Account Locked&#60;/DisplayName&#62;
+          &#60;AttributeID&#62;accountLock&#60;/AttributeID&#62;
+          &#60;Description&#62;Account Locked&#60;/Description&#62;
+&#60;/Claim&#62;
+&#60;Claim&#62;
+          
&#60;ClaimURI&#62;http://wso2.org/claims/identity/passwordTimestamp&#60;/ClaimURI&#62;
+          &#60;DisplayName&#62;Password Timestamp&#60;/DisplayName&#62;
+          &#60;AttributeID&#62;facsimileTelephoneNumber&#60;/AttributeID&#62;
+          &#60;Description&#62;Password Timestamp&#60;/Description&#62;
+&#60;/Claim&#62;
+&#60;Claim&#62;
+          &#60;ClaimURI&#62;http://wso2.org/claims/username&#60;/ClaimURI&#62;
+          &#60;DisplayName&#62;Username&#60;/DisplayName&#62;
+          &#60;AttributeID&#62;uid&#60;/AttributeID&#62;
+          &#60;Description&#62;Username&#60;/Description&#62;
+&#60;/Claim&#62;
+</code></pre>
+    - Open &#60;IS_HOME&#62;/repository/conf/claim-config.xml and add the 
following claims mappings in the &#60;Dialect 
dialectURI="http://wso2.org/oidc/claim"&#62; section.
+<pre><code>&#60;Claim&#62;
+          &#60;ClaimURI&#62;roles&#60;/ClaimURI&#62;
+          &#60;DisplayName&#62;Roles&#60;/DisplayName&#62;
+          &#60;AttributeID&#62;role&#60;/AttributeID&#62;
+          &#60;Description&#62;Roles&#60;/Description&#62;
+&#60;/Claim&#62;
+</code></pre>
+<br>
+
+    - Enable the Identity Listener by setting the following property to true 
in the &#60;IS_HOME&#62;/repository/conf/identity/identity.xml file.
+<pre><code>&#60;EventListener 
type="org.wso2.carbon.user.core.listener.UserOperationEventListener" 
name="org.wso2.carbon.identity.mgt.IdentityMgtEventListener" orderId="50" 
enable="true"/&#62;</code></pre>
+
+    - Do the following configurations in the 
&#60;IS_HOME&#62;/repository/conf/identity/identity­-mgt.properties file.
+<pre><code>
+Notification.Sending.Internally.Managed=true
+Authentication.Policy.Account.Lock.On.Creation=true
+Notification.Expire.Time=7200
+Notification.Sending.Enable=true
+Authentication.Policy.Enable=true
+</code></pre>
+
+    - Configure the email-admin-config.xml file found in 
&#60;IS_HOME&#62;/repository/conf/email/ with the email template of type 
“accountConfirmation”.
+
+    - Edit the org.apache.axis2.transport.mail.MailTransportSender section in 
the &#60;IS_HOME&#62;/repository/conf/axis2/axis2.xml to valid email account 
configuration. 
+<br>IS server should have access to this email account for remotely login.
+<pre><code>
+&#60;transportSender 
name="mailto"class="org.apache.axis2.transport.mail.MailTransportSender"&#62;
+        &#60;parameter 
name="mail.smtp.from"&#62;[email protected]&#60;/parameter&#62;
+        &#60;parameter 
name="mail.smtp.user"&#62;wso2demomail&#60;/parameter&#62;
+        &#60;parameter 
name="mail.smtp.password"&#62;mailpassword&#60;/parameter&#62;
+        &#60;parameter 
name="mail.smtp.host"&#62;smtp.gmail.com&#60;/parameter&#62;
+        &#60;parameter name="mail.smtp.port"&#62;587&#60;/parameter&#62;
+        &#60;parameter 
name="mail.smtp.starttls.enable"&#62;true&#60;/parameter&#62;
+        &#60;parameter name="mail.smtp.auth"&#62;true&#60;/parameter&#62;
+&#60;/transportSender&#62;
+</code></pre>
+
+4. Go to &#60;IS_HOME&#62;/bin and start IS server using ./wso2server.sh (use 
./wso2server.sh start for starting in daemon mode).
+
+### WSO2 IS Configuration
+1. Creating a new tenant.
+2. Registering a new OAuth Service Provider.
+
+### Optional Steps
+1. How to configure a mysql backend database for wso2 IS server - <a 
href="https://docs.wso2.com/display/IS510/Setting+up+MySQL"; 
target="_blank">MySQL DB Configuration</a>
+2. How to configure a valid server certificate for the wso2 IS server - <a 
href="http://wso2.com/library/knowledge-base/2011/08/adding-ca-certificate-authority-signed-certificate-wso2-products/";
 target="_blank">Configure Server Certificate</a>

http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/PGA-Installation.md
----------------------------------------------------------------------
diff --git a/0.16/PGA-Installation.md b/0.16/PGA-Installation.md
new file mode 100644
index 0000000..c32edf8
--- /dev/null
+++ b/0.16/PGA-Installation.md
@@ -0,0 +1,197 @@
+## PGA Installation
+
+<b>Pick your OS...</b></br/>
+[<button type="button" 
style="color:#f2f2f2;text-align:center;font-weight:lighter;background-color:#2481b9;width:160px;border:
 2px solid #2481b9;border-radius:4px">Cent OS</button>](#headPGACENTOS) &nbsp; 
&nbsp; &nbsp;
+[<button type="button" 
style="color:#f2f2f2;text-align:center;font-weight:lighter;background-color:#2481b9;width:160px;border:
 2px solid #2481b9;border-radius:4px">MAC OS</button>](#headPGAMAC)  &nbsp; 
&nbsp; &nbsp;
+[<button type="button" 
style="color:#f2f2f2;text-align:center;font-weight:lighter;background-color:#2481b9;width:160px;border:
 2px solid #2481b9;border-radius:4px">Ubuntu OS</button>](#headPGAUB)  &nbsp; 
&nbsp; &nbsp;
+
+### <a name="head1234">General Prerequisites</a>
+1. A Unix or Unix like operating system.
+2. A web server (e.g apache web server) with PHP 5.4 or higher. Make sure to 
have enabled mod_rewrite module in httpd.conf file and enable PHP SOAP 
extension.
+3. Composer
+4. MYSQL database (Required if the user is hosting Airavata on his own. To 
communicate with hosted Airavata this step is not relevant)
+5. MCrypt PHP extension
+6. Enable OpenSSL PHP extension
+7. Follow instructions given in links to install the prerequisites based on 
the OS.
+       - <a 
href="http://www.dev-metal.com/install-laravel-4-ubuntu-12-04-lts/"; 
target="_blank"> Ubunutu prerequisites</a> 
+       - <a 
href="https://www.digitalocean.com/community/tutorials/how-to-install-laravel-4-on-a-centos-6-vps";
 target="_blank"> Cent OS prerequisites</a>
+       - <a 
href="http://sangatpedas.com/20140219/installing-laravel-osx-mavericks/"; 
target="_blank"> MAC prerequisites</a>
+8. Important: Do not need to install Laravel. You can skip the steps given on 
the links
+9. WSO2 IS server
+
+### <a name="headPGACENTOS">PGA  Installation on CentOS 7</a>
+#### Pre-Installations
+1. Install apache 
+<pre><code>Yum install httpd</code></pre>
+2. module_rewrite is auto enabled in apache version in centos7. Its in 
/etc/httpd/conf.modules.d/00-base.conf file and the line is LoadModule 
rewrite_module modules/mod_rewrite.so
+3. Enable php using <pre><code>yum install php-soap</code></pre> Could be be 
it is already enabled in CentOS7
+4. Install php using  <pre><code>yum install php</code></pre>
+5. Configure Selinux to allow outbound connection from web server;
+<pre><code>setsebool -P httpd_can_network_connect 1</code></pre>
+5. install composer
+<pre><code>yum install composer</code></pre>
+6. Install php-mcrypt <pre><code>yum install php-mcrypt</code></pre>
+
+#### PGA Installation
+1. As the document root (var/www/html) take the git clone 
https://github.com/apache/airavata-php-gateway.git 
+2. Change the cloned folder name to your desired folder name(e.g.: 
airavata-php-gateway). This will carry sub folders for the gateway
+<pre><code>cp - R airavata-php-gateway /* .</code></pre>
+3. In the gateway folder do a <pre><code>composer update</code></pre>
+4. Create a directory in var/www/ for user data (E.g.:gateway-user-data). 
+5. Make this user data directory writeable by Apache httpd by making the 
following
+SELinux update as root:
+
+        chcon -R -t httpd_sys_rw_content_t /path/to/gateway-user-data
+
+6. Copy ./app/config/pga_config.php.template to ./app/config/pga_config.php 
+7. In pga_config.php change airavata server, change;
+       -  Airavata Client Configurations
+               - 'airavata-server' => 'localhost’,
+               - 'gateway-id' => 'php_reference_gateway',
+               - 'experiment-data-absolute-path' => 
'/var/www/gateway-user-data',(Here user has to create the experimentData folder 
in var/www)
+               - 'gateway-data-store-resource-id' => '' (This is the ID of the 
gateway preferred storage resource)
+       - Portal Related Configurations
+               - 'super-admin-portal' => false, (User has one gateway and need 
to use it to configure the compute resources, storage resources, etc...)
+               - 'admin-emails' => ['[email protected]'],
+               - 'portal-email-username' => '[email protected]',
+               - 'portal-email-password' => '&airavaxxxxxx',
+       - WSO2 Identity Server Related Configurations
+               - 'tenant-domain' => 'prod.airavata', (Provided by the Gateway 
Admin to WSO2 IS at tenant creation)
+               - 'admin-username' => 'Gateway-Admin', (Provided by the Gateway 
Admin to WSO2 IS at tenant creation)
+               - 'admin-password' => 'Gateway-Admin-Password', (Provided by 
the Gateway Admin to WSO2 IS at tenant creation)
+               - 'oauth-client-key' => 'G1khg0I0Xf444rereggrteret', (Generated 
by WSO2 IS at tenant creation)
+        - 'oauth-client-secret' => 'G1khg0I0Xf444rere', (Generated by WSO2 IS 
at tenant creation)
+        -  'verify-peer' => true, (Set this to false if trusted server 
certificates are not used. Refer <a 
href='http://wso2.com/library/knowledge-base/2011/08/adding-ca-certificate-authority-signed-certificate-wso2-products/'
 target ='_blank'>Adding CA Signed Certificate</a> on adding trusted 
certificates.)
+8. Give writing permission chmod -R g+rwx app/storage/
+9.  Make sure SElinux comparability of airavata_php_gateway folder. For that 
give 
+<pre><code>chcon -Rv --type=httpd_sys_content_t 
airavata-php-gateway/</code></pre>
+This is to make sure the gateway folder is readable by http
+10. ls - lZ shows the SELinux context. After the above chcon command do the 
same for storage folder as well 
+<pre><code>su -c "chcon -R -h -t httpd_sys_script_rw_t 
[fullpath]/app/storage”</code></pre>
+This is to make sure the storage folder is writable.
+11. Configure firewall to allow http and https
+       - Check existing configurations using <pre><code>firewall-cmd 
--zone=public --list-services</code></pre> 
+       - To open access  for http <pre><code>firewall-cmd --zone=public 
--permanent --add-service=http</code></pre>
+       - To open access for https <pre><code>firewall-cmd --zone=public 
--permanent --add-service=https</code></pre>
+       - To get above rules applied <pre><code>firewall-cmd —reload - 
refresh</code></pre>
+12. Locate httpd.conf file in location /etc/httpd/conf/
+<br> Make sure below 'Allow Override' has 'All' option.
+<pre><code>
+    #
+    # AllowOverride controls what directives may be placed in .htaccess files.
+    # It can be "All", "None", or any combination of the keywords:
+    #   Options FileInfo AuthConfig Limit
+    #
+    AllowOverride All 
+</code></pre>
+
+
+
+### <a name="headPGAMAC">PGA  Installation on MAC Yosemite OS</a>
+#### Pre-Installation 
+1. Follow instructions in <a 
href="http://coolestguidesontheplanet.com/install-mcrypt-php-mac-osx-10-10-yosemite-development-server/.";
 target="_blank">MCrypt Installation</a> for PHP on MAC
+2. First check whether your MAC has Apache installed. To check availability;
+<pre><code>apache ctrl start</code></pre>
+3. To stop running Apache use;
+<pre><code>apache ctl stop</code></pre>
+4. Once above is completed follow the <a 
href="https://web.archive.org/web/20150507101703/http://sangatpedas.com/20140219/installing-laravel-osx-mavericks";
 target="_blank"> Installation Steps</a> given for
+       - Configuring Apache
+       - Installing Composer (Use sudo commands as and when required for 
installation)
+5. To install Composer use 
+<pre><code>curl -sS https://getcomposer.org/installer | php</code></pre>
+6. Then move Composer using 
+<pre><code>mv composer.phar /usr/local/bin/composer</code></pre>
+
+#### PGA Installation 
+1. Go to cd /Library/WebServer/Documents
+2. Take a copy from GIT using 
+<pre><code>git clone 
https://github.com/apache/airavata-php-gateway.git</code></pre>
+3. Navigate to PGA folder
+<pre><code>cd /Library/WebServer/Documents/airavata-php-gateway</code></pre>
+4. Make sure the storage folder is writable by all users
+<pre><code>sudo chmod -R 777 app/storage</code></pre>
+5. Move out of app folder and give;
+<pre><code>sudo composer update</code></pre>
+This will take few minutes
+6. You might get an error like this
+<pre><code>
+Mcrypt PHP extension required.
+Script php artisan clear-compiled handling the post-update-cmd event returned 
with an error
+[RuntimeException]
+Error Output:
+</code></pre>  
+7. Install mcrypt installation 
+<a 
href="http://coolestguidesontheplanet.com/install-mcrypt-php-mac-osx-10-10-yosemite-development-server/";
 target="_blank">MCrypt Installation</a>
+8. (Optional) Go to [PGA_HOME]/app/config/pga_config.php and change the 
configuration to match your settings
+9. Enable Apache extensions (mod_rewrite module and PHP SOAP extension)
+<pre><code>sudo vim /etc/apache2/httpd.conf</code></pre>
+       uncomment #LoadModule rewrite_module libexec/apache2/mod_rewrite.so
+       uncomment #LoadModule php5_module libexec/apache2/libphp5.so
+10. Now issue composer update command
+<pre><code>sudo composer update</code></pre>
+11. Restart the web server
+<pre><code>sudo apachectl restart</code></pre>
+
+#### Link Airavata and PGA
+1. Once the PGA and Airavata are downloaded and locally running; in PGA 
app/config folder locate the file called pga_config.php.template
+2. Copy the located file and name it as pga_config.php 
+3. In the newly copied file find two configurations for 
+       - Airavata host
+       - Port
+4. Change above configurations
+       - Airavata host = localhost
+       - Port = 9930
+5. You are all set to run your own PGA!
+6. For steps to register resources, applications, etc… use <Link to admin 
guide>
+7. For steps to create projects, experiments and monitor them use <Link to end 
user guide>
+IMPORTANT: In places where the hosted PGA link is used please replace by your 
locally running PGA URL.
+
+
+### <a name="headPGAUB">PGA  Installation on Ubuntu OS</a>
+#### Pre-Installation
+1. To install dependencies use commands in <a 
href="http://www.dev-metal.com/install-laravel-4-ubuntu-12-04-lts/"; 
target="_blank">Ubuntu Installation</a>
+<br>In the command avoid installing mysql and mariaDB.
+2. Enable the appropriate extensions: navigate to php.ini
+       <pre><code>sudo vi /etc/php.ini</code></pre>
+       - Uncomment the following extensions: mcrypt.so, openssl.so, and 
soap.so. If they do not exists add them as extensions.
+       <pre><code>extension=mcrypt.so</code></pre>
+       <pre><code>extension=openssl.so</code></pre>
+       <pre><code>extension=soap.so</code></pre>
+3. Locate httpd.conf file 
+<pre><code>sudo vi /etc/httpd/conf/httpd.conf</code></pre>
+       - Find 'AllowOverride None' and change to 'AllowOverride All' (Two 
places to change)
+
+#### PGA Installation
+1. The following guide give a sample installation starting from a fresh 
Ubunutu 12.04 installation. Similar instructions should be used in other 
operating systems.
+2. Update the ubuntu package manager
+<pre><code>sudo apt-get update</pre></code>
+<pre><code>sudo apt-get upgrade </pre></code>
+3. Install Apache
+</pre></code>sudo apt-get install apache2</pre></code>
+4. Install PHP 5.4
+<pre><code>sudo apt-get install python-software-properties</pre></code>
+<pre><code>sudo add-apt-repository ppa:ondrej/php5-oldstable</pre></code>
+<pre><code>sudo apt-get update</pre></code>
+<pre><code>sudo apt-cache policy php5</pre></code>
+<pre><code>sudo apt-get install php5</pre></code>
+5. You can check the installed versions of apache and php using 
<pre><code>apache2 -v</pre></code> and <pre><code>php -v commands</pre></code>
+6. Install the necessary php extensions
+<pre><code>sudo apt-get install unzip</pre></code>
+<pre><code>sudo apt-get install curl</pre></code>
+<pre><code>sudo apt-get install openssl</pre></code>
+<pre><code>sudo apt-get install php5-mcrypt</pre></code>
+<pre><code>sudo apt-get install php-soap</pre></code>
+7. Install Composer System Wide
+<pre><code>curl -sS https://getcomposer.org/installer | php</pre></code>
+<pre><code>sudo mv composer.phar /usr/local/bin/composer</pre></code>
+8. Activate mod_rewrite
+<pre><code>sudo a2enmod rewrite</pre></code>
+<pre><code>sudo service apache2 restart</pre></code>
+9. Open the default vhost config file:
+ <pre><code>sudo nano /etc/apache2/sites-available/default. </pre></code>
+10. Now search for “AllowOverride None”  corresponding “DocumentRoot 
/var/www <Directory /var/www>”
+<br>(which should be there TWO times) and change both to “AllowOverride 
All“. Search for these two lines.</br>
+<br>
+11. Exit and save with CTRL+X, Y, ENTER.
+
+Go to <a href="Airavata-Installation" target="_blank">Airavata 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/PGA-Upgrades.md
----------------------------------------------------------------------
diff --git a/0.16/PGA-Upgrades.md b/0.16/PGA-Upgrades.md
new file mode 100644
index 0000000..80bb9d5
--- /dev/null
+++ b/0.16/PGA-Upgrades.md
@@ -0,0 +1,9 @@
+## PGA Code Update
+
+1. In your cloned gateway folder (airavata-php-gateway) get the latest updates 
from git
+<pre><code> git pull</code></pre>
+2. Do a composer update
+<pre><code> composer update </code></pre>
+This may take little time....
+3. You are all set with latest updates!
+4. 16. For Airavata updating steps try <a href="../Airavata-Upgrades">Airavata 
Update</a>

http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/Sharing-Docs.md
----------------------------------------------------------------------
diff --git a/0.16/Sharing-Docs.md b/0.16/Sharing-Docs.md
new file mode 100644
index 0000000..579bc96
--- /dev/null
+++ b/0.16/Sharing-Docs.md
@@ -0,0 +1,79 @@
+
+<title>All Thrift declarations</title><body>
+<div class="container-fluid">
+<h1>All Thrift declarations</h1>
+<table class="table-bordered table-striped 
table-condensed"><thread><th>Module</th><th>Services</th><th>Data 
types</th><th>Constants</th></thead>
+<tr>
+<td>sharing_cpi</td><td><a 
href="sharing_cpi.html#Svc_SharingRegistryService">SharingRegistryService</a><br/>
+<ul>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_addChildGroupsToParentGroup">addChildGroupsToParentGroup</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_addUsersToGroup">addUsersToGroup</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_createDomain">createDomain</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_createEntity">createEntity</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_createEntityType">createEntityType</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_createGroup">createGroup</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_createPermissionType">createPermissionType</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_createUser">createUser</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_deleteDomain">deleteDomain</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_deleteEntity">deleteEntity</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_deleteEntityType">deleteEntityType</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_deleteGroup">deleteGroup</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_deletePermissionType">deletePermissionType</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_deleteUser">deleteUser</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_getDomain">getDomain</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_getDomains">getDomains</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_getEntity">getEntity</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_getEntityType">getEntityType</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_getEntityTypes">getEntityTypes</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_getGroup">getGroup</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_getGroupMembersOfTypeGroup">getGroupMembersOfTypeGroup</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_getGroupMembersOfTypeUser">getGroupMembersOfTypeUser</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_getGroups">getGroups</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_getListOfSharedGroups">getListOfSharedGroups</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_getListOfSharedUsers">getListOfSharedUsers</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_getPermissionType">getPermissionType</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_getPermissionTypes">getPermissionTypes</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_getUser">getUser</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_getUsers">getUsers</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_removeChildGroupFromParentGroup">removeChildGroupFromParentGroup</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_removeUsersFromGroup">removeUsersFromGroup</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_revokeEntitySharingFromGroups">revokeEntitySharingFromGroups</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_revokeEntitySharingFromUsers">revokeEntitySharingFromUsers</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_searchEntities">searchEntities</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_shareEntityWithGroups">shareEntityWithGroups</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_shareEntityWithUsers">shareEntityWithUsers</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_updateDomain">updateDomain</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_updateEntity">updateEntity</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_updateEntityType">updateEntityType</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_updateGroup">updateGroup</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_updatePermissionType">updatePermissionType</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_updatedUser">updatedUser</a></li>
+<li><a 
href="sharing_cpi.html#Fn_SharingRegistryService_userHasAccess">userHasAccess</a></li>
+</ul>
+</td>
+<td></td>
+<td></code></td>
+</tr><tr>
+<td>sharing_models</td><td></td>
+<td><a href="sharing_models.html#Struct_Domain">Domain</a><br/>
+<a href="sharing_models.html#Struct_Entity">Entity</a><br/>
+<a href="sharing_models.html#Enum_EntitySearchField">EntitySearchField</a><br/>
+<a href="sharing_models.html#Struct_EntityType">EntityType</a><br/>
+<a href="sharing_models.html#Enum_GroupCardinality">GroupCardinality</a><br/>
+<a href="sharing_models.html#Enum_GroupChildType">GroupChildType</a><br/>
+<a href="sharing_models.html#Struct_GroupMembership">GroupMembership</a><br/>
+<a href="sharing_models.html#Enum_GroupType">GroupType</a><br/>
+<a href="sharing_models.html#Struct_PermissionType">PermissionType</a><br/>
+<a href="sharing_models.html#Enum_SearchCondition">SearchCondition</a><br/>
+<a href="sharing_models.html#Struct_SearchCriteria">SearchCriteria</a><br/>
+<a href="sharing_models.html#Struct_Sharing">Sharing</a><br/>
+<a 
href="sharing_models.html#Struct_SharingRegistryException">SharingRegistryException</a><br/>
+<a href="sharing_models.html#Enum_SharingType">SharingType</a><br/>
+<a href="sharing_models.html#Struct_User">User</a><br/>
+<a href="sharing_models.html#Struct_UserGroup">UserGroup</a><br/>
+</td>
+<td><code><a 
href="sharing_models.html#Const_DO_NOT_SET_AT_CLIENTS_ID">DO_NOT_SET_AT_CLIENTS_ID</a></code><br/>
+</code></td>
+</tr></table>
+</div></body></html>
+

http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/User-Profiles.md
----------------------------------------------------------------------
diff --git a/0.16/User-Profiles.md b/0.16/User-Profiles.md
new file mode 100644
index 0000000..1d27bcf
--- /dev/null
+++ b/0.16/User-Profiles.md
@@ -0,0 +1,47 @@
+## Apache Airavata User Profiles
+
+### What Are Airavata User Roles?
+
+1. Prior to using Airavata, lets identify and understand the user roles 
available and their features.
+2. Knowing the roles and the features of each, will assist on shaping your 
gateway user hierarchy.
+3. There are 4 active user roles in Airavata with different set of features at 
each level.
+       - Admin
+       - Admin-Read-Only
+       - Gateway-User
+       - User-Pending
+
+### Features of each User Role
+
+1. Admin User
+       - Set up gateway preferences for Compute Resources and Storage Resources
+       - Generate SSH keys and their tokens using Credential Store in Admin 
Dashboard.
+       - Add the generated SSH token to Gateway Preferences.
+       - Add the generated SSH keys to authorized_key files in each resource.
+       - Can Cancel, clone experiments of a gateway user through Admin 
dashboard behalf of the user.
+       - Create Applications and their deployments in to the gateway.
+<br><b>NOTE: If user hosts his own gateway; 'Gateway Admin' role will have 
access to create compute resources and storage resources as well.</b></br><br>
+
+2. Admin-Read-Only
+       - Can view everything in Admin Dashboard but cannot Add, Edit or Delete 
any records from dashboard.
+       - Can monitor experiments through Experiments Statistics in Admin 
dashboard.
+       - Behalf of a gateway user can edit, cancel or clone an experiment.
+<br></br>
+3. Gateway User
+       - Create, launch their own experiments in using available applications 
and compute resources.
+       - Monitor progress of experiment execution.
+       - Download outputs experiment outputs from experiment summary or from 
ARCHIVE directory in Storage (ARCHIVE folder exists only if the application 
files are 'Archive' enabled)
+       - Group experiments by creating Projects.
+       - Request new features, applications and report bug, issue using 
'Contact Us' in gateway.
+       - Password reset.
+<br>
+</br>
+4. User-Pending
+       - This is the initial role assigned to users when account is created.
+       - Until gateway admin provide relevant access to the gateway (by 
assigning an active gateway role) user has cannot really use the gateway.
+<br>
+</br>
+### How User Roles Work?
+
+1. Users can have one or many user roles assigned to them.
+2. Gateway admin has the authority to change user roles of the gateway users.
+2. Every time a role changes user will be notified through email about the 
privilege change.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/User-Tutorials.md
----------------------------------------------------------------------
diff --git a/0.16/User-Tutorials.md b/0.16/User-Tutorials.md
new file mode 100644
index 0000000..39d1619
--- /dev/null
+++ b/0.16/User-Tutorials.md
@@ -0,0 +1,6 @@
+Coming Soon
+
+## Work-in-Progress
+###For now please follow: <br>
+1. <a 
href="https://cwiki.apache.org/confluence/display/AIRAVATA/Tutorial+04+-+PHP+Reference+Gateway+for+Airavata+-+End-User+Guide";
 target="_blank">PGA Portal End User Tutorial</a> <br>
+2. <a 
href="https://cwiki.apache.org/confluence/display/AIRAVATA/Tutorial+05+-+PHP+Reference+Gateway+for+Airavata+-+Gateway+Admin+Guide";
 target="_blank"> PGA Portal Admin Tutorial</a>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/WSO2-IS-Configuration.md
----------------------------------------------------------------------
diff --git a/0.16/WSO2-IS-Configuration.md b/0.16/WSO2-IS-Configuration.md
new file mode 100644
index 0000000..8fdfe57
--- /dev/null
+++ b/0.16/WSO2-IS-Configuration.md
@@ -0,0 +1,42 @@
+## WSO2 Identity Server (IS)
+
+The steps below are for IS configuration when IS is hosted by Airavata team. 
In this situation you will be a tenant created under Airavata hosted IS.
+
+### Request a Tenant Account
+1. Request from Airavata team for a new Tenant account. For this use
+<br><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>
+2. As the gateway admin, for the account creation provide;
+    - First name
+    - Last name
+    - Preferred username & password as the admin (This is the username you 
will use to login to WSO2 IS and gateway as the admin user)
+    - Email account
+3. When Airavata team receives your request they will communicate with you if 
more information is required.
+4. Once the tenant is created you will receive
+    - URL for WSO2 IS
+    - Username and password to login to WSO2 IS
+<br>
+<br>
+### Configure Your Tenant
+1. Login to IS server as the gateway admin tenant user.
+    - Use the URL provided by the Airavata team; <a 
href="https://idp.scigap.org:9443/carbon/admin/login.jsp"; target="_blank">WSO2 
URL for Gateway Admin</a>
+    - Use the username and password provided by you. (Please change your 
password in first login)
+2. Navigate to Main Tab -->Service Providers --> Add
+    - Give a service provider name and 'Register'
+    - Out of the list below expand 'Inbound Authentication Configuration'
+    - Out of the usb list underneath expand 'OAuth/OpenID Connect 
Configuration' and click 'Configure'
+    - You will be navigated to 'Register New Application' UI.
+3. To register new application;
+    - Select OAuth Version = 2.0
+    - From Allowed Grant Types select only 'Password' and 'Refresh Token'
+    - Add
+    
+4. Copy the 'OAuth Client Key', 'OAuth Client Secret', Admin username, 
password and name to pga_config.php.
+5. Navigate to Configure —> Claim management —>http://wso2.org/claims. And 
make "Supported by Default = true"
+6. Navigate to Configure --> Users & Roles --> Users. Find the admin user and 
click 'User Profile'. Add the username at the bottom and update.
+
+You are all set to start configuring the gateway for job submission. For 
Gateway Configurations visit <a href="#Gateway-Configuration.md">PGA 
Configuration</a>
+
+test
+test

http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/airavata-properties.md
----------------------------------------------------------------------
diff --git a/0.16/airavata-properties.md b/0.16/airavata-properties.md
new file mode 100644
index 0000000..b19902f
--- /dev/null
+++ b/0.16/airavata-properties.md
@@ -0,0 +1,66 @@
+##<h2 id="airavata-properties.md">Apache Airavata Server Properties</h2>
+1.  API Server Registry Configuration
+       - Comment out the derby DB properties
+       - Change MySQL configurations
+               - 
registry.jdbc.url=jdbc:mysql://localhost:3306/airavata_expcatalog (replace 
'localhost' with correct server name if the DB is in a different server)
+               - registry.jdbc.user=airavata
+               - registry.jdbc.password=airavata
+               - default.registry.gateway=php_reference_gateway (give the 
gateway name you prefer. Default exists in the file)
+2.  Application Catalog DB Configuration
+       - Comment out the derby DB properties
+       - Change MySQL configurations
+               - 
appcatalog.jdbc.url=jdbc:mysql://localhost:3306/airavata_appcatalog
+          - appcatalog.jdbc.user=airavata
+         - appcatalog.jdbc.password=airavata
+3.  Data Catalog DB Configuration
+    - Comment out the derby DB properties
+    - Change MySQL configurations
+       - 
replicacatalog.jdbc.url=jdbc:mysql://localhost:3306/airavata_datacatalog
+        - replicacatalog.jdbc.user=airavata
+        - replicacatalog.jdbc.password=airavata
+4.  Workflow Catalog DB Configuration
+       - Comment out the derby DB properties
+    - Change MySQL configurations
+               - 
workflowcatalog.jdbc.url=jdbc:mysql://localhost:3306/airavata_wfcatalog
+       - workflowcatalog.jdbc.user=airavatadb
+       - workflowcatalog.jdbc.password=airavatadb
+5.  Server module Configuration
+       - Make sure all servers required to start are added as given
+               - servers=apiserver,orchestrator,gfac,credentialstore
+6.  API Server SSL Configurations
+       - Give the correct path for key generation file. This is in the bin 
directtory and it is shipped defualt with Airavata.
+               - 
apiserver.keystore=/home/airavata/LocalAiravata/apache-airavata-server-0.16-SNAPSHOT/bin/airavata.jks
+7.  Credential Store module Configuration
+       - Add the path to SSH key generation file
+               - E.g.: 
credential.store.keystore.url=/home/airavata/LocalAiravata/airavata-sym.jks
+       - Comment out the derby DB properties
+    - Change MySQL configurations
+        - 
credential.store.jdbc.url=jdbc:mysql://localhost:3306/airavata_credentialstore
+        - credential.store.jdbc.user=airavatadb
+        - credential.store.jdbc.password=airavatadb
+               - 
credential.store.keystore.url=/home/airavata/production-deployment/airavata_sym.jks
+8.   API Security Configuration
+       - Make sure
+               - api.secured=false
+               - TLS.enabled=false
+9.  Monitoring Module Configuration
+      - Add your email address, username and password for email monitoring. 
This is the email account the job status change emails will be received from 
compute resources.
+                 email.based.monitor.host=imap.gmail.com
+                 [email protected]
+                 email.based.monitor.password=SamplePassword
+10. Zookeeper Server Configuration
+       - For 'Production' scenario make;
+               - embedded.zk=false
+11. AMQP Notification Configuration
+       - Users can use RabbitMQ as 'Guest' users. This is the easy method. For 
this uncomment
+               - rabbitmq.broker.url=amqp://localhost:5672
+       - To use as a 'Production' user
+               - Navigate to RabbitMQ bin folder.
+               - Make sure the RabbitMQ server is running. For production use 
<pre><code>rabbitmq-server -detached</code></pre> to start.
+               - 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 Username 
Password</code></pre>
+               - To create a vitrual-host <pre><code>rabbitmqctl add_vhost 
vhostauthvhost</code></pre>
+               - Provide permission to created 'Username'  to the created 
vhost <pre><code>rabbitmqctl set_permissions -p messaging airavata ".*" ".*" 
".*”</code></pre>
+               - Uncomment 
rabbitmq.broker.url=amqp://Username:Password@localhost:5672/Vhost. Add the 
created username, password and Vhost in the URL.
+               - If you need to stop RabbitMQ use <pre><code>rabbitmqctl 
stop</code></pre>
+               - If the RabbitMQ server stopped then the above user creation, 
vhost creation and permission granting commands need to run again after 
restarting the servers.

http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/css/extra.css
----------------------------------------------------------------------
diff --git a/0.16/css/extra.css b/0.16/css/extra.css
new file mode 100644
index 0000000..710d763
--- /dev/null
+++ b/0.16/css/extra.css
@@ -0,0 +1,29 @@
+.darkred{
+    color: #7f0000;
+    /*darkred*/
+}
+
+.lred{
+    color: #b20000;
+    /*lighterred*/
+}
+
+.blue{
+    color: #3333ff;
+    /*darkblue*/
+}
+
+h3
+{
+    display:inline;
+}
+
+h5
+{
+    display:inline;
+}
+
+h6
+{
+    display:inline;
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/img/AppCatalog.png
----------------------------------------------------------------------
diff --git a/0.16/img/AppCatalog.png b/0.16/img/AppCatalog.png
new file mode 100644
index 0000000..55a8d8b
Binary files /dev/null and b/0.16/img/AppCatalog.png differ

http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/img/AppDeployment.png
----------------------------------------------------------------------
diff --git a/0.16/img/AppDeployment.png b/0.16/img/AppDeployment.png
new file mode 100644
index 0000000..4f482f7
Binary files /dev/null and b/0.16/img/AppDeployment.png differ

http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/img/AppInterface1.png
----------------------------------------------------------------------
diff --git a/0.16/img/AppInterface1.png b/0.16/img/AppInterface1.png
new file mode 100644
index 0000000..55bc02f
Binary files /dev/null and b/0.16/img/AppInterface1.png differ

http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/img/AppInterface2.png
----------------------------------------------------------------------
diff --git a/0.16/img/AppInterface2.png b/0.16/img/AppInterface2.png
new file mode 100644
index 0000000..e4c87a3
Binary files /dev/null and b/0.16/img/AppInterface2.png differ

http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/img/AppModule.png
----------------------------------------------------------------------
diff --git a/0.16/img/AppModule.png b/0.16/img/AppModule.png
new file mode 100644
index 0000000..a0f9472
Binary files /dev/null and b/0.16/img/AppModule.png differ

http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/img/GauAppDep.png
----------------------------------------------------------------------
diff --git a/0.16/img/GauAppDep.png b/0.16/img/GauAppDep.png
new file mode 100644
index 0000000..81ee11a
Binary files /dev/null and b/0.16/img/GauAppDep.png differ

http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/img/GauAppInt1.png
----------------------------------------------------------------------
diff --git a/0.16/img/GauAppInt1.png b/0.16/img/GauAppInt1.png
new file mode 100644
index 0000000..435f1c9
Binary files /dev/null and b/0.16/img/GauAppInt1.png differ

http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/img/GauAppInt2.png
----------------------------------------------------------------------
diff --git a/0.16/img/GauAppInt2.png b/0.16/img/GauAppInt2.png
new file mode 100644
index 0000000..b654ba2
Binary files /dev/null and b/0.16/img/GauAppInt2.png differ

http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/img/GauAppInt3.png
----------------------------------------------------------------------
diff --git a/0.16/img/GauAppInt3.png b/0.16/img/GauAppInt3.png
new file mode 100644
index 0000000..e466a46
Binary files /dev/null and b/0.16/img/GauAppInt3.png differ

http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/img/MultipleWaystoUseAiravata.png
----------------------------------------------------------------------
diff --git a/0.16/img/MultipleWaystoUseAiravata.png 
b/0.16/img/MultipleWaystoUseAiravata.png
new file mode 100644
index 0000000..59ffed3
Binary files /dev/null and b/0.16/img/MultipleWaystoUseAiravata.png differ

http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/img/MultipleWaystoUseAiravata1.png
----------------------------------------------------------------------
diff --git a/0.16/img/MultipleWaystoUseAiravata1.png 
b/0.16/img/MultipleWaystoUseAiravata1.png
new file mode 100644
index 0000000..38fa949
Binary files /dev/null and b/0.16/img/MultipleWaystoUseAiravata1.png differ

http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/img/PGAMenu&SubMenu.png
----------------------------------------------------------------------
diff --git a/0.16/img/PGAMenu&SubMenu.png b/0.16/img/PGAMenu&SubMenu.png
new file mode 100644
index 0000000..266602e
Binary files /dev/null and b/0.16/img/PGAMenu&SubMenu.png differ

http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/img/UserProfiles.png
----------------------------------------------------------------------
diff --git a/0.16/img/UserProfiles.png b/0.16/img/UserProfiles.png
new file mode 100644
index 0000000..2a24a48
Binary files /dev/null and b/0.16/img/UserProfiles.png differ

http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/img/UserProfilesOLD.png
----------------------------------------------------------------------
diff --git a/0.16/img/UserProfilesOLD.png b/0.16/img/UserProfilesOLD.png
new file mode 100644
index 0000000..3685437
Binary files /dev/null and b/0.16/img/UserProfilesOLD.png differ

http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/index.md
----------------------------------------------------------------------
diff --git a/0.16/index.md b/0.16/index.md
new file mode 100644
index 0000000..9a4744a
--- /dev/null
+++ b/0.16/index.md
@@ -0,0 +1,24 @@
+# Apache Airavata....
+
+- A distributed framework that supports execution and management of 
computational scientific applications and workflows in grid based systems, 
remote clusters and cloud based systems.
+- Primarily focused on submitting and managing application executions and 
workflows in grid based systems.
+- Architecturally extensible to support other underlying resources.
+- Used by scientific gateway developers as their middleware layer. They can 
directly call Airavata API in order to communicate with grid based system.
+- Provides a desktop tools and browser-based web interface components for 
managing applications, workflows and generated data.
+- Contains sophisticated server-side tools for registering and managing 
scientific applications on computational resources.
+
+For more information on Airavata visit; <a href="http://airavata.apache.org/"; 
target="_blank">Apache Airavata</a>
+<br>
+<br>
+
+<button type="button" 
style="color:#f2f2f2;text-align:center;font-weight:lighter;background-color:#2481b9;width:220px;border:
 2px solid #2481b9;border-radius:4px"><a style="color:white" 
href="Airavata-Installation" target="_blank"><b>Download</b><br/><br/>Download 
and install Airavata middleware and reference gateway (PGA).<br/></br>Select 
the best option for you!</a></button>&nbsp; &nbsp; &nbsp;
+<button type="button" 
style="color:#f2f2f2;text-align:center;font-weight:lighter;background-color:#2481b9;width:220px;border:
 2px solid #2481b9;border-radius:4px"><a style="color:white" 
href="Admin-Tutorials" target="_blank" ><b>Admin Quick 
Start</b><br/><br/>Tutorials for gateway admin users!</br>Collection of 
tutorials that will provide instructions for quick set-up.</a></button>&nbsp; 
&nbsp; &nbsp;
+<button type="button" 
style="color:#f2f2f2;text-align:center;font-weight:lighter;background-color:#2481b9;width:220px;border:
 2px solid #2481b9;border-radius:4px"><a style="color:white" 
href="User-Tutorials" target="_blank" ><b>User Quick 
Start</b><br/><br/>Tutorials for gateway users!</br>Collection of tutorials way 
users. <br/>Help with job submission and management!.</a></button>&nbsp; &nbsp;
+
+<!--<button type="button" 
style="color:#f2f2f2;text-align:center;font-weight:lighter;background-color:#2481b9;width:220px;border:
 2px solid #2481b9;border-radius:4px"><a style="color:white" 
href="http://airavata.readthedocs.io/en/latest/ target="_blank"><b>User 
Guide</b></br><br>In-detail documentation on how to install, configure and do 
upgrades for gateway admins.</br>Step by step guide for gateway users as 
well.</br></a></button>
+</br>
+
+<!--The Installation section of the documentation applies to on-premise 
installation of Apache Airavata. -->
+
+If you are interested to rather use a hosted version, you can contact a 
downstream project <a href="http://scigap.org/"; target="_blank">Science 
Gateways Platform as a Service (SciGaP)</a>. 
+<br>SciGaP runs Apache Airavata as platform services. 

http://git-wip-us.apache.org/repos/asf/airavata-docs/blob/9259dfe4/0.16/mkdocs.yml
----------------------------------------------------------------------
diff --git a/0.16/mkdocs.yml b/0.16/mkdocs.yml
new file mode 100644
index 0000000..da066e6
--- /dev/null
+++ b/0.16/mkdocs.yml
@@ -0,0 +1,38 @@
+site_name: Airavata Documentation
+ <div>0.16</div>
+
+docs_dir: .
+
+pages:
+- <h5>Home</h5>: 'index.md'
+- <h5>System Installations</h5>:
+  - Airavata: 'Airavata-Installation.md'
+  - PGA: 'PGA-Installation.md'
+  - WSO2 IS: 'Own-WSO2-IS-Configuration.md'
+  - Airavata Property File: 'airavata-properties.md'
+- <h5>Configuration</h5>:
+  - Admin Tutorials: 'Admin-Tutorials.md'
+  - PGA: 'Gateway-Configurations.md'
+  - WSO2 IS: 'WSO2-IS-Configuration.md'
+- <h5>Gateway Maintenance</h5>:
+  - <h6>Code Upgrades</h6>:
+      - Airavata: 'Airavata-Upgrades.md'
+      - PGA: 'PGA-Upgrades.md'
+  - <h6>Admin Dashboard</h6>: 'Admin-Maintenance.md'
+- <h5>Documentation</h5>:
+  - User Tutorials: 'User-Tutorials.md'
+  - User Profiles: 'User-Profiles.md'
+  - Software Applications: 'Application-CookBook.md'
+  - Airavata API: 'AiravataApi.md'
+- <h5>Technical Documentation</h5>:
+  - <h6>Sharing Documentation</h6>:
+      - Index: 'Sharing-Docs.md'
+      - Sharing CPI: 'CPI.md'
+      - Sharing Models: 'Models.md'
+- <h5>FAQ</h5>: 'FAQ.md'
+- <h5>Contact Us</h5>: 'Contact-Us.md'
+
+theme: readthedocs
+
+extra_css:
+  - css/extra.css

Reply via email to