Subject: Re: Subject: Re: On Plasmate's recent project list
Yuen Hoe Lim
yuenhoe86 at gmail.com
Tue Jan 26 14:27:12 CET 2010
>
> What about giving the user a choice when a duplicate is found? As a user, I
> wouldn't like the software to create two copies of the same project (maybe
> different versions of it) and then me having to delete one of them. Lets
> just give a "Overwrite, Rename, Skip" option.
> What do you guys think ?
>
My vote is against, for the following reasons:
- True duplicates (the kind we don't want to have) will only occur in one
of two scenarios.
a) I export all projects, then import all projects on the same PlasMate
instance, which is a senseless thing to do. Or I import twice onto the same
instance, again senseless.
b) I export my projects and then go to another computer where someone
else has imported one of my projects (from online, say). This is gonna be
rare, and isn't really a true duplicate. You may actually want to keep both.
The vast majority of conflicts are likely going to be the kind where you
unintentionally name two different things with the same name.
- Even in the rare case that true duplicates occur, the remedy is
trivial. One button-click away.
- Prompting with "Overwrite, Rename, Skip" is bad because, as I have
repeatedly reiterated, folder names are invisible to the user. ie, when
there is a folder name conflict - **the user cannot see it**! If the user
doesn't see a conflict but PlasMate prompts and insists that there is a
conflict, we are definitely going to confuse the user. Furthermore if he
decides to rename but doesn't see any visible effect from the renaming
(because folder names are not visible!), he is going to become even more
confused. And worse - he will probably report it as a bug.
If you guys insist I guess we could use a hash check to ignore "pure" true
duplicates, so the algorithm reads something like this:
for each folder f in import archive {
for each folder g in the target location {
if hash(f) == hash(g) { // a "pure" duplicate
delete f from archive;
goto end;
}
}
while f also exists in the target location {
generate a new name for f and rename f in the archive;
}
end:
}
extract archive to target location;
But particularly for the third reason above, I really don't like the idea of
prompting.
----
Jason "moofang" Lim Yuen Hoe
http://yuenhoe.co.cc/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/plasma-devel/attachments/20100126/f00165cd/attachment-0001.htm
More information about the Plasma-devel
mailing list