Vista combinada Visión Plana Vista de árbol
Discusiones [ Anterior | Siguiente ]
toggle
Frank Walter
[Mobile Device Detection] Execute a rule multiple times on public pages
11 de febrero de 2013 10:29
Respuesta

Frank Walter

Ranking: New Member

Mensajes: 5

Fecha de incorporación: 4 de septiembre de 2009

Mensajes recientes

Hello,

i created a hook to add my own mobile device detection rule and action. I configured a page to use them and so far everything works great when i am logged in. Every time i refresh the page the rule and the action are getting executed.

But if i access the page as a guest user, they only get executed once and if i refresh the page or click on another page and return they are being ignored.
I am reading some cookie information in the action to change things depending on the values there. So i need it to get them executed every time.


Does anybody know if there is a configuration for this behavior? If not could you tell me what i have to modify to get it work like in the case when a user is logged in?

Thanks!
Frank Walter
RE: [Mobile Device Detection] Execute a rule multiple times on public pages
13 de febrero de 2013 9:57
Respuesta

Frank Walter

Ranking: New Member

Mensajes: 5

Fecha de incorporación: 4 de septiembre de 2009

Mensajes recientes

So the problem was the com.liferay.portal.servlet.filters.cache.CacheFilter.

It checks if a user is logged in or if there are any portlets on the page that don't have the <layout-cacheable>true</layout-cacheable> attribute configured in liferay-portlet.xml.

My public pages didn't have any portlets so i attached one on every page and now it works.
Juan Gonzalez
RE: [Mobile Device Detection] Execute a rule multiple times on public pages
13 de febrero de 2013 10:54
Respuesta

Juan Gonzalez

LIFERAY STAFF

Ranking: Liferay Legend

Mensajes: 2099

Fecha de incorporación: 28 de octubre de 2008

Mensajes recientes

Hi Frank,

Thanks for sharing the solution, but, what do you mean by "attach one on every page"?


Thanks again!
Frank Walter
RE: [Mobile Device Detection] Execute a rule multiple times on public pages
14 de febrero de 2013 1:57
Respuesta

Frank Walter

Ranking: New Member

Mensajes: 5

Fecha de incorporación: 4 de septiembre de 2009

Mensajes recientes

Just add it to a page (into a layout template column).

The CacheFilter iterates through the first 10 columns so i think it wouldnt work if you would integrate a portlet directly into a template.