-
-
Notifications
You must be signed in to change notification settings - Fork 346
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 DLC in recommendations list #3038
Conversation
d2b5e8e
to
1e626e1
Compare
1e626e1
to
8b6070e
Compare
Nice! Definitely improves UX with DLCs. Two things: We should probably also hide the install checkbox for the second group. (An alternative would be displaying a different message, but IMHO the first option is cleaner, code-wise at least.) And it looks like users will have problems after updating the client. My simulated updating process always throws an error after the second time it's started:
I can see two options to fix this right now:
Option one sounds like a good idea, but option two also does 😄 (maybe do both?) |
MakingHistoryEngineTweaks is not installable without MakingHistory-DLC for me: Are you talking about CmdLine maybe? There I see the same message as for a normal missing dependency.
Done in latest commit.
I see the appeal of this, but whether to do a refresh is (and arguably should be) up to the user. The app should still work even if the user chooses not to refresh. |
Ah! No, I forgot some of the setup; now I see what you see. Will investigate. |
|
4bef5e0
to
7bce033
Compare
Co-authored-by: DasSkelett <DasSkelett@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Think it's good to go now. Really nice addition to our DLC handling, future-proofs us for more DLCs to come. Thanks!
Motivation
In KSP-CKAN/NetKAN#7205, we added our first module that
recommends
a DLC. Currently this is allowed and doesn't crash, and it appears in the relationships tab, but it doesn't appear during the install flow. It would be nice to notify users installing that module that they should consider purchasing the DLC.Changes
NOTE: If this is merged, the next release must be v1.28.0 due to spec changes!
The spec and schema are updated to allow:
When this is set, the module is treated as a DLC and the
"download"
property is not required. This allows us to represent a DLC with aCkanModule
.The
resources
property can now containstore
andsteamstore
to hold links for DLC.Installed DLCs are now represented in the registry as a module in
installed_modules
withkind
set todlc
.Fixes #2770.
Setup
Testing this requires a bit more preparation than usual due to the schema changes:
CHANGELOG.md
file and change the first version listed tov1.28.0
, to allow modules with thatspec_version
to be added to your registry./build
ScanDlc
to run):I recommend creating an instance with all DLC and an instance with no DLC for ease of testing.
GUI
Now if you install a module that recommends a DLC that you don't have installed, the DLC will appear in the recommendations list:
resources
property, at the bottom of the table, so you can see thestore
andsteamstore
linksApparently the install from .ckan option now allows multi-select as well.
CmdLine
Now if you try to install, remove, or upgrade a DLC, we tell you you can't and provide links where you can purchase:
The
ckan mark
command blocks you from marking DLC as auto-installed (because it could cause us to attempt auto removal):The
ckan show
command is updated to print thestore
andsteamstore
resources and to hide fields that aren't used:Netkan
When we validate .ckan files, we now enforce the
spec_version
requirements documented for the"kind"
property in the spec, and tests are included to exercise this.