Git Product home page Git Product logo

labcas-backend's Introduction

LabCAS Backend

Repository containing back-end services and configuration for executing EDRN LabCAS data processing workflows.

Documentation

See the docs/documentation.pdf file.

Development

To build locally, maybe try:

mkdir /tmp/labcas
export "JAVA_HOME=`/usr/libexec/java_home --version 1.8.0`"
export LABCAS_HOME=/tmp/labcas
export PATH=${JAVA_HOME}/bin:$PATH
mvn clean install

labcas-backend's People

Contributors

ashishmahabal avatar asitang avatar lucacinquini avatar nutjob4life avatar riverma avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

carlynlee

labcas-backend's Issues

Security Problem Log on /data-access-api

JPL NetOps has discovered a potential security issue and has filed a Security Problem Log (SPL), report Q1580668, on the /data-access-api endpoint of the LabCAS backend.

The issue is that CORS is allowing too many to possible connection origins and we need a more restrictive Access-Control-Allow-Origin header.

The report tested the https://edrn-labcas.jpl.nasa.gov/data-access-api/collections/select endpoint with the following query

GET /data-access-api/collections/select?q=*:*&wt=json&indent=true&rows=10000&sort=id%20asc HTTP/1.1

as being too permissive. It also discovered the problem on the following URLs:

  • https://edrn-labcas.jpl.nasa.gov/data-access-api/collections/select
  • https://edrn-labcas.jpl.nasa.gov/data-access-api/datasets/select
  • https://edrn-labcas.jpl.nasa.gov/data-access-api/download
  • https://edrn-labcas.jpl.nasa.gov/data-access-api/files/select

Suggested Fix

JPL says that "Overly Permissive CORS Access Policy Remediation Issue Types that this task fixes Overly Permissive CORS Access Policy GeneralPrepare a list of trusted sites, and set them as the value of the ""Access-Control-Allow-Origin" header.If there is no need for external access, remove this header completely."

Ingest images into LabCAS

Create a collection in EDRN LabCAS for Benign Breast Disease Pathology Slide Images - linked to the BBD protocol (id – 331) and DCIS protocol351

Create two datasets under this collection.

  1. The first dataset would have the original images (access limited to DMCC, JPL, NCI – per Jackie email 1/25/20)

  2. The second dataset would have the de-identified images (Nobody should have access until DMCC receive the biomarker results from Andy Godwin. Once we have that, then I think we are providing access to Case Western (Bera Kaustave) along with clinical data linked to the images. per Jackie email 1/25/20)

Link images to appropriate protocol id (first 3 digits of ID)

Collaborative Group naming

The official names of the EDRN Collaborative Groups (as dictated by the DMCC) are these terms exactly:

  • Breast and Gynecologic Cancers Research Group
  • G.I. and Other Associated Cancers Research Group
  • Lung and Upper Aerodigestive Cancers Research Group
  • Prostate and Urologic Cancers Research Group

What I'm currently seeing in EDRN LabCAS Solr is:

  • Breast and Gynecologic (missing "Cancers Research Group") ❌
  • Breast/GYN ❌
  • GI and Other Associated (missing periods, "Cancers Research Group") ❌
  • Lung and Upper Aerodigestive Cancers Research Group ✅
  • Lung and Upper Aerodigestive (missing "Cancers Research Group") ❌
  • Lung and Upper Areodigestive (misspelled "aerodigestive", missing words) ❌
  • Not Applicable (not a collaborative group) ❌
  • Prostate and Urologic (missing "Cancers Research Group") ❌
  • TBD (not a collaborative group) ❌

I think LabCAS may want to strive for some consistency here. The CancerDataExpo and EDRN Portal will have special case code to work around these issues for now.

For /data-access-api/auth, accept POST, not GET

Robert Solorio says /data-access-api/auth cannot accept GET requests, even though the credential is base64-encoded.

Instead, it must only use POST requests, where the credential is plainly visible.

Because "reasons" 🤔

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.