Forums

Home » Liferay Portal » English » 2. Using Liferay » General

Combination View Flat View Tree View
Threads [ Previous | Next ]
toggle
Mobile device recognition in 6.1 GA - Provider not found? Greg Lauer January 15, 2012 10:50 AM
RE: Mobile device recognition in 6.1 GA - Provider not found? Juan Gonzalez January 15, 2012 12:57 PM
RE: Mobile device recognition in 6.1 GA - Provider not found? Abhishek Dhingra January 21, 2012 11:15 PM
RE: Mobile device recognition in 6.1 GA - Provider not found? Juan Gonzalez January 22, 2012 11:04 AM
RE: Mobile device recognition in 6.1 GA - Provider not found? Firas BD February 28, 2012 1:48 AM
RE: Mobile device recognition in 6.1 GA - Provider not found? Abhishek Dhingra February 29, 2012 4:48 AM
RE: Mobile device recognition in 6.1 GA - Provider not found? Firas BD February 29, 2012 5:26 AM
RE: Mobile device recognition in 6.1 GA - Provider not found? Vijay Peddareddy May 21, 2012 11:34 PM
RE: Mobile device recognition in 6.1 GA - Provider not found? Firas BD May 22, 2012 1:25 AM
RE: Mobile device recognition in 6.1 GA - Provider not found? Vijay Peddareddy May 22, 2012 12:05 PM
RE: Mobile device recognition in 6.1 GA - Provider not found? Maolin Huang September 17, 2012 11:28 PM
RE: Mobile device recognition in 6.1 GA - Provider not found? Lij Achu October 3, 2012 2:47 AM
RE: Mobile device recognition in 6.1 GA - Provider not found? Maolin Huang October 31, 2012 11:14 PM
RE: Mobile device recognition in 6.1 GA - Provider not found? Lij Achu November 4, 2012 7:27 AM
RE: Mobile device recognition in 6.1 GA - Provider not found? Milen Dyankov May 28, 2013 4:37 AM
RE: Mobile device recognition in 6.1 GA - Provider not found? Milen Dyankov May 28, 2013 4:32 AM
RE: Mobile device recognition in 6.1 GA - Provider not found? Vijay Peddareddy May 21, 2012 11:32 PM
RE: Mobile device recognition in 6.1 GA - Provider not found? Shahista Shaikh May 29, 2013 4:33 AM
RE: Mobile device recognition in 6.1 GA - Provider not found? Harsh Thaker June 1, 2012 7:35 AM
RE: Mobile device recognition in 6.1 GA - Provider not found? Milen Dyankov June 1, 2012 8:17 AM
RE: Mobile device recognition in 6.1 GA - Provider not found? Shahista Shaikh May 28, 2013 4:02 AM
RE: Mobile device recognition in 6.1 GA - Provider not found? Milen Dyankov May 28, 2013 4:39 AM
RE: Mobile device recognition in 6.1 GA - Provider not found? Raju oukanti September 2, 2013 11:25 AM
RE: Mobile device recognition in 6.1 GA - Provider not found? Milen Dyankov June 1, 2012 8:21 AM
RE: Mobile device recognition in 6.1 GA - Provider not found? Amit Doshi May 28, 2013 5:10 AM
Greg Lauer
Mobile device recognition in 6.1 GA - Provider not found?
January 15, 2012 10:50 AM
Answer

Greg Lauer

Rank: New Member

Posts: 1

Join Date: January 6, 2012

Recent Posts

I installed 6.1 GA1 and experimented with mobile rule groups in the Control Panel but am seeing this warning in the logs:

13:53:24,687 WARN [DefaultDeviceRecognitionProvider:35] Device recognition provider is not available

I did some research, and the the most recent post is nearly a year old:

http://www.liferay.com/community/forums/-/message_boards/view_message/7737962/maximized#_19_message_6995268

Did 6.1 include the screens but not a working device recognition provider? Is there any documentation available? What is the recommended best practice?

Any help is much appreciated. Thanks!!
Juan Gonzalez
RE: Mobile device recognition in 6.1 GA - Provider not found?
January 15, 2012 12:57 PM
Answer

Juan Gonzalez

LIFERAY STAFF

Rank: Liferay Legend

Posts: 1865

Join Date: October 28, 2008

Recent Posts

Greg Lauer:
I installed 6.1 GA1 and experimented with mobile rule groups in the Control Panel but am seeing this warning in the logs:

13:53:24,687 WARN [DefaultDeviceRecognitionProvider:35] Device recognition provider is not available

I did some research, and the the most recent post is nearly a year old:

http://www.liferay.com/community/forums/-/message_boards/view_message/7737962/maximized#_19_message_6995268

Did 6.1 include the screens but not a working device recognition provider? Is there any documentation available? What is the recommended best practice?

Any help is much appreciated. Thanks!!


To ensure it works ok you will have to deploy wurfl-web portlet, so you can have a device provider, and choose which device you want to apply your rules. if not, you can't choose anything when adding a mobile device group.

After deploying it, edit your mobile device group and you'll see much devices to choose from.
Abhishek Dhingra
RE: Mobile device recognition in 6.1 GA - Provider not found?
January 21, 2012 11:15 PM
Answer

Abhishek Dhingra

Rank: Junior Member

Posts: 52

Join Date: April 7, 2011

Recent Posts

Hello Juan,

I tried the Mobile Device Rules in Liferay 6.0.6 and deployed 3 plugin's EXT, HOOK, WURFL-WEB from Milen's Blog and it worked fine for me in Liferay 6.0.6.

