Portal has two implementations of an HTML5 Uploader that share a significant codebase. Abstracting them will improve readability, increase maintainability, and simplify debugging. It also gives us a chance to apply Webkit's powerful Folder uploading without writing spaghetti code to make it work in both places.
Liferay Upload is used in a few places:
- Document Library - Upload Multiple File Entries
- Layouts Admin - Import Layouts Validation
- Portlet Configuration - Import Portlet Validation
- Wiki - Edit Page Attachment
It has a completly different UI than DocumentLibraryUpload
, but behind the scenes they do share similarities in structure, data validation.
This one is powerful, but quiet. Our goal was to provide a quicker way for users to add files from their computer. Adding one file at a time can be quite tedious, and in order to achieve the goal more quickly, a user can select as many items as they would wish from their file system, and drag them into the DM portlet without having to upload each item individually. The user can use the portlet entries container as an upload target which will upload the items to current root folder.
The user can also drop items onto a folder entry (if one is visible) and the files selected will upload to that child folder instead of the relative root folder. After the user drags and drops files (and soon folders) into the DM portlet, they can watch new entries appear in the entries container as the upload makes progress.
`DocumentLibraryUpload` is only used by the Document Library Portlet. The feature not very apparent to the user. As they drag in some files from their desktop, a blue-ish outline appears on the portlet entries container. The user would have had to guess that this feature may exist, they may have been told the feature exists by a college. Now is the time to make this powerful feature more obvious. One option is to provide an alert like the empty message.
- UploadBase
- UploadDataQueue
- UploadDataValidation
- UploadLifecycle
- UploadLocation
- DocumentLibraryUpload
- DocumentLibraryUploadEntry
- DocumentLibraryUploadEntryStatus
- DocumentLibraryUploadEntryStatusOverlay
- DocumentLibraryUploadEntryStatusProgress
- DocumentLibraryUpload
- LiferayUpload