We have fixed some issues and improved some existing features:
- Fixed: The JavaScript error below which occured only on IE 8 (it didn't occur in IE 8 compatibility mode of IE 9):
"HTML Parsing Error: Unable to modify the parent container element before the child element is closed (KB927917)"
Suggested workaround (adding a div element before the control) will not be necessary after this fix so it should be removed.
- Fixed: When ID property of <GleamTech:FileManager> tag was missing, the control was not loaded/displayed. After this fix, even the ID property is missing,
an ID will be auto-generated like "fileManager", "fileManager2", "fileManager3" etc depending on the number of FileManager controls on the host page.
- Fixed: Incomplete/corrupted downloads problem in zip streaming feature (first introduced in v3.0.0) which occured when downloading large files due to a timeout issue.
The problem did not occur with single file downloads. Note that zip streaming is active only when multiple items are downloaded or "Download As Zip" action is used explicitly.
Previously suggested web.config workaround (executionTimeout setting) will not be necessary after this fix so it should be removed.
- Fixed: Streamed zips (even small ones) could not be opened/unzipped with Archive Utility on Mac, the zip file structure is fixed to be compatible with this utility.
Note that when the size is larger than 4GB, zip file must be generated in zip64 format instead of the regular format.
Some older unzippers like Windows XP Explorer and Mac Archive Utility (maybe not newer versions) do not support zip64 format so you may need to use
a more recent unzipper (Mac Unarchiver, Winzip, Winrar etc.) for files larger than 4GB on these systems.
- Improved: Zip files will be generated with no compression (files are stored) during zip streaming so that CPU usage is minimized.
There are two additional advantages due to this improvement other than server performance.
First advantage is, we can simulate the zip generation and determine the zip file size exactly (and fast) before streaming.
This was not possible previously so the browser showed indeterminate progress information (chunked transfer encoding) during download due to lack of knowing the final file size.
So now the browser will show the exact zip file size on its "Open/Save As" dialog immediately after user clicks "Download As Zip" and
it will show a determinate progress information on "Downloading" dialog. In short, zip streaming will behave exactly like single file downloads.
Second advantage is, the users will be able to extract the received zip file very fast as there is no compression. This would be helpful when downloading large files and folders.
Users who want to actually compress files should use "Add To Zip" action instead of "Download As Zip" and then download the generated zip file.
- Fixed: Some unnecessary Failed events were being raised when the download was interrupted mostly due to user cancelling the download.
- Improved: On Upload dialog, Ajax and Flash menu items will be disabled on the main context menu's submenu "Upload Method" when these methods are not available to prevent confusion for the user.
Flash menu item will be disabled when Adobe Flash Player is not found or enabled in the browser. Also "Add" button will be enabled only when Flash object is loaded completely to prevent user clicking
the button too early. Ajax menu item will be disabled when the application is running on ASP.NET medium trust which does not allow Ajax upload method. Note that these upload methods were already disabled
and degraded to the next best method when not available. This improvement is only for UI to report the available upload methods to the user correctly.
- Improved: Moved and organized all FileUltimate related Web.config settings to a separate file "FileUltimate/Web.config" for easier deployment and more security.
Only exception is the upload module setting which has to still exist in the application's root Web.config file due to ASP.NET's handling of http modules.
FileUltimate settings like handler urls and max upload size will be determined dynamically via parsing "FileUltimate/Web.config" file. For security reasons,
maxAllowedContentLength and maxRequestLength settings will be increased to 2GB only for the upload handler. The default IIS and ASP.NET limits is
sufficient for other handlers so keeping them at default values will protect against DoS attacks.
- Changed: Renamed resource folder under App_GlobalResources from FileUltimate to FileUltimateResourceStore.
- Fixed: The below error that may occur when trying to download a file which was opened in some rare applications which locks the file in write-only mode:
"The process cannot access the file ‘file name’ because it is being used by another process"
- Fixed: All CSS files are minified like JavaScript files now.
----------------------------------------------------------------------------------------------------------------------------------
Instructions for upgrading your project to use FileUltimate v3.1:
- Please download the new version package:
FileUltimate v3.1- If you were using resource overriding feature, rename the resource folder under App_GlobalResources of your project from FileUltimate to FileUltimateResourceStore.
- Remove references to the old version of GleamTech.FileUltimate.dll from your project. Remove all FileUltimate related settings from your project's Web.config file because settings are changed for this version. You can refer to readme.txt file of the old version package to determine which settings to remove from Web.config file. If you applied the 2 workarounds for v3.0.8 mentioned in the above release notes (adding a div element before the control fix and executionTimeout fix), please remove them.
- After you have a cleaned your project from the old version, please follow the new instructions in readme.txt file of the FileUltimate v3.1 package.
- You should be able to compile your existing project without problems as there are no breaking changes in this version.