Configure Dynamic Media - Hybrid mode configuring-dynamic-media-hybrid-mode
Effective April 30, 2024, Adobe Dynamic Media is ending support for the following:
- SSL (Secure Socket Layer) 2.0
- SSL 3.0
- TLS (Transport Layer Security) 1.0 and 1.1
- The following weak ciphers in TLS 1.2:
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_AES_256_CBC_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_128_CBC_SHA256
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_CAMELLIA_256_CBC_SHA
TLS_RSA_WITH_CAMELLIA_128_CBC_SHA
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
TLS_RSA_WITH_SDES_EDE_CBC_SHA
Dynamic Media-Hybrid must 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.
s7access.log
ImageServing.log
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 Experience Manager publish nodes.
Other content, such as Dynamic Media viewers, Site pages, and static content continue to be served from the Experience Manager 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 can 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, see the following table.
Enable Dynamic Media enabling-dynamic-media
Dynamic Media is disabled by default. To take advantage of Dynamic Media features, you must 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.
dynamicMediaEnabled
flag to true. This flag has no functionality in Experience Manager 6.2 and later. In addition, you do not need to restart the quickstart to enable Dynamic Media.By enabling Dynamic Media, the Dynamic Media features are 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 such as the following:
- The ability to manage only a single primary source image and generate infinite renditions on-the-fly without any additional storage.
- The ability to use interactive visualization such as zoom, pan, and spin.
If you want to use Dynamic Media Classic in Experience Manager, do not enable Dynamic Media unless you are using a specific scenario. Dynamic Media is disabled unless you enable Dynamic Media by way of the run mode.
To enable Dynamic Media, you must enable the Dynamic Media run mode 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-shellsession java -Xmx4096m -Doak.queryLimitInMemory=500000 -Doak.queryLimitReads=500000 -jar cq-quickstart-6.5.0.jar -r dynamicmedia
If you are publishing to s7delivery, you must also include the following trustStore arguments:
code language-shellsession -Djavax.net.ssl.trustStore=<absoluteFilePath>/customerTrustStoreFileName> -Djavax.net.ssl.trustStorePassword=<passwordForTrustStoreFile>
- Add
-
Request
https://localhost:4502/is/image
and make sure that 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.
Example of an Image Server log file name: ImageServer-57346-2020-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, append both these logs to the issue.
If you installed Experience Manager to a different port or context path … if-you-installed-aem-to-a-different-port-or-context-path
If you are deploying Experience Manager to an application server and have Dynamic Media enabled, you must configure the self-domain in the Externalizer. Otherwise, thumbnail generation for assets does 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, Experience Manager must perform a URL request to itself and must know both the port number and the context path.
In Experience Manager:
- 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 Experience Manager 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.
Disable Dynamic Media disabling-dynamic-media
Dynamic Media is not enabled by default. However, if you have previously enabled Dynamic Media, you can turn it off later.
To disable Dynamic Media after you have enabled it, you remove the -r dynamicmedia
run mode flag.
To disable Dynamic Media:
-
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-shellsession java -Xmx4096m -Doak.queryLimitInMemory=500000 -Doak.queryLimitReads=500000 -jar cq-quickstart-6.5.0.jar
- Do not add
-
Request
https://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 cqdam.pyramid.tiff
rendition is skipped automatically. It also disables dynamic rendition support and other Dynamic Media features.Also note that when Dynamic Media run mode is disabled after configuring the Experience Manager server, all assets that were uploaded under that run mode are now invalid.
(Optional) Migrate Dynamic Media presets and configurations from 6.3 to 6.5 Zero Downtime optional-migrating-dynamic-media-presets-and-configurations-from-to-zero-downtime
If you are upgrading Experience Manager - Dynamic Media from 6.3 to 6.5 (which now includes the ability for zero downtime deployments), you must run the following curl command. The command migrates all your presets and configurations from /etc
to /conf
in CRXDE Lite.
For all upgrades, either with or without the compatibility package, you can copy the default, out-of-the-box viewer presets that originally came with Dynamic Media by running the following Linux® curl command:
curl -u admin:admin -X POST https://<server_address>:<server_port>/libs/settings/dam/dm/presets/viewer.pushviewerpresets.json
To migrate any custom viewer presets and configurations that you have created from /etc
to /conf
, run the following Linux® curl command:
curl -u admin:admin -X POST https://<server_address>:<server_port>/libs/settings/dam/dm/presets.migratedmcontent.json
Configure image replication configuring-image-replication
Dynamic Media image delivery works by publishing image assets, including video thumbnails, from Experience Manager 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).
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 must validate and test that it has been successfully set up. This section describes these procedures.
Set up authentication setting-up-authentication
Set up replication authentication on author so you can replicate images to the Dynamic Media image delivery service. You first obtain a KeyStore and then save it under the dynamic-media-replication user and configure it. Your company administrator received a welcome email with the KeyStore file and necessary credentials during the provisioning process. If you did not receive this information, contact Adobe Customer Support.
To set up authentication:
-
Contact Adobe Customer Support for your KeyStore file and password if you do not already have the file and password. This information is a necessary part of provisioning. It associates the keys to your account.
-
In Experience Manager, select the Experience Manager logo to access the global navigation console, then navigate to Tools > Security > Users.
-
On the User Management page, navigate to the dynamic-media-replication user, then select to open.
-
In the Edit User Settings For dynamic-media-replication page, select the Keystore tab, then select Create KeyStore.
-
Enter a password and confirm the password in the Set KeyStore Access Password dialog box.
note note NOTE Remember the password because you must 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 want to use later in the replication configuration. For example, you could use
replication
as an alias. - Select KeyStore File. Navigate to the KeyStore file provided to you by Adobe, select it, then select Open.
- In the KeyStore File Password field, enter the KeyStore File password. This password 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 (can 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.
- In the New Alias field, enter the name of an alias that you want to use later in the replication configuration. For example, you could use
-
Select Save & Close to save your changes to this user.
Next, you must configure the replication agent.
Configure the replication agent configuring-the-replication-agent
-
In Experience Manager, select the Experience Manager logo to access the global navigation console, then navigate to Tools > Deployment > Replication > Agents on author.
-
On the Agents on author page, select Dynamic Media Hybrid Image Replication (s7delivery).
-
Select Edit.
-
Select 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. If you did not receive this information, contact Adobe Customer Support.
- 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 - 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:
-
Select OK.
Validate the replication agent for Dynamic Media validating-the-replication-agent-for-dynamic-media
To validate the replication agent for Dynamic Media, do the following:
Select 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 that the asset is replicated.
- Publish an image. Select the image and select Viewers in drop-down menu, then select a viewer preset. Select URL. To verify that you can see the image, copy and paste the URL path in the browser.
Troubleshoot authentication troubleshooting-authentication
When setting up authentication, here are some issues you can run into with their solutions. Before checking for these issues, 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 Experience Manager 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 that the Java™ process on the Experience Manager 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 is likely 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 select to open. -
Select the KeyStore tab. If the Create KeyStore button appears, then you must redo the steps under Setting up Authentication earlier.
-
If you had to redo the KeyStore setup, you must do Configuring the Replication Agent again, as well.
Reconfigure the s7delivery Replication Agent.
localhost:4502/etc/replication/agents.author/s7delivery.html
-
Select Test Connection so you can verify that the configuration is valid.
Problem: Publish Agent is using SSL instead of OAuth problem-publish-agent-is-using-ssl-instead-of-oauth
This issue is likely 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 Experience Manager, navigate to 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, select Save All.
Test 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 before 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, navigate to Create > Files and select the file.)
-
Wait for the workflow to finish.
-
Publish the image asset. (Select the asset and select Quick Publish.)
-
Navigate to the renditions for that image by opening the image, and tapping Renditions.
-
Select any dynamic rendition.
-
To obtain the URL for this asset, select URL.
-
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.
Configure Dynamic Media Cloud Services configuring-dynamic-media-cloud-services
The Dynamic Media Cloud Service supports hybrid publishing and delivery of images and video, video analytics, and video encoding, among other things.
As part of the configuration, you must enter a registration ID, video service URL, image service URL, replication service URL and set up authentication. This information was emailed to you as part of the account provisioning process. If you did not receive this information, contact your Adobe Experience Manager Administrator or Adobe Customer Support to obtain the information.
To configure Dynamic Media Cloud Services:
-
In Experience Manager, select the Experience Manager logo to access the global navigation console, then navigate to Tools > Cloud Services > Dynamic Media Configuration (Pre-6.3).
-
On the Dynamic Media Configuration Browser page, in the left pane, select global, then select 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.
-
Select Save to return to the Dynamic Media Configuration Browser page.
-
To access the global navigation console, select the Experience Manager logo.
Configure video reporting configuring-video-reporting
You can configure video reporting across multiple installations of Experience Manager using Dynamic Media Hybrid.
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.
Create 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 have a package file that contains the Video Analytics presets. These presets contain a report suite, the tracking server, the tracking namespace, and the Experience 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 Experience Manager:
/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.
Install the Video Analytics preset package before you configure more 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 continues 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 earlier to Package Manager.
- Install the Video Analytics preset package.
- Configure Dynamic Media Configuration (Pre 6.3).
Verify and debug 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.Experience Manager - In CRXDE Lite, navigate to
/conf/global/settings/dam/dm/presets/analytics/jcr:content/userdata
As in
https://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 Analytics preset on the Author node, you can make the following request:https://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 Experience Manager
Navigate to Tools > Assets > Video Reportinghttps://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.
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.
-
Troubleshoot 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 Analytics Preset package first can cause the creation of a new report suite.
- Upgrading from Experience Manager 6.3 to Experience Manager 6.4 or Experience Manager 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 Experience Manager 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 Experience Manager versions)
Experience Manager 6.4 and newer versions save this preset at /conf/global/settings/dam/dm/presets/analytics/jcr:content/userdata
Replicate catalog settings replicating-catalog-settings
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 Experience Manager, navigate to the following location in CRXDE Lite (requires admin privileges):
https://<*server*>:<*port*>/crx/de/index.jsp#/conf/global/settings/dam/dm/imageserver/
-
Select the Replication tab.
-
Select Replicate.
Replicate 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 Publish viewer presets for more information.
Filter assets for replication filtering-assets-for-replication
In non-Dynamic Media deployments, you replicate all assets (both images and video) from your Experience Manager author environment to the Experience Manager publish node. This workflow is necessary because the Experience Manager 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 Experience Manager 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 Experience Manager publish nodes.
Besides replicating the assets, the following non-assets are also replicated:
- Dynamic Media Delivery configuration:
/conf/global/settings/dam/dm/imageserver/jcr:content
- 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 Experience Manager publish node.
Use default asset filters for replication using-default-asset-filters-for-replication
If you use Dynamic Media for (1) imaging in production or (2) imaging and video, then you can use the default filters that Adobe provides as-is. The following filters are active by default:
Set 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 Experience Manager, select the Experience Manager logo to access the global navigation console, then navigate to Tools > Deployment > Replication > Agents on author.
- On the Agents on author page, select Default Agent (publish).
- Select Edit.
- In the Agent Settings dialog box, in the Settings tab, check Enabled to turn on the agent.
- Select OK.
- In Experience Manager, navigate to 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, then select Copy.
- In the left folder tree, navigate to
/etc/replication/agents.author/publish
- Locate
jcr:content
, right-click it, then select Paste.
These steps set up the Experience Manager publish instance to deliver the video poster image and the video metadata required for playback, while the video itself is delivered by the Dynamic Media Cloud Service. The filter also excludes from replication the original video and static thumbnail renditions, which are not needed on the publish instance.
Set 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 Experience Manager, select the Experience Manager logo to access the global navigation console, then navigate to Tools > Deployment > Replication > Agents on author.
-
On the Agents on author page, select Default Agent (publish).
-
Select Edit.
-
In the Agent Settings dialog box, in the Settings tab, check Enabled to turn on the agent.
-
Select OK.
-
In Experience Manager, navigate to 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, then select Copy.
-
In the left folder tree, navigate to
/etc/replication/agents.author/publish
-
Locate
jcr:content
, right-click it, then go to Create > Create Node. Enter the namedamRenditionFilters
of typent:unstructured
. -
Locate
damRenditionFilters
, right-click it, then select Paste.
These steps set up the Experience Manager publish instance to deliver the images to your non-production environment. The filter also excludes from replication the original image and static renditions, which are not needed on the publish instance.
jcr:content
node. See the image that follows:
Customize asset filters for replication (optional) customizing-asset-filters-for-replication
-
In Experience Manager, select the Experience Manager logo to access the global navigation console, then navigate to 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:
table 0-row-2 1-row-2 2-row-2 3-row-2 Character to use How it filters assets for replication *
Wildcard character +
Includes assets for replication -
Excludes assets from replication 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 withcqdam
. In the example, that rendition iscqdam.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 Experience Manager, select Adobe Experience Manager to access the global navigation console, then navigate to Tools > Operations > Web Console.
-
On the Adobe Experience Manager Web Console Configuration page, go to OSGi > Configuration to list all the bundles that are currently running within Experience Manager.
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, select the Edit icon.
-
In the Adobe CQ Scene7 ImageServer dialog box, set the following configuration values:
note note NOTE Usually, 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 effect. table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 Property Default value Description TcpPort.name
empty
Port number to use for communication with the ImageServer process. By default free port is automatically detected. AllowRemoteAccess.name
empty
Allow or disallow remote access to ImageServer process. If false, the image server listens only on localhost.
Default Externalizer settings that point to the localhost must specify the actual domain or IP address of the specific VM instance. The reason is because the localhost points to the parent system of the VM.
Domains or IP addresses for the VM must have a host file entry so that it can resolve itself.MaxRenderRgnPixels
16 MP Maximum size in megapixels that is rendered. MaxMessageSize
16 MB Maximum message size in megabytes that is delivered. RandomAccessUrlTimeout
20 Time out value for how long in seconds the Image Server waits for the JCR to respond to a ranged tile request. WorkerThreads
10 Number of worker threads. -
Select Save.
-
In the list of bundles, to the right of Adobe CQ Scene7 PlatformServer, select 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 Experience Manager HTTP cache and the Dispatcher 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 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 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 changing the default manifest, in the upper-left corner of the page, select Save All.
Be sure you select 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:
bkgcolor
FFFFFF
defaultpix
300,300
Specified as two integer numbers, 0 or larger, separated by a comma. Width and height in pixels. Either or both values can be set to 0 to keep them unconstrained. Does not apply to nested/embedded requests.
See also DefaultPix in the Image Serving API.
Usually, however, you are using a viewer preset or image preset to deliver the asset. Defaultpix only applies to an asset that is not using a viewer preset or image preset.
defaultthumbpix
100,100
req=tmb
).The server constrains reply images to be no larger than this width and height. This action is true if a thumbnail request (
req=tmb
) does not specify the size explicitly and does not specify the view size explicitly using wid=
, hei=
, or scl=
.Specified as two integer numbers, 0 or larger, separated by a comma. Width and height in pixels. Either or both values can be set to 0 to keep them unconstrained.
Does not apply to nested/embedded requests.
See also DefaultThumbPix in the Image Serving API.
expiration
36000000
Real number, 0 or greater. Number of milliseconds until expiration since the reply data was generated. Set to 0 to always expire the reply image immediately, which effectively disables client caching. By default, this value is set to 10 hours, which means that if a new image is published, it takes 10 hours for the old image to leave the user’s cache. Contact Customer Support if you need the cache cleared sooner.
See also Expiration in the Image Serving API.
jpegquality
80
Integer number and flag, separated by a comma. The first value is in the range 1…100 and defines the quality. The second value can be 0 for normal behavior, or 1 to disable the RGB chromaticity down-sampling employed by JPEG encoders.
See also JpegQuality in the Image Serving API.
maxpix
2000,2000
The server returns an error if a request causes a reply image whose width or height is larger than attribute::MaxPix.
See also MaxPix in the Image Serving API.
resmode
SHARP2
Used when
resMode=
is not specified in a request.Allowed values include
BILIN
, BICUB
, or SHARP2
.Enum. Set to 2 for
bilin
, 3 for bicub
, or 4 for sharp2
interpolation mode. Use sharp2
for best results.See also ResMode in the Image Serving API.
resolution
72
Real number, larger than 0. Typically expressed as pixels per inch, but can also be in other units, such as pixels per meter.
See also Resolution in the Image Serving API.
thumbnailtime
1%,11%,21%,31%,41%,51%,61%,71%,81%,91%
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’s color management uses ICC (International Color Consortium) profiles, a format defined by the 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:
Installing Feature Pack 12445 installing-feature-pack
To use the Dynamic Media color management capabilities, install feature pack 12445.
To install feature pack 12445:
-
Navigate to Software Distribution and download either
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, 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/jcr:content
which contains the default Adobe Color Profiles. -
Add a color correction property by scrolling to the bottom of the Properties tab. Manually enter the property name, type, and value, which is described in the following tables. After you enter the values, select 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. Then select Add and then Save All to save your values.Color Correction Properties Table
Color Profile Table
The following color profiles are installed:
- Select Save All.
For example, you could set the 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 Experience Manager, this ability shows up in a Copy Image URL, Copy Viewer URL, Embed Viewer Code, and in the WCM.
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.