In Liferay 6.1 GA1 it was mentioned that Milen's work has been included, so i tried the same , as you mentioned i need to deploy Wurfl-web. I deployed, but again it was asking for EXT need to be deployed, i deployed that as well but still i was not able to see the list of device-rules under Control-Panel-> Mobile Device Rules.

Please do guide, if i missed some steps.

Thanks a lot.

Regards,
Abhishek
Juan Gonzalez
RE: Mobile device recognition in 6.1 GA - Provider not found?
January 22, 2012 11:04 AM
Answer

Juan Gonzalez

LIFERAY STAFF

Rank: Liferay Legend

Posts: 1865

Join Date: October 28, 2008

Recent Posts

Probably you deployed the wrong version of wurfl-web? It should work fine.

Post here error logs.
Firas BD
RE: Mobile device recognition in 6.1 GA - Provider not found?
February 28, 2012 1:48 AM
Answer

Firas BD

Rank: Junior Member

Posts: 43

Join Date: October 3, 2011

Recent Posts

I am working on Liferay 6.1 GA, I deployed the wurfl 6.1 plugin, and add a folder wher I put the wurfl-latest repository and I add this line in portal-ext.properties:
wurfl.main=D:/Liferay-6.1/liferay-portal-6.1.0-ce-ga1/wurfl/wurfl-latest.zip

after I deployed the multi-device-ext .war, it works without any errors
but when I deployed the device-rules-hook.war

I got this errors :

09:20:22,255 INFO [HookAutoDeployListener:49] Hook for D:\Liferay-6.1\liferay-portal-6.1.0-ce-ga1\deploy\device-rules-hook-6.1.0.war copied successfu
lly. Deployment will start in a few seconds.
28 f├®vr. 2012 09:20:29 org.apache.catalina.startup.HostConfig deployDirectory
INFO: D├®ploiement du r├®pertoire D:\Liferay-6.1\liferay-portal-6.1.0-ce-ga1\tomcat-7.0.23\webapps\device-rules-hook de l'application web
Loading file:/D:/Liferay-6.1/liferay-portal-6.1.0-ce-ga1/tomcat-7.0.23/temp/10-device-rules-hook/WEB-INF/classes/service.properties
09:20:30,264 ERROR [PortletApplicationContext:87] org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Bea
n class [com.liferay.portal.spring.annotation.BeanReferenceAnnotationBeanPostProcessor] not found
Offending resource: ServletContext resource [/WEB-INF/classes/META-INF/base-spring.xml]
Bean ''; nested exception is java.lang.ClassNotFoundException: com.liferay.portal.spring.annotation.BeanReferenceAnnotationBeanPostProcessor
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Bean class [com.liferay.portal.spring.annotation.Bean
ReferenceAnnotationBeanPostProcessor] not found
Offending resource: ServletContext resource [/WEB-INF/classes/META-INF/base-spring.xml]
Bean ''; nested exception is java.lang.ClassNotFoundException: com.liferay.portal.spring.annotation.BeanReferenceAnnotationBeanPostProcessor
at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68)
at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.error(BeanDefinitionParserDelegate.java:291)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:491)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:396)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:365)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.processBeanDefinition(DefaultBeanDefinitionDocumentReader.java:25
8)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseDefaultElement(DefaultBeanDefinitionDocumentReader.java:153)

at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:132
)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:
93)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
at com.liferay.portal.spring.context.PortletApplicationContext.loadBeanDefinitions(PortletApplicationContext.java:76)
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:93)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130
)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:467)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:397)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:282)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:204)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
at com.liferay.portal.spring.context.PortletContextLoaderListener.contextInitialized(PortletContextLoaderListener.java:99)
at com.liferay.portal.kernel.servlet.PortalClassLoaderServletContextListener.doPortalInit(PortalClassLoaderServletContextListener.java:91)
at com.liferay.portal.kernel.util.BasePortalLifecycle.portalInit(BasePortalLifecycle.java:42)
at com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLifecycleUtil.java:61)
at com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLifecycleUtil.java:53)
at com.liferay.portal.kernel.util.BasePortalLifecycle.registerPortalLifecycle(BasePortalLifecycle.java:52)
at com.liferay.portal.kernel.servlet.PortalClassLoaderServletContextListener.contextInitialized(PortalClassLoaderServletContextListener.java:5
0)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4765)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5260)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:866)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:842)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1095)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1617)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException: com.liferay.portal.spring.annotation.BeanReferenceAnnotationBeanPostProcessor
at java.lang.ClassLoader.findClass(ClassLoader.java:359)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at com.liferay.portal.spring.util.FilterClassLoader.loadClass(FilterClassLoader.java:41)
at org.springframework.util.ClassUtils.forName(ClassUtils.java:257)
at org.springframework.beans.factory.support.BeanDefinitionReaderUtils.createBeanDefinition(BeanDefinitionReaderUtils.java:63)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.createBeanDefinition(BeanDefinitionParserDelegate.java:616)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:472)
... 42 more
09:20:30,452 ERROR [PortletApplicationContext:87] org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Bea
n class [com.liferay.portal.dao.shard.ShardAdvice] not found
Offending resource: ServletContext resource [/WEB-INF/classes/META-INF/shard-data-source-spring.xml]
Bean 'com.liferay.portal.dao.shard.ShardAdvice'; nested exception is java.lang.ClassNotFoundException: com.liferay.portal.dao.shard.ShardAdvice
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Bean class [com.liferay.portal.dao.shard.ShardAdvice]
not found
Offending resource: ServletContext resource [/WEB-INF/classes/META-INF/shard-data-source-spring.xml]
Bean 'com.liferay.portal.dao.shard.ShardAdvice'; nested exception is java.lang.ClassNotFoundException: com.liferay.portal.dao.shard.ShardAdvice
at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68)
at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.error(BeanDefinitionParserDelegate.java:291)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:491)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:396)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:365)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.processBeanDefinition(DefaultBeanDefinitionDocumentReader.java:25
8)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseDefaultElement(DefaultBeanDefinitionDocumentReader.java:153)

