Change discourse-setup wording

Hi
I’ve done quite a few fresh installs recently.
What I noticed was that the wording of the first response in the process of checking if Docker is installed.

"Failed to find Docker … etc

The use of the word ‘failed’ as a first response on most installs isn’t good feedback to anyone unfamiliar with the command line.

You copy and paste

sudo -s
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse

and it results in failure unless Docker is already installed, which is quite improbable in most cases.

Can the wording be changed to something less negative?

  • "Docker not found …

  • "[AS EXPECTED] … Docker is not installed …

  • "Next step is to install Docker as it isn’t presently installed …

  • "That Worked! - The next step is to install Docker as it isn’t presently installed …

@pfaffman I know you do a lot of installs, any thoughts?

3 Likes

Replying to myself … an after thought.

Is it just a courtesy to ask permission to install Docker?
Is this stop in the install process really necessary?

Could it just be stated that Docker will be installed if it isn’t already?

2 Likes

Note that this wording isn’t in the instructions, it’s from the discourse-setup script.

2 Likes

Yes,
I’m talking about the command line response - echo

Can the word Failed be dropped and a different wording used?
Or better can the install just get on with it and not stop for a response here?

If you are doing any install the last word you want to see is Failed
Especially after you have just copied and pasted (correctly) from the Install instructions.

3 Likes

That’s a good point. There are also a bunch of grep commands that also spew out stuff that’s confusing and looks like errors. I’ve thought before about cleaning that up. It’ll likely take an hour or two and I’m somewhat reluctant to do it on my own time as most people are able to suffer through those scary messages.

Next time I make changes, though, (perhaps on the next month to make it easier to turn off the new ember-cli stuff), I’ll see about making that language less scary.

4 Likes

Rome was not build in a day :slight_smile:

So the cleanup can happen over some time :+1:

3 Likes

Hi Jay,
Yes I’ve sat through a few installs and the panic does recede with experience.

The language used reflects the negative result of the if statement on line 131.
In coding terms this is correct but in reality it is expected behaviour not to find Docker installed as most people have just set up a clean install.

I always thought this code I pasted into the command line would/should have installed Docker without the need for dialogue?

sudo -s
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
2 Likes

Apparently I was writing for programmers and not for people when I wrote that!

4 Likes

What is presented here can be easily prevented by replacing messages with language strings. Two possible ways of achieving this:

  • implementing API calls ( read ) and using Weblate,
  • storing all language strings locally ( within Discourse install ) and replacing all msgs with placeholders.

Both of above ways requires heavy modification of Discourse core.

1 Like

It occurred to me that rather than fixing all of the things that I think are problemmatic, the change you request is just a couple of lines, so I submitted this:

3 Likes

TBH the new wording sounds to me like Docker is there, but it’s just not in the path.

3 Likes

Oh, darn it. Yeah.

Words are so hard.

So maybe

 Failed to find docker or docker.io on your PATH.

which I thought would make sense as

Neither docker nor docker.io is in your PATH.

Should be

Docker not found.

And people who see that and

"Enter to install Docker from https://get.docker.com/ or Ctrl+C to exit"

will know know whether to hit return or not.

5 Likes

Hi Jay, Thanks for taking the time to do this I know you are busy with your own website which looks great btw. Best wishes.

Docker not found.

Perfect.

1 Like

I think mentioning PATH in the message is an important indicator that docker/docker.io may or may not be installed, i.e. the problem may be that PATH doesn’t include the location where it has been installed.

If the aim is simply to avoid using a strongly negative word, I think just replacing “Failed to” with “Could not” would do the job.

Could not find docker or docker.io on your PATH.

Back to the negative …
I just don’t need to know this … I just want to install Docker when I paste in …

Why stop an install to report that what you are installing hasn’t been previously installed?

Get on with installing Docker.

If Docker is found on the PATH - yippee - Install Discourse

Delete the two lines completely?

Jay, Simon

Probably best not to spend any time on this.
Multiple opinions on ‘copy’ are difficult to resolve without upsetting somebody.

When I do my next clean install … I can smile about this topic and go to my ‘good place’ and as I’m told Docker has “Failed” to be found on my fresh install and as I press ‘Y’ install Docker, I can do it without cursing through clenched teeth “I thought that was what I was f…ing doing - Get on with it”.

1 Like

I think because you aren’t installing docker. What you’re doing at the point of that message is running the Discourse setup which relies on docker being available - it helps you to install this if it can’t find it but asks because it knows nothing about your system.

Maybe it can’t find it because it’s not installed, in which case installing is obviously the correct answer. Maybe it can’t find it because you’ve deliberately installed docker somewhere else for some reason, which isn’t in the system default PATH, in which case installing is the wrong answer. (One correct answer would be to abort the setup and run it again with PATH=/where/docker/is:$PATH ./discourse-setup)

Is it possible that you’re interpreting the repository name, discourse_docker, as being docker? It isn’t, it’s Discourse’s outer layer, the components that need to interact with docker like the setup script, launcher script, etc.

1 Like