Mxxcon,
It's true it could be a pain in the ass to download some part of all the files. Surely I would prefer XCRC, but it's not so common nowadays. My checks were to be used on the ones you are doubtful about.
Just having the chance to check first and/or last Kbytes (how many should be a user decision, but in a zip file 4-8Kbytes are enough normally) is just a "simple" workaround to have a better chance on downloading exactly what you want in the fastest way possible. When you make a change to an archive, normally the first KBytes are indeed changed.
But I think you understood my claim. No sense to go forward in this direction.
For the dates, you're partially true. Dates are - sometimes - not correct for some servers. But, if you have a server where they ARE quite often available and reliable, why don't give the user a chance to exploit their use ? As I said before, this options are common in other products that are trying by now (3DFTP, Core FTP, and so on) but they are less stable than FlashFXP.
So, in practice, what I would like to have in the user interface ?
Â_ RESUME (is unavailable [grayed out] if OVERWRITE ALWAYS is checked)
(only to be considered if the local file is shorter than the remote one, obviously)
Â_ NORMAL RESUME (simply resumes shorter local files, no other checks)
Â_ SMART RESUME (before resuming shorter local files, makes some content checks)
Â_ USE FOR FILES BIGGER THAN XX Mbytes
Â_ USE XCRC if available on FTP server
Â_ Checks XX Kbytes at start (user must input XX parameter, otherwise defaults to 32)
Â_ Checks YY Kbytes at end (user must input YY parameter, otherwise defaults to 32)
IMPORTANT:
**** if these checks fails, the file is not resumable and it must be OVERWRITED, so the program must simply switch to OVERWRITE ALWAYS for the current file ! ****
Â_ OVERWRITE
Â_ ALWAYS (no resuming, no other checks, just overwrite local file; used also if the SMART RESUME feature said itÂfs impossible to resume the local file)
Â_ ENFORCE SIZE CHECK:
(overwrite only if at least one of these is checked and true)
Â_ OVERWRITE IF LOCAL SIZE IS DIFFERENT
Â_ OVERWRITE ONLY IF LOCAL FILE SIZE IS:
Â_ larger than remote file size
Â_ same as the remote file size
Â_ shorter than remote file size
Â_ ENFORCE DATE/TIME CHECKS:
(overwrite only if at least one of these is checked and true)
Â_ OVERWRITE IF LOCAL DATE/TIME IS DIFFERENT
Â_ Use XX hours of tolerance to avoid problems for time zones (user must input XX value, otherwise default to 1)
Â_ OVERWRITE ONLY IF LOCAL FILE DATE/TIME IS:
Â_ lower than remote file date/time
Â_ equal to remote file date/time
Â_ greater than remote file date/time
Â_ SMART OVERWRITE
(warning: this can be really slow, use only for BIG and relevant files)
(if any difference is spotted, file must be re-downloaded from scratch)
Â_ USE SMART OVERWRITE FOR FILES BIGGER THAN XX Mbytes ONLY (user must input XX otherwise default to 1)
Â_ USE XCRC if available on FTP server
Â_ Checks XX Kbytes at start (user must input XX which defaults to 32)
Â_ Checks YY Kbytes at end (user must input YY which defaults to 32)
Â_ SKIP is the default option here, of course. If no condition of the defined options is true, the file is simply skipped because it already exists locally.
I think my schema should be easy to understand.
It would be nice to have some samples on-screen of whatÂfs going on based on your choices (a sample of a possible situation which tells you that with the defined options a file would be transferred, another not, and so on)
I would just live better if I had that options.
Regards,
EM
|