Uploaded image for project: 'IGB'
  1. IGB
  2. IGBF-1608

Update the installation status in the local App Store

    Details

    • Type: Improvement
    • Status: Closed (View Workflow)
    • Priority: Minor
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:

      Description

      If the plugin is installed using the Web App Store,

      the status should also be reflected in the local app store.

      **Note: the functionCallback has to be changed for this.

        Attachments

          Activity

          Hide
          prutha Prutha Kulkarni (Inactive) added a comment -

          Functional testing has been done for the ticket.

          Show
          prutha Prutha Kulkarni (Inactive) added a comment - Functional testing has been done for the ticket.
          Hide
          ann.loraine Ann Loraine added a comment -

          Revision:
          We actually do not need information about the repository. My previous comment is wrong.
          The SymbolicName and Version of an app bundle is all that is needed.

          Show
          ann.loraine Ann Loraine added a comment - Revision: We actually do not need information about the repository. My previous comment is wrong. The SymbolicName and Version of an app bundle is all that is needed.
          Hide
          ann.loraine Ann Loraine added a comment -

          Merged to master.

          Show
          ann.loraine Ann Loraine added a comment - Merged to master.
          Show
          rpatil14 Riddhi Jagdish Patil (Inactive) added a comment - Pull request submitted:- https://bitbucket.org/lorainelab/integrated-genome-browser/pull-requests/678/igbf-1608-update-the-installation-status/diff
          Hide
          ann.loraine Ann Loraine added a comment - - edited

          This looks good - please submit pull request.
          For the next step, we need to include (somehow) a parameter indicating the repository. That's because there could be multiple apps with the same symbolic name, offered by different repositories. This would likely happen most often during development. For example, a developer could be working on a new ProtAnnot bundle and with the local "target" (build) directory serving as a local repository. Also, the production App Store will also be (or have) a repository, so it will always be able to provide this information to IGB when using the REST endpoint to trigger App installation or update.

          After that, I'd like to move WebAppManager into the Plugin Manager module and expose its functionality as a service, along the lines we discussed in the meeting today, rather than give the appstore bundle direct access to the internals of the other bundle. I am not sure how to do it, however, or if this is a good idea or not.

          Show
          ann.loraine Ann Loraine added a comment - - edited This looks good - please submit pull request. For the next step, we need to include (somehow) a parameter indicating the repository. That's because there could be multiple apps with the same symbolic name, offered by different repositories. This would likely happen most often during development. For example, a developer could be working on a new ProtAnnot bundle and with the local "target" (build) directory serving as a local repository. Also, the production App Store will also be (or have) a repository, so it will always be able to provide this information to IGB when using the REST endpoint to trigger App installation or update. After that, I'd like to move WebAppManager into the Plugin Manager module and expose its functionality as a service, along the lines we discussed in the meeting today, rather than give the appstore bundle direct access to the internals of the other bundle. I am not sure how to do it, however, or if this is a good idea or not.
          Hide
          rpatil14 Riddhi Jagdish Patil (Inactive) added a comment -

          Issue:- Update the installation status in the local App Store

          Solution:-
          Added a callback mechanism in Web app manager which updates the status of app available in IGB to installed when it receives app installation request.

          Files changed:-
          plugins/AppStore/src/main/java/org/lorainelab/igb/appstore/IgbAppServer.java
          plugins/AppStore/src/main/java/org/lorainelab/igb/appstore/WebAppManager.java
          plugins/plugin-manager/src/main/java/org/lorainelab/igb/plugin/manager/AppManagerFxPanel.java

          Testing steps:-
          Scenario #1 : Install available App :
          Make an http GET request by passing valid symbolic name as follows:-
          Input - http://127.0.0.1:7090/installApp?symbolicName=org.lorainelab.igb.protannot
          Output - The app should be installed successfully and its status should be updated in local App Store. The request should return response with status "200 Ok".

          Scenario #2: Try installing unavailable App:
          Make an http GET request by passing invalid symbolic name as follows:-
          Input - http://127.0.0.1:7090/installApp?symbolicName=org.lorainelab.igb.fakeapp
          Output - The app should not be installed and the request should return response with status "404 Not found".

          Testing results:-
          Please find attached test result screenshots.

          Code changes:-
          https://bitbucket.org/rpatil14/riddhifork-igb/branch/IGBF-1608#diff

          Show
          rpatil14 Riddhi Jagdish Patil (Inactive) added a comment - Issue:- Update the installation status in the local App Store Solution:- Added a callback mechanism in Web app manager which updates the status of app available in IGB to installed when it receives app installation request. Files changed:- plugins/AppStore/src/main/java/org/lorainelab/igb/appstore/IgbAppServer.java plugins/AppStore/src/main/java/org/lorainelab/igb/appstore/WebAppManager.java plugins/plugin-manager/src/main/java/org/lorainelab/igb/plugin/manager/AppManagerFxPanel.java Testing steps:- Scenario #1 : Install available App : Make an http GET request by passing valid symbolic name as follows:- Input - http://127.0.0.1:7090/installApp?symbolicName=org.lorainelab.igb.protannot Output - The app should be installed successfully and its status should be updated in local App Store. The request should return response with status "200 Ok". Scenario #2: Try installing unavailable App: Make an http GET request by passing invalid symbolic name as follows:- Input - http://127.0.0.1:7090/installApp?symbolicName=org.lorainelab.igb.fakeapp Output - The app should not be installed and the request should return response with status "404 Not found". Testing results:- Please find attached test result screenshots. Code changes:- https://bitbucket.org/rpatil14/riddhifork-igb/branch/IGBF-1608#diff
          Hide
          ann.loraine Ann Loraine added a comment -

          This looks like the issue you were talking about earlier today (before lunch).
          KK's and my changes are now merged into master. Please use the new master branch as a starting point.

          Show
          ann.loraine Ann Loraine added a comment - This looks like the issue you were talking about earlier today (before lunch). KK's and my changes are now merged into master. Please use the new master branch as a starting point.

            People

            • Assignee:
              rpatil14 Riddhi Jagdish Patil (Inactive)
              Reporter:
              kkorey Kiran Korey (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: