Skip to content

Instantly share code, notes, and snippets.

@mvexel
Last active December 2, 2016 15:34
Show Gist options
  • Save mvexel/b5ad1cb0c91ac245ea3f to your computer and use it in GitHub Desktop.
Save mvexel/b5ad1cb0c91ac245ea3f to your computer and use it in GitHub Desktop.

Revisions

  1. mvexel revised this gist Dec 2, 2016. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions maproulette-tutorial.md
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,7 @@
    # MapRoulette Challenge Tutorial (ßeta)

    **This tutorial is for MapRoulette 1 which is no longer active. Please see the [MapRoulette 2 wiki](https://github.com/maproulette/maproulette2/wiki) for up to date documentation.**

    You have played [MapRoulette](http://maproulette.org). You have seen some of the fun challenges. If you are reading this, you are probably thinking: 'I have a great idea for the next MapRoulette challenge!'

    ![maproulette](https://dl.dropboxusercontent.com/u/187922/Screenshot%202014-10-31%2009.55.09.png)
  2. mvexel revised this gist Nov 11, 2015. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion maproulette-tutorial.md
    Original file line number Diff line number Diff line change
    @@ -230,7 +230,7 @@ At this point, you will have two files:

    You are now ready to upload your Challenge to the MapRoulette staging server, located at `dev.maproulette.org/`. This server runs a version of MapRoulette that is very similar to the main server, with the following exceptions:

    * The basic authentication username is `testuser` and the password is `mylittlesony`.
    * The basic authentication username is `devuser` and the password is `mylittlesony`.
    * The MapRoulette software may be a slightly newer version - but expect no major differences.

    The process of uploading a new Challenge consists of two steps: registering the Challenge with MapRoulette, and uploading the Tasks.
  3. mvexel revised this gist Nov 11, 2015. 1 changed file with 1 addition and 2 deletions.
    3 changes: 1 addition & 2 deletions maproulette-tutorial.md
    Original file line number Diff line number Diff line change
    @@ -240,8 +240,7 @@ The process of uploading a new Challenge consists of two steps: registering the
    For this step, we will use the JSON file with the Challenge metadata. We will send this JSON data as a payload with a `POST` request to the [Challenge create / update API endpoint](https://github.com/osmlab/maproulette/wiki/API-Documentation#create-or-update-challenge). How you do this is up to you; `curl` works just fine, or use a GUI tool like [Postman](http://www.getpostman.com/). Here is a `curl` example:

    ```shell
    curl -vX POST http://dev.maproulette.org/api/admin/challenge/my-awesome-challenge -d @/path/to/challenge-metadata.json --header "Content-Type: application:json"
    ```
    curl -u devuser:mylittlesony -v -X POST http://dev.maproulette.org/api/admin/challenge/my-awesome-challenge -d @/path/to/challenge.json --header "Content-Type: application:json"```
    ### Sanity check
    Now that your challenge is on the staging area at `dev.maproulette.org`, anyone can see it. At this point, it would be a good idea to ask a few others to look at your Challenge and provide feedback. It is also a good idea to get in touch with Serge and Martijn at [[email protected]](mailto:[email protected]) if you hadn't done that yet. We are always happy to have a look and help out with feedback and debugging. (If you don't hear from us for a couple of days, don't despair. We will get back to you!)
  4. mvexel revised this gist Nov 11, 2015. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion maproulette-tutorial.md
    Original file line number Diff line number Diff line change
    @@ -230,7 +230,7 @@ At this point, you will have two files:

    You are now ready to upload your Challenge to the MapRoulette staging server, located at `dev.maproulette.org/`. This server runs a version of MapRoulette that is very similar to the main server, with the following exceptions:

    * The API endpoints used to administer your challenges are accessible from anywhere, without any form of authentication.
    * The basic authentication username is `testuser` and the password is `mylittlesony`.
    * The MapRoulette software may be a slightly newer version - but expect no major differences.

    The process of uploading a new Challenge consists of two steps: registering the Challenge with MapRoulette, and uploading the Tasks.
  5. mvexel revised this gist Nov 18, 2014. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion maproulette-tutorial.md
    Original file line number Diff line number Diff line change
    @@ -95,7 +95,7 @@ Now that you have all the required metadata, you will need to create a JSON file
    "title": "Missing Cuisines",
    "blurb": "Add cuisine tag to restaurants",
    "description": "Lots of restaurants have no `cuisine` defined in OSM. See if you can help add this valuable information! Check out [http://wiki.openstreetmap.org/wiki/Key:cuisine](the cuisine tag) on the wiki.",
    "instruction": "See if you can add the cuisine to this restaurant."
    "instruction": "See if you can add the cuisine to this restaurant.",
    "help": "This challenge will show you Restaurants in OpenStreetMap that do not have a [http://wiki.openstreetmap.org/wiki/Key:cuisine](cuisine) tag. The cuisine tag tells you what type of restaurant it is. This can be a style or type of food, like `fast_food`, or a regional designation, like `thai`. Follow the link to the wiki for more information. Most of the time, you will be able to tell just from the name. If you are unsure, you can try looking up the web site of the restaurant on the internet, or skip to the next restaurant.",
    "difficulty": 1,
    "active": false
  6. mvexel revised this gist Nov 4, 2014. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion maproulette-tutorial.md
    Original file line number Diff line number Diff line change
    @@ -295,7 +295,7 @@ Now that you really have everything you need to post your Challenge to `maproule

    You are live! Announce your challenge on the OSM mailing lists, your diary, the forums, twitter, wherever you think it's appropriate.

    But... You are not quite done! Npw that your Challenge is out there, you need to maintain it as well. The best Challenges are well maintained. We will look at what Challenge maintenance entails in the next and last section.
    But... You are not quite done! Now that your Challenge is out there, you need to maintain it as well. The best Challenges are well maintained. We will look at what Challenge maintenance entails in the next and last section.

    ## Step 8 - Challenge Maintenance

  7. mvexel revised this gist Nov 4, 2014. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion maproulette-tutorial.md
    Original file line number Diff line number Diff line change
    @@ -284,7 +284,7 @@ You are now ready to submit your challenge to MapRoulette for real!

    *Source: [Flickr Commons](https://www.flickr.com/photos/smithsonian/2550242671)*

    Now that you really have everything your need to post your Challenge to `maproulette.org`, you can perform the same sequence of steps you used to test your challenge on `dev.maproulette.org` - only replacing the server host portion of the URL with `localhost:8000`, or whatever port you are tunneling from. (This assumes that you have created the SSH tunnel as explained in the previous section.) To repeat:
    Now that you really have everything you need to post your Challenge to `maproulette.org`, you can perform the same sequence of steps you used to test your challenge on `dev.maproulette.org` - only replacing the server host portion of the URL with `localhost:8000`, or whatever port you are tunneling from. (This assumes that you have created the SSH tunnel as explained in the previous section.) To repeat:

    * Create your challenge [`POST /api/admin/challenge/<slug>`](https://github.com/osmlab/maproulette/wiki/API-Documentation#create-or-update-challenge) with the challenge JSON as payload
    * Upload your tasks [`POST /api/admin/challenge/<slug>/tasks`](https://github.com/osmlab/maproulette/wiki/API-Documentation#update-multiple-tasks-at-once) with the tasks JSON as payload
  8. mvexel revised this gist Nov 4, 2014. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion maproulette-tutorial.md
    Original file line number Diff line number Diff line change
    @@ -112,7 +112,7 @@ We have all the information we need for the Challenge, but we don't have any Tas

    ## Step 3 - Preparing Your Tasks

    Your MapRoulette Challenge will consist of Tasks. One Task represents one thing you want mappers to fix. Most Challenges have hundreds, or even thousands of Tasks. Once MapRoulette knows about your tasks, it will keep track of their status internally. If someone marks a task as *Fixed* or *Not an Error* for example, it will no longer be shown - unless you tell MapRoulette to make it reappear. (More on that later, whe we talk about Challenge maintenance.)
    Your MapRoulette Challenge will consist of Tasks. One Task represents one thing you want mappers to fix. Most Challenges have hundreds, or even thousands of Tasks. Once MapRoulette knows about your tasks, it will keep track of their status internally. If someone marks a task as *Fixed* or *Not an Error* for example, it will no longer be shown - unless you tell MapRoulette to make it reappear. (More on that later, when we talk about Challenge maintenance.)

    ![preparing](https://farm4.staticflickr.com/3057/3112472619_bddcbb2f7b_b_d.jpg)

  9. mvexel revised this gist Oct 31, 2014. 1 changed file with 7 additions and 7 deletions.
    14 changes: 7 additions & 7 deletions maproulette-tutorial.md
    Original file line number Diff line number Diff line change
    @@ -92,13 +92,13 @@ Now that you have all the required metadata, you will need to create a JSON file

    ```javascript
    {
    "title": "Restaurants Without Cuisine",
    "blurb": "For this challenge, the idea is to repair all motorways",
    "description": "Repair all motorways",
    "help": "Repair the motorway where it is broken as indicated on the map",
    "instruction": "Look at the map for broken pieces of way. Go into you editor and repair them as needed",
    "active": false,
    "difficulty": 1
    "title": "Missing Cuisines",
    "blurb": "Add cuisine tag to restaurants",
    "description": "Lots of restaurants have no `cuisine` defined in OSM. See if you can help add this valuable information! Check out [http://wiki.openstreetmap.org/wiki/Key:cuisine](the cuisine tag) on the wiki.",
    "instruction": "See if you can add the cuisine to this restaurant."
    "help": "This challenge will show you Restaurants in OpenStreetMap that do not have a [http://wiki.openstreetmap.org/wiki/Key:cuisine](cuisine) tag. The cuisine tag tells you what type of restaurant it is. This can be a style or type of food, like `fast_food`, or a regional designation, like `thai`. Follow the link to the wiki for more information. Most of the time, you will be able to tell just from the name. If you are unsure, you can try looking up the web site of the restaurant on the internet, or skip to the next restaurant.",
    "difficulty": 1,
    "active": false
    }
    ```

  10. mvexel revised this gist Oct 31, 2014. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion maproulette-tutorial.md
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,4 @@
    # MapRoulette Challenge Tutorial ß
    # MapRoulette Challenge Tutorial (ßeta)

    You have played [MapRoulette](http://maproulette.org). You have seen some of the fun challenges. If you are reading this, you are probably thinking: 'I have a great idea for the next MapRoulette challenge!'

  11. mvexel revised this gist Oct 31, 2014. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion maproulette-tutorial.md
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,4 @@
    # MapRoulette Challenge Tutorial ()
    # MapRoulette Challenge Tutorial ß

    You have played [MapRoulette](http://maproulette.org). You have seen some of the fun challenges. If you are reading this, you are probably thinking: 'I have a great idea for the next MapRoulette challenge!'

  12. mvexel revised this gist Oct 31, 2014. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion maproulette-tutorial.md
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,4 @@
    # MapRoulette Challenge Tutorial
    # MapRoulette Challenge Tutorial ()

    You have played [MapRoulette](http://maproulette.org). You have seen some of the fun challenges. If you are reading this, you are probably thinking: 'I have a great idea for the next MapRoulette challenge!'

  13. mvexel revised this gist Oct 31, 2014. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion maproulette-tutorial.md
    Original file line number Diff line number Diff line change
    @@ -330,4 +330,4 @@ Thank you for being part of the MapRoulette community! If you have any questions

    ![cheer](https://farm2.staticflickr.com/1277/4681460753_f49ed99da3_o_d.jpg)

    *Source: [Flickr Commons](https://www.flickr.com/photos/nationaalarchief/4681460753)*
    *Source: [Flickr Commons](https://www.flickr.com/photos/nationaalarchief/4681460753)*
  14. mvexel revised this gist Oct 31, 2014. 1 changed file with 7 additions and 0 deletions.
    7 changes: 7 additions & 0 deletions maproulette-tutorial.md
    Original file line number Diff line number Diff line change
    @@ -31,6 +31,7 @@ For more inspiration, just have a look at the currently active MapRoulette chall
    A challenge consists of two equally important parts: the **Challenge metadata** and the **Tasks**. We will cover the metadata in this section. Then we will go into preparing the Tasks in the next section.

    ![preparing](https://farm3.staticflickr.com/2242/2179074377_f84260ef97_o_d.jpg)

    *Source: [Flickr Commons](https://www.flickr.com/photos/library_of_congress/2179074377)*

    The **Challenge metadata** describes what the challenge is, both to MapRoulette and to the user. Here is what you need to define:
    @@ -114,6 +115,7 @@ We have all the information we need for the Challenge, but we don't have any Tas
    Your MapRoulette Challenge will consist of Tasks. One Task represents one thing you want mappers to fix. Most Challenges have hundreds, or even thousands of Tasks. Once MapRoulette knows about your tasks, it will keep track of their status internally. If someone marks a task as *Fixed* or *Not an Error* for example, it will no longer be shown - unless you tell MapRoulette to make it reappear. (More on that later, whe we talk about Challenge maintenance.)

    ![preparing](https://farm4.staticflickr.com/3057/3112472619_bddcbb2f7b_b_d.jpg)

    *Source: [Flickr Commons](https://www.flickr.com/photos/smithsonian/3112472619)*

    Each Task needs to have a unique **Identifier**, **Geometries**, and optionally an **Instruction**.
    @@ -223,6 +225,7 @@ At this point, you will have two files:
    * A JSON file describing the Tasks for your Challenge.

    ![sampling](https://farm6.staticflickr.com/5506/10474789236_0d0ef35efe_o_d.jpg)

    *Source: [Flickr Commons](https://www.flickr.com/photos/floridamemory/10474789236)*

    You are now ready to upload your Challenge to the MapRoulette staging server, located at `dev.maproulette.org/`. This server runs a version of MapRoulette that is very similar to the main server, with the following exceptions:
    @@ -251,6 +254,7 @@ So your challenge looks OK on the staging environment - great! Let's move on the
    By now, you have tested your upload workflow on `dev.maproulette.org`. You have sanity tested the challenge, and invited a few others to look at it also. If everything looks good, it's time to finally upload your work to `maproulette.org`!

    ![lock](https://farm4.staticflickr.com/3906/14780710731_e2e398bbdc_o_d.jpg)

    *Source: [Flickr Commons](https://www.flickr.com/photos/internetarchivebookimages/14780710731)*

    Unlike `dev.maproulette.org`, the challenge administration endpoints on `maproulette.org` are only accessible from `localhost`. What that means is that you need to call those endpoints from the same machine, so you will need to have **access to maproulette.org**.
    @@ -277,6 +281,7 @@ You are now ready to submit your challenge to MapRoulette for real!
    ## Step 7 - Upload Your Challenge

    ![send](https://farm4.staticflickr.com/3037/2550242671_05d49dabcf_b_d.jpg)

    *Source: [Flickr Commons](https://www.flickr.com/photos/smithsonian/2550242671)*

    Now that you really have everything your need to post your Challenge to `maproulette.org`, you can perform the same sequence of steps you used to test your challenge on `dev.maproulette.org` - only replacing the server host portion of the URL with `localhost:8000`, or whatever port you are tunneling from. (This assumes that you have created the SSH tunnel as explained in the previous section.) To repeat:
    @@ -301,6 +306,7 @@ So your Challenge is live, your Tasks are out there for the community to fix. Wh
    * New errors appear in OSM, and nodes and ways get moved around.

    ![maintenance](https://farm4.staticflickr.com/3365/3548856279_a215152cd5_o_d.jpg)

    *Source: [Flickr Commons](https://www.flickr.com/photos/library_of_congress/3548856279)*

    Challenge maintenance basically means a periodical 'reality check' for your Tasks: are they still valid, are they really fixed, are they still in the same place, are there new ones?
    @@ -323,4 +329,5 @@ There is no Step 9 :)
    Thank you for being part of the MapRoulette community! If you have any questions, drop Serge and Martijn a line at [[email protected]](mailto:[email protected]), or [subscribe]() and post to the [MapRoulette list](https://lists.openstreetmap.org/listinfo/maproulette). If you think you have found a bug in MapRoulette, please log on to [the MapRoulette repository on GitHub](https://github.com/osmlab/maproulette/issues) and file an issue there.

    ![cheer](https://farm2.staticflickr.com/1277/4681460753_f49ed99da3_o_d.jpg)

    *Source: [Flickr Commons](https://www.flickr.com/photos/nationaalarchief/4681460753)*
  15. mvexel revised this gist Oct 31, 2014. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions maproulette-tutorial.md
    Original file line number Diff line number Diff line change
    @@ -222,8 +222,8 @@ At this point, you will have two files:
    * A JSON file describing your Challenge metadata.
    * A JSON file describing the Tasks for your Challenge.

    ![sampling](https://farm7.staticflickr.com/6053/6289308835_2af5485000_b_d.jpg)
    *Source: [Flickr Commons](https://www.flickr.com/photos/osucommons/6289308835)*
    ![sampling](https://farm6.staticflickr.com/5506/10474789236_0d0ef35efe_o_d.jpg)
    *Source: [Flickr Commons](https://www.flickr.com/photos/floridamemory/10474789236)*

    You are now ready to upload your Challenge to the MapRoulette staging server, located at `dev.maproulette.org/`. This server runs a version of MapRoulette that is very similar to the main server, with the following exceptions:

  16. mvexel revised this gist Oct 31, 2014. 1 changed file with 11 additions and 1 deletion.
    12 changes: 11 additions & 1 deletion maproulette-tutorial.md
    Original file line number Diff line number Diff line change
    @@ -251,6 +251,7 @@ So your challenge looks OK on the staging environment - great! Let's move on the
    By now, you have tested your upload workflow on `dev.maproulette.org`. You have sanity tested the challenge, and invited a few others to look at it also. If everything looks good, it's time to finally upload your work to `maproulette.org`!

    ![lock](https://farm4.staticflickr.com/3906/14780710731_e2e398bbdc_o_d.jpg)
    *Source: [Flickr Commons](https://www.flickr.com/photos/internetarchivebookimages/14780710731)*

    Unlike `dev.maproulette.org`, the challenge administration endpoints on `maproulette.org` are only accessible from `localhost`. What that means is that you need to call those endpoints from the same machine, so you will need to have **access to maproulette.org**.

    @@ -275,6 +276,9 @@ You are now ready to submit your challenge to MapRoulette for real!

    ## Step 7 - Upload Your Challenge

    ![send](https://farm4.staticflickr.com/3037/2550242671_05d49dabcf_b_d.jpg)
    *Source: [Flickr Commons](https://www.flickr.com/photos/smithsonian/2550242671)*

    Now that you really have everything your need to post your Challenge to `maproulette.org`, you can perform the same sequence of steps you used to test your challenge on `dev.maproulette.org` - only replacing the server host portion of the URL with `localhost:8000`, or whatever port you are tunneling from. (This assumes that you have created the SSH tunnel as explained in the previous section.) To repeat:

    * Create your challenge [`POST /api/admin/challenge/<slug>`](https://github.com/osmlab/maproulette/wiki/API-Documentation#create-or-update-challenge) with the challenge JSON as payload
    @@ -296,6 +300,9 @@ So your Challenge is live, your Tasks are out there for the community to fix. Wh
    * Mappers may mark Tasks as Fixed or Not An Error in Maproulette, but they were wrong.
    * New errors appear in OSM, and nodes and ways get moved around.

    ![maintenance](https://farm4.staticflickr.com/3365/3548856279_a215152cd5_o_d.jpg)
    *Source: [Flickr Commons](https://www.flickr.com/photos/library_of_congress/3548856279)*

    Challenge maintenance basically means a periodical 'reality check' for your Tasks: are they still valid, are they really fixed, are they still in the same place, are there new ones?

    Technically, this is not a required step, but mappers who log onto MapRoulette and are confronted with Tasks that are already fixed, or don't exist in the location you point them to, will get frustrated and will move on to another, well maintained challenge :)
    @@ -313,4 +320,7 @@ We suggest that you automate this to run at least once a week, but even better i

    There is no Step 9 :)

    Thank you for being part of the MapRoulette community! If you have any questions, drop Serge and Martijn a line at [[email protected]](mailto:[email protected]), or [subscribe]() and post to the [MapRoulette list](https://lists.openstreetmap.org/listinfo/maproulette). If you think you have found a bug in MapRoulette, please log on to [the MapRoulette repository on GitHub](https://github.com/osmlab/maproulette/issues) and file an issue there.
    Thank you for being part of the MapRoulette community! If you have any questions, drop Serge and Martijn a line at [[email protected]](mailto:[email protected]), or [subscribe]() and post to the [MapRoulette list](https://lists.openstreetmap.org/listinfo/maproulette). If you think you have found a bug in MapRoulette, please log on to [the MapRoulette repository on GitHub](https://github.com/osmlab/maproulette/issues) and file an issue there.

    ![cheer](https://farm2.staticflickr.com/1277/4681460753_f49ed99da3_o_d.jpg)
    *Source: [Flickr Commons](https://www.flickr.com/photos/nationaalarchief/4681460753)*
  17. mvexel revised this gist Oct 31, 2014. 1 changed file with 3 additions and 1 deletion.
    4 changes: 3 additions & 1 deletion maproulette-tutorial.md
    Original file line number Diff line number Diff line change
    @@ -223,6 +223,7 @@ At this point, you will have two files:
    * A JSON file describing the Tasks for your Challenge.

    ![sampling](https://farm7.staticflickr.com/6053/6289308835_2af5485000_b_d.jpg)
    *Source: [Flickr Commons](https://www.flickr.com/photos/osucommons/6289308835)*

    You are now ready to upload your Challenge to the MapRoulette staging server, located at `dev.maproulette.org/`. This server runs a version of MapRoulette that is very similar to the main server, with the following exceptions:

    @@ -239,7 +240,6 @@ For this step, we will use the JSON file with the Challenge metadata. We will se
    curl -vX POST http://dev.maproulette.org/api/admin/challenge/my-awesome-challenge -d @/path/to/challenge-metadata.json --header "Content-Type: application:json"
    ```


    ### Sanity check
    Now that your challenge is on the staging area at `dev.maproulette.org`, anyone can see it. At this point, it would be a good idea to ask a few others to look at your Challenge and provide feedback. It is also a good idea to get in touch with Serge and Martijn at [[email protected]](mailto:[email protected]) if you hadn't done that yet. We are always happy to have a look and help out with feedback and debugging. (If you don't hear from us for a couple of days, don't despair. We will get back to you!)

    @@ -250,6 +250,8 @@ So your challenge looks OK on the staging environment - great! Let's move on the

    By now, you have tested your upload workflow on `dev.maproulette.org`. You have sanity tested the challenge, and invited a few others to look at it also. If everything looks good, it's time to finally upload your work to `maproulette.org`!

    ![lock](https://farm4.staticflickr.com/3906/14780710731_e2e398bbdc_o_d.jpg)

    Unlike `dev.maproulette.org`, the challenge administration endpoints on `maproulette.org` are only accessible from `localhost`. What that means is that you need to call those endpoints from the same machine, so you will need to have **access to maproulette.org**.

    To get access, send an email to [email protected] and we will take care of you. At this point, it is very likely that you have already been in touch with Serge or Martijn, the MapRoulette maintainers. Both of them receive the emails sent to this address. We will ask you for your public SSH key, which we will add to the `authorized_keys` for the `[email protected]` account. (If you are not sure what all this means, please [read up on](https://macnugget.org/projects/publickeys/) public key authentication). We will let you know when that's done, and when it is, you can log on to `[email protected]`.
  18. mvexel revised this gist Oct 31, 2014. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions maproulette-tutorial.md
    Original file line number Diff line number Diff line change
    @@ -222,6 +222,8 @@ At this point, you will have two files:
    * A JSON file describing your Challenge metadata.
    * A JSON file describing the Tasks for your Challenge.

    ![sampling](https://farm7.staticflickr.com/6053/6289308835_2af5485000_b_d.jpg)

    You are now ready to upload your Challenge to the MapRoulette staging server, located at `dev.maproulette.org/`. This server runs a version of MapRoulette that is very similar to the main server, with the following exceptions:

    * The API endpoints used to administer your challenges are accessible from anywhere, without any form of authentication.
  19. mvexel revised this gist Oct 31, 2014. 1 changed file with 26 additions and 51 deletions.
    77 changes: 26 additions & 51 deletions maproulette-tutorial.md
    Original file line number Diff line number Diff line change
    @@ -165,6 +165,8 @@ Here is an OSM node represented as GeoJSON with the `osmid` property set:
    }
    ```

    See below for a full MapRoulette Task JSON example.

    Having Geometries (one or more) is **required**.

    #### Instruction
    @@ -173,7 +175,7 @@ The Instruction is a prompt telling mappers what you want them to do to complete

    As mentioned, any Instruction provided for a Task will override the Instruction at the Challenge level. This is useful if you need to provide an Instruction that is tailored to each individual task.

    Having an Instruction is optional. If it is not provided, the Challenge Instruction will be displayed.
    Having an Instruction is **required**. However, in most cases, you will supply it at the Challenge level. You should supply an Instruction for individual Tasks only if you need to have a different instruction text for each task.

    ### Create a JSON file

    @@ -183,56 +185,29 @@ We will use this JSON file to talk to the MapRoulette server later. The format i

    ```javascript
    [
    {
    "geometries": {
    "features": [
    {
    "geometry": {
    "coordinates": [
    [
    -82.46102,
    27.94211
    ],
    [
    -82.46191,
    27.94032
    ],
    [
    -82.46102,
    27.94173
    ],
    [
    -82.46102,
    27.94164
    ]
    ],
    "type": "LineString"
    },
    "id": null,
    "properties": {
    "osmid": 10982458
    },
    "type": "Feature"
    },
    {
    "geometry": {
    "coordinates": [
    -82.461465,
    27.941024
    ],
    "type": "Point"
    },
    "id": null,
    "properties": {},
    "type": "Feature"
    }
    ],
    "type": "FeatureCollection"
    },
    "identifier": "-245422134830019020515072624911431000923134125997",
    "instruction": "This is Promontory Way, and it looks decidedly Zorro. Can you fix it?"
    },
    [....]
    {
    "geometries": {
    "type": "FeatureCollection",
    "features": [
    {
    "type": "Feature",
    "properties": {
    "osmid": 1834370484
    },
    "geometry": {
    "type": "Point",
    "coordinates": [
    -111.890752,
    40.7695772
    ]
    }
    }
    ]
    },
    "identifier": "-245422134830019020515072624911431000923134125997",
    "instruction": "This is [Nauvoo Cafe](https://www.google.com/#q=Nauvoo+Cafe). Can you add the opening hours?"
    },
    [....]
    ]
    ```

  20. mvexel revised this gist Oct 31, 2014. 1 changed file with 2 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion maproulette-tutorial.md
    Original file line number Diff line number Diff line change
    @@ -162,7 +162,8 @@ Here is an OSM node represented as GeoJSON with the `osmid` property set:
    }
    }
    ]
    }```
    }
    ```

    Having Geometries (one or more) is **required**.

  21. mvexel revised this gist Oct 31, 2014. 1 changed file with 35 additions and 1 deletion.
    36 changes: 35 additions & 1 deletion maproulette-tutorial.md
    Original file line number Diff line number Diff line change
    @@ -128,9 +128,43 @@ Having an Identifier is required.

    Each Task has one or more geometries: points, lines or polygons. These are shown on top of the OSM map in MapRoulette and point out to the mapper what it is that we think needs fixing. Often, the geometry belonging to a task will be that of an OSM node or way, but it does not have to be.

    In this example, a single Point was supplied as the Geometries for this Task:

    ![node](https://dl.dropboxusercontent.com/u/187922/maproulette-geometry-node.png)

    In this example, a Linestring was used:

    ![line](https://dl.dropboxusercontent.com/u/187922/maproulette-geometry-way.png)

    You can supply a mix of Points and Linestrings if you want.

    The geometries need to be supplied as a GeoJSON [FeatureCollection](http://geojson.org/geojson-spec.html#feature-collection-objects), even if it is just one Point or Linestring.

    Having Geometries (one or more) is required.
    If your Geometries correspond to OSM nodes or ways, you should supply the OSM ID in the `properties` member of your GeoJSON as `osmid`. The OSM IDs will be passed to the editor when the mapper clicks *Edit in JOSM / iD*, and the OSM features will be pre-selected. This makes it easier for the mapper to recognize the relevant OSM feature(s).

    Here is an OSM node represented as GeoJSON with the `osmid` property set:

    ```javascript
    {
    "type": "FeatureCollection",
    "features": [
    {
    "type": "Feature",
    "properties": {
    "osmid": 1834370484
    },
    "geometry": {
    "type": "Point",
    "coordinates": [
    -111.890752,
    40.7695772
    ]
    }
    }
    ]
    }```
    Having Geometries (one or more) is **required**.
    #### Instruction
  22. mvexel revised this gist Oct 31, 2014. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions maproulette-tutorial.md
    Original file line number Diff line number Diff line change
    @@ -114,6 +114,7 @@ We have all the information we need for the Challenge, but we don't have any Tas
    Your MapRoulette Challenge will consist of Tasks. One Task represents one thing you want mappers to fix. Most Challenges have hundreds, or even thousands of Tasks. Once MapRoulette knows about your tasks, it will keep track of their status internally. If someone marks a task as *Fixed* or *Not an Error* for example, it will no longer be shown - unless you tell MapRoulette to make it reappear. (More on that later, whe we talk about Challenge maintenance.)

    ![preparing](https://farm4.staticflickr.com/3057/3112472619_bddcbb2f7b_b_d.jpg)
    *Source: [Flickr Commons](https://www.flickr.com/photos/smithsonian/3112472619)*

    Each Task needs to have a unique **Identifier**, **Geometries**, and optionally an **Instruction**.

  23. mvexel revised this gist Oct 31, 2014. 1 changed file with 3 additions and 1 deletion.
    4 changes: 3 additions & 1 deletion maproulette-tutorial.md
    Original file line number Diff line number Diff line change
    @@ -81,7 +81,7 @@ Each Task can also have its own Instruction. If your Tasks have their own Instru

    ![instruction](https://dl.dropboxusercontent.com/u/187922/maproulette-instruction.png)

    Having an Instruction is **required** (but as noted, it may also be supplied at the Challenge level.
    Having an Instruction is **required**. If you do not supply an Instruction for the Challenge, you will need to supply one for each individual task. We will look into that in the next section.

    The [Challenge Style Guide](https://github.com/osmlab/maproulette/wiki/Challenge-Style-Guide) has advice on choosing appropriate values for your Challenge.

    @@ -113,6 +113,8 @@ We have all the information we need for the Challenge, but we don't have any Tas

    Your MapRoulette Challenge will consist of Tasks. One Task represents one thing you want mappers to fix. Most Challenges have hundreds, or even thousands of Tasks. Once MapRoulette knows about your tasks, it will keep track of their status internally. If someone marks a task as *Fixed* or *Not an Error* for example, it will no longer be shown - unless you tell MapRoulette to make it reappear. (More on that later, whe we talk about Challenge maintenance.)

    ![preparing](https://farm4.staticflickr.com/3057/3112472619_bddcbb2f7b_b_d.jpg)

    Each Task needs to have a unique **Identifier**, **Geometries**, and optionally an **Instruction**.

    #### Identifier
  24. mvexel revised this gist Oct 31, 2014. 1 changed file with 11 additions and 3 deletions.
    14 changes: 11 additions & 3 deletions maproulette-tutorial.md
    Original file line number Diff line number Diff line change
    @@ -59,11 +59,17 @@ The Description is a longer description of your Challenge. Here you can explain

    ![welcome-back](https://dl.dropboxusercontent.com/u/187922/maproulette-welcome-back.png)

    You can use [Markdown](http://en.wikipedia.org/wiki/Markdown). Having a Description is optional but recommended.
    You can use [Markdown](http://en.wikipedia.org/wiki/Markdown) here.

    Having a Description is optional but recommended.

    #### Help

    The Help is where you can provide mappers with more detailed instructions about how to complete the tasks. You can use Markdown.
    The Help is where you can provide mappers with more detailed instructions about how to complete the tasks.

    ![help](https://dl.dropboxusercontent.com/u/187922/maproulette-help.png)

    You can use Markdown for the Help.

    Having a Help text is optional but recommended.

    @@ -73,7 +79,9 @@ The Instruction is a prompt telling mappers what you want them to do to complete

    Each Task can also have its own Instruction. If your Tasks have their own Instructions, these will be displayed instead, and the Challenge Instruction will not be used.

    Having an Instruction is required.
    ![instruction](https://dl.dropboxusercontent.com/u/187922/maproulette-instruction.png)

    Having an Instruction is **required** (but as noted, it may also be supplied at the Challenge level.

    The [Challenge Style Guide](https://github.com/osmlab/maproulette/wiki/Challenge-Style-Guide) has advice on choosing appropriate values for your Challenge.

  25. mvexel revised this gist Oct 31, 2014. 1 changed file with 4 additions and 2 deletions.
    6 changes: 4 additions & 2 deletions maproulette-tutorial.md
    Original file line number Diff line number Diff line change
    @@ -47,7 +47,7 @@ Having a Title is required.

    #### Blurb

    The Blurb is a oneliner that shows up underneath the Title in the sidebar and in the challenge selection window. You could see it as a subtitle:
    The Blurb is a oneliner that shows up underneath the Title in the sidebar and in the challenge selection window. You could see it as a subtitle.

    ![sidebar](https://dl.dropboxusercontent.com/u/187922/maproulette-sidebar.png)

    @@ -57,7 +57,9 @@ Having a Blurb is optional but recommended.

    The Description is a longer description of your Challenge. Here you can explain in a few sentences what you want mappers to fix, and why. The Description is displayed when a user starts working on a challenge.

    You can use Markdown. Having a Description is optional but recommended.
    ![welcome-back](https://dl.dropboxusercontent.com/u/187922/maproulette-welcome-back.png)

    You can use [Markdown](http://en.wikipedia.org/wiki/Markdown). Having a Description is optional but recommended.

    #### Help

  26. mvexel revised this gist Oct 31, 2014. No changes.
  27. mvexel revised this gist Oct 31, 2014. No changes.
  28. mvexel revised this gist Oct 31, 2014. No changes.
  29. mvexel revised this gist Oct 31, 2014. 1 changed file with 5 additions and 3 deletions.
    8 changes: 5 additions & 3 deletions maproulette-tutorial.md
    Original file line number Diff line number Diff line change
    @@ -39,15 +39,17 @@ The **Challenge metadata** describes what the challenge is, both to MapRoulette

    A short, descriptive title. The title will show up at the top of the sidebar, and also in the challenge selection panel. The Challenge title is what MapRoulette users will recognize your challenge by. It should give MapRoulette users a good idea of what the Challenge is about.

    ![welcome](https://dl.dropboxusercontent.com/u/187922/welcome-to-maproulette.png)
    The Challenge Title shows up in various places, for example in the Welcome screen for mappers who are already logged in:

    ![title]()
    ![welcome](https://dl.dropboxusercontent.com/u/187922/welcome-to-maproulette.png)

    Having a Title is required.

    #### Blurb

    The Blurb is a oneliner that shows up underneath the Title in the sidebar and in the challenge selection window. You could see it as a subtitle.
    The Blurb is a oneliner that shows up underneath the Title in the sidebar and in the challenge selection window. You could see it as a subtitle:

    ![sidebar](https://dl.dropboxusercontent.com/u/187922/maproulette-sidebar.png)

    Having a Blurb is optional but recommended.

  30. mvexel revised this gist Oct 31, 2014. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions maproulette-tutorial.md
    Original file line number Diff line number Diff line change
    @@ -39,9 +39,9 @@ The **Challenge metadata** describes what the challenge is, both to MapRoulette

    A short, descriptive title. The title will show up at the top of the sidebar, and also in the challenge selection panel. The Challenge title is what MapRoulette users will recognize your challenge by. It should give MapRoulette users a good idea of what the Challenge is about.

    ![title](https://dl.dropboxusercontent.com/u/187922/Screenshot%202014-10-24%2011.32.23.png)
    ![welcome](https://dl.dropboxusercontent.com/u/187922/welcome-to-maproulette.png)

    ![title](https://dl.dropboxusercontent.com/u/187922/Screenshot%202014-10-24%2011.50.02.png)
    ![title]()

    Having a Title is required.