Skip to content

Ensure ECMAScript track is ready for v2 launch #412

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
9 tasks done
kytrinyx opened this issue Jun 12, 2018 · 16 comments
Closed
9 tasks done

Ensure ECMAScript track is ready for v2 launch #412

kytrinyx opened this issue Jun 12, 2018 · 16 comments

Comments

@kytrinyx
Copy link
Member

kytrinyx commented Jun 12, 2018

There are a number of things we're going to want to check before the v2 site goes live. There are notes below that flesh out all the checklist items.

  • The track has a page on the v2 site: https://v2.exercism.io/tracks/ecmascript
  • The track page has a short description under the name (not starting with TODO)
  • The "About" section is a friendly, colloquial, compelling introduction
  • The "About" section follows the formatting guidelines
  • The code example gives a good taste of the language and fits within the boundaries of the background image
  • There are exercises marked as core
  • Exercises have rough estimates of difficulty
  • Exercises have topics associated with them
  • The first exercise is auto_approve: true

Track landing page

The v2 site has a landing page for each track, which should make people want to join it. If the track page is missing, ping @kytrinyx to get it added.

Blurb

If the header of the page starts with TODO, then submit a pull request to https://github.com/exercism/ecmascript/blob/master/config.json with a blurb key. Remember to get configlet and run configlet fmt . from the root of the track before submitting.

About section

If the "About" section feels a bit dry, then submit a pull request to https://github.com/exercism/ecmascript/blob/master/docs/ABOUT.md with suggested tweaks.

Formatting guidelines

In order to work well with the design of the new site, we're restricting the formatting of the ABOUT.md. It can use:

  • Bold
  • Italics
  • Links
  • Bullet lists
  • Number lists

Additionally:

  • Each sentence should be on its own line
  • Paragraphs should be separated by an empty line
  • Explicit <br/> can be used to split a paragraph into lines without spacing between them, however this is discouraged.

Code example

If the code example is too short or too wide or too long or too uninteresting, submit a pull request to https://github.com/exercism/ocaml/blob/master/docs/SNIPPET.txt with a suggested replacement.

Exercise metadata

Where the v1 site has a long, linear list of exercises, the v2 site has organized exercises into a small set of required exercises ("core").

If you update the track config, remember to get configlet and run configlet fmt . from the root of the track before submitting.

Topic and difficulty

Core exercises unlock optional additional exercises, which can be filtered by topic an difficulty, however that will only work if we add topics and difficulties to the exercises in the track config, which is in https://github.com/exercism/ecmascript/blob/master/config.json

Auto-approval

We've currently made any hello-world exercises auto-approved in the backend of v2. This means that you don't need mentor approval in order to move forward when you've completed that exercise.

Not all tracks have a hello-world, and some tracks might want to auto approve other (or additional) exercises.

Track mentors

There are no bullet points for this one :)

As we move towards the launch of the new version of Exercism we are going to be ramping up on actively recruiting people to help provide feedback. Our goal is to get to 100%: everyone who submits a solution and wants feedback should get feedback. Good feedback.

If you're interested in helping mentor the track, check out http://mentoring.exercism.io/

When all of the boxes are ticked off, please close the issue.

Tracking progress in exercism/meta#104

This was referenced Jun 12, 2018
@jackhughesweb
Copy link
Contributor

Things that can be already checked off:

The track has a page on the v2 site: https://v2.exercism.io/tracks/ecmascript
There are exercises marked as core
Exercises have rough estimates of difficulty
Exercises have topics associated with them

I've submitted pull requests for the blurb #413, and the about section #414.

The first exercise is missing "auto_approve", but has "hello-world" as the name of the first exercise - this may need to be fixed later.

@matthewmorgan
Copy link
Contributor

@jackhughesweb thanks for your work on this. It does raise the question of whether it is time to deprecate this track, and move the ES features in to the JavaScript track.

Arguments in favor:

  1. ES6 is now 3 years old.
  2. Transpilation is nearly a ubiquitous part of the modern JavaScript development workflow.

