maproulette / maproulette/maproulette-frontend
Tag Fix Challenges per Feature, not just for the whole FeatureCollection
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 167
- Forks
- 39
- Avg merge
- 16h 34m
- Merged PRs (30d)
- 11
Description
When I read https://learn.maproulette.org/en-us/documentation/creating-cooperative-challenges/ right, than I can only give one set of tag fixes for all the features in my feature collection.
However, that limits the choices I can suggest to users, because I cannot suggest different tags based on the given feature.
I am processing my data anyways to create the Maproulette GeoJSON, so making decisions per feature is nothing special from a preparation point of view. In fact, that is was I usually do right now by preparing a custom task_description property that I then use to show a custom task description on the UI (which has links and information specifically on the feature).
Describe the solution you'd like
I would like the operations part of the tag fix challenge to be allowed on the feature itself. If done, there should be no operations on the featurecollection.cooperativeWork object, just the feature.
As far as I can tell, other parts of the UI can stay the same.
Additional context
The use case I am working on is: We have a campaign where we want to check all major roads and explicitly tag bicycle:<side>=no|separate|track|lane. Our preprocessing already gives us the data we need, but this data is different per road segment. So if one road already has bicycle:right=track I want a custom suggestion to only add tags bicycle:left=no|bicycle:left=separate|bicycle:left=track|bicycle:left=lane. I do not want to overwrite the data … nor to have a list of suggestions a mile long to represent all possible combinations of existing and new data…
Side note: The object that specifies the tags to add could maybe become some kind of standard to support external GeoJSON date in Rapid as well, see https://github.com/facebook/Rapid/issues/585#issuecomment-1755434863 for example.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the cooperative challenges documentation and the issue's GeoJSON examples, then trace how featurecollection.cooperativeWork and feature-level operations are consumed by the frontend. Confirm whether the existing UI can remain unchanged. Done means tag-fix operations can be supplied per feature, with collection-level operations removed and the existing challenge flow preserved.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100