at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:132
)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:
93)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
at com.liferay.portal.spring.context.PortletApplicationContext.loadBeanDefinitions(PortletApplicationContext.java:76)
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:93)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130
)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:467)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:397)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:282)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:204)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
at com.liferay.portal.spring.context.PortletContextLoaderListener.contextInitialized(PortletContextLoaderListener.java:99)
at com.liferay.portal.kernel.servlet.PortalClassLoaderServletContextListener.doPortalInit(PortalClassLoaderServletContextListener.java:91)
at com.liferay.portal.kernel.util.BasePortalLifecycle.portalInit(BasePortalLifecycle.java:42)
at com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLifecycleUtil.java:61)
at com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLifecycleUtil.java:53)
at com.liferay.portal.kernel.util.BasePortalLifecycle.registerPortalLifecycle(BasePortalLifecycle.java:52)
at com.liferay.portal.kernel.servlet.PortalClassLoaderServletContextListener.contextInitialized(PortalClassLoaderServletContextListener.java:5
0)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4765)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5260)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:866)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:842)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1095)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1617)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException: com.liferay.portal.dao.shard.ShardAdvice
at java.lang.ClassLoader.findClass(ClassLoader.java:359)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at com.liferay.portal.spring.util.FilterClassLoader.loadClass(FilterClassLoader.java:41)
at org.springframework.util.ClassUtils.forName(ClassUtils.java:257)
at org.springframework.beans.factory.support.BeanDefinitionReaderUtils.createBeanDefinition(BeanDefinitionReaderUtils.java:63)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.createBeanDefinition(BeanDefinitionParserDelegate.java:616)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:472)
... 42 more
log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to a "org.apache.log4j.Appender" variable.
log4j:ERROR The class "org.apache.log4j.Appender" was loaded by
log4j:ERROR [WebappClassLoader
context: /device-rules-hook
delegate: false
repositories:
/WEB-INF/classes/
----------> Parent Classloader:
org.apache.catalina.loader.StandardClassLoader@1bfc93a
] whereas object of type
log4j:ERROR "org.apache.log4j.ConsoleAppender" was loaded by [WebappClassLoader
context:
delegate: false
repositories:
/WEB-INF/classes/
----------> Parent Classloader:
org.apache.catalina.loader.StandardClassLoader@1bfc93a
].
log4j:ERROR Could not instantiate appender named "CONSOLE".
09:20:30,521 ERROR [ContextLoader:227] Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'messagingConfigurator' defined in ServletContext resource [/WE
B-INF/classes/META-INF/device-rules-spring.xml]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Destination co
mmsen/device_rules_provider is not configured
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:282)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:204)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
at com.liferay.portal.spring.context.PortletContextLoaderListener.contextInitialized(PortletContextLoaderListener.java:99)
at com.liferay.portal.kernel.servlet.PortalClassLoaderServletContextListener.doPortalInit(PortalClassLoaderServletContextListener.java:91)
at com.liferay.portal.kernel.util.BasePortalLifecycle.portalInit(BasePortalLifecycle.java:42)
at com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLifecycleUtil.java:61)
at com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLifecycleUtil.java:53)
at com.liferay.portal.kernel.util.BasePortalLifecycle.registerPortalLifecycle(BasePortalLifecycle.java:52)
at com.liferay.portal.kernel.servlet.PortalClassLoaderServletContextListener.contextInitialized(PortalClassLoaderServletContextListener.java:5
0)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4765)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5260)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:866)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:842)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1095)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1617)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.IllegalStateException: Destination commsen/device_rules_provider is not configured
at com.liferay.portal.kernel.messaging.DefaultMessageBus.registerMessageListener(DefaultMessageBus.java:95)
at com.liferay.portal.kernel.messaging.config.AbstractMessagingConfigurator.afterPropertiesSet(AbstractMessagingConfigurator.java:83)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java
:1544)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485
)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
... 33 more
09:20:30,523 ERROR [BasePortalLifecycle:45] org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'messagingConfigura
tor' defined in ServletContext resource [/WEB-INF/classes/META-INF/device-rules-spring.xml]: Invocation of init method failed; nested exception is jav
a.lang.IllegalStateException: Destination commsen/device_rules_provider is not configured
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'messagingConfigurator' defined in ServletContext resource [/WE
B-INF/classes/META-INF/device-rules-spring.xml]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Destination co
mmsen/device_rules_provider is not configured
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:282)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:204)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
at com.liferay.portal.spring.context.PortletContextLoaderListener.contextInitialized(PortletContextLoaderListener.java:99)
at com.liferay.portal.kernel.servlet.PortalClassLoaderServletContextListener.doPortalInit(PortalClassLoaderServletContextListener.java:91)
at com.liferay.portal.kernel.util.BasePortalLifecycle.portalInit(BasePortalLifecycle.java:42)
at com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLifecycleUtil.java:61)
at com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLifecycleUtil.java:53)
at com.liferay.portal.kernel.util.BasePortalLifecycle.registerPortalLifecycle(BasePortalLifecycle.java:52)
at com.liferay.portal.kernel.servlet.PortalClassLoaderServletContextListener.contextInitialized(PortalClassLoaderServletContextListener.java:5
0)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4765)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5260)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:866)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:842)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1095)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1617)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.IllegalStateException: Destination commsen/device_rules_provider is not configured
at com.liferay.portal.kernel.messaging.DefaultMessageBus.registerMessageListener(DefaultMessageBus.java:95)
at com.liferay.portal.kernel.messaging.config.AbstractMessagingConfigurator.afterPropertiesSet(AbstractMessagingConfigurator.java:83)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java
:1544)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485
)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
... 33 more
09:20:30,526 INFO [HotDeployEvent:95] Plugin device-rules-hook requires multi-device-ext
09:20:30,537 INFO [PluginPackageUtil:1099] Reading plugin package for device-rules-hook
Loading file:/D:/Liferay-6.1/liferay-portal-6.1.0-ce-ga1/tomcat-7.0.23/temp/10-device-rules-hook/WEB-INF/classes/service.properties
Loading file:/D:/Liferay-6.1/liferay-portal-6.1.0-ce-ga1/tomcat-7.0.23/temp/10-device-rules-hook/WEB-INF/classes/portlet.properties
09:20:30,735 INFO [HookHotDeployListener:1901] Registering hook for device-rules-hook
09:20:30,779 INFO [HookHotDeployListener:978] Hook for device-rules-hook is available for use
28 f├®vr. 2012 09:20:30 org.apache.catalina.core.StandardContext startInternal
GRAVE: Error listenerStart
28 f├®vr. 2012 09:20:30 org.apache.catalina.core.StandardContext startInternal
GRAVE: Erreur de d├®marrage du contexte [/device-rules-hook] suite aux erreurs pr├®c├®dentes
09:20:30,794 INFO [HotDeployEvent:95] Plugin device-rules-hook requires multi-device-ext
09:20:30,794 INFO [PluginPackageUtil:1099] Reading plugin package for device-rules-hook
09:20:30,826 INFO [HookHotDeployListener:1101] Hook for device-rules-hook was unregistered
Abhishek Dhingra
RE: Mobile device recognition in 6.1 GA - Provider not found?
February 29, 2012 4:48 AM
Answer

