将Ext-Plugin从6.2升级到7.2

时间:2019-08-07 08:44:53

标签: liferay liferay-7 liferay-7.2

我正在尝试将我们公司的Ext-Plugin从6.2.5 CE版本升级到7.2 CE。

我们以前在旧版本中覆盖了以下类:PortalImpl,CASFilter,AutoLoginFilter和几个CMIS类。

对于PortalImpl,我只是做了另一个EXT(使用刀片式的'war-core-ext'模板),并且工作正常。但是对于其他类,没有迹象表明覆盖的类会被调用。 例如,我尝试覆盖AutoLoginFilter(它也位于Portal-Impl.jar和Ext-Plugin中的extImpl文件夹中),但似乎没有调用getLoginRemoteUser(),因为缺少调用日志就很明显)

public class AutoLoginFilterExt extends AutoLoginFilter {

@Override
protected String getLoginRemoteUser(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, HttpSession session, String[] credentials) throws Exception {
   _log.info("getLoginRemoteUser");

我还在ext-spring.xml中为我的班级添加了这个定义

<bean class="com.liferay.portal.util.PortalImplExt"
      id="com.liferay.portal.util.Portal"/>
<bean class="com.liferay.portal.servlet.filters.sso.cas.CASFilterExt"
      id="com.liferay.portal.servlet.filters.sso.cas.CASFilterExt"/>
<bean class="com.liferay.portal.servlet.filters.autologin.AutoLoginFilterExt"
      id="com.liferay.portal.servlet.filters.autologin.AutoLoginFilterExt"/>

我是否需要使用其他方法,例如Service-Wrapper或其他模板?如果是这样,我应该使用哪一个? 有人会善意地将我推向正确的方向吗?

亲切的问候, 克里斯托弗

1 个答案:

答案 0 :(得分:0)

仅仅因为您在6.2中的ext中实现了自定义,并不意味着它必须保留在更高版本中。实际上,我建议您在不作任何核心修改的情况下努力工作,因为它往往难以维护(如您所见)。

相反,我的建议是让我们知道您需要哪些修改(并已实现-显示代码),并检查其他可用的替代方法。

如果这超出了“此代码暴露了以下问题”的范围,则对于栈溢出,此类问题可能会 ,但是Liferay论坛可能会提供帮助。 AutoLoginFilter听起来像是我不会浪费任何多余想法的东西。即使是对PortalImpl的更改,我也会寻找通过不同的实现来实现相同功能的替代方法。

更多:ext插件注定要消失,或者随着ext仅修改(缩小)核心而进一步缩小。如果您确实有一些可以通过插件扩展的内容,请在https://issues.liferay.com(LPS项目)上提交问题,并提供确切的用例,更改的理由,以便在ext进行后有机会获得适当的扩展点永远离开。 Liferay依靠这种反馈来引入适当的扩展点。