Skip to content

AustinMathuw/EECS291

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenOnDemand API Dashboard

Table of contents

  1. Introduction
  2. Dashboard Replication
  3. Next Steps
  4. References

Introduction

Over the course of the spring semester of 2019, I did research on OpenOnDemand and found an way to extend the platform without having to be constrained to their Interactive Apps. By digging into the OpenOnDemand GitHub, I learned of a RESTful API the was buried in the Ruby code of the webserver. There are endpoints for both the Active Jobs and the Job Composer modules of the OpenOnDemand Platform. Alongside the OpenOnDemand API, I also investigated the possibility of using the HPCC as a git server and allow running jobs from the a git repository on the HPCC.

In this repository, you will find documentation for all the found OpenOnDemand RESTful API endpoints, a partial implementation of these endpoints, and a tutorial on using Git with the HPCC.

Dashboard Implementation

In the example implementation, the functional javascript is located in "HPCC Dashboard/js/demo/dashboard.js". The javascript preforms a call to /js/data.json which is a json file containing the response of a call made to the GET Jobs endpoint previously. The reasoning for this is that, at the time of this writing, I am still awaiting permission to use proxy login with Case's CAS Single Sign In platform. See the Next Steps section to see how to integrate the real API call into the HPCC Dashboard.

Dashboard Replication

Before you proceeded to replicate the dashboard, note that the general dashboard was created using an admin theme provided located here.

  1. If git is not installed on your system, install from here. You only need the command line installation for our purposes.
  2. Install Node.js, if not already installed, from here.
  3. Clone this repository to a known folder on you machine. To do this, navigate to the desired folder on your machine in a terminal and run the following command:

git clone https://github.com/AustinMathuw/EECS291.git

  1. Open the project in a code editor of your choice (VS Code, Notepad++, etc.).

  2. Open a terminal to the local repository change directory to HPCC Dashboard.

cd "HPCC Dashboard"

  1. In the terminal, run npm install to install all of the NodeJS dependencies for the project.

  2. Next, run the following command to enable browser-sync and allow live viewing of changes made to the project:

gulp watch

Gulp documentation specific to this project can be found here.

That's it! Feel free to extend the project to your specific purposes using the resources found in the References section! If you encountered any issues, the theme's GitHub may have the solution.

Next Steps

A critical next step for this project is hooking up the Dashboard to the OpenOnDemand API via proxy login with Case's CAS Single Sign In platform.

Some other next steps include adding the job composer functionalities or some analytics for the running jobs.

References

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors