DropzoneJSSkin
Recent versions of PatternSkin (2014-05-21 or newer) has the drag and drop feature of DrozoneJSSkin integrated. So there is not much use of this skin anymore.
This skin still exists mainly for people who cannot touch
PatternSkin but can install a new skin.
And understanding how the drag and drop feature works might be easier with this skin than
PatternSkin.
The DropzoneJSSkin adds a file drag and drop capability to an attach page of the
PatternSkin.
It's implemented using HTML5 features without using Flash.
So it determines whether the web browser is compatible of the drag and drop capability.
If it isn't, the capability is suppressed and the attach pgae works just like the pattern skin's attach page.
Screenshot
Features
As shown on the screenshot, if the skin is in effect, on an HTML5 capable browser, on an attachment handling page, you see a "Drop files or click" area in place of a button to open a file dialog box.
You can either drag and drop files (one or more) or click the area to see a file dialog box.
- File uploading starts when you click the "Upload file" button
- You can remove a file from the file list by clicing the "Remove file" button under the file's thumbnail image
- On a file dialog box opened when you click the area, you can select more than one files, which is not possible with the ordinary attach page
- It observes
%ATTACHFILESIZELIMIT%
(the maximum size of an attachment file in kilobytes). If a dropped or selected file is bigger than the limit, the underlining JavaScript code refuses to send it to the server. If it's 0, it means 1 terabytes, which is virtually unlimited since it would take about 15 min over a 10 Gbps connection to transfer that amount, which causes web browser timeout
- You can upload up to 10 files at a time. If you drop or select more than that, the 11th file onward are not uploaded
Browser support
- Chrome 7+
- Firefox 4+
- IE 10+
- Opera 12+ (Version 12 for Mac OS is disabled because their API is buggy)
- Safari 6+
For all the other brwowsers, this skin shows the same attach page as
PatternSkin.
Installation
Note: You do not need to install anything on the browser to use this skin. The following instructions are for the administrator who installs the skin on the server where TWiki is running.
How it's working
As the name of this skin suggests, this skin is using
DropzoneJS JavaScript library (MIT license).
When an attach page of this skin is loaded by the brower, DOM-wise, it's almost the same as an attach page of
PatternSkin.
Then, a piece of JavaScrip code is kicked through
$(document).ready{function() {...});
.
That code checks if the browser is capable of drag and drop.
If it is, the page is modified for drag and drop.
DropzoneJS is flexible enough to be configured to behave like
PatternSkin's attach page.
Needless to say, it should be easy to have an attachment drag and drop feature on a TWiki topic mimicking
attach.dropzonejs.tmpl
.
Skin Info
- Set SHORTDESCRIPTION = Skin with a file drag and drop capability on the attach page
2014-05-22: |
TWikibug:Item7501: DropzoneJSSkin and PatternSkin with DropzoneJSSkin integrated fail to update file with the manage attachment action |
2014-05-21: |
Documentation update concerning PatternSkin had drag and drop feature integrated |
2014-05-15: |
Documentation update, cope with ATTACHFILESIZELIMIT = 0 |
2014-05-09: |
Upgraded dropzone.js to version 3.9.0 |
2014-05-02: |
Upgraded dropzone.js; Skin documentation improvement |
2014-05-01: |
TWikibug:Item7488: Initial release |