PDA

View Full Version : Copy with delete creates alias duplicate


Greg D'Unger
10-28-2004, 10:19 AM
After doing the following with iSilo 4.15 on my Zire 71 using two files that were synched directly to an SD card in a sub-category:

Select a file that resides on an SD card
Choose Copy and copy the file to the device using
CHECK Copy settings/categories
UNCHECK Delete original after copy
Exit iSilo (shouldn't be needed, but just in case...)
Remove SD card
Insert different SD card
Choose Copy and copy the file to the device using
CHECK Copy settings/categories
CHECK Delete original after copy
PROBLEM :
Two copies of the file appear on your Palm. One says it's on the first card and the other says it's on the second (using Information)
They act completely independent in that I can browse within them to separate locations and each location is remembered separately.
However, one is really just an alias of the other and if one is deleted then the other becomes invalid when iSilo gets the volume information wrong (and of course it does not reach through quantum space and delete the file from the first card!) Refresh removes the invalid file.

ANOTHER CASE:
Select a file that resides on an SD card
Choose Copy and copy the file to the device using
UNCHECK Copy settings/categories
UNCHECK Delete original after copy
Do a refresh and the copy will appearExit iSilo in the same sub-category
Remove SD card
(Only the device copy exists now and Information confirms that source SD is forgotten)
Insert different SD card
Choose Copy and copy the file to the device using
CHECK Copy settings/categories
CHECK Delete original after copy
PROBLEM :
You get two copies (i.e. NO DELETE)
One copy remembers that it came from the original SD card.

Delete the copy with the reverse amnesia
Try to open the remaining copy
PROBLEM:
This was just another alias-file
The volume complaint dialog that opens refers to the current SD card which is still inserted! Delete doesn't work for this file.

Refresh to remove the bogus alias-file

Remove the second card and insert the first

PROBLEM:
Back to two files! One is card2 and one is card1 (this card) but it's really the alias problem again.

I seem to recall a third variant (but haven't documented here) where the "Copy settings/categories" were UNCHECKED in both steps (card to device with no delete and device to new card with delete) and I got a new category at 'root' level which was my original sub-category.

A copy of a file from SD card to device should 'forget' that it exists on a card.
A copy of a file from a device to the SD card (with Delete option) should delete the original.
iSilo shouldn't list files that are not on either the device or the current card. (It seems the device holds all this info, so it's iSilo's responsibility to manage it.)

iSilo
10-28-2004, 11:09 PM
There are other issues at hand here and the scenarios you pose can be explained by how iSilo tries to handle the expected scenario with most users. But first, you need to know that iSilo does use the volume name of cards to differentiate cards from one another. So, as in your examples, you can have two documents on different cards in the same folder paths on both cards that can have independent settings because they can be two different documents. So the behavior that you see is not really aliasing, but iSilo trying to handle the expected scenario where a user either renames his card or moves all his files to a different card (e.g., a larger capacity card), which would most likely have a different volume name. Keep in mind also that some devices have multiple card slots in addition to possibly some internal flash memory that can serve like an internal external storage card. So when you open a document that is supposed to be located on an external card, iSilo first attempts to look for a mounted card whose volume name is the same as the one stored for the entry that you selected. If it can not find such a mounted card, it then looks across all cards until it finds a file at the stored path (under the possible scenario that the user simply renamed the card). It is this last behavior that you have observed in your scenarios.

Greg D'Unger
10-30-2004, 11:52 AM
Maybe I overwhelmed you with details in the previous post.

There are bugs in iSilo's handling of copied files.

I am looking at two files with card "XMG" inserted:
One file says it resides on "XMG"
The other file says it resides on "XMB", where it was copied from in three steps : card to device (no delete), swap cards, device to card(with delete).

Unless my device has developed wireless capabilities, I should NOT be able to open the file on the card that is sitting on my desk. In fact, I can open either file. THIS IS IMPOSSIBLE.

So I'll delete the file that shouldn't be there (in fact, it doesn't matter which file I delete.)
Now when I try to Open the 'real' file, iSilo complains that the document is on "XMG" and I should insert and try again. (This is not the file I deleted.)
"XMG" IS ALREADY INSERTED

OK, I'm game. Pop it out: pop it in.
IT'S GONE.

This is why I used the term alias in my previous post.

However you try to explain it :
"other issues"
"expected scenarios"
be sure to include the word BUG in the explanation.

Your last comment:
"If it can not find such a mounted card, it then looks across all cards until it finds a file at the stored path (under the possible scenario that the user simply renamed the card). It is this last behavior that you have observed in your scenarios."
may indicate why the bug occurs, but it's not acceptable behavior. If I did rename a card (I didn't), then your problem is you are depending on a rename-able card name rather than a Device id, and you are finding and listing the same file.

In any case, Listing a file that doesn't exist (except on some other card) is one problem and letting me open it is another.

(Plain English - no emoticons needed for this post)

iSilo
10-30-2004, 02:01 PM
The problem you originally described was understood. The explanation that was given was given to explain the behavior that you saw, and was not to say that it is not an issue. But until there is a better solution, it will remain an issue. A better solution is not one that takes into consideration only the specific scenarios you posed, but all other scenarios as well. Apologies for the confusion.