Topic: Plupload 2 Beta

It has been a long time since we've started to work on the second version of our multi runtime file uploader. And here you have it finally - first public beta of Plupload 2.

Bit of backstory, since it’s quite complicated. First of all I would like to make one thing very clear though, until it gets confusing - functionality of Plupload on a big part has stayed the same. Yes - it has gained huge potential for growth, but on the surface you shouldn't feel any degradation. And this is actually good - 'cause if you feel the difference, then something went not as it was expected to and you should immediately report it to us smile

As you might know, so far Plupload consisted of two distinctive parts - the Core (a small framework that made it easy to quickly implement cross-browser file uploader of any kind) and the Widgets - UI Widget and Queue Widget (two visually rich implementations of the Core and basically examples of Plupload's potential). But while having a core completely separate turned out to be very handy, it still felt a bit constraining. For example it wasn't possible to easily get the hold of a raw file data - to display thumbnails for example, or access file meta tags. Yes - Plupload was able to extract Exif and GPS info from images, but it was doing this on it's own, without giving any control to the user. Another problem was that it was nearly impossible to control the flow of the chunks - resend them separately for example, if they failed to reach the server, calculate  checksums for increased reliability, and so on.

So the necessity was obvious - we required to expand the Core farther. But how? Provide more events and methods (much more in fact)? Or separate low-level file manipulation and upload logic into a separate set of libraries? The answer was laying on the surface, but felt so crazy that it took us quite some time to comprehend that it was the only proper way to proceed. So what we did in our major update, is that we’ve extracted all the low-level logic from the Core and wrapped it up in standalone multi-runtime and cross-browser pollyfills, that are closely resembling behavior and functionality of HTML5’s File and XMLHttpRequest Level 2 APIs!...

Now, maybe currently it doesn’t sound as crazy as it did, back in early days when we started, but believe me it still opens up some very interesting opportunities for legacy browsers,  that are still around (and not only). While working on pollyfills, we tried to follow existing W3C specs as close as it was possible in our circumstances, which means that our implementation of FileReader interface, or XMLHttpRequest will act and have all the properties and methods that according to W3C are expected for them to have. And if for some reason they lack some (specs were noticed to mutate quite often), let us know and we will take on them smile

Therefore now we have three tier system: very first level - File and XMLHttpRequest API pollyfills, second level - Plupload Core and third level - Core implementations, like our UI and Queue Widgets. Bottom levels can be extended separately - just as easy as anyone can use the Core to build customized file uploader, pollyfills can be used to create all kinds of components and obviously not only file uploaders.

Currently we publish our first beta of Plupload 2. On big part you should be able to simply drop it in instead of the previous one and everything should simply work. But there are some precautions to take into account. First of all, we’ve dropped BrowserPlus and Gears support, mostly because their authors dropped them themselves. Second point to consider is the fact, that we’ve renamed .swf and .xap shims, since they are not strictly Plupload specialized anymore (they are now part of pollyfills and not the Plupload). So in the places where you reference plupload.flash.swf and/or plupload.silverlight.xap, you must now put correspondingly - Moxie.swf and Moxie.xap (as these are the names of updated shims).

That’s it! You can download Plupload 2 here. Together with minified Moxie (combined name for pollyfill code) and Plupload code, we bundle our Widgets. Queue plugin wasn't touched, but UI got updated to leverage the power of new APIs and now is able to show the client-side thumbs (even in IE6!).

Happy testing. We are ready to accept bug reports and feature requests. Now that we’ve mostly done with the major update, bug hunting will get top priority.

If you want to see your issue fixed, do not report it here, do it on - GitHub.

2 (edited by ciganox 2012-11-29 22:19:23)

Re: Plupload 2 Beta

an error occurred using google chrome 23.0.1271.91 m, I tested with the example file... custom.html

Unsafe JavaScript attempt to access frame with URL file:///D:/aaTrabalhos/scripts/plupload_2_0a/examples/upload.php from frame with URL file:///D:/aaTrabalhos/scripts/plupload_2_0a/examples/custom.html. Domains, protocols and ports must match.
plupload.full.min.js:13

Uncaught TypeError: Cannot call method 'execCommand' of undefined plupload.full.min.js:13

Re: Plupload 2 Beta

Plupload is not meant to be loaded locally (it's file uploader, you know wink) - and it looks like that's what you are doing. Try it through a web-server.

If you want to see your issue fixed, do not report it here, do it on - GitHub.

Re: Plupload 2 Beta

Truth is, sorry, in the excitement of testing the new version, did not see that was not the localhost webserver, works very well, thank you for this wonderful tool ...

Re: Plupload 2 Beta

so in Ver 2 is not much different with 1.5.4 ?

Re: Plupload 2 Beta

I terms of what "normal" users will be using, no, its not that much new, but the engine is rebuilt extending its capabilities.

We will go into this in more details for future news.

Re: Plupload 2 Beta

When I mentioned that it should not feel any different - I was in fact talking about degradation, maybe I should clarify this in the text itself. Otherwise Plupload has changed dramatically, especially underlying code base (which was basically rewritten from scratch). For example it now exposes raw file data in all browsers, even in legacy ones, not having FileReader support (!). The most obvious consequence of this is that for example we can now (and you can) display client-side thumbs (UI Widget bundled with Plupload 2 demonstrates it).

More will become apparent once I finish the wiki.

If you want to see your issue fixed, do not report it here, do it on - GitHub.

Re: Plupload 2 Beta

davit wrote:

When I mentioned that it should not feel any different - I was in fact talking about degradation, maybe I should clarify this in the text itself. Otherwise Plupload has changed dramatically, especially underlying code base (which was basically rewritten from scratch). For example it now exposes raw file data in all browsers, even in legacy ones, not having FileReader support (!). The most obvious consequence of this is that for example we can now (and you can) display client-side thumbs (UI Widget bundled with Plupload 2 demonstrates it).

More will become apparent once I finish the wiki.

Cool..cannot wait to read new things in wiki big_smile
I hope there will be more details about new features or improvements in PLUpload 2

Re: Plupload 2 Beta

what about not minifed version? Can you publish it?

Re: Plupload 2 Beta

I suggest the following change in "jquery.plupload.queue.css" line 110 for when not using the default size:

original code:
.plupload_filelist .plupload_file_name {width: 205px}

Suggested code:
.plupload_filelist .plupload_file_name {width: 75%}

Congratulations on the new version,

Carlos

Re: Plupload 2 Beta

Code base for Plupload 2 has been now merged onto the master branch on github: https://github.com/moxiecode/plupload

And please keep this topic clean. You can report bugs and request features in corresponding sub-forums.

If you want to see your issue fixed, do not report it here, do it on - GitHub.

Re: Plupload 2 Beta

Today i'm trying to use this version with UI widget from android boat browser but the uploaded files size is zero. But working properly from computer

Re: Plupload 2 Beta

It might need additional tweaking for mobiles. I'm working on that.

If you want to see your issue fixed, do not report it here, do it on - GitHub.

Re: Plupload 2 Beta

what tweaking will be needed?

Re: Plupload 2 Beta

Hello .. I noticed that the version of 1.5.4 to get the answer and version 2 can not get the response is always empty.

Re: Plupload 2 Beta

Does this beta fix the problem with uploads from recent versions of IOS being mostly black?

Re: Plupload 2 Beta

IOS 6.0.1, specifically.

Re: Plupload 2 Beta

edwh wrote:

Does this beta fix the problem with uploads from recent versions of IOS being mostly black?

I hope it will fix, but on my Jelly Bean is just give me zero size uploaded file

Re: Plupload 2 Beta

@edwh, could you please submit your issue on github? or reference it here if you've already done so.

I tried multiple uploads on iOS6 (6.0) and they all seem proper.

If you want to see your issue fixed, do not report it here, do it on - GitHub.

Re: Plupload 2 Beta

JFOC wrote:

Today i'm trying to use this version with UI widget from android boat browser but the uploaded files size is zero. But working properly from computer

Can you check how well does boat browser in Ringmark test? Specifically in test for xhr2 in Ring 1? I assume that you specify HTML5 runtime.

HTML4 should work in any case though, what are the runtimes that you specify?

If you want to see your issue fixed, do not report it here, do it on - GitHub.

21 (edited by JFOC 2012-12-10 09:45:46)

Re: Plupload 2 Beta

davit wrote:
JFOC wrote:

Today i'm trying to use this version with UI widget from android boat browser but the uploaded files size is zero. But working properly from computer

Can you check how well does boat browser in Ringmark test? Specifically in test for xhr2 in Ring 1? I assume that you specify HTML5 runtime.

HTML4 should work in any case though, what are the runtimes that you specify?

this is xhr2 in ring
https://www.dropbox.com/s/w9y3dgyvtwpy8 … -18-16.png

the runtime is html5. I dont planned for HTML4 as is old technology

Re: Plupload 2 Beta

Looking at the test results, I think it should work, despite of the failures here and there. I will need some time to arrange an Android emulator here. I will get back to you, once I got more or less satisfactory results there.

Btw, HTML4 is not exactly an old technology, it's quite contemprary. The problem is that you just can't select multiple files from the dialog. That's the obvious lackage - yes.

If you want to see your issue fixed, do not report it here, do it on - GitHub.

Re: Plupload 2 Beta

Is there any estimate for the release version to take place?

Thanks ahaed smile

Re: Plupload 2 Beta

In a week somewhere. Max - two.

If you want to see your issue fixed, do not report it here, do it on - GitHub.

Re: Plupload 2 Beta

mOxie Wiki: https://github.com/moxiecode/moxie/wiki

Currently covers most part of the API. Examples and Tutorials coming.

If you want to see your issue fixed, do not report it here, do it on - GitHub.