Liferay 6.0.5开发指南

合集下载

Liferay Portal 6学习笔记4

Liferay Portal 6学习笔记4

本篇主要介绍liferay的开发模式liferay推荐两种开发模式一、插件模式开发。

二、扩展环境开发。

插件模式开发在上一篇文章里面通过liferay ide建立的那个工程就是插件模式开发。

什么是插件模式开发呢?简单说就是提供一个独立的war包放到应用服务器里面,如果我们打开%tomcat_home%/webapps就会看至上一篇中建立的工程LiferayStudy-portlet,同时还看到许多其他的文件夹,如下:这些文件夹是liferay里面自带的一些插件包,如chat、google map等。

扩展环境开发Liferay 6以后的ext模式开发有了变动,在Liferay 6之前的版本中扩展环境叫做Extension Environment,从liferay 6以后这种模式叫做ext plugin。

(其实现在的开发模式可以称为一种了,都可以统称为插件开发,不过这两种模式有很大区别,还是分开来比较好)ext plugin(扩展插件)是以前使用Extension Enviroment(扩展环境)的升级版本,用来替代以前的ext开发模式。

现在的ext plugin开发可以称为一种轻量级的扩展环境,现在做扩展环境只需要使用不到10M大小liferay-plugins-sdk,而早期版本的开发要么需要自己下载Ext环境,要么需要自己从源代码里面编译一个扩展环境出来。

虽然现在的ext plugin使用的是不到10M大小的SDK,但是开发方法和运行原理和之前使用的Extension Enviroment是一样的。

看一下liferay ext plugin模式在Eclipse里面的工程目录在这里个工程里面我们写的java类文件一般在docroot/WEB-INF/ext-impl/src 目录下面,jsp文件一般在doroot/ext-web/docroot目录下面。

文件夹ext-impl、ext-lib、ext-service、ext-util-bridges 、ext-util-java、ext-util-taglib这些在部署的时候会被打成jar包,ext-web/dcroot对应的就是tomcat下面的root目录。

Liferay开发环境配置说明文档

Liferay开发环境配置说明文档

From Elias的个人主页Develop: Liferay开发环境配置说明文档(中国科学院研究生院网络中心)On this page... (hide)1. 文档说明2. 基本环境配置2.1 准备必须的软件,并进行环境参数配置2.2 下载LifeRay程序包2.3 安装和配置基本的Eclipse运行环境3. 基于Tomcat开发Portlet3.1 配置扩展开发环境3.2 添加插件支持3.3 配置数据库和执行Liferay3.4 完成一个最简单的JSP的Portlet4. 改进和调试Liferay自身代码4.1 安装Orion服务器4.2 在Eclipse中配置Orion4.3 修改Orion配置参数4.4 修改Liferay的配置文件4.5 向Orion上部署Liferay系统4.6 另一种调试Portlet组件的方法1. 文档说明本文基于Tomcat开发Portlet的部分根据LifeRay官方的Quick Start文档中“Writing a simple JSP Portlet”章节的内容试验精简而成,依据的文档版本是RC1,日期2006-06-15。

对Liferay自身代码的编译、调试环境则参考了原Liferay 3.6.1版本官方文档的“User Guide”对应章节。

因为本文档对说明文字进行了一些简化,以及官方文档有可能在您读到本文时又有更新,因此仍建议参考官方文档原文,以明确一些细节的意义。

但官方文档也存在一些错误,这里书写的内容对本文指明的各软件的特定版本号是已经试验成功的,因此也建议在读官方文档的时候同时参考本文。

按照本文的步骤完成后,能够建立一个在Windows下的Eclipse工具中开发兼容LifeRay的Portlet组件的基本环境,或者建立一个在Windows下的Eclipse工具对Liferay自身的源代码进行编译、调试、改进的环境。

按照你的需要,不一定要同时配置这两种环境,具体说明可参照对应章节开头的说明文字。

Liferay Portlet指南(环境搭建)

Liferay Portlet指南(环境搭建)

Liferay Portlet指南(环境搭建)Liferay Portlet指南一、Liferay扩展环境搭建环境设置一、JDK 1.6.0, JDK 1.5.0 or JDK 1.4.2 1. 点击下一步安装2. 设置环境变量“JAVA_HOME”指向jikes的目录3. 增加“%JAVA_HOME%\\bin”到Path环境变量中二、Jikes 1.22 or Jikes 1.21 1. 解压缩安装包2. 设置环境变量“JIKES_HOME”指向jikes的目录3. 增加“%JIKES_HOME%\\bin”到Path环境变量中三、Ant 1.7.01. 解压缩安装包2. 设置环境变量“ANT_HOME”指向ant的目录3. 增加“%ANT _HOME%\\bin”到Path环境变量中配置扩展环境本指南所使用的liferay版本为4.2.2Step1:解压源代码将liferay源代码解压到任意目录,我们称之为${PORTAL_HOME}。

本指南中,将liferay源代码存放在目录${PORTAL_HOME}\\src下。

Step2:修改release配置文件在${PORTAL_HOME}\\src目录下找到文件release.properties,将其另存,命名为“release.${username}.properties”。

其中${username}就是当前Windows登陆的用户名,可以通过“开始菜单-》运行-》cmd.exe”后显示的默认路径看到,跟在“Documents and Settings”字样后面的就是当前登陆的用户名。

