Modify

Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#19316 closed defect (fixed)

Don't show warning when a new empty relation is deleted

Reported by: GerdP Owned by: team
Priority: normal Milestone: 20.08
Component: Core Version:
Keywords: template_report Cc:

Description

What steps will reproduce the problem?

  1. Select a closed way tagged building=yes
  2. Press Ctrl+B accidentially (create a multipolygon relation and remvoes the tags from the way)
  3. Edit other things so that undoing step 2. is not a nice option
  4. Try to fix the mistake without undoing all actions by removing the member from the relation and adding the tags again.
  5. Try to remove the empty relation

What is the expected result?

new empty relation is deleted without warning

What happens instead?

Popup says that "This step is rarely necessary and cannot be undone easily after being uploaded to the server."

Please provide any additional information below. Attach a screenshot if possible.

I wondered why we have > 15.000 empty multipolygon relations with version 1 in OSM and most of them were created by JOSM. I guess the above steps and the wrong warning could be the reason.

URL:https://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2020-04-06 02:17:07 +0200 (Mon, 06 Apr 2020)
Build-Date:2020-04-06 00:18:43
Revision:16239
Relative:URL: ^/trunk

Identification: JOSM/1.5 (16239 en) Windows 10 64-Bit
OS Build number: Windows 10 Home 1903 (18362)
Memory Usage: 767 MB / 1820 MB (133 MB allocated, but free)
Java version: 1.8.0_221-b11, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
Screen: \Display0 1920x1080
Maximum Screen Size: 1920x1080
VM arguments: [-XX:StartFlightRecording=name=MyRecording2,settings=d:\dbg\gerd.jfc, -XX:FlightRecorderOptions=defaultrecording=true,dumponexit=true,dumponexitpath=e:\ld\perf_20200530_092546.jfr]
Dataset consistency test: No problems found

Plugins:
+ OpeningHoursEditor (35414)
+ PolygonCutOut (v0.7)
+ apache-commons (35362)
+ buildings_tools (35474)
+ continuosDownload (91)
+ ejml (35313)
+ geotools (35169)
+ jaxb (35092)
+ jts (35122)
+ merge-overlap (35248)
+ o5m (35248)
+ opendata (35405)
+ pbf (35446)
+ poly (35248)
+ reverter (35474)
+ undelete (35474)
+ utilsplugin2 (35476)

Validator rules:
+ c:\josm\core\resources\data\validator\geometry.mapcss

Last errors/warnings:
- E: Region [TMS_BLOCK_v2] Problem loading keys for file TMS_BLOCK_v2

Attachments (1)

2020-08-03-221623.png (11.2 KB ) - added by simon04 4 years ago.

Download all attachments as: .zip

Change History (15)

comment:1 by GerdP, 4 years ago

Owner: changed from team to GerdP
Status: newassigned

comment:2 by GerdP, 4 years ago

We also need a different handling when a non-empty new relation should be deleted.
The warning "This step is rarely necessary and cannot be undone easily after being uploaded to the server." is completely wrong are rather forces a user to upload garbage.
I suggest to suppress the popup when a new relation is deleted and show a notification instead when the relation contained at least one member.

comment:3 by GerdP, 4 years ago

Milestone: 20.06

comment:4 by GerdP, 4 years ago

Another additonal idea: Should we show a notification when a user creates a multipolygon containing just one member?
Something like A multipolygon relation with just one outer ring is rarely needed

comment:5 by skyper, 4 years ago

The wording needs adjustment but I am not sure about removing the warning for all cases, especially with MPs.

You did copy the tags back but otherwise you will loose the building=yes and any additional tag which might have come from an object with id > 0. Maybe, have a different handling for relations with tags and/or check the members' tags?

I get errors from validator for relations without type=* and/or without member.

I am not a fan of the notification, as it is not easy to tell in few words when to use it and when it is only an unneeded level of complexity, see e.g. #19148.
I'd prefer a validator test which checks if a MP has only one member (closed way with role outer) and if the MP's tags can safely be moved to the way without creating objects with multiple primary tags like leisure=park and barrier=fence.

Last edited 4 years ago by skyper (previous) (diff)

comment:6 by GerdP, 4 years ago

OK, let's concentrate on the case that the relation is empty (has no members). Validator says "Error", but when I try to delete the relation the popup says "don't do that". I am not surprised when users prefer to upload the garbage. They might even think nothing was uploaded because when they download the same area the empty relation seems gone.

comment:7 by skyper, 4 years ago

  1. do not upload relations without member!
  2. Change the message to deleting a relation without member to
    1. no message for id:0
    2. Deleting a relation without members. You might want to have a look at the relation's history to check if the members were removed by accident. for id > 0 and offer an additional button "History" if possible (non-blocking?)

in reply to:  7 ; comment:8 by GerdP, 4 years ago

Replying to skyper:

  1. do not upload relations without member!

What do you mean? Should JOSM silently remove the relation when user tries to upload it? The user already got the warning that the empty relation is an error, still they continued to upload.

  1. Change the message to deleting a relation without member to
    1. no message for id:0
    2. Deleting a relation without members. You might want to have a look at the relation's history to check if the members were removed by accident. for id > 0 and offer an additional button "History" if possible (non-blocking?)

Yes, such a message makes sense, at least when the version > 1. For an empty relation with version 1 the histoy will probably not show much information.

in reply to:  8 comment:9 by skyper, 4 years ago

Replying to GerdP:

Replying to skyper:

  1. do not upload relations without member!

What do you mean? Should JOSM silently remove the relation when user tries to upload it? The user already got the warning that the empty relation is an error, still they continued to upload.

No handle it like conflicts and do not upload.

  1. Change the message to deleting a relation without member to
    1. no message for id:0
    2. Deleting a relation without members. You might want to have a look at the relation's history to check if the members were removed by accident. for id > 0 and offer an additional button "History" if possible (non-blocking?)

Yes, such a message makes sense, at least when the version > 1. For an empty relation with version 1 the histoy will probably not show much information.

It shows that this relation is a mistake/stub if the changeset is closed or a work in progress if the changeset is still open and it provides all the links to more info like the user's page and the changeset page.

comment:10 by simon04, 4 years ago

Milestone: 20.0620.07

comment:11 by simon04, 4 years ago

Milestone: 20.0720.08

comment:12 by GerdP, 4 years ago

Owner: changed from GerdP to team
Status: assignednew

Will not have time to work on this before September

comment:13 by simon04, 4 years ago

Resolution: fixed
Status: newclosed

In 16840/josm:

fix #19316 - Don't show warning when a new relation is deleted

by simon04, 4 years ago

Attachment: 2020-08-03-221623.png added

in reply to:  7 comment:14 by simon04, 4 years ago

Replying to skyper:

  1. do not upload relations without member!


Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.