将websphere portlet工厂迁移到liferay门户

时间:2012-07-30 08:34:49

标签: liferay websphere-portal jsr286

嗨,你好,

我是liferay的新手。我正在尝试将在websphere 6.1(JSR 286)中开发的portlet迁移到liferay 6.1。暂时我开发了一个门户网站(PA_test.war),显示了一些我在liferay上部署的文字。

选择.war文件 - “上传WAR文件以安装布局模板,portlet或主题。”

处理后,显示以下消息 - “您的请求已成功完成”。 “该插件已成功上传,现在正在安装。”

当我尝试在安装的插件中​​寻找门户网站时,我找不到门户网站。 我看到日志里面写着:

信息:取消部署上下文[/ PA_test] 2012年7月30日上午7:54:05 org.apache.catalina.startup.HostConfig deployDirectory 信息:部署Web应用程序目录E:\ life \ liferay-portal-6.1.0-ce-ga1 \ tomcat-7.0.23 \ webapps \ PA_test

我想知道:

1)portlet如何遵守JSR规范?

2)没有这种依赖性(技术方面),无法迁移的是什么?

或者liferay是否提供替代方案或桥梁这样做

或者liferay中的websphere 6.1(JSR 286)的等价物是什么?

请帮忙!!


portlet.xml中

<?xml version="1.0"?>

<!--AUTOMATICALLY GENERATED DEPLOYMENT DESCRIPTOR - DO NOT EDIT-->
<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" id="com.bowstreet.portlet.WebAppRunner2_test">
    <portlet>
        <description xml:lang="en">Portlet to test migration from wpf to xmlpf</description>
        <portlet-name>Test Portlet</portlet-name>
        <display-name xml:lang="en">Test Portlet</display-name>
        <portlet-class>com.bowstreet.portlet.adapter.WebAppRunnerPortlet286</portlet-class>
        <init-param>
            <name>model</name>
            <value>test</value>
        </init-param>
        <expiration-cache>0</expiration-cache>
        <supports>
            <mime-type>text/html</mime-type>
            <portlet-mode>view</portlet-mode>
        </supports>
        <supported-locale>en</supported-locale>
        <resource-bundle>nls.test</resource-bundle>
        <portlet-info>
            <title>Test Portlet</title>
            <short-title>Test Portlet</short-title>
            <keywords>Test Portlet</keywords>
        </portlet-info>
        <portlet-preferences></portlet-preferences>
    </portlet>
    <custom-portlet-mode>
        <portlet-mode>config</portlet-mode>
    </custom-portlet-mode>
    <custom-portlet-mode>
        <portlet-mode>edit_defaults</portlet-mode>
    </custom-portlet-mode>
    <user-attribute>
        <description xml:lang="en">User Given Name</description>
        <name>user.name.given</name>
    </user-attribute>
    <user-attribute>
        <description xml:lang="en">User Last Name</description>
        <name>user.name.family</name>
    </user-attribute>
</portlet-app>

2 个答案:

答案 0 :(得分:0)

您正在使用的portlet类是:

com.bowstreet.portlet.adapter.WebAppRunnerPortlet286

我认为这是问题所在。这是Websphere特定的portlet类。你能把它改成像

这样的东西吗?
com.test.portlet.TestPortlet

然后编写扩展GenericPortlet的测试类

 public class TestPortlet extends GenericPortlet {
 .........
 ......
 .....
 super.doView();
}

或者您可以通过Liferay的MVCPortlet类扩展它。

如果您认为将使用框架来开发诸如Struts,Spring,JSF等的portlet,则可以通过扩展这些框架提供的相应portlet类来创建portlet类。

希望这能解决您的问题。

答案 1 :(得分:0)

据我所知,尽管生成JSR(168或286)portlet WAR,但Web Experience Factory(以前称为WebSphere Portlet Factory)portlet目前仅在IBM WebSphere Portal上获得许可并受其支持(除了JSR API之外,它们还是也可以利用IBM Portal API。

我希望信息有帮助, ..迈克布拉蒂 本网站上的帖子是我自己的,不一定代表IBM的职位,策略或意见。