how do I create and share a cyber-dojo customized practice session?

Suppose you want to create a starting point whose files are different to the initial default set of files for a language. For example, you might want to create a cyber-dojo where the tests are already written. Or maybe you want to start with some legacy code to practice refactoring.

You can do this very easily in cyber-dojo.  Prepare your files in a regular cyber-dojo.  When you think you have your files how you want them, click the "test" button. If everything is as expected make a note of...
  • the cyber-dojo's 10 character id (from the URL); suppose it is 58E4486EE2
  • the animal; in this case the alligator
  • the last traffic light's number; in this case 23


Click on the latest (right-most) traffic light. This will bring up the history-dialog. At the bottom is the "fork" button:


Click the fork button. This will create a new cyber-dojo with its own id, whose starting files are taken from alligator's 23rd traffic light. A new dialog will appear telling you the new cyber-dojo's id.

Click the "ok" button to close the dialog. A new browser window will appear with the newly created id ready to go.


If you click the enter button now, your starting files will be exactly the same as the files from the traffic light you forked from.

Creating a link for other people to fork your starting point

Now, in this example A2F910 is a new empty cyber-dojo which has no users or changes in it yet. As you use it changes to it will accumulate. Eventually you will run out of animals with which to enter. In other words, like all cyber-dojos, it's good for one practice session only.

This begs the question, is there a way to share a starting point which will be pristine every time? The answer is yes, there is.

A2F910 was creating by forking from the alligator's 23rd traffic-light in the cyber-dojo with id 58E4486EE2. The following URL will create of a new forked cyber-dojo with its own ID, by forking from the alligator's 23rd traffic light of cyber-dojo 58E4486EE2.

<a href="http://cyber-dojo.org/forker/fork/58E4486EE2?avatar=alligator&tag=23" target="_blank">Start a new cyber-dojo from my awesome C++ starting point</a>

You can now share this on a web page (for example).

No comments:

Post a Comment