比如配置文件的名称是release.administrator.properties 。

文件的内容如下:修改lp.source.dir属性,来指定liferay源代码所在目录lp.source.dir=${PORTAL_HOME}/src修改lp.ext.dir属性,来指定liferay扩展环境放置目录lp.ext.dir=${PORTAL_HOME}/ext当然可以在源文件release.properties上修改,不过不建议这样做。

配置liferay开发环境配置说明

配置liferay开发环境配置说明

配置liferay开发环境说明1.准备文件(假设J2EE环境已配置好)ant部署工具:apache-ant-1.7.0-bin.zip(下面2中用)JIKES工具包:jikes-1.22-1.windows.zip(下面2中用)liferay原码包:liferay-portal-src-4.1.3.zip(下面2中用)liferay运行环境包:liferay-portal-tomcat-jdk5-4.1.3.zip(下面6中用)2.建立目录,并解压以上文件(1).在目录D:\liferay下建立目录文件夹ext和portal,apache-ant-1.7.0 jikes-1.22(2).将“ant部署工具”和“JIKES工具包”解到对应的apache-ant-1.7.0 jikes-1.22目录下(3).将原码文件liferay-portal-src-4.1.3.zip解到portal3.配置环境变量(1).ANT_HOME=D:\D:\liferay\apache-ant-1.7.0(2).JIKES_HOME=D:\liferay\jikes-1.22(3).Path=%JAVA_HOME%\bin;%JIKES_HOME%\bin;%ANT_HOME%\bin4.编译原码文件(1)在运行中用cmd进入D:\liferay\portal目录,执行ant start来编译原码(2)然后在此目录下建release.windows登录用户名.properties文件,并打开该文件写入lp.ext.dir=D:/liferay/ext设置信息后保存(3)然后在当前目录下执行命令:ant build-ext,此时在D:\liferay\ext 目录下生成文件5.进入D:\liferay\ext目录配置(1)将文件app.server.properties名称改为app.server.windows登录用户名.properties,并修改文件中的内容app.server.type=tomcat(2)将文件build.properties名称改为build.windows登录用户名.properties ,并修改内容jsp.precompile=on6.建立tomcat运行环境,并生成部署文件(1)将liferay-portal-tomcat-jdk5-4.1.3.zip运行包解压倒目录D:\liferay\ext\servers\tomcat下,准备好发布运行环境(2)在目录D:\liferay\ext\ext-web下执行ant(3)然后在D:\liferay\ext\ext-ejb下执行ant deploy,此时在该目录生成文件ext-ejb.jar包(4)将该ext-ejb.jar包拷贝到D:\liferay\ext\servers\ tomcat\ webapps\ROOT\WEB-INF\lib下,如存在就覆盖。

LiferayPortal6.0开发环境搭建

LiferayPortal6.0开发环境搭建

LiferayPortal6.0开发环境搭建
Liferay Portal 6.0开发环境搭建
2011-10-14 by 费利明开发工具
1.集成Liferay Portal IDE插件的Eclipse,在线插件安装地址:
/doc/5013765955.html
/tools/ide/eclipse/indigo/stable/
2.Liferay-plugins-sdk插件包,开发portlet、theme、layout、ext、hook等插件项目,下载
地址:/doc/5013765955.html
/zh/downloads/liferay-portal/available-releases
3.Liferay Portal RunTime Server,本环境使用Tomcat,官方有绑定好的,下载地址:/doc/5013765955.html
/zh/downloads/liferay-portal/available-releases
搭建步骤
1.打开集成Liferay Portal IDE的Eclipse
右键new项目有Liferay视图则插件安装成功
2.配置Liferay-plugins-sdk
3.配置Liferay Portal RunTime Server(new Server的时候配置也可以)
指向从官网下载的T omcat,做为运行时服务器
4.New一个Server,指向上面配置的RunTime Server,T omcat 右键new Server
5.启动Tomcat,浏览器访问http://localhost:8080,ok!
6.之后可以在Eclipse下开发各种Liferay Project插件项目了。

Liferay Portal二次开发指南

Liferay Portal二次开发指南

Liferay Portal二次开发指南(1)Liferay Portal二次开发指南(1)第一部分Liferay Portal架构解析本部分主要内容Portal服务器Portal容器Portlet 第一章 Liferay Portal作为一个开源Portal产品,Liferay Portal提供对多个独立系统的内容集成,帮助多个组织实现更有效的合作。

与其他商业的Portal产品相比,Liferay Portal有着一系列的优良特性,而且不需要付费。

第一节Portal规范随着Portal的兴起,越来越多的公司开始涉足Portal产品开发,并组建各自的Portal组件和基于其的产品,比如IBM、BEA、MicroSoft、SAP、Apache等。

各个厂商的接口互不兼容,给软件开发商以及开发人员带来诸多不便。

1.1.1 JSR168为此,JCP组织发布了JSR168(Java Specification Request),Portlet Specification V1.0,用来提供不同的Portal和Portlet之间的互通性。

只要开发的Portlet遵循JSR168,则就可以在所有遵循JSR168的Portal上部署运行。

JSR168中定义了Portal的实现规范和接口,并对理想的Portlet进行了详细的规划和描述。

1.1.2 WSRPWSRP是OASIS Web Service for Remote Portlet的缩写。

WSRP是Web Service的一种新的商业应用,一种新的标准,主要用来简化Portal对于各种资源或者程序整合的复杂度,可以避免编程带来的整合麻烦和问题。

而且Portal管理员可以从海量的WSRP服务中选择需要的功能用以整合到目前所用的Portal中。

它有三种角色:①、生产者 提供Portlet②、消费者→使用Portlet③、终端用户→最终用户它的特点在于生产者将消费者所需要的信息通过WSRP返回给消费者,这些信息是相对标记片断,例如HTML、XHTML等,可以直接嵌入用户的页面中,而不用像Web Service一样开发用户端接口。

Liferay Portal6安装及简单设置

Liferay Portal6安装及简单设置

Liferay Portal 6学习笔记:Liferay Portal6安装及简单设置博客分类:Liferayportalliferay企业应用准备首先到/projects/lportal/files/Liferay%20Portal/6.0.3下载liferay-plugins-sdk-6.0.3.zipliferay-portal-sql-6.0.3.zipliferay-portal-src-6.0.3.zipliferay-portal-tomcat-6.0.3.zip安装Portal 6首先来安装一下Portal,先来第一眼看一下LifeRay是什么样子的。

1、解压liferay-portal-tomcat-6.0.3.zip这个文件是Liferay绑定到tomcat下的一个版本,可以直接拿来用的(此版本带有一个HSQL数据库,所以不用连接数据库,如如连接其他数据库会在后面讲到),解压之后进入到liferay-portal-6.0.3\tomcat-6.0.26\bin目录,点击startup.bat运行tomcat,待tomcat运行后在浏览器中输入http://localhost:8080即可进入看到liferay 6。

2、登录liferay Portal在打开的浏览器中,点击右上角的login,输入帐号和密码。

在这里的输入的帐号密码为email:bruno@password:brunoliferay从5.2之后的版本中都带有一个7cogs.inc公司的示例数据库,所以这里的管理员帐号密码如上。

如果删除示例数据库,则账号密码如下:email:test@password:test3、设置语言登录之后会发现,这里的Liferay是英文的,虽然这些英文也比较简单,但还是中文看着舒服。

点击左上角的Manager-control Panel进入到Liferay的控制面板。

我们首先设置当前用户的语言,点击左边最上面的My Account,然后在右边的Miscellaneous下面找到 Display Settings,点击他。

Liferay 使用手册

Liferay 使用手册

Liferay 使用手册
刘建军
os9@
1.快速入门
1.1. 安装
去liferay官方网站上下载liferay-portal-tomcat-4.2.2.zip,直接解压就可以,然后执行liferay-portal-tomcat-4.2.2\bin\startup.bat命令,显示liferay已经启动
1.2. 测试
在浏览器上输入:http://localhost:8080/
1.3. 登录
用户名:test@ 密码:
test
登录后界面如下:
1.4. 添加portlet
然后在左边出现如下画面,就可以选择自己想要的portlet 了。

从这里进入 添加portlet
2.高级使用
2.1. 增加新用户
从这里进入
保存就完成添加
用户建立后,在这里改密码在这里可以将用户添加到组织或区域中
喜欢中文?
这里改改就行
2.2. 给用户增加角色
第一步:进入角色标签页
先选中角色,
再点击分配第二步:找到要添加到adminstrator角色的用户
2.3. 增加组织
与添加用户类似2.4. 增加地域
与添加用户类似先点击可用的再更新关联关系
2.5. 变更主题
从这里进入
选你所爱。

Liferay 6开发指南

Liferay 6开发指南

Liferay 6.0开发指南1. 介绍1、已有的应用集成方法:将应用重写为一个Portlet创建一个简单的Portlet整合应用(一般使用Web Service),可以使用iframe或http 代理(可以使用Liferay's WebProxy portlet)。

已有的应用要像部署门户插件一样,把WAR文件部署到应用服务器里,可以使用控制面板或直接复制的方式完成。

Liferay可以自动创建一个Portlet通过iframe集成已有应用。

2、自定义主题风格(Themes)3、自定义布局模板(Layout Templates)4、自定义或扩展门户功能:Hook plugins)Hook plugins可以用来扩展Liferay的核心功能。

5、高级扩展方式:Ext plugins扩展插件可以允许开发人员修改Liferay的核心部分,可以修改任何一个类。

扩展插件部署之后需要重新启动应用服务器。

Liferay 6.0之后用Ext plugins的开发方式替换了原来的Ext Environment开发方式,这样可以简化部署。

之前的扩展环境可以转换为一个独立的插件。

2. 插件开发工具包(THE PLUGINS SDK)2.1 安装Liferay1、下载Liferay Portal bundled with Tomcat;/downloads2、下载Plugins SDK;3、删除liferay-portal-[version]/tomcat-[tomcatversion]/webapps 除ROOT和tunnel-web目录的其他所有文件夹。

4、打开liferayportal-[version]/tomcat-[tomcat-version]/bin目录,运行startup.bat,启动Liferay。

5、http://localhost:8080,默认帐号/密码:test@/test。

6、设置环境变量ANT_HOME,将$ANT_HOME/bin加入到PATH环境变量中。

Liferay系列文章(六)Liferay应用之配制

Liferay系列文章(六)Liferay应用之配制

Liferay系列文章(六)Liferay应用之配制Liferay Portal缺省只有一个系统管理员用户test,且以用户的电子邮件地址****************为登录用户名,密码是test。

