
Liferay
文章平均质量分 63
步行者
熟悉JAVA,PostgreSQL。做过c++,php。
展开
-
Configuring a Liferay cluster
From:http://blogs.aca-it.be/blogs/-/blogs/configuring-a-liferay-cluster转载 2014-06-09 09:06:55 · 12447 阅读 · 0 评论 -
Liferay:Developing a Portlet with Multiple Actions
Developing a Portlet with Multiple ActionsSo far we have developed a portlet that has two different views, the default view and an edit view. Adding more views is easy and all you have to do to link转载 2012-10-05 16:52:09 · 1203 阅读 · 0 评论 -
Liferay6.1中service的定义规则文件
在写liferay中service builder工具的定义文件的时候,都有那些功能呢,该怎么写xml配置文件呢?比如和另外的表关联等。这个看看dtd文件就大致明白了。<!--<!DOCTYPE service-builder PUBLIC "-//Liferay//DTD Service Builder 6.1.0//EN" "http://www.liferay.co原创 2012-09-12 13:55:02 · 2903 阅读 · 0 评论 -
Liferay:Liferay的权限系统
要在自己的portlet中客户化定义Liferay的权限的话,需要做四步工作。1. 定义所有的资源和他们的权限。2. 在权限系统中注册在第一步中定义的所有的资源。3. 对资源分配必要的权限。4. 在程序中需要使用资源的地方先判断权限。下面以blog为例。1. 首先是资源和权限的定义。参考/liferay-portal-src-6.0.X/portal-impl/sr原创 2011-09-02 10:55:27 · 4660 阅读 · 0 评论 -
Liferay:索引的配置
索引是全文检索的依据。Liferay中集成了 Lucene。在配置文件中不仅要设置lucene的信息,还要配置索引的做成信息。配置文件的lucene信息如下:#### Lucene Search## # # Set the limit for results used when performing index searches that are原创 2011-10-13 13:13:26 · 1956 阅读 · 2 评论 -
Liferay控制面板的返回URL问题:http://one:8080/group/control_panel/null
在liferay的测试环境的ip变更后,控制面板的返回URL为http://one:8080/group/control_panel/null了。发现配置文件中的IP没有及时修改。#### Redirect## # # Set this property to "ip" or "domain" for the redirect security method. If原创 2012-05-08 12:36:31 · 4758 阅读 · 0 评论 -
Liferay6.0.5中WebContent编辑的一个bug
最近在维护系统的时候发现了一个liferay的bug。①、WebContent中在中文模式下编辑 英语模式,中文模式都能够显示编辑的内容。②、WebContent中在中文模式下编辑更新 英语模式的人能够看见编辑的内容。中文模式的人看不见编辑的内容。 ②的状态下,再用中文模式去编辑WebContent的内容。 英语模式的人看英语版本。 中文模式原创 2012-04-18 16:03:58 · 1179 阅读 · 0 评论 -
Liferay权限的客户化设置的一些小提示
Liferay的权限设置做的挺好的。不过默认的话,感觉设置的项目太多了。那么多role都需要check的话也是一个不小的工作量。可能在具体的系统中,我们有一个固定的权限逻辑。比如高权限自动包含低权限等等。 在自己的action中设置权限的话了解几个地方就能很好的编程了。1. 权限数据的登录 比如文件库portlet中action中加入如下代码。com.liferay.p原创 2011-05-26 16:20:00 · 2201 阅读 · 0 评论 -
Liferay:根据权限指定登录后的首页
在Portal系统开发中,很多时候根据所属部门的不同,默认的首页也不同。根据权限指定首页是一个不错的办法。1. 在配置文件里面设置role和相应首页的信息。比如:用逗号分隔,从左到右的权限的强度由强到弱。 login.role.list=ROLE_A,ROLE_B,ROLE_C login.toppage.list=/web/1000/PAGEA,/web/1000/PAG原创 2011-09-08 15:07:28 · 3816 阅读 · 7 评论 -
Liferay:隐藏Portlet列表中的不想要的Portlet
在菜单的添加按钮中,罗列了所以得Portlet。但很多情况下我们的网站只是使用其中的一部分内容。怎么隐藏一些不需要的Portlet呢?有两种操作方法:第一种是修改配置文件:portal-web/docroot/WEB-INF/liferay-display.xml 把不需要的都放到category.hidden里面。 自己的Portlet的时候需要修改相应Portl原创 2012-03-02 12:55:42 · 2077 阅读 · 4 评论 -
Liferay的图片上传的文件夹逻辑
Liferay中用户照片上传后放到了那个文件夹里面了?刚开始查看文件夹,百思不得其解。后来看了代码,发现是如下规则:1.文件上传是User_表中的portraitId字段是发番的。比如:3020332.图片的原文件名不被保存。3.在data/images文件夹下面,依据下面规律做成文件夹. 番号的每2位做成一个文件夹。但是最后的数字也是2位的时候,不做文件夹。原创 2011-12-14 15:13:14 · 1697 阅读 · 0 评论 -
Liferay:User_表中的lastLoginDate和loginDate
User_表中的lastLoginDate和loginDate的这个两个字段,不小心可能容易弄错。loginDate是登录的日期。lastLoginDate是上一次登录的日期。 但是如果理解为最后一次登录的日期的话,就不对了。第一次登录的时候,lastLoginDate和loginDate是同一个日期。第二次以后登录的时候,lastLoginDate等于上一次的loginD原创 2011-12-26 13:22:52 · 1879 阅读 · 0 评论 -
Liferay中的Cache问题
最近在测试的时候,发现一个问题,就是IE的首页设为了该网站。登录成功后,什么也不做,直接点击home的那个图标,画面会跑到登录画面去。但是用户名,密码都不输入,直接点击登录就能够迁移到TOP画面。其实如果是已经登录的情况下,不想跑到登录画面去,而是直接显示TOP画面。查找了半天,发现是IE的cache的问题。那么Liferay中cache的设置在那里呢?是在them原创 2011-11-24 13:36:45 · 1444 阅读 · 0 评论 -
Liferay:语言配置文件和portal-ext配置文件的编辑(乱码回避)
liferay中的语言配置文件和portal-ext配置文件在本地编辑后可能会出现乱码。比如语言文件:/liferay-portal-src-6.0.6/portal-impl/src/content/Language_zh_CN.properties一般配置文件:/li原创 2011-03-30 12:45:00 · 2111 阅读 · 0 评论 -
Liferay:密码管理
Liferay的密码管理涉及的东西还不少。首先从配置文件说起。portal.properties中默认的配置如下:#### Passwords## # # Set the following encryption algorithm to en原创 2011-10-13 12:56:52 · 4480 阅读 · 0 评论 -
Liferay中的文件下载处理
Liferay中的文件下载在ServletResponseUtil类中汇总了方法。但是在IE6,7中超长的文件名会被截掉。还有一个问题就是safari下载出xxx.html的形式。不能够正常下载。为了解决上面的问题,可以自己把ServletResponseUtil类中的setHeaders方法重新写一下。public class MyServletResponseUtil原创 2012-11-16 17:21:01 · 1968 阅读 · 0 评论 -
memo:Liferay中浏览器判断方法
Liferay中特地写了一个类来判断浏览器的版本,操作系统等。知道有这么个东西的话,还是不错的。就不需要自己去写了。类:com.liferay.portal.kernel.servlet.BrowserSnifferUtil提供的方法:static booleanacceptsGzip(javax.servlet.http.HttpServletRequ原创 2012-12-03 15:50:54 · 1162 阅读 · 0 评论 -
Transaction Management with Liferay Service
Following are the important points that a Liferay Architect must make note of in order to work with Transactions in LiferayThe entry point to transaction (start of transaction boundary) in Liferay转载 2014-04-10 10:35:58 · 11021 阅读 · 0 评论 -
memo:liferay-service-builder_6_2_0.dtd
Liferay6.2有很多改动。service builder也有一些变化。可以设置的信息如下: "-//Liferay//DTD Service Builder 6.2.0//EN" "http://www.liferay.com/dtd/liferay-service-builder_6_2_0.dtd">-->The service-bui原创 2014-03-27 15:55:47 · 11257 阅读 · 3 评论 -
Liferay中实现多对多的关系
Liferay Service Builder Many to Many Relation in Plugin Portlet 参考URL:http://www.liferaysavvy.com/2014/01/liferay-service-builder-many-to-many_12.html E5410meera转载 2014-03-27 16:02:51 · 11134 阅读 · 0 评论 -
Struts1中的处理流程
在调查liferay的代码的时候,发现src/com/liferay/portal/struts/PortalRequestProcessor.java这个类非常重要。那这个类是干什么的呢?portal-web/docroot/WEB-INF/struts-config.xml中如下定义: 从这里看到是把struts1中processorClass改造了。Struts1原创 2013-11-07 14:00:26 · 8830 阅读 · 0 评论 -
memo:Liferay中的sequence
用户id,组织id等数据,一般的做法从数据库的sequence取得。Liferay中并没有建立sequence。可能是考虑多种数据库平台上的差异性。而是在Counter表中模拟实现的。默认数据:com.liferay.counter.model.Counter的数据。方法1:CounterLocalServiceUtil.increment() //不指定类型连番。方法原创 2013-07-18 17:38:02 · 9865 阅读 · 1 评论 -
Liferay中邮件送信的同期和非同期方法
有一次测试开发有邮件送信的画面,发现了画面反映很慢。查看了代码,发现是邮件送信太慢的原因。画面太慢是难以让人接受的,只好把同期的写法改为非同期的。同期:MailEngine.send(fromAddress, toAddressArr, ccAddressArr, bccAddressArr, subject, body, false, null, null, null);非同期:Ma原创 2013-07-16 17:34:35 · 9760 阅读 · 0 评论 -
Liferay中的workflow
Liferay中可以使用几种workflow。自带的kaleo。还有开源的比如Aperte Workflow等。要在控制面板中要给自己的portlet添加workflow很简单。1 追加WorkflowHandler类 // workflow区分用 public static final String CLASS_NAME = XXXXXXX.class.原创 2013-07-16 15:34:00 · 11015 阅读 · 0 评论 -
Liferay:Faceted Search in Liferay 6.1
Liferay6.1和6.0比,那是灵活性提高了太多。可以在hook里面适当改改就封装多比较好的功能。下面介绍一下全文检索。内容来自:http://www.liferay.com/ja/web/raymond.auge/blog/-/blogs/faceted-search-in-liferay-6-1Advanced operations: These are sup转载 2013-06-14 17:44:05 · 10752 阅读 · 0 评论 -
Liferay6.1的数据库配置信息是放在哪里的?
在liferay6.1中我们不需要事先在portal-ext配置文件中配置数据库信息。而是第一次tomcat启动后,liferay会提示你使用什么数据库,数据用户,密码,数据库名等。这些信息存在那里呢。比如我想修改数据库名的时候需要找到配置文件。其实是放在liferay-portal-6.1.xxx下面的,不过不注意还不容易发现。portal-setup-wizard.proper原创 2013-06-20 15:21:37 · 13122 阅读 · 0 评论 -
Liferay6.1:hook中追加portlet的配置项目的实现方法
Lfieray的客户化的处理中,最经常做的是画面部分的修改。应该用hook的比较多。大体用途如下hook:liferay的画面(jsp),语言文件,配置文件的客户化。以及一部分逻辑处理(java的修改很有限)。portlet:添加新功能ext:改造liferay的逻辑处理。主要是java部分。最不建议使用的就是ext了。比如在原来lifery的某个portlet原创 2013-06-20 14:50:34 · 11781 阅读 · 0 评论 -
liferay的theme中VM可以使用的变量一览
在开发theme的时候,不知道liferay的那些对象是可以使用的话,有时候很简单的东西都会感觉很难实现哦。比如想取的layout的url,group的url等等。下没罗列出来:## ———- Common variables ———- ##$theme_display$portlet_display$theme_timestamp$theme_settings$css转载 2013-06-14 17:35:27 · 4078 阅读 · 0 评论 -
Liferay中Velocity theme页面显示的一个重要类(TemplateProcessor.java)
liferay中,页面是通过theme来显示的。而theme是用Velocity写的模板。每个页面中的portlet是怎么显示的呢,通过TemplateProcessor类可以大致了解。(com.liferay.portlet.layoutconfiguration.util.velocity,TemplateProcessor)方法processColumn中,有如下代码:for原创 2012-12-07 12:48:25 · 1997 阅读 · 0 评论 -
Liferay中ext工程deploy时候的问题
Liferay中ext的发布不是很好。直接把war包放到deploy的时候,并不能把最新的jar文件或者jsp等文件拷贝到root目录下面去。这个对开发者来说非常的不方便。因为需要手动更新root下面的文件。查看了ext的deploy的代码。找到了问题所在。ExtHotDeployListener类中的 doInvokeDeploy方法里面有这样的代码:原创 2012-12-07 13:16:34 · 1897 阅读 · 0 评论 -
Liferay:动态设置Portlet的标题
Portle的标题可以事先设置,但如果是多个实例的话,如果希望是画面显示的设置一个约定的名字的话.可以用JavaScript来做. 根据生成的HTML来写js. 由于一个画面可能有多个Portlet,所有不能直接根据portlet-title-text这个css来取得对象.需要先根据确定是这个portlet后往下找就可以了.JS例子:setPortletTitle原创 2010-12-25 22:55:00 · 3021 阅读 · 0 评论 -
Liferay中的Portlet事件通信
Liferay中的Portlet事件通信在有的项目开发中是需要实现的一种机制。下面转自http://liferaycms.blogspot.com/2011/07/inter-portlet-communication.htmlInter portlet commun转载 2011-09-25 16:47:42 · 2252 阅读 · 0 评论 -
Liferay启动错误:ThreadPoolAsynchronousRunner$DeadlockDetector
原来的DB设置下能够正常启动,有一次遇到下面的错误感觉好奇怪。17:57:45,805 WARN Timer-0 [ThreadPoolAsynchronousRunner:608] com.mchange.v2.async.ThreadPoolAsynchronousRu原创 2011-09-12 17:56:44 · 6234 阅读 · 0 评论 -
Liferay:在Liferay中追加Servlet会报错?
在Liferay的代码中追加一个Servlet,在WEB.xml配置后,在本地环境没有问题。 本地url: ·http://localhost:8080/urlpattern/?p1=xx但放到服务器上后报找不到资源错误。 服务器URL:原创 2011-09-15 21:54:48 · 1495 阅读 · 0 评论 -
Liferay中batch,thread中取数据方法出现权限问题
<br />Liferay6.0.5中batch,thread中取数据方法,如果有权限判断的话,很有可能出现权限问题。<br />如果是其他线程:<br /> 可以把当前的login用户设置同等权限:PermissionCheckerUtil.setThreadValues(loginuser);之后才去调用方法应该就没有问题。<br /> batch的话,可以先查询一个管理权限的用户出来设置权限:PermissionCheckerUtil.setThreadValues(adminuser);。<b原创 2011-03-09 17:58:00 · 950 阅读 · 0 评论 -
转文:使用lucene中文分析器优化中文检索
<br />http://www.liferay.com/web/gavin.wan/blog/-/blogs/trackback/使用lucene中文分析器优化中文检索<br /> <br /> <br />使用lucene中文分析器 替换 Liferay 默认的StandardAnalyzer(一元分词)提高中文检索的质量。<br />portal-ext.properties<br /> #lucene.analyzer=org.apache.lucene.analysis.standard.St转载 2011-01-29 20:09:00 · 1632 阅读 · 0 评论 -
LINK里面带参数的取法
直接在link里面手动加参数后,在renderRequest取不到。改造一下就可以了。比如URL: (themeDisplay.getURLHome() + /PAGEID ?parameter1=1public static HttpServletRequest getAppliRequest(HttpServletRequest request) { Object obj = null; try { Method method =原创 2010-11-24 11:53:00 · 1604 阅读 · 0 评论 -
根据Portletid跳转到其他画面
Inter Portlet Communication (IPC) for Portlets on Different PageUse the below code for Inter Portlet Communication (IPC) for Portlets on Different Page:-String plidName = "Sample_WAR_Sampleportlet";long plidForward = getPortletId(plidName);Portle转载 2010-11-23 18:36:00 · 1427 阅读 · 0 评论 -
依葫画瓢:自定义liferay的日期控件
<br />liferay的日期tag由于是美国人做的,是按照月,日,年顺序来显示的.<br />如果需要按照年,月,日的顺序显示,又不要改掉原来的代码,那就只有自己自定义了.<br />参照原来的代码做以下几个步骤:<br />1. 拷贝<br /> 拷贝/html/taglib/ui/input_date 到自己的目录. 比如:/html/taglib/ui-ext/input_date<br /> <br />2. 修改显示顺序<br /> 修改/html/taglib/ext/input_dat原创 2010-12-26 12:42:00 · 1906 阅读 · 2 评论 -
动态查询
<br />Portlet内部<br /> <br />ClassLoader loader = PortalClassLoaderUtil.getClassLoader();<br />DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.getDynamicQueryFactory().forClass(EmailAddress.class, loader);<br />dynamicQuery.add(PropertyFactoryUtil.f原创 2010-12-08 18:24:00 · 1183 阅读 · 0 评论