应为需要使用portal,所以选择了gatein,据说是jboss+exo两强结合,是最好的portal
1.gatein在编辑页面中的拖拽很有问题
在DragDrop.js
var y = parseInt(dragObject.style.top) ;
var x = eXo.core.I18n.isRT() ? parseInt(dragObject.style.right) : parseInt(dragObject.style.left) ;
if(eXo.core.I18n.isLT())
dragObject.style["left"] = x + eXo.core.Mouse.deltax + "px" ;
else
dragObject.style["right"] = x - eXo.core.Mouse.deltax + "px" ;
dragObject.style["top"] = y + eXo.core.Mouse.deltay + "px" ;
选用dragObject.style.top的高度是不对,
dragObject.style["top"] = eXo.core.Browser.findMouseYInPage(dndEvent.backupMouseEvent) + "px" ;
所以把鼠标所在的位置给了所选中的对象
2.gatein对portlet的doEdit支持不好,jboss已经提BUG了,但@#¥%……
自己改改源码,凑合着用吧
修改UIPortletForm
org.exoplatform.portal.webui.application
public String getEditModeContent(){}
jar:exo.portal.webui.portal-3.1.0-GA.jar\org\exoplatform\portal\webui\application
p220
FragmentResponse fragmentResponse = (FragmentResponse)portletResponse;
if(null != fragmentResponse.getBytes())
content = new String(fragmentResponse.getBytes(), "UTF-8");
else if(null != fragmentResponse.getChars())
content = new String(fragmentResponse.getChars().getBytes(), "UTF-8");
else
content=":|";
3.还是gatein的拖拽
当某一个容器内的portlet比较多时,gatein会把它作为一个整体,这样拖拽的时候就无法把portlet拖拽到它们之间,但这些看似整体的portlet,只需要拖拽下,也就不在是个整体了,看源码,发现,gatein把所有的栏目放置在一个<div/>里,被拖拽后,portlet所对应的div会从<div/>移出,并与这个<div/>平级
修改UIContainer
<div class="RightContainerBlock UIComponentBlock">
<%
int portalMode = uiPortalApp.getModeState();
if(portalMode == uiPortalApp.CONTAINER_BLOCK_EDIT_MODE || portalMode == uiPortalApp.APP_BLOCK_EDIT_MODE){
%>
<div class="LAYOUT-CONTAINER LAYOUT-BLOCK">
<%} else {%>
<div class="VIEW-CONTAINER VIEW-BLOCK">
<%} %>
<%if(hasPermission) {%>
<div class="UIRowContainer <%=(portalMode != UIPortalApplication.NORMAL_MODE && uicomponent.getChildren().size() == 0) ? "EmptyContainer" : ""%>">
[b]<%uicomponent.renderChildren();%>
<div></div>[/b]
</div>
<%} else out.print("<div class='ProtectedContent'>"+_ctx.appRes("UIPortlet.label.protectedContent")+"</div>");%>
</div>
......
4.gatein默认为中文的问题
在%gatein%/portal/private/classic/portalnavigation中,有个edit ploate config
可以设置portal的默认语言,皮肤等
但设置中文会有问题,在语言设置里,中文,繁体的值都是zh
后来看了下代码
SelectItemOption<String> option =
new SelectItemOption<String>(localeConfig.getLocale().getDisplayName(currentLocate), localeConfig.getLanguage());
gatein里很多地方用的都是locale.getLanguage(),但这个在返回中文时有问题,改之
SelectItemOption<String> option =
new SelectItemOption<String>(localeConfig.getLocale().getDisplayName(currentLocate), localeConfig.getLocale().toString());
分享到:
相关推荐
gatein-wsrp-examples Gatein WSRP 示例
GateIn RHQ 为RHQ 插件的项目安装mvn clean install 然后将 jar 复制到 RHQ 服务器插件目录。 查看以获取有关此插件和 RHQ 入门的更多信息。 还可以在找到有关如何在 RHQ 中使用该插件的文档兼容的门户平台在 AS7 上...
更新:2018年6月移至OpenShift Express上的GateIn门户在OpenShift上安装GateIn项目从未如此简单! 该git存储库可帮助您快速启动GateIn项目并开始运行。在OpenShift上运行在创建一个帐户创建一个jbossas-7.0应用程序...
gatein, clkcountin, COUNTNUM, sclr, PLLEN ); input clk; input combphasein; input cs; input [1:0] phase_sig; input [15:0] gatein; input [31:0] clkcountin; output reg [31:0] COUNTNUM; ...
门户快速入门快速入门演示了如何为 Red Hat JBoss Portal 创建 Portlet 的几种方法。 它们提供了小而具体的工作示例,可用作您自己项目的参考。兼容性信息此版本的 Portal Quickstarts 与运行在 JBoss EAP 上的 Red ...
286 兼容的 portlet 样本目的提供一组在任何 Java Portal 框架(例如 GateIn 或 Liferay)上运行的 portlet 示例。测试环境这些示例已在 GateIn 3.5.0.Final 中成功部署和测试。 您可以点击下载GateIn 门户Tomcat ...
编辑tomcat / gatein / conf / configuration.properties文件:为您的网站URL设置“ gatein.email.domain.url”(例如:gatein.email.domain.url = )设置“ exo” .notifications.portalname”作为您的网站名称...
又是in Action丛书,2010版的,...Portlet bridges Chapter 15: Web Services for Remote Portlets (WSRP) Appendix A – Getting started with GateIn portal Appendix B – Configuring Liferay with MySQL database
外例一组示例项目,它们构建在 eXo 的技术/框架/库之上。目的新人可以重复使用这些例子来研究eXo产品待办事项GateIn 设置应用程序一个简单的小工具编辑器