Hotfix release available: 2025-05-14b "Librarian". upgrade now! [56.2] (what's this?)
Hotfix release available: 2025-05-14a "Librarian". upgrade now! [56.1] (what's this?)
New release available: 2025-05-14 "Librarian". upgrade now! [56] (what's this?)
Hotfix release available: 2024-02-06b "Kaos". upgrade now! [55.2] (what's this?)
Hotfix release available: 2024-02-06a "Kaos". upgrade now! [55.1] (what's this?)
New release available: 2024-02-06 "Kaos". upgrade now! [55] (what's this?)
Hotfix release available: 2023-04-04b "Jack Jackrum". upgrade now! [54.2] (what's this?)
Hotfix release available: 2023-04-04a "Jack Jackrum". upgrade now! [54.1] (what's this?)
New release available: 2023-04-04 "Jack Jackrum". upgrade now! [54] (what's this?)
Hotfix release available: 2022-07-31b "Igor". upgrade now! [53.1] (what's this?)
Hotfix release available: 2022-07-31a "Igor". upgrade now! [53] (what's this?)
New release available: 2022-07-31 "Igor". upgrade now! [52.2] (what's this?)
New release candidate 2 available: rc2022-06-26 "Igor". upgrade now! [52.1] (what's this?)
New release candidate available: 2022-06-26 "Igor". upgrade now! [52] (what's this?)
Hotfix release available: 2020-07-29a "Hogfather". upgrade now! [51.4] (what's this?)
New release available: 2020-07-29 "Hogfather". upgrade now! [51.3] (what's this?)
New release candidate 3 available: 2020-06-09 "Hogfather". upgrade now! [51.2] (what's this?)
New release candidate 2 available: 2020-06-01 "Hogfather". upgrade now! [51.1] (what's this?)
New release candidate available: 2020-06-01 "Hogfather". upgrade now! [51] (what's this?)
Hotfix release available: 2018-04-22c "Greebo". upgrade now! [50.3] (what's this?)
Hotfix release available: 2018-04-22b "Greebo". upgrade now! [50.2] (what's this?)
file_upload_progress_bar

File upload Progress Indicator

The file upload indicator is implemented using the Upload progress module for apache (https://github.com/drogus/apache-upload-progress-module).

Installation/Configuration steps.

1- Download the source code

  
   wget https://github.com/drogus/apache-upload-progress-module.git
  
  Alternate source: wget --no-check-certificate http://github.com/drogus/apache-upload-progress-module/tarball/master

2- Compile the source code and install the module in apache

  
   cd apache-upload-progress-module
   sudo apxs2 -c -i -a mod_upload_progress.c
  
  Please note that to compile the module, you will need threaded development library of apache2

3- Modify apache configuration

 In the VirtualHost configuration of the application add 
 
  <Location />
    # enable tracking uploads in /
    TrackUploads On
  </Location>
  <Location /progress>
    # enable upload progress reports in /progress
    ReportUploads On
  </Location>

4- Restart the apache server.

Implementation Details

In the file upload form action url, append X-ProgressID=<GUID> (make sure that this is the last key-value in the query string of the form action url) Once the file upload has started, fire Ajax request to /progress?X-Progress-ID=<GUID> to get the status of the upload. The status would be in a Json format. Ex

{ "state" : "uploading", "received" : 35587, "size" : 716595, "speed" : 35587, "started_at": 1296568823, "uuid" : "12345678" } 

state - indicates the current status of the upload. Once the upload is complete, the state would be 'done'

received - indicates the number of bytes received by the server.

size - total size of the file in bytes

started_at - upload start time. (Epoch format)

uuid - The GUID supplied as part of the query string key (X-Progress-ID)

Issues The UI of the file upload is built using the Javascript. So if a user opts to delete/cancel the upload, it wont be possible at present. We need to figure out a way to do this.

file_upload_progress_bar.txt · Last modified: 2018/08/31 16:16 (external edit)