Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue manager and advanced validation #5830

Merged
merged 216 commits into from
Feb 15, 2019
Merged

Issue manager and advanced validation #5830

merged 216 commits into from
Feb 15, 2019

Conversation

quincylvania
Copy link
Collaborator

@quincylvania quincylvania commented Jan 29, 2019

Overview

  • Issues pane as the central hub for validation
  • Issues list for the selected feature in the editor sidebar
  • "Quick fix" buttons to assist in resolving issues
  • Instant validation while editing
  • Crossing ways and almost junction warnings via @gaoxm

To-Do Before Merge

  • Validate upon restoring after page reload
  • Add tooltip to Upload button when disabled saying that errors (but not warnings) are blocking the upload
  • Correct the "Connect the features" fix for the crossing ways issue
  • Fix code tests
  • Restore "too many deletions" warning
  • Add issue counts to the list titles
  • Zoom to ways and relations when clicking their issues
  • Add "everything is okay" message to the Issues pane when no issues are detected
  • Fix pane list tooltip placement
  • Add appropriate tags to junction of crossing ways connection fix (e.g. ford, level crossing)
  • Improve crossings ways validation performance
  • Style fixes as clickable

To-Do Eventually

  • Build "All features" validation mode where issues with everything nearby or visible is flagged, not just edited features (Option to browse all nearby issues, not just those for edited features #5906)
  • Re-validate features only as-needed due to further edits (Re-validate features only as-needed due to further edits #5901)
  • Don't count vertices toward "many deletions" warning
  • Quick-fix to close way when tags imply area
  • Use preset data for "tags imply area" validation
  • Don't show almost junctions issue if a connection would cause self-intersection
  • Use existing nodes where possible on almost junction fix
  • Use existing nodes where possible on crossing ways fix
  • Use warnings instead of errors for features the user didn't create or modify this session
  • Highlight corresponding entities when hovering over an issue (like with relations)
  • Show issue badge on the pane toggle button
  • Icons for fixes
  • Recommend fixes even if they can't be performed automatically
  • Show warning and error badges on the map (Show validation warnings and errors on the map #5905)
  • Re-think issue display in the commit sidebar
  • Add list of all rules (issue types) and allow toggling certain rules on and off (Add toggle-able rules list to the Issues pane #5979)
  • Integrate KeepRight and ImproveOSM into the Issues pane/system?

Issues

Special Thanks to @gaoxm, @wonga00, @chrisklaiber, @abalosc1, @maxgrossman, and @brianhatchl for code and feedback!

screen shot 2019-02-04 at 1 51 16 pm

screen shot 2019-02-14 at 4 16 54 pm

screen shot 2019-02-14 at 4 15 32 pm

upgrade tags demo

screen shot 2019-02-04 at 1 51 43 pm

quincylvania and others added 30 commits December 18, 2018 11:11
…tion

Added basic issues list in the Issues pane
 - IssueManager performs validation on the current graph and also
   stores the issues and notifies listeners when the issues changed
Add the Issues pane

1. Add a class to represent the validation issue
2. Extend the data model for an validation issue to
  (1) add a severity level field (useful for identify save-blocking issues later)
  (2) replace single entity with an array of entities (useful for issues involving multiple entities)
  (3) add a coordinates field for highlighting the location of the issue on the map
  (4) add a fixes field for possible automatic fixes

3. Update existing validation modules to use the new data model
Made the issue pane get the issues from the issue manager rather than validating itself
Corrected icon for warnings
Made disconnected_highway issue a warning instead of an error
fixed maprules test and added missing_tag test
Fixed bug where stale issues would stick around in the issues pane
listening to user generated history changes for validation
@quincylvania
Copy link
Collaborator Author

screen shot 2019-02-14 at 11 28 10 am

@bhousel @SilentSpike What about a fix list like this? This way we can recommend ways to resolve the issue without quick actions, and fixes with actions appear clickable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
validation An issue with the validation or Q/A code
Projects
None yet
6 participants