Abhishek Dhingra

Rank: Junior Member

Posts: 52

Join Date: April 7, 2011

Recent Posts

Hello,

You need to install WURFL web only from the Liferay Plugins, and configure rules in Control panel.
In Liferay 6.1 GA, EXT has been merged and the rules HOOK has been implemented in a different way. I would suggest kindly take a new 6.1 GA setup and deploy the WURFL web only and try.

If you still find the issues, just let me know i will try at my end and will send you the exact details.

Thanks,
Abhishek
Firas BD
RE: Mobile device recognition in 6.1 GA - Provider not found?
February 29, 2012 5:26 AM
Answer

Firas BD

Rank: Junior Member

Posts: 43

Join Date: October 3, 2011

Recent Posts

Hello,

Thx Abhishek, that works. So we don't need to install the others plugins (device-rules and multi-devices) .

Firas
Vijay Peddareddy
RE: Mobile device recognition in 6.1 GA - Provider not found?
May 21, 2012 11:32 PM
Answer

Vijay Peddareddy

Rank: New Member

Posts: 10

Join Date: March 14, 2012

Recent Posts

Abhishek Dhingra:
Hello,

You need to install WURFL web only from the Liferay Plugins, and configure rules in Control panel.
In Liferay 6.1 GA, EXT has been merged and the rules HOOK has been implemented in a different way. I would suggest kindly take a new 6.1 GA setup and deploy the WURFL web only and try.

If you still find the issues, just let me know i will try at my end and will send you the exact details.

Thanks,
Abhishek



Hi Abishek,

I followed the same steps. I am working on Liferay 6.1 GA, I deployed the wurfl 6.1 plugin wurfl-web-6.1.0.1-ce-ga1-20120106155615760.war, .
I added the following line in portal-ext.properties:
wurfl.main=C:/Liferay-6.1/liferay-portal-6.1.0-ce-ga1/wurfl/wurfl-latest.zip

After deployment and restart, I navigated to Control Panel --> Mobile Device Rules, but I'm not able to see the list of device-rules under Control-Panel-> Mobile Device Rules.

Could you please help me If I'm missing something here.

Thanks a lot in advance.

Regards
Vijay Peddareddy.
Vijay Peddareddy
RE: Mobile device recognition in 6.1 GA - Provider not found?
May 21, 2012 11:34 PM
Answer

Vijay Peddareddy

Rank: New Member

Posts: 10

Join Date: March 14, 2012

Recent Posts

Firas BD:
Hello,

Thx Abhishek, that works. So we don't need to install the others plugins (device-rules and multi-devices) .

Firas



Hi Firas,

I'm facing same problem. Could you please share the steps you tried.

Thanks a lot in advance.

Regards
Vijay Peddareddy.
Firas BD
RE: Mobile device recognition in 6.1 GA - Provider not found?
May 22, 2012 1:25 AM
Answer

Firas BD

Rank: Junior Member

Posts: 43

Join Date: October 3, 2011

Recent Posts

hi Vijay, before deploying the wurfl-web.war, try to download the latest update wurfl zip file
after that rename the zip file to "wurfl-latest" and copy it in a folder named "wurfl", put this folder in this directory:
.../liferay-portal-6.1.0-ce-ga1/

