Would you like to offer a group of your users the ability to create their own file structure and upload massively large files? Look no further. Here is a DotNetNuke module by The Open Light Group, with source code that will do that.
If you have any problems installing it, please post to the forum at this link.
However, hold off on any feature requests because this is just a proof of concept for a Silverlight File Manager that will be in SilverlightDesktop.net.
Why we made this
The reason we broke this off into it's own app is we needed to work out a few challenges:
- When you move files around in a web based file manager, the communication lag causes things to sometimes get "out of sync".
- When you allow people to upload large files you simply cannot store all the files on a single server.
How to prevent Lag
The answer to the problem of:
- User drags 4 large files from one directory to another using the Silverlight File manager
- File manager uses web services to instruct the server to move the files
- The server starts to move the files
- The user changes their mind and moves the files somewhere else before the server has finished the first move
The answer? Don't move the files. Store the file structure (the folders) "virtually" in the database. So once a person uploads a file it doesn't move again unless it is deleted.
How to Store a Large amount of Files
The answer? Store them in a lot of places. We borrowed a feature we initially developed for ADefHelpDesk called "rolling repository".
It will allow you to set the upload folder, and if files are uploaded to one path and the path is changed for future files, the application will remember what location each file was uploaded to and will be able to retrieve all files. This will allow you to specify different directories at different times.
You can download the module here:
http://dnnsilverlight.adefwebserver.com/Silverlight20/PersonalFileUpload/tabid/77/Default.aspx