Contributing to the IML Frontend

Software Contributor Documentation Table of Contents

frontend

General

Prerequisites

On the Local machine, i.e., not the vagrant virtual machine.

For the desciption that follows, it will be assumed that the Vagrant file and virtual machine information reside in the directory:

~/vagrant-projects/vhpc

Contributing to the IML Frontend

Clone the Frontend repo, aka, the GUI repo

cd ~/vagrant-projects/vhpc
git clone git@github.com:whamcloud/GUI.git

Create a branch, always work on a branch.

cd GUI
git checkout -b  my-fix

Validate that the correct branch has been selected.

git branch

Work on the branch.

Use VS Code and open ~/vagrant-projects/vhpc/GUI

As an Example, make a small change to the Configuration dropdown menu.

In VS Code, locate and edit the following file: app-states.js

GUI
  > source
    > iml
      > app
        > app-states.js

Search for "Servers"

On the line containing “Servers”, change Servers to My Servers:

Change this line:

<li><a tabindex="-1" id="server-conf-item" ui-sref="app.server({ resetState: true })">Servers</a></li>

To look like this line:

<li><a tabindex="-1" id="server-conf-item" ui-sref="app.server({ resetState: true })">My Servers</a></li>

Save the file: app-states.js

Install dependencies and build the code

Install yarn

Before you start using Yarn, you’ll first need to install it on your system.

If yarn is installed properly, Install the external library dependencies

Type the command:

yarn install

Build the code and Pass all required tests listed in package.json

yarn watch

The watch command will leave the code in a state that will “watch” for further edits. If desired, the “watch” may be stopped by hitting ctrl-c

In a seperate terminal, log into the adm node

Log in as root

Stop the IML running services

The gui files currently reside at /usr/lib/iml-manager/iml-gui on the running system.

Preserve the original iml-gui files.

Create the symbolic link.

Start the IML services

In a browser, go to the IML location

Verify that the small change worked.

It is possible that the browser cache may require refreshing for the change to take place.

iml_flow


Congratulations! You just made a change to the IML Frontend code.


The process outlined above is the basic technique for modifying the Frontend IML code.

A note about starting and stopping chroma-config

Pushing the code change to github

On your local machine, i.e., not the vagrant VM:

Ensure you are on the proper branch

Otherwise, change to the my-fix branch

Add and Commit the change.

This will cause the pre-commit hooks to run.

Add the following comment:

This is a test fix for the frontend

 - Changed the Configuration dropdown label for Servers

Push to github


Top of page