go to portal-ext.properties and add this line: wurfl.main=..../liferay-portal-6.1.0-ce-ga1/wurfl/wurfl-latest.zip

after that start your liferay portal and deploy the wurfl-web.war, you have to get information in your log that wurfl device is detected

now go to control panel --> Mobile Device Rules --> New Rule Group --> get name and description
after that click on actions --> manage rules--> New rule (get name and description) --> select type=simple rule --> and choose your OS (you will get a check box to select the OS).

now go to manage the page(s) you want to define an action for your mobile device --> Mobile Rules Group (left) --> define specific mobile rule groups for this page --> select the mobile rule groups created and select the rule and create an action --> select the type (theme modification ... ) --> save

after that go to the look and feel of the page --> select mobile devices (top) --> define a specific look and feel for this page--> save

That's it. to test you can install 'User agent Switcher' plugin on Google Chrome and choose the mobile device.
Vijay Peddareddy
RE: Mobile device recognition in 6.1 GA - Provider not found?
May 22, 2012 12:05 PM
Answer

Vijay Peddareddy

Rank: New Member

Posts: 10

Join Date: March 14, 2012

Recent Posts

Firas BD:
hi Vijay, before deploying the wurfl-web.war, try to download the latest update wurfl zip file
after that rename the zip file to "wurfl-latest" and copy it in a folder named "wurfl", put this folder in this directory:
.../liferay-portal-6.1.0-ce-ga1/

go to portal-ext.properties and add this line: wurfl.main=..../liferay-portal-6.1.0-ce-ga1/wurfl/wurfl-latest.zip

after that start your liferay portal and deploy the wurfl-web.war, you have to get information in your log that wurfl device is detected

now go to control panel --> Mobile Device Rules --> New Rule Group --> get name and description
after that click on actions --> manage rules--> New rule (get name and description) --> select type=simple rule --> and choose your OS (you will get a check box to select the OS).

now go to manage the page(s) you want to define an action for your mobile device --> Mobile Rules Group (left) --> define specific mobile rule groups for this page --> select the mobile rule groups created and select the rule and create an action --> select the type (theme modification ... ) --> save

after that go to the look and feel of the page --> select mobile devices (top) --> define a specific look and feel for this page--> save

That's it. to test you can install 'User agent Switcher' plugin on Google Chrome and choose the mobile device.



Hi Firas,

Thanks a lot for your help. It works now.

Regards
Vijay Peddareddy.
Harsh Thaker
RE: Mobile device recognition in 6.1 GA - Provider not found?
June 1, 2012 7:35 AM
Answer

Harsh Thaker

Rank: New Member

Posts: 6

Join Date: September 9, 2011

Recent Posts

Abhishek Dhingra:
Hello Juan,

I tried the Mobile Device Rules in Liferay 6.0.6 and deployed 3 plugin's EXT, HOOK, WURFL-WEB from Milen's Blog and it worked fine for me in Liferay 6.0.6.

In Liferay 6.1 GA1 it was mentioned that Milen's work has been included, so i tried the same , as you mentioned i need to deploy Wurfl-web. I deployed, but again it was asking for EXT need to be deployed, i deployed that as well but still i was not able to see the list of device-rules under Control-Panel-> Mobile Device Rules.

Please do guide, if i missed some steps.

Thanks a lot.

Regards,
Abhishek


Hi Abhishek,
I am using liferay 6..0.6 , and as you did I also installed all the 3 plugins from Milen's Blog,
I deployed the multi-device-ext, then deployed the wurfl-web and while deploying it there is a error which I am pasting below

->**************************************
log4j:ERROR The class "org.apache.log4j.Appender" was loaded by
log4j:ERROR [WebappClassLoader
context: /wurfl-web
delegate: false
repositories:
/WEB-INF/classes/
----------> Parent Classloader:
org.apache.catalina.loader.StandardClassLoader@1995d80
] whereas object of type
log4j:ERROR "org.apache.log4j.ConsoleAppender" was loaded by [WebappClassLoader
context:
delegate: false
repositories:
/WEB-INF/classes/
----------> Parent Classloader:
org.apache.catalina.loader.StandardClassLoader@1995d80
].
log4j:ERROR Could not instantiate appender named "CONSOLE".
14:13:15,647 ERROR [ContextLoader:220] Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'messagingConfigurator' defined in ServletContext resource [/WEB-INF/c
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
at com.liferay.portal.spring.context.PortletContextLoaderListener.contextInitialized(PortletContextLoaderListener.java:71)
at com.liferay.portal.kernel.servlet.PortalClassLoaderServletContextListener.doPortalInit(PortalClassLoaderServletContextListener.java:91)
at com.liferay.portal.kernel.util.BasePortalLifecycle.portalInit(BasePortalLifecycle.java:42)
at com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLifecycleUtil.java:52)
at com.liferay.portal.kernel.util.BasePortalLifecycle.registerPortalLifecycle(BasePortalLifecycle.java:50)
at com.liferay.portal.kernel.servlet.PortalClassLoaderServletContextListener.contextInitialized(PortalClassLoaderServletContextListener.java:52)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4135)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4630)
at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1244)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1342)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:303)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1337)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.IllegalStateException: Destination commsen/device_recognition_provider is not configured
at com.liferay.portal.kernel.messaging.DefaultMessageBus.registerMessageListener(DefaultMessageBus.java:95)
at com.liferay.portal.kernel.messaging.config.AbstractMessagingConfigurator.afterPropertiesSet(AbstractMessagingConfigurator.java:83)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1544)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
... 29 more
14:13:15,702 ERROR [PortalClassLoaderServletContextListener:94] org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'messa
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'messagingConfigurator' defined in ServletContext resource [/WEB-INF/c
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
at com.liferay.portal.spring.context.PortletContextLoaderListener.contextInitialized(PortletContextLoaderListener.java:71)
at com.liferay.portal.kernel.servlet.PortalClassLoaderServletContextListener.doPortalInit(PortalClassLoaderServletContextListener.java:91)
at com.liferay.portal.kernel.util.BasePortalLifecycle.portalInit(BasePortalLifecycle.java:42)
at com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLifecycleUtil.java:52)
at com.liferay.portal.kernel.util.BasePortalLifecycle.registerPortalLifecycle(BasePortalLifecycle.java:50)
at com.liferay.portal.kernel.servlet.PortalClassLoaderServletContextListener.contextInitialized(PortalClassLoaderServletContextListener.java:52)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4135)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4630)
at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1244)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1342)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:303)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1337)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.IllegalStateException: Destination commsen/device_recognition_provider is not configured
at com.liferay.portal.kernel.messaging.DefaultMessageBus.registerMessageListener(DefaultMessageBus.java:95)
at com.liferay.portal.kernel.messaging.config.AbstractMessagingConfigurator.afterPropertiesSet(AbstractMessagingConfigurator.java:83)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1544)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
... 29 more
14:13:15,757 INFO [HotDeployEvent:95] Plugin wurfl-web requires multi-device-ext
14:13:15,843 INFO [HookHotDeployListener:394] Registering hook for wurfl-web

