[EXTDAM-63] [S3] Allow users to make an asset public/private (publication/activation) Created: 11/Feb/20 Updated: 19/Jan/21 Resolved: 11/Jan/21 |
|
| Status: | Closed |
| Project: | External DAMs |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 1.0.4 |
| Type: | Story | Priority: | Neutral |
| Reporter: | Ilgun Ilgun | Assignee: | Evzen Fochr |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||
| 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)
|
||||||||||||
| Release notes required: |
Yes
|
||||||||||||
| Documentation update required: |
Yes
|
||||||||||||
| Date of First Response: | |||||||||||||
| Epic Link: | DAM Phase 2 | ||||||||||||
| Sprint: | Add-Ons 53, Add-Ons 54, Add-Ons 55 | ||||||||||||
| Story Points: | 8 | ||||||||||||
| Description |
|
Currently, we can have an asset private or public in the external system, however, there is no way of publication/activation of this assets in Mgnl. We need to let our users see whether the asset is private or public (like other apps with green vs red icon) and provide a way of handling those assets AC
Dev notes. Implementation like Publication Workflow |
| Comments |
| Comment by Rabie Hayoun [ 23/Dec/20 ] |
|
after merging, I am getting bellow exception: 2020-12-23 08:36:12,915 ERROR gnolia.external.dam.s3.service.AmazonS3GatewayImpl: ACL change failed.2020-12-23 08:36:12,915 ERROR gnolia.external.dam.s3.service.AmazonS3GatewayImpl: ACL change failed.software.amazon.awssdk.services.s3.model.NoSuchKeyException: The specified key does not exist. (Service: S3, Status Code: 404, Request ID: 88DC6F10330901A0, Extended Request ID: fYUdjXfRNaaOenflJ26dRVy2+QRvFs0+TlXHfiAr4zkmYLrplQaNRHL/xP/Jko4ocZekv9uyYOE=) at software.amazon.awssdk.protocols.xml.internal.unmarshall.AwsXmlPredicatedResponseHandler.handleErrorResponse(AwsXmlPredicatedResponseHandler.java:156) ~[aws-xml-protocol-2.13.41.jar:?] at software.amazon.awssdk.protocols.xml.internal.unmarshall.AwsXmlPredicatedResponseHandler.handleResponse(AwsXmlPredicatedResponseHandler.java:106) ~[aws-xml-protocol-2.13.41.jar:?] at software.amazon.awssdk.protocols.xml.internal.unmarshall.AwsXmlPredicatedResponseHandler.handle(AwsXmlPredicatedResponseHandler.java:84) ~[aws-xml-protocol-2.13.41.jar:?] at software.amazon.awssdk.protocols.xml.internal.unmarshall.AwsXmlPredicatedResponseHandler.handle(AwsXmlPredicatedResponseHandler.java:42) ~[aws-xml-protocol-2.13.41.jar:?] at software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler$Crc32ValidationResponseHandler.handle(AwsSyncClientHandler.java:94) ~[aws-core-2.13.41.jar:?] at software.amazon.awssdk.core.internal.handler.BaseClientHandler.lambda$successTransformationResponseHandler$4(BaseClientHandler.java:214) ~[sdk-core-2.13.41.jar:?] at software.amazon.awssdk.core.internal.http.pipeline.stages.HandleResponseStage.execute(HandleResponseStage.java:40) ~[sdk-core-2.13.41.jar:?] at software.amazon.awssdk.core.internal.http.pipeline.stages.HandleResponseStage.execute(HandleResponseStage.java:30) ~[sdk-core-2.13.41.jar:?] at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206) ~[sdk-core-2.13.41.jar:?] at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptTimeoutTrackingStage.execute(ApiCallAttemptTimeoutTrackingStage.java:73) ~[sdk-core-2.13.41.jar:?] at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptTimeoutTrackingStage.execute(ApiCallAttemptTimeoutTrackingStage.java:42) ~[sdk-core-2.13.41.jar:?] at software.amazon.awssdk.core.internal.http.pipeline.stages.TimeoutExceptionHandlingStage.execute(TimeoutExceptionHandlingStage.java:77) ~[sdk-core-2.13.41.jar:?] at software.amazon.awssdk.core.internal.http.pipeline.stages.TimeoutExceptionHandlingStage.execute(TimeoutExceptionHandlingStage.java:39) ~[sdk-core-2.13.41.jar:?] at software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableStage.execute(RetryableStage.java:64) ~[sdk-core-2.13.41.jar:?] at software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableStage.execute(RetryableStage.java:34) ~[sdk-core-2.13.41.jar:?] at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206) ~[sdk-core-2.13.41.jar:?] at software.amazon.awssdk.core.internal.http.StreamManagingStage.execute(StreamManagingStage.java:56) ~[sdk-core-2.13.41.jar:?] at software.amazon.awssdk.core.internal.http.StreamManagingStage.execute(StreamManagingStage.java:36) ~[sdk-core-2.13.41.jar:?] at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.executeWithTimer(ApiCallTimeoutTrackingStage.java:80) ~[sdk-core-2.13.41.jar:?] at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.execute(ApiCallTimeoutTrackingStage.java:60) ~[sdk-core-2.13.41.jar:?] at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.execute(ApiCallTimeoutTrackingStage.java:42) ~[sdk-core-2.13.41.jar:?] at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206) ~[sdk-core-2.13.41.jar:?] at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206) ~[sdk-core-2.13.41.jar:?] at software.amazon.awssdk.core.internal.http.pipeline.stages.ExecutionFailureExceptionReportingStage.execute(ExecutionFailureExceptionReportingStage.java:37) ~[sdk-core-2.13.41.jar:?] at software.amazon.awssdk.core.internal.http.pipeline.stages.ExecutionFailureExceptionReportingStage.execute(ExecutionFailureExceptionReportingStage.java:26) ~[sdk-core-2.13.41.jar:?] at software.amazon.awssdk.core.internal.http.AmazonSyncHttpClient$RequestExecutionBuilderImpl.execute(AmazonSyncHttpClient.java:189) ~[sdk-core-2.13.41.jar:?] at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.invoke(BaseSyncClientHandler.java:121) ~[sdk-core-2.13.41.jar:?] at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.doExecute(BaseSyncClientHandler.java:147) ~[sdk-core-2.13.41.jar:?] at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.execute(BaseSyncClientHandler.java:101) ~[sdk-core-2.13.41.jar:?] at software.amazon.awssdk.core.client.handler.SdkSyncClientHandler.execute(SdkSyncClientHandler.java:45) ~[sdk-core-2.13.41.jar:?] at software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler.execute(AwsSyncClientHandler.java:55) ~[aws-core-2.13.41.jar:?] at software.amazon.awssdk.services.s3.DefaultS3Client.putObjectAcl(DefaultS3Client.java:7384) ~[s3-2.13.41.jar:?] at info.magnolia.external.dam.s3.service.AmazonS3GatewayImpl.putAclForObject(AmazonS3GatewayImpl.java:316) ~[magnolia-external-dam-s3-1.0.4-SNAPSHOT.jar:?] at info.magnolia.external.dam.s3.service.AmazonS3GatewayImpl$$EnhancerByGuice$$89fab7ac.CGLIB$putAclForObject$14(<generated>) ~[magnolia-external-dam-s3-1.0.4-SNAPSHOT.jar:?] at info.magnolia.external.dam.s3.service.AmazonS3GatewayImpl$$EnhancerByGuice$$89fab7ac$$FastClassByGuice$$91838cd9.invoke(<generated>) ~[magnolia-external-dam-s3-1.0.4-SNAPSHOT.jar:?] at com.google.inject.internal.cglib.proxy.$MethodProxy.invokeSuper(MethodProxy.java:228) ~[guice-4.2.2.jar:?] at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:76) ~[guice-4.2.2.jar:?] at info.magnolia.addon.commons.cache.interceptor.CachingInterceptor.invoke(CachingInterceptor.java:49) ~[magnolia-addon-commons-cache-1.0.jar:?] at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:78) ~[guice-4.2.2.jar:?] at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:54) ~[guice-4.2.2.jar:?] at info.magnolia.external.dam.s3.service.AmazonS3GatewayImpl$$EnhancerByGuice$$89fab7ac.putAclForObject(<generated>) ~[magnolia-external-dam-s3-1.0.4-SNAPSHOT.jar:?] at info.magnolia.external.dam.s3.service.DataProviderS3GatewayWrapper.putAclForObject(DataProviderS3GatewayWrapper.java:187) ~[magnolia-external-dam-s3-1.0.4-SNAPSHOT.jar:?] at info.magnolia.external.dam.s3.datasource.S3AssetProvider.setPublic(S3AssetProvider.java:216) ~[magnolia-external-dam-s3-1.0.4-SNAPSHOT.jar:?] at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_261] at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_261] at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) ~[?:1.8.0_261] at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1384) ~[?:1.8.0_261] at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) ~[?:1.8.0_261] at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) ~[?:1.8.0_261] at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) ~[?:1.8.0_261] at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_261] at java.util.stream.ReferencePipeline.reduce(ReferencePipeline.java:479) ~[?:1.8.0_261] at info.magnolia.external.dam.s3.app.action.PublishS3AssetAction.executeAsync(PublishS3AssetAction.java:52) ~[magnolia-external-dam-s3-1.0.4-SNAPSHOT.jar:?] at info.magnolia.external.dam.app.action.AsynchronousAction.lambda$execute$0(AsynchronousAction.java:68) ~[magnolia-external-dam-1.0.4-SNAPSHOT.jar:?] at java.util.concurrent.CompletableFuture$AsyncSupply.run$$$capture(CompletableFuture.java:1604) [?:1.8.0_261] at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java) [?:1.8.0_261] at java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1596) [?:1.8.0_261] at java.util.concurrent.ForkJoinTask.doExec$$$capture(ForkJoinTask.java:289) [?:1.8.0_261] at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java) [?:1.8.0_261] at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) [?:1.8.0_261] at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) [?:1.8.0_261] at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:172) [?:1.8.0_261] |
| Comment by Rabie Hayoun [ 23/Dec/20 ] |
|
I also missed one of the requirement(my bad), I don't see an action for unpublishing, S3 allows that. |