TransientLove

Java Fan
posts - 0, comments - 0, trackbacks - 0, articles - 2
  BlogJava :: 首页 ::  :: 联系 :: 聚合  :: 管理

Liferay “瘦身”笔记

Posted on 2006-10-26 20:40 TransientLove 阅读(744) 评论(0)  编辑  收藏 所属分类: Liferay 研究

Liferay “瘦身”笔记

              ---------TransientLove  2006-10-26

 

一、 概述

Liferay 本身提供了很多 portlet ,但对我们的项目或产品绝大部分不适合。在我们开发中,我们希望用最简洁的 Liferay 开发出适合我们产品。这样做的好处是,对 Liferay 代码有更深入的了解,包括其编译过程,核心代码等都有足够的了解,知己知彼,方能百战百胜嘛。

Liferay 官方网站提供了很多教程,包括用户指南,开发指南, Lifecast 等,对如何给 Liferay “瘦身”并没有相关的教程。现在我们自己手工给 Liferay “瘦身”。

二、 “瘦身”过程

1.  运行 Liferay 后,选择不需要的 Portlet

2.  portal-ejb\src\com\liferay\portlet portal-web\docroot\html\portlet 中删除。

3.  修改 portal-web\docroot\WEB-INF 目录下的 liferay-display.xml liferay-portlet.xml portlet.xml ,相应的在其目录下还有 web.xml,struts-config.xml,tiles-def.xml 等。注意:有几个 Portlet 不能删除, words Translator (在第三条我将解释为什么不能删除)。

4.  修改 Portal-ejb\classes 下的 System.properties,portal.properties 文件。如果想编译成中文,修改 System.properties

user.country=CN

           user.language=zh

这样在任何用户登录的时候就可以显示中文了。当然,也可在容器启动的时候设置语言环境。

5.  修改 portal-ejb\classes\ META-INF 目录下所有与自己的 portlet 相关的文件。(在的实验中,绝大部分文件都涉及到了)

6.  同样的, custom-sql resource-actions 目录也是如此。

7.  修改相应的 build.xml 文件,否则编译不通过。

8.  完成后在 eclipse 中打开此项目,修改错误。

以上过程不必严格按照步骤。“瘦身”并不是很难的事情,主要是耐心加细心便可以。

三、 Language.properties

Language.properties 文件内容是在开发的时候手工写入的,在 portal-ejb 目录下的 build.xml 文件有 build-lang 任务用 com.liferay.portal.tools.LangBuilder 类, 他的功能是把 build-lang-native2ascii-all 任务提供的参数生成相应的生成语言文件,比如中国汉字是 Language_zh_CN.properties.native ,它是如何生成的呢?

LangBuilder 类中调用 TranslationConverter 类,而此类是 Translater portlet 提供的,这就是开始为什么不建议删除此 portlet 的原因了。此类有以下代码

StringBuffer url = new StringBuffer();

                     url.append("http://babelfish.altavista.com/babelfish/tr?doit=done");

                     url.append("&urltext=").append(Http.encodeURL(_fromText));

                     url.append("&lp=").append(_translationId);

 

String text = Http.URLtoString(new URL(url.toString()));

     从上可以知道 Liferay 的翻译成中文时是如此之滥的原因了 ^_^ 。如果还不明白,建议仔细研究一下这两个类。

四、 Sql

Language 相似,在 sql 目录下的 build.xml 中同样提供了生成 sql 的任务是 build-db 。同样提供了一个类 com.liferay.portal.tools.DBBuilder ,如果对 liferay 提供的数据不满意的话,可以参考这个类,修改相应的文件,产生适合自己的测试数据。

五、 后记

第三和第四都是关于文件生成的,与“瘦身”关系不是太大,以后将介绍如何进行权限开发以及如何利用 service.xml 文件生成代码的。

本以为 Liferay 瘦身是件很简单,很容易的事情,但是经过了这么长时间的“瘦身”,才知道自己原先的想法是多么的可笑,同时对 Liferay 的了解更进了一步。在此奉劝各位亲自动手给 Liferay “瘦身”,来体会“瘦身”的乐趣。

通过“瘦身”,你对 Liferay 了解了多少?

六、 参考资料

银狐 999 Liferay 额外研究(二):对 Liferay 进行瘦身

http://blog.csdn.net/james999/archive/2006/07/27/986386.aspx

 

只有注册用户登录后才能发表评论。


网站导航: