| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- 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)
-
- - returns:
- media_id
- permalink (or shortcode) to download file
-
- 2. Allows to edit folowing media properties by media_id 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 media_id 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:
- media_id
- 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
-
|