- Loading...
- No images or files uploaded yet.
|
|
FileUploader
type: widget release: N/A priority: none status: in planning documentation: N/A demo: LABS
1 - Description:
A file uploader extends the default single file browse tool with to allow for a custom UI for providing feedback, the ability to upload multiple files at once and a real-time progress bar for upload feedback.
A few jQuery plugins provide all or some of this functionality: http://plugins.jquery.com/project/MultiFile/ http://www.fyneworks.com/jquery/multiple-file-upload/ http://15daysofjquery.com/multiple-file-upload-magic-with-unobtrusive-javascript/17/ http://jquery.webunity.nl/jQuery.uploader/landing (this is the latest version of the plugin that was documented on the jQuery site at http://docs.jquery.com/UI/Uploader)
2 - Visual Design:
3 - Functional Specifications/Requirements:
(Detailed descrition of how the script will be structured: defaults, options, architecture, extensibility, etc.)
4 - Markup & Style:
4.1 Initial markup examples
(Pre-enhanced HTML markup structure that will be transformed into the final widget. There may be multiple possible HTML markup options per widget: for example, for a slider, radiobuttons, inputs or selects could all be used. )
4.2 Recommended transformed HTML markup
(The HTML markup structure and classes that will be used by the scripts in the enhanced version)
4.3 Accessibility recommendation
(Detailed recommendations for ARIA, HTML markup, CSS and javascript that will contribute to universal access and full section 508 accessibility for screen readers, mobile devices and any other devices)
4.4 CSS & Theme
(Description of the CSS classes to be used for all states, how custom theming and Themeroller support will work.)
5 - Latest version of plugin:
(Link to the latest version in the jQuery UI trunk here)
6 - Open issues being discussed
(Use this area to place things that we're hashing out like featuresand options we're not sure we should include, questions about how this fits into UI and relates to other widgets and utilities, known problems, whether features should be broken across multiple releases, etc.)
|
Comments (18)
Jonathan Gotti said
at 5:15 pm on Jun 2, 2009
It must be considered to achieve this that the server side must be abble to send feedback on the upload state.
For example php on it's own can't achieve this without rarely installed extensions.
Gilles said
at 3:29 am on Aug 19, 2009
When using a Flash based version this is doable. There is also the possibility to add a CGI backend, to allow more flexibility. However, this needs some additional configuration.
Ca-Phun Ung said
at 4:32 am on Aug 19, 2009
Hey Giles,
I set the status back to "in planning" and demo link to "n/a". Links in the header should always point to resources in the UI repos.
jQuery.uploader looks really good and feature complete. Were you intending to add your plugin to UI?
scottjehl said
at 8:15 am on Aug 19, 2009
This plugin looks nice.
Is it possible to develop this plugin in a way that doesn't depend on Flash? Or at least only using Flash if it's available? Also a solution that does not need to be configured to align with the backend would be ideal as well.
The first priority should be to make a native file input customizable in appearance and behavior. This portion shouldn't require Flash or any backend configuration.
I've seen some nice plugins that manipulate an input type=file element with some additional elements to at least make a single file uploader configurable with CSS and JS.
Here's one I've used that worked quite well (you apply the plugin to an element which could replace a file input, it doesn't use Flash, and submits using a generated iFrame):
http://valums.com/wp-content/uploads/ajax-upload/demo-jquery.htm
it works by actually using a hidden file input positioned over the clickable button, so you actually click the native input button while using it.
Obviously, this plugin isn't as full-featured as the example posted above, but it's a nice solution for configuring a native file input element, and then we could provide options for things that might require Flash, such as reporting upload progress back to a UI progressbar widget, uploading multiple files, and more.
Thoughts?
Gilles said
at 9:57 am on Aug 19, 2009
@Ca-Phun ung:
yes i have been thinking about this for over 2 years (that is, i have suggested it many times but due to the fact that everybody is very busy, it just never came off it). I started today to convert my jquery.uploader to jQuery.ui.fileuploader (as in: rewriting to confirm with jQuery UI). As per Scots request (and the fact that i have seen it on other plugins which are MIT licensed) at first i am just "converting" my plugin, meaning it requires flash and basically works just like the plugin above but then using UI standards. Then we can think about other formats (both front-end as backend).
The main problem here is that this plugin can't be used "out of the box" you have to do some event handling and backend programming in order for it to work, but that should all be self explanatory when you take a look at the demo's. I've decided to use SWFobject (also MIT licensed) for Flash detection since you can build that into the plugin, but better is to not reinvent the wheel. I'll keep you guys updated.
Ca-Phun Ung said
at 10:32 am on Aug 19, 2009
I see, that's good news! I'm glad you're willing to contribute your code.
Do you want to add this stuff to the UI labs? I'm not sure if you have commit access?
I think we could have the JS and demo page on the UI repos with Flash and backend code on your server (if you're willing)?
I think FileUploader could become something of a standard API that anyone could create their own Flash/Backend scripts to work with as long as they adhere to the FileUploader API. Rather than focus on Flash we should focus on the JS.
Gilles said
at 2:07 am on Aug 20, 2009
On your last line; that is kinda hard. Since the entire callbacks and multi-file selection is all based on Flash. Lets first add this to the labs (no i don't have write access yet) and lets see how we can evolve from there.
Ca-Phun Ung said
at 3:13 am on Aug 20, 2009
Yes, it's a long shot but I think it's something that would set this UI plugin apart from the rest. Basically it's the same but I'm looking at it from the JS side. We define a set of API calls for the FlashUploader to adhere to and that is what sets the standard.
I agree that we should first get what we have converted to UI then develop from there.
Jörn Zaefferer said
at 6:14 am on Aug 20, 2009
That make sense, considering fileupload support in HTML5, eg. as implemented in Firefox 3.5. In the long term, Flash should be just an optional implementation, not the API.
Jörn Zaefferer said
at 2:13 pm on Aug 19, 2009
Can you replace SWFObject with the flash plugin? http://jquery.lukelutman.com/plugins/flash/
Gilles said
at 2:06 am on Aug 20, 2009
I've replaced SWFObject with the flash plugin. Didn't think it was so easy ;)
Gilles said
at 7:58 am on Aug 24, 2009
Well, i've removed the jQuery flash plugin from my project since it produced embed tags in IE. This way my externally exposed functions are not callable. I've reverted it back to my own (old but functioning) code which is a combination of jQuery.flash plugin (for Flash detection) and some code from the Flash detection kit. Anyway; demo1 (see url on top of the page) is working again, so i'll think i'll add the project to the labs in a few days.
Ca-Phun Ung said
at 8:03 am on Aug 24, 2009
Great, thanks Gilles!
Gilles said
at 4:34 am on Sep 8, 2009
Guys i added the first demo (and complete source) to the labs, please tell me what you think of this.
Ca-Phun Ung said
at 9:25 am on Sep 9, 2009
Wohooo! Gonna check this out over the weekend! Thanks :)
valums said
at 3:56 am on Nov 2, 2009
Hi,
I am an author of AJAX Upload plugin http://valums.com/ajax-upload/ ,
and I would like to help developing a jQuery UI widget.
As I see, Gilles is already in process of creating a flash based widget,
and I would like to know what do you have right now.
I was thinking that it would be great if Flash was only required if developers
would like to see the progress-bar, but for others (that have trouble with Flash upload
because of the server settings), and for users without Flash,
and for newer browsers (which support XHR progress event and File API)
files uploads would be done with JavaScript.
Here is a list what's currently possible with the pure JavaScript.
In all browsers
Multiple file uploads using upload button styled with CSS
(http://valums.com/wp-content/uploads/ajax-upload/demo-jquery.htm)
Safari 4, Opera and upcoming Firefox 3.6 support selecting multiple files using file selection dialog
<input type=”file” multiple> Safari, Firefox
<input type=”file” min="0" max="73"> Opera
With Safari 4 and Firefox 3.5 it is possible to show upload progress using XHR onprogress event,
but in my opinion it's too costly to implement it right now.
What do you think?
Scott Allen said
at 1:21 pm on Nov 3, 2009
Our business is looking for this exact kind of widget. We haven't found anything that works really well for multiple files with a progress bar. My boss and I are wondering if you know when this widget might launch - if you have a deadline time frame?
Scott González said
at 6:18 pm on Nov 3, 2009
This is currently not a prioritized plugin, which means at the earliest it could be a candidate for middle of next year, but as of right now there is no planned release date.
You don't have permission to comment on this page.