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

Show recommendations of full changeset with opt-out #3892

Merged

Conversation

HebaruSan
Copy link
Member

@HebaruSan HebaruSan commented Aug 25, 2023

Motivation

Currently we show only the recommendations and suggestions for the mods the user selects. The recommendations and suggestions of dependencies aren't shown, even though the user stands to benefit from seeing them.

Changes

  • Now recommendations and suggestions are shown for the full changeset, including both user-selected mods and all of their dependencies, except...
  • The KSP-RO folks don't want that for their modules, because the list would be very long and some of it might not be applicable to an RSS install, so modules can do this to opt out:
    depends:
      - name: AMod
        suppress_recommendations: true
    With that in place, AMod would be pulled in as a dependency, but its recommendations and suggestions (and those of its dependencies) won't be shown. This will allow the RP-1 install's listings to be kept shorter.

This is done with a new relationship resolver option, get_recommenders, which stops searching the relationship tree when suppress_recommendations is found.

Fixes #3838.

As a courtesy, before the next release, we should submit pull requests adding suppress_recommendations to the depends relationships of these metanetkans:

FYI to @NathanKell that this may be on its way.

@HebaruSan HebaruSan added Enhancement New features or functionality Core (ckan.dll) Issues affecting the core part of CKAN Spec Issues affecting the spec Schema Issues affecting the schema Relationships Issues affecting depends, recommends, etc. labels Aug 25, 2023
@NathanKell
Copy link
Contributor

Thank you for the headsup! I agree this is (in general) a great feature. It's just, as you say, dangerous for us. :D

The other netkans would be the Express Install ones ( https://github.com/KSP-RO/RP-1-ExpressInstall/blob/main/RP-1-ExpressInstall.netkan and the three graphics ones at https://github.com/KSP-RO/RP-1-ExpressInstall-Graphics ). Oh and RSSCanaveral-HD and CanaveralPads since those dep some stock mods that then rec other stock-KSC-focused mods.

I think that covers us? I don't think we have to worry about the ROMods because they don't dep much at all, but I might eventually do a pass on every mod of ours to suppress it (because most will dep, say, B9PS or TU or something like that).

As I understand it, this is how the netkan-inflater action runs anyway, or something like that? Certainly it pulls in more than depends.

Copy link
Member

@techman83 techman83 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Really neat feature! Thanks @HebaruSan

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Core (ckan.dll) Issues affecting the core part of CKAN Enhancement New features or functionality Relationships Issues affecting depends, recommends, etc. Schema Issues affecting the schema Spec Issues affecting the spec
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Feature]: Recommendations/Suggestions should be transitive; provide a way for mods to opt-out
3 participants