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