Oleg:
        Hello! Good to have you back. I hope you had a nice break. :)
Some answers for you now:

>So, as I understand, the file transfer is controlled from the sender side
>(not receiver), so we have file upload rather then download.

        Correct.

>The whole
>operation looks like follows:
>1. The sender clicks on the party icon he wants to upload the file(s) to and
>begins browsing his own file system to choose file(s) to transfer.

        A little different. First, similar to VNC and the VPN, there
will be a Service Icon for File Transfer. Similar to VNC, there will be
multiple tabs. The default one is "Status" which shows the progress of
any Kaboodle file transfers going on. For any of them in which MyMachine
is the sender or receiver, there should be a Cancel button next to the
status indicator. Clicking this brings up a MessageBox to confirm: "Are
you sure you want to cancel this file transfer? YES/NO".
        The second tab is "Send a File..." and it shows a list of available
Kaboodle users on the LAN I can send a file to. I choose a machine from the
list, and hit a button "Send File...". That will activate a window which says
"Choose File to Transfer" with a standard Windows browser. The user selects
 a file, and the "Send This File" button activates. There should also be a
small
field for "Add a Comment to Send Along with the File".  The user can add an
optional message here. Lastly, there should be a grey'd-out Checkbox button
saying "Transfer this file with unbreakable encryption". The user then clicks
the "Send This File" button and the file-sending process begins.
        On the receiver's side, once the sender hits "Send This File",
a message box needs to come up: "A user on SendingMachine is trying
to send you a file called "FileName", size XYZ kB. They also said: "<If
CommentField was filled out by the sender, add the comment here>". The
receiver has two buttons "Save this File..." and "Cancel.". If they hit
Cancel,
send a message back to the Sender: "Sorry...the user on OtherMachine
refused this file".
        If the user hit Save, activate a typical Windows Save screen,
which starts at "My Documents" by default. Thge user can see the filename
they're about to save, and change it here if thet want. If the user changes
the
folder to save incoming files into, we should remember that for the next
time. At the bottom of this Save screen should be a checkbox: "Always allow
file transfers from SenderMachine and save them here". By default, that
checkbox is off. After the user has a folder selected which they have
permission to write into, activate a "Save" button. When the user hits
that, the file transfer begins. If the user selects that Checkbox, we don't
have to prompt them for permission the next time as long as the destination
folder exists and is writeable.

        Lastly, the third tab is "Receive a File". There should be
four pieces here:

        1. A Checkbox saying "Accept file transfers without asking for
permission each time".
        2. A Checkbox saying "Accept file transfers only from these
machines: <Access List>." This is very much the same thing as the VNC
access list that Igor has working.
        3. A Checkbox saying "Restrict the file transfers to files
less than 10 MB in size". In this, the 10 is user adjustable.
        4. A Checkbox saying "Save all of my files to this directory:"
which shows the current choice, with a "Browse" button next to it to
select another.

        None of these Checkbox buttons are turned on by default.

        That was all in the Service Icon. In MyMachine's Property
Panel, there should also be a File Transfer PropertyTab. This should show
status information that involves MyMachine (the Service Icon shows all
machines in its Status Tab, and it should show the Checkbox selections
from Receive a File.
        If I open the PropertyPanel for another machine (not
MyMachine which is the one I'm using) it should show the status tab,
but not let me cancel anything I'm not the sender or receiver on. And
it's second tab should be "Send a File", which operates as described above.

        Onto the rest of your questions:
> Q: Do we
>need to implement several files transfer at a time?

        Yes. A Kaboodle user can send and receive multiple file
simultaneously.

>2. He clicks OK and the file(s) get being transferred via the steal tube to
>the party.

        The file-sending from Kaboodle-to-Kaboodle on the same
LAN will not use the "Steel Tube" yet, as that's not built. It can use
a standard client-server TCP socket connection. It's important that
the data be encrypted before it's sent, of course, either using the
shared Kaboodle key, or using some quick DH key exchange. I'd also
like to see an oppotunistic compression used; ie, if a quick test shows
that zlib can compress the file, we can compress it before it's sent.

> Q: Do we need to send file attributes as well (date/time, read-only)?

        I don't think we need to do that, no.

>3. On the receiver's side, the file(s) are stored in a predetermined
>download
>folder. Q: What about the downloaded file name - is it the same as original
>one ore decorated somehow? And what if such file already presents in the
>download folder (change name unattendedly or ask)?

        See above, where the user can hit "Save..." and can save it
however they want.

>We will need some new interface elements:
>1. A place from where the download directory is set up
>2. A button on the property panel to click to open a standard Open File
>dialog.
>
>Note that some users may need a file download feature so as to brows files
>on the remote party and take files at will. What can we suggest to them?

        For them, I'd suggest they buy KaboodlePlus, our non-freeware
version of Kaboodle. :)

-Scott




_______________________________________________________________

Have big pipes? SourceForge.net is looking for download mirrors. We supply
the hardware. You get the recognition. Email Us: [EMAIL PROTECTED]
_______________________________________________
Kaboodle-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/kaboodle-devel

Reply via email to