itchio / butler

🎩 Command-line itch.io helper
MIT License
745 stars 52 forks source link

Set a display name in butler push commands #174

Closed TerryCavanagh closed 2 years ago

TerryCavanagh commented 5 years ago

One thing I'd like to be able to do on butler commands is change the display name of updated builds (the ones that display here):

image

It would be nice to be able to do something like this in my upload batch files:

butler push ../builds/windows64/ terrycavanagh/dicey-dungeons:windows64 --userversion %VERSIONNUM% --displayname "Dicey Dungeons v%VERSIONNUM% Windows"

(Again, apologies if this is already possible and I just missed it, am new to Butler and couldn't find it in the documentation!)

fasterthanlime commented 5 years ago

Are you planning on using this for anything other than showing the version number?

Because the version number is already shown for all butler-powered uploads (it's in your screenshot!). See #28

TerryCavanagh commented 5 years ago

I basically just think it looks nice to be able to choose an exact filename - for Dicey Dungeons, I'd use Dicey Dungeons v%VERSIONNUM% Windows and so on!

Basically, this bit:

image

Not this one, which I'm ambivalent about:

image

fasterthanlime commented 5 years ago

Right! But changing the upload name every time is wrong from a modelling purpose. Whenever you push v0.16, v0.17 etc., they'll all be builds in a single upload:

The user can switch to any build they want, here's my install of DD:

image

Currently showing one build:

image

Here are the Overland builds I can switch to:

overland-builds

If you don't like the way the version indicator looks, that's a different issue, which I'm sure we can discuss :)

Deozaan commented 5 years ago

If I may chime in, I think a benefit to this suggestion is for people who are not using the Itch app and will download the file(s) manually. It would be nice for the filename of the file that is saved to the Downloads folder to contain the version number as shown in TerryCavanagh's screenshot(s) (e.g., MyGame v1.15 Windows.zip). This way a person can tell at a glance or two what version they have already downloaded and what version is the latest available.

fasterthanlime commented 5 years ago

It would be nice for the filename of the file that is saved to the Downloads folder to contain the version number as shown in TerryCavanagh's screenshot(s)

This is a completely separate issue.

The name shown on the downloads page is a "display name", which only appears on the web and doesn't affect downloaded file names. We definitely could make generated .zips include the userversion (or, failing that, the automatically-generated version) string, that actually sounds like a good idea - but the way uploads are displayed on the website has nothing to do with it.

fasterthanlime commented 5 years ago

@TerryCavanagh I just want to make sure we're on the same page here, because both this issue and #173 make me think I didn't explain properly how uploads & builds actually work.

Without butler

When not using butler, "uploads" are just files attached to a project. Their name usually includes a version number (because how else are you going to know which version it is?).

Uploading a new version usually involves creating another upload, and then removing the old one (or keeping it around, in case folks want to download it again..).

image

There's nothing that links uploads "Game v13 for Windows" and "Game v14 for Windows" together - they just happen to be attached to the same game.

In that scenario, 1 upload = 1 file = 1 version, and it does make sense to include the version number in the upload name.

With butler

When you are using butler, uploads are "channels", that contain a whole series of versions.

You have a channel for Windows, one for Linux, one for macOS, one for a soundtrack, one for a companion booklet maybe? And all of these can get updated.

When you push a build for Windows/Linux/macOS, it all lands in the same uploads. Nothing gets deleted/recreated/renamed.

image

Old builds stick around forever, and users can revert to them from the itch app.

That issue in particular

Is my "changing the upload name when pushing a build doesn't make sense" stance any clearer now?

Like I said, if you're unhappy with that part:

image

we can probably change up how it looks. It could look like this for example:

image

(although I'm not convinced it's better, because now the versions don't line up anymore)

TerryCavanagh commented 5 years ago

Hey - sorry for the late reply to this!

Ok, I think this just sounds like what I want to do is against your intended design for the app, which is fine, haha. As @Deozaan said, I'm only really interested in being able to change the default names on the website, but it's not a big deal to continue just doing that manually if it goes against how you want it to work!

fasterthanlime commented 5 years ago

@TerryCavanagh please no :slightly_frowning_face:

I don't want you to have to do stuff manually, I want to 1) understand what you want to do 2) let you do it efficiently.

Right now I still don't understand what you want to do:

  1. If you dislike the way versions are shown on the website, show me how you would like them to appear and I can make it so (don't change upload display names!)
  2. If you want non-app users to get a file named "Dicey Dungeons Linux (32 bit for compatibility) v0.15.1.zip", when they click 'Download', I can make that happen (don't change upload display names!).
  3. If you want something else still, tell me what it is, and I'll make it happen!

Changing upload display name only changes the name displayed next to uploads. It does not change the name of the .zip file people get.

That's true for both web and butler uploads btw! Web uploads get their filename at upload time, whereas butler uploads' filenames are generated from the target + channel name:

image

Again, changing the upload display name doesn't help anything. What I can do is change the way those .zip names are generated, to use the game's title, upload display name, and build userversion instead.

In that case, instead of dicey-dungeons-windows64.zip, I would get a zip named Dicey Dungeons v0.15.1 Windows v0.15.1.zip (because you put the version in the upload display name). If you just let the upload display name be "Dicey Dungeons Windows", then the zip would be named "Dicey Dungeons Windows v0.15.1.zip", which seems ideal.

Would that address what you thought you were achieving by changing upload display names?

mbasaglia commented 3 years ago

I would like the ability to specify display names too

My use case is this:

Multiple separate download for the same platform/channel

In my specific case I want to upload a zip and a checksum file to allow users to validate the zip.

ScionOfDesign commented 2 years ago

I also want this feature. Having to rename builds after every upload is annoying. I want the filename users download to be exactly what I upload and the name of the button only be the platform.

Mochnant commented 2 years ago
  1. If you want non-app users to get a file named "Dicey Dungeons Linux (32 bit for compatibility) v0.15.1.zip", when they click 'Download', I can make that happen (don't change upload display names!).

Is this request being tracked somewhere? I would find it useful.

TerryCavanagh commented 2 years ago

Sorry, I should really just close this issue - I've changed how Dicey Dungeons names are displayed on my itch page to better match the intended way itch works, and it's fine! If somebody else wants to request this feature, you should probably open a new issue with an up to date use-case.