Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions front_end/openVRE/apache/check_tool_access.lua
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@ function check_access(r)
local tool_segment = r.uri:match("^/interactive%-tool/([^/]+)")
if not tool_segment then
r:err("check_tool_access: no tool_segment found, passing through")
return 200
return apache2.OK
end
r:err("check_tool_access: tool_segment=" .. tool_segment)

local project_id = tool_segment:match("__PROJ.+$")
if not project_id then
r:err("check_tool_access: could not parse project_id from: " .. tool_segment)
return 403
return apache2.HTTP_FORBIDDEN
end
r:err("check_tool_access: project_id=" .. project_id)

Expand All @@ -30,9 +30,9 @@ function check_access(r)
r:err("check_tool_access: http status=" .. tostring(status))

if status == "200" then
return 200
return apache2.OK
else
r:err("check_tool_access: denied user=" .. user .. " project=" .. project_id)
return 403
return apache2.HTTP_FORBIDDEN
end
end
2 changes: 2 additions & 0 deletions front_end/openVRE/apache/server.conf
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@
Require valid-user
</LocationMatch>

RewriteEngine on

RewriteRule ^/interactive-tool/([^/]+)/?(.*) http://$1:8787/$2 [P,L]

ErrorLog /var/log/apache/vre-error.log
Expand Down
1 change: 1 addition & 0 deletions front_end/openVRE/config/globals.inc.php.sample
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ $GLOBALS['logs_datetime'] = "dd.M.Y HH:mm:ss";

// Interactive tools
$GLOBALS['NETWORK_IP'] = "172.17.0.1"; # default host ip for docker
$GLOBALS['NETWORK_NAME'] = getenv('NETWORK_NAME');
$GLOBALS['interactive_range_start_port'] = 9001;
$GLOBALS['max_parallel_independent_tools'] = 10;
$GLOBALS['toolsPath'] = "/tools/";
Expand Down
4 changes: 2 additions & 2 deletions front_end/openVRE/public/assets/pages/scripts/actions-home.js
Original file line number Diff line number Diff line change
Expand Up @@ -698,7 +698,7 @@ function closeModalTool() {
}


function goInteractiveTool(toolContainerName) {
location.href = "interactive-tool/" + toolContainerName + "/";
function goInteractiveTool(id) {
window.open('launch-interactive/?pid=' + id, "_blank");
}

146 changes: 75 additions & 71 deletions front_end/openVRE/public/getdata/uploadForm.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

require __DIR__ . "/../../config/bootstrap.php";
redirectOutside();
$includeEgaFiles = false;

?>

Expand Down Expand Up @@ -51,7 +52,8 @@
them over the area below. You can also
<a href="javascript:$('.nav-tabs a[href=\'#create_file\']').click();">create a text file</a> from
a sequence or <a href="javascript:$('.nav-tabs a[href=\'#load_from_url\']').click();">load a file</a>
to your workspace from an external URL.</p>
to your workspace from an external URL.
</p>

</div>

Expand Down Expand Up @@ -79,9 +81,9 @@
<li class="uppercase">
<a href="#load_from_url" data-toggle="tab"> Load file from an external URL </a>
</li>
<li class="uppercase">
<!-- <li class="uppercase">
<a href="#load_from_ega" data-toggle="tab"> Load file from EGA </a>
</li>
</li> -->
</ul>
<div class="tab-content">
<div class="tab-pane active" id="upload_files">
Expand Down Expand Up @@ -127,7 +129,7 @@

if (isset($_SESSION['errorData'])) {
if (isset($_SESSION['errorData']['Info'])) {
?>
?>
<div class="alert alert-info">
<?php
} else {
Expand All @@ -142,91 +144,93 @@
}
unset($_SESSION['errorData']);
?>
</div>
</div>

<?php } ?>
<?php } ?>

<form class="down-form" action="javascript:;" method="post">
<div class="alert alert-danger display-hide" id="alert-down-form2">
Error downloading file, please, try again.
</div>
<div class="form-group">
<label>External URL *</label>

<div class="input-icon">
<i class="fa-li fa fa-cloud-download font-green" style="line-height:10px;"></i>
<input type="url" class="form-control" id="dfUrl" name="url" placeholder="http://public/path/to/file">
<input type="hidden" id="dfUploadType" name="uploadType" value="url" />
<br />
<p style="font-size:0.9em"><i>For password-protected sites, include the credentials in the URL. Format: [protocol]://[username]:[password]@server/path/to/file.<br />Notice that strange characters should be UTF-8 codified.</i></p>
<form class="down-form" action="javascript:;" method="post">
<div class="alert alert-danger display-hide" id="alert-down-form2">
Error downloading file, please, try again.
</div>
<button class="btn green" type="submit" id="btn-down-remote" style="margin-top:20px;">SEND DATA</button>
<div class="form-group">
<label>External URL *</label>

<div class="input-icon">
<i class="fa-li fa fa-cloud-download font-green" style="line-height:10px;"></i>
<input type="url" class="form-control" id="dfUrl" name="url" placeholder="http://public/path/to/file">
<input type="hidden" id="dfUploadType" name="uploadType" value="url" />
<br />
<p style="font-size:0.9em"><i>For password-protected sites, include the credentials in the URL. Format: [protocol]://[username]:[password]@server/path/to/file.<br />Notice that strange characters should be UTF-8 codified.</i></p>
</div>
<button class="btn green" type="submit" id="btn-down-remote" style="margin-top:20px;">SEND DATA</button>

<div class="progress-bar-down progress display-hide" style="margin-top:20px;">
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100" style="width:0%;">
<span class="sr-only"> 20% Complete </span>
<div class="progress-bar-down progress display-hide" style="margin-top:20px;">
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100" style="width:0%;">
<span class="sr-only"> 20% Complete </span>
</div>
</div>

