CKAN icon indicating copy to clipboard operation
CKAN copied to clipboard

General idea for mod messaging (changelogs, save breaking, etc.)

Open dewiniaid opened this issue 9 years ago • 3 comments

This would in part address some of the issues raised in #815, #211 and #60:

It would be probably be handy if mods could include some general messages (which may or may not be displayed) as part of the install or pre-install process.

Each 'message' could consist of a few components:

  • Message type, such as 'readme', 'changelog', 'required-configuration', 'optional-configuration', etc.
  • Some sort of condition for display, e.g. to mark a message as only relevant if upgrading from a version <= x. For instance, ExampleMod 8.4 might have a condition to mention save-breaking only if upgrading from a version earlier than ExampleMod 8.0. A message may only be relevant on the first installation of a mod as well, or some combination of the two. (Perhaps "mod never installed before" might constitute "version 0", so a condition could be something like "oldversion > 0 and oldversion < 8.0")
  • A message format. 'text' would be the default, but maybe 'markdown' or something similar can be added.
  • A message body OR a path to a file (Relative to KSP/GameData/) to display. Note that the latter only works if the mod is actually installed, so might not be ideal in all circumstances.

There's a few types of messages I could see this including, each of varying priority which may or may not need to be displayed. A few categories I can think of would be:

  • changelog: Self-expanatory. Changes in this version of the mod. A full version history could be included by having multiple messages with different display conditions, e.g.

changelog, condition: oldversion < 8.4: "ExampleMod 8.4 released 5/1/2015.\n\nFixed bugs introduced in 8.3" changelog, condition: oldversion < 8.3: "ExampleMod 8.3 released 4/30/2015.\n\nRecompiled for KSP 1.0 and added n+1 more bugs."

  • readme: Also self-explanatory.
  • required-configuration: In case a mod must be properly configured prior to use, this is instructions on how to configure the mod.
  • optional-configuration: As above, but assumes the configuration is optional (e.g. reasonable defaults are already present.)
  • breaking: Critical Information about what installing this mod breaks (e.g. your saves), optionally including instructions on how to manually upgrade or work around the breakage.

dewiniaid avatar May 01 '15 22:05 dewiniaid

I really like the idea, especially if I want to update a mod I would like to see the changelog for this version in the sidebar on the right. I think there is enough space left there under the description!

phwoelfel avatar Jul 10 '15 21:07 phwoelfel

As far as messaging on install or upgrade we should ensure we ONLY message Very Important things, otherwise users will very quickly become immune and just "click-through". Ie, limit these messages to save-breaking or similar.

Furthermore, on install/update, these messages should all be collated into a single window/dialog with a single "Accept/OK" button, not one per mod as otherwise, again, users will quickly just "click-through". See the Debian package manager as an example of how this works.

Anything else such as README's or a Changelog should be displayed / available via a menu or button in the UI, or via a CMD line command. Ie, only via specific user interaction requesting this information. IMHO these are not important enough to warrant an automated display.

mwerle avatar Dec 04 '17 14:12 mwerle

I stumbled upon this issue when searching for some kind of mod changelog support. This idea seems nice but I decided to try the changelogs only as a start, I posted the WIP as a draft pull request so I can gather some feedback so feel free to check it at #3612

jkavalik avatar Jul 24 '22 13:07 jkavalik