Product Images in S3 #426

Closed
opened 2026-06-29 08:38:10 +00:00 by rob · 0 comments
Owner

Requirements

  • Existing image URLs must be maintained, even if deprecated by new URL structure.
  • New URL structure could support include customer-domain. ex: http[s]://rdmobile.estack.com/img/101222/some-image-file.jpg
    • There may be trade-offs here which we don't like. If necessary, it's acceptable to have URLs like: http[s]://img.estack.com/rdmobile/101222/some-image-file.jpg.
    • Keeping estack.com as the main domain while supporting https, means we need to proxy requests through our servers, or set up CloudFront with SSL.
  • Multi-file image upload functionality added to product images tab, as well as combo-edit screen.
  • Original image filenames (some-image-file.jpg) should be maintained when possible. If a file with the same name is re-uploaded, some variation should be created (some-image-file.[1,2,3,...].jpg).
  • The system should be be smart enough to recognize identical files (by comparing data in the files). If a dupe is uploaded, it should be ignored.
  • Upon successful upload/validation, the files are placed in an S3 bucket, with a path that encodes custId and SKU.
  • A migration script to transfer existing images from eStack infrastructure to S3 will be necessary.

Estimates

# Requirements * Existing image URLs *must* be maintained, even if deprecated by new URL structure. * New URL structure *could* support include customer-domain. ex: `http[s]://rdmobile.estack.com/img/101222/some-image-file.jpg` * There may be trade-offs here which we don't like. If necessary, it's acceptable to have URLs like: `http[s]://img.estack.com/rdmobile/101222/some-image-file.jpg`. * Keeping estack.com as the main domain while supporting https, means we need to proxy requests through our servers, or set up CloudFront with SSL. * Multi-file image upload functionality added to product images tab, as well as combo-edit screen. * Original image filenames (`some-image-file.jpg`) should be maintained when possible. If a file with the same name is re-uploaded, some variation should be created (`some-image-file.[1,2,3,...].jpg`). * The system *should* be be smart enough to recognize identical files (by comparing data in the files). If a dupe is uploaded, it should be ignored. * Upon successful upload/validation, the files are placed in an S3 bucket, with a path that encodes custId and SKU. * A migration script to transfer existing images from eStack infrastructure to S3 will be necessary. # Estimates *
rob added the Discussion label 2026-06-29 08:38:10 +00:00
rob closed this issue 2026-06-29 08:38:10 +00:00
Sign in to join this conversation.
No Label Discussion
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: rob/pms3#426