掲示板

Liferay for Mobile Web Development???

13年前 に doan van によって更新されました。

Liferay for Mobile Web Development???

New Member 投稿: 5 参加年月日: 11/01/06 最新の投稿
Hi all,

I'm taking consideration of using Liferay portal for Mobile Web Development. Therefore, it's good for me to listen to your experiences or helpful suggestions. My idea is as follows:

The portal is the "root" that will generate two different presentation layers.
1. UI for full browsers (access from laptop, pc)
2. UI for full browsers (access from smart phones or high-end phones)
3. Basic UI for very basic browsers (access from mid-end phones) Not required any more

Any replies would be highly appreciated. Thank you so much!
13年前 に doan van によって更新されました。

RE: Liferay for Mobile Web Development???

New Member 投稿: 5 参加年月日: 11/01/06 最新の投稿
80 views in 10 ten days and 0 reply recorded. I didn't ask in the right thread, did I?
thumbnail
13年前 に Mika Koivisto によって更新されました。

RE: Liferay for Mobile Web Development???

Liferay Legend 投稿: 1519 参加年月日: 06/08/07 最新の投稿
Probably not that many people have work on multichannel publishing so that might be reason for lack of replies. I'm no expert but I would separate the smartphone and regular browse into different sites (communities) so that you can provide better experience for smartphone users.
13年前 に doan van によって更新されました。

RE: Liferay for Mobile Web Development???

New Member 投稿: 5 参加年月日: 11/01/06 最新の投稿
Thanks for your suggestion, Mika Koivisto. If so, things would be much easier. We'd like to 'merge' three into one 'cause this helps us to maintain services smoothly later on.

Image we have to deploy a new service and it's obviously double work when we have two separate sites.

However, your idea gave me another thought. Now it's only necessary to support two layers.
1. For pc/laptop browsers
2. For smart or high-end phones

Mid and low-end support is not required any more.

Mika Koivisto:
Probably not that many people have work on multichannel publishing so that might be reason for lack of replies. I'm no expert but I would separate the smartphone and regular browse into different sites (communities) so that you can provide better experience for smartphone users.
thumbnail
13年前 に Jay Patel によって更新されました。

RE: Liferay for Mobile Web Development???

Regular Member 投稿: 118 参加年月日: 10/02/24 最新の投稿
I completely agree with your approach.

In real business scenario, it is must to manage content of Smart-phones & regular browsers separately & hence there is a need to manage this content in different community.

And then based on headers & user-agent in request, control can be forwarded to particular community & theme can be set dynamically as well.

Liferay with its older version also, is capable of deliver such a solution.

With appropriate use of classes like ServicePreAction & BrowserSnifferUtil, we can deliver this.

For referrence, try one such solution built on Liferay.

Try visiting following site on regular browser, Smartphones (like BlackBerrys)& iPhone:

http://www.eamobile.com/


Cheersemoticon
thumbnail
12年前 に Steffen Schuler によって更新されました。

RE: Liferay for Mobile Web Development???

Regular Member 投稿: 137 参加年月日: 08/05/12 最新の投稿
I'am currently evaluating simple and elegant adaptive css frameworks like stacklayout.com. The nice thing with these frameworks is the ability to adapt according to the viewport. This means, page fragments (webcontent/login/etc) are layedout differently according to the available space... e.g. if you have a two columns layout, this will become a single column layout.

Desktop:
---------- ----------

Mobile:
----------
----------

What do you think about this approach?
thumbnail
13年前 に Maarten van Heiningen によって更新されました。

RE: Liferay for Mobile Web Development???

Regular Member 投稿: 174 参加年月日: 09/02/05 最新の投稿
Hi Doan,

You have option to present different types of visual presentation af the same content.

By default liferay will enable you to serve your content to fully webbrowser capable devises.
The second presentation posibility is for WAP enabled devices. This will show the same content but then stripped of all extras.

Now if you would like to create three UI versions of the same content you have to create a theme which allows you to switch layouts and styles based upon the browser or devices capabilities.

To get this done is by accessing the user agent request and based on the result present or a different sub theme or a diffent stylesheet.

If you need any help please let me know. You can always post these messages in the forum section about themes Liferay themes forum

Maarten
13年前 に doan van によって更新されました。

RE: Liferay for Mobile Web Development???

New Member 投稿: 5 参加年月日: 11/01/06 最新の投稿
Thank you Maarten and Milen. We clearly meet two problems.

The first one is device detection as you mentioned and it's not really an impossible task if we ourselves check user-agent or use wurfl. --> solved

The second one is render that is supposed to generate right content based on user-agent. I tried in vain in finding out a third-party api.

@Milen: Please update your work if you get any progress. I'm willing to join in if you don't mind.

Now my purpose is supporting only two ui layers. One for normal browsers and the other for browsers of smart-phones or high-end phones.
thumbnail
13年前 に Milen Dyankov によって更新されました。

RE: Liferay for Mobile Web Development???

Regular Member 投稿: 171 参加年月日: 09/09/23 最新の投稿
I'm glad you guys are interested and willing to help. I'll do my best to put the code together and make it public during the weekend. I'll post here to let you know but you can also monitor my GitHub repo. It will be a new project.
thumbnail
13年前 に Milen Dyankov によって更新されました。

RE: Liferay for Mobile Web Development???

Regular Member 投稿: 171 参加年月日: 09/09/23 最新の投稿
Hi guys,

I finally managed to put all my experimental peaces of code together into a project called liferay-multi-device-ext. It took me a while to do so and while it's far from ready, it works (sometimes) and can give you an idea of what it will be one day. In case you are still willing to test/help here is mini installation tutorial:

  • make sure you have clean install of Liferay 6.0.5 (the ext plugin was not tested and may brake you liferay instance)
  • you'll need Liferay SDK 6.0.5 configured to deploy plugins to the above mentioned clean Liferay Portal
  • download or checkout liferay-multi-device-ext into <liferay-sdk-6.0.5>/ext/multi-device-ext folder
  • create ThemeRule table by executing appropriate for your database SQL script from https://github.com/azzazzel/liferay-multi-device-ext/tree/master/docroot/WEB-INF/sql/tables. If you are using Hipersonic you can start database manager like this
    java -cp liferay-portal-6.0.5/tomcat-6.0.26/lib/ext/hsql.jar org.hsqldb.util.DatabaseManager

  • download latest WURFL repository and save the zip into <liferay-portal-6.0.5>/wurfl directory (create it). You can actually place it anywhere and add appropriate paths in portal-ext.properties:

    # Wurfl's main devices file
    wurfl.main=${liferay.home}/wurfl/wurfl-latest.zip
    
    # Wurfl's patch files
    wurfl.patches=

  • with portal not running go to <liferay-sdk-6.0.5>/ext/multi-device-ext and execute ant direct-deploy
  • start liferay


Once the portal is running, log in and go to "Manage" > "Page" > "Look and Feel" and you should see new tab called themes-rules (I'm sorry for the name, I didn't have the time to play with resource bundles). I'm attaching a screenshot so that you know what to expect.

There you can add as many rules as you wish. If more than one rule matches the one with higher priority (lower number) is applied. For example, have a look at the second screenshot, where 4 rules are defined.

  • If user is using iPad (or any other tablet) he will see Murali theme.
  • If user is using iPhone he will see Spurt(red) theme
  • If user is using any other device with iPhoneOS (for example iPod) he will see Spurt(Blue) theme
  • If user is using any other device with Android OS he will see Coffe N Cream theme
  • all other users will see default community theme


