instructions.txt 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. 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)
  2. Plugin will have following features:
  3. 1. Allows to upload media file (one huge) via REST API with folowing properties (use upload with chuncks):
  4. original-file-name - Original file name (string)
  5. description - File description (string)
  6. message - Custom message (string)
  7. active-from - Datetime from permalink will be active (datetime)
  8. active-to - Datetime to permalink will be active (datetime) (datetime)
  9. password - password for download file (string)
  10. reference - Custom reference value (string)
  11. - unique fileid will be generated
  12. - file will be saved inside repository as fileid
  13. - returns:
  14. fileid (string) - auto generated alphanumeric unique hash
  15. permalink (or shortcode) to download file
  16. 2. Allows to edit folowing media properties by fileid via REST API:
  17. message - Custom message (string)
  18. active-from - Datetime from permalink will be active (datetime)
  19. active-to - Datetime to permalink will be active (datetime) (datetime)
  20. reference - Custom reference value (string)
  21. 3. Allows to delete media by fileid via REST API
  22. 4. Allows to get media following properties via REST API:
  23. original-file-name - Original file name (string)
  24. description - File description (string)
  25. message - Custom message (string)
  26. active-from - Datetime from permalink will be active (datetime)
  27. active-to - Datetime to permalink will be active (datetime) (datetime)
  28. reference - Custom reference value (string)
  29. 5. Allows to get media collection following properties via wordpress query:
  30. original-file-name - Original file name (string)
  31. description - File description (string)
  32. message - Custom message (string)
  33. active-from - Datetime from permalink will be active (datetime)
  34. active-to - Datetime to permalink will be active (datetime) (datetime)
  35. reference - Custom reference value (string)
  36. 6. Allows to download media file via provided permalink and download page where must be put by user following values:
  37. password
  38. reference
  39. - count medial downloads, stores last dowload (last-download) as datetime
  40. 5. Creates Cron job (one per hour) to scan for expired (active-to) media (media record and content files) and deletes them
  41. 6. Creates in menu Media | Shared Storage page with grid that will have following columns:
  42. fileid
  43. original-file-name - Original file name (string)
  44. description - File description (string)
  45. message - Custom message (string)
  46. active-from - Datetime from permalink will be active (datetime)
  47. active-to - Datetime to permalink will be active (datetime) (datetime)
  48. reference - Custom reference value (string)
  49. upload-date
  50. download-count
  51. latedt-downlaod
  52. - allows to edit properties
  53. - allows search/filter by original-file-name, reference
  54. - allows to sort by all columns
  55. - allows paging support
  56. 7. Creates in menu Settings | Shared Storage that shows following settings:
  57. API key to use with REST client
  58. Specification of Media Category to be assigned during media upload
  59. Maximal upload total size - size of all media stored under category defined in field above - if limit reach upload will not be possible
  60. Button to Save Settings
  61. Button to Purge expired Media (Same as in cron job)
  62. 8. All text will be translatable