Skip to content
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

Launch Checklist #30

Open
13 of 16 tasks
kytrinyx opened this issue Apr 25, 2016 · 11 comments
Open
13 of 16 tasks

Launch Checklist #30

kytrinyx opened this issue Apr 25, 2016 · 11 comments
Labels
Milestone

Comments

@kytrinyx
Copy link
Member

kytrinyx commented Apr 25, 2016

Launch Checklist

Step 0: Prep the Repo (@kytrinyx)

  • Create the repository
  • Create starter issues
  • Turn on Travis CI for the track

Step 1: Implement Exercises

  • Implement at least 10 problems

See the contributing guide for the details about the format of an exercise.

The short version is:

  • a test suite
  • an example solution, named with example (case-insensitive) in the filename
  • a section in the "exercises" key of the config.json file with the slug, topics, and difficulty level.

The topics can be an empty list, and the difficulty level is from 1 to 10, and can default to 1 until we know more about the exercises.

"exercises": [
  {
    "slug": "hello-world" ,
    "difficulty": 1,
    "topics": []
  }
]

Step 2: Add the Track to Exercism (@kytrinyx)

  • Add Perl 6 as a submodule in trackler
  • Update x-api and deploy

This means that it will show up on http://exercism.io/languages and http://exercism.io/languages/perl6

Step 3: Make the Track Ready for Launch

  • Define test_pattern in config.json
  • Add a language icon or logo + attribution (MISSING ATTRIBUTION)
  • Write documentation
  • Find track mentors
  • Add track mentors on the site (@kytrinyx)

test_pattern

The exercism.io website links to the exercise implementations, so it needs to know how to recognize the filename(s) for the test suite.

The "test_pattern" value in the config.json file should be a string that can be compiled as a regular expression, and which will match on the file or files that comprise the test suite of an exercise.

If the test filenames contain the word "test" (case insensitive) then the "test_pattern" key can be deleted.

Language Icon and Attribution

We try to create a language icon that has the exercism colors, and is recognizably similar to the language icon. Sometimes this isn't possible due to copyright issues.

The Exercism colors are:

  • #D81D4E (pink)
  • #212121 (charcoal)

The icon is used throughout the site in order to identify the language track, and to identify code that has been submitted to that track.

See http://exercism.io/languages for all the existing icons.

Icon

If image assets are not your strong suit, just find a reasonable image to start from, along with the information about the licensing, and we'll figure out the colorization thing (I've written some scripts to help me do this part).

The logo should be named icon.png and live under img/ in this repository. If you know how, go ahead and make an SVG as well.

Attribution

The attribution goes in the README.md file.

If the icon we have based this on is not in the public domain, we need to provide information about license and provenance. If we require permission to use and/or change the icon, then we need to obtain that permission before we can use it.

Documentation

The documentation is used in the http://exercism.io/languages/perl6 section to help people get started with the track.

The files live in the docs/ directory here in this repository, and gets served to the site via the x-api. It should contain at minimum:

  • INSTALLATION.md - about how to get the language set up locally.
  • TESTS.md - about how to run the tests for the exercises.

Some nice to haves:

  • ABOUT.md - a short, friendly blurb about the language. What types of problems does it solve really well? What is it typically used for?
  • LEARNING.md - a few notes about where people might want to go to learn the language from scratch.
  • RESOURCES.md - references and other useful resources.

Find Track Mentors

Usually in order to see someone's solution you have to have submitted the exercise yourself. Track mentors can access all of the solutions in a given language. Track mentors can therefore help review solutions that people submit on the website in the beginning when few people have submitted solutions to exercises.

Ideally we should have a handful of people who are willing to check Exercism regularly to give people feedback, in order to start the track off on the right note.

The first track mentor needs to be added manually by @kytrinyx, but after that there's a section in the account where existing track mentors can invite new ones.

The most successful tracks are where each submission receives feedback quickly, preferably within the first 24 hours.

In addition, the most interesting and useful conversations start when reviewers do not direct users to do specific things, but rather ask questions challenging people to think about different aspects of their solution, or explore aspects of the language.

Referencing existing blog posts and style guides seems to work well when making specific recommendations.

Prepare for Open Source Contributions

Once the track is live and active, it will often get new contributions.

  • Read the maintainer documentation
  • "Watch" the xperl6 repository
  • Find a second maintainer

We've got a few years of experience maintaining language tracks on Exercism. Here's what we have learned:

There's more stuff in the contributing guide, as well. We're working on turning that into better, more focused maintainer documentation.

Launch!

  • Toggle "active" to true in config.json
  • Mention it in the next "Behind the Scenes" newsletter (@kytrinyx)
@m-dango
Copy link
Member

m-dango commented Nov 17, 2016

test_pattern included in #42

@m-dango
Copy link
Member

m-dango commented Feb 5, 2017

@kytrinyx Could you add me to the perl 6 track mentors on the site?

@kytrinyx
Copy link
Member Author

Done!

@m-dango m-dango modified the milestone: launch Mar 23, 2017
@kotp kotp added the pinned label Apr 4, 2017
@m-dango
Copy link
Member

m-dango commented May 7, 2017

I think the track is in a good state for becoming active at this point. Hopefully when it does it'll attract a few more contributors to the repository 🙂

@m-dango
Copy link
Member

m-dango commented May 12, 2017

Created PR #158 for toggling active to true

@kytrinyx
Copy link
Member Author

@mienaikage Do you go to any Perl 6 meetups or hang out in any Perl 6 forums or chatrooms? If so, would you see if you can entice anyone else to come help keep an eye on things here (review PRs, discuss issues) and/or on the website (give people feedback)? If we could get 2 or 3 people involved, that would ensure that people can have vacations and babies and mid-life crises without the track suffering from it.

@m-dango
Copy link
Member

m-dango commented May 20, 2017

There is the #perl6 IRC channel, I'll let people on there know that the track is going live and see if I can tempt a few people to jump on.

There's also a Perl social in London coming up on 8th June so I may go along to that.

@kytrinyx
Copy link
Member Author

Both of those sound great!

@kotp
Copy link
Member

kotp commented May 20, 2017

Not to mention the Gitter Room on Exercism for perl!, but I want to...

@m-dango
Copy link
Member

m-dango commented May 23, 2017

Posted on the IRC and the Perl 6 Facebook group. The site also got a mention in the Perl 6 weekly blog 🙂

@kytrinyx
Copy link
Member Author

The site also got a mention in the Perl 6 weekly blog

Very cool!

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

No branches or pull requests

3 participants