Home    >    Case Studies    >    Ajax File System Manager Control

Case Study: Ajax File System Manager Control

Abstract

An Italy based client engaged Nova to develop an asp.net control, and enhance user experience of his sociality website taking advantage of some special technologies such as Ajax, Fancy uploader, etc. Nova also succeeded in solving all the conflicts arising from combined use of several technologies, such as the conflict between Fancy uploader and JavaScript framework, and eventually submitted the delivery on time.

Situation

In the requirement, the client asked us to develop an ASP.NET control for uploading. The control should support Ajax, be compatible with Prototype and use flash control such as Fancy uploader to upload files. At the same time, the upload control should have some basic functions for document management.

To achieve the requirement, we had to consider the following problems:

  • Which control should we choose to implement the document management function?
  • How to combine fancy uploader and DHTML drag-drop tree?
  • How to solve the conflict between fancy uploader and JavaScript frameworks?
  • How to implement one-click to download multiple files at the same time and control the speed of downloading files?

Solution

Technology Required

  • Ajax
  • Asp.Net
  • XML/XSLT
  • Prototype
  • Modalbox
  • Fancy uploader

After analyzing the resource code, we solved the difficulties one by one.

  • The function to implement document management is strict with the data output and interface program. After analyzing the requirement and comparing several controls, we decided to use the JavaScript control DHTML drag-drop tree to implement document management tree.
  • To combine fancy uploader and DHTML drag-drop tree, We used right-click menu to implement the process and used ModalBox for the pop-up menu.
  • The conflict was inevitable because mootools technology was used in the control fancy controls and the client's website had made use of prototype frameworks. To solve the problem in limited time frame, we decided to set down certain rules to rename the control- drag-drop tree and corresponding mootools program.
  • Because of the limitation of the browser, it was not supported to download multiple files after clicking once. After discussing with the clients, we implemented like this, after selecting multi-files, the server would compress the files together automatically and download the files in one-time.

To control the speed of downloading files, we developed a special class to deal with download file streams. According the speed limitation, after downloading for a while, the thread would have a rest and then download again.