Liferay Portal针对不同的用户会展现出不同的服务网页。

当浏览Portal主页网址时,自动转入网址web/guest/home调出面向所有人的Guest社区公共主页。

一个注册用户登录系统后,可以选择访问不同类型的Portal主页。

这也是Portal同传统网站所不同的地方。

以test用户登录Liferay Portal系统,鼠标移到右上角的“Welcome Test T est!”处调出菜单。

再把鼠标移到“我的地方”,可以看到test用户可以访问的Portal类型有“我的公共”,“T est Organization”,“Test Location”和“Guest”,且每一项又分为“公开页”和“私有页”。

其中“公开页”是其他人可以访问的网页,“私有页”则仅自己或注册用户且经过授权才可访问。

如“我的公共”中的“公开页”可以被所有人访问,而其“私有页”仅用户自己访问。

在每个Portal的主页中可以建立若干个网页,每个网页可以定义为不同的类型:Portlet,Panel,Embedded,Article,URL和Link to Page。

其中Portlet网页是最常用的一类。

在Portlet网页中,可以按照需要布置若干个Portlet插件。

每个Portlet插件实现不同的功能,在独立的小窗口中展现内容。

在Portlet窗口的右上角有5个图标,分别用来设置外观,配置功能属性,设置最小化或最大化显示,或者关闭Portlet窗口。

有权限的用户,可以添加、配置或删除Portlet。

系统的配置是由系统管理员实施的。

以test用户登录后,先进入“我的公共”私有页中,删除不需要的Portlet,只保留“语言”Portlet。

plugins开发指南4

plugins开发指南4

Liferay-plugin 开发指南--(4)简单的MVC分层结构的 portlet---service代码自动生成做完前面的几个例子后,我们再来做一个稍微复杂些的例子,在这个例子里我们要实现一个MVC结构的portlet。

首先请参考《指南1》生成一个叫mvctest的plugin工程。

建好工程后在/mvctest-portlet/docroot/WEB-INF/ 下建一个叫service.xml的xml文件。

然后把如下的内容写到这个文件中去。

<?xml version="1.0"?><!DOCTYPE service-builder PUBLIC "-//Liferay//DTD Service Builder 6.0.0//EN""/dtd/liferay-service-builder_6_0_0.dtd"><service-builder package-path="com.liferay.training.library"><author>Delta.j</author><namespace>MVCDEMO</namespace><!-- Define the entity for the Library_Publisher table --><entity name="Publisher" local-service="true" remote-service="false"><!-- Primary key column --><column name="publisherId" type="long" primary="true" /><!-- Foreign key columns --><column name="companyId" type="long" /><column name="groupId" type="long" /><!-- Other columns --><column name="name" type="String" /><column name="emailAddress" type="String" /><column name="website" type="String" /><column name="phoneNumber" type="String" /><!-- Sort order --><order by="asc"><order-column name="name" /></order><!-- Finder Methods --><finder name="GroupId" return-type="Collection"><finder-column name="groupId" /></finder></entity><!-- Define the entity for the Library_Book table --><entity name="Book" local-service="true" remote-service="false"><!-- Primary key column --><column name="bookId" type="long" primary="true" /><!-- Foreign key columns --><column name="companyId" type="long" /><column name="groupId" type="long" /><column name="publisherId" type="long" /><!-- Other columns --><column name="title" type="String" /><column name="authorName" type="String" /><column name="publicationDate" type="Date" /><!-- Sort order --><order by="asc"><order-column name="title" /></order><!-- Finder Methods --><finder name="GroupId" return-type="Collection"><finder-column name="groupId" /></finder></entity></service-builder>这个文件是自动生成service工程的关键,这里记录了生成service所要的一些关键元素。

Liferay教程

Liferay教程

<order by="asc">
<order-column name="name" case-sensitive="false" />
</order>
<!-- Finder methods -->
<finder name="CompanyId" return-type="Collection">
步骤:
1、建表
首先报表需要保存在数据库中,为报表建立报表数据库。根据liferay的开发过程,具体步骤如下:
(1) 在ext-impl文件夹下,新建service.xml
说明:该xml文件描述报表数据表的字段信息,并指定对应的java对象。
Xml代码
<?xml version="1.0"?>
<!-- PK fields -->
<column name="entryId" type="String" primary="true" />
<!-- Audit fields -->
<column name="companyId" type="String" />
说明:相关资料说这里的Class值经常会出错,请注意修改。
(3) Copy sql和报表对象,进行权限声明。根据liferay的开发过程,具体步骤如下:
(1) 在ext-impl文件夹下,新建resource-actions文件夹。

plugins开发指南1

plugins开发指南1

Liferay-plugin 开发指南--(1)准备工作1.进行liferay-plugin的开发首先要配置好liferay-plugins-sdk的环境。

首先从liferay官方网站上下载liferay-plugins-sdk-6.0.3 。

然后解压到一个目录中例如解压到/home/deltaj/中,进入liferay-plugins-sdk-6.0.3目录中先复制一份build.properties,然后把这份复制build.properties改名为 build.${用户名}.properties。

其中${用户名}是你登录计算机的名称。

打开这个properties文件,然后把其中所有内容清空,然后在其中输入以下2行app.server.type=tomcatapp.server.dir=/opt/liferay6u3/tomcat-6.0.26第一行是设置所使用的中间件服务器类型,第二行设置的是中间件服务器所在的位置。

