一些关于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了)。

 

Liferay Portal开发实战:从MVC实例到企业级应用 Liferay Portal是一款开源的企业级门户解决方案,由Liferay公司维护和开发。它提供了一套完整的功能框架,支持多站点管理和多语言环境,允许用户通过插件扩展来丰富其功能。Liferay Portal不仅仅是一个内容管理系统,还能够集成多种Web应用程序和商业逻辑,形成了一个可以满足多种企业需求的综合平台。在本节中,我们将通过一个具体的案例来展示Portlet开发的全过程。Liferay提供了完善的国际化支持,可以方便地为不同语言环境的用户提供相应语言界面。国际化框架包括资源文件、 阅读详情

相关推荐

一文掌握SourceTree使用(超级详细)

SourceTree是一款开源的代码仓库客户端工具,界面美观,操作简单,具有代码克隆、本地创建、提交代码、撤销修改,拉取(pull)代码、上传(push)代码、合并分支等操作。对于软件开发人员是一款必备的应用软件。

GM_115的博客 3万+

Liferay Portal 6.1基本功能介绍

Liferay Portal既是一个开源门户网站建设工具,同时也是一个基于Java架构的应用软件系统开发平台。它不仅具有强大的网站内容管理和基于文件的内容管理功能,而且还集成了协作套件、开放社交、应用开发、权限管理、工作流、知识库、规则引擎和搜索引擎等J2EE应用程序。Liferay Portal是一个完全可定制的互联网应用系统建设平台,并且其社区版是完全免费的,值得各类门户网站建设人员和Ja...

lancao82的博客 747

从零开始:用7353张VOC/YOLO格式混凝土缺陷数据集训练你的第一个检测模型

本文详细介绍了如何使用7353张VOC/YOLO格式的混凝土缺陷数据集训练首个目标检测模型。从环境配置、数据解析到YOLOv5模型训练与优化,提供了完整的实战指南,特别针对数据不平衡问题给出了解决方案,助力开发者快速掌握混凝土缺陷识别技术。

weixin_42651281的博客 256

Liferay Portal 6学习笔记1:Portal介绍

LifeRay Portal 6于7月15日正式发布了,从今天起在这里写下自己的LifeRay Portal学习笔记   Liferay是一个开源的Portal产品,提供对多个独立系统的内容集成,为企业信息、流程等的整合提供了一套完整的解决方案,和其他商业产品相比,Liferay有着很多优良的特性(但是缺点也很明显,文档太少,学习成本有点高),而且免费,对于Liferay portal的详细介...

冷月V天一 324

三菱CNC数据采集实战:从环境搭建到代码实现的完整指南

本文提供了一份完整的三菱CNC数据采集实战指南,涵盖从开发环境搭建、核心SDK获取、网络配置到基于C#和A2协议的完整代码实现。文章详细解析了初始化、连接管理、数据获取与展示四大核心模块,并分享了错误处理、性能优化及与MES系统集成的关键技巧,帮助工程师快速构建稳定可靠的工业数据采集系统。

wood5的博客 890

HFSS/ADS仿真实操:手把手调优一个2.4GHz SAW滤波器的IDT结构

本文详细介绍了使用HFSS和ADS仿真工具优化2.4GHz表面声波滤波器(SAW)的IDT结构。从材料参数设置到IDT建模,再到参数化扫描与频率调谐,提供了实用的操作步骤和优化技巧,帮助工程师快速掌握SAW滤波器的设计方案与性能调优方法。

weixin_29197835的博客 532

Liferay使用心得

 Liferay是一个出色的Java开源Portal产品,其中整合了很多当今流行的开源框架,也被不少人使用在实际项目中。最近刚结束了一个基于Liferay Portal的项目,总结下使用中的一些心得,希望对正在使用Liferay的朋友有些帮助。 一、安装Liferay的安装十分容易,甚至都不能称其为安装,根据情况从Liferay官方网站下载合适的安装包(一般可以选择Tomcat的B

Danny Dong的专栏 808

智能车图像处理4-入门级分析3 ---十字路口补线

PS :入门级文章适合新手,如果已经有基础可以去看进阶篇文章。

taiyuezyh的博客 1万+

【转】Liferay使用心得

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33725270的博客 135

Android 13 Settings蓝牙列表卡顿问题排查及优化过程

此时我们的卡顿优化基本完成了,我们应该要考虑内存是否会泄漏,如果大家不知道哪些需要回收可以用leakcanary和android profiler进行内存检测,看代码有没有内存泄漏。

龚礼鹏的博客 2547

智驾车载以太网(18)-switch之报文转发和vlan处理流程

本文详细解析了交换机中报文处理和转发流程:1)通过目标MAC查找转发端口,源MAC创建ARL条目;2)VLAN标签处理包括tagged/untagged帧判断、默认VID标记等5种处理方式;3)完整转发流程包含CRC校验、IQ封装、VLAN和ARL表查询、端口向量计算及优先级队列发送。文中还涉及TCAM修改VLAN、802.1q多种模式处理等细节,省略了流量控制等次要流程。该过程实现了基于MAC和VLAN的高效二层交换。

mitugaoyang1993的博客 43

liferay和java有关吗_一些关于Liferay的使用心得 | 学步园