To test it I used User Agent Switcher but if you have a chance to test it with real devices and share your results it will be great. Of course all other comments, feedback and constructive criticism are highly welcomed.
13年前 に van doan によって更新されました。

RE: Liferay for Mobile Web Development???

New Member 投稿: 5 参加年月日: 11/01/06 最新の投稿
It sounds interesting! Bravo, Milen. I'll take a look at this asap.
thumbnail
13年前 に Nandula Bala によって更新されました。

RE: Liferay for Mobile Web Development???

New Member 投稿: 4 参加年月日: 11/01/28 最新の投稿
Hi

I am facing a build problem. The following line in build-common-ext under ext folder is throwing the error.

..\ext\build-common-ext.xml:123: The following error occurred while executing this line:
..\ext\build-common-ext.xml:169: The following error occurred while executing this line:
..\ext\multi-device-ext\docroot\WEB-INF\ext-lib\global does not exist.

ext-lib only has portal sub folder. global subfolder is missing. Can you append the zip with the missing folder?
thumbnail
13年前 に Milen Dyankov によって更新されました。

RE: Liferay for Mobile Web Development???

Regular Member 投稿: 171 参加年月日: 09/09/23 最新の投稿
Ooops, my fault. I keep forgetting Git does not manage folders and files but content. And since empty folder is not a content emoticon it's not in the repo.

I'll fix the repo but meanwhile simply create an empty folder called "global" in "..\ext\multi-device-ext\docroot\WEB-INF\ext-lib\" and it should be OK.
thumbnail
13年前 に Milen Dyankov によって更新されました。

RE: Liferay for Mobile Web Development???

Regular Member 投稿: 171 参加年月日: 09/09/23 最新の投稿
Well actually creating empty "global" folder is not enough. It seems the same problem is with:

multi-device-ext/docroot/WEB-INF/ext-util-bridges/src
multi-device-ext/docroot/WEB-INF/ext-util-java/src
multi-device-ext/docroot/WEB-INF/ext-util-taglibs/src

folders. I just fixed the repo so please pull/download again or simply create the above folders.
thumbnail
13年前 に Nandula Bala によって更新されました。

RE: Liferay for Mobile Web Development???

New Member 投稿: 4 参加年月日: 11/01/28 最新の投稿
While the build problem is resolved(obtained all the stuff from ext.zip already downloaded) and having deployed the extension plugin with MySQL as database server, the following errors are coming through:

1. ERROR [PluginPackageUtil:1127] Unable to load repository http://plugins.liferay.com/official - This is already reported however need to see the solution.

2. ERROR [MainServlet:310] com.liferay.portal.kernel.events.ActionException: java.lang.IllegalArgumentException

Caused by: java.net.URISyntaxException: Illegal character in opaque part at index 2: <<Liferay Home>>\wurfl\wurfl-latest.zip
at java.net.URI$Parser.fail(URI.java:2809)
at java.net.URI$Parser.checkChars(URI.java:2982)
at java.net.URI$Parser.parse(URI.java:3019)
at java.net.URI.<init>(URI.java:578)
at java.net.URI.create(URI.java:840)
thumbnail
13年前 に Milen Dyankov によって更新されました。

RE: Liferay for Mobile Web Development???

Regular Member 投稿: 171 参加年月日: 09/09/23 最新の投稿
Nandula Bala:

1. ERROR [PluginPackageUtil:1127] Unable to load repository http://plugins.liferay.com/official - This is already reported however need to see the solution.


This is not related to the plugin. You are probably getting the same error while running clean Liferay install. Most often it happens when there is a proxy server used to connect to internet. If this is the case add the following to JVM parameters:

-Dhttp.proxyHost=<proxy_hostname> -Dhttp.proxyPort=<proxy_port>
</proxy_port></proxy_hostname>


If you are using Tomcat bundle the JAVA_OPTS are usually found in
Linux: <liferay_bundle>/<tomcat_dir>/bin/set_env.sh
Windows: <liferay_bundle>/<tomcat_dir>/bin/set_env.bat

Nandula Bala:

2. ERROR [MainServlet:310] com.liferay.portal.kernel.events.ActionException: java.lang.IllegalArgumentException

Caused by: java.net.URISyntaxException: Illegal character in opaque part at index 2: <<Liferay Home>>\wurfl\wurfl-latest.zip
at java.net.URI$Parser.fail(URI.java:2809)
at java.net.URI$Parser.checkChars(URI.java:2982)
at java.net.URI$Parser.parse(URI.java:3019)
at java.net.URI.<init>(URI.java:578)
at java.net.URI.create(URI.java:840)


Not sure if you in fact have the text <<Liferay Home>> in the logs or you replaced the actual path in the post. Anyway the problem is this path contains invalid characters. Try to place wurfl-latest.zip in a location free of white spaces and international characters. For example /home/<USERNAME>/wurfl/wurfl-latest.zip on Linux or c:\wurfl\wurfl-latest.zip on Widnows. Then overwrite the wurfl.main property in <LIFERAY_HOME>/portal-ext.properties like this:

Linux

wurfl.main=/home/<username>/wurfl/wurfl-latest.zip
</username>

Windows

wurfl.main=c:/wurfl/wurfl-latest.zip
thumbnail
13年前 に Nandula Bala によって更新されました。

RE: Liferay for Mobile Web Development???

New Member 投稿: 4 参加年月日: 11/01/28 最新の投稿
Finally i could make it work. But Still not able to view the themes in the selection as highlighted in the snapshot. Have i missed adding theme related entries in configuration file or soemoticon?
thumbnail
13年前 に Milen Dyankov によって更新されました。

RE: Liferay for Mobile Web Development???

Regular Member 投稿: 171 参加年月日: 09/09/23 最新の投稿
I'm not sure I understand what you mean by "not able to view the themes in the selection". Do you mean no themes are showing in the dialog box? Or you simply don't see the images in the rules table?
thumbnail
13年前 に Nandula Bala によって更新されました。

RE: Liferay for Mobile Web Development???

New Member 投稿: 4 参加年月日: 11/01/28 最新の投稿
Sorry about delayed response.

I am able to see the theme-rule navigational link and after selecting the details , under "then apply theme" condition where we need to select the theme as shown in your snapshot,"Murali / Spurt /...." these themes are not getting listed for me to select and so i am selecting the existing themes and save the options.

On completion i am seeing a rule getting created @ DB. So i wanted to check why the themes are not getting displayed for me to select as part of the second step.

Regards
Bala
thumbnail
13年前 に Milen Dyankov によって更新されました。

RE: Liferay for Mobile Web Development???

Regular Member 投稿: 171 参加年月日: 09/09/23 最新の投稿
The popup should contain all themes (and color schemes) installed in Liferay. Do you have Murali and Spurt themes installed? If no, then go to Control Panel > Plugin Installation > Theme Plugins and click on Install More Themes button. If you have the themes installed and still don't see them in the pop-up check if the same user has the right to apply them in the traditional way: Look and Feel > Regular Browsers > Themes
13年前 に Marcin Susel によって更新されました。

RE: Liferay for Mobile Web Development???

New Member 投稿: 4 参加年月日: 11/03/03 最新の投稿
Hi

First I have to say that I really appreciate your work! I was looking for a way to do this and there we go!

Now for the bad side, I am getting this message from Tomcat right after it starts up:

got message: com.commsen.liferay.multidevice.command.DeviceFromRequestCommand
04:53:15,015 WARN [DefaultDeviceRecognitionProvider:42] DEVICE RECOGNITION PROVIDER NOT INSTALLED! UNABLE TO RECOGNIZE USER'S DEVICE!
Device is: Device(brand:unknown, model:unknown, os:unknown, osVersion:unknown, browser:unknown, browserVersion:unknown, pointingMethod:unknown, isTablet:false, hasQwertyKeyboard:true)


got message: com.commsen.liferay.multidevice.command.ThemeForDeviceCommand


I checked everything I could think of:

added those lines to portal-ext.properties of ROOT app:
# Wurfl's main devices file
wurfl.main=C:/liferay/liferay-portal-6.0.5/wurfl/wurfl-latest.zip

# Wurfl's patch files
wurfl.patches=

I tried with an unzipped file as well.

The only thing I was not able to do was to run the SQL script you mentioned in your setup instructions because the location where you link points to gives 404.

What am I missing here?

Thanks for your help!
thumbnail
13年前 に Milen Dyankov によって更新されました。

RE: Liferay for Mobile Web Development???

Regular Member 投稿: 171 参加年月日: 09/09/23 最新の投稿
Hi Marcin,

the instruction above regards the first version of multi-device-ext where everything was in one ext plug-in. To get this version you need to switch from master branch to BEFORE_SPLIT tag in GitHub. Here is direct URL: https://github.com/azzazzel/liferay-multi-device-ext/tree/BEFORE_SPLIT

What has changed recently is that multi-device-ext was splitted into few separate modules. See this issue for more details. This approach allows to extend the multi-device-ext with different device recognition providers and rule builders.

The bottom line is apart from liferay-multi-device-ext you need to install liferay-wurfl-web and liferay-theme-rules-hook to make it work.
thumbnail
13年前 に Milen Dyankov によって更新されました。

RE: Liferay for Mobile Web Development???

Regular Member 投稿: 171 参加年月日: 09/09/23 最新の投稿
Just in case someone is still interested, the first version of Liferay multidevice extentions was released a few days ago. As I mentioned earlier there are 3 extensions that play together to provide the functionality:

  • multi-device-ext
  • wurfl-web
  • device-rules-hook

See my blog post for more details. The binaries are available on SourceForge.

Of course any feedback is highly welcomed.
thumbnail
12年前 に Pham Hoai Van によって更新されました。

RE: Liferay for Mobile Web Development???

New Member 投稿: 10 参加年月日: 11/03/21 最新の投稿
Hi Milen

I tried your plugins with my liferay instance and got this exception:

08:00:09,454 ERROR [PortalInstances:221] com.liferay.portal.NoSuchGroupException: No Group exists with the key {companyId=10109, name=Guest}
com.liferay.portal.NoSuchGroupException: No Group exists with the key {companyId=10109, name=Guest}
	at com.liferay.portal.service.persistence.GroupPersistenceImpl.findByC_N(GroupPersistenceImpl.java:1273)
	at com.liferay.portal.service.impl.GroupLocalServiceImpl.getGroup(GroupLocalServiceImpl.java:522)
	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.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
	at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:86)
	at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
	at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
	at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
	at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
	at $Proxy28.getGroup(Unknown Source)
	at com.liferay.portal.service.GroupLocalServiceUtil.getGroup(GroupLocalServiceUtil.java:302)
	at com.liferay.portal.util.PortalInstances._getCompanyId(PortalInstances.java:208)
	at com.liferay.portal.util.PortalInstances.getCompanyId(PortalInstances.java:66)
	at com.liferay.portal.servlet.filters.absoluteredirects.AbsoluteRedirectsFilter.processFilter(AbsoluteRedirectsFilter.java:61)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)


I set portal context as http://server/portal and it redirects me to http://server/web/guest everytime. Could you point me where i can fix this?

Thank you very much for your contribution.
thumbnail
12年前 に Milen Dyankov によって更新されました。

RE: Liferay for Mobile Web Development???

Regular Member 投稿: 171 参加年月日: 09/09/23 最新の投稿
Non of this seems to be related to mobile device plugins. The error says there is no group (community or organization) with id 10109. It's most likely a configuration or database inconsistence issue.
12年前 に Jaspal Dhillon によって更新されました。

RE: Liferay for Mobile Web Development???

New Member 投稿: 2 参加年月日: 11/07/07 最新の投稿
My environment is liferay 6.0.6 on windows xp with java sdk 1.6 . I did an ant deploy in the plugin folder and after that restarted liferay and got the following output :

