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

Add curated categories and curated category types to App Store codebase

    Details

    • Type: New Feature
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:
      None
    • Story Points:
      3
    • Sprint:
      Summer 6: 17 Aug - 28 Aug, Summer 7: 31 Aug - 11 Sep, Fall 1: 14 Sep - 25 Sep, Fall 2: 28 Sep - 9 Oct, Fall 3: Oct 12 - Oct 23

      Description

      Currently, App developers can create new categories that then are displayed in various locations.

      This is fine, but we also need a new kind of "curated category" that app store maintainers provide and curate over time. Users will be able to associate their Apps with "curated categories" but will not be able to create new "curated categories."

      These "curated categories" should be stored in an easy-to-edit file within the code base. When app stores are deployed or updated, these curated categories need to be added or updated within the code base accordingly. The add-and-update process must also be intelligent enough to remove categories that become obsolete. This means that any existing App that has a retired "curated category" will need to be updated in the database.

      Curated categories will themselves be grouped into curated category types.

      For example - "scientific application" is a "curated category type". Examples of "curated categories" belonging to the curated category type of "scientific application" could include "ChIP-Seq" and "RNA-Seq" and "epigenetics" and "homology search"

      Another "curated category type" is "IGB interface," which refers to the part of the IGB user interface that gets enhanced when the App is installed.

      Examples of "IGB interface" curated categories include: "Adds a tab" and "Tools menu"

      Thoughts on implementation:

      • Determine the best way to add this new kind of "curated category" to the code base
      • To avoid making our existing Django app folders even more heinously complicated, can introduces this as a (mostly) stand-alone Django app "curated_categories" with its own models.py file and so forth?
      • Don't muck about with the existing "user provided" App categories. Ignore this for now.
      • Curated categories can have foreign keys to IGB apps, but not the other way around.

      Once this is fully implemented, we will make changes to the user interface. We will create a home page that shows a hyperlinked listing of "curated category types" and the "curated categories" beneath them. When uses click on an entry in this listing, a filter will be applied that shows just the apps that the selected entry points to.

      As always, before implementing this functionality, search Django world for Django apps with related functionality.

        Attachments

          Issue Links

            Activity

            ann.loraine Ann Loraine created issue -
            ann.loraine Ann Loraine made changes -
            Field Original Value New Value
            Epic Link IGBF-1388 [ 17463 ]
            ann.loraine Ann Loraine made changes -
            Description Currently, App developers can create new categories that then are displayed in various locations.

            Instead, the App Store hosting group should provide a curated listing of categories that are provisioned as part of the app store setup process.

            These should be stored in an easy-to-edit file within the code base. When app stores are deployed or updated, these categories need to be added or updated within the code base accordingly. The add-and-update process must also be intelligent enough to remove categories that become obsolete. This means that any existing App that has a retired category will need to be updated in the database.

            Also, there will be categories of categories, also defined in the code base.

            * "Biology" categories describe what type of scientific utility an App has

            Examples) Homology search, Epigenetics, ChIP-Seq

            * "IGB interface" categories describe what part of the IGB interface gets changed by installing the App

            Examples) Tools menu, Right-click menu, New tab
            Currently, App developers can create new categories that then are displayed in various locations.

            This is fine, but we also need a new kind of "curated category" that app store maintainers provide and curate over time. Users will be able to associate their Apps with "curated categories" but will not be able to create new "curated categories."

            These "curated categories" should be stored in an easy-to-edit file within the code base. When app stores are deployed or updated, these curated categories need to be added or updated within the code base accordingly. The add-and-update process must also be intelligent enough to remove categories that become obsolete. This means that any existing App that has a retired "curated category" will need to be updated in the database.

            Curated categories will themselves be grouped into curated category types.

            For example - "scientific application" is a "curated category type". Examples of "curated categories" belonging to thie curated category type of "scientific application" could include "ChIP-Seq" and "RNA-Seq" and "epigenetics" and "homology search"

            Another "curated category type" is "IGB interface," which refers to the part of the IGB user interface that gets enhanced when the App is installed.

            Examples of "IGB interface" curated categories include: "Adds a tab" and "Tools menu"


            ann.loraine Ann Loraine made changes -
            Description Currently, App developers can create new categories that then are displayed in various locations.

            This is fine, but we also need a new kind of "curated category" that app store maintainers provide and curate over time. Users will be able to associate their Apps with "curated categories" but will not be able to create new "curated categories."

            These "curated categories" should be stored in an easy-to-edit file within the code base. When app stores are deployed or updated, these curated categories need to be added or updated within the code base accordingly. The add-and-update process must also be intelligent enough to remove categories that become obsolete. This means that any existing App that has a retired "curated category" will need to be updated in the database.

            Curated categories will themselves be grouped into curated category types.

            For example - "scientific application" is a "curated category type". Examples of "curated categories" belonging to thie curated category type of "scientific application" could include "ChIP-Seq" and "RNA-Seq" and "epigenetics" and "homology search"

            Another "curated category type" is "IGB interface," which refers to the part of the IGB user interface that gets enhanced when the App is installed.

            Examples of "IGB interface" curated categories include: "Adds a tab" and "Tools menu"


            Currently, App developers can create new categories that then are displayed in various locations.

            This is fine, but we also need a new kind of "curated category" that app store maintainers provide and curate over time. Users will be able to associate their Apps with "curated categories" but will not be able to create new "curated categories."

            These "curated categories" should be stored in an easy-to-edit file within the code base. When app stores are deployed or updated, these curated categories need to be added or updated within the code base accordingly. The add-and-update process must also be intelligent enough to remove categories that become obsolete. This means that any existing App that has a retired "curated category" will need to be updated in the database.

            Curated categories will themselves be grouped into curated category types.

            For example - "scientific application" is a "curated category type". Examples of "curated categories" belonging to the curated category type of "scientific application" could include "ChIP-Seq" and "RNA-Seq" and "epigenetics" and "homology search"

            Another "curated category type" is "IGB interface," which refers to the part of the IGB user interface that gets enhanced when the App is installed.

            Examples of "IGB interface" curated categories include: "Adds a tab" and "Tools menu"


            ann.loraine Ann Loraine made changes -
            Description Currently, App developers can create new categories that then are displayed in various locations.

            This is fine, but we also need a new kind of "curated category" that app store maintainers provide and curate over time. Users will be able to associate their Apps with "curated categories" but will not be able to create new "curated categories."

            These "curated categories" should be stored in an easy-to-edit file within the code base. When app stores are deployed or updated, these curated categories need to be added or updated within the code base accordingly. The add-and-update process must also be intelligent enough to remove categories that become obsolete. This means that any existing App that has a retired "curated category" will need to be updated in the database.

            Curated categories will themselves be grouped into curated category types.

            For example - "scientific application" is a "curated category type". Examples of "curated categories" belonging to the curated category type of "scientific application" could include "ChIP-Seq" and "RNA-Seq" and "epigenetics" and "homology search"

            Another "curated category type" is "IGB interface," which refers to the part of the IGB user interface that gets enhanced when the App is installed.

            Examples of "IGB interface" curated categories include: "Adds a tab" and "Tools menu"


            Currently, App developers can create new categories that then are displayed in various locations.

            This is fine, but we also need a new kind of "curated category" that app store maintainers provide and curate over time. Users will be able to associate their Apps with "curated categories" but will not be able to create new "curated categories."

            These "curated categories" should be stored in an easy-to-edit file within the code base. When app stores are deployed or updated, these curated categories need to be added or updated within the code base accordingly. The add-and-update process must also be intelligent enough to remove categories that become obsolete. This means that any existing App that has a retired "curated category" will need to be updated in the database.

            Curated categories will themselves be grouped into curated category types.

            For example - "scientific application" is a "curated category type". Examples of "curated categories" belonging to the curated category type of "scientific application" could include "ChIP-Seq" and "RNA-Seq" and "epigenetics" and "homology search"

            Another "curated category type" is "IGB interface," which refers to the part of the IGB user interface that gets enhanced when the App is installed.

            Examples of "IGB interface" curated categories include: "Adds a tab" and "Tools menu"

            Thoughts on implementation:

            * Determine the best way to add this new kind of "curated category" to the code base
            * To avoid making our existing Django app folders even more heinously complicated, can introduces this as a (mostly) stand-alone Django app "curated_categories" with its own models.py file and so forth?
            * Don't muck about with the existing "user provided" App categories. Ignore this for now.
            * Curated categories can have foreign keys to IGB apps, but not the other way around.

            Once this is fully implemented, we will make changes to the user interface. We will create a home page that shows a hyperlinked listing of "curated category types" and the "curated categories" beneath them. When uses click on an entry in this listing, a filter will be applied that shows just the apps that the selected entry points to.


            ann.loraine Ann Loraine made changes -
            Description Currently, App developers can create new categories that then are displayed in various locations.

            This is fine, but we also need a new kind of "curated category" that app store maintainers provide and curate over time. Users will be able to associate their Apps with "curated categories" but will not be able to create new "curated categories."

            These "curated categories" should be stored in an easy-to-edit file within the code base. When app stores are deployed or updated, these curated categories need to be added or updated within the code base accordingly. The add-and-update process must also be intelligent enough to remove categories that become obsolete. This means that any existing App that has a retired "curated category" will need to be updated in the database.

            Curated categories will themselves be grouped into curated category types.

            For example - "scientific application" is a "curated category type". Examples of "curated categories" belonging to the curated category type of "scientific application" could include "ChIP-Seq" and "RNA-Seq" and "epigenetics" and "homology search"

            Another "curated category type" is "IGB interface," which refers to the part of the IGB user interface that gets enhanced when the App is installed.

            Examples of "IGB interface" curated categories include: "Adds a tab" and "Tools menu"

            Thoughts on implementation:

            * Determine the best way to add this new kind of "curated category" to the code base
            * To avoid making our existing Django app folders even more heinously complicated, can introduces this as a (mostly) stand-alone Django app "curated_categories" with its own models.py file and so forth?
            * Don't muck about with the existing "user provided" App categories. Ignore this for now.
            * Curated categories can have foreign keys to IGB apps, but not the other way around.

            Once this is fully implemented, we will make changes to the user interface. We will create a home page that shows a hyperlinked listing of "curated category types" and the "curated categories" beneath them. When uses click on an entry in this listing, a filter will be applied that shows just the apps that the selected entry points to.


            Currently, App developers can create new categories that then are displayed in various locations.

            This is fine, but we also need a new kind of "curated category" that app store maintainers provide and curate over time. Users will be able to associate their Apps with "curated categories" but will not be able to create new "curated categories."

            These "curated categories" should be stored in an easy-to-edit file within the code base. When app stores are deployed or updated, these curated categories need to be added or updated within the code base accordingly. The add-and-update process must also be intelligent enough to remove categories that become obsolete. This means that any existing App that has a retired "curated category" will need to be updated in the database.

            Curated categories will themselves be grouped into curated category types.

            For example - "scientific application" is a "curated category type". Examples of "curated categories" belonging to the curated category type of "scientific application" could include "ChIP-Seq" and "RNA-Seq" and "epigenetics" and "homology search"

            Another "curated category type" is "IGB interface," which refers to the part of the IGB user interface that gets enhanced when the App is installed.

            Examples of "IGB interface" curated categories include: "Adds a tab" and "Tools menu"

            Thoughts on implementation:

            * Determine the best way to add this new kind of "curated category" to the code base
            * To avoid making our existing Django app folders even more heinously complicated, can introduces this as a (mostly) stand-alone Django app "curated_categories" with its own models.py file and so forth?
            * Don't muck about with the existing "user provided" App categories. Ignore this for now.
            * Curated categories can have foreign keys to IGB apps, but not the other way around.

            Once this is fully implemented, we will make changes to the user interface. We will create a home page that shows a hyperlinked listing of "curated category types" and the "curated categories" beneath them. When uses click on an entry in this listing, a filter will be applied that shows just the apps that the selected entry points to.

            As always, before implementing this functionality, search Django world for Django apps with related functionality.


            ann.loraine Ann Loraine made changes -
            Assignee Ann Loraine [ aloraine ]
            ann.loraine Ann Loraine made changes -
            Summary Refactor App Store to use curated categories Add curated categories and curated category types to App Store codebase
            sameer Sameer Shanbhag (Inactive) made changes -
            Assignee Sameer Shanbhag [ sameer ]
            sameer Sameer Shanbhag (Inactive) made changes -
            Status To-Do [ 10305 ] In Progress [ 3 ]
            ann.loraine Ann Loraine made changes -
            Sprint Summer 6: 17 Aug - 28 Aug [ 101 ] Summer 6: 17 Aug - 28 Aug, Summer 7: 31 Aug - 11 Sep [ 101, 102 ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            ann.loraine Ann Loraine made changes -
            Link This issue relates to IGBF-2507 [ IGBF-2507 ]
            Hide
            ann.loraine Ann Loraine added a comment -

            Curated categories:

            Curated category type "App Type" is associated with curated categories "Application" and "IGB Plug-in"

            Curated category type "Biology" is associated with curated categories "Transcriptome", "Epigenome", "Alternative Splicing"

            Curated category type "Data" is associated with curated categories "ChIP-Seq", "RNA-Seq", "Bisulfite", "DNA-Seq"

            Show
            ann.loraine Ann Loraine added a comment - Curated categories: Curated category type "App Type" is associated with curated categories "Application" and "IGB Plug-in" Curated category type "Biology" is associated with curated categories "Transcriptome", "Epigenome", "Alternative Splicing" Curated category type "Data" is associated with curated categories "ChIP-Seq", "RNA-Seq", "Bisulfite", "DNA-Seq"
            Show
            sameer Sameer Shanbhag (Inactive) added a comment - Please find the Commit: https://bitbucket.org/sshanbh1/sameer-appstorefork/pull-requests/new?source=IGBF-2520&t=1#diff
            sameer Sameer Shanbhag (Inactive) made changes -
            Status In Progress [ 3 ] Needs 1st Level Review [ 10005 ]
            sameer Sameer Shanbhag (Inactive) made changes -
            Assignee Sameer Shanbhag [ sameer ]
            Hide
            ann.loraine Ann Loraine added a comment -

            Please check the visibility of the repository above – I think it may be set to "private".
            attn: Sameer Shanbhag

            Show
            ann.loraine Ann Loraine added a comment - Please check the visibility of the repository above – I think it may be set to "private". attn: Sameer Shanbhag
            Hide
            sameer Sameer Shanbhag (Inactive) added a comment -

            Hi Professor. [~aloraine]
            The access is public, could you check: https://bitbucket.org/sshanbh1/sameer-appstorefork/commits/e8d03adccc013ed4687947629c3a8185834b6b77

            Show
            sameer Sameer Shanbhag (Inactive) added a comment - Hi Professor. [~aloraine] The access is public, could you check: https://bitbucket.org/sshanbh1/sameer-appstorefork/commits/e8d03adccc013ed4687947629c3a8185834b6b77
            Hide
            ann.loraine Ann Loraine added a comment - - edited

            Thank you for this!

            I have a request:

            • I would like the apps model to not be changed. Can this be done?
            Show
            ann.loraine Ann Loraine added a comment - - edited Thank you for this! I have a request: I would like the apps model to not be changed. Can this be done?
            ann.loraine Ann Loraine made changes -
            Status Needs 1st Level Review [ 10005 ] First Level Review in Progress [ 10301 ]
            ann.loraine Ann Loraine made changes -
            Assignee Ann Loraine [ aloraine ]
            ann.loraine Ann Loraine made changes -
            Assignee Ann Loraine [ aloraine ] Sameer Shanbhag [ sameer ]
            ann.loraine Ann Loraine made changes -
            Status First Level Review in Progress [ 10301 ] To-Do [ 10305 ]
            ann.loraine Ann Loraine made changes -
            Sprint Summer 6: 17 Aug - 28 Aug, Summer 7: 31 Aug - 11 Sep [ 101, 102 ] Summer 6: 17 Aug - 28 Aug, Summer 7: 31 Aug - 11 Sep, Fall 1: 14 Sep - 25 Sep [ 101, 102, 103 ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            ann.loraine Ann Loraine made changes -
            Link This issue relates to IGBF-2528 [ IGBF-2528 ]
            sameer Sameer Shanbhag (Inactive) made changes -
            Status To-Do [ 10305 ] In Progress [ 3 ]
            Hide
            sameer Sameer Shanbhag (Inactive) added a comment -

            Hi, Prof. [~aloraine],

            Considering the request, I have updated the branch:

            Please let me know if this works.

            Show
            sameer Sameer Shanbhag (Inactive) added a comment - Hi, Prof. [~aloraine] , Considering the request, I have updated the branch: https://bitbucket.org/sshanbh1/sameer-appstorefork/commits/ Please let me know if this works.
            Hide
            ann.loraine Ann Loraine added a comment -

            Please remove all mention of Curated Categories from the models.py in apps.
            Please do not worry about making any changes to the user interface. Just focus on adding the new app to the code base in its own directory.
            For the next steps, please introduce all the code changes in a single commit that only adds to the codebase and does not modify any of the existing code, except for code that is required to let an Admin user modify curated categories. Probably you should create a new branch for this and then add the curated categories code.
            After that is done, the next step would be to modify the user interface components.

            Show
            ann.loraine Ann Loraine added a comment - Please remove all mention of Curated Categories from the models.py in apps. Please do not worry about making any changes to the user interface. Just focus on adding the new app to the code base in its own directory. For the next steps, please introduce all the code changes in a single commit that only adds to the codebase and does not modify any of the existing code, except for code that is required to let an Admin user modify curated categories. Probably you should create a new branch for this and then add the curated categories code. After that is done, the next step would be to modify the user interface components.
            ann.loraine Ann Loraine made changes -
            Assignee Sameer Shanbhag [ sameer ] Ann Loraine [ aloraine ]
            ann.loraine Ann Loraine made changes -
            Status In Progress [ 3 ] Needs 1st Level Review [ 10005 ]
            ann.loraine Ann Loraine made changes -
            Status Needs 1st Level Review [ 10005 ] First Level Review in Progress [ 10301 ]
            ann.loraine Ann Loraine made changes -
            Status First Level Review in Progress [ 10301 ] To-Do [ 10305 ]
            ann.loraine Ann Loraine made changes -
            Assignee Ann Loraine [ aloraine ] Sameer Shanbhag [ sameer ]
            Hide
            ann.loraine Ann Loraine added a comment -

            If I am missing or misunderstanding something, please let me know! Sameer Shanbhag

            Show
            ann.loraine Ann Loraine added a comment - If I am missing or misunderstanding something, please let me know! Sameer Shanbhag
            Hide
            sameer Sameer Shanbhag (Inactive) added a comment -

            Hi Prof. [~aloraine]

            As per requested I moved Curated Categories to act as a new app and removed all the references to it from "Apps"

            Please find the commit:

            Show
            sameer Sameer Shanbhag (Inactive) added a comment - Hi Prof. [~aloraine] As per requested I moved Curated Categories to act as a new app and removed all the references to it from "Apps" Please find the commit: https://bitbucket.org/sshanbh1/sameer-appstorefork/commits/d53db80122ad82423b80cd1f5f48ab67368a9691
            Hide
            ann.loraine Ann Loraine added a comment - - edited

            Can you create a new branch that contains only the new code in curated_categories and no edits or changes to anything else in the code base?

            The goal here is to not include any edits that were later deleted.

            Show
            ann.loraine Ann Loraine added a comment - - edited Can you create a new branch that contains only the new code in curated_categories and no edits or changes to anything else in the code base? The goal here is to not include any edits that were later deleted.
            sameer Sameer Shanbhag (Inactive) made changes -
            Status To-Do [ 10305 ] In Progress [ 3 ]
            Hide
            sameer Sameer Shanbhag (Inactive) added a comment -

            Sure, I will do that.

            Show
            sameer Sameer Shanbhag (Inactive) added a comment - Sure, I will do that.
            Hide
            sameer Sameer Shanbhag (Inactive) added a comment -

            Hi Prof. [~aloraine]

            I have created a new branch and submitted the pull request:

            Show
            sameer Sameer Shanbhag (Inactive) added a comment - Hi Prof. [~aloraine] I have created a new branch and submitted the pull request: https://bitbucket.org/lorainelab/appstore/pull-requests/219/igbf-2520-add-curated-categories-as-a-new/diff
            ann.loraine Ann Loraine made changes -
            Link This issue relates to IGBF-2536 [ IGBF-2536 ]
            Hide
            sameer Sameer Shanbhag (Inactive) added a comment -

            Hi Prof. [~aloraine]

            I have submitted the pull request for Curated Categories Model:

            Show
            sameer Sameer Shanbhag (Inactive) added a comment - Hi Prof. [~aloraine] I have submitted the pull request for Curated Categories Model: https://bitbucket.org/lorainelab/appstore/pull-requests/220/igbf-2520-adding-curated-categories-as-a
            Hide
            ann.loraine Ann Loraine added a comment -

            Merged - thank you Sameer Shanbhag

            Show
            ann.loraine Ann Loraine added a comment - Merged - thank you Sameer Shanbhag
            sameer Sameer Shanbhag (Inactive) made changes -
            Status In Progress [ 3 ] Needs 1st Level Review [ 10005 ]
            sameer Sameer Shanbhag (Inactive) made changes -
            Status Needs 1st Level Review [ 10005 ] First Level Review in Progress [ 10301 ]
            sameer Sameer Shanbhag (Inactive) made changes -
            Status First Level Review in Progress [ 10301 ] Ready for Pull Request [ 10304 ]
            sameer Sameer Shanbhag (Inactive) made changes -
            Status Ready for Pull Request [ 10304 ] Pull Request Submitted [ 10101 ]
            sameer Sameer Shanbhag (Inactive) made changes -
            Status Pull Request Submitted [ 10101 ] Reviewing Pull Request [ 10303 ]
            sameer Sameer Shanbhag (Inactive) made changes -
            Status Reviewing Pull Request [ 10303 ] Merged Needs Testing [ 10002 ]
            ann.loraine Ann Loraine made changes -
            Sprint Summer 6: 17 Aug - 28 Aug, Summer 7: 31 Aug - 11 Sep, Fall 1: 14 Sep - 25 Sep [ 101, 102, 103 ] Summer 6: 17 Aug - 28 Aug, Summer 7: 31 Aug - 11 Sep, Fall 1: 14 Sep - 25 Sep, Fall 2: 28 Sep - 9 Oct [ 101, 102, 103, 104 ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            Hide
            ann.loraine Ann Loraine added a comment -

            Deployed along with other master branch changes to https://devappstore3.bioviz.org, using new playbooks that allow for copying over data from an existing app store's S3 bucket and database.

            Show
            ann.loraine Ann Loraine added a comment - Deployed along with other master branch changes to https://devappstore3.bioviz.org , using new playbooks that allow for copying over data from an existing app store's S3 bucket and database.
            ann.loraine Ann Loraine made changes -
            Assignee Sameer Shanbhag [ sameer ]
            ann.loraine Ann Loraine made changes -
            Sprint Summer 6: 17 Aug - 28 Aug, Summer 7: 31 Aug - 11 Sep, Fall 1: 14 Sep - 25 Sep, Fall 2: 28 Sep - 9 Oct [ 101, 102, 103, 104 ] Summer 6: 17 Aug - 28 Aug, Summer 7: 31 Aug - 11 Sep, Fall 1: 14 Sep - 25 Sep, Fall 2: 28 Sep - 9 Oct, Fall 3: Oct 12 - Oct 23 [ 101, 102, 103, 104, 106 ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            ann.loraine Ann Loraine made changes -
            Status Merged Needs Testing [ 10002 ] Post-merge Testing In Progress [ 10003 ]
            ann.loraine Ann Loraine made changes -
            Resolution Done [ 10000 ]
            Status Post-merge Testing In Progress [ 10003 ] Closed [ 6 ]
            ann.loraine Ann Loraine made changes -
            Assignee Sameer Shanbhag [ sameer ]

              People

              • Assignee:
                sameer Sameer Shanbhag (Inactive)
                Reporter:
                ann.loraine Ann Loraine
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: