Wednesday, December 9, 2009

Dec 9: File Share Activity Update

The file share activity is starting to show some results.  In its current state, it is able to transfer some journal entries.  There are still quite a few bugs that prevents it from being ready for any stable testing.

Current Bugs
One major bug is that any journal entires that do not have a file associated with them crashes when the bundle section tries to zip files that do not exists.  This means that currently it can only transfer journal entries that has a file associated with it like the Pippy and Read activities.

It also seems to have problems with unzipping large files that were transfered which I will have to investigate further.

Another bug that is hard to figure out is that for some reason, transferring the file list between my soas in the vm and my xo seems to work fine, but if transferring the other way it is failing when trying to read the file list.  I am guessing it may have something to do with the different versions of the pickle library between them.

Some problems I had to overcome
When writing code this past week, I ran into a disturbing problem between the version of sugar on my XO and the version on my vm of SOAS.  The version of the json python library on the xo was a hacked library from the looks of it.  It was very minimalistic and was missing a lot of features, including a __version__ attribute.  It also uses a read and write method where all other versions of this library seem to use loads and dumps.

That I found very annoying as I had to then modify one of my files to check if it had the read or loads method.

Another problem I found is the documentation about using stream tubes is literally "See the Read activity's code for an example."  Otherwise just lots of debugging problems that seem to be because of incompatible libraries between versions of sugar.

Future Tasks and Improvement
I need to solve the bug about transferring file lists, zipping the file for transfer with an empty file, and unzipping large files.

I also wish to add better UI, for example, progress bars during transfers on the client and possibly a list of users downloading files on the server (on this note, it should prevent disconnecting when a user is downloading).

The file share activity should also be more chatty over the mesh.  For example, as the system is set up now, the client gets the file list once they connect.  The system should allow the user to add and remove files after clients connect.  At this moment, the client gets access to all the files they were told about when they connected.  If the server removes a file, the client still can get it.  If the server adds a file, the client is not notified about the new file.

No comments:

Post a Comment