Activities/FileShare

Shared activity downloading files

FileShare is an activity that allows the user to share files from their journal.

The activity prompts the user for a list of files. When a user joins the shared activity, they are shown the file list where they can choose which files they would like to download.

The activity was based off a concept activity called Distribute

Project Status

The project is under active development. I am currently looking for bug reports as well as suggestions for further improvement. Check out the current Dev Release (Dec. 14, 2009) or source code.

If you have found a bug, please report it the google group page or email to our google group email address.

Features

  • Activity can be loaded up and files can be added and removed from the file list
  • It can be shared and users who join are able to download files from the file list.

Bugs

  • Sometimes user interface can become un-responsive during file transfers.

Future Plans

Functionality

  • Clients needs to communicate more to the server. In the current state, the server is not aware of the number of clients currently downloading files.
    • Should show user who is currently downloading what files
    • Download count on each file
    • Prevent/Notify user from closing the activity while users are downloading from them.
  • Activity should be able to save its state
    • Next time it loads up, the activity should be able to restore the file list and continue sharing.
    • This feature would be helpful for a teacher to save files related to the day's lesson and then be able to recall it at a later time.
  • Integration to the school server
    • Current plans are to have a server running on the school server as well allowing authorized users to upload files to the school server as well.

UI

  • Download All Button
  • Download file in each row instead of selecting each file then clicking download
    • Alternatively, support selecting multiple rows and then click download.

Change Log

2009-12-14: FileShare-2.xo

  • Added Localization Support
  • Server notifies client when new file is added
  • Server notifies client when file is removed
    • Client ignores remove request when transfer is in progress or completed
  • Server now deletes file bundle for removed files
  • Files are now refered to by a sha1 hash instead of int count
  • Server will attempt to prevent duplicate shared entries
    • By activity id in datastore metadata
    • If no activity id in metadata, sha1 file given by get_file_path
    • If file path is empty, no check can be done, create random sha1 no duplicate check can be done at this time


2009-12-11: Initial release

Links