Bug 234959 - [ltk] [wording] Deleting a file no longer mentions that it will be deleted from the file system
Summary: [ltk] [wording] Deleting a file no longer mentions that it will be deleted fr...
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.4   Edit
Hardware: PC Windows XP
: P3 major (vote)
Target Milestone: 3.4 RC4   Edit
Assignee: Martin Aeschlimann CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-05-30 18:41 EDT by Warren Paul CLA
Modified: 2008-06-06 05:44 EDT (History)
7 users (show)

See Also:
Mike_Wilson: pmc_approved+
Szymon.Brandys: review+
markus.kell.r: review+


Attachments
Snapshot of wording I am seeing in RC3 (70.36 KB, image/jpeg)
2008-06-05 11:12 EDT, Kevin McGuire CLA
no flags Details
patch (1.62 KB, patch)
2008-06-05 12:18 EDT, Martin Aeschlimann CLA
no flags Details | Diff
patch (5.67 KB, patch)
2008-06-05 12:52 EDT, Martin Aeschlimann CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Warren Paul CLA 2008-05-30 18:41:14 EDT
In 3.3, if you delete a file from a project you got the dialog asking "Are you sure you want to delete "xxx" from the file system?".  In 3.4, it asks "Are you sure you want to delete "xxx"?".  We feel that this is an important change because it's not clear, especially for users coming from other IDE's, that the file will actually be deleted from the file system.  in many other IDE's like Visual Studio, deleting a file only deletes it from the project itself.  I know it sounds trivial, but we've already run into some customers complaining about there files going missing even with the 3.3 dialog.  :)

