More robust and simpler format for container config

(Caue Rego) #1

Discourse currently uses YAML, and I think that’s just fine.

But Sam seems to disagree. What kind of “more robust and simpler” format could he be talking about? I don’t think we got anything better than YAML today. Or do we?

(Bill Ayakatubby) #2

JSON immediately comes to mind.

(Caue Rego) #3

I thought it might be JSON, but YAML is an extension of it. I see how it could be more “robust” not “simpler”.

(Johan Jatko) #4

For simplicity and robustness, .ini or Call of Duty’s config files springs to mind.
But both lack the depth that the config files currently have.

JSON and XML for example have the depth, but they have their special formats you have to follow, similar to YAML.
(except for the goddamn no-tab rule)

In my opinion, I believe cson would be best, seeing as it is a lazy version of Json.

Problem? You have to write a parser in Ruby for it. (Unless you wanna do some ugly nodejs dependant stuff)

(Sam Saffron) #5

I would like pups to support multiple config file options.

YAML is great and all but it completely freaks out if there is even one indenting issue. JSON is great when it comes to whitespace but super verbose.

I am thinking of supporting something like an ini file of a Linux conf file. It is all perculating in my head and will definitely be post v1.

(Caue Rego) #6

Sounds pretty cool. I like ini files, I don’t really know why we often disregard it. It is actually a pretty decent format, probably better than YAML for this. Do we really need depth here?

Anyway, does your ini+conf project has a name? :stuck_out_tongue:

(Jeff Atwood) #7

With the sane error message that @riking added that says “hey your YAML is messed up, fix it” I object to it much less now.

Good error messages that humans can understand is an absolute must, before we jump to anything else.

(Jeff Atwood) #8

Pups still has some of the most embarrassingly bad error message formats I have ever had the displeasure to be associated with.

I agree we gotta fix error messaging before changing file formats.