Challenge maintainance workflow
I have been looking throught the UI and the API docs, but can't figure out how I am supposed to manage challenges. I have created a challenge and add tasks to it. Now I have to update this regularly to add new tasks when new problems in OSM appear. The easiest way would be to remove all tasks of this challenge from maproulette, re-create the whole task list excluding those tasks that were skipped by users. But I don't know how to get this information out of the API. Do I have to download all tasks through the API and look at the status field? Is that what the status field is used for. It contains a number, not a string or so, so I am not sure, what it means. (btw: I created unique identifiers, so I could do all that.) Or do I have to only upload any new tasks and leave the existing tasks in place?
How do other people manage this workflow?
If the challenge was created with an Overpass query, the way to update to match current OSM data is to refresh the Overpass query, which replaces all data, including any marked as False Positive (I think).
For the Rail Crossings challenges, I do query all MapRoulette tasks via the API to get a list of those marked as complete or false positive. Next I look through OSM data to find any new challenges to add to Map Roulette, or to mark as complete via the API, because multiple crossings are often near each other, or a RailFan has fixed an entire track line outside of MapRoulette.
I ended up creating a local database to double track task statuses and perform my own local queries, but I don't think that is strictly necessary for the workflow above.
I would have expected Maproulette to help me with this whole workflow, keeping track of IDs and states and all that. Otherwise everybody has to implement the same logic all over again.
See also #246.