2011-07-21 06:32:24,460 WARN  [org.jboss.annotation.factory.AnnotationCreator] (main) No ClassLoader provided, using TCCL: org.jboss.managed.api.annotation.ManagementComponent
2011-07-21 06:32:24,553 WARN  [org.jboss.annotation.factory.AnnotationCreator] (main) No ClassLoader provided, using TCCL: org.jboss.managed.api.annotation.ManagementComponent
2011-07-21 06:32:24,600 INFO  [com.arjuna.ats.jbossatx.jta.TransactionManagerService] (main) JBossTS Transaction Service (JTA version - tag:JBOSSTS_4_6_1_GA) - JBoss Inc.
2011-07-21 06:32:24,600 INFO  [com.arjuna.ats.jbossatx.jta.TransactionManagerService] (main) Setting up property manager MBean and JMX layer
2011-07-21 06:32:24,835 INFO  [com.arjuna.ats.jbossatx.jta.TransactionManagerService] (main) Initializing recovery manager
2011-07-21 06:32:25,100 INFO  [com.arjuna.ats.jbossatx.jta.TransactionManagerService] (main) Recovery manager configured
2011-07-21 06:32:25,100 INFO  [com.arjuna.ats.jbossatx.jta.TransactionManagerService] (main) Binding TransactionManager JNDI Reference
2011-07-21 06:32:25,131 INFO  [com.arjuna.ats.jbossatx.jta.TransactionManagerService] (main) Starting transaction recovery manager
2011-07-21 06:32:25,506 INFO  [org.apache.catalina.core.AprLifecycleListener] (main) The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.6.0_25\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\RSA SecurID Token Common;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\TortoiseSVN\bin;C:\Program Files\Nmap;C:\Documents and Settings\jdhillon\My Documents\Downloads\apache-ant-1.8.2\bin;C:\Program Files\Java\jdk1.6.0_25\lib;C:\Program Files\Java\jdk1.6.0_25\bin;C:\Program Files\Java\jdk1.6.0_25\lib
2011-07-21 06:32:25,585 INFO  [org.apache.coyote.http11.Http11Protocol] (main) Initializing Coyote HTTP/1.1 on http-127.0.0.1-8080
2011-07-21 06:32:25,585 INFO  [org.apache.coyote.ajp.AjpProtocol] (main) Initializing Coyote AJP/1.3 on ajp-127.0.0.1-8009
2011-07-21 06:32:25,616 INFO  [org.apache.catalina.core.StandardService] (main) Starting service jboss.web
2011-07-21 06:32:25,616 INFO  [org.apache.catalina.core.StandardEngine] (main) Starting Servlet Engine: JBoss Web/2.1.3.GA
2011-07-21 06:32:25,663 INFO  [org.apache.catalina.startup.Catalina] (main) Server startup in 79 ms
2011-07-21 06:32:25,678 INFO  [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (main) deploy, ctxPath=/invoker
2011-07-21 06:32:26,491 INFO  [org.jboss.resource.deployers.RARDeployment] (main) Required license terms exist, view vfsfile:/C:/Progress/bundles/jboss-5.1.0/server/default/deploy/jboss-local-jdbc.rar/META-INF/ra.xml
2011-07-21 06:32:26,491 INFO  [org.jboss.resource.deployers.RARDeployment] (main) Required license terms exist, view vfsfile:/C:/Progress/bundles/jboss-5.1.0/server/default/deploy/jboss-xa-jdbc.rar/META-INF/ra.xml
2011-07-21 06:32:27,038 INFO  [org.jboss.resource.connectionmanager.ConnectionFactoryBindingService] (main) Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=DefaultDS' to JNDI name 'java:DefaultDS'
2011-07-21 06:32:27,069 INFO  [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (main) deploy, ctxPath=/
2011-07-21 06:32:27,850 INFO  [com.liferay.portal.kernel.util.ServerDetector] (main) Detected server jboss
2011-07-21 06:32:27,991 INFO  [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/]] (main) Initializing Spring root WebApplicationContext
2011-07-21 06:32:35,788 INFO  [com.liferay.portal.spring.hibernate.DialectDetector] (main) Determining dialect for HSQL Database Engine 1
2011-07-21 06:32:35,788 WARN  [com.liferay.portal.spring.hibernate.DialectDetector] (main) Liferay is configured to use Hypersonic as its database. Do NOT use Hypersonic in production. Hypersonic is an embedded database useful for development and demo'ing purposes. The database settings can be changed in portal.properties.
2011-07-21 06:32:35,928 INFO  [com.liferay.portal.spring.hibernate.DialectDetector] (main) Using dialect org.hibernate.dialect.HSQLDialect
2011-07-21 06:32:40,866 INFO  [com.liferay.portal.util.PortalImpl] (main) Global lib directory 
2011-07-21 06:32:40,882 INFO  [com.liferay.portal.util.PortalImpl] (main) Portal lib directory /C:/Progress/bundles/jboss-5.1.0/server/default/deploy/ROOT.war/WEB-INF/lib/
2011-07-21 06:33:00,241 ERROR [org.springframework.web.context.ContextLoader] (main) Context initialization failed
org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [com.commsen.liferay.multidevice.DevicesUtil] for bean with name 'com.commsen.liferay.multidevice.DevicesUtil' defined in class path resource [META-INF/multi-device-spring.xml]; nested exception is java.lang.ClassNotFoundException: com.commsen.liferay.multidevice.DevicesUtil
	at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1250)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:576)
	at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1319)
	at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:885)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:562)
	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.PortalContextLoaderListener.contextInitialized(PortalContextLoaderListener.java:47)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3910)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4393)
	at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:310)
	at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java:142)
	at org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:461)
	at org.jboss.web.deployers.WebModule.startModule(WebModule.java:118)
	at org.jboss.web.deployers.WebModule.start(WebModule.java:97)
	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
	at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:206)
	at $Proxy38.start(Unknown Source)
	at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:42)
	at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:37)
	at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
	at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
	at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
	at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
	at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:286)
	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
	at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
	at org.jboss.system.ServiceController.doChange(ServiceController.java:688)
	at org.jboss.system.ServiceController.start(ServiceController.java:460)
	at org.jboss.system.deployers.ServiceDeployer.start(ServiceDeployer.java:163)
	at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:99)
	at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:46)
	at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)
	at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
	at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
	at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
	at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
	at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1178)
	at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
	at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
	at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
	at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)
	at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:702)
	at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)
	at org.jboss.system.server.profileservice.repository.ProfileDeployAction.install(ProfileDeployAction.java:70)
	at org.jboss.system.server.profileservice.repository.AbstractProfileAction.install(AbstractProfileAction.java:53)
	at org.jboss.system.server.profileservice.repository.AbstractProfileService.install(AbstractProfileService.java:361)
	at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
	at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
	at org.jboss.system.server.profileservice.repository.AbstractProfileService.activateProfile(AbstractProfileService.java:306)
	at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:271)
	at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:461)
	at org.jboss.Main.boot(Main.java:221)
	at org.jboss.Main$1.run(Main.java:556)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.ClassNotFoundException: com.commsen.liferay.multidevice.DevicesUtil
	at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
	at org.springframework.util.ClassUtils.forName(ClassUtils.java:257)
	at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:408)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1271)
	at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1242)
	... 79 more
2011-07-21 06:33:00,288 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/]] (main) Exception sending context initialized event to listener instance of class com.liferay.portal.spring.context.PortalContextLoaderListener
org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [com.commsen.liferay.multidevice.DevicesUtil] for bean with name 'com.commsen.liferay.multidevice.DevicesUtil' defined in class path resource [META-INF/multi-device-spring.xml]; nested exception is java.lang.ClassNotFoundException: com.commsen.liferay.multidevice.DevicesUtil
	at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1250)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:576)
	at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1319)
	at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:885)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:562)
	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.PortalContextLoaderListener.contextInitialized(PortalContextLoaderListener.java:47)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3910)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4393)
	at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:310)
	at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java:142)
	at org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:461)
	at org.jboss.web.deployers.WebModule.startModule(WebModule.java:118)
	at org.jboss.web.deployers.WebModule.start(WebModule.java:97)
	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
	at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:206)
	at $Proxy38.start(Unknown Source)
	at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:42)
	at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:37)
	at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
	at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
	at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
	at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
	at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:286)
	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
	at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
	at org.jboss.system.ServiceController.doChange(ServiceController.java:688)
	at org.jboss.system.ServiceController.start(ServiceController.java:460)
	at org.jboss.system.deployers.ServiceDeployer.start(ServiceDeployer.java:163)
	at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:99)
	at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:46)
	at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)
	at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
	at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
	at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
	at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
	at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1178)
	at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
	at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
	at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
	at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)
	at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:702)
	at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)
	at org.jboss.system.server.profileservice.repository.ProfileDeployAction.install(ProfileDeployAction.java:70)
	at org.jboss.system.server.profileservice.repository.AbstractProfileAction.install(AbstractProfileAction.java:53)
	at org.jboss.system.server.profileservice.repository.AbstractProfileService.install(AbstractProfileService.java:361)
	at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
	at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
	at org.jboss.system.server.profileservice.repository.AbstractProfileService.activateProfile(AbstractProfileService.java:306)
	at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:271)
	at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:461)
	at org.jboss.Main.boot(Main.java:221)
	at org.jboss.Main$1.run(Main.java:556)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.ClassNotFoundException: com.commsen.liferay.multidevice.DevicesUtil
	at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
	at org.springframework.util.ClassUtils.forName(ClassUtils.java:257)
	at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:408)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1271)
	at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1242)
	... 79 more
