maproulette / maproulette/maproulette-frontend

Tag Fix Challenges per Feature, not just for the whole FeatureCollection

Open
#2,299 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.