From Sugar Labs
Jump to navigation Jump to search
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.


  • 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.


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

Future Plans


  • 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.


  • 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