2011-07-21 06:33:00,288 ERROR [org.apache.catalina.core.StandardContext] (main) Error listenerStart
2011-07-21 06:33:00,304 ERROR [org.apache.catalina.core.StandardContext] (main) Context [] startup failed due to previous errors
2011-07-21 06:33:00,304 INFO  [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/]] (main) Closing Spring root WebApplicationContext
2011-07-21 06:33:00,304 INFO  [com.liferay.portal.kernel.deploy.hot.HotDeployUtil] (main) Initializing hot deploy manager 10109316
2011-07-21 06:33:00,304 INFO  [com.liferay.portal.kernel.deploy.hot.HotDeployUtil] (main) Initializing hot deploy manager 21191702
2011-07-21 06:33:00,366 ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] (main) Error installing to Start: name=jboss.web.deployment:war=/ state=Create mode=Manual requiredState=Installed
org.jboss.deployers.spi.DeploymentException: URL file:/C:/Progress/bundles/jboss-5.1.0/server/default/deploy/ROOT.war/ deployment failed
	at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:331)
	at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java:142)
	at org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:461)
	at org.jboss.web.deployers.WebModule.startModule(WebModule.java:118)
	at org.jboss.web.deployers.WebModule.start(WebModule.java:97)
	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
	at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:206)
	at $Proxy38.start(Unknown Source)
	at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:42)
	at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:37)
	at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
	at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
	at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
	at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
	at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:286)
	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
	at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
	at org.jboss.system.ServiceController.doChange(ServiceController.java:688)
	at org.jboss.system.ServiceController.start(ServiceController.java:460)
	at org.jboss.system.deployers.ServiceDeployer.start(ServiceDeployer.java:163)
	at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:99)
	at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:46)
	at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)
	at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
	at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
	at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
	at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
	at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1178)
	at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
	at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
	at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
	at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)
	at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:702)
	at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)
	at org.jboss.system.server.profileservice.repository.ProfileDeployAction.install(ProfileDeployAction.java:70)
	at org.jboss.system.server.profileservice.repository.AbstractProfileAction.install(AbstractProfileAction.java:53)
	at org.jboss.system.server.profileservice.repository.AbstractProfileService.install(AbstractProfileService.java:361)
	at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
	at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
	at org.jboss.system.server.profileservice.repository.AbstractProfileService.activateProfile(AbstractProfileService.java:306)
	at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:271)
	at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:461)
	at org.jboss.Main.boot(Main.java:221)
	at org.jboss.Main$1.run(Main.java:556)
	at java.lang.Thread.run(Thread.java:662)
2011-07-21 06:33:00,382 ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] (main) Error installing to Real: name=vfsfile:/C:/Progress/bundles/jboss-5.1.0/server/default/deploy/ROOT.war/ state=PreReal mode=Manual requiredState=Real
org.jboss.deployers.spi.DeploymentException: URL file:/C:/Progress/bundles/jboss-5.1.0/server/default/deploy/ROOT.war/ deployment failed
	at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:331)
	at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java:142)
	at org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:461)
	at org.jboss.web.deployers.WebModule.startModule(WebModule.java:118)
	at org.jboss.web.deployers.WebModule.start(WebModule.java:97)
	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
	at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:206)
	at $Proxy38.start(Unknown Source)
	at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:42)
	at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:37)
	at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
	at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
	at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
	at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
	at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:286)
	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
	at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
	at org.jboss.system.ServiceController.doChange(ServiceController.java:688)
	at org.jboss.system.ServiceController.start(ServiceController.java:460)
	at org.jboss.system.deployers.ServiceDeployer.start(ServiceDeployer.java:163)
	at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:99)
	at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:46)
	at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)
	at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
	at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
	at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
	at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
	at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1178)
	at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
	at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
	at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
	at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)
	at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:702)
	at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)
	at org.jboss.system.server.profileservice.repository.ProfileDeployAction.install(ProfileDeployAction.java:70)
	at org.jboss.system.server.profileservice.repository.AbstractProfileAction.install(AbstractProfileAction.java:53)
	at org.jboss.system.server.profileservice.repository.AbstractProfileService.install(AbstractProfileService.java:361)
	at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
	at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
	at org.jboss.system.server.profileservice.repository.AbstractProfileService.activateProfile(AbstractProfileService.java:306)
	at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:271)
	at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:461)
	at org.jboss.Main.boot(Main.java:221)
	at org.jboss.Main$1.run(Main.java:556)
	at java.lang.Thread.run(Thread.java:662)
