How to get media from external source in hybris?

1.9k Views Asked by At

How to integrate AEM DAM and Hybris. In multimedia tab of products i need to browse to DAM system. Please suggest me.

Thanks in advance.

3

There are 3 best solutions below

0
mkysoft On

You need to create custom editor and fill it data in backend from DAM. Also you need to customize view of product type in backoffice.xml for your custom editor.

3
Johannes von Zmuda On

What you need are the following two keywords:

  • MediaURLStrategy
  • MediaStorageStrategy

The MediaUrlStrategy resolves a URL to a Media item. The MediaStorageStrategy handles media creation, change and deletion of media items within the hybris media server. Both are interfaces you need to implement.

Next you need a bean definition for your each of your implementations.

For the next step you need to know which folders you want to use the URL/Storage strategies for. Every media has a specific folder. You can assign a URL/Storage strategy for specific folders and you can assign a default strategy. You reference the strategy by its bean id.

This is how you declare the default strategy

media.default.storage.strategy=localFileMediaStorageStrategy
media.default.url.strategy=localMediaWebURLStrategy

This is how you declare a strategy for the folder abc:

media.folder.abc.storage.strategy=myStorageStrategy
media.folder.abc.url.strategy=myUrlStrategy

Its very important to know, that hybris uses medias for a lot of internal purposes, e.g. cronjob logs, sync logs, cockpit configuration. So using a publicly accessible store for ALL folders is not recommended.

Make that the following property has a value (e.g. cache):

media.default.local.cache.rootCacheFolder=cache

In older versions of hybris, when this property had no value, in regular intervals, local medias were deleted.

0
Kinnu On

You need to write custom renderers for reference. Please check the pcmbackoffice-config.xml In the product's list view and grid view, you would find some renderers. You need to override the preview renderer.