Storage API (Changes Log)

1 Febuary 2021
Updated documentation for GetItemInfo and SetItemInfo API in response to new changes. In the returned ucar info, GetItemInfo will now NOT show user groups that the user do not belong to. GetItemInfo previously return a ucar set that includes all groups in the user's host/domain and SetItemInfo similarly also requires the same whole set to be submitted back to effect a change. Now SetItemInfo is aware of the new changes in GetItemInfo and it also allow part ucar set to be submitted to just change that part of ucar settings only.

24 January 2021
Updated documentation for Zipped Download to list the current limitations.  The API now ignores user's file creation and file writing privileges for the temporary creation of a ZIP file. Previously this check prevented users who are not given file creation / writing permission to be blocked.

18 March 2019
Extended DropBox Listing API to return pickup_url and passphrase. This is to match what is returned by DropTo API.

15 March 2019
Extended DropTo API to take two new parameters, namely, do_not_notify and passphrase. do_not_notify will disable the sending of email to the recipient, and passphrase will accept an optional phrase that will be requested from the recipient for matching before access to the drop item will be granted. Updated documentation accordingly.

17 December 2018
Extended Search API to also generate optional JSON output. Updated documentation accordingly.

26 July 2016
Changes to returned value from GetDir and GetItemInfo.
Previously the size returned for a folder item is always zero, which is not useful. Now the size returned for a folder item is the total size of all files and subfolders within that folder. The total size includes small amounts of hidden system resources which is also included in the total storage space used up. So, the value will be a positive integer (possible but unlikely to be zero) indicating the storage space occupied by the folder content. This value is suitable to be shown in directory listings next to folder names, just like file sizes are shown next to file names. HOWEVER, while rarely, please note that this value can be -1 or "blank" if the folder has never been sized up by the backend sytem yet. When this happens show a blank or indicate that folder size is not available at the moment.

26 July 2016
Added new API  zip_download.cgi (Zipped Download) for downloading a set of files or folder as a zipped file.

01 Sep 2015
Added new option to get_file.cgi (Get File) to suppress the first line "true NNN" in the returned file content in successful cases.

20 June 2015
Extended all published APIs (except search.cgi) to generate optional JSON output for those that did not do so before.
Also extended them to return appropriate HTTP status code to reflect the success or failure of the call.
Editing the published documentation to reflect these changes.

8 June 2015
New APIs introduced to list and manage the shared folder  (share_list.cgi and share_manage.cgi).

30 July 2014
Bug fix to DiskUsage API so that it will return gracefully for certain exceptional input cases.
Its documentation is also updated for greater clarity.

20 June 2014
Bug fix to AntiVirus Scan API where incorrect path to infected file was returned.

17 January 2014
Extended AntiVirus Scan API to produce equivalent output in JSON format.
Added two new APIs for Encrypt and Decrypt.

9 January 2014
Two new APIs introduced, DropItem Accept and DropItem Reject, to facilitate the acceptance and rejection of dropfiles.
Document the AntiVirus Scan API, which was created much earlier but was not published then.

29 December 2013

DroptTo (dropto.cgi)
Extended to accept new input parameters item_list_json and email_list_json to complement item_list and email_list.
As the name imply, item_list_json and email_list_json accepts list input in the form of a JSON object.

23 December 2013

Dropbox Listing (dbox_list.cgi)
Bugfix for the case of requesting for from_user list and database handle getting disconnected prematurely.
Also revise documentation for this API to include sortby and sorthow parameters, additional examples, and improve clarity.

GetDir's documentation added for fields=lock_owner. This was left out earlier.

06 December 2013

GetItemInfo extended return UCAR settings of item (where available) in the form of a JSON object. Also extended to return entire API response as a JSON object.
Added input parameter "ofmt" to control the API response format, JSON or legacy format.
Added documentation on the input parameter "lock_owner" which was left out previously.
Corrected the returned value of "lock" to match legacy expectations.

SetItemInfo extended to accept new UCAR settings of item (where applicable) thus allowing the changing of a set of UCAR setting of the item.

Delete can now delete multiple items in one call. The multiple items to delete are specified in multiple "path" input parameters.

PutFile now returns the autorenamed name in the case when it happens.

DiskUsage & DiskQuota  documentation has be revised for better clarity.

GetDir  inherited the changes for GetItemInfo and therefore, lock and lock_owner properties works as in GetItemInfo.
(The returned ucar property will be extended later to be the same as in GetItemInfo when the API output support JSON. Stay tuned.)

23 September 2013
Updated documentation for PutFile with respect to autorename

31 August 2012
Modified API tn.cgi. Allowed to cache into different set of thumbnails using the new -s option.
The -c option is redefined and extended.
Some optimization with hope for improved performance.

21 August 2012
Added a new API tn.cgi, specifically for thumbnail generation.

16 August 2012
Added a new parameter "cl" for the get_file.cgi API.

7 August 2012
Added new API  Image Convert.

14 June 2012
Bug fix to DropTo. The returned "error_items" parameter was incorrectly formed.
Input parameter "language" possible values changed for ease of understanding.
UTF8 encoding is expected for input parameters and output parameters where they can possible occur, e.g. filenames, msg_subject, addmsg in Chinese.

14 May 2012
Added new API Dropbox Listing. This API returns the list of items dropped to the authenticated user.
It can also list the items dropped by the authenticated user.

9 May 2012
Added new APIs Recent Emails and DropTo. Also first time trying out returning JSON formatted output.

3 May 2012
Amended documentation for API DiskUsage & DiskQuota because the API functionally had to be change for backward compatibility reasons.

2 May 2012
Added documentation for API DiskUsage & DiskQuota

17 Apr 2012
Amend the script path to be relative to /storage/bin/api
Max filename should be 255 characters.

24 Mar 2004 (v 0.60)
Extended SetItemInfo and GetItemInfo to support getting and setting date, dategmt, mtime.
Extended GetDir to work for root paths and toplevel folder paths.
Updated the API descriptions.

05 Jan 2003 (v 0.55)
Added new API, Search (search.cgi) to find for files or folders whose name matches a certain pattern or whose description matches a certain pattern.

12 May 2001 (v 0.54)
Extended PutFile (put_file.cgi) to handle the data parameter to be submitted as in "file upload" style. This means the data is in a multipart/form-data section and POSTed to put_file.cgi. The section is similar to that generated by a client (browser) submitting a <INPUT TYPE="file"> field. (See the PutFile API description for details.)

26 Apr 2001 (v 0.53)
Added new API, DropItemCount (drop_item_count.cgi) to get the number of drop items and number of newly dropped items in a user's dropbox.

22 Apr 2001 (v 0.52)
Extended "fields" parameter of GetItemInfo (get_item_info) to accept "checksum", which cause it to return the MD5 checksum of the item, if it is a file. If the item is NOT a file, the API will just return null value in place of where a file checksum will appear without aborting the call. This is in contrast with GetChecksum (get_checksum.cgi) that will abort if the item is not a file. The "fields" parameter for GetDir (get_dir.cgi) is similarly extended.

22 Mar 2001 (v 0.51)
Extended "filter" parameter of GetDir (get_dir) to accept multiple patterns to filter filename listing. e.g. *.jpeg,*.jpg

28 Feb 2001 ( v0.50)
First beta release.