</div>

</form>
</div>
<?php if ($includeEgaFiles): ?>
<div class="tab-pane" id="load_from_ega">
<p> Load data from EGA </p>
<?php
try {
require 'fetchEgaDatasets.php';
} catch (Exception $e) {
$_SESSION['errorData']['Error']['EGA'] = 'Failed to fetch EGA datasets: ' . $e->getMessage();
}

</form>
</div>
<div class="tab-pane" id="load_from_ega">
<p> Load data from EGA </p>
<?php
try {
require 'fetchEgaDatasets.php';
} catch (Exception $e) {
$_SESSION['errorData']['Error']['EGA'] = 'Failed to fetch EGA datasets: ' . $e->getMessage();
}

try {
require 'egaFiles.php';
} catch (Exception $e) {
$_SESSION['errorData']['Error']['EGA'] = 'Failed to fetch EGA files: ' . $e->getMessage();
}

?>

<?php

if (isset($_SESSION['errorData']) && isset($_SESSION['errorData']['Error']) && isset($_SESSION['errorData']['Error']['EGA'])) {
if (isset($_SESSION['errorData']['Info'])) {
?>
<div class="alert alert-info">
<?php
} else {
?>
<div class="alert alert-warning">
<?php } ?>
<?php foreach ($_SESSION['errorData'] as $subTitle => $txts) {
print "$subTitle<br/>";
foreach ($txts as $txt) {
print "<div style=\"margin-left:20px;\">$txt</div>";
try {
require 'egaFiles.php';
} catch (Exception $e) {
$_SESSION['errorData']['Error']['EGA'] = 'Failed to fetch EGA files: ' . $e->getMessage();
}
}
unset($_SESSION['errorData']);
?>
</div>

<?php } ?>
?>

<?php

if (isset($_SESSION['errorData']) && isset($_SESSION['errorData']['Error']) && isset($_SESSION['errorData']['Error']['EGA'])) {
if (isset($_SESSION['errorData']['Info'])) {
?>
<div class="alert alert-info">
<?php
} else {
?>
<div class="alert alert-warning">
<?php } ?>
<?php foreach ($_SESSION['errorData'] as $subTitle => $txts) {
print "$subTitle<br/>";
foreach ($txts as $txt) {
print "<div style=\"margin-left:20px;\">$txt</div>";
}
}
unset($_SESSION['errorData']);
?>
</div>

<?php } ?>
</div>
</div>
<?php endif; ?>
</div>
</div>
<!-- END TAB PORTLET-->
</div>
</div>
<!-- END TAB PORTLET-->
</div>
<!-- END CONTENT BODY -->
</div>
</div>
<!-- END CONTENT BODY -->
</div>
<!-- END CONTENT -->
<!-- END CONTENT -->


<?php
<?php

require "../htmlib/footer.inc.php";
require "../htmlib/js.inc.php";
require "../htmlib/footer.inc.php";
require "../htmlib/js.inc.php";

?>
?>
36 changes: 11 additions & 25 deletions front_end/openVRE/public/help/general.php
Original file line number Diff line number Diff line change
Expand Up @@ -36,38 +36,24 @@
</div>
<!-- END PAGE BAR -->
<!-- BEGIN PAGE TITLE-->
<h1 class="page-title">What is the euCanSHare Virtual Research Envirnoment (VRE)?</h1>
<h1 class="page-title">What is the Virtual Research Envirnoment (VRE)?</h1>
<!-- END PAGE TITLE-->
<!-- END PAGE HEADER-->

<div class="note note-danger" style="background-color: #F3D8DD;border-color:#e4032e;">
<h4 class="block">
The Disc4All VRE is a computational platform designed for Data Sharing, Intervertevral Disc Degeneration Analysis, Machine Learning and Bioinformatics Data Analysis.
<h4 class="block">
The VRE is a computational platform designed for Data Sharing, Intervertevral Disc Degeneration Analysis, Machine Learning and Bioinformatics Data Analysis.
</h4>
</div>

<p><img src="https://disc4all.upf.edu/wp-content/uploads/2021/09/Interactions-consortium.png" style="margin:0 350px;width:50%;max-width:100%;" /></p>

<p>
The Disc4All VRE is being developed so as to cater for the needs of the scientific community, especially clinical researchers who need an objective and quantitative way to analyse their data in an unbiased way and make predictions with state-of-the art techniques. Its main objectives are:

<p>
<ul>
<li>The democratization of the use of Machine Learning methods by the whole community by providing a easy-to-use and high-level interface with detailed documentation.</li>
<li>To establish a reproducible and publicly available analysis pipeline to enhance repeatability of research results.</li>
</ul>
</p>
<p>
The main components of the Disc4All VRE are:
<ul>
<li>Tools for data quality control</li>
<li>The MRI Spine Image Analyzer consisting of various tools, such as Segmentation Tools and Radiomics Analysis Tools, all implemented into a single workflow.</li>
<li>Disagnosis Workflow Toolbox</li>
<li>Bioinformatics Toolbox</li>
</ul>

</p>
The VRE is being developed so as to cater for the needs of the scientific community, especially clinical researchers who need an objective and quantitative way to analyse their data in an unbiased way and make predictions with state-of-the art techniques. Its main objectives are:

<p>
<ul>
<li>The democratization of the use of Machine Learning methods by the whole community by providing a easy-to-use and high-level interface with detailed documentation.</li>
<li>To establish a reproducible and publicly available analysis pipeline to enhance repeatability of research results.</li>
</ul>
</p>
</div>
<!-- END CONTENT BODY -->
</div>
Expand All @@ -78,4 +64,4 @@
require "../htmlib/footer.inc.php";
require "../htmlib/js.inc.php";

?>
?>
Loading