2.上面的步骤都做好后,接下来要设置JDK 和 ANT 。

设置JDK,先从sun的官方网站上下载jdk的最新版本。

终端下进入你存放jdk-6u21-linux-i586.bin的位置,例如我的位置是:/home/deltaj更改文件权限为可执行$ sudo chmod u+x jdk-6u21-linux-i586.bin$ sudo -s ./jdk-6u21-linux-i586.bin一路回车,直到询问是否安装,输入yes回车ok,安装完毕,下面配置环境变量配置classpath,修改所有用户的环境变量$ sudo gedit /etc/profile在文件最后添加#set java environmentexport JAVA_HOME=/home/liangshihong/jdk1.6.0_12export JRE_HOME=/home/liangshihong/jdk1.6.0_12/jreexport CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATHexport PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH重新启动计算机,用命令测试jdk的版本java -version显示如下信息:成功安装java version "1.6.0_21"Java(TM) SE Runtime Environment (build 1.6.0_12-b04)Java HotSpot(TM) Server VM (build 11.2-b01, mixed mode)3.Ant的安装。

liferay常用模块的简介

liferay常用模块的简介

Liferay常用模块的简介Liferay中,常用的是CMS下面的模块,其中Journal,Journal Articles,Journal Content,Navigation等是比较常用的模块,下面就简要介绍这些模块。

(1)Journal Content模块:这是一个重要的子模块,通过这个模块,可以在页面上添加Articles,包括文字,图片等等,系统的很多内容的展示都是通过这个模块来实现的。

1)首先,在页面中加入一个Journal Content模块(一个页面中可以加入多个Journal Content模块),如下:2)配置Journal Content 的内容,点击Journal Content上的Configuration,页面显示如下:在页面上列出了所有的Articles列表,要在此Journal Content上显示某个Articles,则只需点击列表中的对应Articles就可以了,比如想要在这个Journal Content中显示welcome 这个Article,则点击welcome这个Article,页面上提示:Displaying Content 10317(10317是这个Article的id号),此时welcome这个Article就会显示在Journal Content上了,如下图所示:也可以点击按钮Add Article 添加Article,输入Article Name及Article的内容(一般是html代码),点击Save按钮就可以保存Article,点击Save and Continue保存已输入的内容并继续编辑Article ,点击Save and Approve 按钮可以保存Article并把此Article显示在Journal Content中。

Journal Content 的内容就介绍到这里,关于Journal Content的其他内容由用户需要时再自己体会。

liferay6plugin式开发

liferay6plugin式开发

注:在按照这篇文档的操作前请先按照我上一篇的文档《liferay6.0 plug-in 安装说明》中所介绍的按照liferay plug -in 插件的方法把插件安装到eclipse 中.安装好了插件后我们就可以进行plug in到开发了。

1.首先我们要新建一个plug in 工程。

在eclipse 中点击创建plug in工程的图标。

然后选择其中的liferay portlet plug-in project.2.在创建新的plug-in project页面中填入project name,例如firstPortlet,然后liferay sdk,和liferay runtime 都选择默认的设置,也就是我们上一节里设置的。

Plug-in type 选择plortlet。

然后点击下一步。

3.在下一步中是要选择dynamic web module version 和configuration,这里都选择默认的设置,然后点击finish,这样eclipse会自动的帮我们进行编译工程。

(如果你如果在操作过程中出现什么错误的话,可以试试把dynamic web module version 选择为2.4 )编译完成后我们就可以看到编译了一个项目。

选择new liferay portlet选项。

5.在new liferay protlet 页面中输入portlet class 名称,和java package 名,然后点击next。

6,在设置Portlet部署描述符中指定的细节页面中,可以设置,portlet的名称,显示名称,标题,还有portlet 模式,liferay portlet模式,是否要创建jsp,jsp所在的文件夹6。

设置完portlet的基本信息后就进入了设置portlet页面信息的页面,这里可以设置页面所用的css 和js等。

设置完这些我们就一路点击next,最后点击finish就完成了整个设置的过程。

Liferay6实例教程

Liferay6实例教程

Liferay6Development DocumentationTABLE OF CONTENTS1.PREFACE ............................................................................................ 错误!未定义书签。

W HAT'S COVERED.................................................................................... 错误!未定义书签。

P REREQUISITE SOFTWARE ......................................................................... 错误!未定义书签。

A SSUMPTION........................................................................................... 错误!未定义书签。

2.LIFERAY INSTALLATION AND CONFIGURATION ......................... 错误!未定义书签。

D OWNLOAD ............................................................................................ 错误!未定义书签。

JDK I NSTALLATION................................................................................ 错误!未定义书签。

M Y SQL I NSTALLATION............................................................................. 错误!未定义书签。

liferay开发部署准备

liferay开发部署准备

1.关于LiferayLiferay 是一个完整的门户解决方案,基于J2EE的应用,使用了EJB以及JMS等技术,前台界面部分使用Struts MVC 框架,基于XML的portlet配置文件可以自由地动态扩展,使用了Web服务来支持一些远程信息的获取,使用Lucene实现全文检索功能。