_>********************************************************


now what i can make out is there is a error in the one of the spring xml file which has provided wrong data for instantiating the bean 'messagingConfigurator'
, same error comes in when I deploy the 3rd plugin that is the device rule hook.

let me know where have i missed, I also doenloaded the latest wrufl zip and included it in the portal-ext file as asked in Milen's blog

Kindly do reply as am stuck on this

Thanks & Regards
Harsh
Milen Dyankov
RE: Mobile device recognition in 6.1 GA - Provider not found?
June 1, 2012 8:17 AM
Answer

Milen Dyankov

Rank: Regular Member

Posts: 173

Join Date: September 23, 2009

Recent Posts

It seams you did'n install the multi-device-ext plug-in properly. Make sure it is deployed without errors before you install wurfl-web.
Perhaps the easiest way to check is to use simple web content VM template:
1  Device: $request.portlet-session.application-attributes.DEVICE

If the plug-in is installed correctly it should show an "Unknown" device. Otherwise the device would be empty (or null).
Milen Dyankov
RE: Mobile device recognition in 6.1 GA - Provider not found?
June 1, 2012 8:21 AM
Answer

Milen Dyankov

Rank: Regular Member

Posts: 173

Join Date: September 23, 2009

Recent Posts

Sorry for late replay. I somehow missed this thread.
It seams a lot of people are confused about how mobile device detection changed form 6.0 to 6.1 so I finally wrote a blog post about Mobile device detection in Liferay 6.1
Maolin Huang
RE: Mobile device recognition in 6.1 GA - Provider not found?
September 17, 2012 11:28 PM
Answer

Maolin Huang

Rank: New Member

Posts: 3

Join Date: September 16, 2012

Recent Posts

Firas BD:
hi Vijay, before deploying the wurfl-web.war, try to download the latest update wurfl zip file
after that rename the zip file to "wurfl-latest" and copy it in a folder named "wurfl", put this folder in this directory:
.../liferay-portal-6.1.0-ce-ga1/

go to portal-ext.properties and add this line: wurfl.main=..../liferay-portal-6.1.0-ce-ga1/wurfl/wurfl-latest.zip

after that start your liferay portal and deploy the wurfl-web.war, you have to get information in your log that wurfl device is detected

now go to control panel --> Mobile Device Rules --> New Rule Group --> get name and description
after that click on actions --> manage rules--> New rule (get name and description) --> select type=simple rule --> and choose your OS (you will get a check box to select the OS).

now go to manage the page(s) you want to define an action for your mobile device --> Mobile Rules Group (left) --> define specific mobile rule groups for this page --> select the mobile rule groups created and select the rule and create an action --> select the type (theme modification ... ) --> save

after that go to the look and feel of the page --> select mobile devices (top) --> define a specific look and feel for this page--> save

That's it. to test you can install 'User agent Switcher' plugin on Google Chrome and choose the mobile device.



I did exactly you shared above, I could define a rule, setting OS, managing actions..etc, but could not see the effect by changing the user agents, it seemed like that there needs a hook to invoke the rule and make it work. Do you have any idea?
Lij Achu
RE: Mobile device recognition in 6.1 GA - Provider not found?
October 3, 2012 2:47 AM
Answer

Lij Achu

Rank: Junior Member

Posts: 36

Join Date: March 12, 2011

Recent Posts

I am also trying to make use of the device detection plugin (wurfl), but I can't still get it work. Is there any proper documentation for each versions of liferay? I'm using liferay 6.1.1.

Thanks.
Maolin Huang
RE: Mobile device recognition in 6.1 GA - Provider not found?
October 31, 2012 11:14 PM
Answer

Maolin Huang

Rank: New Member

Posts: 3

Join Date: September 16, 2012

Recent Posts

