Liferay 学习笔记

来自:http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=101&threadID=28717&messageID=172395#172395

本文主要涉及内容:
修改网站的公司LOGO;
增加用户;
增加页面;
Liferay中的Groups及用户、角色、页面组之间的关系;
IE中修改文字大小对于portlet布局的影响;
增加用户注册的入口;
设置Liferay代理的方法;
登录过程缓慢的解决方法;
修改访客首页的方法。

本文所述均经作者实践,本人的环境是tomcat 5.0.28,liferay 3.6.1,jdk 1.4.2_09,mysql 5.0.6


修改网站的公司LOGO:

通过admin(管理)portlet,以管理员登陆应可以在左侧看到,如果没有,从下面的portlet列表中添加。点击该portlet上的company链接,然后点logo图片下面的change链接。上传一个200*50的图片(它的注释写的不对,如果上传250*50的图片,版面将变得混乱),然后会自动刷新,显示出这个新LOGO。

增加用户:

通过admin(管理)portlet,以管理员登陆应可以在左侧看到,如果没有,从下面的portlet列表中添加。点击该portlet上的users链接,然后在右侧输入用户的信息,然后点击add按钮,将增加一个用户,如果已配置了mail服务器,将发送一封邮件给该新增用户,里面包括一些欢迎信息及初始密码等信息。默认的新增用户角色是Power Users 和Users。该用户会自动本地化,登陆后看到的界面是中文的。

增加页面:

通过admin(管理)portlet,以管理员登陆应可以在左侧看到,如果没有,从下面的portlet列表中添加。点击该portlet上的group链接,选择一个要增加页面的桌面,然后点击edit pages 按钮
在page name文本框内输入页面名,然后点击add new Page按钮。在左侧的树中选择该新增的页面,然后在右侧的portlet列表中可以选择已有的portlet添加到页面上。点击update pages按钮。

Liferay中的Groups及用户、角色、页面组之间的关系:

进行配置管理时,强烈建议不要使用本地化的中文界面,有很多翻译的并不贴切,还不如直接看英文看的明白。我认为一个重大失误是Groups的翻译,应该翻译为页面组或桌面,而不是用户组,详情继续往下看。Liferay中的Groups是指页面组,或者说是桌面,并不是用户组。

Liferay中用户、角色、页面组之间的关系我理解是这样的,portlet是最小元素,它们单独或共同完成一些业务操作。页面是包含一个或若干portlet的容器。页面组是一些页面的组合。角色如需对某些页面组(即这些页面组包含页面上的portlet)进行操作,将这些页面组划归为某个角色即可。一个用户可以拥有一个或多个角色,用户登录时,根据他所拥有的角色显示不同的页面组。用户也可以直接拥有页面组,用户登录时,将显示他拥有的页面组。它们之间的关系如附件中的图所示。

实际操作过程中,发现必须把页面组(桌面)分配到用户,才会有效,而只分配给某用户隶属的角色,并不生效,不是很明白系统管理中把页面组分配给角色的意义何在,望与大家探讨,共同学习。

在某个页面组(桌面)中创建页面时,可以指定页面的类型,portlet是指一些portlet的组合,url是指一个具体的页面url,可以引用其它服务器上的某业务的url,embedded也是引用一个url,但与url不同的是内嵌式,使用liferay的外观,内部是引用的页面显示的内容。

创建页面组(桌面)时,有一个Friendly URL,这里一般不填写内容。对于guest用户,它们查看的是GeneralGuest桌面,这里填写了Friendly URL 为/web/guest,其下的Company,Products,Downloads等都是作为General Guest桌面的页,每个都有一个Friendly URL,各个页面引用的portlet名称虽然一样,但显示内容并不相同,我觉得Liferay是根据Friendly URL的不同而显示不同的内容。以管理员身份查看General Guest桌面,将看到edit article,Preferences链接,可以编辑文章、banner,修改文章、banner的显示参数。


IE中修改文字大小对于portlet布局的影响:

上周为了查看Liferay自带的文档,里面有一些代码的文字非常小,因此调整了IE菜单“查看”-“文字大小”为最大,随后就把此事抛到了脑后。后来访问Liferay 的Home页面,发现本应显示在右侧宽列的“news”,“Calendar”等portlet都显示到了左边窄列,大惑不解。我尝试了很多办法,包括重新将Liferay 的tomcat包重新解压缩,重新安装jdk1.4,删除ie缓存、cookie …… 均告无效。刚才在另一台机器上部署之后,比较两台机器的异同,发现那些页面文字“Home A1”“Test 1”还有portlet标题文字怎么都那么大,再一看ie的文字大小配置,才恍然大悟,修改为“中”,一切恢复正常。为了不让遇到类似情况的朋友们走弯路,特意写出供大家参考。

增加用户注册的入口:

以管理员身份登录系统,点击admin portlet中的Company,在最下面的Allow strangers to create accounts? 选择Yes,然后点击Update按钮,如果这时以为大功告成,你就错了,还要继续如下的配置。修改Groups,在左侧列表框选General Guest,然后点击下面的Edit Pages按钮,在左侧的树状结构中,点击Home,然后右边中间列出了所有Portlet的目录,选择tools,然后选My Account(w),将增加到下方的列表框中,再点击最下面的Update Page按钮,这时,点击左上角的sign out,回到首页,你看到新出现的My Account了么?在密码输入框下有一个Create Account链接,点它进入,就可以进行注册了,和通常的注册方法一样。令人奇怪的是,好像更改之后要稍等一会才能看到My Account,要不你就再开一个窗口访问http://localhost

设置Liferay代理的方法:

Liferay中有不少portlet访问了外部网站的资源,如果你的服务器可直接上网,不需要配置代理服务器即可正常浏览这些资源,但是有很多服务器为了安全并不是直接可以上网的,因此需要进行如下配置。先下载3.6.1的源代码包:liferay-portal-ent-3.6.1-src.zip,解压缩到一个文件夹,然后修改portal-ejb/classes/system.properties 中这两行
    #com.liferay.util.Http.proxy.host=192.168.0.200
    #com.liferay.util.Http.proxy.port=4480
把行首的#去掉,然后把后面的host和port修改为你的代理服务器地址、端口,存盘后将这个文件拷贝到Tomcat/common/classes目录中,重起tomcat,现在你已可以访问外部网站提供的资源了。

登录过程缓慢的解决方法:

在修改代理的时候,发现portal-ejb/classes/system.properties 中有一行写的是:com.liferay.util.Http.timeout=5000
如果你觉得无需访问外部网站,这个值可以只设置为500,存盘后复制到Tomcat/common/classes目录中,重起tomcat,登录时是否有了飞一般的速度?

修改访客首页的方法:

强烈建议在修改之前把相应的xsl文件备份!

以管理员[email protected]登录,通过右上角的下拉框,选择“General Guest”桌面,这时看到的是访客的首页,只是在右下角多了Edit Article,Preferences链接。点击Edit Article,这时可以修改内容。建议在修改时,同时打开另一个窗口察看首页,这样可以方便的了解各个修改的内容将在页面的哪个位置显示。点击最下面的Template 旁边的Home Index,将对于Home Index模版进行修改。在新显示的页面上,可以对于模版名称,说明进行修改,同时可以上传xsl格式的文件来替换现有的模版。先点击上传框下面的Edit XSL Template按钮,将弹出新窗口显示当前的XSL的模版,不建议采用这种方式。点击Download XSL Template按钮,将xsl文件下载后使用XML编辑器进行修改编辑,然后再上传。Small Image是上传一个模版的缩略图或者指定internet上的一个图片作为模版缩略图(缩略图将替代模版说明显示于cms桌面上的 Journal portlet中的Templates 列表中)。

对于XSL文件中各个标签的用法,可以参照现有xsl文件和页面显示来了解它们的含义。你的网站可能不需要显示Liferay的两个demo图片,因此你可以在下载的xsl文件中搜索http://demo.liferay.net
把其所在的整个table删除,保存后上传,再用访客刷新首页,那两个图片是不是已经没有了?在 is a leading provider of open source... 之前的Liferay是一个图片,你的网站可能也不需要它,在xsl中查找<img src="@root_path@/image/image_gallery?img_id=22"/>,把这个删除,就不会看到那个图标了,当然,你还要在Edit Article页面中修改main text的内容。

以此类推,你可以修改该模版的其他内容。

至于首页上的其他内容,比如写着Liferay.com is built on Liferay Portal.的图片,要替换的话,在Edit Article页面中修改main image,可以从你本地电脑中选择一个适当大小的图片上传。
在Edit Article页面的最下面,Structure旁边有一个HOME-INDEX的链接,点击之后进入Structure的修改页面,你可以增加或者删除一些网页元素,要注意的是,这里的修改是和模版密切相关的,如果你错误的删除了某些元素模版中找不到对应的内容,将无法正确显示。同样的,这里你也可以把xsl文件下载后编辑完成后再通过Edit XML Schema Definition进行更新(没有上传不是很方便)。

也许有人要问,那个访客登录的输入框,我怎么在xsl文件中没有看到相应的form,input什么的?你在下载的template xsl文件中搜索<runtime-portlet name="58" />,然后再到liferay/WEB-INF/liferay-portlet.xml文件中搜索58,现在就明白了吧。它的登录入口是作为一个portlet加入到home-index中的。你可以尝试在适当位置添加<runtime-portlet name="2" /> <runtime-portlet name="34" /> 等访客有权限view的portlet,然后看一下效果。

访客可看的其他页面,诸如companys,downloads等,也可按照此方法逐一修改。





参考资料:
  1. Liferay Portal 二次开发指南   柯自聪
  2. www.liferay.com 的在线文档

你可能感兴趣的:(tomcat,服务器,url,XSL,portlet,structure)