(Lucene是一套用于全文检索和搜寻的开源程式库,由Apache软件基金会支持和提供。

Lucene提供了一个简单强大的应用程式接口,能够做全文索引和搜寻,在Java开发环境里Lucene是一个成熟的免费开放源代码工具;就其本身而论,Lucene是现在并且是这几年,最受欢迎的免费java资讯检索程式库。

人们经常提到资讯检索程式库,就像是搜寻引擎,但是不应该将资讯检索程式库与网搜索引擎相混淆。

)主要特点如下:1、提供单一登陆接口,多认证模式(LDAP或SQL);2、管理员能通过用户界面轻松管理用户,组,角色;3、用户可以根据需要定制个性化的门户布局;4、能够在主流的J2EE应用服务器上运行;5、支持主流的数据库;6、使用了第三方的开源项目,如Hibernate, Lucene, Struts;7、支持包括中文在内的多种语言;8、采用最先进的技术Java, EJB, JMS, SOAP, XML;9、提供扩展模式下开发;10、提供插件模式下开发;11、多数据库支持;这里我们就是利用Liferay源码通过Ant发布Liferay扩展包进行Portal项目的发布和开发工作。

2.准备工作 2.1 下载Liferay 5.2.3Liferay源码包liferay-portal-src-5.2.3.zipOracle数据文件 liferay-portal-sql-oracle-10-5.2.3.dmp(下载地址:/project/showfiles.php?group_id=49260)2.2 开发工具JDK 1.6 以上;Ant 1.7 以上;Tomcat 6.0 以上;Myeclipse 5.1以上;3.环境配置 3.1 JDK配置(1)JAVA_HOME:JDK的安装目录(2)PATH:把%JAVA_HOME%\bin目录加到path变量(检查JDK是否安装正确,通过“JAVA –version”命令来判断。

liferay6.0 plug-in 安装说明

liferay6.0  plug-in 安装说明

A.安装plug-in 插件根据liferay官方的说明,plug-in插件要在如下版本的eclipse中才能安装Eclipse Helios (3.6.0) IDE for Java EE Developers下载地址是/downloads/download.php?file=/technology/epp/downloads/release/helios/R/eclipse-jee-helios-win32.zip 1.首先要在eclipse中Help > Install New Software...进入安装插件的页面,然后点击add按钮。

出现add repository 页面Name 栏中填Liferay IDEurl 栏中填:/tools/ide/eclipse/helios/stable/然后点击ok。

2.在install页面中过一会就会出现liferay tooling 和liferay IDE ,都选中,然后点击next。

然后在下一个页面中点击finish就开始进行安装了,在安装的过程中会出现一个警告,大体内容是本软件包含有未签名的内容,其合法性和真实性没有保证,请问是否继续。

这个不用管,直接点ok就可以继续下去,安装完成后,会有提示框,问是否要重启,选中重启,plug-in IDE 就安装完成了。

如果安装的成功的话会看到如下2个图标。

B.安装sdk1.先下载sdk到本地,进入官方网站下载页面。

/products/liferay-portal/download/ce-vs-ee然后选择plugins sdk进行下载。

2.在eclipes中选择windows -> preferences ->Liferay3.然后在perferenceds页面中选择liferay IDE ,然后点击Install SDKs ,选择add 按钮,然后在new liferay SDK 页面中点击browser按钮,然后选择liferay sdk所在的目录。

liferay技巧

liferay技巧

Liferay 技巧1.根据自己需要修改liferay jedi主题选择jedi主题,具有下拉菜单,以下为修改部分:1、去除语言转换图,在liferay-jedi-theme\templates下的dock.vm文件中添加注释#* <div class="lang">$nguage()</div>*#2、去除右上角的导航下拉菜单,在文件dock.vm中#*<h2 class="user-greeting"><span>$user_greeting</span></h2>*#3、去除主菜单右上的/和my profile链接,在文件portal_normal.vm中#* <div id="top-menu"><a href="$company_url"></a>#if ($is_signed_in)| <ahref="$themeDisplay.getPathFriendlyURLPublic()/$user.getScreenName()/ profile">#language("my-profile")</a>#end</div>*#4、去除搜索输入窗,在文件portal_normal.vm#*#if ($group_id == $guestGroup.getGroupId())<div class="search">$theme.journalContentSearch()</div>#end#if ($update_available_url)<div class="popup-alert-notice"><a class="update-available" href="$update_available_url">#language ("updates-are-available-for-liferay")</a></div>#end*#5、左上角logo图标文件为custom/logo.png6、右上角下拉菜单我的帐户去除等#*#if ($show_my_account)<li class="my-account"><a href="$my_account_url">$my_account_text</a></li>#end*#7、去除公司logo链接,在文件portal_normal.vm<h1 class="logo">#* <a class="png" href="$company_url">$company_name</a>*#<a class="png">$company_name</a></h1>8、主菜单默认颜色为images\custom\下的bg.png9、ie上的ico图标在images\liferay.ico2.Liferay中如何让无权访问的Portlet隐藏?layout.show.portlet.access.denied=false未验证3.提高liferay性能转载自:/web/wanpeng/blog/-/blogs/777189提高liferay性能By Gavin Wan, On 5/7/08 6:28 AM似乎总能听到liferay性能的抱怨,在一个开源软件中这其实不难理解,就想一台公用的电脑,有人用oracle就在上面装个oracle,有人用DB2就又装了一个DB2…… 这些服务都启动自然就会慢。

Liferay组织管理和权限设置

Liferay组织管理和权限设置

Liferay组织管理和权限设置Portal组织管理和权限设置Portal用户架构User:用户,最基本的单位,用户可以加入到多个其它对象中,如组织单元,社区。

Organization:组织单元,以地域或其它组织方式来组织的一系列容器,可以有层级关系,比如我们的项目中的china,gd 等等。

Community:社区,由一系列相同爱好或其它有共性的用户来组成,比如fishing。

Role:角色,角色用来组织权限的,一系列拥有同样权限的用户可以拥有同样的角色,角色有下在三种:○Portal Roles系统角色○Organization Roles组织角色○Community Roles社区角色User Groups:用户组,用户组可以拥有组织角色和社区角色,可以看成Organization和Community的组合体。

e天下门户的组织架构这里标数字的都是组织单元,表示其层级关系。

页面构建1.组织单元的创建:组织单元管理在EnterPriseAdmin这个Portlet中。

这里我分别创建了三个组织单元,按照上面的层级关系。

编辑页面如下:实验证明中文组织单元名称也是可行的。

2.为组织单位管理页面在组织单拉后面的actions菜单后面单击选择Manage Pages.修改中国这个站的友好网址添加页面,如下图,好的习惯就是为每个站点添加一个管理页,url为admin管理页guest用户不能看3.页面定制权限设定刚才创建的站点只有portal管理员才有权限管理,包括内容发布,页面定制等,下面的动作是如何创建内容发布员。

这里的内容发布员,只有增加,删除等权限,没有审批权限,他发布的内容要内容审批员审批后才可以让用户看到。

1.创建用户:创建用户同样是用Enterprise Admin这个portlet。

点击Add User,增加用户这里的Screen Name不能是中文。

2.把用户加入到组织单元。

3.点击中国这个组织单元后面的actions后菜单中选择Assign Members。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Liferay 6.0.5开发指南1.Portal/Portlet的基本概念JSR168中定义了Portal的实现规范和接口,并对理想的Portlet进行了详细的规划和描述。

它的特点在于生产者将消费者所需要的信息通过WSRP返回给消费者,这些信息是相对标记片断,例如HTML、XHTML等,可以直接嵌入用户的页面中,而不用像Web Service 一样开发用户端接口。

实现这个规范,Portal可以跟各式各样的数据源打交道,彻底终结信息孤岛的窘境。

1.1.什么是PortalPortal是基于Web的,以“应用整合”和“消除信息孤岛”为最终目的,提供单点登录、内容聚合、个性化门户定制等功能的综合信息系统。

完整的Portal通常由Portal服务器、Portlet容器、Portlet构成。

Portal 服务器是容纳Portlet的容器,支持Portlet呈现的普通或者特殊Web服务器。

Portal服务器通常会提供个性化设置、单点登录、内容聚合、信息发布、权限管理等功能,支持各种信息数据来源,并将这些数据信息放在网页中组合而成,提供个性化的内容定制,不同权限的浏览者能够浏览不同的信息内容。

通常,Portal提供以下功能:单点登录:Portal通常采用ACL、SSL、LDAP等业界标准的安全技术,提供对所有现有应用系统的安全集成,只需在Portal的唯一入口上登录一次,就可以访问所有应用系统和数据。

对于安全性要求较高的应用系统,如电子商务平台、交易系统等,通过扩展接口传递用户身份信息,如数字证书信息、数字签名信息等,进行二次身份认证,保证单点登陆的安全性。

1)ACL(Access Control Lists,缩写ACL),存取控制列表。