2011-07-21 06:33:00,429 INFO  [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (main) deploy, ctxPath=/chat-portlet
2011-07-21 06:33:00,632 INFO  [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (main) deploy, ctxPath=/default-site-templates-hook
2011-07-21 06:33:00,725 INFO  [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (main) deploy, ctxPath=/google-maps-portlet
2011-07-21 06:33:00,975 INFO  [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (main) deploy, ctxPath=/jmx-console
2011-07-21 06:33:01,804 INFO  [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (main) deploy, ctxPath=/kaleo-web
2011-07-21 06:33:02,210 INFO  [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (main) deploy, ctxPath=/liferay-multi-device-ext
2011-07-21 06:33:02,350 INFO  [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (main) deploy, ctxPath=/mail-portlet
2011-07-21 06:33:02,522 INFO  [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (main) deploy, ctxPath=/opensocial-portlet
2011-07-21 06:33:04,679 INFO  [org.apache.shindig.config.JsonContainerConfig] (main) Loading resources from: containers/default/container.js
2011-07-21 06:33:04,679 INFO  [org.apache.shindig.config.JsonContainerConfig] (main) Reading container config: containers/default/container.js
2011-07-21 06:33:05,147 INFO  [org.apache.shindig.gadgets] (main) Loading resources from: res:features/features.txt
2011-07-21 06:33:05,163 INFO  [org.apache.shindig.common.xml.XmlUtil] (main) Not using secure XML processing.
2011-07-21 06:33:05,179 INFO  [org.apache.shindig.common.xml.XmlUtil] (main) Reusing document builders
2011-07-21 06:33:09,491 INFO  [org.apache.shindig.gadgets.servlet.CajaContentRewriter] (main) Cajoled cache createdorg.apache.shindig.common.cache.ehcache.EhConfiguredCache@128f1be
2011-07-21 06:33:09,772 INFO  [org.apache.shindig.gadgets.servlet.CajaContentRewriter] (main) Cajoled cache createdorg.apache.shindig.common.cache.ehcache.EhConfiguredCache@128f1be
2011-07-21 06:33:09,804 INFO  [org.apache.shindig.gadgets.oauth.OAuthModule] (main) Using random key for OAuth client-side state encryption
2011-07-21 06:33:09,819 WARNING [org.apache.shindig.gadgets.oauth.OAuthModule] (main) Couldn't load OAuth signing key.  To create a key, run:
  openssl req -newkey rsa:1024 -days 365 -nodes -x509 -keyout testkey.pem \
     -out testkey.pem -subj '/CN=mytestkey'
  openssl pkcs8 -in testkey.pem -out oauthkey.pem -topk8 -nocrypt -outform PEM

Then edit shindig.properties and add these lines:
shindig.signing.key-file=<path-to-oauthkey.pem>
shindig.signing.key-name=mykey

2011-07-21 06:33:09,991 INFO  [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (main) deploy, ctxPath=/sevencogs-hook
2011-07-21 06:33:10,241 INFO  [com.liferay.portal.kernel.deploy.hot.HotDeployEvent] (main) Plugin sevencogs-hook requires google-maps-portlet, kaleo-web, mail-portlet, sevencogs-mobile-theme, sevencogs-theme, social-networking-portlet, web-form-portlet
2011-07-21 06:33:10,257 INFO  [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (main) deploy, ctxPath=/sevencogs-mobile-theme
2011-07-21 06:33:10,319 INFO  [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (main) deploy, ctxPath=/sevencogs-theme
2011-07-21 06:33:10,507 INFO  [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (main) deploy, ctxPath=/social-networking-portlet
2011-07-21 06:33:11,366 INFO  [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (main) deploy, ctxPath=/tunnel-web
2011-07-21 06:33:11,522 INFO  [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (main) deploy, ctxPath=/web-form-portlet
2011-07-21 06:33:11,944 INFO  [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (main) deploy, ctxPath=/wsrp-portlet
2011-07-21 06:33:14,866 ERROR [org.jboss.system.server.profileservice.ProfileServiceBootstrap] (main) Failed to load profile: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):

DEPLOYMENTS IN ERROR:
  Deployment "vfsfile:/C:/Progress/bundles/jboss-5.1.0/server/default/deploy/ROOT.war/" is in error due to the following reason(s): org.jboss.deployers.spi.DeploymentException: URL file:/C:/Progress/bundles/jboss-5.1.0/server/default/deploy/ROOT.war/ deployment failed

2011-07-21 06:33:14,913 INFO  [org.apache.coyote.http11.Http11Protocol] (main) Starting Coyote HTTP/1.1 on http-127.0.0.1-8080
2011-07-21 06:33:14,960 INFO  [org.apache.coyote.ajp.AjpProtocol] (main) Starting Coyote AJP/1.3 on ajp-127.0.0.1-8009
2011-07-21 06:33:14,976 INFO  [org.jboss.bootstrap.microcontainer.ServerImpl] (main) JBoss (Microcontainer) [5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221053)] Started in 1m:53s:486ms
</path-to-oauthkey.pem>


Seems that it can't find a class : com.commsen.liferay.multidevice.DevicesUtil
But the source is present in \docroot\WEB-INF\ext-service\src . Then why it is not able to find the class ??
thumbnail
12年前 に Apoorva Prakash によって更新されました。

RE: Liferay for Mobile Web Development???

Liferay Master 投稿: 658 参加年月日: 10/06/15 最新の投稿
Hi Milen...
First of all, It's really a promising work...
I have done this setup on my local machine with the help of http://milen.commsen.com/2011/03/liferay-multidevice-extension.html and its working great...

But when I am trying to do in on server, its giving some ClassNotFound and NullPointerException kinda exception for Device class...
com\commsen\liferay\multi device\Device.java

Do you have some idea regarding it. FYI, I'm using the same version of tomcat and LR on local and server machine both.

Any help would be appreciated.

Thank and Regards...
11年前 に Manoj Pardeshi によって更新されました。

RE: Liferay for Mobile Web Development???

New Member 投稿: 7 参加年月日: 12/04/26 最新の投稿
This is not working in LR 6.1 ga1


ffending 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.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
11年前 に ashu ashu によって更新されました。

RE: Liferay for Mobile Web Development???

New Member 投稿: 4 参加年月日: 11/07/06 最新の投稿
hi milen i need ur help
i deployed all ur war to liferay n changed according to windows........
device hook and wurfl api is working fine.........
i m getting exception.................................


INFO: Starting Coyote HTTP/1.1 on http-8080
May 11, 2012 7:12:48 AM org.apache.coyote.ajp.AjpAprProtocol start
INFO: Starting Coyote AJP/1.3 on ajp-8009
May 11, 2012 7:12:48 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 86317 ms
log4j:WARN No appenders could be found for logger (net.sourceforge.wurfl.core.re
source.DefaultWURFLModel).
log4j:WARN Please initialize the log4j system properly.
07:12:59,803 ERROR [DeviceRecognitionProviderDelegate:71] Failed to get device f
rom request!
com.liferay.portal.kernel.messaging.MessageBusException: No reply received for m
essage: {destinationName=commsen/device_recognition_provider, responseDestinatio
nName=commsen/device_recognition_provider/response, responseId=10dfbee6-2dbb-457
2-9048-784c940f088e, payload=com.commsen.liferay.multidevice.command.DeviceFromR
equestCommand@12b1cec, values=null}
at com.liferay.portal.kernel.messaging.sender.SynchronousMessageListener
.send(SynchronousMessageListener.java:65)
at com.liferay.portal.kernel.messaging.sender.DefaultSynchronousMessageS
ender.send(DefaultSynchronousMessageSender.java:104)
at com.liferay.portal.kernel.messaging.sender.DefaultSynchronousMessageS
ender.send(DefaultSynchronousMessageSender.java:50)
at com.liferay.portal.kernel.messaging.MessageBusUtil._sendSynchronousMe
ssage(MessageBusUtil.java:196)
at com.liferay.portal.kernel.messaging.MessageBusUtil._sendSynchronousMe
ssage(MessageBusUtil.java:217)
at com.liferay.portal.kernel.messaging.MessageBusUtil.sendSynchronousMes
sage(MessageBusUtil.java:122)
at com.commsen.liferay.multidevice.DeviceRecognitionProviderDelegate.get
DeviceFromRequest(DeviceRecognitionProviderDelegate.java:60)
at com.commsen.liferay.multidevice.DevicesUtil.getDeviceFromRequest(Devi
cesUtil.java:67)
at com.liferay.portal.events.ServicePreActionExt.servicePre(ServicePreAc
tionExt.java:1354)
at com.liferay.portal.events.ServicePreActionExt.run(ServicePreActionExt
.java:148)
at com.liferay.portal.events.EventsProcessorImpl.processEvent(EventsProc
essorImpl.java:81)
at com.liferay.portal.events.EventsProcessorImpl.process(EventsProcessor
Impl.java:58)
at com.liferay.portal.events.EventsProcessorUtil.process(EventsProcessor
Util.java:53)
at com.liferay.portal.servlet.MainServlet.processServicePre(MainServlet.
java:1064)
at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:449)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter
.java:196)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java
:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter
.java:196)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java
:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter
.java:196)
at com.liferay.portal.servlet.filters.strip.StripFilter.processFilter(St
ripFilter.java:309)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java
:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter
.java:196)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java
:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter
.java:196)
at com.liferay.portal.servlet.filters.gzip.GZipFilter.processFilter(GZip
Filter.java:121)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java
:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter
.java:196)
at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(
SecureFilter.java:182)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java
:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter
.java:196)
at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processF
ilter(AutoLoginFilter.java:254)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java
:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDisp
atcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(Applica
tionDispatcher.java:436)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationD
ispatcher.java:374)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDis
patcher.java:302)
at com.liferay.portal.servlet.FriendlyURLServlet.service(FriendlyURLServ
let.java:134)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter
.java:196)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java
:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter
.java:196)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java
:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter
.java:196)
at com.liferay.portal.servlet.filters.strip.StripFilter.processFilter(St
ripFilter.java:261)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java
:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter
.java:196)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java
:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter
.java:196)
at com.liferay.portal.servlet.filters.gzip.GZipFilter.processFilter(GZip
Filter.java:121)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java
:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter
.java:196)
at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(
SecureFilter.java:182)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java
:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter
.java:196)
at com.liferay.portal.servlet.filters.i18n.I18nFilter.processFilter(I18n
Filter.java:222)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java
:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter
.java:196)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java
:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter
.java:196)
at com.liferay.portal.servlet.filters.cache.CacheFilter.processFilter(Ca
cheFilter.java:386)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java
:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter
.java:196)
at com.liferay.portal.servlet.filters.etag.ETagFilter.processFilter(ETag
Filter.java:45)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java
:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter
.java:196)
at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processF
ilter(AutoLoginFilter.java:254)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java
:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDisp
atcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(Applica
tionDispatcher.java:436)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationD
ispatcher.java:374)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDis
patcher.java:302)
at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.proc
essFilter(VirtualHostFilter.java:311)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java
:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter
.java:196)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java
:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter
.java:196)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java
:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewrit
eFilter.java:738)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter
.java:196)
at com.liferay.portal.servlet.filters.threadlocal.ThreadLocalFilter.proc
essFilter(ThreadLocalFilter.java:35)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java
:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:191)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica
torBase.java:470)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:298)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcesso
r.java:861)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.pr
ocess(Http11AprProtocol.java:579)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:15
84)
at java.lang.Thread.run(Thread.java:619)
Exception in thread "commsen/device_rules_provider"



