一些Liferay小问题的分析

 一些Liferay小问题的分析

5.1 Admin这个Portlet中的Server管理权限的分析
如果设置Portal的companyid不是 liferay.com,缺省情况下,没有用户能够对admin这个Portlet中的Server部分进行设置。简单分析一下这部分的代码,找一个比较好的解决方法。
5.1.1 代码分析
JSP文件是/portal/portal-web/docroot/html/portlet/admin/server.jsp,其中的关键代码为
<c:if test="<%= OmniadminUtil.isOmniadmin(user.getUserId()) %>">
也就是通过OmniadminUtil.isOmniadmin进行用户权限的判断。
在这段代码里面,主要流程为:
  首先判断userid是否为空,如果为空,直接返回false
  然后判断配置文件portal. properties里面,指定的omniadmin.users 是否有当前用户。
  最后判断当前用户是否是系统管理员角色。
5.1.2 解决方法
分析了一下代码之后,解决方法其实也很简单。有两个方案
5.1.2.1 指定管理员
在portal-ext. properties文件中添加或修改内容
omniadmin.users= liferay.com.1,mycompany.com.1
这样,新站点的第一个用户将具有管理权限。
5.1.2.2 由系统管理员角色实现
在portal-ext. properties文件中添加或修改内容
omniadmin.users=
这样,所有的系统管理员角色的用户都具有相应的权限。
5.2  Liferay的Applet编辑器调用的一个BUG
今天网友边尘,说到journal中编辑Structure和Template的Applet编辑器部署好像不成功。粗略试了一下,在我的环境中没有发现这个问题。因为所用版本不同,我的是4.1.2,他的是4.1.3。开始怀疑是版本的问题。
经过查看源码,原来是JSP代码有点问题。
文件portal/portal-web/docroot/html/portlet/journal/edit_template_xsl.jsp的117行,archive="editor-signed.jar",而实际上这个jar文件不存在,在目录portal/portal-web/docroot/applets下的相应文件是editor.jar。
后来,网友把JSP代码进行了简单修改,editor-signed.jar修改为editor.jar之后,重新运行就成功了。初步得出结论,是4.1.3不知什么原因,把文件名搞错了。
后来我又仔细看了一下4.1.2的代码,发现也是同样的问题。那为什么我当初没有发现问题呢?原来是,Structure编辑的JSP代码是正确的,而Template编辑的JSP代码有错误。而我,正好用到的是Structure的编辑器。
最终的结论单点说:
1、 是Template编辑的JSP页面有错误,修改。
2、 并不是4.1.3才出现的问题,4.1.2的情况是一样的。
至于为什么代码里面是editor-signed.jar。我初步看,应该不是简单的笔误的问题。很有可能是以前版本的代码,用的是这个文件名。而我机器上原来下载的3.6的版本也被我删掉了,无从验证。如果有兴趣,可以下载一个以前的版本来验证一下。
5.3  Liferay启动很慢的一个原因
用了 Liferay一段时间,发现启动的时候比较慢,特别是在出现"Auto deploy scanner started for /home/ liferay/deploy"之后。
一开始,以为就是这个auto deploy导致的问题,尝试了各种方法去禁止Auto Deploy,但效果都不明显,基本上没什么变化。
今天,在看portal. properties文件内容的时候,无意中找到一点线索。原来是 Liferay每次启动的时候,会自动重建索引;并且是在启动的同一个线程中完成。缺省配置如下:
# Set the following to true if you want to index your entire library of files on startup.
index.on.startup=true
# Set the following to true if you want the indexing on startup to be
# executed on a separate thread to speed up execution.
index.with.thread=false
也就是说,启动到Auto Deploy之后,需要耗较长时间,就是在进行数据的重新全文检索。了解这个之后,优化的方案也就简单了。
  关掉重建索引     index.on.startup=false
  另开线程重建索引 index.with.thread=true
两种方法,只需在portal-ext. properties文件中添加相应的设置即可。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值