Skip to content

Final Report

Neeraj Lad edited this page Dec 14, 2017 · 14 revisions

Assignment 3

Jira:

https://issues.apache.org/jira/browse/AIRAVATA-2525

Branch: job-status-integration

Problem Statement:

An Airavata Experiment is made up of a number of jobs. An experiment which is marked as Created or Completed could still have Failed jobs. The status of jobs was only visible after clicking on the experiment and seeing additional details.

Solution:

I needed to modify the experiment-container.blade.php to show the additional Job status information which was retrieved from code modification in the Backend by Sachin.


Assignment 4

Jira:

https://issues.apache.org/jira/browse/AIRAVATA-2561

Pull request:

https://github.com/apache/airavata-php-gateway/pull/74

Branch: flexi-exp-summary-view

Problem Statement:

Sudhakar wanted a way to view the Experiment Summary table in a flexible manner. He wanted the option of choosing to view specific table rows like Experiment Name, Project, Owner, Wall Time, etc as per his choice rather than having to see all this information at once.

Solution:

I added checkboxes in experiment-info.blade.php to store the view state of these rows. If the user has clicked a checkbox, the corresponding table row is visible in the Experiment Summary table.

Screenshot of Experiment Summary Table with Flexible Views


Assignment 5

Jira:

https://issues.apache.org/jira/browse/AIRAVATA-2509

Pull request:

https://github.com/apache/airavata-php-gateway/pull/79

Branch: AIRAVATA-2509

Problem Statement:

Emails sent by Airavata were not reaching the users.

Solutions:

I did two things in this task:

1. Make sure users enter the correct emails:

I modified the Create New Test Drive Account page to add another input box Email (again) and add validation code to make sure Email and Email (again) fields match. So the users need to enter their email address twice. If there is a mis-match, the user needs to fill the form again. I had to make these changes in create.blade.php.

2. Use the first and last name of the user while sending mail:

If while sending the emails via PHPMailer() only the email address is user, there is a probability that Email service providers like GMail or Yahoo Mail might mark those mails as spam. To reduce the likelihood of this, we can add first name and last name along with the email. I had to make changes in EmailUtilities.php so that first and last name were sent along with the email addresses, whenever a mail needed to be sent.

Screenshot of new 'Create New Test Drive Account' page

Screenshot of email details


Assignment 6

Jira:

https://issues.apache.org/jira/browse/AIRAVATA-2561

Pull request:

https://github.com/apache/airavata-php-gateway/pull/78

Branch: flexi-exp-summary-view

Problem Statement:

Sudhakar wanted a way to view the Experiment Summary table in a flexible manner. He wanted the option of choosing to view specific table rows like Experiment Name, Project, Owner, Wall Time, etc as per his choice rather than having to see all this information at once. This assignment focusses on how to store these preferences persistently.

Solution:

To store the user preferences persistently, there were the following choices:

1. Store them in the Registry: This enables us to use the same preferences on all platforms which is attractive to the user. Since the user preferences are not stored currently in any manner, this would require significant work with the Registry. It is debatable if simple user preferences like this are critical enough to store in the Registry.

2. Create a Microservice which has its own database for user preferences: All platforms being able to access this microservice to get the user preferences is a big plus here. This also gives uniform interface across all platforms like the first approach. This can be branched off into a considerable project which stores more user preferences and uses them to do other things like draw insights, pre-populate settings for users, etc.

3. Store the preferences in Session object: This does not require significant changes on the backend to perform small UI changes like this. The disadvantage being info is lost when the session expires and the user would need to set preferences on different platforms locally.

I decided to go ahead with the third approach. I used HTML localStorage to store the view state of the checkboxes. Now the user does not have to un-select the checkboxes repeatedly every time they view the Experiment Summary.

Screenshot of Experiment Summary Table with Flexible Views


Assignment 7

Jira:

https://issues.apache.org/jira/browse/AIRAVATA-2571

Pull request:

https://github.com/apache/airavata-php-gateway/pull/80

Branch: AIRAVATA-2571

Problem Statement:

Currently in Admin Dashboard --> Users all the users are listed. We could see the username and can search using username, first name, last name and email. The new requirement is to have email verified also appear for each user. This helps gateway admins to troubleshoot when users inform gateway access issues.

Solution:

I modified Keycloak.php to return emailVerified information along with other information like username, firstName, etc. Used this emailVerified information to add another column Email Verified in manage-users.blade.php.

Screenshot of 'Users' table with 'Email Verified' column

Jira:

https://issues.apache.org/jira/browse/AIRAVATA-2595

Pull request:

This issue has been shelved for now. See this comment by Marcus.

Branch: AIRAVATA-2595

Problem Statement:

Sudhakar wanted to search experiments using Experiment ID substring in the Experiment Statistics page.

Solution:

After talking with Marcus, we decided to implement the search using Experiment Name since there is already support for search experiments using Experiment Name substring. I added another function getExperimentByNameSubstring() inside AdminController.php which makes a call to get_expsearch_results_with_pagination() and then makes a view using experiment-container.blade.php. getExperimentByNameSubstring() is called from manage-experiments.blade.php.

Screenshot of successful search with Experiment Name substring


Dev List:

https://www.mail-archive.com/dev@airavata.apache.org/msg11780.html

https://www.mail-archive.com/dev@airavata.apache.org/msg11680.html

https://www.mail-archive.com/dev@airavata.apache.org/msg11672.html