For 6.1, you just need to install the "wurfl" plugin.
First way you can get the wurfl plugin on the site which was mentioned in milen's blog "http://milen.commsen.com/2011/03/liferay-multidevice-extension.html", please use the right version.
Another way is that you can start liferay tomcat and go to "Control Panel" by your account, the is a "Store", you can log in with your "www.liferay.com" accounts and download the "Device Recognition" plugin(it is wurfl plugin), after you installed this plugin, you can go to "Pages" to set themes for different OS or define different actions, to see the effect, maybe you need to reopen a window then access the index page.
Lij Achu
RE: Mobile device recognition in 6.1 GA - Provider not found?
November 4, 2012 7:27 AM
Answer

Lij Achu

Rank: Junior Member

Posts: 36

Join Date: March 12, 2011

Recent Posts

Thanks Maolin,

I had gone through some adjustments and it worked, but it was a result of trial and error, It would be fine if there were a clear guide to do that.
Shahista Shaikh
RE: Mobile device recognition in 6.1 GA - Provider not found?
May 28, 2013 4:02 AM
Answer

Shahista Shaikh

Rank: New Member

Posts: 8

Join Date: May 28, 2013

Recent Posts

Hi Abhishek,
I'm pleased to hear that you successfully used Mobile Device Rules in Liferay 6.0.6 & it worked fine for you.I'm struggling to achieve the same as I'm using Liferay 6.0.6,but I'm facing problems.Can you please send me the steps you followed.I would really appreciate it if you send me the war files you deployed on your side for the ext,hook & wurfl.

I imported the war files from Milen's blog & exported them in the foll. order 1st the ext,the hooks & wurfl.
The issue while exporting the wurfl war is as follows:
log4j:ERROR Could not instantiate appender named "CONSOLE".
09:28:40,080 ERROR [ContextLoader:220] Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'messagingConfigurator' defined i
n ServletContext resource [/WEB-INF/classes/META-INF/wurfl-spring.xml]: Invocation of init method failed; nested excepti
on is java.lang.IllegalStateException: Destination commsen/device_recognition_provider is not configured.

I hope you help me on this.I'm trying this out desperately.Thanks a lot in advance.
Milen Dyankov
RE: Mobile device recognition in 6.1 GA - Provider not found?
May 28, 2013 4:32 AM
Answer

Milen Dyankov

LIFERAY STAFF

Rank: Regular Member

Posts: 219

Join Date: October 30, 2012

Recent Posts