2)LDAP是轻量目录访问协议,英文全称是Lightweight Directory AccessProtocol。

权限控制:系统采用LDAP对用户资源进行统一的管理,同时提供二次开发接口,可以与其他应用系统的用户管理模块对接,并能随相关业务系统实时更新访问权限。

通过完善的授权机制及存取控制,用户访问权限控制到字段级别,确保用户只能访问具有权限的应用系统及相关信息。

内容管理: 实现应用系统之间实时交换信息。

采用多种缓存机制,保证内容交换的性能和准确性。

采用基于XML的Rich Site Summary (RSS)标准,迅速在各应用系统之间传播最新变化。

信息发布:实现信息门户内容的动态维护。

动态网站系统可与OA协同办公系统、知识管理系统等集成,网站信息须经OA系统的审批流程流转通过后或知识管理平台设置具有外部共享权限后才可正式发布,真正实现内外信息发布的同步。

文件管理: 系统实现无缝集成多种数据源,包括:数据库、文档(Office文档、PDF、AutoCAD、甚至ZIP文档)、Web网页、FTP站点等,并对数据按业务要求和职务特点加以分析整理,通过统一Web界面主动推送(Push)至用户的门户桌面,帮助用户做出及时、正确的决策。

1.2.Portl et和Servlet的关系Portlet容器提供Portlet执行的环境,包含很多Portlet并管理它们的生命周期,保存Portlet的定制信息。

一个Portal容器接收到来自Portal的请求后,接着将这个请求传递给存在Portal容器的Portlet 执行。

Portlet容器没有义务去组合Portlet 产生的信息內容,这个工作必须由Portal来处理。

Portal和 Portal容器可以放在一起视为同一个系统的组件,或者分开成为两个独立的组件。

Portlet容器是普通Web Servlet容器的扩展,所以一个Portlet容器可以构建于一个已经存在的Servlet容器或者可能实现全部Web Servlet容器的全部功能。

