`
DigitalSonic
  • 浏览: 215214 次
社区版块
存档分类
最新评论

一些关于Liferay的使用心得

阅读更多


Liferay是一个出色的Java开源Portal产品,其中整合了很多当今流行的开源框架,被不少人使用在实际项目中。最近刚结束了一个基于Liferay Portal的项目,总结下使用中的一些心得,希望对正在使用Liferay的朋友有些帮助。

一、安装

Liferay的安装十分容易,甚至都不能称其为安装,根据情况从Liferay官方网站下载合适的安装包(一般可以选择Tomcat的Bundle),解压后直接运行,它会使用自带的HSQL数据库,其中包括一些初始数据和演示数据。

实际使用时不能用HSQL,也不应该有演示数据,所以可以用Liferay站点提供的SQL来初始化数据库。Liferay-portal-sql的包比较大,只要用其中的几个SQL就行了,如果是全新安装,用create-minimal目录中适合自己数据库的那个SQL文件就可以了。

启动tomcat前,修改conf\Catalina\localhost中的ROOT.xml,启用新的数据源,Hibernate的Dialect系统会自动识别的。

二、Portal细节配置

Liferay的可配置性极强,可以通过两个部分来配置,一是portal-ext.properties文件,二是进入系统后用企业管理Portlet来配置。

要了解portal-ext有哪些可以配置的参数,可以打开portal-impl.jar中的portal.properties,其中对每个属性都带有详细的说明,portal-ext.properties会覆盖其中的配置。

列举几个个人认为比较有用的设置:


1.登录相关(这个可以在企业管理里设置)

company.security.auth.type=screenName
company.security.auto.login=false
company.security.send.password=false
company.security.strangers=false
open.id.auth.enabled=false

 

2. 默认用户布局
可以自己设置上面要放的Portlet和布局。

default.user.layout.name=Home
default.user.layout.template.id=3_columns
default.user.layout.column-1=
default.user.layout.column-2=
default.user.layout.column-3=
default.user.layout.column-4=

 

3. Session控制

session.timeout=30
session.timeout.warning=1
session.timeout.auto.extend=false

 

4.无法显示的portlet设置
我本来在JavaEye上问怎么隐藏没权限的Portlet呢,结果后来看到了这个配置。

layout.show.portlet.access.denied=false
layout.show.portlet.inactive=false

 

其他的设置还有很多,比如terms.of.use.required、theme.sync.on.group、auth.forward.by.last.path、default.landing.page.path等等,请参考portal.properties。如果不想修改配置文件也能用企业管理Portlet,它们有些地方是互补的,所以结合起来看看吧。

三、简单性能优化

项目中使用的是一台Intel 3.20GHz双核 2G内存的IBM服务器,操作系统为Windows 2000 SP4,数据库为Oracle 9i,安装在另一台服务器上。

Liferay的默认设置在运行时总是感觉有些力不从心,有时响应速度很慢,开发时可以接受,但实际上线时肯定需要进行调整。因为没什么调优经验,所以随便对Tomcat和Liferay的参数做了些调整,仅供参考:

首先修改Tomcat 5.5的JVM的参数,考虑到服务器上还有其他服务,JAVA_OPTS中,-Xms512m –Xmx1024m,因为把JDK换成了jrockit-R27.4.0-jdk1.6.0_02,所以没有设置-XX:MaxPermSize。

然后安装Tomcat Native library,就是APR啦。

接下来修改server.xml,找到HTTP/1.1的Connector,调整maxThreads、minSpareThreads、maxSpareThreads和acceptCount的值,适当调高些,并启用gzip压缩。先运行一段时间,如果有需要再做调整,我的配置是这样的:

<Connector port="80" maxHttpHeaderSize="8192"
     maxThreads="768" minSpareThreads="128" maxSpareThreads="256"
     enableLookups="false" redirectPort="8443" acceptCount="768"
     connectionTimeout="30000" disableUploadTimeout="true" 
     compression="on" compressionMinSize="2048" 
     noCompressionUserAgents="gozilla, traviata" 
     compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
     />

 修改好应用服务器后,再来看看Liferay。打开portal-ext.properties,添加如下内容:

portlet.css.enabled=false
javascript.fast.load=true
theme.css.fast.load=true
velocity.engine.resource.manager.cache.enabled=true

 经过了以上这些步骤后,都不用什么工具测试,可以明显感觉系统速度快了不少。

四、一些问题

1.糟糕的中文翻译
虽说Liferay的作者是华裔的,不过那中文翻译实在不敢恭维,好在网上有些网友自制的中文包,不过内容并不完全。可以自己增加或覆盖中文语言信息,文件名是Language-ext_zh_CN.properties,放在WEB-INF/classes/ content目录中,至于其中的内容参考下portal-impl.jar里的资源包,记得使用前先native2ascii转换一下。


2.控制台信息
Liferay的控制台输出时区不对,且中文有乱码。在企业管理Portlet的设置中将时区设置为(GMT +08:00)CST可以解决时间问题。

控制台的中文乱码有两种解决方法,一是在catalina.bat中去掉JAVA_OPTS里的-Dfile.encoding=UTF8;另一种就是conf/logging.properties,加上java.util.logging.ConsoleHandler.encoding = GBK,建议用后者吧。其实说白了就是因为Windows用的编码是GBK。

3.Document Library文件名乱码
Document Library Portlet提供了文件上传和下载的功能,可惜上传的中文名在下载时都会乱码,原先以为是一般的中文乱码问题,在Liferay自己的web.xml中补上了一段Spring的编码转换Filter声明,结果发现不行,看了源代码后才知道它直接用servlet进行文件下载,而问题还是出在Windows是GBK上。

也懒得想什么好办法了,直接修改com.liferay.portlet.documentlibrary.action.GetFileAction文件,在第128行,把ServletResponseUtil.sendFile参数中的fileEntry.getTitleWithExtension()改成new String(fileEntry.getTitleWithExtension().getBytes("GBK"),"ISO8859_1")。这样可以解决Windows下的乱码,别的不做保证,最好能实现判断下编码,有些系统默认编码是UTF-8,转了反而会出问题。

4.关于默认用户权限
Liferay默认新建用户的角色是User和Power User,每个用户可以有自己的私有页面,不过有时不希望出现这个私有的Community,在企业管理Portlet中可以调整默认用户的设置(默认Community、Role和User group),我去掉了Power User角色。

但问题也随之而来,要求用户强制在第一次登录时修改密码,修改后出现没有为用户配置页的提示,而且放在Guest里的文档库普通用户也无法下载。郁闷了老半天之后,只能为所有的用户都分配了一个Community才把问题解决(我直接把用户扔进Guest Community了)。

 

分享到:
评论
2 楼 010lead 2008-08-14  
Hi ,Can you send me email to   liferaychina@gmail.com
1 楼 earthsky 2008-06-16  
DigitalSonic:
   向您请教:
我现在作基于rbac模型的权限管理系统,想使用开源的东东,您能详细讲述:liferay对rbac的集成程度,支持程度,及liferay的发展前景。因为这对我们公司发展是个大问题:我们公司准备采用portal

相关推荐

    liferay使用心得

    综上所述,Liferay的国际化机制、表格组件的使用以及CLOB字段的处理是构建全球化、交互式和内容丰富的Liferay应用的关键技术。熟练掌握这些技术,能帮助开发者创建出适应多种语言环境、功能丰富的企业级应用程序。

    liferay使用说明--管理

    ### Liferay权限管理系统详解 Liferay是一款开源的企业级门户平台,提供了一系列强大的工具和服务,用于构建和管理企业网站、社区和应用程序。其中,权限管理是其核心功能之一,旨在帮助企业控制用户对不同资源的...

    Liferay 使用手册

    **Liferay 使用手册** Liferay 是一款开源的企业级门户平台,它提供了丰富的功能,包括网站构建、内容管理、社交协作以及工作流程管理等。这款工具以其灵活的架构和强大的定制能力,深受企业和开发者喜爱。本手册将...

    liferay portal 6 使用文档

    ### Liferay Portal 6 使用文档知识点详述 #### 一、Liferay Portal 6:企业级门户解决方案 Liferay Portal 6是一款先进的企业级门户平台,旨在帮助企业构建和维护高效、安全、用户友好的内部网(Intranets)。它...

    Liferay Portal Liferay IDE

    Liferay Portal Liferay IDE

    Liferay-使用手

    ### Liferay 使用手册详解 #### 一、快速入门 ##### 安装步骤 Liferay是一款功能强大的企业级门户平台,其安装过程相对直观。首先,访问Liferay官方网站,下载适用于您环境的Liferay-portal-tomcat-4.2.2.zip文件...

    LIferay6开发书籍

    《Liferay6开发书籍》是一套全面探讨Liferay Portal 6企业应用开发的资源集合,旨在帮助开发者深入了解和掌握Liferay平台的各个层面。Liferay是一个开源的企业级内容管理系统,常用于构建数字体验平台,提供丰富的...

    liferay扩展环境 liferay ext

    标题 "Liferay扩展环境 Liferay Ext" 涉及到的是Liferay门户平台的一个关键概念,Liferay Ext是用于扩展和定制Liferay功能的核心工具。Liferay是一个开源的企业级内容管理平台,它允许用户根据需求构建自定义的数字...

    liferay详细讲解 liferay项目完全讲解

    在这个“liferay详细讲解 liferay项目完全讲解”的资料包中,我们可以期待深入了解到关于Liferay的核心概念、开发实践以及与其相关的技术。 首先,我们看到一个名为“JBPM数据库表说明.doc”的文件,这暗示了...

    Liferay合集.zip

    这个名为"Liferay合集.zip"的压缩包包含了多本关于Liferay的重要书籍,如《Liferay in Action》、《Liferay Portal Systems Development》和《Liferay User Interface Development》,以及一些中文文档,这些资源...

    liferay 6.2开发指南+用户手册

    以上知识点覆盖了Liferay 6.2的主要开发和使用方面。通过"01-Liferay Portal 6.2 Developer's Guide.docx"和"02-using-liferay-portal-6.2.pdf"提供的官方文档,开发者可以深入学习这些概念和技术,从而更好地利用...

    liferay使用的标签

    在Liferay中,使用一系列特定的标签来增强和定制门户的界面与交互功能。以下是对Liferay中常用标签的详细说明: 1. **URL** - **JSPPortlet**:Liferay 提供的 JSP Portlet 标签主要用于生成portlet的渲染URL和...

    Liferay 6 入门教程

    "plugins开发指南13-liferay中使用ldap分析.pdf"讨论了Liferay与LDAP(轻量级目录访问协议)的集成,这对于大型企业需要与现有用户目录系统同步的场景非常有用。最后,"plugins开发指南19-liferay6中使用JSON.pdf...

    Liferay平台开发使用详细PPT演示文稿

    **Liferay平台开发使用详细PPT演示文稿** 在企业信息化建设中,Liferay平台作为一个强大的企业门户系统,被广泛应用于构建内部协作平台、对外展示网站以及业务流程管理。本PPT演示文稿深入介绍了Liferay的核心特性...

    Liferay的AUI框架

    Liferay中的AUI框架,官方叫做Alloy,是一...准确来说AUI是Liferay在YUI的基础上进行的Liferay扩展,以方便Liferay的一些实际应用和扩展。AUI的很多语法结构、使用方法都都和YUI相关不太多。熟悉YUI的能够快速熟悉AUI。

    liferay快速入门quickstart

    ### Liferay快速入门知识点详解 #### 一、Liferay Portal简介与快速启动 Liferay Portal是一款功能强大且灵活的企业级门户平台,它基于Java技术,遵循JSR-168标准,提供了丰富的特性来满足企业内外部网站的需求。...

    liferay环境的搭建

    - 由于Liferay开发环境需要使用UTF-8编码,而Eclipse默认使用GBK编码,因此需要更改Eclipse的编码设置。 - 依次点击 `Window` &gt; `Preferences` &gt; `General` &gt; `Workspace`,在 `Text file encoding` 处选择 `Other...

    liferay经典书籍8本

    本书针对Liferay,讲解了数据库优化、内存管理、缓存策略以及监控工具的使用,帮助读者提升Liferay的运行效率和响应速度。 以上书籍覆盖了Liferay开发、管理和优化的多个方面,无论你是初学者还是经验丰富的开发者...

    liferay 6.0 开发指南

    - **内置Liferay服务**:列举了一些Liferay内置的服务,如User Service和Group Service。 - **安全性和权限**:探讨了如何实现安全性和权限控制,确保数据的安全访问。 通过以上章节的学习,开发者可以全面掌握...

Global site tag (gtag.js) - Google Analytics