@exercism/ecmascripts would anyone care to comment on this, pro or con?

@tejasbubane
Copy link
Member

I agree with @matthewmorgan. Ecmascript has grown a lot over the last few years almost all developers are writing ecmascript these days. Makes very little sense now to maintain two different tracks.

And the release of exercism v2 is a nice opportunity to do the transition 😃

@matthewmorgan
Copy link
Contributor

matthewmorgan commented Jun 12, 2018

@tejasbubane my thoughts exactly. :) How we do this is another question, but it makes little sense to duplicate effort going forward to preserve both of these tracks, and we have a nice opportunity for a clean break here.

@joeljuca
Copy link
Contributor

joeljuca commented Jun 12, 2018 via email

@kytrinyx
Copy link
Member Author

Excellent! I'll take a bit of time to think through the details and chat with @iHiD and @nicolechalmers about how to proceed, and get back to you with some concrete suggestions.

Meanwhile, if you have thoughts/ideas about things we should remember to do, jot them down here!

@matthewmorgan
Copy link
Contributor

Copying here my recent email to @kytrinyx about this, looking for others' comments and help:

Off the top of my head, one possible approach would be to replace the JS track with the ES one, adding back in any exercises implemented in JS but not in ES. This would surely require some users to rewrite their solutions, but this would be no different than when a test suite gets changed now. So, perhaps this is step 1, and maybe step 0 is an audit to determine what stragglers need to be ported.
Step 2 could be updating the JS-flavored examples to ES.
Somewhere in there we'll need to update the docs to say 'JavaScript' everywhere, and maybe add a note about the ES track having been folded in to JS.

I don't know what this means for the UI app though-- do we need to preserve the UUIDs from the JS exercises, or is that just for V2? Will the slugs being the same be enough to map users' existing work and comments to the updated exercises?

matthewmorgan pushed a commit that referenced this issue Jun 23, 2018
This adds the auto_approve property to the hello-world 
exercise as part of preparing tracks for the v2 launch.

The current code on the server will automatically approve
hello-world exercises anyway, but that is a temporary fix
and will be removed in the future.

See #412
@matthewmorgan
Copy link
Contributor

matthewmorgan commented Jun 23, 2018

opening a new issue for deprecating the JS track and replacing it with this one. #417

@joeljuca
Copy link
Contributor

joeljuca commented Jun 23, 2018 via email

@matthewmorgan
Copy link
Contributor

@joelwallis I'll respond on #417

@matthewmorgan
Copy link
Contributor

@kytrinyx we are late with this, but it appears everything is ready, with the possible exception of 'about page follows formatting guidelines.' I'm happy to check that if you can point me to the formatting guidelines.

As far as the deprecation, all the exercises we mentioned in #417 have been ported from the JS track.
Seems like there will be some cleanup, mostly along the lines of changing references to EcmaScript to JavaScript, and modifying some language that refers to both languages.

I think you said that some of these steps could be done as part of migration, which has obviously already happen, so please advise on how we should proceed.

@iHiD
Copy link
Member

iHiD commented Jul 20, 2018

Great work. Thank you.

I think @kytrinyx and I need an hour to plan, then probably an three hours to code a script, then deploy and check. We need some info on people mid-way through an exercise too and to think about how the CLI copes with that.

We have to launch Teams before then so I think we're probably targeting maybe around 1st-3rd Aug to do it. If things go badly then maybe towards the next week, although I'll be flat out with the day-job then so I'd like to get it done by the 3rd.

@kytrinyx
Copy link
Member Author

Yeah 1st-3rd of August would be great. Let me find those formatting guidelines (and let me stick those in some proper documentation!)

@kytrinyx
Copy link
Member Author

@matthewmorgan
Copy link
Contributor

OK thanks. ABOUT.md conforms to the requirements.

@tejasbubane
Copy link
Member

This track along with merger of ecmascript has been running well on v2. Closing.

Please reopen if something is missed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants