You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by nd...@apache.org on 2015/05/01 23:33:22 UTC

[35/57] [partial] airavata-php-gateway git commit: AIRAVATA 1632 + Job Description for Admin Dashboard

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/app/views/partials/experiment-info.blade.php
----------------------------------------------------------------------
diff --git a/app/views/partials/experiment-info.blade.php b/app/views/partials/experiment-info.blade.php
new file mode 100644
index 0000000..90c7ae7
--- /dev/null
+++ b/app/views/partials/experiment-info.blade.php
@@ -0,0 +1,136 @@
+    <div class="container" style="max-width: 750px;">
+
+    @if(isset( $invalidExperimentId ) )
+        <div class="alert alert-danger">
+            The Experiment ID does not exist. Please go to correct experiment.
+        </div>
+    @else
+    <h1>
+        Experiment Summary
+        @if( !isset($dashboard))
+        <small><a href="{{ URL::to('/') }}/experiment/summary?expId={{ $experiment->experimentID }}"
+                  title="Refresh"><span class="glyphicon glyphicon-refresh refresh-exp"></span></a></small>
+    	@endif
+    </h1>
+    
+    
+    <table class="table">
+        <tr>
+            <td><strong>Name</strong></td>
+            <td><?php echo $experiment->name; ?></td>
+        </tr>
+        <tr>
+            <td><strong>Description</strong></td>
+            <td><?php echo $experiment->description; ?></td>
+        </tr>
+        <tr>
+            <td><strong>Project</strong></td>
+            <td><?php echo $project->name; ?></td>
+        </tr>
+        <tr>
+            <td><strong>Application</strong></td>
+            <td><?php echo $expVal["applicationInterface"]->applicationName; ?></td>
+        </tr>
+        <tr>
+            <td><strong>Compute resource</strong></td>
+            <td><?php echo $expVal["computeResource"]->hostName; ?></td>
+        </tr>
+        <tr>
+            <td><strong>Experiment Status</strong></td>
+            <td class="exp-status"><?php echo $expVal["experimentStatusString"]; ?></td>
+        </tr>
+        <?php
+        if ($expVal["jobState"]) echo '
+        <tr>
+            <td><strong>Job Status</strong></td>
+            <td>' . $expVal["jobState"] . '</td>
+        </tr>
+        ';
+        ?>
+
+        @if( isset($dashboard))
+        <tr>
+            <td><strong>Working Dir</strong></td>
+
+            <?php
+            foreach($jobDetails as $job) echo '
+                <td>' . $job->workingDir . '</td>
+            ';
+            ?>
+        </tr>
+         <tr>
+            <td><strong>Job Description</strong></td>
+
+            <?php
+            foreach($jobDetails as $job) echo '
+                <td>' . $job->jobDescription . '</td>
+            ';
+            ?>
+        </tr>
+        @endif
+
+        <tr>
+            <td><strong>Creation time</strong></td>
+            <td><?php echo $expVal["experimentCreationTime"]; ?></td>
+        </tr>
+        <tr>
+            <td><strong>Update time</strong></td>
+            <td><?php echo $expVal["experimentTimeOfStateChange"]; ?></td>
+        </tr>
+        <tr>
+            <td><strong>Inputs</strong></td>
+            <td><?php Utilities::list_input_files($experiment); ?></td>
+        </tr>
+        <tr>
+            <td><strong>Outputs</strong></td>
+            <td><?php Utilities::list_output_files($experiment, $expVal["experimentStatusString"]); ?></td>
+        </tr>
+        @if( $expVal["experimentStatusString"] == "FAILED")
+        <tr>
+            <td><strong>Errors</strong></td>
+            <td>
+                @foreach( (array)$experiment->errors as $error)
+                    {{ $error->actualErrorMessage }}
+                @endforeach
+            </td>
+        </tr>
+        @endif
+        
+    </table>
+
+    @if( !isset( $dashboard))
+    <form action="{{URL::to('/') }}/experiment/summary" method="post" role="form">
+        <div class="btn-toolbar">
+            <input name="launch"
+                   type="submit"
+                   class="btn btn-success"
+                   value="Launch"
+                   title="Launch the experiment" <?php if(!$expVal["editable"] ) echo 'disabled'  ?>>
+            <a href="{{URL::to('/') }}/experiment/cancel?expId={{ $experiment->experimentID }}"
+               class="btn btn-default"
+               role="button"
+               title="Edit the experiment's settings" <?php if(!$expVal["cancelable"] ) echo 'disabled'  ?>>
+                <input name="cancel" type="submit" class="btn btn-warning" value="Cancel" <?php if(!$expVal["cancelable"]) echo 'disabled';  ?> >
+            </a>
+            <input name="clone"
+                   type="submit"
+                   class="btn btn-primary"
+                   value="Clone"
+                   title="Create a clone of the experiment. Cloning is the only way to change an experiment's settings
+                    after it has been launched.">
+            <input type="hidden" name="expId" value="{{ Input::get('expId') }}"/>
+            <a href="{{URL::to('/') }}/experiment/edit?expId={{ $experiment->experimentID }}"
+               class="btn btn-default"
+               role="button"
+               title="Edit the experiment's settings" <?php if(!$expVal["editable"] ) echo 'disabled'  ?>>
+                <span class="glyphicon glyphicon-pencil"></span>
+                Edit
+            </a>
+        </div>
+    </form>
+    @endif
+    <input type="hidden" id="expObj" value="{{ htmlentities( json_encode( $experiment)) }}"/>
+
+    <!-- check of correct experiment Id ends here -->
+    @endif
+</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/app/views/partials/experiment-inputs.blade.php
----------------------------------------------------------------------
diff --git a/app/views/partials/experiment-inputs.blade.php b/app/views/partials/experiment-inputs.blade.php
new file mode 100644
index 0000000..475e065
--- /dev/null
+++ b/app/views/partials/experiment-inputs.blade.php
@@ -0,0 +1,111 @@
+<div class="form-group required">
+    <label for="experiment-name" class="control-label">Experiment Name</label>
+    <input type="text" class="form-control" name="experiment-name" id="experiment-name" placeholder="Enter experiment name" autofocus required="required" {{ $expInputs['disabled'] }} value="{{ $expInputs['experimentName'] }}">
+</div>
+<div class="form-group">
+    <label for="experiment-description">Experiment Description</label>
+    <textarea class="form-control" name="experiment-description" id="experiment-description" placeholder="Optional: Enter a short description of the experiment" {{ $expInputs['disabled'] }}>{{ $expInputs['experimentDescription'] }}</textarea>
+</div>
+<div class="form-group required">
+    <label for="project" class="control-label">Project</label>
+    @if( isset( $expInputs['cloning']))
+        {{ Utilities::create_project_select($expInputs['experiment']->projectID, $expInputs['expVal']['editable']) }}
+    @else
+        {{ Utilities::create_project_select($expInputs['project'], !$expInputs['disabled']) }}
+    @endif
+</div>
+    <div class="form-group">
+    <label for="application">Application</label>
+    @if( isset( $expInputs['cloning']))
+        {{ Utilities::create_application_select($expInputs['application'], false)}}
+    @else
+        {{ Utilities::create_application_select($expInputs['application'], !$expInputs['disabled']) }}
+    @endif
+</div>
+
+<div class="panel panel-default">
+    <div class="panel-heading">Application configuration</div>
+    <div class="panel-body">
+        <label>Application input</label>
+        <div class="well">
+            <input type="hidden" id="allowedFileSize" value="{{$expInputs['allowedFileSize']}}"/>
+            @if( isset( $expInputs['cloning']))
+                <div class="form-group">
+                    <p><strong>Current inputs</strong></p>
+                    {{ Utilities::list_input_files($expInputs['experiment']) }}
+                </div>
+                {{ Utilities::create_inputs($expInputs['application'], false) }}
+            @else
+                {{ Utilities::create_inputs($expInputs['application'], true) }}
+            @endif
+
+        </div>
+        <div class="form-group">
+            <label for="compute-resource">Compute Resource</label>
+            @if( isset( $expInputs['cloning']))
+                {{ Utilities::create_compute_resources_select($expInputs['experiment']->applicationId, $expInputs['expVal']['scheduling']->resourceHostId) }}
+            @else
+                {{ Utilities::create_compute_resources_select($expInputs['application'], null) }}
+            @endif
+        </div>
+
+        <div class="form-group">
+            <label for="node-count">Queue Name</label>
+            <input type="text" class="form-control" name="queue-name" id="queue-name" 
+            value="@if(isset($expInputs['expVal']) ){{ $expInputs['expVal']['scheduling']->queueName }}  @else{{$expInputs['queueName']}} @endif"
+            @if(isset($expInputs['expVal']) ) @if(!$expInputs['expVal']['editable']){{ disabled }} @endif @endif>
+        </div>
+        <div class="form-group">
+            <label for="node-count">Node Count</label>
+            <input type="number" class="form-control" name="node-count" id="node-count" min="1"
+            value="@if(isset($expInputs['expVal']) ){{ $expInputs['expVal']['scheduling']->nodeCount }}@else{{$expInputs['nodeCount']}}@endif"
+            @if(isset($expInputs['expVal']) ) @if(!$expInputs['expVal']['editable']){{disabled}} @endif @endif>
+        </div>
+        <div class="form-group">
+            <label for="cpu-count">Total Core Count</label>
+            <input type="number" class="form-control" name="cpu-count" id="cpu-count" min="1"
+            value="@if(isset($expInputs['expVal']) ){{ $expInputs['expVal']['scheduling']->totalCPUCount }}@else{{$expInputs['cpuCount']}}@endif"
+            @if(isset($expInputs['expVal'])) @if(!$expInputs['expVal']['editable']){{disabled}} @endif @endif>
+        </div>
+        <div class="form-group">
+            <label for="wall-time">Wall Time Limit</label>
+            <div class="input-group">
+                <input type="number" class="form-control" name="wall-time" id="wall-time" min="0"
+                value="@if(isset($expInputs['expVal']) ){{ $expInputs['expVal']['scheduling']->wallTimeLimit }}@else{{$expInputs['wallTimeLimit']}}@endif"
+                @if(isset($expInputs['expVal'])) @if(!$expInputs['expVal']['editable']){{disabled}} @endif @endif>
+                <span class="input-group-addon">minutes</span>
+            </div>
+        </div>
+        <div class="form-group">
+            <label for="wall-time">Total Physical Memory</label>
+            <div class="input-group">
+                <input type="number" class="form-control" name="total-physical-memory" id="wall-time" min="0"
+                value="@if(isset($expInputs['expVal']) ){{ $expInputs['expVal']['scheduling']->totalPhysicalMemory }}@endif"
+                @if(isset($expInputs['expVal'])) @if(!$expInputs['expVal']['editable']){{disabled}} @endif @endif>
+                <span class="input-group-addon">MB</span>
+            </div>
+        </div>
+    </div>
+</div>
+<h3>Notifications</h3>
+<div class="form-group well">
+	<label for=""></label>
+	<input type="checkbox" id="enableEmail" name="enableEmailNotification" value="1">Do you want to receive email notifications for status changes in the experiment?<br/>
+	<div class="emailSection hide">
+		<h4>Enter Email Address here.</h4>
+		<div class="emailAddresses">
+			<input type="email" id="emailAddresses" class="form-control" name="emailAddresses[]" placeholder="Email"/>
+		</div>
+		<button type="button" class="addEmail btn btn-default">Add another Email</button>
+	</div>
+</div>
+
+@if( $expInputs["advancedOptions"])
+<h3>Advanced Options</h3>
+<div class="form-group well">
+    <h4>Enter UserDN</h4>
+    <div class="userdninfo">
+        <input type="text" class="form-control" name="userDN" placeholder="user"/>
+    </div>
+</div>
+@endif

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/app/views/partials/gateway-preferences.blade.php
----------------------------------------------------------------------
diff --git a/app/views/partials/gateway-preferences.blade.php b/app/views/partials/gateway-preferences.blade.php
new file mode 100644
index 0000000..51889d4
--- /dev/null
+++ b/app/views/partials/gateway-preferences.blade.php
@@ -0,0 +1,67 @@
+<!-- String replace is done as Jquery creates problems when using period(.) in id or class. -->
+<div id="cr-{{ str_replace( '.', "_", $computeResource->computeResourceId) }}" class="@if(isset( $show) ) @if( !$show) hide @endif @else hide @endif">
+	<h3 class="text-center">Set Preferences</h3>
+	<div class="form-group">
+		<label class="control-label col-md-3">Override by Airavata</label>
+		<div class="col-md-9">
+			<select class="form-control" name="overridebyAiravata">
+				<option value="1" @if( isset( $preferences) ) @if( 1 == $preferences->overridebyAiravata) selected @endif @endif>True</option>
+				<option value="0" @if( isset( $preferences) )  @if( 0 == $preferences->overridebyAiravata) selected @endif @endif>False</option>
+			</select>
+		</div>
+	</div><br/>
+	<div class="form-group">
+		<label class="control-label col-md-3">Login Username</label>
+		<div class="col-md-9">
+			<input type="text" name="loginUserName" class="form-control" value="@if( isset( $preferences) ){{$preferences->loginUserName}}@endif" />
+		</div>
+	</div>
+	<div class="form-group">
+		<label class="control-label col-md-3">Preferred Job Submission Protocol</label>
+		<div class="col-md-9">
+			<select name="preferredJobSubmissionProtocol" class="form-control">
+			@foreach( (array)$computeResource->jobSubmissionInterfaces as $index => $jsi)
+				<option value="{{$jsi->jobSubmissionProtocol}}" @if( isset( $preferences) )  @if( $preferences->preferredJobSubmissionProtocol == $jsi->jobSubmissionProtocol) selected @endif @endif>{{ $crData["jobSubmissionProtocols"][$jsi->jobSubmissionProtocol] }}</option>
+			@endforeach
+			</select>
+
+		</div>
+	</div>
+	<br/>
+	<div class="form-group">
+		<label class="control-label col-md-3">Preferred Data Movement Protocol</label>
+		<div class="col-md-9">
+			<select name="preferredDataMovementProtocol" class="form-control">
+			@foreach( (array)$computeResource->dataMovementInterfaces as $index => $dmi)
+				<option value="{{ $dmi->dataMovementProtocol}}"  @if( isset( $preferences) )  @if( $preferences->preferredDataMovementProtocol == $dmi->dataMovementProtocol) selected @endif @endif>{{ $crData["dataMovementProtocols"][$dmi->dataMovementProtocol] }}</option>
+			@endforeach
+			</select>
+		</div>
+	</div>
+	<div class="form-group">
+		<label class="control-label col-md-3">Preferred Batch Queue</label>
+		<div class="col-md-9">
+			<select name="preferredBatchQueue" class="form-control">
+			@foreach( (array)$computeResource->batchQueues as $index => $queue)
+				<option value="{{ $queue->queueName}}"   @if( isset( $preferences) )  @if( $preferences->preferredBatchQueue == $queue->queueName) selected @endif @endif>{{ $queue->queueName}}</option>
+			@endforeach
+			</select>
+		</div>
+	</div>
+	<div class="form-group">
+		<label class="control-label col-md-3">Scratch Location</label>
+		<div class="col-md-9">
+			<input type="text" name="scratchLocation" class="form-control" value="@if( isset( $preferences) ){{$preferences->scratchLocation}}@endif" />
+		</div>
+	</div>
+
+	<div class="form-group">
+		<label class="control-label col-md-3">Allocation Project Number</label>
+		<div class="col-md-9">
+			<input type="text" name="allocationProjectNumber" class="form-control" value="@if( isset( $preferences) ){{$preferences->allocationProjectNumber}}@endif"/>
+		</div>
+	</div>
+	<div class="form-group">
+		<input type="submit" class="form-control btn btn-primary" value="Set preferences" />
+	</div>
+</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/app/views/partials/interface-block.blade.php
----------------------------------------------------------------------
diff --git a/app/views/partials/interface-block.blade.php b/app/views/partials/interface-block.blade.php
new file mode 100644
index 0000000..3510bd3
--- /dev/null
+++ b/app/views/partials/interface-block.blade.php
@@ -0,0 +1,49 @@
+@if( isset( $interfaceObject) )
+	<input type="hidden" name="app-interface-id" value="{{$interfaceObject->applicationInterfaceId}}"/>
+@endif
+<div class="appInterfaceInputs">
+	<div class="form-group required">
+		<label class="control-label interface-name">Application Name</label>
+		<input type="text" readonly class="form-control" name="applicationName" required value="@if( isset( $interfaceObject) ){{$interfaceObject->applicationName}}@endif"/>
+	</div>
+	<div class="form-group">
+		<label class="control-label">Application Description</label>
+		<input type="text" readonly class="form-control" name="applicationDescription" value="@if( isset( $interfaceObject) ){{ $interfaceObject->applicationDescription}}@endif" />
+	</div>
+	<div class="form-group">
+		<label class="control-label">Application Modules</label>
+		<div class="app-modules">
+		@if( isset( $interfaceObject))
+		@for( $i=0; $i< count( $interfaceObject->applicationModules); $i++ )
+			<div class="input-group">
+				<select name="applicationModules[]" class="app-module-select form-control" readonly>
+				@foreach( $modules as $index => $module)
+					<option value="{{ $module->appModuleId }}" @if( $interfaceObject->applicationModules[$i] == $module->appModuleId) selected @endif>{{ $module->appModuleName}}</option>
+				@endforeach
+				</select>
+				<span class="input-group-addon hide remove-app-module" style="cursor:pointer;">x</span>
+			</div>
+		@endfor
+		@endif
+		</div>
+		<button type="button" class="hide btn btn-default add-app-module">Add Application Module</button>
+	</div>
+	<div class="form-group form-horizontal">
+		@if( isset( $interfaceObject))
+			@foreach( (array)$interfaceObject->applicationInputs as $index => $appInputs)
+				@include( 'partials/interface-input-block', array('dataTypes' => $dataTypes, 'appInputs' => $appInputs) )
+			@endforeach
+		@endif
+		<div class="app-inputs"></div>
+		<button type="button" class=" hide btn btn-default add-input">Add Application Input</button>
+	</div>
+	<div class="form-group form-horizontal">
+		@if( isset( $interfaceObject) )
+			@foreach( (array)$interfaceObject->applicationOutputs as $index => $appOutputs)
+				@include( 'partials/interface-output-block', array('dataTypes' => $dataTypes, 'appOutputs' => $appOutputs) )
+			@endforeach
+		@endif
+		<div class="app-outputs"></div>
+		<button type="button" class="hide btn btn-default add-output">Add Application Output</button>
+	</div>
+</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/app/views/partials/interface-input-block.blade.php
----------------------------------------------------------------------
diff --git a/app/views/partials/interface-input-block.blade.php b/app/views/partials/interface-input-block.blade.php
new file mode 100644
index 0000000..60fde02
--- /dev/null
+++ b/app/views/partials/interface-input-block.blade.php
@@ -0,0 +1,95 @@
+<div class="well app-input-data-block">
+	<span class="glyphicon glyphicon-trash pull-right remove-input-space"></span>
+	<h4>App Input Fields</h4>
+	<div class="form-group required">
+		<label class="control-label col-md-3">Name</label>
+		<div class="col-md-9">
+			<input type="text" readonly class="form-control" name="inputName[]" required value="@if( isset( $appInputs) ){{$appInputs->name}}@endif"/>
+		</div>
+	</div>
+	<div class="form-group">
+		<label class="control-label col-md-3">Value</label>
+		<div class="col-md-9">
+			<input type="text" readonly class="form-control" name="inputValue[]" value="@if( isset( $appInputs)){{$appInputs->value}}@endif"/>
+		</div>
+	</div>
+	<div class="form-group">
+		<label class="control-label col-md-3">Type</label>
+		<div class="col-md-9">
+			<select class="form-control" name="inputType[]" readonly>
+			@foreach( $dataTypes as $index => $dataType)
+				<option value="{{ $index }}" @if( isset( $appInputs) ) @if( $index == $appInputs->type) selected @endif @endif>{{ $dataType }}</option>
+			@endforeach
+			</select>
+		</div>
+	</div>
+	<div class="form-group">
+		<label class="control-label col-md-3">Application Argument</label>
+		<div class="col-md-9">
+			<input type="text" readonly class="form-control" name="applicationArgumentInput[]" value="@if( isset( $appInputs) ){{$appInputs->applicationArgument }}@endif"/>
+		</div>
+	</div>
+	<div class="form-group">
+		<label class="control-label col-md-3">Standard Input</label>
+		<div class="col-md-9">
+			<select class="form-control" name="standardInput[]" readonly>
+				<option value="0" @if( isset( $appInputs) )  @if( 0 == $appInputs->standardInput) selected @endif @endif>False</option>
+				<option value="1" @if( isset( $appInputs) ) @if( 1 == $appInputs->standardInput) selected @endif @endif>True</option>
+			</select>
+		</div>
+	</div>
+	<div class="form-group">
+		<label class="control-label col-md-3">User Friendly Description</label>
+		<div class="col-md-9">
+			<textarea readonly class="form-control" name="userFriendlyDescription[]">@if( isset( $appInputs) ){{$appInputs->userFriendlyDescription}}@endif</textarea>
+		</div>
+	</div>
+	<div class="form-group col-md-6">
+		<label class="control-label col-md-5">Input Order</label>	
+		<div class="col-md-7">
+			<input type="number" readonly class="form-control" name="inputOrder[]" value="@if( isset( $appInputs) ){{$appInputs->inputOrder}}@endif"/>
+		</div>
+	</div>
+	<div class="form-group col-md-7">
+		<label class="control-label col-md-4">Data is Staged?</label>
+		<div class="col-md-8">
+			<select name="dataStaged[]" class="form-control">
+				<option>select</option>
+				<option value="1" @if( isset( $appInputs) ) @if( $appInputs->dataStaged == 1) selected @endif @endif>True</option>
+				<option value="0" @if( isset( $appInputs) ) @if( $appInputs->dataStaged == 0) selected @endif @endif>False</option>
+			</select>
+		</div>
+		<!-- Removed Radio button because it creates problems with multiple inputs
+		<label class="radio-inline">
+			<input type="radio" name="dataStaged[]"  @if( isset( $appInputs) ) @if( $appInputs->dataStaged == 1) checked @endif @endif>True
+		</label>
+		<label class="radio-inline">
+			<input type="radio" name="dataStaged[]"  @if( isset( $appInputs) ) @if( $appInputs->dataStaged == 0) checked @endif @endif>False
+		</label>
+		-->
+	</div>
+	<div class="form-group col-md-6">
+		<label class="control-label col-md-6">Is the Input required?</label>
+		<div class="col-md-6">
+			<select class="form-control" name="isRequiredInput[]" readonly>
+				<option value="0" @if( isset( $appInputs) )  @if( 0 == $appInputs->isRequired) selected @endif @endif>False</option>
+				<option value="1" @if( isset( $appInputs) ) @if( 1 == $appInputs->isRequired) selected @endif @endif>True</option>
+			</select>
+		</div>
+	</div>
+	<div class="form-group col-md-7">
+		<label class="control-label col-md-6">Required on command line?</label>
+		<div class="col-md-6">
+			<select class="form-control" name="requiredToAddedToCommandLineInput[]" readonly>
+				<option value="0" @if( isset( $appInputs) )  @if( 0 == $appInputs->requiredToAddedToCommandLine) selected @endif @endif>False</option>
+				<option value="1" @if( isset( $appInputs) ) @if( 1 == $appInputs->requiredToAddedToCommandLine) selected @endif @endif>True</option>
+			</select>
+		</div>
+	</div>
+	<div class="form-group">
+		<label class="control-label col-md-3">Meta Data</label>
+		<div class="col-md-9">
+			<textarea readonly class="form-control" name="metaData[]">@if( isset( $appInputs) ){{$appInputs->metaData}}@endif</textarea>
+		</div>
+	</div>
+</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/app/views/partials/interface-output-block.blade.php
----------------------------------------------------------------------
diff --git a/app/views/partials/interface-output-block.blade.php b/app/views/partials/interface-output-block.blade.php
new file mode 100644
index 0000000..fe78060
--- /dev/null
+++ b/app/views/partials/interface-output-block.blade.php
@@ -0,0 +1,80 @@
+<div class="well">
+	<span class="glyphicon glyphicon-trash pull-right remove-output-space"></span>
+	<h4>App Output Fields</h4>
+	<div class="form-group required">
+		<label class="control-label col-md-3">Name</label>
+		<div class="col-md-9">
+			<input type="text" readonly class="form-control" name="outputName[]" required value="@if( isset( $appOutputs) ){{$appOutputs->name}}@endif"/>
+		</div>
+	</div>
+	<div class="form-group">
+		<label class="control-label col-md-3">Value</label>
+		<div class="col-md-9">
+			<input type="text" readonly class="form-control" name="outputValue[]" value="@if( isset( $appOutputs) ){{$appOutputs->value}}@endif"/>
+		</div>
+	</div>
+	<div class="form-group">
+		<label class="control-label col-md-3">Type</label>
+		<div class="col-md-9">
+			<select class="form-control" name="outputType[]" readonly>
+			@foreach( $dataTypes as $index => $dataType)
+				<option value="{{ $index }}" @if( isset( $appOutputs) )  @if( $index == $appOutputs->type ) selected @endif @endif>{{ $dataType }}</option>
+			@endforeach
+			</select>
+		</div>
+	</div>
+	<div class="form-group">
+		<label class="control-label col-md-3">Application Argument</label>
+		<div class="col-md-9">
+			<input type="text" readonly class="form-control" name="applicationArgumentOutput[]" value="@if( isset( $appOutputs) ){{$appOutputs->applicationArgument }}@endif"/>
+		</div>
+	</div>
+	<div class="form-group">
+		<label class="control-label col-md-3">Data Movement</label>
+		<div class="col-md-9">
+			<select name="dataMovement[]" class="form-control">
+				<option>select</option>
+				<option value="1" @if( isset( $appOutputs) ) @if( $appOutputs->dataMovement == 1) selected @endif @endif>True</option>
+				<option value="0" @if( isset( $appOutputs) ) @if( $appOutputs->dataMovement == 0) selected @endif @endif>False</option>
+			</select>
+		</div>
+		<!--
+		<label class="radio-inline">
+			<input type="radio" name="dataMovement[]"  @if( isset( $appOutputs) ) @if( $appOutputs->dataMovement == 1) checked @endif @endif>True
+		</label>
+		<label class="radio-inline">
+			<input type="radio" name="dataMovement[]"  @if( isset( $appOutputs) ) @if( $appOutputs->dataMovement == 0) checked @endif @endif>False
+		</label>
+		-->
+	</div>
+	<div class="form-group col-md-6">
+		<label class="control-label col-md-6">Is the Output required?</label>
+		<div class="col-md-6">
+			<select class="form-control" name="isRequiredOutput[]" readonly>
+				<option value="0" @if( isset( $appOutputs) )  @if( 0 == $appOutputs->isRequired) selected @endif @endif>False</option>
+				<option value="1" @if( isset( $appOutputs) ) @if( 1 == $appOutputs->isRequired) selected @endif @endif>True</option>
+			</select>
+		</div>
+	</div>
+	<div class="form-group col-md-7">
+		<label class="control-label col-md-6">Required on command line?</label>
+		<div class="col-md-6">
+			<select class="form-control" name="requiredToAddedToCommandLineOutput[]" readonly>
+				<option value="0" @if( isset( $appOutputs) )  @if( 0 == $appOutputs->requiredToAddedToCommandLine) selected @endif @endif>False</option>
+				<option value="1" @if( isset( $appOutputs) ) @if( 1 == $appOutputs->requiredToAddedToCommandLine) selected @endif @endif>True</option>
+			</select>
+		</div>
+	</div>
+	<div class="form-group">
+		<label class="control-label col-md-3">Location</label>	
+		<div class="col-md-9">
+			<input type="text" readonly class="form-control" name="location[]" value="@if( isset( $appOutputs) ){{$appOutputs->location}}@endif"/>
+		</div>
+	</div>
+	<div class="form-group">
+		<label class="control-label col-md-3">Search Query</label>	
+		<div class="col-md-9">
+			<input type="text" readonly class="form-control" name="searchQuery[]" value="@if( isset( $appOutputs) ){{$appOutputs->searchQuery}}@endif"/>
+		</div>
+	</div>
+</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/app/views/partials/module-block.blade.php
----------------------------------------------------------------------
diff --git a/app/views/partials/module-block.blade.php b/app/views/partials/module-block.blade.php
new file mode 100644
index 0000000..b30ad27
--- /dev/null
+++ b/app/views/partials/module-block.blade.php
@@ -0,0 +1,16 @@
+<div id="new-app-module-block">
+	
+	<div class="form-group required">
+		<label class="control-label">Application Module Name</label>
+		<input type="text" class="form-control edit-name" name="appModuleName" maxlength="150" required/>
+	</div>
+	<div class="form-group">
+		<label class="control-label">Application Module Version</label>
+		<input type="text" class="form-control edit-version" name="appModuleVersion" maxlength="30" />
+	</div>
+	<div class="form-group">
+		<label class="control-label">Description</label>
+		<textarea class="form-control edit-desc" name="appModuleDescription" maxlength="255"></textarea>
+	</div>
+		
+</div>

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/app/views/partials/queue-block.blade.php
----------------------------------------------------------------------
diff --git a/app/views/partials/queue-block.blade.php b/app/views/partials/queue-block.blade.php
new file mode 100644
index 0000000..0238b42
--- /dev/null
+++ b/app/views/partials/queue-block.blade.php
@@ -0,0 +1,24 @@
+<div class="form-group">
+	<label class="control-label">Queue Description</label>
+	<textarea class="form-control" maxlength="255" name="qdesc" placeholder="Queue Description">@if( isset( $queueData) ){{ $queueData->queueDescription }}@endif</textarea>
+</div>
+<div class="form-group">
+	<label class="control-label">Queue Max Run Time<small> (In Minutes) </small></label>
+	<input type="number" min="0" class="form-control" value="@if( isset( $queueData) ){{ $queueData->maxRunTime }}@endif" maxlength="30" name="qmaxruntime" placeholder="Queue Max Run Time"/>
+</div>
+<div class="form-group">
+	<label class="control-label">Queue Max Nodes</label>
+	<input type="number" min="0" class="form-control" value="@if( isset( $queueData) ){{ $queueData->maxNodes }}@endif" maxlength="30" name="qmaxnodes" placeholder="Queue Max Nodes"/>
+</div>
+<div class="form-group">
+	<label class="control-label">Queue Max Processors</label>
+	<input type="number" min="0" class="form-control" value="@if( isset( $queueData) ){{ $queueData->maxProcessors }}@endif" maxlength="30" name="qmaxprocessors" placeholder="Queue Max Processors"/>
+</div>
+<div class="form-group">
+	<label class="control-label">Max Jobs in Queue</label>
+	<input type="number" min="0" class="form-control" value="@if( isset( $queueData) ){{ $queueData->maxJobsInQueue }}@endif" maxlength="30" name="qmaxjobsinqueue" placeholder="Max Jobs In Queue"/>
+</div>
+<div class="form-group">
+	<label class="control-label">Max Memory For Queue( In MB )</label>
+	<input type="number" min="0" class="form-control" value="@if( isset( $queueData) ){{ $queueData->maxMemory }}@endif" maxlength="30" name="qmaxmemoryinqueue" placeholder="Max Memory For Queue"/>
+</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/app/views/project/create.blade.php
----------------------------------------------------------------------
diff --git a/app/views/project/create.blade.php b/app/views/project/create.blade.php
new file mode 100755
index 0000000..0cc28d3
--- /dev/null
+++ b/app/views/project/create.blade.php
@@ -0,0 +1,42 @@
+@extends('layout.basic')
+
+@section('page-header')
+    @parent
+@stop
+
+@section('content')
+
+<div class="container" style="max-width: 750px">
+    
+<h1>Create a new project</h1>
+
+
+<form action="create" method="post" role="form" class="project-creation-form">
+    <div class="form-group required">
+        <label for="project-name" class="control-label">Project Name</label>
+        <input type="text" class="form-control projectName" name="project-name" id="project-name" placeholder="Enter project name" autofocus required>
+    </div>
+
+    <div class="form-group">
+        <label for="project-description">Project Description</label>
+        <textarea class="form-control" name="project-description" id="project-description" placeholder="Optional: Enter a short description of the project"></textarea>
+    </div>
+
+    <input name="save" type="submit" class="btn btn-primary create-project" value="Save">
+    <input name="clear" type="reset" class="btn btn-default" value="Clear">
+
+
+</form>
+
+</div>
+
+@stop
+
+@section('scripts')
+    @parent
+    <script>
+        $(".projectName").blur( function(){
+            $(this).val( $.trim( $(this).val() ) );
+        });
+    </script>
+@stop
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/app/views/project/edit.blade.php
----------------------------------------------------------------------
diff --git a/app/views/project/edit.blade.php b/app/views/project/edit.blade.php
new file mode 100755
index 0000000..e2c40b1
--- /dev/null
+++ b/app/views/project/edit.blade.php
@@ -0,0 +1,50 @@
+@extends('layout.basic')
+
+@section('page-header')
+    @parent
+@stop
+
+@section('content')
+
+<div class="container" style="max-width: 750px;">
+
+	<?php if( Session::has("project_edited")) { ?>
+		<div class="alert alert-success">
+			The project has been edited
+		</div>
+		<?php Session::forget("project_edited"); 
+
+		}
+	?>
+
+
+    <h1>Edit Project</h1>
+
+    <form action="edit" method="post" role="form">
+        <div class="form-group">
+            <label for="project-name">Project Name</label>
+            <input type="text"
+                   class="form-control"
+                   name="project-name"
+                   id="project-name"
+                   value="{{ $project->name }}">
+        </div>
+        <div class="form-group">
+            <label for="project-description">Project Description</label>
+            <textarea class="form-control"
+                      name="project-description"
+                      id="project-description">{{ $project->description }}</textarea>
+            <input type="hidden" name="projectId" value="{{ Input::get('projId') }}"/>
+        </div>
+
+        <div class="btn-toolbar">
+            <input name="save" type="submit" class="btn" value="Save">
+        </div>
+
+
+    </form>
+
+
+</div>
+
+@stop
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/app/views/project/search.blade.php
----------------------------------------------------------------------
diff --git a/app/views/project/search.blade.php b/app/views/project/search.blade.php
new file mode 100755
index 0000000..486fd9d
--- /dev/null
+++ b/app/views/project/search.blade.php
@@ -0,0 +1,103 @@
+
+@extends('layout.basic')
+
+@section('page-header')
+    @parent
+@stop
+
+@section('content')
+
+    <div class="container" style="max-width: 750px;">
+
+        <h1>Search for Projects</h1>
+
+        <form action="{{ URL::to('/') }}/project/search" method="post" class="form-inline" role="form">
+            <div class="form-group">
+                <label for="search-key">Search by</label>
+                <select class="form-control" name="search-key" id="search-key">
+                    <option value="project-name">Project Name</option>
+                    <option value="project-description">Project description</option>
+                </select>
+            </div>
+
+            <div class="form-group">
+                <label for="search-value">for</label>
+                <input type="search" class="form-control" name="search-value" id="search-value" placeholder="value" required
+                       value="<?php if (isset($_POST['search-value'])) echo $_POST['search-value'] ?>">
+            </div>
+
+            <button name="search" type="submit" class="btn btn-primary" value="Search"><span class="glyphicon glyphicon-search"></span> Search</button>
+                <p class="help-block">You can use * as a wildcard character. Tip: search for * alone to retrieve all of your projects.</p>
+        </form>
+
+
+
+
+
+        <?php
+
+        if (isset( $projects))
+        {
+            /**
+             * get results
+             */
+
+            /**
+             * display results
+             */
+            if (sizeof($projects) == 0)
+            {
+                Utilities::print_warning_message('No results found. Please try again.');
+            }
+            else
+            {
+            ?>
+                <div class="table-responsive">
+                    <table class="table">
+
+                        <tr>
+
+                            <th>Name</th>
+                            <th>Creation Time</th>
+                            <th>Experiments</th>
+
+                        </tr>
+            <?php
+
+                foreach ($projects as $project)
+                {
+
+            ?>
+                    <tr>
+                        <td>
+                            <?php echo $project->name; ?>
+                            <a href="{{URL::to('/')}}/project/edit?projId=<?php echo $project->projectID; ?>" title="Edit">
+                                <span class="glyphicon glyphicon-pencil"></span>
+                            </a>
+                        </td>
+                        <td>
+                            <?php echo date('Y-m-d H:i:s', $project->creationTime/1000); ?>
+                        </td>
+                        <td>
+                            <a href="{{URL::to('/')}}/project/summary?projId=<?php echo $project->projectID; ?>">
+                                <span class="glyphicon glyphicon-list"></span>
+                            </a>
+                            <a href="{{URL::to('/')}}/project/summary?projId=<?php echo $project->projectID; ?>"> View</a>
+                        </td>
+                    </tr>
+            <?php
+
+                }
+
+                echo '</table>';
+                echo '</div>';
+            }
+
+        }
+        
+        ?>
+
+
+    </div>
+
+@stop
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/app/views/project/summary.blade.php
----------------------------------------------------------------------
diff --git a/app/views/project/summary.blade.php b/app/views/project/summary.blade.php
new file mode 100755
index 0000000..9cb1582
--- /dev/null
+++ b/app/views/project/summary.blade.php
@@ -0,0 +1,121 @@
+@extends('layout.basic')
+
+@section('page-header')
+    @parent
+@stop
+
+@section('content')
+
+<div class="container" style="max-width: 750px;">
+
+
+    <h1>Project Summary</h1>
+
+
+
+    <?php
+
+    $project = Utilities::get_project($_GET['projId']);
+
+
+
+    echo '<div class="panel panel-default">';
+
+    echo '<div class="panel-heading">';
+    echo '<h3>' . $project->name . ' <a href="edit?projId=' .
+                        $project->projectID .
+                        '" title="Edit"><span class="glyphicon glyphicon-pencil"></span></a></h3>';
+    echo "<p>$project->description</p>";
+    echo '</div>';
+
+    $experiments = Utilities::get_experiments_in_project($project->projectID);
+
+    echo '<div class="table-responsive">';
+    echo '<table class="table">';
+
+    echo '<tr>';
+
+    echo '<th>Name</th>';
+    echo '<th>Application</th>';
+    echo '<th>Time</th>';
+    echo '<th>Status</th>';
+
+    echo '</tr>';
+
+    foreach ($experiments as $experiment)
+    {
+    	$expValues = Utilities::get_experiment_values( $experiment, Utilities::get_project($experiment->projectID), true );
+        $applicationInterface = Utilities::get_application_interface($experiment->applicationId);
+
+        echo '<tr>';
+
+        echo '<td>';
+
+
+        switch ($expValues["experimentStatusString"])
+        {
+            case 'SCHEDULED':
+            case 'LAUNCHED':
+            case 'EXECUTING':
+            case 'CANCELING':
+            case 'COMPLETED':
+                echo $experiment->name;
+                break;
+            default:
+                echo $experiment->name .
+                    ' <a href="edit?expId=' .
+                    $experiment->experimentID .
+                    '" title="Edit"><span class="glyphicon glyphicon-pencil"></span></a>';
+                break;
+        }
+
+
+
+        echo '</td>';
+
+        echo "<td>$applicationInterface->applicationName</td>";
+
+
+
+        echo '<td>' . $expValues["experimentTimeOfStateChange"] . '</td>';
+
+
+        switch ($expValues["experimentStatusString"])
+        {
+            case 'CANCELING':
+            case 'CANCELED':
+            case 'UNKNOWN':
+                $textClass = 'text-warning';
+                break;
+            case 'FAILED':
+                $textClass = 'text-danger';
+                break;
+            case 'COMPLETED':
+                $textClass = 'text-success';
+                break;
+            default:
+                $textClass = 'text-info';
+                break;
+        }
+
+
+        echo '<td><a class="' .
+            $textClass .
+            '" href="' . URL::to('/') . '/experiment/summary?expId=' .
+            $experiment->experimentID .
+            '">' .
+            $expValues["experimentStatusString"] .
+            '</a></td>';
+
+        echo '</tr>';
+    }
+
+    echo '</table>';
+    echo '</div>';
+    echo '</div>';
+
+    ?>
+
+
+</div>
+@stop
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/app/views/resource/browse.blade.php
----------------------------------------------------------------------
diff --git a/app/views/resource/browse.blade.php b/app/views/resource/browse.blade.php
new file mode 100644
index 0000000..1cca0ad
--- /dev/null
+++ b/app/views/resource/browse.blade.php
@@ -0,0 +1,132 @@
+@extends('layout.basic')
+
+@section('page-header')
+    @parent
+@stop
+
+@section('content')
+
+<div class="container">
+	@if( Session::has("message"))
+		<div class="col-md-12">
+			<span class="alert alert-success">{{ Session::get("message") }}</span>
+		</div>
+		{{ Session::forget("message") }}
+	@endif  
+
+	@if ( isset( $allCRs) )
+        @if (sizeof($allCRs) == 0)
+            {{ Utilities::print_warning_message('No Compute Resources exist at the moment. Please register compute resources and then try again.') }}
+        @else
+            <div class="col-md-12">
+                <div class="col-md-6">
+                    <h3 style="margin:0;">Existing Compute Resources :</h3>
+                </div>
+                <input type="text" class="pull-right filterinput col-md-6" placeholder="Search by Compure Resource Name"/>
+            <div class="table-responsive">
+                <table class="table">
+
+                    <tr>
+
+                        <th>Name</th>
+                        <th>Id</th>
+                        <th>Edit</th>
+                        <th>View</th>
+                        <th>Delete</th>
+                    </tr>
+
+            @foreach ($allCRs as $crId => $crName)
+
+	                <tr id="crDetails">
+	                    <td>{{ $crName }}</td>
+	                    <td>{{ $crId }}</td>
+	                    <td><a href="{{URL::to('/')}}/cr/edit?crId={{ $crId }}" title="Edit">
+	                            <span class="glyphicon glyphicon-pencil"></span>
+	                        </a>
+	                    </td>
+	                    <td>
+	                        <a  class="view-cr" href="#" > <!-- {{URL::to('/')}}/cr/summary?crId={{ $crId }}"> -->
+	                            <span class="glyphicon glyphicon-list"></span>
+	                        </a>
+	                    </td>
+	                    <td>
+	                    	<a href="#" title="Delete">
+	                    		<span class="glyphicon glyphicon-trash del-cr"  data-toggle="modal" data-target="#delete-cr-block"  data-delete-cr-name="{{$crName}}" data-deployment-count="{{$connectedDeployments[$crId]}}" data-crid="{{$crId}}" ></span>
+	                    	</a>
+	                    </td>
+	                </tr>
+	            @endforeach
+
+	           </table>
+			</div>
+
+        @endif
+    @endif
+
+<div class="modal fade" id="delete-cr-block" tabindex="-1" role="dialog" aria-labelledby="add-modal" aria-hidden="true">
+    <div class="modal-dialog">
+
+		<form action="{{URL::to('/')}}/cr/delete-cr" method="POST">
+	        <div class="modal-content">
+	            <div class="modal-header">
+	              	<h3 class="text-center">Delete Compute Resource Confirmation</h3>
+	            </div>
+	            <div class="modal-body">
+					<input type="hidden" class="form-control delete-crId" name="del-crId"/>
+					The Compute Resource, <span class="delete-cr-name"></span> is connected to <span class="deploymentCount">0</span> deployments.
+			 		Do you really want to delete it? This action cannot be undone.
+				</div>
+				<div class="modal-footer">
+					<div class="form-group">
+						<input type="submit" class="btn btn-danger" value="Delete"/>
+						<input type="button" class="btn btn-default" data-dismiss="modal" value ="Cancel"/>
+					</div>
+				</div>
+			</div>
+
+		</form>
+	</div>
+</div>
+
+</div>
+
+@stop
+@section('scripts')
+	@parent
+	<script type="text/javascript">
+    $(".view-cr").click( function(){
+    	alert("The functionality to view a Compute Resource is under construction.");
+    });
+    $('.filterinput').keyup(function() {
+        var value = $(this).val();
+        if (value.length > 0) {
+            $("table tr").each(function(index) {
+                if (index != 0) {
+
+                    $row = $(this);
+
+                    var id = $row.find("td:first").text();
+                    id = $.trim( id);
+                    id = id.substr( 0, value.length);
+                    if (id == value )
+                    {
+                        $(this).slideDown();
+                    }
+                    else {
+                        $(this).slideUp();
+                    }
+                }
+            });
+        } else {
+            $("table tr").slideDown();
+        }
+        return false;
+    });
+
+    $(".del-cr").click( function(){
+    	$(".delete-cr-name").html( "'" + $(this).data("delete-cr-name") + "'");
+    	$(".delete-crId").val( $(this).data("crid"));
+    	$(".deploymentCount").html( $(this).data("deployment-count"));
+    });
+    </script>
+@stop
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/app/views/resource/create-step3.blade.php
----------------------------------------------------------------------
diff --git a/app/views/resource/create-step3.blade.php b/app/views/resource/create-step3.blade.php
new file mode 100644
index 0000000..39f6bfe
--- /dev/null
+++ b/app/views/resource/create-step3.blade.php
@@ -0,0 +1,32 @@
+@extends('layout.basic')
+
+@section('page-header')
+    @parent
+    {{ HTML::style('css/style.css') }}
+@stop
+
+@section('content')
+
+<div class="container">
+	<div class="col-md-offset-2 col-md-8">
+		<h3>Add Resource Data</h3>
+		<form role="form" method="POST" action="{{ URL::to('/') }}/cr/create">
+
+		
+		</form>
+	</div>
+</div>
+
+@stop
+
+@section('scripts')
+	@parent
+    {{ HTML::script('js/script.js') }}
+
+	<script>
+		$(document).ready( function(){
+
+			
+		});
+	</script>
+@stop
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/app/views/resource/create.blade.php
----------------------------------------------------------------------
diff --git a/app/views/resource/create.blade.php b/app/views/resource/create.blade.php
new file mode 100644
index 0000000..df301c4
--- /dev/null
+++ b/app/views/resource/create.blade.php
@@ -0,0 +1,44 @@
+@extends('layout.basic')
+
+@section('page-header')
+    @parent
+@stop
+
+@section('content')
+
+<div class="container">
+	<div class="col-md-offset-2 col-md-8">
+		<h3>Create a Resource</h3>
+		<form role="form" method="POST" action="{{ URL::to('/') }}/cr/create">
+			<div class="form-group required">
+				<label class="control-label">Host Name</label>
+				<input class="form-control hostName" maxlength="100" name="hostname" required="required"/>
+			</div>
+			<div class="form-group">
+				<label class="control-label">Host Aliases</label>
+				<input class="form-control" maxlength="30" name="hostaliases[]"/>
+				<button type="button" class="btn btn-sm btn-default add-alias">Add More Aliases</button>
+			</div>
+			<div class="form-group">
+				<label class="control-label">IP Addresses</label>
+				<input class="form-control" maxlength="30" name="ips[]"/>
+				<button type="button" class="btn btn-sm btn-default add-ip">Add More IP Addresses</button>
+			</div>
+			<div class="form-group">
+				<label class="control-label">Resource Description</label>
+				<textarea class="form-control" maxlength="255" name="description"></textarea>
+			</div>
+			<div class="form-group">
+				<input type="submit" class="btn btn-lg btn-primary" name="step1" value="Create"/>
+				<input type="reset" class="btn btn-lg btn-success" value="Reset"/>
+			</div>
+		</form>
+	</div>
+</div>
+
+@stop
+
+@section('scripts')
+	@parent
+    {{ HTML::script('js/script.js') }}
+@stop
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/app/views/resource/edit.blade.php
----------------------------------------------------------------------
diff --git a/app/views/resource/edit.blade.php b/app/views/resource/edit.blade.php
new file mode 100644
index 0000000..5cd33cc
--- /dev/null
+++ b/app/views/resource/edit.blade.php
@@ -0,0 +1,730 @@
+@extends('layout.basic')
+
+@section('page-header')
+    @parent
+    {{ HTML::style('css/style.css') }}
+@stop
+
+@section('content')
+
+<div class="container">
+	<div class="col-md-offset-2 col-md-8">
+
+		<input type="hidden" class="base-url" value="{{URL::to('/')}}"/>
+
+		<div class="well">
+			<h4>Compute Resource : {{ $computeResource->hostName }}</h4>
+		</div>
+		@if( Session::has("message"))
+			<span class="alert alert-success col-md-12">{{Session::get("message")}}</span>
+			{{Session::forget("message") }}
+		@endif
+
+		<div class="col-md-12">
+			<ul class="nav nav-tabs nav-justified" id="tabs" role="tablist">
+			  <li class="active"><a href="#tab-desc" data-toggle="tab">Description</a></li>
+			  <li><a href="#tab-queues" data-toggle="tab">Queues</a></a></li>
+			  <li><a href="#tab-filesystem" data-toggle="tab">FileSystem</a></li>
+			  <li><a href="#tab-jobSubmission" data-toggle="tab">Job Submission Interfaces</a></li>
+			  <li><a href="#tab-dataMovement" data-toggle="tab">Data Movement Interfaces</a></li>
+			</ul>
+		</div>
+
+		<div class="tab-content">
+        	
+        	<div class="tab-pane active" id="tab-desc">
+
+				<form role="form" method="POST" action="{{ URL::to('/') }}/cr/edit">
+					<input type="hidden" name="crId" value="{{Input::get('crId') }}"/>
+					<input type="hidden" name="cr-edit" value="resDesc"/>
+					<div class="form-group required">
+						<label class="control-label">Host Name</label>
+						<input class="form-control hostName" value="{{ $computeResource->hostName }}" maxlength="100" name="hostname" required="required"/>
+					</div>
+					<div class="form-group">
+						<label class="control-label">Host Aliases</label>
+						@if( count(  $computeResource->hostAliases) )
+							@foreach( $computeResource->hostAliases as $hostAlias )
+								<input class="form-control" value="{{$hostAlias}}" maxlength="30" name="hostaliases[]"/>
+							@endforeach
+						@else
+							<input class="form-control" value="" maxlength="30" name="hostaliases[]"/>
+						@endif
+						<button type="button" class="btn btn-sm btn-default add-alias">Add Aliases</button>
+					</div>
+					<div class="form-group">
+						<label class="control-label">IP Addresses</label>
+						@if( count( $computeResource->ipAddresses))
+							@foreach( $computeResource->ipAddresses as $ip )
+								<input class="form-control" value="{{ $ip }}" maxlength="30" name="ips[]"/>
+							@endforeach
+						@else
+							<input class="form-control" value="" maxlength="30" name="ips[]"/>
+						@endif
+						<button type="button" class="btn btn-sm btn-default add-ip">Add IP Addresses</button>
+					</div>
+					<div class="form-group">
+						<label class="control-label">Resource Description</label>
+						<textarea class="form-control" maxlength="255" name="description">{{ $computeResource->resourceDescription }}</textarea>
+					</div>
+					<div class="form-group">
+						<label class="control-label">Maximum Memory Per Node ( In MB )</label>
+						<input type="number" min="0" class="form-control" value="{{ $computeResource->maxMemoryPerNode }}" maxlength="30" name="maxMemoryPerNode"/>
+					</div>
+					<div class="form-group">
+						<input type="submit" class="btn btn-primary" name="step1" value="Save changes"/>
+					</div>
+
+				</form>
+
+			</div>
+
+        	<div class="tab-pane" id="tab-queues">
+
+        		@if( is_array( $computeResource->batchQueues) )
+					<h3>Existing Queues :</h3>
+					<div class="panel-group" id="accordion">
+					@foreach( $computeResource->batchQueues as $index => $queue)
+						<div class="panel panel-default">
+							<div class="panel-heading">
+								<h4 class="panel-title">
+									<a class="accordion-toggle collapsed existing-queue-name" data-toggle="collapse" data-parent="#accordion" href="#collapse-{{$index}}">{{ $queue->queueName }}</a>
+									<div class="pull-right col-md-1">
+										<span class="glyphicon glyphicon-trash delete-queue" style="cursor:pointer;" data-toggle="modal" data-target="#delete-queue" data-queue-name="{{ $queue->queueName }}"></span>
+									</div>
+								</h4>
+							</div>
+							<div id="collapse-{{$index}}" class="panel-collapse collapse">
+								<div class="panel-body">
+									<form role="form" method="POST" action="{{ URL::to('/')}}/cr/edit">
+										<input type="hidden" name="crId" value="{{Input::get('crId') }}"/>
+										<div class="queue">
+											<input type="hidden" name="cr-edit" value="queue"/>
+											<div class="form-group required">
+												<label class="control-label">Queue Name <small> ( cannot be changed.) </small></label>
+												<input class="form-control" value="{{ $queue->queueName }}" maxlength="30" name="qname" placeholder="Queue Name" readonly />
+											</div>
+											@include('partials/queue-block', array('queueData'=>$queue))
+						          			<div class="form-group">
+												<input type="submit" min="0" class="btn" name="step1" value="Update"/>
+											</div>
+						          		</div>
+						      		</form>
+						      	</div>
+						    </div>
+						</div>
+			  		@endforeach
+			  		</div>
+			  	@endif
+				<div class="queue-block hide">
+					<form role="form" method="POST" action="{{ URL::to('/')}}/cr/edit">
+						<input type="hidden" name="crId" value="{{Input::get('crId') }}"/>
+						<div class="queue">
+							<div class="queue">
+								<input type="hidden" name="cr-edit" value="queue"/>
+								<div class="form-group required">
+									<label class="control-label">Queue Name<small> ( A queue name is unique and cannot be changed later.)</small></label>
+									<input class="form-control create-queue-name" maxlength="30" name="qname" placeholder="Queue Name" required="required"/>
+								</div>
+								@include('partials/queue-block')
+								
+			          		</div>
+		          			<div class="form-group">
+								<input type="button" class="btn create-queue-form btn-primary" name="step1" value="Create"/>
+								<input type="reset" class="btn  btn-success" value="Reset"/>
+							</div>
+		          		</div>
+		      		</form>
+		      	</div>
+				<div class="form-group well add-queue-block">
+					<button type="button" class="btn btn-sm btn-default add-queue">Add a Queue</button>
+				</div>
+
+			</div>
+
+        	<div class="tab-pane" id="tab-filesystem">
+
+        		<form role="form" method="POST" action="{{URL::to('/')}}/cr/edit">
+					<input type="hidden" name="crId" value="{{Input::get('crId') }}"/>
+					<input type="hidden" name="cr-edit" value="fileSystems"/>
+					<div class="form-group">
+						<h3>FileSystem</h3>
+						@foreach( $fileSystems as $index => $fileSystem)
+							<label class="control-label">{{ $fileSystem }}</label>
+							<input class="form-control" name="fileSystems[{{ $index }}]" placeholder="{{ $fileSystem }}" value="@if( isset( $computeResource->fileSystems[ $index]) ){{ $computeResource->fileSystems[ $index] }} @endif"/>
+						@endforeach
+						</select>
+					</div>
+					<div class="form-group">
+						<button class="btn btn-prim">Update</button>
+					</div>
+				</form>
+
+			</div>
+
+        	<div class="tab-pane" id="tab-jobSubmission">
+
+        		<div class="form-group">
+					<div class="job-submission-info row hide"></div>
+					<button type="button" class="btn btn-sm btn-default add-job-submission">Add a new Job Submission Interface</button>
+					@if( count( $jobSubmissionInterfaces ) > 1)
+        				<button type="button" class="btn btn-sm btn-default update-priority" data-type="jsi" data-toggle="modal" data-target="#update-jsi-priority">Update Priority</button>
+        			@endif
+				</div>
+
+        		@if( count( $jobSubmissionInterfaces ) )
+        			<div class="job-edit-info">
+        			@foreach( $jobSubmissionInterfaces as $index => $JSI )
+
+        				<div class="job-protocol-block">
+							<form role="form" method="POST" action="{{ URL::to('/') }}/cr/edit">
+								<input type="hidden" name="crId" value="{{Input::get('crId') }}"/>
+								<input type="hidden" name="cr-edit" value="edit-jsp"/>
+								<input type="hidden" name="jsiId" value="{{ $JSI->jobSubmissionInterfaceId }}"/>
+								<?php $selectedJspIndex = $computeResource->jobSubmissionInterfaces[ $index]->jobSubmissionProtocol; ?>
+
+        						<h4>Job Submission Protocol : {{ $jobSubmissionProtocols[ $selectedJspIndex] }}
+									<button type='button' class='close delete-jsi' data-toggle="modal" data-target="#confirm-delete-jsi" data-jsi-id="{{ $JSI->jobSubmissionInterfaceId }}">
+										<span class="glyphicon glyphicon-trash delete-jsi" data-toggle="modal" data-target="#confirm-delete-jsi" data-jsi-id="{{ $JSI->jobSubmissionInterfaceId }}"></span>
+									</button>
+								</h4>
+								<input type="hidden" name="jobSubmissionProtocol" value="{{ $selectedJspIndex }}"/>
+								@if( $selectedJspIndex == $jobSubmissionProtocolsObject::LOCAL)
+									<div class="select-resource-manager-type">
+										<div class="form-group required">
+											<label class="control-label">Select resource manager type</label>
+											<select name="resourceJobManagerType" class="form-control selected-resource-manager" required="required">
+											@foreach( $resourceJobManagerTypes as $index => $rJmT)
+												<option value="{{ $index }}" @if( $JSI->resourceJobManager->resourceJobManagerType == $index ) selected @endif >{{ $rJmT }}</option>
+											@endforeach
+											</select>
+										</div>
+										<div class="form-group">
+											<label class="control-label">Push Monitoring End Point</label>
+											<input type="text" class="form-control" name="pushMonitoringEndpoint" value="{{ $JSI->resourceJobManager->pushMonitoringEndpoint }}"/>
+										</div>
+										<div class="form-group">
+											<label class="control-label">Job Manager Bin Path</label>
+											<input type="text" class="form-control" name="jobManagerBinPath" value="{{ $JSI->resourceJobManager->jobManagerBinPath }}"/>
+										</div>
+										<div class="form-group">
+											<h3>Job Manager Commands</h3>
+											@foreach( $jobManagerCommands as $index => $jmc)
+												<label class="control-label">{{ $jmc }}</label>
+												<input class="form-control" name="jobManagerCommands[{{ $index }}]" placeholder="{{ $jmc }}" value="@if( isset( $JSI->resourceJobManager->jobManagerCommands[$index] ) ) {{ $JSI->resourceJobManager->jobManagerCommands[$index] }} @endif"/>
+											@endforeach
+											</select>
+										</div>
+									</div>
+								@elseif( $selectedJspIndex == $jobSubmissionProtocolsObject::SSH)
+									<div class="form-group required">		
+										<label class="control-label">Select Security Protocol</label>
+										<select name="securityProtocol" required="required">
+										@foreach( $securityProtocols as $index => $sp)
+											<option value="{{ $index }}" @if( $JSI->securityProtocol == $index ) selected @endif>{{ $sp }}</option>
+										@endforeach
+										</select>
+									</div>
+
+									<div class="form-group">
+										<label class="control-label">Alternate SSH Host Name</label>
+						                <input class='form-control' name='alternativeSSHHostName' value="{{ $JSI->alternativeSSHHostName}}"/>
+						            </div>
+						            <div class="form-group">
+										<label class="control-label">SSH Port</label>
+						                <input class='form-control' name='sshPort' value="{{ $JSI->sshPort }}"/>
+						            </div>
+
+						            <div class="form-group required">
+										<label class="control-label">Select Monitoring Mode</label>
+						            	<select name="monitorMode" required>
+						            		@foreach( $monitorModes as $index => $mode)
+						            			<option value="{{ $index }}" @if( $JSI->monitorMode == $index ) selected @endif>{{ $mode}}</option>
+						            		@endforeach
+						            	</select>
+						            </div>
+
+									<div class="form-group">
+										<div class="select-resource-manager-type">
+											<div class="form-group required">
+												<label class="control-label">Select resource manager type</label>
+												<select name="resourceJobManagerType" class="form-control selected-resource-manager" required="required">
+												@foreach( $resourceJobManagerTypes as $index => $rJmT)
+													<option value="{{ $index }}" @if( $JSI->resourceJobManager->resourceJobManagerType == $index ) selected @endif >{{ $rJmT }}</option>
+												@endforeach
+												</select>
+											</div>
+											<div class="form-group">
+												<label class="control-label">Push Monitoring End Point</label>
+												<input type="text" class="form-control" name="pushMonitoringEndpoint" value="{{ $JSI->resourceJobManager->pushMonitoringEndpoint }}"/>
+											</div>
+											<div class="form-group">
+												<label class="control-label">Job Manager Bin Path</label>
+												<input type="text" class="form-control" name="jobManagerBinPath" value="{{ $JSI->resourceJobManager->jobManagerBinPath }}"/>
+											</div>
+											<div class="form-group">
+												<h3>Job Manager Commands</h3>
+												@foreach( $jobManagerCommands as $index => $jmc)
+													<label class="control-label">{{ $jmc }}</label>
+													<input class="form-control" name="jobManagerCommands[{{ $index }}]" placeholder="{{ $jmc }}" value="@if( isset( $JSI->resourceJobManager->jobManagerCommands[$index] ) ) {{ $JSI->resourceJobManager->jobManagerCommands[$index] }} @endif"/>
+												@endforeach
+											</div>
+										</div>
+									</div>
+						            
+								@elseif(  $selectedJspIndex == $jobSubmissionProtocolsObject::UNICORE)
+									<div class="form-group required">		
+										<label class="control-label">Select Security Protocol</label>
+										<select name="securityProtocol" required="required">
+										@foreach( $securityProtocols as $index => $sp)
+											<option value="{{ $index }}" @if( $JSI->securityProtocol == $index ) selected @endif>{{ $sp }}</option>
+										@endforeach
+										</select>
+									</div>
+									<div class="form-group">
+										<label class="form-label">Unicore End Point URL</label>
+										<input class='form-control' name='unicoreEndPointURL' value="{{ $JSI->unicoreEndPointURL }}"/>
+									</div>
+								@endif
+								<div class="form-group">
+									<button type="submit" class="btn">Update</button>
+								</div>
+							</form>
+
+						</div>
+        			@endforeach
+        			</div>
+        		@endif
+
+				<div class="select-job-protocol hide">
+					<form role="form" method="POST" action="{{ URL::to('/') }}/cr/edit">
+						<input type="hidden" name="crId" value="{{Input::get('crId') }}"/>
+						<input type="hidden" name="cr-edit" value="jsp"/>
+						
+						<div class="form-group">
+							<label class="control-label">Job Submission Protocol:</label>
+							<select name="jobSubmissionProtocol" class="form-control selected-job-protocol" required="required">
+								<option></option>
+							@foreach( $jobSubmissionProtocols as $index => $jobSubmissionProtocol)
+								@if( ! in_array( $index, $addedJSP))
+									<option value="{{ $index }}">{{ $jobSubmissionProtocol }}</option>
+								@endif
+							@endforeach
+							</select>
+						</div>
+
+						<div class="form-group">
+							<button type="submit" class="btn btn-primary jspSubmit hide">Add Job Submission Protocol</button>
+						</div>
+					</form>
+				</div>
+
+        	</div>
+
+        	<div class="tab-pane" id="tab-dataMovement">
+
+				<div class="form-group">
+					<div class="data-movement-info row hide"></div>
+					<button type="button" class="btn btn-sm btn-default add-data-movement">Add a new Data Movement Interface</button>
+        			@if( count( $dataMovementInterfaces ) > 1)
+						<button type="button" class="btn btn-sm btn-default update-priority" data-type="dmi"  data-toggle="modal" data-target="#update-dmi-priority">Update Priority</button>
+					@endif				
+				</div>
+
+        		@if( count( $dataMovementInterfaces ) )
+        			<div class="job-edit-info">
+        			@foreach( $dataMovementInterfaces as $index => $DMI )
+        				<div class="data-movement-block">
+							<form role="form" method="POST" action="{{ URL::to('/') }}/cr/edit">
+								<input type="hidden" name="crId" class="crId" value="{{Input::get('crId') }}"/>
+								<input type="hidden" name="cr-edit" value="edit-dmi"/>
+								<input type="hidden" name="dmiId" value="{{ $DMI->dataMovementInterfaceId }}"/>
+
+								<?php $selectedDMIIndex = $computeResource->dataMovementInterfaces[ $index]->dataMovementProtocol; ?>
+
+        						<h4>Data Movement Protocol : {{ $dataMovementProtocols[ $selectedDMIIndex] }}
+									<button type='button' class='close delete-dmi' data-toggle="modal" data-target="#confirm-delete-dmi" data-dmi-id="{{ $DMI->dataMovementInterfaceId }}">
+										<span class="glyphicon glyphicon-trash delete-dmi" data-toggle="modal" data-target="#confirm-delete-dmi" data-dmi-id="{{ $DMI->dataMovementInterfaceId }}"></span>
+									</button>
+								</h4>
+								<input type="hidden" name="dataMovementProtocol" value="{{ $selectedDMIIndex }}"/>
+								@if( $selectedDMIIndex == $dataMovementProtocolsObject::LOCAL)
+									<!-- Nothing here on local UI -->
+								@elseif( $selectedDMIIndex == $dataMovementProtocolsObject::SCP)
+									<div class="form-group">		
+										<label class="control-label">Select Security Protocol</label>
+										<select name="securityProtocol">
+										@foreach( $securityProtocols as $index => $sp)
+											<option value="{{ $index }}" @if( $DMI->securityProtocol == $index ) selected @endif>{{ $sp }}</option>
+										@endforeach
+										</select>
+									</div>
+
+									<div class="form-group">
+										<label class="control-label">Alternate SSH Host Name</label>
+						                <input class='form-control' name='alternativeSSHHostName' value="{{ $DMI->alternativeSCPHostName }}"/>
+						            </div>
+						            <div class="form-group">
+										<label class="control-label">SSH Port</label>
+						                <input class='form-control' name='sshPort' value="{{ $DMI->sshPort }}"/>
+						            </div>
+						            <div class="form-group">
+						            	<button type="submit" class="btn">Update</button>
+						            </div>
+								@elseif( $selectedDMIIndex == $dataMovementProtocolsObject::GridFTP)
+									<div class="form-group">		
+										<label class="control-label">Select Security Protocol</label>
+										<select name="securityProtocol">
+										@foreach( $securityProtocols as $index => $sp)
+											<option value="{{ $index }}" @if( $DMI->securityProtocol == $index ) selected @endif>{{ $sp }}</option>
+										@endforeach
+										</select>
+										<div>
+											<div class="form-group required">
+												<label class="control-label">Grid FTP End Points</label>
+												@foreach( $DMI->gridFTPEndPoints as $endPoint)
+													<input class="form-control" maxlength="30" name="gridFTPEndPoints[]" required="required" value="{{$endPoint}}"/>
+												@endforeach
+												<button type="button" class="btn btn-sm btn-default add-gridFTPEndPoint">Add More Grid FTP End Points</button>
+											</div>
+										</div>
+										<div class="form-group">
+							            	<button type="submit" class="btn">Update</button>
+							            </div>
+									</div>
+								@elseif( $selectedDMIIndex == $dataMovementProtocolsObject::UNICORE_STORAGE_SERVICE)
+									<div class="form-group">		
+										<label class="control-label">Select Security Protocol</label>
+										<select name="securityProtocol">
+										@foreach( $securityProtocols as $index => $sp)
+											<option value="{{ $index }}" @if( $DMI->securityProtocol == $index ) selected @endif>{{ $sp }}</option>
+										@endforeach
+										</select>
+										<div>
+											<div class="form-group required">
+												<label class="control-label">Unicore End Point URL</label>
+												<input class="form-control" maxlength="30" name="unicoreEndPointURL" required="required" value="{{ $DMI->unicoreEndPointURL }}"/>
+											</div>
+										</div>
+										<div class="form-group">
+							            	<button type="submit" class="btn">Update</button>
+							            </div>
+									</div>
+								@endif
+							</form>
+						</div>
+					@endforeach
+					</div>
+				@endif
+        		<div class="select-data-movement hide">
+
+					<form role="form" method="POST" action="{{ URL::to('/') }}/cr/edit">
+						<input type="hidden" name="crId" class="crId" value="{{Input::get('crId') }}"/>
+						<input type="hidden" name="cr-edit" value="dmp"/>
+						<h4>
+							Select the Data Movement Protocol
+						</h4>
+
+						<select name="dataMovementProtocol" class="form-control selected-data-movement-protocol">
+							<option></option>
+						@foreach( $dataMovementProtocols as $index => $dmp)
+							@if( ! in_array( $index, $addedDMI))
+								<option value="{{ $index }}">{{ $dmp }}</option>
+							@endif
+						@endforeach
+						</select>
+
+						<div class="form-group">
+							<button type="submit" class="btn btn-primary dmpSubmit hide">Add Data Movement Protocol</button>
+						</div>
+
+					</form>
+
+				</div>
+
+        	</div>
+
+
+		</div>
+
+
+		<div class="resource-manager-block hide">
+			<div class="select-resource-manager-type">
+				<div class="form-group required">
+					<label class="control-label">Select resource manager type</label>
+					<select name="resourceJobManagerType" class="form-control selected-resource-manager" required="required">
+					@foreach( $resourceJobManagerTypes as $index => $rJmT)
+						<option value="{{ $index }}">{{ $rJmT }}</option>
+					@endforeach
+					</select>
+				</div>
+			</div>
+			<div class="form-group">
+				<label class="control-label">Push Monitoring End Point</label>
+				<input type="text" class="form-control" name="pushMonitoringEndpoint"/>
+			</div>
+			<div class="form-group">
+				<label class="control-label">Job Manager Bin Path</label>
+				<input type="text" class="form-control" name="jobManagerBinPath"/>
+			</div>
+			<div class="form-group">
+				<h3>Job Manager Commands</h3>
+				@foreach( $jobManagerCommands as $index => $jmc)
+					<label class="control-label">{{ $jmc }}</label>
+					<input class="form-control" name="jobManagerCommands[{{ $index }}]" placeholder="{{ $jmc }}"/>
+				@endforeach
+				</select>
+			</div>
+		</div>
+
+		<div class="ssh-block hide">
+			<div class="form-group required">		
+				<label class="control-label">Select Security Protocol  </label>
+				<select name="securityProtocol" required>
+				@foreach( $securityProtocols as $index => $sp)
+					<option value="{{ $index }}">{{ $sp }}</option>
+				@endforeach
+				</select>
+			</div>
+
+	        <div class="form-group required">
+				<label class="control-label">Select Monitoring Mode  </label>
+	        	<select name="monitorMode" required>
+	        		@foreach( $monitorModes as $index => $mode)
+	        		<option value="{{ $index }}">{{ $mode}}</option>
+	        		@endforeach
+	        	</select>
+	        </div>
+
+			<div class="form-group addedScpValue hide">
+				<label class="control-label">Alternate SSH Host Name</label>
+                <input class='form-control' name='alternativeSSHHostName'/>
+            </div>
+            <div class="form-group addedScpValue hide">
+				<label class="control-label">SSH Port</label>
+                <input class='form-control' name='sshPort'/>
+            </div>
+		</div>
+
+		<div class="cloud-block hide">
+			<div class="form-group">
+				<label class="control-label">Node Id</label>
+				<input class="form-control" name="nodeId" placeholder="nodId"/>
+			</div>
+			<div class="form-group">
+				<label class="control-label">Node Id</label>
+				<input class="form-control" name="nodeId" placeholder="nodId"/>
+			</div>
+			<div class="form-group">
+				<label class="control-label">Executable Type</label>
+				<input class="form-control" name="nodeId" placeholder="executableType"/>
+			</div>
+			<div class="form-group">
+			<label class="control-label">Select Provider Name</label>
+			<select class="form-control">
+				<option name="EC2">EC2</option>
+				<option name="AWSEC2">AWEC2</option>
+				<option name="RACKSPACE">RACKSPACE</option>
+			</select>
+			</div>
+		</div>
+
+		<div class="dm-gridftp hide">
+			<div class="form-group required">
+				<label class="control-label">Grid FTP End Points</label>
+				<input class="form-control" maxlength="30" name="gridFTPEndPoints[]" required/>
+				<button type="button" class="btn btn-sm btn-default add-gridFTPEndPoint">Add More Grid FTP End Points</button>
+			</div>
+		</div>
+
+		<!-- 
+		<div class="form-group">
+			<input type="submit" class="btn  btn-primary" name="step2" value="Continue"/>
+			<input type="reset" class="btn  btn-success" value="Reset"/>
+		</div>
+
+		--> 
+	</div>
+</div>
+
+<!-- modals -->
+
+<div class="modal fade" id="confirm-delete-jsi" tabindex="-1" role="dialog" aria-labelledby="delete-modal" aria-hidden="true">
+    <div class="modal-dialog">
+        <div class="modal-content">
+        <form action="{{ URL::to('cr/delete-jsi') }}" method="POST">
+			<input type="hidden" name="crId" value="{{Input::get('crId') }}"/>
+    		<input type="hidden" name="jsiId" value="" class="delete-jsi-confirm"/>
+            <div class="modal-header">
+                Confirmation
+            </div>
+            <div class="modal-body">
+                Do you really want to delete this Job Submission Interface ?
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
+                <button type="submit" class="btn btn-danger danger">Delete</button>
+            </div>
+        </form>
+
+        </div>
+    </div>
+</div>
+
+<div class="modal fade" id="confirm-delete-dmi" tabindex="-1" role="dialog" aria-labelledby="delete-modal" aria-hidden="true">
+    <div class="modal-dialog">
+        <div class="modal-content">
+        <form action="{{ URL::to('cr/delete-jsi') }}" method="POST">
+			<input type="hidden" name="crId" value="{{Input::get('crId') }}"/>
+    		<input type="hidden" name="dmiId" value="" class="delete-dmi-confirm"/>
+            <div class="modal-header">
+                Confirmation
+            </div>
+            <div class="modal-body">
+                Do you really want to delete this Data Movement Interface ?
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
+                <button type="submit" class="btn btn-danger danger">Delete</button>
+            </div>
+        </div>
+    </div>
+</div>
+
+
+<div class="modal fade" id="add-jsi" tabindex="-1" role="dialog" aria-labelledby="add-modal" aria-hidden="true">
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+                Add a Job Submission Interface
+            </div>
+            <div class="modal-body add-jsi-body row">
+               
+            </div>
+        </div>
+    </div>
+</div>
+
+@if( count( $jobSubmissionInterfaces ) > 1)
+<div class="modal fade" id="update-jsi-priority" tabindex="-1" role="dialog" aria-labelledby="add-modal" aria-hidden="true">
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+               Update the Priority Order
+            </div>
+            <div class="modal-body">
+            	<!-- dirty hack to avoid some code that removes the form tag below this. Needs better fix. -->
+            	<form></form>
+
+            	<form action="{{URL::to('/')}}/cr/edit" method="POST" id="jsi-priority-form"> 
+					<input type="hidden" name="crId" value="{{Input::get('crId') }}"/>
+	            	<input type="hidden" name="cr-edit" value="jsi-priority"/>
+	        		@foreach( $computeResource->jobSubmissionInterfaces as $index => $JSI )
+	            	<div class="row">
+	    				<div class="col-md-offset-2 col-md-2">
+	        				<label>
+	        					{{ $jobSubmissionProtocols[ $JSI->jobSubmissionProtocol] }}
+	        				</label>
+	        			</div>
+	    				<input type="hidden" name="jsi-id[]" maxlength="2" value="{{ $JSI->jobSubmissionInterfaceId }}"/>
+	    				<div class="col-md-4">
+	        				<input type="number" name="jsi-priority[]" min="0" max="{{ count( $jobSubmissionInterfaces) }}" value="{{ $JSI->priorityOrder }}" required/>
+						</div>
+	        		</div>
+	        		@endforeach
+	        		<button type="submit" class="btn btn-update">Update</button>
+	        		<div class='priority-updated alert alert-success hide'>
+	        			The Job Submission Interface Priority has been updated.
+	        		</div>
+        		</form>
+            </div>
+        </div>
+    </div>
+</div>
+@endif
+
+<div class="modal fade" id="add-dmi" tabindex="-1" role="dialog" aria-labelledby="add-modal" aria-hidden="true">
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+                Add a Data Model Interface
+            </div>
+            <div class="modal-body add-dmi-body row">
+               
+            </div>
+        </div>
+    </div>
+</div>
+
+@if( count( $dataMovementInterfaces ) > 1)
+<div class="modal fade" id="update-dmi-priority" tabindex="-1" role="dialog" aria-labelledby="add-modal" aria-hidden="true">
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+               Update the Priority Order
+            </div>
+            <div class="modal-body">
+            	<form action="{{URL::to('/')}}/cr/edit" method="POST" id="dmi-priority-form"> 
+					<input type="hidden" name="crId" value="{{Input::get('crId') }}"/>
+	            	<input type="hidden" name="cr-edit" value="dmi-priority"/>
+	        		@foreach( $computeResource->dataMovementInterfaces as $index => $DMI )
+	            	<div class="row">
+	    				<div class="col-md-offset-2 col-md-2">
+	        				<label>
+	        					{{ $dataMovementProtocols[ $DMI->dataMovementProtocol] }}
+	        				</label>
+	        			</div>
+	    				<input type="hidden" name="dmi-id[]" maxlength="2" value="{{ $DMI->dataMovementInterfaceId }}"/>
+	    				<div class="col-md-4">
+	        				<input type="number" min="0" name="dmi-priority[]" value="{{ $DMI->priorityOrder }}" required/>
+						</div>
+	        		</div>
+	        		@endforeach
+	        		<button type="submit" class="btn btn-update">Update</button>
+	        		<div class='priority-updated alert alert-success hide'>
+	        			The Data Movement Interface Priority has been updated.
+	        		</div>
+        		</form>
+            </div>
+        </div>
+    </div>
+</div>
+@endif
+
+
+<div class="modal fade" id="delete-queue" tabindex="-1" role="dialog" aria-labelledby="add-modal" aria-hidden="true">
+    <div class="modal-dialog">
+        <div class="modal-content">
+   			<!-- dirty hack to neutralise form problem in code by just adding an empty form tag before the actual form. Needs fix.-->
+        	<form></form>
+        	<form action="{{URL::to('/')}}/cr/edit" method="POST"/> 	
+				<input type="hidden" name="crId" value="{{Input::get('crId') }}"/>    
+				<input type="hidden" name="cr-edit" value="delete-queue"/>
+				<input type="hidden" name="queueName" class="delete-queueName" value=""/>
+	            <div class="modal-header">
+	               Confirmation to Delete Queue
+	            </div>
+	            <div class="modal-body">
+						Do you really want to delete the Batch Queue - <span class="delete-queueName"></span>?
+	            </div>
+	            <div class="modal-footer">
+	            	<button type="submit" class="btn btn-danger">Delete</button>
+	            	<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
+	            </div>
+	        </form>
+        </div>
+    </div>
+</div>
+@stop
+
+@section('scripts')
+	@parent
+    {{ HTML::script('js/script.js') }}
+
+    <script type="text/javascript">
+    	$(".delete-queue").click( function(){
+    		$(".delete-queueName").val( $(this).data("queue-name") );
+    		$(".delete-queueName").html( $(this).data("queue-name") );
+    	})
+    </script>
+@stop
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/app/views/resource/view.blade.php
----------------------------------------------------------------------
diff --git a/app/views/resource/view.blade.php b/app/views/resource/view.blade.php
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/app/views/server-down.blade.php
----------------------------------------------------------------------
diff --git a/app/views/server-down.blade.php b/app/views/server-down.blade.php
new file mode 100644
index 0000000..6e901f7
--- /dev/null
+++ b/app/views/server-down.blade.php
@@ -0,0 +1,16 @@
+@extends('layout.basic')
+
+@section('page-header')
+    @parent
+@stop
+
+@section('content')
+
+
+    <div class="container">
+    	<div class="alert alert-danger">
+    		<p class="text-center">Our servers are down at the moment. Please try after some time. Thank you for your patience.</p>
+    	</div>
+    </div>
+
+@stop
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/artisan
----------------------------------------------------------------------
diff --git a/artisan b/artisan
new file mode 100755
index 0000000..5c408ad
--- /dev/null
+++ b/artisan
@@ -0,0 +1,74 @@
+#!/usr/bin/env php
+<?php
+
+/*
+|--------------------------------------------------------------------------
+| Register The Auto Loader
+|--------------------------------------------------------------------------
+|
+| Composer provides a convenient, automatically generated class loader
+| for our application. We just need to utilize it! We'll require it
+| into the script here so that we do not have to worry about the
+| loading of any our classes "manually". Feels great to relax.
+|
+*/
+
+require __DIR__.'/bootstrap/autoload.php';
+
+/*
+|--------------------------------------------------------------------------
+| Turn On The Lights
+|--------------------------------------------------------------------------
+|
+| We need to illuminate PHP development, so let's turn on the lights.
+| This bootstraps the framework and gets it ready for and then it
+| will load up this application so that we can run it and send
+| the responses back to the browser and delight these users.
+|
+*/
+
+$app = require_once __DIR__.'/bootstrap/start.php';
+
+/*
+|--------------------------------------------------------------------------
+| Load The Artisan Console Application
+|--------------------------------------------------------------------------
+|
+| We'll need to run the script to load and return the Artisan console
+| application. We keep this in its own script so that we will load
+| the console application independent of running commands which
+| will allow us to fire commands from Routes when we want to.
+|
+*/
+
+$app->setRequestForConsoleEnvironment();
+
+$artisan = Illuminate\Console\Application::start($app);
+
+/*
+|--------------------------------------------------------------------------
+| Run The Artisan Application
+|--------------------------------------------------------------------------
+|
+| When we run the console application, the current CLI command will be
+| executed in this console and the response sent back to a terminal
+| or another output device for the developers. Here goes nothing!
+|
+*/
+
+$status = $artisan->run();
+
+/*
+|--------------------------------------------------------------------------
+| Shutdown The Application
+|--------------------------------------------------------------------------
+|
+| Once Artisan has finished running. We will fire off the shutdown events
+| so that any final work may be done by the application before we shut
+| down the process. This is the last thing to happen to the request.
+|
+*/
+
+$app->shutdown();
+
+exit($status);

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/bootstrap/autoload.php
----------------------------------------------------------------------
diff --git a/bootstrap/autoload.php b/bootstrap/autoload.php
new file mode 100755
index 0000000..6b32931
--- /dev/null
+++ b/bootstrap/autoload.php
@@ -0,0 +1,75 @@
+<?php
+
+define('LARAVEL_START', microtime(true));
+
+/*
+|--------------------------------------------------------------------------
+| Register The Composer Auto Loader
+|--------------------------------------------------------------------------
+|
+| Composer provides a convenient, automatically generated class loader
+| for our application. We just need to utilize it! We'll require it
+| into the script here so that we do not have to worry about the
+| loading of any our classes "manually". Feels great to relax.
+|
+*/
+
+require __DIR__.'/../vendor/autoload.php';
+
+/*
+|--------------------------------------------------------------------------
+| Include The Compiled Class File
+|--------------------------------------------------------------------------
+|
+| To dramatically increase your application's performance, you may use a
+| compiled class file which contains all of the classes commonly used
+| by a request. The Artisan "optimize" is used to create this file.
+|
+*/
+
+if (file_exists($compiled = __DIR__.'/compiled.php'))
+{
+	require $compiled;
+}
+
+/*
+|--------------------------------------------------------------------------
+| Setup Patchwork UTF-8 Handling
+|--------------------------------------------------------------------------
+|
+| The Patchwork library provides solid handling of UTF-8 strings as well
+| as provides replacements for all mb_* and iconv type functions that
+| are not available by default in PHP. We'll setup this stuff here.
+|
+*/
+
+Patchwork\Utf8\Bootup::initMbstring();
+
+/*
+|--------------------------------------------------------------------------
+| Register The Laravel Auto Loader
+|--------------------------------------------------------------------------
+|
+| We register an auto-loader "behind" the Composer loader that can load
+| model classes on the fly, even if the autoload files have not been
+| regenerated for the application. We'll add it to the stack here.
+|
+*/
+
+Illuminate\Support\ClassLoader::register();
+
+/*
+|--------------------------------------------------------------------------
+| Register The Workbench Loaders
+|--------------------------------------------------------------------------
+|
+| The Laravel workbench provides a convenient place to develop packages
+| when working locally. However we will need to load in the Composer
+| auto-load files for the packages so that these can be used here.
+|
+*/
+
+if (is_dir($workbench = __DIR__.'/../workbench'))
+{
+	Illuminate\Workbench\Starter::start($workbench);
+}