[EXTDAM-326] S3 Provider Asset Reference Resolver not returning accurate metadata Created: 01/Dec/21  Updated: 06/Jun/23

Status: Open
Project: External DAMs
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Normal
Reporter: Leah Staniorski Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File assests app.png     PNG File endpoint.png     PNG File jcr.png    
Issue Links:
Relates
relates to EXTDAM-331 In S3, fix the delivery endpoint remo... Closed
dependency
relation
is related to EXTDAM-182 Support S3 metadata using 'S3 Tags' Open
is related to EXTDAM-237 S3: Option to store width & height in... Closed
Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Date of First Response:
Epic Link: AuthorX Support
Team: AuthorX

 Description   

Steps to reproduce

  1.  Create a link to an S3 asset within content (see attached image jcr) (this requires using the s3 external dam connector)
  2.  Try to retrieve this content via a delivery endpoint (see attached image endpoint) with this s3 link resolved and metadata included

Expected results

1. The @link node has the s3 URL with a datetimestamp appended to it. The timestamp is equal to date-modified
2. Under "metadata"

  • "fileSize": shows proper filesize
  • "height": shows proper height
  • "width": shows proper width
  • "date": Time.now
  • "created": date created
  • "modified": date modified

Actual results

1. The @link node has the s3 URL with a datetimestamp appended to it. The timestamp is equal to time.now
2. Under "metadata"

  • "fileSize": shows 0
  • "height": shows 0
  • "width": shows 0
  • "date": Time.now "2021-11-04T20:07:17.809Z",
  • "created": Time.now "2021-11-04T20:07:17.809Z",
  • "modified": Time.now "2021-11-04T20:07:17.809Z"

Example:

"albumImage": {
"@name": "LCWorship_Gloria_AlbumImage.jpg",
"@path": "magnolia-cms-live/Media/Worship/gloria/LCWorship_Gloria_AlbumImage.jpg",
"@id": "s3:magnolia-cms-live/Media/Worship/gloria/LCWorship_Gloria_AlbumImage.jpg",
"@link": "https://magnolia-cms-live.s3.amazonaws.com/Media/Worship/gloria/LCWorship_Gloria_AlbumImage.jpg?1636056437809",
"metadata":

{ "fileName": "LCWorship_Gloria_AlbumImage.jpg", "mimeType": "image/jpeg", "fileSize": "0", "height": "0", "width": "0", "format": "image/jpeg", "source": "magnolia-cms-live/Media/Worship/gloria/LCWorship_Gloria_AlbumImage.jpg", "date": "2021-11-04T20:07:17.809Z", "created": "2021-11-04T20:07:17.809Z", "modified": "2021-11-04T20:07:17.809Z" }

}

Workaround

None that I could find.

Development notes

Ideally, the customer will be able to configure whether or not they want to retrieve this metadata with each asset reference.

The use case for this is two-fold
1. a proper cache buster for the image but updating the proper the date-time stamp on the URL (ie ".jpg?1636056437809")
2. Utilizing the width and height values to best represent the image in HTML.

 

One additional note is that the metadata is present on the S3 assets within the Assets app. See attached image assets app. This seems to be resolved here:

https://git.magnolia-cms.com/projects/ADDON/repos/external-dams/browse/magnolia-external-dam-s3/src/main/java/info/magnolia/external/dam/s3/datasource/AbstractS3Item.java

 


Generated at Mon Feb 12 01:54:06 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.