[TYPO3-project-4-3] Flash Uploader - Version 1

Jeff Segars jsegars at alumni.rice.edu
Tue Mar 3 23:11:55 CET 2009


Thanks Benni!  Works great in my 5 minute test here.  Can't wait to see 
it find its way to TCE Forms soon...

Benjamin Mack wrote:
> Hey team,
> 
> finally I have a version of the highly anticipated Flash Uploader, a 
> combination of SWFupload and an extended ExtJS.
> 
> In case you want to try out that nifty feature, I attached to files for 
> you to get some insight.
> 
> Step by Step:
> 
> * Apply the patch and extract the files in the zip file to 
> typo3/contrib/swfupload/
> * Reload the Backend
> * Make sure you have the latest flash installed and activate a new 
> option in the User Setup
> * Go to the file module and hit the upload button, a window should be 
> displayed :) Happy uploading (be sure to select multiple files in the 
> "Select Files" dialog :)).
> * Have a look at the consise code in file_list.php to see how the 
> component can be added in to other places.
> 
> Some remarks:
> 
> * I wrote the whole system so that there is one Ext Window (thus, one 
> Flash movie) that is persistent in the Backend main frame. This way, it 
> *could* theoretically be called.
> * It is suited with some good default options, and can be called from 
> within every frame, with callbacks IN that frame back again (to 
> manipulate things inside once all uploads are done, so you could update 
> only a specific div after the upload), however, in this case the frame 
> needs to be kept open for the callback!)
> * For now I only added the feature to the upload button in the file 
> list, have a look at the source code, the 30 lines are very simple and 
> at the same time, there are a lot of options to modify the contents of 
> the Ext Window. This means that everythin in this component is very 
> flexible.
> * There are some issues with Flash in general: It cannot handle browser 
> cookies. That's why it sends the cookies in form of $_GET params, so we 
> can use this for authentication of the current session. However, this is 
> not perfect, as the session is always bound to the user agent, which 
> changes to "Flash" when using SWFupload. I added an exception here.
> * One other issue in Flash 10 is that you need a button / an ID where 
> the flash movie will be loaded in (a placeholder HTML element), and it 
> needs to be clicked. That's why the selectFiles dialog cannot be opened 
> right away but has to be activated with that button on the bottom of the 
> window.
> * Currently in trunk, IE throws so many errors I couldn't test the 
> uploader in IE.
> * I've included the SWFupload v2.2 beta 5, will upgrade as soon as the 
> final version will arrive
> 
> Open Issues / Next Steps:
> * Security: Currently the Flash Uploader excludes some basic security 
> checks (see the remark above), maybe the security team can tell if it is 
> a risk or not
> * Browser: IE Bugfixing & Testing
> * Compatibility: Degrade to default upload if no flash is installed, 
> even if option is selected
> * Localization: In the 4.3 alpha phase, I want to add localization to 
> the extJS component, right now it's just english (but I don't think this 
> shouldn't be a problem for now)
> * AJAX: Move the file upload actions out of tce-file.php and create an 
> AJAX class for that (which basically does the same). We currently have 
> some trouble with Umlaut filenames, which is connected to the Flash / 
> UTF8-JS request in the page.
> * More use-cases: Use it in different locations as well (planned for 
> 4.3), which would be in the clickmenu of the foldertree and the 
> integration of "select"-type in the TCA, and then the DAM (will be 
> separate of course)
> * Documentation: Add a section to the doc_core_api to help people how 
> they can integrate it in their application
> 
> 
> This feature is sponsored by AOE Media! Thanks!
> 
> 
> Once I had a look at the IE issues, did some more testing and have 
> contacted the Security Team about reviewing the patch, I will send this 
> patch to the core list.
> 
> All the best,
> Benni.
> 


More information about the TYPO3-project-4-3 mailing list