Portal
文章平均质量分 63
smilingleo
这个作者很懒,什么都没留下…
展开
-
Liferay研究之廿三:JSP中可直接引用的Liferay对象
init.jsp中通过 将这些对象注入到pageContext中。然后在页面中就可以直接引用了,这些对象包括: themeDisplay - com.liferay.portal.theme.ThemeDisplay company - com.liferay.portal.model.Company account - com.liferay.porta原创 2008-05-19 21:01:00 · 2090 阅读 · 1 评论 -
提高liferay性能
转载自:http://www.liferay.com/web/wanpeng/blog/-/blogs/777189提高liferay性能 By Gavin Wan, On 5/7/08 6:28 AM 似乎总能听到liferay性能的抱怨, 在一个开源软件中这其实不难理解,就想一台公用的电脑,有人用oracle就在上面装个oracle,有人用DB2就又装了一个DB2……转载 2008-05-12 14:21:00 · 2063 阅读 · 0 评论 -
Liferay发布重要消息
近日,在其的官方网站上,Liferay正式宣布该公司将与Java技术的缔造者Sun公司达成技术合作协议。Sun公司将在其下一代的Web协作平台中,采用Liferay的核心设计元素。Sun plans to use core elements of Liferay Portal 5.0 as the foundation for Suns next generation web develop原创 2008-05-12 00:16:00 · 1175 阅读 · 1 评论 -
Liferay研究之廿五:缓存技术的使用
缓存是一个良好设计架构的必须元素,因为使用具有通用目的的架构机制,势必会造成一些计算的冗余,造成性能的降低,通过缓存机制,就可以弥补这方面的问题。Liferay中大量的使用了缓存机制,其核心都是MultiVMPool机制,但在具体使用上有两种方式。方式一:使用FinderCache类,具体用法:1、放入缓存FinderCache.putResult(classNameCache原创 2008-07-11 08:57:00 · 2891 阅读 · 0 评论 -
Liferay研究之廿一:Liferay集成Jbpm
网上有很多这方面的资料,不过大部分都出自一个人的文章,而且应该大部分人是做不成功的。参考了Tyler Zhou的资料。简单测试了一下,成功。by smilingleohttp://tyler-zhou.javaeye.com/blog/163928liferay集成了jbpm工作流,他是可以先择通过两种组件来调用JBPM的,servicemix和mule,根据Liferay的官方建议,原创 2008-04-25 08:51:00 · 2903 阅读 · 0 评论 -
Liferay研究之廿二:怪异的updateUser(user)方法
今天有网友问到关于Liferay的updateXxxx(entity)方法比较怪异的问题,比如UserPersistanceImpl.update(user, false).光看源码,好像根本就没有执行save or saveOrUpdate或者merge等Hibernate的方法,那又是如何保存的呢?分析了一下,做了一个简单的research,发现还真是很有意思的。http://ww原创 2008-04-29 23:52:00 · 1911 阅读 · 2 评论 -
思考:Portal是应用吗?
国内的Portal(门户)概念满天飞,有广义的门户,也有狭义的产品,可更多情况下,没有人能真正分清楚到底什么是门户,是一个平台?一个产品?还是仅仅是一个概念?闲暇时,看了一篇文章:http://blogs.the451group.com/information_management/2008/04/09/is-the-portal-the-application/这篇文章引起我的一些思原创 2008-04-21 22:53:00 · 1283 阅读 · 0 评论 -
Liferay研究之二十:如何防止连续重复提交
一般的解决连续重复提交的办法有以下几种。方法一、提交后 禁用提交按钮(大部分人都是这样做的)方法二、使用Session, session里面加令牌,第一次设置一个值,以后请求先与这个令牌进行比较;方法三、数据处理成功马上Redirect到另外一个页面Liferay中前台使用了客户端脚本(可能是JQuery,没仔细研究)、Session,后台采用同步、多线程等来解决这个问题。服务端解决的原创 2008-04-15 14:20:00 · 2421 阅读 · 1 评论 -
发现一个国内Liferay开发的站点
http://jctj.sxinfo.net山西省科技基础条件平台。(还是俺们老家的,嘿嘿)这个站点给我的第一影响是网站风格、界面布局设计的不错。因为不能注册,不能从后端分析其结构及设计。只能从网页源代码中发现一些端倪。1、可能自己开发了一个“新闻”的portlet;2、界面上大量的用了文章来构成这个首页。 3、通过样式表将navigation的那个下拉菜单隐藏起来。原创 2008-01-17 08:27:00 · 6354 阅读 · 1 评论 -
全国哀悼日期间将网站风格变为黑白
使用Liferay做的网站,做这个修改很简单。在页面设置设置风格与样式的地方,有一个CSS标签,在其中添加下面代码:html { filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); }保存即可。为灾区做力所能及的事情吧。原创 2008-05-20 08:57:00 · 1795 阅读 · 0 评论 -
Liferay研究之廿六:5.1更新分析
1、Portlet Container Implement.Add sun container implement for furture. JSR268? 2、ThemeAdd a shortcut icon for a theme。A flag to decorate portlets by default. 3、Springremove active-mq from spri原创 2008-08-25 10:01:00 · 1181 阅读 · 0 评论 -
Liferay 6.0??
Liferay的release周期还真的挺长的,按照他们自己的说法,好像是一年一次,不过这次似乎特别的长。不过这么长的时间liferay开发团队也没有闲着,从每天代码更新的数量就可以看得出来。原来一直以为他们是要发布5.3,可种种迹象表明,从5.2.3之后,应该会直接发布6.0.因为变化确实是比较大的,尤其是从UI上来说,应该是全部用Liferay自己创立的开源AlloyUI重写所有的原创 2010-04-01 11:54:00 · 4548 阅读 · 1 评论 -
Liferay研究之卅一:Database Sharding(数据库分片)
Database Sharding是什么? 其实就是一种分布式计算,通过业务逻辑将不同的分类的数据保存到不同的数据库(具有相同的表结构)中。简单的说是一种负载均衡技术,因为每个表中的数据少了,查询速度就快了,系统能承受的负载也就大了。很多大公司都在用这种技术,比如Google, Facebook, Wikipedia等等。 Liferay的实现策略是什么?Liferay实现的是原创 2009-06-17 12:04:00 · 5947 阅读 · 2 评论 -
Liferay研究之卅:5.2中通过SharePoint协议与MS Office整合
Liferay5.2 可以与MS Office集成,实现了SharePoint协议。从Word中“打开”输入http://localhost:8080/sharepoint 就可以访问到你的DL(中间需要输入用户名密码),然后就可以像打开本地文档一样找到你要编辑的文档。至于实现,那就是在web.xml中有一个sharepoint/*的ServletMapping,用来解析sharepoin原创 2009-06-17 11:59:00 · 4704 阅读 · 2 评论 -
Liferay研究卅三:多历法Calendar
经过多天的折腾,终于将Liferay Calendar Portlet打造成一个完美支持多种历法(目前界面上支持GregorianCalendar和ChineseCalendar)的一个组件了。折腾的初衷是因为目前所有的日历组件中,很多都有定期提示功能,但是都只是在GregorianCalendar,也就是我们用的公历上,比如每年几月几日。而我们国内还有很多事情是用农历的,比原创 2009-07-29 15:00:00 · 4908 阅读 · 1 评论 -
Liferay研究之卅二: ext 开发环境下遇到java.lang.VerifyError问题
以前一直都是直接修改源码的, 没怎么用过ext方式, 不过这种最底层的方式非常不利于liferay版本升级,因此决定用ext环境(因为要修改liferay core,所以不能用plugins SDK).今天忽然出现一个问题,运行时报了个java.lang.VerifyError, 看JDK Doc原文是:Thrownwhen the "verifier" detects that a原创 2009-07-29 14:57:00 · 4390 阅读 · 0 评论 -
Liferay研究之廿九:Liferay5.2基础架构变动
前几天Liferay正式发布了5.2, 抽空Down下来研究了一天,感觉还是有不少变化的,很多底层的东西都发生了变化。因为现在重点关注于MDD的研究,所以这次研究重点在基础架构(liferay infrastructure)方面,其他方面略有涉及,简单总结如下:http://www.smilingleo.cn原创,转载请标明出处。一、环境变动将更多的配置内容放到了portal.prop原创 2009-02-20 15:47:00 · 5205 阅读 · 1 评论 -
Liferay研究之廿七:一些有用的API分析
com.liferay.portal.util.PropsUtil在Portal.properties中设置的每个属性,都有一个类的属性与之对应,这个类就是:PropsUtil,每个属性都是静态的。对应的还有一个类是:PropsValues可以直接获取属性对应的值。如果想扩展portal.properties,在其中加上自己的值,那么就需要修改这两个类。 com.liferay.portal.u原创 2008-10-12 22:22:00 · 3884 阅读 · 0 评论 -
Liferay研究之廿八:为同类Portlet设置不同的ICON
根据Portlet的定义,每个Portlet都是会有一个icon的。 但是,一些Portlet是可以instancable的,这样如果一个页面上放置了多个同一Portlet的实例的化,页面上都是同样的图标,都是同样的背景就会比较难看。 用下面的技巧,可以解决这个问题。 可以通过自定义外观来实现相同PortletID的instance的不同样式。 在Portlet的“外观与风格”按钮对话框中→高级原创 2008-10-12 22:25:00 · 1450 阅读 · 1 评论 -
Liferay研究之廿四:如何实现配置模式
Liferay的Portlet Configuration页面,都有几个固定的Tab页,比如“权限”,“导出导入”等,这些是在什么地方定义的呢?我们知道,portal/render_portlet.jsp负责界面上一个portlet的解析功能,包括这个portlet再编辑模式下的最大、最小、配置、外观等MODE的实现。仔细分析一下这个页面,点击一个portlet的configuration按钮原创 2008-06-10 22:26:00 · 2594 阅读 · 0 评论 -
Liferay研究之十六:FCKeditor如何插入服务器上的资源?
1、点击FCKeditor上的插入图片时,从地址栏中知道,是访问的brower.html2、brower.html使用了框架。左侧使用frmFolder.html,主工作区使用frmresourceslist.html。在brower中调用了fckxml.js,这是一个AJAX的封装,用来向服务器发送Command.3、服务器端通过portal-impl/com.liferay.po原创 2008-01-16 11:31:00 · 1400 阅读 · 0 评论 -
Liferay研究之十九:ServiceBuilder的一个Bug
如果在liferay的某个portlet目录下的service.xml中进行修改,比如想让不同的Company的JournalArticle能共享,则需要编写一个relationship class,以及相关的Entity类。因为liferay是MDA的,所以,只需要修改对应的service.xml,然后通过ant build-service-portlet-xxxx即可生成对应的代码,这里不原创 2008-04-08 13:41:00 · 2405 阅读 · 0 评论 -
Liferay遇到的两个问题
环境一:机器上安装了两个liferay系统,4..3.3和4.3.5, 只运行4.3.3 。刚开始启动时,一切正常运行,一段时间之后CPU变为重负载,其中java引擎占用了99%。网上查点资料,说可能与select 语句中的limit有关,或者与资源释放有关,或者说与日志文件大小有关,都不是正解。---------------------------------------------原创 2008-01-07 12:47:00 · 1606 阅读 · 0 评论 -
Liferay研究之八:Liferay的层次划分---持久化及服务
在Liferay学习时,刚开始可能你会不习惯Liferay的目录结构,对里面那么多的目录弄晕,更晕的是会有很多同名的Service, LocalService, Util类,让你搞不清楚应该用哪个。其实这些都很简单,如果你有J2EE设计模式的经验,应该不难发现,这些其实都是在分层,而分层的目的,就是以增加“复杂性”为代价,提供更加灵活的扩展性(呵呵,个人意见)。下面就是对Liferay包结原创 2007-12-01 11:22:00 · 1958 阅读 · 0 评论 -
Liferay研究之七:网站客户化定制
Liferay是一个优秀的Portal平台,可以对其进行定制来实现客户的需求。有一些定制可以通过在界面上操作,来添加用户所需要的组件,但有些就需要从系统底层进行定制。下面简单罗列了一些常用的,在网站定制方面所需要的一些设置,主要是对portal.properties或者system.properties来进行修改。如果你还不了解这两个配置文件,那么仔细通篇阅读一遍吧,里面的文档对让你更好地了解原创 2007-11-29 08:36:00 · 2806 阅读 · 0 评论 -
Liferay研究之六:Liferay技巧几则
在Liferay中添加链接的方式1、通过liferay-ui:icon标签; ... PortletURL moreURL = renderResponse.createRenderURL(); moreURL.setParameter("struts_action", "/journal_articles/view"); moreURL.setParameter原创 2007-11-28 08:24:00 · 3239 阅读 · 0 评论 -
Liferay研究之五:Liferay的MDA开发模式
Liferay其实不单单是一个开源的门户产品,同时也是一个很好的开发框架。Liferay采用了MDA(模型驱动开发架构)的开发模式,具体来讲,就是开发一个模块前,需要先通过配置定义Model, Service,通过ServiceBuilder工具根据定义自动创建dao, service interface, service impelmention, util facade, 此外,也通原创 2007-11-27 11:13:00 · 2103 阅读 · 0 评论 -
Liferay研究之四:列表显示jsp分析
显示文章列表的jsp页面是journal_articles/view.jsp,其中用了一个liferay自定义的标签:" />该标签由:liferay-ui.tld定义,是由:com.liferay.taglib.ui.SearchIteratorTag 来解析的。从SearchIteratorTag代码中可以知道,里面会调用一个标签属性:paginate,且缺省页面是html/taglib/原创 2007-11-23 14:15:00 · 3954 阅读 · 0 评论 -
Liferay研究之三:通过LDAP设置连接Novell eDirectory
1、先通过LDAP浏览器进行连接测试。这里使用JXPlorer.连接设置如下:Provider URL:ldap://192.168.0.12:389Protocol:LDAP v3Base DN:o=yourOrgLevel:User + PasswordUser DN:cn=admin,ou=系统,o=yourOrgPassword=yourpassword2、连接成功之后,就可以通过原创 2007-11-23 14:10:00 · 3156 阅读 · 0 评论 -
Liferay研究之十七:由Velocity模板的国际化问题引出的“大秘密”
事由:想在每个layout(page)增加一个统一的Footer。这时,就需要修改portal-normal.vm。对于复杂的,可以参考Liferay默认的一个Theme liferay-noir-theme的实现方式,通过:$serviceLocator.findService("com.liferay.portlet.journal.service.JournalArticleLo原创 2008-01-24 10:52:00 · 3567 阅读 · 0 评论 -
Java调用Native2ASCII来解析properties文件
近来在实施Liferay的时候发现Liferay找的这个翻译可真差劲,很多东西翻译的简直狗屁不通,比如把论坛话题翻译成“螺纹”,把virtual host翻译为“真正的主人”,或者就根本没有翻译。一看就是一个没有程序开发经验的人做的,可能还是个台湾人。没办法只能自己替Liferay做汉化工作了。Liferay的资源文件做的还是不错的,基本上界面里的所有消息都放到了资源文件中。具体中文的就是原创 2007-11-05 13:01:00 · 4351 阅读 · 1 评论 -
Liferay研究之二:引入Spring
首先Suppose你已经搭建好了ext环境。1、在Ext/ext-web/docroot/WEB-INF/web.xml中引入spring display-name>Spring Portaldisplay-name> description>Spring Portlet sample applicationdescription> - Location of the X原创 2007-10-31 18:45:00 · 3873 阅读 · 0 评论 -
Liferay研究之九:开发技巧(2)
Liferay页面中如何引入Tab页?liferay中tab1为一级tab,tabs2为二级标签,引入时需要使用一个liferay的taglib:liferay-ui:tabs,比如:" param="tabs2" />其中,names中为资源文件中的资源名,逗号分割,但逗号前后都不能有多余空格。tabs2是一个String.String tabs2 = ParamUtil.getString原创 2007-12-03 08:36:00 · 2350 阅读 · 0 评论 -
Liferay研究之十:定制Portlet风格
Liferay通过Theme实现界面换肤的功能,但对于某个Portlet,我们在实际项目中可能还是想做一些适当的调整,以实现特殊的效果。这里主要是需要熟悉CSS样式表相关知识,比如我在界面上做了一个滚动条,想把这个滚动条放到“菜单条”右侧空白区域。对于滚动条,肯定是可以通过添加一个文章来实现的,但是如何将内容添加到合适的位置呢?可以通过自定义Portlet的CSS来实现,比如:#p_p原创 2007-12-05 15:24:00 · 1817 阅读 · 0 评论 -
Liferay研究之十八:Page Rendering
上一篇文章中提出了一个问题:在liferay中什么时候,什么地方/c变成/c/portal/layout。晚上加班,顺便查了查资料,终于找到了问题的答案。在http://wiki.liferay.com/index.php/Page_Rendering 明确的给出了答案。下面简单重复一下:1、请求由MainServlet进行处理。一些属性被存储到了session和request中。We原创 2008-03-31 23:06:00 · 1432 阅读 · 0 评论 -
Liferay研究:疑问
应网友小肥的邀请,分析了一下liferay的前端rendering过程。其实网上也有很多类似的文章,比如:郑大鱼的系列文章:http://blog.csdn.net/yukunzgp/category/371190.aspx通过断点跟踪,很多问题都非常容易搞清楚。但是有一个问题一直没有搞太明白, 那就是:如果我访问http://localhost,liferay是如何从 local原创 2008-03-31 19:14:00 · 907 阅读 · 0 评论 -
Liferay研究之十五:Liferay如何对外提供Service,以及如何调用
Liferay是基于SOA理念设计的,很容易通过Web Services对外提供服务接口,下面简单介绍一下。Liferay如何对外提供服务?1、在service.xml中编辑,增加一个2、ant build-service-xxxx (portal-impl/build.xml)3、修改XXServiceImpl, 写入你要对外提供的方法逻辑;4、ant build-service-原创 2008-01-03 11:45:00 · 5053 阅读 · 1 评论 -
Liferay研究之十四:子窗口向父窗口的值传递(字典项的实现)
描述:在文档库中,“Add Shortcut”会弹出一个先选择Group,后选择文档的对话框;实现机制:在document_library/edit_file_shortcut.jsp中 " onClick="var toGroupWindow = window.open(">, toGroup, direc原创 2007-12-29 09:11:00 · 2701 阅读 · 0 评论 -
Liferay研究之十三:使用WebDAV
Liferay中的Document Library和Journal两个Portlet开始支持WebDAV(关于什么是WebDAV,请见下面的介绍)。简单讲,WebDAV是一套协议,实现Web文件夹的功能。在文档库Portlet中,创建一个文件夹之后,点击“编辑”,出现的界面中就会包含一个WebDAV的链接。将这个地址复制,然后在“网上邻居”上右键,映射本地驱动器,将该地址粘贴到目标地址中,原创 2007-12-14 15:08:00 · 3757 阅读 · 0 评论 -
Liferay研究之十二:对Liferay框架的几点分析总结
一、JSP中如何使用TabLiferay的jsp页面中,如果用了tab的选项,则tab1为第一层,tab2为第二层,tab3为第三层,从上到下,为父子关系。如何开发一个带选择框的列表应用?1、建立数据库模型(废话)2、建立dao及相关portlet.service服务框架,接口和Util3、实现服务接口;4、开发对应的JSP页面;5、开发相应的Action;6、在liferay中进行配置P原创 2007-12-13 17:48:00 · 3073 阅读 · 0 评论