Details

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

      Description

      The IGB App recommended build pipeline creates MANIFEST.MF file with the attributes:

      • Bundle-Name - human-friendly, user-facing App title, e.g., "Merge Annotation Track Operator" or "ProtAnnot" or "My New App"
      • Bundle-SymbolicName - used by OSGi run-time, e.g., merge-annotation-track-operator
      • Bundle-Version - used by OGGi run-time. IGB Apps must use semantic versioning syntax, e.g., 10.1.10 (major.minor.micro)

      Currently, App Store is using Bundle-Name to build paths to files in S3 and URLs to Apps pages. This creates many problems. For example, this make it hard to change the human-friendly title of an App after it has been submitted. This is bad because anything user-facing ought to be easy to change and improve.

      However, we need some way to create predictable paths to files and Apps.

      Instead of using Bundle-Name to create paths, let's use Bundle-SymbolicName instead. This value, together with Bundle-Version, is already being used by OSGi to distinguish and resolve bundles. We can do the same in App Store.

      Let's re-factor the internal App Store infrastructure to no longer use Bundle-Name for anything other than provide user-friendly text to display to users.

      For example, storage page for released apps should look like:

      • /media/[Bundle-SymbolicName]/releases/[Bundle-Version]/[Bundle-SymbolicName]-[version].jar

      New URLs for Apps should look like:

      [domain]/apps/[Bundle-SymbolicName]

      In addition, let's modify model fields and variable names to make it more clear where they came from and what they mean.

        Attachments

          Issue Links

            Activity

            Hide
            ann.loraine Ann Loraine added a comment -

            Would you work on this one next time you are in Kannapolis?
            Let me know if you have any questions/concerns or need anything!

            Show
            ann.loraine Ann Loraine added a comment - Would you work on this one next time you are in Kannapolis? Let me know if you have any questions/concerns or need anything!
            Hide
            rpatil14 Riddhi Jagdish Patil (Inactive) added a comment -

            Issue:
            To stop using Bundle-Name for the folder name and url paths

            Description:
            The Bundle-Name is user-defined name and should be easily changed by the user. Thus, using Bundle-Name for folder names and paths can be hard to change and will create a change in location of resources. Therefore, instead of using Bundle-Name we will now be using Bundle-SymbolicName which is OSGI related and is present in MANIFEST.MF file

            Solution:
            Bundle-Name is replaced with Bundle-SymbolicName in following places:
            1) The S3 folder structure will have folder name as Bundle-SymbolicName
            S3/bucket/[Bundle-SymbolicName]/....

            2) Local media folder structure when the apps are submitted will have Bundle-SymbolicName
            /media/[Bundle-SymbolicName]/releases/[Bundle-Version]/[Bundle-SymbolicName]-[version].jar

            3) The apps url will be Bundle-SymbolicName
            [domain]/apps/[Bundle-SymbolicName]

            Files Changed:
            apps/models.py
            apps/templates/app_button.html
            apps/templates/app_page.html
            apps/templates/app_page_edit.html
            apps/views.py
            obr/repogen.py
            Code changes are present in branch https://bitbucket.org/rpatil14/appstore_riddhi/branch/IGBF-1992-#diff

            Test setup:
            Code deployed on https://dev-appstore-6.bioviz.org/
            S3 changes can be viewed in https://s3.console.aws.amazon.com/s3/buckets/devappstore6-media-0000/media/?region=us-east-1&tab=overview

            [~aloraine]

            Show
            rpatil14 Riddhi Jagdish Patil (Inactive) added a comment - Issue: To stop using Bundle-Name for the folder name and url paths Description: The Bundle-Name is user-defined name and should be easily changed by the user. Thus, using Bundle-Name for folder names and paths can be hard to change and will create a change in location of resources. Therefore, instead of using Bundle-Name we will now be using Bundle-SymbolicName which is OSGI related and is present in MANIFEST.MF file Solution: Bundle-Name is replaced with Bundle-SymbolicName in following places: 1) The S3 folder structure will have folder name as Bundle-SymbolicName S3/bucket/ [Bundle-SymbolicName] /.... 2) Local media folder structure when the apps are submitted will have Bundle-SymbolicName /media/ [Bundle-SymbolicName] /releases/ [Bundle-Version] / [Bundle-SymbolicName] - [version] .jar 3) The apps url will be Bundle-SymbolicName [domain] /apps/ [Bundle-SymbolicName] Files Changed: apps/models.py apps/templates/app_button.html apps/templates/app_page.html apps/templates/app_page_edit.html apps/views.py obr/repogen.py Code changes are present in branch https://bitbucket.org/rpatil14/appstore_riddhi/branch/IGBF-1992-#diff Test setup: Code deployed on https://dev-appstore-6.bioviz.org/ S3 changes can be viewed in https://s3.console.aws.amazon.com/s3/buckets/devappstore6-media-0000/media/?region=us-east-1&tab=overview [~aloraine]
            Hide
            ann.loraine Ann Loraine added a comment - - edited

            Reviewed code - it is fine.
            Because Riddhi Jagdish Patil has deployed the branch on https://dev-appstore-6.bioviz.org, I was able to test the new functionality using "Merge Annotation Track Operator" which is released on this App Store.

            Testing results:

            1) Started IGB 9.1.0:

            • build from the master branch
            • latest commit id 2ca25bb18bcfac819e230df0800dbd4ca1bacab5

            (most recent commit)

            2) Added repository URL https://dev-appstore-6.bioviz.org/obr/releases/ to IGB

            3) Visited https://dev-appstore-6.bioviz.org/apps/merge-annotation-operator

            The blue "Install" button was visible.

            4) Clicked "Install"

            5) Button changed to "Installing..." and also changed color (lighter shade of blue) but did not change after that

            6) I opened IGB App Manager GUI and noted that the Merge Annotation Track Operator failed to install

            The code has been changing so quickly that I'm not sure if the failure to install is due to the above branch, however!

            I think we should go ahead and merge these changes and then investigate why installation from App Store is failing.

            Show
            ann.loraine Ann Loraine added a comment - - edited Reviewed code - it is fine. Because Riddhi Jagdish Patil has deployed the branch on https://dev-appstore-6.bioviz.org , I was able to test the new functionality using "Merge Annotation Track Operator" which is released on this App Store. Testing results: 1) Started IGB 9.1.0: build from the master branch latest commit id 2ca25bb18bcfac819e230df0800dbd4ca1bacab5 (most recent commit) 2) Added repository URL https://dev-appstore-6.bioviz.org/obr/releases/ to IGB 3) Visited https://dev-appstore-6.bioviz.org/apps/merge-annotation-operator The blue "Install" button was visible. 4) Clicked "Install" 5) Button changed to "Installing..." and also changed color (lighter shade of blue) but did not change after that 6) I opened IGB App Manager GUI and noted that the Merge Annotation Track Operator failed to install The code has been changing so quickly that I'm not sure if the failure to install is due to the above branch, however! I think we should go ahead and merge these changes and then investigate why installation from App Store is failing.
            Show
            rpatil14 Riddhi Jagdish Patil (Inactive) added a comment - Pull request submitted: https://bitbucket.org/lorainelab/appstore/pull-requests/115/igbf-1992-use-bundle_symbolicname-for-the/diff
            Hide
            rpatil14 Riddhi Jagdish Patil (Inactive) added a comment -

            Created ticket https://jira.transvar.org/browse/IGBF-2017 to fix the app installation failure.

            Show
            rpatil14 Riddhi Jagdish Patil (Inactive) added a comment - Created ticket https://jira.transvar.org/browse/IGBF-2017 to fix the app installation failure.
            Hide
            rpatil14 Riddhi Jagdish Patil (Inactive) added a comment -

            Found few more url paths which needs to be updated with Bundle_SymbolicName instead of Bundle_Name. Working on this ticket again.

            Show
            rpatil14 Riddhi Jagdish Patil (Inactive) added a comment - Found few more url paths which needs to be updated with Bundle_SymbolicName instead of Bundle_Name. Working on this ticket again.
            Hide
            rpatil14 Riddhi Jagdish Patil (Inactive) added a comment -

            Code changes can be found in branch
            https://bitbucket.org/rpatil14/appstore_riddhi/branch/IGBF-1992-Issues#diff

            Code can be tested on
            https://dev-appstore-6.bioviz.org

            [~aloraine]

            Show
            rpatil14 Riddhi Jagdish Patil (Inactive) added a comment - Code changes can be found in branch https://bitbucket.org/rpatil14/appstore_riddhi/branch/IGBF-1992-Issues#diff Code can be tested on https://dev-appstore-6.bioviz.org [~aloraine]
            Hide
            ann.loraine Ann Loraine added a comment - - edited

            If this makes sense to do in this current branch, can you change this line:

            • Msgs.add_msg(app_name + ' has been installed! Go to IGB to use it.', 'success');"

            in

            • ./static/apps/js/app_page.js:

            I noticed that when I installed the Merge Annotation Operator using dev-appstore-6, the confirmation message read:

            • "mergeannotationtrackoperator has been installed! Go to IGB to use it."

            which is showing the older-style app name.

            It would be better if it could display this instead:

            • "Merge Annotation Track Operator has been installed! Go to IGB to use it."

            It would be better to use the Bundle_Name itself - with punctuation, capital letters, etc. matching what is shown on the App Page itself.

            Show
            ann.loraine Ann Loraine added a comment - - edited If this makes sense to do in this current branch, can you change this line: Msgs.add_msg(app_name + ' has been installed! Go to IGB to use it.', 'success');" in ./static/apps/js/app_page.js: I noticed that when I installed the Merge Annotation Operator using dev-appstore-6, the confirmation message read: "mergeannotationtrackoperator has been installed! Go to IGB to use it." which is showing the older-style app name. It would be better if it could display this instead: "Merge Annotation Track Operator has been installed! Go to IGB to use it." It would be better to use the Bundle_Name itself - with punctuation, capital letters, etc. matching what is shown on the App Page itself.
            Hide
            ann.loraine Ann Loraine added a comment -

            After deciding on whether to make the above change, please submit PR.

            Show
            ann.loraine Ann Loraine added a comment - After deciding on whether to make the above change, please submit PR.
            Hide
            rpatil14 Riddhi Jagdish Patil (Inactive) added a comment -

            Changed app_name to app_Bundle-Name for the UI pop-up messages.
            Code is deployed on https://dev-appstore-6.bioviz.org
            Submitted pull request:
            https://bitbucket.org/lorainelab/appstore/pull-requests/121/igbf-1992-issues/diff
            cc. [~aloraine]

            Show
            rpatil14 Riddhi Jagdish Patil (Inactive) added a comment - Changed app_name to app_Bundle-Name for the UI pop-up messages. Code is deployed on https://dev-appstore-6.bioviz.org Submitted pull request: https://bitbucket.org/lorainelab/appstore/pull-requests/121/igbf-1992-issues/diff cc. [~aloraine]
            Hide
            ann.loraine Ann Loraine added a comment -

            Merged to master but not yet deployed to master branch dev appstore 2.

            Show
            ann.loraine Ann Loraine added a comment - Merged to master but not yet deployed to master branch dev appstore 2.
            Hide
            svallapu Sai Charan Reddy Vallapureddy (Inactive) added a comment -

            Tested in appstore2. Working as expected. Moving it to done.

            Show
            svallapu Sai Charan Reddy Vallapureddy (Inactive) added a comment - Tested in appstore2. Working as expected. Moving it to done.

              People

              • Assignee:
                rpatil14 Riddhi Jagdish Patil (Inactive)
                Reporter:
                ann.loraine Ann Loraine
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: