https://bugzilla.wikimedia.org/show_bug.cgi?id=25676

--- Comment #12 from Neil Kandalgaonkar <[email protected]> 2011-03-28 
03:13:19 UTC ---
(In reply to comment #11)
> (In reply to comment #9)
> > Reopening since Tim's arguments for WONTFIX pertained mostly to the Firefogg
> > add-on (client-side) rather than the FirefoggChunkedUpload extension
> > (server-side support).
> 
> Actually I think the second paragraph in comment 5, where I explained why I
> don't think the server-side extension should be enabled, was longer than the
> first paragraph, which dealt with my objections to the client-side.

I've had a look at Google's Resumable Upload Protocol. They do things in a
reasonable manner, also very RESTy. We have never used HTTP Headers or Status
fields for application state signalling, but we can emulate most of this in
ordinary POST parameters and returned data.

http://code.google.com/apis/documents/docs/3.0/developers_guide_protocol.html#ResumableUpload

Okay, so if the following things were added to a chunked upload protocol, would
this be satisfactory?

* Before starting an upload, the client tells the server the length of the file
to be uploaded, in bytes.

* With each upload chunk, the client also tells the server which range of bytes
this corresponds to.

* With each response to an upload chunk, the server indicates the largest range
of contiguous bytes starting from zero that it thinks it has. (The client
should use this information to set its filepointer for subsequent chunks). n.b.
this means it's possible for the client to send overlapping ranges; the server
needs to be smart about this

* The server is the party that decides when the upload is done. (By signaling
that the full range of packets are received, saying "ok, all done", and then
returning the other usual information about how to refer to the reassembled
file).

We could also add optional checksums here, at least for each individual chunk.
(A complete-file checksum would be nice, but it's not clear to me whether it is
practical for Javascript FileAPI clients to obtain them).

And each upload could return some error status, particularly if checksums or
expected length doesn't match.

-- 
Configure bugmail: https://bugzilla.wikimedia.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
You are on the CC list for the bug.

_______________________________________________
Wikibugs-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to