无论Portlet 容器怎么实现,它的运行环境总是假定它支持Servlet2.3规范。

通常,Portlet容器扩展自普通的Servlet容器。

Portlet和Servlet算是兄弟有那么一点点相似却又有那么一点点不同,因为Servlet 和Portlet不尽然相同,所以研究小組決定将portlets定义成为一个新的组件,因此定义了portlets一个新的并且明确的界面与行为。

为了尽可能与现有的servlet结合达到重复使用的目的,portlet的规范利用了servlet的规范,许多观念都很相似的,结合portlets、servlets及jsp在同一个网站系统中,我们称为portlet application。

在同一个portlet application中,他们将分享同一个classloader,context及session。

①、Portlet 和Servlet 的相似之处@ Portlet 也是 Java 技术的 web 组件@ Portlet 也是有特定的 container 在管理@ Portlet 可以动态产生各种内容@ Portlet 的生命周期由 container 所管理@ Portlet 和客户端的互动是通过 request/response 的机制②、Portlet 和Servlet 也有一些不同@ Portlet 只产生 markup 信息片段,不是完整的网页文件。

而 Portal 会将所有的Portlet markup 信息片段放到一个完整的 Portal 网页。

@ Portlet 不会和 URL 有直接的关系@ 客户端必须通过 portal 系统才能和 Portlet 互动@ Portlet 有一些定义好的 request 处理,action request 以及 render request。

@ Portlet 默认定义 Portlet modes 及窗口状态可以指出在网页中该 Portlet 的哪个功能正在执行及现在的状态。

@ Portlet 可以在同一个 portal 网页之中存在多个。

③、Portlet 有一些附加的功能是Servlet 所没有的@ Portlet 能够存取及储存永久配置文件及定制资料。

@ Portlet 可以存取使用者数据@ Portlet 具有 URL 的重写功能在文件中去动态建立连结,允许 portal server 不用去知道如何在网页的片段之中建立连结及动作。

@ Portlet 可以储存临时性的数据在 Portlet session 之中,拥有两个不同的范围:application-wide scope 及 Portlet private scope 。

④、Portlet 不具有一些功能,但是Servlet 却有提供@ Servlet 具有设置输出的文字编码( character set encoding)方式@ Servlet可以设置 HTTP 输出的 header@ Servlet才能够接收客户对于 portal 发出的 URL 请求Portlet的生命周期Portlet的生命周期一个Portlet有着良好的生命周期管理,定义了怎样装载,实例化和初始化,怎样响应来自客户端的请求及怎样送出服务。

这个Portlet生命周期由Portlet 接口的init,processAction,render和destroy方法来表达。

载入和实例化Portlet容器负责载入和实例化Portlet。

当Portlet容器运行Portlet应用或者延迟到Portlet需要服务使用者的请求时,Portlet就会被载入并实例化。

载入Portlet类后,Portlet类随即被实例化。

初始化Portlet类实例化后,Portlet容器还需要初始化Portlet。

以调用Portlet去响应客户端的请求。

Portlet容器呼叫Portlet接口中的init方法初始化Portlet。

扩展自PortletConfig的类可以取出定义在部署描述文件中的初始化参数,以及Resource Bundle。

初始化异常在Portlet初始化期间,Portlet可能会丟出UnavailableException 或PortletException 异常。

此时,Portlet容器不能把 Portlet置入已启动的服务,并且Portlet容器必需释放这个 Portlet。

destory方法不能被呼叫,因为初始化被认为执行失败。

发生失败后,Portlet容器会尝试着重新实例化及初始化 Portlet。

这个异常处理的规则是:由一个UnavailableException 指定一个不能执行的最小时间,当此异常发生时,Portlet容器必需等到指定时间过去后才产生并且初始化一个新的 Portlet。

在初始化过程中所丟出的 Runtime Exception异常,被当作 PortletException 来处理。

重要的基类GenericPortlet像Servlet一样,编写的Portlet也必须直接或者间接的扩展基类GenericPortlet,这个是由JCP针对Portal提出的JSR168规范定义的。

只要扩展自规范的GenericPortlet,所有的Portlet都可以在支持JSR168规范的Portal服务器上运行。

GenericPortlet统一定义了可供Portal容器识别和调用的方法,包括:public Init():初始化;public Init(PortletConfig) :初始化;public getInitParameter(String):取得在Portlet.xml中定义的初始化参数;public getInitParameterNames():取得在Portlet.xml中定义的全部初始化参数;public getPortletConfig():取得包含初始化参数的配置对象PortletConfig实例;public getPortletContext():取得Portlet上下文;public getPortletName():取得在Portlet.xml中定义的Portlet名称。

public getResourceBundle(Locale) :取得Portlet国际化的Resource Bundle;protected getTitle(RenderRequest) :取得Portlet的标题;protected doView(RenderRequest,RenderResponse) :Portlet浏览模式的处理方法;protected doEdit(RenderRequest,RenderResponse) :Portlet编辑模式的处理方法;protected doHelp(RenderRequest,RenderResponse) :Portlet帮助模式的处理方法;protected doDispatch(RenderRequest,RenderResponse) :Portlet行为分发;protected processAction(RenderRequest,RenderResponse) :Portlet处理Action Request的方法;protected render(RenderRequest,RenderResponse):Portal处理Render Request的方法;public destroy():Portlet销毁,终止其生命周期。

相关文档
最新文档