Page 2 of 3

Posted: 18 Dec 2006 15:14
by surrender
j_c_hallgren wrote:I wouldn't expect XY Undo to be able to undo everything, just the same that Win Expl can...like removing a newly created file/folder, or a 'delete' to recycle bin, or a file rename...I'm not sure of exactly what all WE can undo and what it can't, but matching its abilities would be sufficient for me.. :)
I cant agree more. To start with, XY should atleast match WE's undo features. Then one can think of improving it. This is one of those things i miss the most in XY.

Posted: 06 Jan 2007 22:05
by crimsongravy
I'm new to the world of Windows Explorer replacements and have tried a few different programs. So far I do like xyplorer. I came to this forum to inquire about an undo function because I thought I was missing it in the menus. I am surprised it doesn't have the ability to "undo" yet, but glad to hear it is possible to add in the future.

I would definitely find it useful, didn't realize how much I used it until it was gone.

Posted: 07 Jan 2007 03:40
by Chris Wood
admin wrote:Action:
- Move X from Y to Z
Undo:
- (a) Move X from Z to Y: bad! deletes Z/X
- (b) Copy X from Z to Y: not good! Y/X and Z/X both are different from before
- (c) No Undo

I guess (c)... ?
Of course (c), as kimsnarf said, if the user is warned, it's okay.

Let's talk about Undo

Posted: 31 Oct 2007 10:49
by admin
To err is human, but to undo an error is divine. If you study the download statistics of the larger shareware sites, you'll immediately see that there's much more demand for undoing than for doing! The file management sector is dominated by ridiculously simple apps that do nothing but either recover lost files or wipe files in a way that they cannot be recovered by any means. It's bizarre...

Anyway, the next big thing in XY will be Undo/Redo, and it's easily going to be the most popular feature in a very long time!

Just to get your attention and sharpen your awareness... I'll come up with a detailed sketch later... (First v6.50 has to be officially delivered!)

Posted: 02 Nov 2007 18:22
by byates
Here's my two cents (or less) on undo.

1) Add a "log option" to log all actions in a human readable text file. This will at least help those cases when you acidentally drap/drop.

2) Rather than 'undo' implement 'rollback' and only rollback the items that are 'convenient' to rollback by default (i.e., the Windows Explorer UNDO operations).

3) Add an option to use the backup system to rollback the more complex operations. When this option is enabled there will be a performance impact, but you should be able to rollback almost any operation. Before deleting a file, make a backup copy. Before replacing a directory, make a backup copy. There should be an option to limit the rollback to a certain data size just to prevent an overwrite of a 5GB file from taking forever, but that limit should be up to the user.

4) Wishful thinking: Expand the rollback system to be a basic version control system. Make it so that you can rollback multiple levels of operations rather than just the last. 8)

Posted: 02 Nov 2007 18:28
by admin
byates wrote:Here's my two cents (or less) on undo.

1) Add a "log option" to log all actions in a human readable text file. This will at least help those cases when you acidentally drap/drop.

2) Rather than 'undo' implement 'rollback' and only rollback the items that are 'convenient' to rollback by default (i.e., the Windows Explorer UNDO operations).
Okay, these were four points escalating in craziness. :wink: Let me just skip the last two... :P

1) This planned under the internal code name "Audit Trail".
2) Explain the difference between 'undo' and 'rollback'.

BTW, Windows Explorer UNDO is not an exported OS functionality. Every file manager developer has to write his own Undo. That's the reason why so few file managers have one. :)

Posted: 02 Nov 2007 18:58
by byates
Ok, maybe I got carried away... :shock:

The only difference between UNDO and ROLLBACK is a semantic one. I tend to approach the problem from a version control perspective where you would rollback changes, but UNDO works just as well for what we are talking about.



