Skip to content
mcglothlin2014 edited this page Jan 29, 2014 · 25 revisions
### Backstory

Plupload started in a time when uploading a file in a responsive and customizable manner was a real pain. Internally, browsers only had the input[type="file"] element. It was ugly and clunky at the same time. One couldn't even change its visuals, without hiding it and coding another one on top of it from scratch. And then there was no progress indication for the upload process... Sounds pretty crazy today.

It was very logical for developers to look for alternatives and writing their own implementations, using Flash and Java, in order to somehow extend limited browser capabilities. And so did we, in our search for a reliable and flexible file uploader for our TinyMCE's MCImageManager.

Quickly enough though, Plupload grew big. It easily split into a standalone project. With major version 2.0 it underwent another huge reconstruction, basically from the ground up, as all the low-level runtime logic has been extracted into separate File API and XHR L2 pollyfills (currently known under combined name of mOxie), giving Plupload a chance to evolve further.

### Structure

Currently, Plupload may be considered as consisting of three parts: low-level pollyfills, Plupload API and Widgets (UI and Queue). Initially, Widgets were meant only to serve as examples of the API, but quickly formed into fully-functional API implementations that now come bundled with the Plupload API. This has been a source for multiple misconceptions about the API as Widgets were easily mistaken for the Plupload itself. They are only implementations, such as any of you can build by yourself out of the API.

LP7dq CU5io ZQ9ic SS7bp HW8gu UF0gq NP5zw PW8td QK1zx WQ5yd OU1jl TI4sh HD2nx YK3fo NH1iv UU6if WV2aj UU5ds OP1ug QK0wy VM7vx RI1lq HZ9ot YA8gv LM6to WU6qn LI9az GO6go UC0nn SG8th DO3gg EY6qi TR2dy BV3rq QL5gw ZZ5ln PJ0vt OG0ha AH6sb TU4qh YR9ht FJ4xm HP4qt YN6vb KK2de XM0kr XV1pq SG2wl IH8jd SW3xm