yogthos / clojure-error-message-catalog

a catalog of common Clojure errors and their meaning
448 stars 24 forks source link

Create basic website for display and submission #17

Open eggsyntax opened 8 years ago

eggsyntax commented 8 years ago

Git isn't a big obstacle for many programmers, but we could decrease submission friction significantly further, in my opinion, by creating a website with a submission form. This would have the additional benefit of ensuring a consistent format (by separating the form into fields for error, description, cause(s), solution(s), possibly others).

Further, a basic website would be a place to display error pages in an attractive format for users who were only interested in looking for help on the error they've encountered, and provide a convenient search mechanism.

The main inspiration here is the Scala Clippy website, which has tabs for usage instructions, contribution form, and a browse page, as well as links to the project's github page and to the project's gitter chat.. Seems like a simple and effective model. There'd presumably be a cron job or equivalent to periodically update the site from the repo. My first thought for handling submissions is to write code to convert them to PRs. Alternately, the final source of truth could switch to being a persistent database, but having it be the repo seems good enough for now to me.

I'm happy to work on it, but given my current time constraints it would be a while before I had anything ready to go. If someone else wants to take it on, that's great. We'd also need to have a hosting solution of some sort.

This may not be high enough priority to tackle immediately, but I wanted to get it out there for discussion & input, and I certainly see some advantage to prioritizing creating a minimum-friction way for people to submit errors and/or solutions.

Feedback & input appreciated.

yogthos commented 8 years ago

Yeah I agree, that was kind of what I was thinking log term as well. I just wanted to see if there would be enough involvement first to justify the effort. Making a website will allow us to persist the errors as structure data immediately, and would let us do things like regex searching for error descriptions.

I also agree that using the repo should be sufficient for the foreseeable future. Incidentally, this is a similar model I use for the Luminus site here. All the docs are kept on GitHub and the site just has a background thread that polls hourly.

If you're up for spearheading this that would definitely be great!

eggsyntax commented 8 years ago

Sounds good, I'll start playing with that as I have time. I'm not going to assign it to myself, because if other folks come look, I'd welcome their involvement (hi, whoever's reading this, I mean you! ;) ). Out of curiosity, is there a way to tell Luminus that you want a webapp that has a front-end infrastructure but doesn't use React? I'm a huge React fan, but I think it'd be counterproductive for a site that's largely reading raw HTML from github and presenting it back to the user.

We could almost get away with a website with no server at all, but I think we'll want to keep github credentials safely server-side. & of course it's simpler to slurp HTML from the server side as well.

I'm don't have that much webdev background, but I'll muddle through :)

yogthos commented 8 years ago

Yeah if you're not using the +cljs profile, then it won't add any Reagent stuff in the project. I definitely agree that we mostly want to have a static site. The workflow is going to be pretty simple, you're either browsing errors, looking for articles matching the error message, or submitting an error. So, there's really no need for anything heavy on the front-end.

eggsyntax commented 8 years ago

@yogthos you know, the funny thing is that I've gotten so accustomed to thick clients that I didn't even consider a purely static website :P. But yeah, that makes total sense.

@all -- if anyone's interested in helping with this, I've got the bare bones of a website (made w/ luminus, of course ;) ) at https://github.com/eggsyntax/clojure-error-website . Contributions welcomed!

yogthos commented 8 years ago

Nice, and I'll definitely take a look once I get a bit of time.