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

Mark gem as archived #4960

Draft
wants to merge 10 commits into
base: master
Choose a base branch
from
Draft

Mark gem as archived #4960

wants to merge 10 commits into from

Conversation

colby-swandale
Copy link
Member

What's this about?

Many of our older users in rubygems.org currently own gems they no longer wish to be responsible for. The way users have approached this issue is typically been:

  • Abandoning the gem and no longer responding to issues and publishing any new versions to rubygems.org
  • Yanking the gem entirely
  • Offering the gem to a new author (aka Ownership Requests)

We want to encourage users to keep projects alive by passing it to new owners, but often users wish to close the book entirely and move on. Which is understandable, but in this particular scenario, we want to encourage owners to keep their code published on rubygems.org, but we presently don't have a way to indicate to users that a gem is no longer being maintained.

This Pull Request is adding a new feature to allow gem owners to mark their gem as archived and notify users this gem will no longer receive any new updates.

User Story

Archiving a gem

When a user wishes to archive their gem, they can do so by logging into their rubygems.org account, navigating to their gem page and clicking on the "Archive gem" link. This will take the user to a confirmation page that will explain what happens to the gem when it has been archived:

  • The gem will no longer be allowed to publish new versions
  • A notice will appear on the gem page indicating that the gem has been archived
  • New owners cannot be added to the gem
  • Encourage the user to consider offering their gem up for adoption, or tips for finding new owners
  • The gem will remain published on rubygems.org and available to the public, ie: RubyGems & Bundler

If the owner decides to continue, the owner can click confirm and the gem is then marked as archived.

All owners will receive a confirmation email from rubygems.org notifying that the gem has been archived.

Unarchiving a gem

Of course, if the owner decides to reverse their decision, they have the option to unarchive their gem by navigating to the gem page and clicking on the "Unarchive gem" link.

Once processed, the gem will no longer display a notice message, new owners can be added & new versions can be published.

All owners will receive a confirmation email from rubygems.org notifying that the gem is no longer archived.

Screenshots

Screenshot 2024-08-15 at 11 39 16 PM

@colby-swandale colby-swandale changed the title Mark gem as archive Mark gem as archived Aug 15, 2024
Copy link

codecov bot commented Aug 15, 2024

Codecov Report

Attention: Patch coverage is 94.54545% with 3 lines in your changes missing coverage. Please review.

Project coverage is 96.87%. Comparing base (a2389da) to head (df83f08).
Report is 14 commits behind head on master.

Files Patch % Lines
app/helpers/rubygems_helper.rb 50.00% 2 Missing ⚠️
app/controllers/archive_controller.rb 94.44% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #4960      +/-   ##
==========================================
- Coverage   97.01%   96.87%   -0.15%     
==========================================
  Files         420      422       +2     
  Lines        8724     8776      +52     
==========================================
+ Hits         8464     8502      +38     
- Misses        260      274      +14     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

Successfully merging this pull request may close these issues.

1 participant