Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A "Deprecated" flag and other visual cues #1008

Closed
tima opened this issue Aug 3, 2018 · 5 comments
Closed

A "Deprecated" flag and other visual cues #1008

tima opened this issue Aug 3, 2018 · 5 comments

Comments

@tima
Copy link
Contributor

tima commented Aug 3, 2018

Feature Request

Use Case

The ability to label a piece of contributed content that it should not be used going forward for any number of reasons. Rather than remove it from galaxy the contributor (or perhaps Galaxy admin) can flag it as deprecated so those who really want it can still get it and new consumers can be advised to look elsewhere.

Proposed Solution

A simple clear marker on listings along with a search filter (deprecated entries should not be displayed by default) and perhaps "greying out" those search results if they are included as an additional visual cue.

https://forge.puppet.com/rmueller/cron
https://forge.puppet.com/rmueller (note cron listing)

Alternatives

N/A

Implementation

Covered in the explanation above.

@chouseknecht
Copy link
Contributor

Does the idea of deprecated apply at a Collection (i.e. Repository) level, or down at the content item level?

Can a user only deprecate something through the UI, or are there corresponding deprecated attributes that should be added to metadata?

This has implications for the Galaxy CLI, Mazer, as well. If a user tries to install a deprecated content item or Collection, then Mazer should throw a deprecation warning.

@tima
Copy link
Contributor Author

tima commented Aug 3, 2018

Does the idea of deprecated apply at a Collection (i.e. Repository) level, or down at the content item level?

Start with the simplest thing and see what happens -- that seems like the whole collection/repo.

Can a user only deprecate something through the UI, or are there corresponding deprecated attributes that should be added to metadata?

I think no. Too much replication. I think it wise to give the galaxy admin the ability to deprecate something like a role has a zero quality score and has been update in 3 years and we want to start cleaning up we can mark it deprecated.

This has implications for the Galaxy CLI, Mazer, as well. If a user tries to install a deprecated content item or Collection, then Mazer should throw a deprecation warning.

Agreed. How that is done seems like an implementation detail.

@chouseknecht
Copy link
Contributor

chouseknecht commented Aug 6, 2018

@newswangerd

Summarizing the above comments to a list of tasks...

  • On the Repository model add a 'deprecated' attribute
  • Add the 'deprecated' attribute to the Repository serializer
  • On My Content, in the kabob menu for a repository, add a 'Deprecate' option, and an 'Undeprecate' option. If a repository is not deprecated, the Deprecate option should be visible. If a repository is deprecated, the Undeprecate option should be visible.
  • Both admins and namespace owners (contributors) will have access to the Deprecate and Undeprecate options.
  • Add the 'deprecated' attribute to the Content serializer. It should appear as an attribute of the content item. If a repository is deprecated, then its content is also deprecated.
  • Add 'deprecated' as a search filter in ContentSearchView, and add it to the results serializer
  • On the Search page, add 'Deprecated' as a filter option. As noted above, by default deprecated content items will not be returned.
  • Work with @trahman73 to decide how to indicate deprecated items when the 'Deprecated' filter is active, and deprecated items are returned in search results.
  • Work with @trahman73 to decide how to indicate deprecated items on the Author, Partner, and Content Detail pages. Deprecated items will be visible on these pages. We just need to decide how to make it clear that something is deprecated.
  • Add a 'Deprecating Content' topic to docs
  • Once this is complete, back port to production

@alikins
Copy link
Contributor

alikins commented Aug 14, 2018

For deprecated repos/content, will the repository lookup api mazer uses (api/v1/repositories/?name=ansible_testing_content&provider_namespace__namespace__name=testing for ex) will deprecated repos be found?

I would propose the API above (api/v1/repositories/ ) should continue to find deprecated repos, but the eventual 'search' command or other 'browsing' apis should not find them. On the theory that if I 'mazer install somenamespace.some_deprecated_repo' that should continue to work.

I don't think that behavior is a change or a difference from the requirements in this issue. But I wanted to confirm that api/v1/repositories/ would not have deprecated repos filtered out.

@alikins
Copy link
Contributor

alikins commented Aug 14, 2018

For repos that get marked as deprecated, will there be anything to indicate which repo (if any) supercedes the now deprecated repos. ie, is there a link between deprecated repos and the repos that potentially supercede it?

@newswangerd newswangerd added the status/fix-committed Merged to develop \ release branch label Aug 30, 2018
@cutwater cutwater added status/fix-released Fixed in the latest release and removed status/fix-committed Merged to develop \ release branch labels Nov 16, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants