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

Describe how Cytoscape Apps get downloaded and added to Cytoscape OSGi container

    Details

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

      Attachments

        Issue Links

          Activity

          Hide
          ann.loraine Ann Loraine added a comment -

          Explain how this works. When users download an App, how does it get added to the Cytoscape OSGi framework?

          Show
          ann.loraine Ann Loraine added a comment - Explain how this works. When users download an App, how does it get added to the Cytoscape OSGi framework?
          Hide
          sneha Sneha Ramesh Watharkar (Inactive) added a comment - - edited

          We have download button for all apps in cytoscape which downloads the app to the system. I noticed that the button says "Download" when we don't have Cytoscape desktop application running on our system.
          Then I downloaded Cytoscape application (not appstore) from http://www.cytoscape.org/
          Once the installation of Cytoscape is completed, I refreshed the Cytoscape Appstore site. Now the button said "Install" instead of "Download".
          I installed any random app from the appstore and The Cytoscape Desktop application was brought to foreground ( or highlighted as we do in IGB).
          Next it gets listed in the list of apps in App manager under App menu.

          I tried looking into the code regarding how they have connected both. It looks similar to the bridge code which we use in our application.
          However, I did not get to know the clear flow of code. According to me, code bases to refer are cytoscape appstore, cytoscape-impl and cytoscape-api.
          Cytoscape -> https://github.com/cytoscape/appstore
          Cytoscape impl -> https://github.com/cytoscape/cytoscape-impl
          Cytoscape Api -> https://github.com/cytoscape/cytoscape-api

          Show
          sneha Sneha Ramesh Watharkar (Inactive) added a comment - - edited We have download button for all apps in cytoscape which downloads the app to the system. I noticed that the button says "Download" when we don't have Cytoscape desktop application running on our system. Then I downloaded Cytoscape application (not appstore) from http://www.cytoscape.org/ Once the installation of Cytoscape is completed, I refreshed the Cytoscape Appstore site. Now the button said "Install" instead of "Download". I installed any random app from the appstore and The Cytoscape Desktop application was brought to foreground ( or highlighted as we do in IGB). Next it gets listed in the list of apps in App manager under App menu. I tried looking into the code regarding how they have connected both. It looks similar to the bridge code which we use in our application. However, I did not get to know the clear flow of code. According to me, code bases to refer are cytoscape appstore, cytoscape-impl and cytoscape-api. Cytoscape -> https://github.com/cytoscape/appstore Cytoscape impl -> https://github.com/cytoscape/cytoscape-impl Cytoscape Api -> https://github.com/cytoscape/cytoscape-api
          Hide
          ann.loraine Ann Loraine added a comment -

          Question:

          • Does "Install" (rather than "Download") appear only when Cytoscape is running on the user's desktop?
          • Can you provide a direct link to the source code for this App Store javascript? (for convenience)
          Show
          ann.loraine Ann Loraine added a comment - Question: Does "Install" (rather than "Download") appear only when Cytoscape is running on the user's desktop? Can you provide a direct link to the source code for this App Store javascript? (for convenience)
          Hide
          sneha Sneha Ramesh Watharkar (Inactive) added a comment -

          Yes. If the Cytoscape is not running on user's desktop then "Download" is seen. Install is seen when we have Cytoscape running.

          Show
          sneha Sneha Ramesh Watharkar (Inactive) added a comment - Yes. If the Cytoscape is not running on user's desktop then "Download" is seen. Install is seen when we have Cytoscape running.
          Show
          sneha Sneha Ramesh Watharkar (Inactive) added a comment - - edited Some important files to get info: Entry point for javascript which I found is https://github.com/cytoscape/appstore/blob/master/static/apps/js/app_page.js https://github.com/cytoscape/cytoscape-impl/blob/develop/app-impl/api-notes.txt https://github.com/cytoscape/cytoscape-impl/blob/develop/app-impl/src/main/java/org/cytoscape/app/internal/CyActivator.java
          Hide
          ann.loraine Ann Loraine added a comment -

          Followup question about this code:

          function install_app(app_name, app_version, callback) {
          $.getJSON(AppManagerURL + 'install/' + app_name + '/' + app_version,
          {},
          callback);
          }

          What happens within the Cytoscape code when this "install" endpoint gets hit? (Does bundle get downloaded from App store and saved in local "bundles" directory?)

          Show
          ann.loraine Ann Loraine added a comment - Followup question about this code: function install_app(app_name, app_version, callback) { $.getJSON(AppManagerURL + 'install/' + app_name + '/' + app_version, {}, callback); } What happens within the Cytoscape code when this "install" endpoint gets hit? (Does bundle get downloaded from App store and saved in local "bundles" directory?)
          Hide
          sneha Sneha Ramesh Watharkar (Inactive) added a comment -

          Yes. It is installed in the local machine in the path C:\Users\sneha\CytoscapeConfiguration\3\apps (In case of Windows).
          The above mentioned path has apps folder which consists of further 4 folders namely :
          download-temp - which has all the downloaded app jar files.
          installed - has all the installed app jar files.
          uninstalled - has uninstalled app jar files.
          disabled - has disabled app jar files.

          Show
          sneha Sneha Ramesh Watharkar (Inactive) added a comment - Yes. It is installed in the local machine in the path C:\Users\sneha\CytoscapeConfiguration\3\apps (In case of Windows). The above mentioned path has apps folder which consists of further 4 folders namely : download-temp - which has all the downloaded app jar files. installed - has all the installed app jar files. uninstalled - has uninstalled app jar files. disabled - has disabled app jar files.
          Hide
          ann.loraine Ann Loraine added a comment -

          In our case, all App bundles get stored in the same location as the core application bundles.
          Also, when a bundle is "uninstalled," it gets deleted from the user's file system.
          The Cytoscape approach seems cleaner - it's more obvious which bundles are Apps and which are not. Similarly, saving un-installed Apps locally ensures the user can re-install them even when Internet is not available.

          Show
          ann.loraine Ann Loraine added a comment - In our case, all App bundles get stored in the same location as the core application bundles. Also, when a bundle is "uninstalled," it gets deleted from the user's file system. The Cytoscape approach seems cleaner - it's more obvious which bundles are Apps and which are not. Similarly, saving un-installed Apps locally ensures the user can re-install them even when Internet is not available.

            People

            • Assignee:
              sneha Sneha Ramesh Watharkar (Inactive)
              Reporter:
              ann.loraine Ann Loraine
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: