Write WordPress plugin called "qdr-temporary-shared-storage" in PHP, that extends WordPress functionality for REST API interface to upload temporary media files and provide permalink to download to anybody who has permalink (via password protected download page) Plugin will have following features: 1. Allows to upload media file (one huge) via REST API with folowing properties (use upload with chuncks): original-file-name - Original file name (string) description - File description (string) message - Custom message (string) active-from - Datetime from permalink will be active (datetime) active-to - Datetime to permalink will be active (datetime) (datetime) password - password for download file (string) reference - Custom reference value (string) - unique fileid will be generated - file will be saved inside repository as fileid - returns: fileid (string) - auto generated alphanumeric unique hash permalink (or shortcode) to download file 2. Allows to edit folowing media properties by fileid via REST API: message - Custom message (string) active-from - Datetime from permalink will be active (datetime) active-to - Datetime to permalink will be active (datetime) (datetime) reference - Custom reference value (string) 3. Allows to delete media by fileid via REST API 4. Allows to get media following properties via REST API: original-file-name - Original file name (string) description - File description (string) message - Custom message (string) active-from - Datetime from permalink will be active (datetime) active-to - Datetime to permalink will be active (datetime) (datetime) reference - Custom reference value (string) 5. Allows to get media collection following properties via wordpress query: original-file-name - Original file name (string) description - File description (string) message - Custom message (string) active-from - Datetime from permalink will be active (datetime) active-to - Datetime to permalink will be active (datetime) (datetime) reference - Custom reference value (string) 6. Allows to download media file via provided permalink and download page where must be put by user following values: password reference - count medial downloads, stores last dowload (last-download) as datetime 5. Creates Cron job (one per hour) to scan for expired (active-to) media (media record and content files) and deletes them 6. Creates in menu Media | Shared Storage page with grid that will have following columns: fileid original-file-name - Original file name (string) description - File description (string) message - Custom message (string) active-from - Datetime from permalink will be active (datetime) active-to - Datetime to permalink will be active (datetime) (datetime) reference - Custom reference value (string) upload-date download-count latedt-downlaod - allows to edit properties - allows search/filter by original-file-name, reference - allows to sort by all columns - allows paging support 7. Creates in menu Settings | Shared Storage that shows following settings: API key to use with REST client Specification of Media Category to be assigned during media upload Maximal upload total size - size of all media stored under category defined in field above - if limit reach upload will not be possible Button to Save Settings Button to Purge expired Media (Same as in cron job) 8. All text will be translatable