there is some problem with ext plugin it is not creating theme rule table. i created it explicitly.
but i m getting same error plz help me
thumbnail
11年前 に Md Mohiuddin によって更新されました。

RE: Liferay for Mobile Web Development???

New Member 投稿: 2 参加年月日: 12/03/01 最新の投稿
Hi ,

I have been trying to deploy the multi-deivce-extension in Liferay 6.0
I am able to deploy the multi-device-ext and wurfl-web-6.0.5.
While deploying the device-rules-hook i get the error messages :
1) Error creating bean with name 'com.commsen.liferay.multidevice.rules.service.persistence.RulePersistence' defined in ServletContext
2)Instantiation of bean failed; nested exception is java.lang.NoSuchMethodError: com.liferay.portal.kernel.dao.orm.FinderPath
3) Error creating bean with name 'com.commsen.liferay.multidevice.rules.service.RuleService' defined in ServletContext resource

Also after all the deployments are done , i get the error message :
No reply received for message: {destinationName=commsen/device_recognition_provider, response=null, responseDestinationName=commsen/device_recognition_provider/response, responseId=cfca4cfb-5d53-4a53-9414-06bb2d5e8c63, payload=com.commsen.liferay.multidevice.command.DeviceFromRequestCommand@1dc2725, values={companyId=10136}}at com.liferay.portal.kernel.messaging.sender.SynchronousMessageListener.send(SynchronousMessageListener.java:65)

When I try to add rules on the screen , I get the options of selecting the devices and OS from the dropdown but when I save a particular rule , it does not get saved at the bottom.
I deploy the ext code using ant direct-deploy and it shows me in the console that the ext has been deployed successfully.

Any help in this regard will be highly appreciated.

Regards,
Mohiuddin
thumbnail
11年前 に Milen Dyankov によって更新されました。

RE: Liferay for Mobile Web Development???

Regular Member 投稿: 171 参加年月日: 09/09/23 最新の投稿
Hello guys,
first of all, please accept my apologies for the late response. For some reason I didn't receive mail notifications about your posts until now.

Now, let me try to clarify some of the above aspects :

- The plug-ins released are compatible with Liferay 6.0.5. They may NOT work with Liferay 6.0.6 and Liferay 6.0 EE versions. To fix that you need to get the source code and recompile with Liferay SDK that matches your Liferay version. You may have to modify the Ext plugin if the files it overwrites have changed since 6.0.5

- Before you install wurfl-web or device-rules-hook please make sure multi-device-ext plug-in was deployed properly. Especially if you install in Liferay 6.0.6 or 6.0 EE without recompiling, it may not show any errors during deployment but fail during run time. Perhaps the easiest way to check is to use simple web content VM template:
  Device: $request.portlet-session.application-attributes.DEVICE 
If the plug-in is installed correctly then when you display an article using this template, it should show an "Unknown" device. Otherwise the device would be empty (or null).

- The plugins WILL NOT work with Liferay 6.1. The code was contributed to Liferay and the functionality (although changed a bit) is available out of the box in 6.1 version. For more details please see my blog post about Mobile device detection in Liferay 6.1


If your problem does not fit into any of these aspects please let me know.
10年前 に Shahista Shaikh によって更新されました。

RE: Liferay for Mobile Web Development???

New Member 投稿: 8 参加年月日: 13/05/28 最新の投稿
Hi Milen,
I'm using Liferay 6.0.6.I have followed all the steps as mentioned.But wurfl gives issues.I imported the war files & 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
Please help.
thumbnail
10年前 に Milen Dyankov によって更新されました。

RE: Liferay for Mobile Web Development???

Expert 投稿: 310 参加年月日: 12/10/30 最新の投稿
My guess is - the EXT plugin didn't install successfully or doesn't work with your version of Liferay. Destination commsen/device_recognition_provider is defined in the EXT plugin and if wurfl-web can not find it then most likely EXT didn't create it for some reason. Did you recompile the EXT code with 6.0.6 SDK? Do you have other EXT plugins deployed?
10年前 に Shahista Shaikh によって更新されました。

RE: Liferay for Mobile Web Development???

New Member 投稿: 8 参加年月日: 13/05/28 最新の投稿
Hi Milen,
Thanks for your quick reply.I downloaded the ext war then imported the war in eclipse ( with 6.0.6 liferay runtime) & exported it to the deploy folder and it got expanded successfully but when I deploy latest war of wurfl in the same way , at the time of expansion I get error as specified in previous post.

And hence when i go to manage > page > look and feel > device rules

I get following error

An exception occurred processing JSP page /html/por
tlet/communities/edit_pages_device_rules.jsp at line 52

