New way to handle multi-file downloads in RB Web
At the end of July 2015, we turned off the batch download feature in RB Web subscriptions due to issues with the Java plug-in needed to use it.
Programming multi-file downloads in RB Web has always been complicated due to the differences between the many browsers out there. Up to now, we were able to use NPAPI (Netscape Plugin Application Programming Interface), which is a cross-platform plug-in architecture, with the Java plug-in, to provide multi-file downloads in all browsers. However, browser developers have been removing support for this aging plug-in protocol. Reasons cited for not supporting NPAPI include security, speed, stability, and simplified code.
Currently, Edge, the new Windows 10 browser, won’t support NPAPI at all; and NPAPI is disabled in the Chrome browser by default. Google has announced that on September 30, 2015, they will permanently remove NPAPI support from Chrome. We think all browsers will soon stop supporting NPAPI — and by extension, multi-file downloads in RB Web.
Even before browser support started to diminish, some of our clients disabled our multi-file download feature because their clients don’t allow their staff to install anything from the web for security reasons.
We have experienced the obsolescence of a widely used technology for downloading files due to security issues before: EXE files were once commonplace until they became a favorite way for hackers to install viruses and malware on unsuspecting recipients’ computers. So while it would be possible to use executable files for multi-file downloads, we doubt that any clients will agree to download and install EXE files.
Starting last fall when we heard that Chrome would be depreciating its support of NPAPI, we researched solutions. Since it is not reasonable of us to expect people to only use browsers we specify for RB Web, we need a solution that is cross-browser. What we found was that there is no perfect solution for all browsers.
Without EXE files or a Java plug-in viable in the long term, and with other technologies, such as HTML5, lacking features required for multi-file downloads, we settled on zip files. This method works cross-platform and is a recognized method for transferring files securely.
Zipping files in RB Web doesn’t require installing a plug-in. When a user selects multiple files and clicks “Download checked files,” they will get a zip file that includes all of the selected files. The zipped file combines the files into one file for downloading, but doesn’t compress the files because compressing large files takes a lot of time.
Unfortunately, this new mechanism only works on the RB Web sites of RB8 Cloud customers. This is because in order to zip files, we must have access to those files and permission to write new files. With RB8 Cloud, repository files are in the cloud with your RB8, so RB Web Server can access them. Clients with other versions of RB, such as RB8 Subscribe, store repository files at their location or on other third-party sites. Our RB Web Server cannot access their repository storage to zip files.
If you are not on RB8 Cloud, we can offer two options for multi-file downloads:
- We can turn on batch download at your request. However, since this feature no longer works in all browsers, you might encounter more support issues with your clients. We suggest that you add a note on your RB Web log-in page telling your clients not to use Chrome or Microsoft’s new browser, Edge, if they want to batch download files.
- Since single-file downloads are unaffected because they do not use the Java plug-in, you could create your own zip files of related files and upload those to your repository.