Did you try with real device or some kind of emulator? If you are using emulator (or things like Firefox's user agent switcher) be aware that the device information is stored is the session during it's creation and not updated later on. So if you first access your site with regular Firefox UA and then change it to some other it will not work unless you remove the cookies!
Milen Dyankov
RE: Mobile device recognition in 6.1 GA - Provider not found?
May 28, 2013 4:37 AM
Answer

Milen Dyankov

LIFERAY STAFF

Rank: Regular Member

Posts: 219

Join Date: October 30, 2012

Recent Posts

Milen Dyankov
RE: Mobile device recognition in 6.1 GA - Provider not found?
May 28, 2013 4:39 AM
Answer

Milen Dyankov

LIFERAY STAFF

Rank: Regular Member

Posts: 219

Join Date: October 30, 2012

Recent Posts

See my comment in the other thread: http://www.liferay.com/community/forums/-/message_boards/view_message/25133891
Amit Doshi
RE: Mobile device recognition in 6.1 GA - Provider not found?
May 28, 2013 5:10 AM
Answer

Amit Doshi

Rank: Liferay Master

Posts: 543

Join Date: December 29, 2010

Recent Posts

Hi All,

Please check this blog for step by step guidelines on the Mobile Theme and Device Detection.

Thanks & Regards,
Amit Doshi
Shahista Shaikh
RE: Mobile device recognition in 6.1 GA - Provider not found?
May 29, 2013 4:33 AM
Answer

Shahista Shaikh

Rank: New Member

Posts: 8

Join Date: May 28, 2013

Recent Posts

Hi Juan,
I'm desperately trying Mobile Web Development by following instructions on Milen's blog.I'm using Liferay 6.0.6.I had a long conversation with Milen yesterday under the Forum Liferay for Mobile Web Development??? .
I incorporated the changes of ServicePreAction.java (Liferay 6.0.6) into ServicePreActionExt.java.I looked for other core files in com.liferay package but there weren't any changes there.

But after deploying I got the same error mentioned below:

08:40:34,456 ERROR [ExtHotDeployListener:180] Extension environment for liferay-multi-device-ext cannot be applied because of detected conflicts:
multi-device-ext:
ext-impl/classes/META-INF/multi-device-spring.xml
ext-impl/classes/com/commsen/liferay/multidevice/DefaultDeviceRecognitionProvider.class
ext-impl/classes/com/commsen/liferay/multidevice/DeviceRecognitionDestinationEventListener.class
ext-impl/classes/com/commsen/liferay/multidevice/DeviceRecognitionMessageListener.class
ext-impl/classes/com/commsen/liferay/multidevice/DeviceRecognitionProviderDelegate.class
ext-impl/classes/com/commsen/liferay/multidevice/NoKnownDevices.class
ext-impl/classes/com/commsen/liferay/multidevice/UnknownDevice.class
ext-impl/classes/com/commsen/liferay/multidevice/rules/DefaultDeviceRulesProvider.class
ext-impl/classes/com/commsen/liferay/multidevice/rules/DeviceRulesDestinationEventListener.class
ext-impl/classes/com/commsen/liferay/multidevice/rules/DeviceRulesMessageListener.class
ext-impl/classes/com/commsen/liferay/multidevice/rules/DeviceRulesProviderDelegate.class
ext-impl/classes/com/liferay/portal/events/ServicePreActionExt.class
ext-impl/classes/com/liferay/portlet/communities/action/MultideviceEditPagesAction.class
ext-impl/classes/com/liferay/portlet/grouppages/action/MultideviceEditPagesAction.class
ext-lib/global/.gitignore
ext-lib/portal/.gitignore
ext-service/classes/com/commsen/liferay/multidevice/AbstractDevice.class
ext-service/classes/com/commsen/liferay/multidevice/CapabilityValue.class
ext-service/classes/com/commsen/liferay/multidevice/Device.class
ext-service/classes/com/commsen/liferay/multidevice/DeviceRecognitionProvider.class
ext-service/classes/com/commsen/liferay/multidevice/DevicesUtil.class
ext-service/classes/com/commsen/liferay/multidevice/KnownDevices.class
ext-service/classes/com/commsen/liferay/multidevice/MultideviceConstants.class
ext-service/classes/com/commsen/liferay/multidevice/VersionableName.class
ext-service/classes/com/commsen/liferay/multidevice/VersionableNameImpl.class
ext-service/classes/com/commsen/liferay/multidevice/command/ActionForDeviceCommand.class
ext-service/classes/com/commsen/liferay/multidevice/command/DeviceCommand.class
ext-service/classes/com/commsen/liferay/multidevice/command/DeviceFromRequestCommand.class
ext-service/classes/com/commsen/liferay/multidevice/command/KnownDevicesCommand.class
ext-service/classes/com/commsen/liferay/multidevice/command/RulesListCommand.class
ext-service/classes/com/commsen/liferay/multidevice/rules/DeviceRulesProvider.class
ext-service/classes/com/commsen/liferay/multidevice/rules/DeviceRulesUtil.class
ext-service/classes/com/commsen/liferay/multidevice/rules/RuleInfo.class
ext-service/classes/com/commsen/liferay/multidevice/rules/ThemeAndColorScheme.class
ext-service/classes/com/commsen/liferay/multidevice/rules/actions/ChangeThemeAction.class
ext-service/classes/com/commsen/liferay/multidevice/rules/actions/DeviceAction.class
ext-service/classes/com/commsen/liferay/multidevice/rules/actions/NoAction.class
ext-service/classes/com/commsen/liferay/multidevice/rules/actions/RedirectAction.class
ext-util-bridges/classes/.gitignore
ext-util-java/classes/.gitignore
ext-util-taglib/classes/.gitignore
ext-web/docroot/WEB-INF/liferay-portlet-ext.xml
ext-web/docroot/WEB-INF/portlet-ext.xml
ext-web/docroot/WEB-INF/struts-config-ext.xml
ext-web/docroot/WEB-INF/tiles-defs-ext.xml
ext-web/docroot/WEB-INF/web.xml

After that I imported the source code for hooks but
the jsps under the below dir. show errors.You can have a look at them in the attachment.
/device-rules-hook/WebContent/WEB-INF/jsps/html/portlet/communities/edit_pages.jsp

Your help is greatly appreciated.
Attachment

Attachments: Device-rules-hook.png (55.0k)
Raju oukanti
RE: Mobile device recognition in 6.1 GA - Provider not found?
September 2, 2013 11:25 AM
Answer

Raju oukanti

Rank: Junior Member

Posts: 86

Join Date: February 20, 2012

Recent Posts

Hi ,
Could you please provide the installation steps of liferay multi device extension plugin.If possible provide the wurfl-web,multi device ext,device rules plugins which supports liferay 6.0.6 version .And also please tell where will we read the wurfl-latest.zip file.I tried myself but i am getting the following errors

DeviceRecognitionProviderDelegate:71] Failed to get device from request!
com.liferay.portal.kernel.messaging.MessageBusException: No reply received for message: {destinationName=commsen/device_recognition_provider, responseDestinationName=commsen/device_recognition_provider/response, responseId=33c0185d-840d-441d-97a8-54fbccb6dbcb, payload=com.commsen.liferay.multidevice.command.DeviceFromRequestCommand@119ca6a, values=null}
at com.liferay.portal.kernel.messaging.sender.SynchronousMessageListener.send(SynchronousMessageListener.java:65)
at com.liferay.portal.kernel.messaging.sender.DefaultSynchronousMessageSender.send(DefaultSynchronousMessageSender.java:104)
at com.liferay.portal.kernel.messaging.sender.DefaultSynchronousMessageSender.send(DefaultSynchronousMessageSender.java:50)
at com.liferay.portal.kernel.messaging.MessageBusUtil._sendSynchronousMessage(MessageBusUtil.java:196)
at com.liferay.portal.kernel.messaging.MessageBusUtil._sendSynchronousMessage(MessageBusUtil.java:217)
at com.liferay.portal.kernel.messaging.MessageBusUtil.sendSynchronousMessage(MessageBusUtil.java:122)
at com.commsen.liferay.multidevice.DeviceRecognitionProviderDelegate.getDeviceFromRequest(DeviceRecognitionProviderDelegate.java:60)
at com.commsen.liferay.multidevice.DevicesUtil.getDeviceFromRequest(DevicesUtil.java:67)
at com.commsen.liferay.wurfl.WurflDeviceRecognitionProvider.getDeviceFromRequest(WurflDeviceRecognitionProvider.java:48)
at com.commsen.liferay.multidevice.DeviceRecognitionMessageListener.receive(DeviceRecognitionMessageListener.java:49)

Please help me ASAP

Thanks,

Raju