Liferay是一个出色的Java开源Portal产品,其中整合了很多当今流行的开源框架,被不少人使用在实际项目中。最近刚结束了一个基于Liferay Portal的项目,总结下使用中的一些心得,希望对正在使用Liferay的朋友有些帮助。一、安装Liferay的安装十分容易,甚至都不能称其为安装,根据情况从Liferay官方网站下载合适的安装包(一般可以选择Tomcat的Bundle),解压后直...

weixin_39940688的博客 203

目前最强的价格行为技术分析AI!大A也能用!还免费!

有球友推荐了一个历史最强的价格行为技术分析AI工具,使用下来确实很惊艳,解决了 很多AI工具黑盒过程,难以回溯的问题,他的决策过程可解释,提供决策树、诊断结果、原始响应、调试信息和未来走势预期。用户能够看到模型为什么选择“做多、做空或不下单”。会检查置信度、入场条件、盈亏比、结构失效和冷却期。最大的优点不是“预测一定准确”,而是把主观的价格行为分析整理成了可重复、可解释、可校验、可持续跟踪的工程化流程。本文记录本项目在 Windows 上的实际部署与启动方法。

木头大左的博客 76

Liferay使用心得 (转载)

Liferay是一个出色的Java开源Portal产品,其中整合了很多当今流行的开源框架,也被不少人使用在实际项目中。最近刚结束了一个基于Liferay Portal的项目,总结下使用中的一些心得,希望对正在使用Liferay的朋友有些帮助。   一、安装 Liferay的安装十分容易,甚至都不能称其为安装,根据情况从Liferay官方网站下载合适的安装包(一般可以选择Tomcat的Bund

1292

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Liferay使用心得 (转载)

http://blog.sina.com.cn/s/blog_4aad61e7010083oa.html     liferay文档库重新部署后无法下载问题 http://blog.youkuaiyun.com/lifesounds/archive/2008/06/05/2514181.aspx

jiasudu 167

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

liferay安装 开发心得(一)

Liferay 教程一、liferay安装文件结构解压liferay-developer-studioNext     配置sql服务器安装完毕  没图的话就是默认默认配置二、新建liferay Plugin Project 补充说明:Portlet:这个是一般做Liferay开发选择的项目,一般说Liferay插件工程,通常都是指的Portlet工程。他的结构和内容和普通的WEB工程区别不大。H...

fwk19840301的博客 2311

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

liferay安装 开发心得(二)

1、src:这里存储Java相关文件包,后面会看到还有一个services包。2、web.xml:此web.xml和普通的web工程的web.xml文件一样。3、build.xml,此文件为ant的构建文件,一般不需要修改继承自SDK。4、Liferay-plugin-package.properties,此文件为包工程的元数据信息文件,一般开发不需要关注。5、portlet.xml:portle...

fwk19840301的博客 1399

学习liferay心得(一)

    这段时间公司正好要使用liferay做项目,所以对liferay进行了一些了解,主要对liferay的配置修改与风格主题的修改的心得先放到上面跟大家同享,希望对新人有所帮助。有不对的地方还望指出。关于二次开发方面的会在以后实际开发中总结出来与大家同享。     我想大家在使用liferay做为平台时,首先面临如何改造liferay的页面,我先就把我这方面的经验介绍一下。         一...

冬雪风铃 160

liferay遇到的问题

  研究liferay快一个月了,取得的成果不大.不过发现的问题不少,自己都没有想出方法来解决.比如liferay如何设置默认的语言,当游客浏览的时候显示中文,还有如何修改liferay的logo,等等很多的问题.不过已经解决了一些.随后会总结自己遇到的问题和解决方法.希望有机会得到高手的指教. 1、  liferay的中文默认。 其实没有太大的必要,因为liferay的内容编辑功能不能同时对内容...

hatlar1的专栏 230

Liferay Portal额外研究(一):初步在新Tomcat下部署

Liferay额外研究(一):初步在新Tomcat下部署 从现在开始,会把我最近在研究的开源Portal Liferay一些心得贴出来。研究Liferay版本:Liferay Professional 4.0.0 柯自聪兄弟写过一系列的Liferay Portal开发文章,参考http://www.blogjava.net/eamoi/。所以基础性内容,本文不再细说,可参考柯自聪的

davidmr_001的专栏 3283

liferay5.2.1基础数据库和 MySql安装的心得

 测试了一下liferay5.2.1的新版本。1、默认用户名和密码是 test@liferay.com  和test。2、导入mysql.sql文件建立基础数据库后,启动liferay的时候仍然是默认hypersonic。根据tomcat黑屏中的提示,修改了portal-impl.jar中的portal.properties文件,把hypersonic注掉,(以前都是更改root.xml文件,5.

cyw8998的专栏 1013

liferay开发环境配置说明

项目接近尾声了,客户突然提出了很多的功能性的开发,郁闷死为了赶上进度,从明天开始就要进行地狱式的开发了,在这期间我会把自已所有的心得全写上来,以前的开发环境被我做测试搞的乱七八糟,没办法只能重新配置了,关于配置在网上已经有很多了,自已偷了个赖就找了一篇写的比较好的比较完整的配置文档给COPY了过来,希望别人不会找我麻烦.先给说下 在后面的开发主要方向是日志文章,全文搜索,产品开发,权限四块.下面...

Tyler_Zhou 317
上一篇: 一些关于Liferay的使用心得
下一篇: ActiveRecord与AR-JDBC的兼容性问题
dingx
博客等级 码龄24年 67粉丝 112原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值