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

Update to iD v2.13.0 #2122

Merged
merged 2 commits into from
Jan 23, 2019
Merged

Update to iD v2.13.0 #2122

merged 2 commits into from
Jan 23, 2019

Conversation

quincylvania
Copy link
Contributor

2.13.0

2019-Jan-23

📣 Release Highlights

  • ⚡ You can now browse and fix KeepRight data quality issues directly within iD. Many thanks to Thomas Hervey (@thomas-hervey) for his work on this!

    Open the Map Data pane (shortcut F) and select "KeepRight Issues" to view and fix map issues.
  • 📐 We've added support for MapRules, an API service and web interface for creating and sharing reusable presets and validation rules.

    Check out the maprules repo for more info or watch Clarisse and Max's talk at SOTM-US here
  • 🔍 You can now quickly center and zoom the map on any feature, note, or data issue!

    Click the new "zoom to" link on the sidebar under the preset icon, or press Z keyboard shortcut to focus on the selected feature.

🎉 New Features

  • Integrate with Keep Right QA tools (#3452, #5201, thanks @thomas-hervey)
  • Show the location when geolocating the user (#5587, #5629, thanks @maxgrossman)
  • Add MapRules service and parameters to use it (#5617, thanks @maxgrossman)
  • Add button to zoom to the selected feature (#5169)
  • Display some preset fields conditionally based on tags (#5581, #5583)
  • Add validation check for generic feature names (#5590)
  • Support {wkid}, {w}, {s}, {n}, and {e} tokens in WMS-style background imagery templates (#5738, thanks @1ec5)

✨ Usability

  • Open the combobox when clicking anywhere in the text field (#5596, #5636, thanks @maxgrossman)
  • Add close buttom to the save sidebar (#5614, #5622, thanks @maxgrossman)
  • Render reservoirs and fountains with the water fill pattern (#5606, thanks @RudyTheDev)
  • Render marine barriers with a blue stroke (#5606, thanks @RudyTheDev)
  • Press enter to submit values in combo fields without deselecting the feature (#5725)
  • Hide combobox caret when there are no suggestions (#5730)
  • Show the editor instead of the preset browser when selecting untagged features (#5632)
  • Match the widths of the add tag and relation buttons to other controls (#5729)
  • Animate simultaneous zooming and positioning of the map in various cases (#3967)
  • Enforce stricter rules for line vs. area styles (#5602)
  • Don't style the active drawing vertex as a large endpoint when styling lines (#5711)
  • Render baseball fields, softball fields, and non-motorsport tracks in yellow
  • Style multipolygons as areas instead of lines
  • Style the icons of building-like presets like buildings

🐛 Bugfixes

  • Remove highlight from relation member after it is deleted from relation (#5612, #5638, thanks @maxgrossman)
  • Fix an error where nodes could not be found after a data restore and the save interface would not appear (#4108)
  • Fix crash in the relation member editor when tabbing away from the role (#5731)
  • Fix an issue where sections of the Map Data and Background panes might not display (#5743)
  • Fix a visual glitch where the buttons in the top bar could wrap in an undesirable way (#5746)

🌏 Localization

  • Fetch multilingual tag descriptions and images from the OSM Wikibase (#5647, thanks @nyurik)
  • Set the localization via a URL parameter (#5644, #5650, thanks @tordans)
  • Fix misaligned labels in the right-to-left layout (#5687, #5692, #5699, #5705, thanks @iriman)
  • Press ² to toggle the sidebar on AZERTY keboards (#5663)
  • Press ? to toggle the help pane regardless of the localization (#5663)
  • Display translated names and descriptions of more background sources (#5737)

⌛ Performance

  • Don't update closed sections of the Map Data and Background panes

🚀 Presets

  • Add Frozen Food preset for shop=frozen_food
  • Add Fuel, Fireplace, Fishing, Hunting, and Drinking Water Shop presets (#5651, #5653, thanks @hikemaniac)
  • Add Racetrack (Horse Racing) preset (#5620)
  • Add Enforcement relation preset (#5610)
  • Add Netball Court and Australian Football Field presets (#5604, #5605)
  • Add RV Dealership preset for shop=caravan
  • Change tags of Reservoir, replace Riverbank with River area preset, and add Canal and Stream area presets (#5591)
  • Add Destinations, Destination Road Numbers, Junction Number, and Destination Symbols fields to Link highways (#4178)
  • Add Diet Types field to Restaurant, Cafe, Fast Food, and Supermarket (#5580)
  • Add Minimum Speed Limit field to Motorway and Trunk Road
  • Add Dogs field to Foot Path, Park, and more to specify if dogs are allowed
  • Add One Way (Bicycle) field to roads to specify if bikes are exempt from one way restrictions
  • Add Incline and Smoothness fields to Foot Path, Cycle Path, and more
  • Embed name of religion in all Place of Worship labels (#5611)
  • Rename Forest to Managed Forest (#5709)
  • Update icons for Chair Lift, Plumber, Car Wash, Real Estate Agent, and more (via scottdejonge/map-icons, thanks @scottdejonge)
  • Add "real estate" as a search term for Estate Agent (#5724, thanks @CloCkWeRX)
  • Let presets inherit fields from other presets (#5710, #5712)
  • Reduce the use of universal fields (#5719)
  • Add more fields to the Add field: dropdown of various presets

@tomhughes
Copy link
Member

What does the locale hash parameter do? If it changes the UI locale then why is it necessary - shouldn't the iD embedded in osm.org always try to use the same locale as osm.org itself?

@bhousel
Copy link
Member

bhousel commented Jan 23, 2019

What does the locale hash parameter do? If it changes the UI locale then why is it necessary - shouldn't the iD embedded in osm.org always try to use the same locale as osm.org itself?

iD still will use the locale from osm.org, but this was just added for users who want to override that for whatever reason (for example they are working on translation or doing a training or mapathon in a different language)..

@tomhughes
Copy link
Member

Right, but that should really be solved by letting people override the locale on osm.org, which there is already a ticket for, rather than allowing them to set iD into a different locale to the rest of the site...

@bhousel
Copy link
Member

bhousel commented Jan 23, 2019

Right, but that should really be solved by letting people override the locale on osm.org, which there is already a ticket for, rather than allowing them to set iD into a different locale to the rest of the site...

Ok, if you want to remove it, I don't mind.
Users can still override the detected locale on our dev mirror if they want to work on translations or have some other temporary need.

@simonpoole
Copy link
Contributor

I think everybody would appreciate if new dependencies on commercial service providers (aka Radiant in this case) were not tried to be smuggled in under the radar, but at least properly raised to attention.

@woodpeck
Copy link
Contributor

Could you elaborate @simonpoole?

@tomhughes
Copy link
Member

Ah if there are new external sites that will be called then I need to know so that the security policy can be updated...

@bhousel
Copy link
Member

bhousel commented Jan 23, 2019

I think everybody would appreciate if new dependencies on commercial service providers (aka Radiant in this case) were not tried to be smuggled in under the radar, but at least properly raised to attention.

@simonpoole we don't smuggle things in under the radar. We literally put it in the "release highlights".

Anyway... I don't think it should affect the security policy. The only part that requests anything is these lines that will fetch a supplied .json file containing the rules definition:

https://github.com/openstreetmap/iD/blob/24b6e9aeec81c5f09b650dc3067e746b9b6860d0/modules/core/context.js#L483-L492

These are then turned into rules by this code:
https://github.com/openstreetmap/iD/blob/master/modules/services/maprules.js

And if any rules are defined, they will appear at save time:
https://github.com/openstreetmap/iD/blob/master/modules/validations/mapcss_checks.js

So someone running a mapping campaign could define rules like "for this editing session all the buildings must have a height tag", or "all highways must have a surface tag".

@tomhughes
Copy link
Member

Yes that should be fine as we allow XHR to anywhere for iD.

@simonpoole
Copy link
Contributor

simonpoole commented Jan 23, 2019

Could you elaborate @simonpoole?

See

Add MapRules service and parameters to use it (#5617, thanks @maxgrossman)

To expand a bit, by providing a platform for third party services:

  • we are providing a high marketing value to the companies involved (I don't want to speculate on the equivalent value in $)
  • we are making it more difficult for alternative solutions to have a place in our offering (just look at Mapillary and OSC vs. simple photo drag & drop)
  • we are in general making it more difficult for our contributors to edit without exposing themselves to third parties, which is one of the reasons a large part of our audience uses OSM in the 1st place.

I'm not against the integration of 3rd party services in general, but we need to at least have an opportunity to evaluate the situation and not just having a fait accompli dropped in front of us.

PS: and yes we (as in LWG now) will need to have a look at the data protection implications of the integration.

@woodpeck
Copy link
Contributor

So then there won't be any unsolicited call-outs to some radiant/maxar/maprules whatever site, but it's just that you can supply your own JSON file when calling ID, did I get that right? And the only way that radiant/maxar/whoever come into this is not by running a server that we connect to, but just by having defined the format of the JSON file?

@woodpeck
Copy link
Contributor

Is this work led/supported by Facebook in any way? Apparently there was a meeting at a Facebook office where these things were hashed out https://twitter.com/map2save/status/1075198271411404800? Is this even the right place to continue these discussions or should that be in #5617?

@quincylvania
Copy link
Contributor Author

PS: and yes we (as in LWG now) will need to have a look at the data protection implications of the integration.

@simonpoole Sure thing! Take all the time you need.

So then there won't be any unsolicited call-outs to some radiant/maxar/maprules whatever site, but it's just that you can supply your own JSON file when calling ID, did I get that right? And the only way that radiant/maxar/whoever come into this is not by running a server that we connect to, but just by having defined the format of the JSON file?

@woodpeck That's right. Radiant defined the JSON format and built out the maprules feature on their fork of iD. At the Facebook-hosted meetup, @bhousel and I worked with them to bring the feature to iD proper. Facebook personnel were not involved with this work.

The URLs can point to JSON files hosted anywhere, for example by a tasking manager. There are no calls to Radiant servers nor data sent to them. Radiant has solutions on their end for generating JSON files, but those are independent of iD.

@simonpoole
Copy link
Contributor

simonpoole commented Jan 23, 2019

PS: and yes we (as in LWG now) will need to have a look at the data protection implications of the integration.

@simonpoole Sure thing! Take all the time you need.

As a general rule we need the name and address of the company operating the service and if possible a link to their privacy policy. If I understand the way the Radiant integration works currently, that would seem to not be necessary, however for keepright that would still be required.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants