GSoC/GCI Archive
Google Code-in 2010 GNOME

libgdata: Investigating cancelling uploads

completed by: George Stephanos

mentors: Philip Withnall

Investigate what Google's (PicasaWeb) servers do when photo uploads are cancelled part-way through, and suggest what libgdata should do in response.
  • As described in bug #607620, it's been found that Google's servers may accept photo uploads if the upload is cancelled part-way through, resulting in half an image appearing in the user's gallery.
  • This should be investigated, to determine whether this is the result of libgdata not terminating the connection correctly (or working out if there's some special magic we need to send to the server to cancel an upload in progress); or whether it's unavoidable.
  • In the latter case, you should consider possible actions for libgdata to take. Should it:
    • behave as it currently does, leaving a partially uploaded image on the server;
    • automatically delete the partially uploaded image and leave the server in a consistent state, but only if the user cancelled the upload;
    • automatically delete the partially uploaded image, if the user cancelled the upload ''or'' if there was an error during the upload process;
    • do something else?
The result of this work should be one or more comments in the bug report, explaining the investigation and your conclusion, with clear reasoning behind it.
Benefit: This problem is a non-trivial one which already affects the libgdata plugin for EOG.
Requirements: knowledge of Wireshark, and possibly some knowledge of HTTP
Extra (optional): If you find you have time at the end, a patch to libgdata which implements your conclusion would be useful, but not strictly necessary.