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 #1

Closed
16 tasks done
kytrinyx opened this issue Oct 3, 2016 · 21 comments
Closed
16 tasks done

Launch Checklist #1

kytrinyx opened this issue Oct 3, 2016 · 21 comments

Comments

@kytrinyx
Copy link
Member

kytrinyx commented Oct 3, 2016

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 Delphi 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/delphi

Step 3: Make the Track Ready for Launch

  • Define test_pattern in config.json
  • Add a language icon or logo + 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/pascal 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 xdelphi 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)
@rpottsoh
Copy link
Member

rpottsoh commented Oct 7, 2016

@kytrinyx 10 exercises have been submitted.

@kytrinyx
Copy link
Member Author

kytrinyx commented Oct 7, 2016

Thank you! ❤️ I need to get on the next plane, I'll take a look at this during the weekend.

@kytrinyx
Copy link
Member Author

I got swamped (and jet-lagged) during the weekend, but this is still on my list to review. Sorry about the delay!

@rpottsoh
Copy link
Member

rpottsoh commented Oct 13, 2016

No problem. Thanks for the note.

@rpottsoh
Copy link
Member

rpottsoh commented Jan 3, 2017

@kytrinyx regarding an icon for this track, I have written to Embarcadero for permission. No response yet, but it has only been a couple of days. They reached out to me today regarding my downloading of the free starter edition of Delphi. I've used that opportunity to re-ask my question regarding permission to use a logo... I'll keep you posted.

@kytrinyx
Copy link
Member Author

kytrinyx commented Jan 4, 2017

Thanks @rpottsoh!

@rpottsoh
Copy link
Member

rpottsoh commented Jan 6, 2017

@kytrinyx regarding the icon. I have written to and received word back from Jim McKeeth. He is the Lead Developer Evangelist for Delphi at Embarcadero. He says and I quote

If you are using it to identify Delphi compatibility then it should be fine.

What do you think?

@kotp
Copy link
Member

kotp commented Jan 7, 2017

I think that we should put it in place and then ping them, so they can have someone more 'legal' than "Evangelist" review it. Would hate to have it hanging out there to get nipped after some time.

@rpottsoh
Copy link
Member

rpottsoh commented Jan 7, 2017 via email

@kotp
Copy link
Member

kotp commented Jan 7, 2017

Probably the same person, Jim McKeeth, with a request to please have Legal peek.

@rpottsoh
Copy link
Member

rpottsoh commented Jan 7, 2017 via email

@rpottsoh
Copy link
Member

rpottsoh commented Jan 9, 2017

I see that the icon is now online. 🥇 I have passed the link to the langauges page on to Jim McKeeth and invited him to take look to see what he thinks and to let me know if he feels its use is not in keeping with his thoughts on the matter.

@rpottsoh
Copy link
Member

rpottsoh commented Jan 9, 2017

I have received feedback from Jim McKeeth regarding how the icon is being used and I quote:

The track can be Pascal, but not if it uses the logo. The logo means Delphi

So we either need a different logo or we rename the track which we are already discussing in issue #45.

@kotp
Copy link
Member

kotp commented Jan 10, 2017

image as a base for a more general icon.

Source for graphic credited via Wikipedia to this page and the graphic should be in the public domain.

@kytrinyx
Copy link
Member Author

I think we should rename the track to Delphi, since that is a more accurate description of it.

@rpottsoh
Copy link
Member

rpottsoh commented Jan 24, 2017 via email

@kytrinyx
Copy link
Member Author

@rpottsoh I think "Delphi Pascal" for the language name, and "delphi" for the track ID.

@rpottsoh
Copy link
Member

rpottsoh commented Jan 28, 2017 via email

@rpottsoh
Copy link
Member

I know we don't have a test generator yet and we do not have the ability to automatically test new exercise submissions. Neither of which is on this checklist. Any one think of any reasons not to toggle active to true in config.json?

@kytrinyx
Copy link
Member Author

We definitely don't need test generators. I think this is ready!

@kotp
Copy link
Member

kotp commented Mar 30, 2017

I think it should be in "active" status. Like the cloth creators of old have stated, 'make it sew'.

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

3 participants