49: <select id="<portlet:namespace />brand" name="<portlet:namespace />brand" >
50: <option value=""><liferay-ui:message key="rules.any" /></option>
51: <%
52: for (VersionableName brand : DevicesUtil.getBrands()) {
53: %>
54: <option><%= HtmlUtil.escape(brand.getName()) %></option>
55: <%

I get Null Pointer at line 52

Thank you , hope your solution gets me through this.
thumbnail
10年前 に Milen Dyankov によって更新されました。

RE: Liferay for Mobile Web Development???

Expert 投稿: 310 参加年月日: 12/10/30 最新の投稿
Not sure what you mean by "I downloaded the ext war then imported the war in eclipse ( with 6.0.6 liferay runtime) & exported it to the deploy folder" but this probably doesn't work!

What you need to do is:
  • Check out the source code from https://github.com/azzazzel/liferay-multi-device-ext
  • Put it into the ext folder of 6.0.6 SDK (you can then import it in Eclipse)
  • Check what files it changes and if they have changed between 6.0.5 and 6.0.6. If they have - apply the changes to the files in the EXT plug-in.
  • Compile and deploy


You may have to repeat those steps for all of the other plug-ins.
10年前 に Shahista Shaikh によって更新されました。

RE: Liferay for Mobile Web Development???

New Member 投稿: 8 参加年月日: 13/05/28 最新の投稿
Hi Milen,

I imported the source code in Eclipse.I want you to please elaborate on what you meant by " Check what files it changes and if they have changed between 6.0.5 and 6.0.6. If they have - apply the changes to the files in the EXT plug-in."

One more thing,when I checked build.xml it has a property with the value service.xml as shown below:

<property name="service.file" value="docroot/WEB-INF/ext-impl/src/com/commsen/liferay/multidevice/service.xml" />


But when I looked for it in the src package in the project in Eclipse, it was no where to be found at this location : docroot/WEB-INF/ext-impl/src/com/commsen/liferay/multidevice
Also,when I deploy I get the below error:

12:45:29,760 INFO [ExtHotDeployListener:205] Extension environment for liferay-multi-device-ext will not be undeployed
12:45:51,173 INFO [ExtHotDeployListener:137] Registering extension environment for liferay-multi-device-ext
12:45:51,228 WARN [SAXReaderImpl:429] XSD validation is diasabled because org.apache.xerces.parsers.XIncludeAwareParserConfiguration cannot be cast t
o org.apache.xerces.xni.parser.XMLParserConfiguration
12:45:51,405 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


Thanks for your help.
thumbnail
10年前 に Milen Dyankov によって更新されました。

RE: Liferay for Mobile Web Development???

Expert 投稿: 310 参加年月日: 12/10/30 最新の投稿
Shahista Shaikh:
I imported the source code in Eclipse.I want you to please elaborate on what you meant by " Check what files it changes and if they have changed between 6.0.5 and 6.0.6. If they have - apply the changes to the files in the EXT plug-in."


EXT plug-in works by overwriting some of the core files in Liferay. For example if you look at ServicePreActionExt.java you will see it's a copy of original ServicePreAction.java in 6.0.5 with some changes. Now if ServicePreAction.java has changed in 6.0.6 when you deploy the EXT plugin you will overwrite it with the one from 6.0.5 which may cause errors. In order to avoid that you need to do a three-way merge on all files in EXT in com.liferay package.

Shahista Shaikh:
One more thing,when I checked build.xml it has a property with the value service.xml as shown below:
<property name="service.file" value="docroot/WEB-INF/ext-impl/src/com/commsen/liferay/multidevice/service.xml" />

But when I looked for it in the src package in the project in Eclipse, it was no where to be found at this location : docroot/WEB-INF/ext-impl/src/com/commsen/liferay/multidevice


This is related to service builder and is not used. Originally the all three plugins (ext, device-rules and wurfl-web) used to be a single EXT plugin. Since the split the service builder is only needed in the device-rules. I have probably forgotten to remove the line from the build file. Unless you run ant build-service on the EXT plug-in (which you should NOT do), there should be no issues with that.
10年前 に Shahista Shaikh によって更新されました。

RE: Liferay for Mobile Web Development???

New Member 投稿: 8 参加年月日: 13/05/28 最新の投稿
Hi Milen,
I would like to thank you first for your instant replies.This has helped me a lot since I started.I did as you said & 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 get the same error I mentioned in my last post as 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

Your help is greatly appreciated.
thumbnail
10年前 に Milen Dyankov によって更新されました。

RE: Liferay for Mobile Web Development???

Expert 投稿: 310 参加年月日: 12/10/30 最新の投稿
You are probably trying to deploy the EXT plug-in to Liferay instance that already have the plug-in (or previous version of it) installed.
Try ant direct-deploy or try to deploy it on a clean Liferay instance.
thumbnail
12年前 に Steffen Schuler によって更新されました。

RE: Liferay for Mobile Web Development???

Regular Member 投稿: 137 参加年月日: 08/05/12 最新の投稿
I love it! I works like described...
thumbnail
13年前 に Milen Dyankov によって更新されました。

RE: Liferay for Mobile Web Development???

Regular Member 投稿: 171 参加年月日: 09/09/23 最新の投稿
I'm currently working on Liferay extension that would allow to dynamically apply any installed Liferay theme based on visitor's device capabilities (like OS and version, display size, pointing method, ...). The solution uses Wurfl for device recognition and I have already successfully integrated it with Liferay. I'm also thinking about storing device capabilities in ThemeDisplay so it can be used in portlets and Velocity/Freemarker macros.

The reason this plugin is not yet available is I'm still fighting with AUI to provide the configuration view. Unfortunately since I'm extending existing Liferay functionality I have practically no other option but AUI which turned out to be the hardest part to develop due to the lack of any useful documentation.

Once I manage to figure out how to properly use AUI and thus extend the current "Look & Feel" functionality I will make the extension available as Liferay Ext plugin.
thumbnail
13年前 に Maarten van Heiningen によって更新されました。

RE: Liferay for Mobile Web Development???

Regular Member 投稿: 174 参加年月日: 09/02/05 最新の投稿
Hi Milen,

This sounds very promising! If you need any testing/help please let me know. It's sounds like a solid solution for presenting different visual presentations of the same content.

Regards,
Maarten
12年前 に idel fuschini によって更新されました。

RE: Liferay for Mobile Web Development???

New Member 投稿: 1 参加年月日: 11/11/17 最新の投稿
Hi,
I'm Idel thew owner of Apache Mobile Filter project.
I think could be another alternative to detect mobile devices:

http://www.apachemobilefilter.org

is an open source project and is free.
thumbnail
11年前 に Zeeshan Khan によって更新されました。

RE: Liferay for Mobile Web Development???

Expert 投稿: 349 参加年月日: 11/07/21 最新の投稿
Hi Milen !

what fields i need to create for the table ThemeRule ......???

thanks !
thumbnail
11年前 に Zeeshan Khan によって更新されました。

RE: Liferay for Mobile Web Development???

Expert 投稿: 349 参加年月日: 11/07/21 最新の投稿
Hi !

I am getting following error while ant deploy ---->>

C:\Users\new_user\Desktop\LIFERAY\liferay-plugins-sdk-6\liferay-plugins-sdk-6.0.
6-20110225\ext\multi-device-ext\azzazzel-liferay-multi-device-ext-27e1b5c>ant di
rect-deploy
Buildfile: C:\Users\new_user\Desktop\LIFERAY\liferay-plugins-sdk-6\liferay-plugi
ns-sdk-6.0.6-20110225\ext\multi-device-ext\azzazzel-liferay-multi-device-ext-27e
1b5c\build.xml

BUILD FAILED
C:\Users\new_user\Desktop\LIFERAY\liferay-plugins-sdk-6\liferay-plugins-sdk-6.0.
6-20110225\ext\multi-device-ext\azzazzel-liferay-multi-device-ext-27e1b5c\build.
xml:6: Cannot find C:\Users\new_user\Desktop\LIFERAY\liferay-plugins-sdk-6\lifer
ay-plugins-sdk-6.0.6-20110225\ext\multi-device-ext\build-common-ext.xml imported
from C:\Users\new_user\Desktop\LIFERAY\liferay-plugins-sdk-6\liferay-plugins-sd
k-6.0.6-20110225\ext\multi-device-ext\azzazzel-liferay-multi-device-ext-27e1b5c\
build.xml

Total time: 0 seconds
thumbnail
11年前 に Sayandip Ghosh によって更新されました。

RE: Liferay for Mobile Web Development???

New Member 投稿: 11 参加年月日: 11/06/23 最新の投稿
Hi Manoj,
In case of LR 6.1 GA you need not use the ext , hook or the zip. The wurl-web portlet war is available here. Download and deploy this portlet. Then use the Mobile Device Rules from the Control Panel to set your device rules.
thumbnail
10年前 に Amit Doshi によって更新されました。

RE: Liferay for Mobile Web Development???

Liferay Master 投稿: 550 参加年月日: 10/12/29 最新の投稿
Hi,

Please check this link.

Complete information about how to develop mobile theme and integrate it with multiple devices.

Thanks & Regards,
Amit Doshi
10年前 に Shahista Shaikh によって更新されました。

RE: Liferay for Mobile Web Development???

New Member 投稿: 8 参加年月日: 13/05/28 最新の投稿
Hi Amit,
Thanks for your Help.But the link you provided seems to be for Liferay 6.1 where as I'm using Liferay 6.0.6.