Can we please change the text back to how it was?
Comment 1 John Arthorne CLA 2008-05-31 17:32:45 EDT
I agree. The previous wording was carefully crafted for that reason (see bug 29034). I don't know when or why this regressed.
Comment 2 Szymon Brandys CLA 2008-06-02 04:44:59 EDT
I would guess somewhere around 3.4 M2/M3. The issue is located in ltk.
Comment 3 Szymon Brandys CLA 2008-06-02 04:47:07 EDT
(In reply to comment #2)
Probably related to bug 205805, bug 206604.

Comment 4 Martin Aeschlimann CLA 2008-06-04 11:07:28 EDT
Not for 3.4
Comment 5 Warren Paul CLA 2008-06-04 12:08:02 EDT
(In reply to comment #4)
> Not for 3.4
> 

Why is it too late for a simple label change for 3.4?  Also, I'm curious why this is assigned to JDT.  This is in the platform isn't it?  I don't even have the JDT installed.
Comment 6 Martin Aeschlimann CLA 2008-06-04 12:36:45 EDT
The fix is in platform/ltk which which is owned by JDT UI.

We're in 3.4 RC4 and should only fix show stoppers and blockers.
I don't think this qualifies for this, even if it's a trivial fix. There are many other wizards that only write 'delete'.
We will fix it for 3.4.1 or 3.5.


Comment 7 Warren Paul CLA 2008-06-04 13:16:12 EDT
(In reply to comment #6)
> The fix is in platform/ltk which which is owned by JDT UI.
> 
> We're in 3.4 RC4 and should only fix show stoppers and blockers.
> I don't think this qualifies for this, even if it's a trivial fix. There are
> many other wizards that only write 'delete'.
> We will fix it for 3.4.1 or 3.5.
> 

I understand it's late in the release cycle, but I really do feel that this is more important than it may seem.  Just about anybody using Eclipse is coming from some other IDE.  Most of those other IDE's delete files from the project and not the file system.  This is a big issue for new Eclipse users.  If this were some code change then I could understand not wanting to address it in 3.4, but for just being a label, it seems silly to put it off.  John/Szymon,  what are your thoughts on this?
Comment 8 John Arthorne CLA 2008-06-04 13:51:42 EDT
Normally I would agree with Martin that this is a minor issue and not worth fixing at this point. However, since it seems to be very important to some of our community, and it is a very safe change, I think it's worth fixing it. We are talking about potential loss of user data if they misunderstand the semantics of delete.
Comment 9 Mike Wilson CLA 2008-06-04 14:56:29 EDT
Unless we don't actually know whether the file is going to be deleted from the file system, I agree with John: We should update the string.


Comment 10 Martin Aeschlimann CLA 2008-06-05 04:35:26 EDT
Strictly speaking, we actually don't know if we are deleting from the file system. Implementors can hook in a EFS and the delete might work on something else.
UI differentiates between 'Delete' and 'Remove'. Delete typically removes something physically. There are many other wizards in the JDT land which only say 'delete'. And all wizards offer 'Undo'.




Comment 11 Szymon Brandys CLA 2008-06-05 09:29:11 EDT
(In reply to comment #10)
> Strictly speaking, we actually don't know if we are deleting from the file
> system. Implementors can hook in a EFS and the delete might work on something
> else.

But this "something else" is a file system too, right?
Comment 12 Martin Aeschlimann CLA 2008-06-05 10:17:24 EDT
EFS can potentially map a resource to an entry in a database, to a remote server, to a file in an archive...
Comment 13 Szymon Brandys CLA 2008-06-05 10:50:45 EDT
(In reply to comment #12)
> EFS can potentially map a resource to an entry in a database, to a remote
> server, to a file in an archive...

Right. What I'm trying to say is that db, remote server, memory etc. become file system when used in our EFS implementation. 

So if we have EFS based on db, we could call it db based filesystem. No matter how it is implemented, we actually delete something from this filesystem.
Comment 14 Warren Paul CLA 2008-06-05 10:57:02 EDT
(In reply to comment #12)
> EFS can potentially map a resource to an entry in a database, to a remote
> server, to a file in an archive...
> 

But EFS is "Eclipse File System", is it not?  So "Are you sure you want to
delete "foo.bar" from the file system?" is a valid question, no matter what the
backend EFS implementation is.  Granted, it would be better if it were to say
"Are you sure you want to delete "foo.bar" from "bam.baz.zip?", but that would
require an API to get the file system description from the EFS implementation. 
Maybe a good long term solution to the problem.  But short term, changing it
back to how it was  for 3.4.0 is the best solution IMO.  The default EFS
implementation that ships with Eclipse is the local file system.  So 90%+ of
the users will be using the local file system?  I just hate to think the first
impression of Eclipse from someone moving from Visual Studio is "That damn tool
deleted my *%!#@ source code!".
Comment 15 Kevin McGuire CLA 2008-06-05 11:12:50 EDT
Created attachment 103756 [details]
Snapshot of wording I am seeing in RC3

I'm confused.  What I'm seeing is the wording "Are you sure you want to delete *file*( "testfile.txt"?  (my emphasis)

Which is not what it used to be, but differs from what's reported.  The use of the word 'file' in "delete file 'x.y'?" would likely make me think that the thing on disk is being deleted. But I agree the previous wording was stronger, with the rewording providing no wider usage at the cost of more ambiguity. So ok with me to revert it for 3.4.

However, that wording is still a problem WRT EFS. Unless EFS supplied the string though, I think all you can do is call it a file or a file system.  What do I get in Properties for the Type field if its backed by a DB?
Comment 16 John Arthorne CLA 2008-06-05 11:39:28 EDT
It seems intuitive to us that "delete" means delete from the file system, but clearly for users coming from other tools this isn't the case. See for example bug 28995 comment 0 and bug 29034 comment 2 for angry users who thought otherwise and lost work as a result. Undo would help them if they realized the problem quickly enough before their undo stack had conflicting changes, but it's not ideal.
Comment 17 Mike Wilson CLA 2008-06-05 11:53:37 EDT
This discussion has been good. Based on the comments, I believe we should revert the wording to what it said in 3.3. 
Comment 18 Martin Aeschlimann CLA 2008-06-05 12:06:08 EDT
Ok, I'll provide a patch.

Regarding comment 15 from Kevin:
It depends if you call the action from a Java project explorer or from
the navigator or from a non-Java project in the common navigator.
There are several implementors of the 'delete' action. My fix will just cover the default file/folder delete action provided by the platform.




Comment 19 Martin Aeschlimann CLA 2008-06-05 12:18:40 EDT
Created attachment 103769 [details]
patch
Comment 20 Martin Aeschlimann CLA 2008-06-05 12:19:19 EDT
Szymon and Kevin, can you review?
Comment 21 Markus Keller CLA 2008-06-05 12:42:26 EDT
+1 for 3.4RC4. Fix is good and restores 3.3.2 wording.
Comment 22 Martin Aeschlimann CLA 2008-06-05 12:52:42 EDT
Created attachment 103784 [details]
patch

Improved patch that also brings back the labels of 3.3 regarding linked resources.
Markus, can you re-review? Mike, veto if you don't want that. But my understanding is that we want to be identical to 3.3.
Comment 23 Mike Wilson CLA 2008-06-05 13:11:45 EDT
The new patch is obviously more work than would be ideal at this point, but I like the idea of reverting all the messages. +1 as long as we all believe the patch is safe.

Comment 24 Markus Keller CLA 2008-06-05 13:23:38 EDT
(In reply to comment #22)
> Created an attachment (id=103784) [details]

Still +1 from my side (even +1.5 now). However, the new message DeleteResourcesWizard_label_multi_linked is not nicely formatted: You should add '\n\n' before 'Selection contains linked resources.' (like it was in 3.3).
Comment 25 Szymon Brandys CLA 2008-06-05 13:25:30 EDT
(In reply to comment #23)
The latest patch looks good. It is more work, but that's good.
+1.
Comment 26 Martin Aeschlimann CLA 2008-06-05 13:27:33 EDT
patch released with the additional new line change as discussed > 20080605
Comment 27 Markus Keller CLA 2008-06-06 05:44:00 EDT
Verified in I20080605-1800.