Challenge Overview

The Planetary Data System (PDS http://pds.nasa.gov/) is an archive of data from NASA’s planetary missions. The mission data (called products) can be raw images, time-series data  or text documents.

While this treasure trove of information is accessible to the public, utilization has been somewhat limited by barriers to entry such as required expertise on the domain, and familiarity with the data format.

The goal of this (PDS Storyboard) project is to develop a web application that will make the data easier to find and use by a wider range of people. PDS data is only as valuable as the ease of access and adoption – and NASA wants to make sure all this valuable mission data reaches a broader audience to further scientific discovery and research.

We are building a basic web application version. We are starting by reusing an open source web application called myyna. The point is to create a Pinterest-like social web application that address the need to make PDS data more accessible, and foster greater use of the available resources through collaboration and ease of distribution of data and research. By making PDS data easily accessible, and providing a Pinterest-like collaboration tool, the goal is to advance research and utilization of the data. This new web application will be called the “Planetary Data Storyboard” (Or PDS).

We will customize Myyna web application to include the features we need to implement in the first version of this PDS Storyboard web application.

Challenge Overview

We have a MySQL database in the cloud that store PDS raw images. We have a nodejs script that process these raw images and convert them into PNG images.

The goal of the challenge is to update the nodejs script that insert Myyna Pins for these PDS raw images.

Challenge Requirements

  • Information to access MySQL db on Ec2 VM :

    • Host IP : ec2-54-163-164-221.compute-1.amazonaws.com

    • Port : 3306

    • username : joe

    • password : password

    • database : nasa_pds

    • The MySQL table store LROC images links :

      • table name : map_image

      • image link stored in field : image_path

  • Make the following changes to nodejs script :

    • Separately fetch MySQL rows from database (using the pagination configuration) and process the following :

      • Search if pin with metadata id equals the row#id, if exist then skip to next item.

      • Insert new pin into myyna web app with placeholder image (make it configurable).

      • Insert the row fields in Pin model :

        • id

        • name

        • mission_id

        • image_path

        • date

        • center_longitude  

        • center_latitude   

        • illumination   

        • camera_angle   

        • camera_type    

        • product_type   

        • camera_spec

        • pds (indicates that this pin is a pds product)

        • completed (flag indicates if the pin ISIS image generation was processed and done)

      • Update pin model to have a new field ‘metadata’, the metadata is a key/value pairs. The row fields above will be inserted as key/value into metadata.

      • Configure the myyna user id, board id, and category id to use to insert pins in configuration. Or any other needed configurations to insert into myyna pin models.

    • For the image processing using ISIS flow,

      • For each row, search if a corresponding pin exist in myyna db, if exists then check if completed = false, if it is true, then skip the item.

        • Use metadata “id/pds/completed” keys to find the pin.

      • Flow will run ISIS script to convert image to png.

      • When image is generated update the PIN to reference the correct set of images.

    • Update documentation and README.

    • Include the nodejs script that generate images from ISIS in the storyboard_frontend module.

      • place it in new folder : pds_generator

    • Update Myyna frontend :

      • In Pins Details page, below the description add new table that list the metadata key/value pairs if available (not null or not empty) 

General Notes

  • Update data generator script if needed.

  • Update readme with deployment and configuration information.

Github Access

Deliverable

  • Patch file of changes.

  • Updated readme file with deployment and verification steps.

  • Text file for reviewers.



Final Submission Guidelines

.

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30050701