注:该文所述的Liferay主要指Liferay6.06,写文时Liferay已经更新到了6.2,有些地方官方可能已经做了修改,请酌情参考。
设计门户网站步骤
步骤一:提问
- 用户能否自由访问网站?
- 用户组是“点对点”(ad-hoc),“固定的”(static),或者都是?(如果是ad-hoc,则需要创建社区让用户加入)
- 是否有某些用户能访问,而某些不能访问的东西?(若有,需使用“角色”)
- 是否需要下放一些管理任务给一些用户?(若有,需要社区或组织管理员)
步骤二:定义和分类用户
- 确定一些分组:如匿名访问者、消费者、社区成员、门户管理员组、社区管理员组。
- 哪些组需要有自己的页面?
- 如果需要页面,哪些可以成为社区或组织。(定义组织层级)
- 哪些组可以拥有跨平台管理权限?(角色制定)
- 哪些组需要拥有自己的页面模板?
步骤三:设计内容
- 根据社区和组织定义内容。(定义页面层级)
- 根据内容完善角色和用户组。
Liferay支持的Portlet类型
(使用了Quercus、jRuby、jPython来支持不同类型的Portlet)
- standard Portlet API
- frameworks (struts、Spring、Java Server Faces)
- PHP
- Ruby
- Python
一些零散的总结
*Liferay在windows上安装时,尽可能安装Liferay在根目录,因为windows对文件名有长度限制(256),而Liferay的默认目录层次很深。
*下载Mysql时,推荐下载三个组件:Mysql Server、Mysql Query Browser、Mysql Administrator。
*如果一些Linux版本下的Mysql不能进行网络连接,见Liferay in Action(38页)的解决方案。
*要使Liferay成为一个真正的服务器(能连接到数据库),需在它启动前删掉webapps文件夹中的sevenlogs-book文件夹,并在classes文件夹中配置好portal-ext.properties。
*Liferay的插件SDK被设计为IDE无关的。(Liferay in Action, 40页)
*可以编写自己的Ext Plugin重载Liferay默认的功能,而不必直接修改Liferay的源码。(Liferay in Action, 41页)
决定是否使用Ext Plugin可做如下提问
- 你的项目是否需要继承Liferay以外的产品?
- Liferay的某些算法不适合你的组织吗?
- 你需要改变某些不被Hook支持的内置Porlet行为吗?
- 我的改变对产品有用吗?改变是否对其他组织很有用吗?
以上描述,若有一个为Yes,则考虑使用Ext Plugin;若有两个以上为Yes,则可有两种选择,一是请Liferay组织帮忙做(付费);二是自己做(需要把修改贡献到Liferay社区)。