Expand my Community achievements bar.

SOLVED

\/etc/dam/video/rep:policy breaks video component

Avatar

Level 2

AEM 6.2

The node /etc/dam/video/rep:policy breaks the request to http://<host>:<port>/etc/dam/video.profiles.list.json

500 Internal Server Error

java.lang.NullPointerException

at com.day.cq.dam.video.servlet.VideoProfileListServlet.getProfileName(VideoProfileListServlet.java:185)

at com.day.cq.dam.video.servlet.VideoProfileListServlet.writeVideoProfile(VideoProfileListServlet.java:124)

at com.day.cq.dam.video.servlet.VideoProfileListServlet.loopVideoProfiles(VideoProfileListServlet.java:114)

...

Because of that, the design dialog of the video component cannot be used, so the sources video profiles cannot be set and the video is not working.

How should I fix that? Where does rep:policy come from?

1 Accepted Solution

Avatar

Correct answer by
Level 2

I had this same issue Jeremy. I deleted the rep:policy node and it started working.

The rep:policy node is what crx uses to track permissions on a given node. You'll see a series of allow and deny nodes underneath it that specify which users have and don't have access to it (ie the parent node of the given rep:policy node), and these are what the ACL's are composed of.

It seems like the servlet that is used to generate a json list of video profiles is not aware that these kinds of nodes exist, and tries to process it as another profile and fails. It should instead filter and ignore them.

While deleting the node is only a temporary solution, and not a very safe one because you might actually want to have certain users not be able to access the profiles node (which will require and recreate that rep:policy node), I don't know what else to suggest. Seems like Adobe will need to release a hotfix to fix the servlet.

View solution in original post

1 Reply

Avatar

Correct answer by
Level 2

I had this same issue Jeremy. I deleted the rep:policy node and it started working.

The rep:policy node is what crx uses to track permissions on a given node. You'll see a series of allow and deny nodes underneath it that specify which users have and don't have access to it (ie the parent node of the given rep:policy node), and these are what the ACL's are composed of.

It seems like the servlet that is used to generate a json list of video profiles is not aware that these kinds of nodes exist, and tries to process it as another profile and fails. It should instead filter and ignore them.

While deleting the node is only a temporary solution, and not a very safe one because you might actually want to have certain users not be able to access the profiles node (which will require and recreate that rep:policy node), I don't know what else to suggest. Seems like Adobe will need to release a hotfix to fix the servlet.