(#3 would be cool though.... :lol: )

Posted: 02 Nov 2007 19:10
by admin
byates wrote:(#3 would be cool though.... :lol: )
Sounds like something the OS should provide. Similar to Apple's time machine. But surely it would have high costs in time and space. And wouldn't be foolproof nevertheless... :wink:

Posted: 02 Nov 2007 19:15
by mwb1100
admin wrote: BTW, Windows Explorer UNDO is not an exported OS functionality. Every file manager developer has to write his own Undo. That's the reason why so few file managers have one. :)
Holy crap! I never knew this existed in Explorer (so I never missed it in any other file manager).

Now that I know... It Must Be In XY!

Posted: 03 Nov 2007 00:40
by serendipity
agreeing on byates #3 suggestion, it would be really cool. I have no idea how much work it is, but consider this. In the image editor paint.net one can have unlimited undo operations as long as user's PC has the space for this and every operation is in series.
Ofcourse there is cost to benefit ratio. If I am so crazy about losing something so precious then i have to pay for it in terms of space (folder where data is backed up) and time (copying time). That choice should be upto user. But let me first check what the most common mistakes we users make that we need undo:

1. renaming something wrong
2. setting wrong attributes ot date stamping wrongly.
3. deleting folder or file by mistake (undo depending on recycle bin size)
4. drag drop on wrong folder
5. closing a wrong tab.
6. deleting a catalog item
7. most other settings can be undone by restarting without saving, but still would be good to have a list of things i have changed.

I cant remember more now, will add if i do.

important question to me is how will the undo happen?
For eg in an image editor if i paint green, blue and red circles, the order of undo is red, blue and green. Will XY use the same strategy or can one undo green alone without undoing red and blue?

Posted: 03 Nov 2007 13:37
by graham
I think there is a great danger of making XY over complicated and becoming bloated with undo. For my take on this I think undo for simple immediate mistakes is great to have but when it comes to complex compound actions which I guess will become more prevalent with scripting then to contemplate undoing these is , I think a step to far. Lets face it if you have really need to recover after a major XY session then the OS restore is easily the best option assuming one was created or available.
I use Photoshop which has a history file enabling you to step backwards which is a type of undo but this is related to a self-contained set of files and I guess it is much easier to take intermediate snapshots (transaction procesing) of relevant files to step back. It seems to me that for XY it is a far more complicated process and taking snapshots would be a major slow down of processing speeds. To provide a reversible process is much better as this has no overhead to the initial process but has limitations as to how many operations can be reversed.

I look forward to the outcome as it will, I know, be something way beyond my imagination.

Posted: 03 Nov 2007 13:57
by admin
graham wrote:I think there is a great danger of making XY over complicated and becoming bloated with undo. For my take on this I think undo for simple immediate mistakes is great to have but when it comes to complex compound actions which I guess will become more prevalent with scripting then to contemplate undoing these is , I think a step to far. Lets face it if you have really need to recover after a major XY session then the OS restore is easily the best option assuming one was created or available.
I use Photoshop which has a history file enabling you to step backwards which is a type of undo but this is related to a self-contained set of files and I guess it is much easier to take intermediate snapshots (transaction procesing) of relevant files to step back. It seems to me that for XY it is a far more complicated process and taking snapshots would be a major slow down of processing speeds. To provide a reversible process is much better as this has no overhead to the initial process but has limitations as to how many operations can be reversed.

I look forward to the outcome as it will, I know, be something way beyond my imagination.
I fully agree! XY's Undo will be extremely simple (undo is to roll back a mistake, not to make a new one). When I previously claimed "It will be the best Undo you have seen" I was thinking of these properties:
- very simple to handle
- you can go several steps (number of course is configurable within limits) backward and forward (redo)
- you can display the action history in form of a list (just as in photoshop)
- maybe: you can configure what kind of actions can be undone

But in 99% of the uses, it will be simply: (1) Whoops (2) Undo (Ctrl+Z) . That's all. (Unfortunately the coding behind this is a mountain of complex stuff... but that's not your problem.)

Posted: 05 Nov 2007 15:52
by graham
admin wrote:
- very simple to handle
- you can go several steps (number of course is configurable within limits) backward and forward (redo)
- you can display the action history in form of a list (just as in photoshop)
- maybe: you can configure what kind of actions can be undone
The more I look at this the more intriguing it gets. On the face of it showing a history of actions is the way to go but some of these actions soon become messy. I was checking the WE undo and it actually introduces errors when undoing a move that included user agreement to over-write files. That I think is a bad solution and potentially dangerous as a user may think the undo has worked when it has not. The only way I can envisage this situation being avoided is for interim files to be stored just in case of needing an undo but this then introduces major problems if there are a lot of files or large files.

OK, I know that Don will have worked all this out and has a solution but I do ask that undo literally means everything undone is back to the pre-state and not like WE which partially works.

I mentioned before in a post that for recovery after the event where complex processes have happened it is better to resort to a full file backup (not OS restore as I wrongly mentioned).

Posted: 05 Nov 2007 16:02
by admin
graham wrote:admin wrote:
- very simple to handle
- you can go several steps (number of course is configurable within limits) backward and forward (redo)
- you can display the action history in form of a list (just as in photoshop)
- maybe: you can configure what kind of actions can be undone
The more I look at this the more intriguing it gets. On the face of it showing a history of actions is the way to go but some of these actions soon become messy. I was checking the WE undo and it actually introduces errors when undoing a move that included user agreement to over-write files. That I think is a bad solution and potentially dangerous as a user may think the undo has worked when it has not. The only way I can envisage this situation being avoided is for interim files to be stored just in case of needing an undo but this then introduces major problems if there are a lot of files or large files.

OK, I know that Don will have worked all this out and has a solution but I do ask that undo literally means everything undone is back to the pre-state and not like WE which partially works.

I mentioned before in a post that for recovery after the event where complex processes have happened it is better to resort to a full file backup (not OS restore as I wrongly mentioned).
Yes it is difficult. And I have not worked all this out...

Undo has wished in this forum several times years ago, and my answer was always: Undo is a promise I cannot keep and therefore I hesitate to do it. Or put otherwise: I will only do it when I know how to keep the promise. I'm still working on it...

BTW, does anybody know of a file manager with a good Undo?

Posted: 05 Nov 2007 22:21
by jacky
admin wrote:BTW, does anybody know of a file manager with a good Undo?
XYplorer v6.70 -- But you can't really find it for now, you'll have to wait. (Well, we will have to wait, you on the other hand might have to do more than that actually... ;))