Configuring Dynamic Media - Hybrid mode configuring-dynamic-media-hybrid-mode
Dynamic Media – Hybrid needs to be enabled and configured for use. Depending on your use case, Dynamic Media has several supported configurations.
Learn more about working with video in Dynamic Media.
If you use Adobe Experience Manager set up for different environments, such as one for development, one for staging, and one for live production, you need to configure Dynamic Media Cloud Services for each one of those environments.
If you are having issues with your Dynamic Media configuration, an important place to look are the log files specific to dynamic media. These are installed automatically when you enable dynamic media:
s7access.log
ImageServing.log
They are documented in Monitoring and maintaining your AEM instance.
Hybrid publishing and delivery is a core feature of the Dynamic Media addition to Adobe Experience Manager. Hybrid publishing lets you deliver Dynamic Media assets, such as images, sets and video, from the cloud instead of from the AEM publish nodes.
Other content, such as Dynamic Media viewers, Site pages, and static content will continue to be served from the AEM publish nodes.
If you are a customer of Dynamic Media, you are required to use hybrid delivery as the delivery mechanism for all Dynamic Media content.
Hybrid publishing architecture for videos hybrid-publishing-architecture-for-videos
Hybrid publishing architecture for images hybrid-publishing-architecture-for-images
Supported Dynamic Media configurations supported-dynamic-media-configurations
The configuration tasks that follow reference the following terms:
You may choose to implement Dynamic Media only for imaging, only for video, or for both imaging and video. To determine the steps for configuring Dynamic Media for your specific scenario, please reference the following table.
Enabling Dynamic Media enabling-dynamic-media
Dynamic media is disabled by default. To take advantage of Dynamic Media features, you need to enable dynamic media by using the dynamicmedia run mode as you would, for example, publish run mode. Before enabling, make sure to review the technical requirements.
By enabling Dynamic Media, the dynamic media features will be available in the UI and every uploaded image asset receives a cqdam.pyramid.tiff
rendition that is used for fast delivery of dynamic image renditions. Those PTIFFs have significant advantages including (1) the ability to manage only a single master image and generate infinite renditions on-the-fly without any additional storage and (2) the ability to use interactive visualization such as zoom, pan, spin, and so on.
If you want to use Dynamic Media Classic in AEM, you should not enable Dynamic Media unless you are using a specific scenario. Dynamic Media is disabled unless you enable Dynamic Media by way of the runmode.
To enable dynamic media, you must enable the dynamic media runmode either from the command line or from the quickstart file name.
To enable dynamic media:
-
On the command line, when launching the quickstart, do the following:
- Add -r dynamicmedia to the end of the command line when starting the jar file.
code language-shell java -Xmx4096m -Doak.queryLimitInMemory=500000 -Doak.queryLimitReads=500000 -jar cq-quickstart-6.4.0.jar -r dynamicmedia
If you are publishing to s7delivery, then you also need to include the following trustStore arguments:
code language-shell -Djavax.net.ssl.trustStore=<absoluteFilePath>/customerTrustStoreFileName> -Djavax.net.ssl.trustStorePassword=<passwordForTrustStoreFile>
-
Request
http://localhost:4502/is/image
and make sure Image Server is now running.note note NOTE To troubleshoot issues with Dynamic Media, see the following logs in the crx-quickstart/logs/ directory: -
ImageServer-<PortId>-<yyyy><mm><dd>.log - The ImageServer log provides statistics and analytical information used for analyzing the behavior of the internal ImageServer process.
code language-none Example of an Image Server log file name: `ImageServer-57346-2019-07-25.log`
-
s7access-<yyyy><mm><dd>.log - The s7access log records each request made to Dynamic Media through
/is/image
and/is/content
.
These logs are only used when Dynamic Media is enabled. They are not included in the Download Full package that is generated from the system/console/status-Bundlelist page; when calling Customer Support if you have a Dynamic Media issue, please append both these logs to the issue. -
If you installed AEM to a different port or context path … if-you-installed-aem-to-a-different-port-or-context-path
If you are deploying AEM to an application server and have Dynamic Media enabled, you need to configure the self domain in the externalizer. Otherwise, thumbnail generation for assets will not work properly for dynamic media assets.
In addition, if you run quickstart on a different port or context path, you also have to change the self domain.
When Dynamic Media is enabled, the static thumbnail renditions for image assets are generated using Dynamic Media. For thumbnail generation to work properly for dynamic media, AEM must perform a URL request to itself and must know both the port number and the context path.
In AEM:
- The self domain in the externalizer is used to retrieve both the port number and context path.
- If no self domain is configured, the port number and context path are retrieved from the Jetty HTTP service.
In an AEM QuickStart WAR deployment, the port number and context path cannot be derived, therefore you must configure a self domain. See externalizer documentation on how to configure the self domain.
Disabling Dynamic Media disabling-dynamic-media
Dynamic media is not enabled by default. However, if you have previously enabled dynamic media, you may want to turn it off at a later time.
To disable dynamic media after you have enabled it, you remove the -r dynamicmedia run mode flag.
To disable Dynamic Media after it has been enabled:
-
On the command line, when launching the quickstart, you can do either of the following:
- Do not add
-r dynamicmedia
to the command line when starting the JAR file.
code language-shell java -Xmx4096m -Doak.queryLimitInMemory=500000 -Doak.queryLimitReads=500000 -jar cq-quickstart-6.4.0.jar
- Do not add
-
Request
http://localhost:4502/is/image
. You receive a message that Dynamic Media is disabled.note note NOTE After the Dynamic Media run mode is disabled, the workflow step that generates the qdam.pyramid.tiff
rendition is skipped automatically. This also disables dynamic rendition support and other Dynamic Media features.Also note that when Dynamic Media run mode is disabled after configuring the AEM server, all assets that were uploaded under that run mode are now invalid.
(Optional) Migrating Dynamic Media presets and configurations from 6.3 to 6.4 zero downtime optional-migrating-dynamic-media-presets-and-configurations-from-to-zero-downtime
If you are upgrading AEM Dynamic Media from 6.3 to 6.4 – which now includes the ability for zero downtime (also known as “Opt-in”) deployments – you are required to run the following curl command to migrate all your presets and configurations from /etc
to /conf
in CRXDE Lite.
Note: If you run your AEM instance in compatibility mode–that is, you have the compatibility packaged installed–you do not need to run these commands.
To migrate your custom presets and configurations from /etc
to /conf
, run the following Linux curl command:
curl -u admin:admin http://localhost:4502/libs/settings/dam/dm/presets.migratedmcontent.json
For all upgrades, either with or without the compatibility package, you can copy the out-of-the-box viewer presets by running the following command:
curl -u admin:admin http://localhost:4502/libs/settings/dam/dm/presets/viewer.pushviewerpresets
Configuring image replication configuring-image-replication
Dynamic Media image delivery works by publishing image assets, including video thumbnails, from AEM Author and replicating them to Adobe’s on-demand replication service (the Replication Service URL). Assets are then delivered by way of the on-demand image delivery service (the Image Service URL).
You must do the following:
The Replication Agent publishes Dynamic Media assets such as images, video metadata, and sets to the Adobe-hosted Image Service. The Replication Agent is not enabled by default.
After you have configured the replication agent, you need to validate and test that it has been successfully set up. This section describes these procedures.
maxMemory
value.Setting up Authentication setting-up-authentication
You need to set up replication authentication on author in order to replicate images to the Dynamic Media image delivery service. You do this by obtaining a KeyStore and then saving it under the dynamic-media-replication user and configuring it. Your company administrator should have received a welcome email with the KeyStore file and necessary credentials during the provisioning process. If you did not receive this, please contact Customer Support.
To set up authentication:
-
Contact Customer Support for your KeyStore file and password if you do not already have this. This is part of provisioning and it will associate the keys to your account.
-
In AEM, tap the AEM logo to access the global navigation console, then tap Tools > Security > Users.
-
On the User Management page, navigate to the dynamic-media-replication user, then tap to open.
-
In the Edit User Settings For dynamic-media-replication page, tap the Keystore tab, then tap Create KeyStore.
-
Enter a password and confirm the password in the Set KeyStore Access Password dialog box.
note note NOTE Remember the password that you enter. You will need to enter it again when you configure the Replication Agent later. -
On the Edit User Settings For dynamic-media-replication page, expand the Add Private Key from KeyStore file area and add the following (see the images that follow):
- In the New Alias field, enter the name of an alias that you will later use in the replication configuration; for example, replication.
- Tap KeyStore File. Navigate to the KeyStore file provided to you by Adobe, select it, then tap Open.
- In the KeyStore File Password field, enter the KeyStore File password. This is not the KeyStore password that you created in step 5 but is the KeyStore File password Adobe provides in the Welcome email sent to you during provisioning. Contact Adobe Customer Support if you did not receive a KeyStore File password.
- In the Private Key Password field, enter the private key password (may be the same private key password provided in the previous step). Adobe provides the private key password in the Welcome email sent to you during provisioning. Contact Adobe Customer Support if you did not receive a private key password.
- In the Private Key Alias field, enter the private key alias. For example,
companyname-alias
. Adobe provides the private key alias in the Welcome email sent to you during provisioning. Contact Adobe Customer Support if you did not receive a private key alias.
-
Tap Save & Close to save your changes to this user.
Next, you need to configure the replication agent.
Configuring the Replication Agent configuring-the-replication-agent
-
In AEM, tap the AEM logo to access the global navigation console, then tap Tools > Deployment > Replication > Agents on author.
-
On the Agents on author page, tap Dynamic Media Hybrid Image Replication (s7delivery).
-
Tap Edit.
-
Tap the Settings tab, then enter the following:
- Enabled - Select this check box to enable the replication agent.
- Region - Set to the appropriate region: North America, Europe, or Asia
- Tenant ID - This value is the name of your company/tenant that is publishing to the Replication Service. This value is the Tenant ID that Adobe provides in the Welcome email sent to you during provisioning. Contact Adobe Customer Support if you did not receive this.
- Key Store Alias - This value is the same as the** New Alias** value set when generating the key in Setting Up Authentication; for example,
replication
. (See step 7 in Setting Up Authentication.) - Key Store Password - This is the KeyStore password that was created when you tapped Create KeyStore. Adobe does not provide this password. See step 5 of Setting up Authentication.
The following image shows the replication agent with sample data:
-
Tap OK.
Validating the Replication Agent for Dynamic Media validating-the-replication-agent-for-dynamic-media
To validate the replication agent for dynamic media, do the following:
Tap Test Connection. Example output is as follows:
11.03.2016 10:57:55 - Transferring content for ReplicationAction{type=TEST, path[0]='/content/dam', time=1457722675402, userId='admin', revision='null'}
11.03.2016 10:57:55 - * Auth User: replication-receiver
11.03.2016 10:57:55 - * HTTP Version: 1.1
11.03.2016 10:57:55 - * Using OAuth 2.0 Authorization Grants
11.03.2016 10:57:55 - * OAuth 2.0 User: dynamic-media-replication
11.03.2016 10:57:55 - * OAuth 2.0 Token: '*****' initialized
11.03.2016 10:57:55 - Publishing: POST[https://replicate-na.assetsadobe.com:8580/is-publish/publish-receiver?Cmd=Test&RootId=xfpuu-6613]
11.03.2016 10:57:55 - Publish response: OK[]
11.03.2016 10:57:55 - Transfer succeeded in 141 ms for ReplicationAction{type=TEST, path[0]='/content/dam', time=1457722675402, userId='admin', revision='null'}
-------------------------------------------------------------------------------------------------------------------------------
Replication test succeeded
- Check the replication logs to make sure the asset is replicated.
- Publish an image. Tap the image and select Viewers in drop-down menu. Select a viewer preset, then tap URL, and copy and paste the URL in the browser to verify that you can see the image.
Troubleshooting Authentication troubleshooting-authentication
When setting up authentication, here are some issues you may run into with their solutions. Before checking these, make sure you have set up replication.
Problem: HTTP Status Code 401 with Message - Authorization Required problem-http-status-code-with-message-authorization-required
This issue can be caused by a failure to set up the KeyStore for dynamic-media-replication
user.
Replication test to s7delivery:https://s7bern.macromedia.com:8580/is-publish/
17.06.2016 18:54:43 - Transferring content for ReplicationAction{type=TEST, path[0]='/content/dam', time=1466214883309, userId='admin', revision='null'}
17.06.2016 18:54:43 - * Auth User: replication-receiver
17.06.2016 18:54:43 - * HTTP Version: 1.1
17.06.2016 18:54:43 - * Using OAuth 2.0 Authorization Grants
17.06.2016 18:54:43 - * OAuth 2.0 User: dynamic-media-replication
17.06.2016 18:54:43 - No OAuth token available. OAuth not initialized
17.06.2016 18:54:43 - * Using Client Auth SSL alias - replication-alias *
17.06.2016 18:54:43 - Publishing: POST[https://<localhost>:8580/is-publish//publish-receiver?Cmd=Test&RootId=brough]
17.06.2016 18:54:43 - Transfer failed for ReplicationAction{type=TEST, path[0]='/content/dam', time=1466214883309, userId='admin', revision='null'}. java.io.IOException: Failed to execute request
'https://<localhost>:8580/is-publish//publish-receiver?Cmd=Test&RootId=brough':
Server returned status code 401 with message: Authorization required.
17.06.2016 18:54:43 - Error while replicating: com.day.cq.replication.ReplicationException: Transfer failed for ReplicationAction{type=TEST, path[0]='/content/dam', time=1466214883309,
userId='admin', revision='null'}. java.io.IOException: Failed to execute request
'https://<localhost>:8580/is-publish//publish-receiver?Cmd=Test&RootId=brough':
Server returned status code 401 with message: Authorization required.
Solution: Check that the KeyStore
is saved to dynamic-media-replication user and is provided with the correct password.
Problem: Could Not Decrypt Key - Could Not Decrypt Data problem-could-not-decrypt-key-could-not-decrypt-data
Replication test to s7delivery:https://<localhost>:8580/is-publish/
17.06.2016 19:00:16 - Transferring content for ReplicationAction{type=TEST, path[0]='/content/dam', time=1466215216662, userId='admin', revision='null'}
17.06.2016 19:00:16 - * Auth User: replication-receiver
17.06.2016 19:00:16 - * HTTP Version: 1.1
17.06.2016 19:00:16 - * Using OAuth 2.0 Authorization Grants
17.06.2016 19:00:16 - * OAuth 2.0 User: dynamic-media-replication
17.06.2016 19:00:16 - No OAuth token available. OAuth not initialized
17.06.2016 19:00:16 - * Using Client Auth SSL alias - replication-alias *
17.06.2016 19:00:16 - Transfer failed for ReplicationAction{type=TEST, path[0]='/content/dam', time=1466215216662, userId='admin', revision='null'}. java.lang.SecurityException: java.security.UnrecoverableKeyException: Could not decrypt key: Could not decrypt data.
Solution: Check the password. The password saved in the replication agent is not the same password that was used to create keystore.
Problem: InvalidAlgorithmParameterException problem-invalidalgorithmparameterexception
This issue is caused by a configuration error in your AEM Author instance. The java process on the Author is not getting the correct javax.net.ssl.trustStore
. You see this error in the replication log:
14.04.2016 09:37:43 - Transfer failed for ReplicationAction{type=TEST, path[0]='/content/dam', time=1460651862089, userId='admin', revision='null'}. java.io.IOException: Failed to execute request 'https://<localhost>:8580/is-publish/publish-receiver?Cmd=Test&RootId=rbrough-osx2': java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
14.04.2016 09:37:43 - Error while replicating: com.day.cq.replication.ReplicationException: Transfer failed for ReplicationAction{type=TEST, path[0]='/content/dam', time=1460651862089, userId='admin', revision='null'}. java.io.IOException: Failed to execute request 'https://<localhost>:8580/is-publish/publish-receiver?Cmd=Test&RootId=rbrough-osx2': java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
Or the error log:
07.25.2019 12:00:59.893 *ERROR* [sling-threadpool-db2763bb-bc50-4bb5-bb64-10a09f432712-(apache-sling-job-thread-pool)-90-com_day_cq_replication_job_s7delivery(com/day/cq/replication/job/s7delivery)] com.day.cq.replication.Agent.s7delivery.queue Error during processing of replication.
java.io.IOException: Failed to execute request 'https://replicate-na.assetsadobe.com:8580/is-publish/publish-receiver?Cmd=Test&RootId=rbrough-osx': java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
at com.scene7.is.catalog.service.publish.atomic.PublishingServiceHttp.executePost(PublishingServiceHttp.scala:195)
Solution: Make sure the java process on the AEM Author has the system property -Djavax.net.ssl.trustStore= set to a valid truststore.
Problem: KeyStore is either not set up or it is not initialized problem-keystore-is-either-not-set-up-or-it-is-not-initialized
This issue may be caused by a hot fix, or a feature pack overwriting the dynamic-media-user or keystore node.
Replication log example:
Replication test to s7delivery:https://replicate-na.assetsadobe.com/is-publish
02.08.2016 14:37:44 - Transferring content for ReplicationAction{type=TEST, path[0]='/content/dam', time=1470173864834, userId='admin', revision='null'}
02.08.2016 14:37:44 - * Auth User: replication-receiver
02.08.2016 14:37:44 - * HTTP Version: 1.1
02.08.2016 14:37:44 - * Using OAuth 2.0 Authorization Grants
02.08.2016 14:37:44 - * OAuth 2.0 User: dynamic-media-replication
02.08.2016 14:37:44 - Transfer failed for ReplicationAction{type=TEST, path[0]='/content/dam', time=1470173864834, userId='admin', revision='null'}. com.adobe.granite.keystore.KeyStoreNotInitialisedException: Uninitialised key store for user dynamic-media-replication
Solution:
-
Navigate to the User Management page:
localhost:4502/libs/granite/security/content/useradmin.html
-
On the User Management page, navigate to the dynamic-media-replication user, then tap to open.
-
Tap the KeyStore tab. If the Create KeyStore button appears, then you need to redo the steps under Setting up Authentication earlier.
-
If you had to redo the KeyStore setup, you may need to do Configuring the Replication Agent again, as well.
Reconfigure the s7delivery Replication Agent.
localhost:4502/etc/replication/agents.author/s7delivery.html
-
Tap Test Connection to verify the configuration is valid.
Problem: Publish Agent is using SSL instead of OAuth problem-publish-agent-is-using-ssl-instead-of-oauth
This issue may be caused by a hot fix or a feature pack that did not install correctly or overwrote the settings.
Replicate log example:
01.08.2016 18:42:59 - Transferring content for ReplicationAction{type=TEST, path[0]='/content/dam', time=1470073379634, userId='admin', revision='null'}
01.08.2016 18:42:59 - * Auth User: replication-receiver
01.08.2016 18:42:59 - * HTTP Version: 1.1
01.08.2016 18:42:59 - * Using Client Auth SSL alias - replication-receiver *
01.08.2016 18:42:59 - Publishing: POST[https://replicate-eu.assetsadobe2.com:443/is-publish/publish-receiver?Cmd=Test&RootId=altayerstaging]
01.08.2016 18:42:59 - Transfer failed for ReplicationAction{type=TEST, path[0]='/content/dam', time=1470073379634, userId='admin', revision='null'}. java.io.IOException: Failed to execute request 'https://replicate-eu.assetsadobe2.com:443/is-publish/publish-receiver?Cmd=Test&RootId=rbroughstaging': Server returned status code 401 with message: Authorization required.
01.08.2016 18:42:59 - Error while replicating: com.day.cq.replication.ReplicationException: Transfer failed for ReplicationAction{type=TEST, path[0]='/content/dam', time=1470073379634, userId='admin', revision='null'}. java.io.IOException: Failed to execute request 'https://replicate-eu.assetsadobe2.com:443/is-publish/publish-receiver?Cmd=Test&RootId=rbroughstaging': Server returned status code 401 with message: Authorization required.
Solution:
-
In AEM, tap Tools > General > CRXDE Lite.
localhost:4502/crx/de/index.jsp
-
Navigate to the s7delivery Replication Agent node.
localhost:4502/crx/de/index.jsp#/etc/replication/agents.author/s7delivery/jcr:content
-
Add this setting to the replication agent (Boolean with value set to True):
enableOauth=true
-
Near the upper-left corner of the page, tap Save All.
Testing your configuration testing-your-configuration
Adobe recommends that you perform an end-to-end test of the configuration.
Be sure you have already done the following prior to beginning this test:
- Added Image Presets.
- Configure Dynamic Media Configuration (Pre 6.3) under Cloud Services. The Image Service URL is required for this test
To test your configuration:
-
Upload an image asset. (In Assets, tap Create > Files and select the file.)
-
Wait for the workflow to finish.
-
Publish the image asset. (Select the asset and tap Quick Publish.)
-
Navigate to the renditions for that image by opening the image, and tapping Renditions.
-
Select any dynamic rendition.
-
Tap URL to obtain the URL for this asset.
-
Navigate to the selected URL and check whether the image behaves as expected.
Another way to test that your assets were delivered is to append req=exists to your URL.
Configuring Dynamic Media Cloud Services configuring-dynamic-media-cloud-services
The Dynamic Media Cloud service provides support for cloud services such as hybrid publishing and delivery of images and video, video analytics, and video encoding, among other things.
As part of the configuration, you need to enter a registration ID, video service URL, image service URL, replication service URL and set up authentication. You should have received all this information as part of the account provisioning process. If you did not receive this information, contact your Adobe Experience Manager Administrator or Adobe Technical Support to obtain the information.
To configure dynamic media cloud services:
-
In AEM, tap the AEM logo to access the global navigation console and tap Tools > Cloud Services > Dynamic Media Configuration (Pre-6.3).
-
On the Dynamic Media Configuration Browser page, in the left pane, select global, then tap Create.
-
In the Create Dynamic Media Configuration dialog box, in the Title field, type a title.
-
If you are configuring Dynamic Media for video,
- In the Registration ID field, type your registration ID.
- In the Video Service URL field, enter the video service URL for the Dynamic Media Gateway.
-
If you are configuring Dynamic Media for imaging, in the Image Service URL field, enter the image service URL for the Dynamic Media Gateway.
-
Tap Save to return to the Dynamic Media Configuration Browser page.
-
Tap the AEM logo to access the global navigation console.
Configuring video reporting configuring-video-reporting
You can configure video reporting across multiple installations of AEM using Dynamic Media – Hybrid mode.
When to use: At the time you configure Dynamic Media Configuration (Pre 6.3), numerous features are started including video reporting. The configuration creates a report suite in a regional Analytics company. If you configure multiple Author nodes, you create a separate report suite for each one. As a result, reporting data is inconsistent among installations. Furthermore, if each Author node refers to the same Hybrid Publish server, the last Author installation changes the destination report suite for all video reporting. This issue overloads the Analytics system with too many report suites.
Get started: Configure video reporting by completing the following three tasks.
-
Create a Video Analytics preset package after you configure Dynamic Media Configuration (Pre 6.3) on the first Author node. This initial task is important because it allows a new configuration to continue using the same report suite.
-
Install the Video Analytics preset package to any new Author node before you configure Dynamic Media Configuration (Pre 6.3).
-
Verify and debug the package installation.
Creating a Video Analytics preset package after configuring the first Author node creating-a-video-analytics-preset-package-after-configuring-the-first-author-node
When you have finished this task, you will have a package file that contains the Video Analytics presets. These presets contain a report suite, the tracking server, the tracking namespace, and the Marketing Cloud Organization ID, if available.
-
If you have not already done so, configure Dynamic Media Configuration (Pre 6.3).
-
(Optional) View and copy the Report Suite ID (you must have access to the JCR). While having the Report Suite ID is not required, it makes validation easier.
-
Create a package using Package Manager.
-
Edit the package to include a filter.
In AEM:
/conf/global/settings/dam/dm/presets/analytics/jcr:content/userdata
-
Build the package.
-
Download or share the Video Analytics preset package so that it can be shared with subsequent new Author nodes.
Installing the Video Analytics preset package before you configure additional Author nodes installing-the-video-analytics-preset-package-before-you-configure-additional-author-nodes
Be sure that you complete this task before you configure Dynamic Media Configuration (Pre 6.3). Failure to do so results in the creation of another unused report suite. In addition, even though video reporting will continue to work correctly, the gathering of data is not optimized.
Make sure that the Video Analytics preset package from the first Author node is accessible on the new Author node.
- Upload the Video Analytics preset package that you created eariler to Package Manager.
- Install the Video Analytics preset package.
- Configure Dynamic Media Configuration (Pre 6.3).
Verifying and debugging the package installation verifying-and-debugging-the-package-installation
-
Do any one of the following to verify and, if necessary, debug the package installation:
-
Check the Video Analytics preset by way of the JCR
To check the Video Analytics preset by way of the JCR, you must have access to CRXDE Lite.AEM - In CRXDE Lite, navigate to
/conf/global/settings/dam/dm/presets/analytics/jcr:content/userdata
That is
http://localhost:4502/crx/de/index.jsp#/conf/global/settings/dam/dm/presets/analytics/jcr%3Acontent/userdata
If you do not have access to CRXDE Lite on the Author node, you can check the preset through the Publish server.
-
Check the Video Analytics preset through the Image Server
You can validate the Video Analytics preset directly by making an Image Server
req=userdata
request.For example, to see the Video Analytics preset on the Author node, you can make the following request:
http://localhost:4502/is/image/conf/global/settings/dam/dm/presets/analytics?req=userdata
To validate the preset on Publish servers, you can make a similar direct request to the Publish server. The responses are the same on Author and Publish nodes. The response looks similar to the following:
code language-none marketingCloudOrgId=0FC4E86B573F99CC7F000101 reportSuite=aemaem6397618-2018-05-23 trackingNamespace=aemvideodal trackingServer=aemvideodal.d2.sc.omtrdc.net
-
Check the Video Analytics preset through the Video Reporting tool in AEM
Tap Tools > Assets > Video Reporting
http://localhost:4502/mnt/overlay/dam/gui/content/s7dam/videoreports/videoreport.html
If you see the following error message, the report suite is available, but unpopulated. This error is correct–and desired–in a new installation before the system collects any data.
To generate reporting data, upload and publish one video. Use Copy URL and run the video at least one time.
Be aware that it can take up to 12 hours before the reporting data is populated from Video Viewer usage.
If there is an error and the report suite is not set correctly, the following alert is displayed.
This error is also displayed if Video Reporting is run before you configure Dynamic Media Configuration (Pre 6.3) services.
-
Troubleshooting the video reporting configuration troubleshooting-the-video-reporting-configuration
- During installation, sometimes connections to the Analytics API server times out. The installation retries the connection 20 times, but it still fails. When this situation occurs, the log file records multiple errors. Search for
SiteCatalystReportService
. - Not installing the Video Analytics preset package first can cause the creation of a new report suite.
- Upgrading from AEM 6.3 to AEM 6.4 or AEM 6.4.1, then configuring Dynamic Media Configuration (Pre 6.3), still creates a report suite. This issue is known and slated to be fixed for AEM 6.4.2.
About the Video Analytics preset about-the-video-analytics-preset
The Video Analytics preset—sometimes known simply as analytics preset–is stored next to the Viewer presets in Dynamic Media. It is basically the same as a Viewer preset but with information used to configure AppMeasurement and Video Heartbeat reporting.
The preset’s properties are the following:
- reportSuite
- trackingServer
- trackingNamespace
- marketingCloudOrgId (not present in older AEM versions)
AEM 6.4 and newer versions save this preset at /conf/global/settings/dam/dm/presets/analytics/jcr:content/userdata
Replicating Catalog Settings replicating-catalog-settings
You must publish your own default catalog settings as part of the setup process through the JCR. To replicate catalog settings:
-
In a Terminal window, run the following:
curl -u admin:admin localhost:4502/libs/settings/dam/dm/presets/viewer.pushviewerpresets
-
In AEM, navigate to the following location in CRXDE Lite (requires admin privileges):
https://<server>:<port>/crx/de/index.jsp#/conf/global/settings/dam/dm/imageserver/
-
Tap the Replication tab.
-
Tap Replicate.
Replicating Viewer Presets replicating-viewer-presets
To deliver an asset with a viewer preset, you must replicate/publish the viewer preset. (All viewer presets must be activated and replicated to obtain the URL or embed code for an asset.) See Publishing Viewer Presets for more information.
Filtering Assets for Replication filtering-assets-for-replication
In non-Dynamic Media deployments, you replicate all assets (both images and video) from your AEM author environment to the AEM publish node. This workflow is necessary because the AEM publish servers also deliver the assets.
However, in Dynamic Media deployments, because assets are delivered by way of the cloud, there is no need to replicate those same assets to AEM publish nodes. Such a “hybrid publishing” workflow avoids extra storage costs and longer processing times to replicate assets. Other content, such as Dynamic Media viewers, Site pages, and static content continue to be served from the AEM publish nodes.
Besides replicating the assets, the following non-assets are also replicated:
- Dynamic Media Delivery configuration:
/conf/global/settings/dam/dm/imageserver/configuration/jcr:content/settings
- Image Presets:
/conf/global/settings/dam/dm/presets/macros
- Viewer Presets:
/conf/global/settings/dam/dm/presets/viewer
The filters provide a way for you to exclude assets from being replicated to the AEM publish node.
Using default Asset Filters for replication using-default-asset-filters-for-replication
If you are using Dynamic Media for 1) imaging in production or 2) imaging and video, then you can use the default filters that we provide as-is. The following filters are active by default:
Setting up Asset Filters for video-only deployments setting-up-asset-filters-for-video-only-deployments
If you are using Dynamic Media for video-only, follow these steps to set up asset filters for replication:
- In AEM, tap the AEM logo to access the global navigation console and tap Tools > Deployment > Replication > Agents on author.
- On the Agents on author page, tap Default Agent (publish).
- Tap Edit.
- In the Agent Settings dialog box, in the Settings tab, check Enabled to turn on the agent.
- Tap OK.
- In AEM, tap Tools > General > CRXDE Lite.
- In the left folder tree, navigate to
/etc/replication/agents.author/dynamic_media_replication/jcr:content/damRenditionFilters
- Locate filter-video, right-click it and select Copy.
- In the left folder tree, navigate to
/etc/replication/agents.author/publish
- Locate jcr:content, right-click it and select Paste.
This sets up the AEM publish instance to deliver the video poster image as well as the video metadata required for playback, while the video itself is delivered by the Dynamic Media cloud service. The filter will also exclude from replication the original video and static thumbnail renditions, which are not needed on the publish instance.
Setting up Asset Filters for Imaging in non-production deployments setting-up-asset-filters-for-imaging-in-non-production-deployments
If you are using Dynamic Media for imaging in non-production deployments, follow these steps to set up asset filters for replication:
-
In AEM, tap the AEM logo to access the global navigation console and tap Tools > Deployment > Replication > Agents on author.
-
On the Agents on author page, tap Default Agent (publish).
-
Tap Edit.
-
In the Agent Settings dialog box, in the Settings tab, check Enabled to turn on the agent.
-
Tap OK.
-
In AEM, tap Tools > General > CRXDE Lite.
-
In the left folder tree, navigate to
/etc/replication/agents.author/dynamic_media_replication/jcr:content/damRenditionFilters
-
Locate filter-images, right-click it and select Copy.
-
In the left folder tree, navigate to
/etc/replication/agents.author/publish
-
Locate jcr:content, right-click it and select Create > Create Node. Enter the name
damRenditionFilters
of typent:unstructured
. -
Locate
damRenditionFilters
, right-click it and select Paste.
This sets up the AEM publish instance to deliver the images to your non-production environment. The filter will also exclude from replication the original image and static renditions, which are not needed on the publish instance.
Customizing Asset Filters for replication customizing-asset-filters-for-replication
To optionally customize asset filters for replication:
-
In AEM, tap the AEM logo to access the global navigation console and tap Tools > General > CRXDE Lite.
-
In the left folder tree, navigate to
/etc/replication/agents.author/dynamic_media_replication/jcr:content/damRenditionFilters
to review the filters. -
To define the Mime Type for the filter, you can locate the Mime Type as follows:
In the left rail, expand content > dam > <
locate_your_asset
> > jcr:content > metadata, and then in the table, locatedc:format
.The following graphic is an example of an asset’s path to
dc:format
.Notice that the
dc:format
for the assetFiji Red.jpg
isimage/jpeg
.To have this filter apply to all images, regardless of their format, set the value to
image/*
where*
is a regular expression that is applied to all images of any format.To have the filter apply only to images of the type JPEG, enter a value of
image/jpeg
. -
Define what renditions you want to include or exclude from replication.
Characters that you can use to filter for replication include the following:
Navigate to content/dam/<locate_your_asset>/jcr:content/renditions
.
The following graphic is an example of an asset’s renditions.
Using the example above, if you only wanted to replicate the PTIFF (Pyramid TIFF), then you would enter +cqdam,*
which includes all the renditions that start with cqdam
. Inthe example, that rendition is cqdam.pyramid.tiff
.
If you only wanted to replicate the original, then you would enter +original
.
Configuring Dynamic Media Image Server settings configuring-dynamic-media-image-server-settings
Configuring the Dynamic Media Image Server involves editing the Adobe CQ Scene7 ImageServer bundle and the Adobe CQ Scene7 PlatformServer bundle.
Prerequisite: Before you configure Dynamic Media Image Server, ensure that your VM of Windows includes an installation of the Microsoft Visual C++ Libraries. The libraries are necessary to run Dynamic Media Image Server. You can download the Microsoft Visual C++ 2010 Redistributable Package (x64) here.
To configure Dynamic Media Image Server settings:
-
In the upper-left corner of AEM, tap Adobe Experience Manager to access the global navigation console, then tap Tools > Operations > Web Console.
-
On the Adobe Experience Manager Web Console Configuration page, tap OSGi > Configuration to list all the bundles that are currently running within AEM.
The Dynamic Media Delivery Servers are found under the following names in the list:
- Adobe CQ Scene7 ImageServer
- Adobe CQ Scene7 PlatformServer
-
In the list of bundles, to the right of Adobe CQ Scene7 ImageServer, tap the Edit icon.
-
In the Adobe CQ Scene7 ImageServer dialog box, set the following configuration values:
note note NOTE In most cases, there is no need to change the default values. However, if you do change the default values, you must restart the bundle for the changes to take affect.
-
Tap Save.
-
In the list of bundles, to the right of Adobe CQ Scene7 PlatformServer, tap the Edit icon.
-
In the Adobe CQ Scene7 PlatformServer dialog box, set the following default value options:
note note NOTE Dynamic Media Image Server uses its own disk cache to cache responses. The AEM HTTP cache and the Dispacher cannot be used to cache responses from Dynamic Media Image Server. table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 Property Default value Description Cache enabled Checked Whether or not the response cache is enabled. Cache roots cache One or more paths to the response cache folders. Relative paths are resolved against the internal s7imaging bundle folder. Cache Max Size 200000000 Maximum size of response cache in bytes. Cache Max Entries 100000 Maximum number of entries allowed in the cache.
Default Manifest settings default-manifest-settings
The default manifest lets you configure the defaults that are used to generate the Dynamic Media Delivery responses. You can fine tune quality (JPEG quality, resolution, resampling mode), caching (expiration), and prevent the rendering of images that are too large (defaultpix, defaultthumbpix, maxpix).
The location of the default manifest configuration is taken from the Catalog root default value of the Adobe CQ Scene7 PlatformServer bundle. By default this value is located at the following path within Tools > General > CRXDE Lite:
/conf/global/settings/dam/dm/imageserver/
You can change the values of the properties, as described in the table below, by entering new values.
When you are finished making changes to the default manifest, in the upper-left corner of the page, tap Save All.
Be sure you tap the Access Control tab (to the right of the Properties tab), then set the access control privileges to jcr:read
for the everyone and dynamic-media-replication users.
Table of Manifest settings and their default values:
Configuring Dynamic Media Color Management configuring-dynamic-media-color-management
Dynamic media color management lets you color correct assets for previewing.
With color correction, ingested assets retain their color space (RGB, CMYK, Gray) and embedded color profile in the generated pyramid TIFF rendition. When you request a dynamic rendition, the image color is corrected into the target color space. You configure the output color profile in the dynamic media publish settings in the JCR.
Adobe color management uses ICC profiles, a format defined by the International Color Consortium (ICC).
You can configure dynamic media color management and configure image presets using CMYK, RGB, or Gray output. See Configuring Image Presets.
Advanced use cases could use a manual configure icc= modifier to explicitly select an output color profile:
-
icc - Output color profile.
-
iccEmbed - Embed color profile.
Installing feature pack 12445 installing-feature-pack
You must install feature pack 12445 to use the dynamic media color management capabilities.
To install feature pack 12445:
-
Navigate to Software Distribution and download
cq-6.3.0-featurepack-12445
.See How to work with packages for more information on using packages in Adobe Experience Manager.
-
Install the feature pack.
Configuring the default color profiles configuring-the-default-color-profiles
After you install the feature pack, you need to configure the appropriate default color profiles to enable color correction when requesting RGB or CMYK image data.
To configure the default color profiles:
-
In Tools > General > CRXDE Lite, navigate to
/conf/global/settings/dam/dm/imageserver/configuration/settings
which contains the default Adobe Color Profiles. -
Add a color correction property by scrolling to the bottom of the Properties tab and manually entering the property name, type, and value, which are described in the following tables. After you enter the values, tap Add and then Save All to save your values.
Color correction properties are described in the Color Corrections Properties table. Values that you can assign to color correction properties are in the Color Profile table.
For example, in Name, add
iccprofilecmyk
, select TypeString
, and addWebCoated
as a Value. Tap Add, then Save All to save your values.Color Correction Properties Table
table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4 6-row-4 7-row-4 8-row-4 9-row-4 html-authored no-header Property Type Default Description iccprofilergb String <empty> Name of the default RGB color profile. iccprofilecmyk String <empty> Name of the default CMYK color profile. iccprofilegray String <empty> Name of the default Gray color profile. iccprofilesrcrgb String <empty> Name of the default RGB color profile used for RGB images that do not have an embedded color profile iccprofilesrccmyk String <empty> Name of the default CMYK color profile used for CMYK images that do not have an embedded color profile. iccprofilesrcgray String <empty> Name of the default Gray color profile used for CMYK images that do not have an embedded color profile. iccblackpointcompensation Boolean True Specifies whether black point compensation should be done during color correction. Adobe recommends this to be on. iccdither Boolean False Specifies whether dithering should be done during color correction. iccrenderintent String relative Specifies the render intent. Acceptable values are: perceptual, relative, saturation, absolute. Adobe recommends relative as the default. note note NOTE Property names are case sensitive and need to be all lowercase. Color Profile Table
The following color profiles are installed:
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 7-row-3 8-row-3 9-row-3 10-row-3 11-row-3 12-row-3 13-row-3 14-row-3 15-row-3 16-row-3 17-row-3 18-row-3 19-row-3 20-row-3 21-row-3 22-row-3 23-row-3 24-row-3 25-row-3 26-row-3 27-row-3 28-row-3 29-row-3 30-row-3 31-row-3 32-row-3 html-authored Name Colorspace Description AdobeRGB RGB Adobe RGB (1998) AppleRGB RGB Apple RGB CIERGB RGB CIE RGB CoatedFogra27 CMYK Coated FOGRA27 (ISO 12647-2:2004) CoatedFogra39 CMYK Coated FOGRA39 (ISO 12647-2:2004) CoatedGraCol CMYK Coated GRACoL 2006 (ISO 12647-2:2004) ColorMatchRGB RGB ColorMatch RGB EuropeISOCoated CMYK Europe ISO Coated FOGRA27 EuroscaleCoated CMYK Euroscale Coated v2 EuroscaleUncoated CMYK Euroscale Uncoated v2 JapanColorCoated CMYK Japan Color 2001 Coated JapanColorNewspaper CMYK Japan Color 2002 Newspaper JapanColorUncoated CMYK Japan Color 2001 Uncoated JapanColorWebCoated CMYK Japan Color 2003 Web Coated JapanWebCoated CMYK Japan Web Coated (Ad) NewsprintSNAP2007 CMYK US Newsprint (SNAP 2007) NTSC RGB NTSC (1953) PAL RGB PAL/SECAM ProPhoto RGB ProPhoto RGB PS4Default CMYK Photoshop 4 Default CMYK PS5Default CMYK Photoshop 5 Default CMYK SheetfedCoated CMYK U.S. Sheetfed Coated v2 SheetfedUncoated CMYK U.S. Sheetfed Uncoated v2 SMPTE RGB SMPTE-C sRGB RGB sRGB IEC61966-2.1 UncoatedFogra29 CMYK Uncoated FOGRA29 (ISO 12647-2:2004) WebCoated CMYK U.S. Web Coated (SWOP) v2 WebCoatedFogra28 CMYK Web Coated FOGRA28 (ISO 12647-2:2004) WebCoatedGrade3 CMYK Web Coated SWOP 2006 Grade 3 Paper WebCoatedGrade5 CMYK Web Coated SWOP 2006 Grade 5 Paper WebUncoated CMYK U.S. Web Uncoated v2 WideGamutRGB RGB Wide Gamut RGB -
Tap Save All.
For example, you could set iccprofilergb to sRGB
, and iccprofilecmyk to WebCoated
. Doing so would do the following:
- Enables color correction for RGB and CMYK images.
- RGB images that do not have a color profile are assumed to be in the
sRGB
color space. - CMYK images that do not have a color profile are assumed to be in
WebCoated
color space. - Dynamic renditions that return RGB output, return it in the
sRGB
color space. - Dynamic renditions that return CMYK output, return it in the
WebCoated
color space.
Delivering Assets delivering-assets
After you complete all the tasks above, activated Dynamic Media assets are served from the Image or Video Service. In AEM, this ability shows up in a Copy Image URL, Copy Viewer URL, Embed Viewer Code, and in the WCM.
See Delivering Dynamic Media Assets.
WCM Dynamic Media and Interactive Media Components wcm-dynamic-media-and-interactive-media-components
WCM pages that reference Dynamic Media and Interactive Media components reference the delivery service.