到 Google 资讯主页   
EasyJF首页   资料   源码   软件    论坛   网站    
   使用帮助    
    该信息为本站MyRSS系统缓存内容,部分图片及附件有可能无法正常使用.easyjf.comBEA dev2dev无关,不对该信息负责.通过http://kb.csdn.net/keyword/java//../../java/Articles/200608/47f7caec-8e9d-4ca2-994c-201a7e9e39a1.html访问该信息的原始内容.
页面功能  【加入收藏】 【推荐给朋友】 【字体:  】 【关闭】   
ALUI 界面深入客户化——替换Portal内置组件
作者:刘旭中 来源:BEA dev2dev  发布时间:2006-08-01 00:00:00.0

  1.    Activity Sapce

  2.    通过“View Replacement”修改原有的Login空间中的视图展现

  2.1.   View Replacement简介

  2.2.   环境的准备

   2.2.1   Portal及ant,eclipse的安装

   2.2.2   UICI安装

   2.2.3   配置Eclipse

   2.3.   创建并更新自己的Project

   2.3.1   准备Build XML 文件

   2.3.2   在Eclipse创建项目

   2.3.3   更新代码

   2.3.4   部署客户化项目

   2.3.5   测试

   3.    新建Activity Space

  3.1.   模式介绍

  3.2.   编辑项目

  3.3.   部署项目 

  AquaLogic User Interaction (ALUI), 提供了内置的客户化工具来帮助用户实现门户界面的定义。内置的工具包括了基本定制(不需要编写代码)basic customizations和高级定制Implementing Advanced Portal Customizations,如果这两种方案都不能满足需求,您可以通过替换Portal内置组件的方式来实现客户的需求。本文通过“替换原有活动空间(Activity Space)的视图”和“创建自己的活动空间”的两个样例来阐述如何实现Portal内置组件的修改。

Activity Space

  活动空间通过将多个特定任务操作组合成一个合理的集合来提供给开发人员基本的功能。一个活动空间可以将多个相关的页面组合成一组Model-View-Control 对象。在portal 中Everything is an Activity Space,比如登录页面,我的页面,管理编辑器,甚至知识目录树等。

  我们可以通过URL地址来查看活动空间,比如登录页面:http://localhost/portal/server.pt?space=Login

  其中的名称Login是通过在AS class中的STR_MVC_CLASS_NAME值来指定的。

图1

通过“View Replacement”修改原有的Login空间中的视图展现

View Replacement简介

  Portal UI架构是基于Model, View and Control (MVC)模式的。MVC的优势在于可以将业务逻辑处理与用户界面展示及事件控制代码分离。

  Model:页面或页面片断的数据存贮,控制着数据如何如何访问。

  View:包括 HTMLElements 和 HTMLConstructs 描述了数据如何从Model层展示。

  Control:基于特定事件触发的一个或一组活动。

图2

  我们可以通过创建自己的View 类来客户化Portal的展示。ALI UI Framework允许我们不修改Portal代码的方式来实现客户化。

环境的准备

Portal及ant,eclipse的安装

  本次以Java开发环境为样例,.Net开发环境的准备请参考:Setting Up the .NET Development Portal

Java Component Location
Ant 1.6.2 http://archive.apache.org/dist/ant/binaries/apache-ant-1.6.2-bin.zip
Eclipse 3.1 http://www.eclipse.org/downloads/index.php
J2SDK http://java.sun.com/j2se/1.4.2/download.html
Portal 6.0 (Java) Portal CD
Tomcat 5.0.2.8 and JAVA 1.4.2 Portal CD

UICI安装

  UI Customization Installer:UICI可以将安装Portal UI源代码,在Eclipse中创建调试环境,引入环境变量。UICI下载地址:

   Download the UI Customization Installer (UICI)

  样例程序下载:

  https://codesamples.projects.dev2dev.bea.com/servlets/Scarab/id/S265

  • Choose Install Folder
  • UI Source Code Path
  • Eclipse Workspace Path
  • Ant, JDK, and Tomcat Paths
  • Eclipse Debugging Configuration File

  根据以上步骤安装UICI。安装完成后:

  • SOURCE_HOME\portalui\6.0.x\ptwebui 目录下存放了Portal UI源代码。
  • SOURCE_HOME\portalproduct\6.0.x 存放了将客户化的.war文件部署到PORTAL_HOME webapp目录下的文件脚本。

配置Eclipse

  • 打开Eclipse File | Import.
  • 选择Existing Project Into Workspace and 点击Next.
  • 点击Browse and 定位到SOURCE_HOME\portalui\6.0.x\ptwebui\ptdependencies\java\.
  • 点击 OK, then 点击 Finish.
  • 重复步骤 2 和 3 导入以下的projects:
    • portaluiinfrastructure
    • portalpages
    • portalnavigation
    • portal
    • nullnavigation
  • 选择所有的项目,右击Refresh.
  • 在Eclipse 菜单, 选择 Project | Rebuild All.
  • 点击Window | Open Perspective | Other. 选择Java 点击OK.
  • 点击Run | Debug...
  • Java Application 视图, 我们可以看到UICI为我们创建的Tomcat配置文件。

创建并更新自己的Project 

准备Build XML 文件

  1. 定位到SOURCE_HOME\portalui\6.0\ptwebui-samples\samplecustomproject 将看到以下文件结构。
    1. \java: 这个出文件夹包含了 .classpath and .project 文件
    2. build.xml: Ant 使用的默认的 build 文件。
    3. build_core.xml:这个文件是我们新建项目的主Build文件包含了核心的工程文件的Lib file.
  2. 复制 \samplecustomproject 目录到SOURCE_HOME\ptshared\6.0\ptwebui 并重命名文件夹.

      这个样例将创建一个客户化视图打印一个“Hello world”字符到Login 页面,所以这个项目我们命名为 "helloworldview"。

  3. 浏览新的 \helloworldview 文件夹, 并打开 build.xmlbuild_core.xml 文件。
  4. 用("helloworldview")替换条目 <CHANGENAME> 字符。 例如, name="<CHANGENAME>" 替换为 name="helloworldview"。
  5. 在\helloworldview\java 文件夹, 打开.project 文件修改 <name> 值为("helloworldview")。例如 <name>samplecustomproject</name> becomes <name>helloworldview</name>。

在Eclipse创建项目

  1. 打开 Eclipse.
  2. 确认使用的工作空间是安装UICI所指定的工作空间。
  3. 选择 File | Import.
  4. 选择 Existing Project Into Workspace, and 点击 Next.
  5. 定位到SOURCE_HOME\portalui\6.0\ptwebui\helloworldview\java and 点击 OK, 然后 点击 Finish.

       helloworldview 将出现在Eclipse的Package Explorer中.

  6. 展开helloworldview 打开 \prod\src 文件夹.
  7. 右击 the placeholder.txt file并 选择 Delete.
  8. 点击 OK 确认删除.
  9. 右击\prod\src folder, 选择 New | Package.
  10. 命名包为: com.plumtree.sampleui.view.
  11. 选择 New | Class.
  12. 命名Class为HelloWorldView.
  13. 选择 Interface, 点击 Add 并选择 IView.  点击 Finish.

更新代码

  1. 选择 File | Import.
  2. 选择 Existing Project Into Workspace, 点击 Next.
  3. 定位到SOURCE_HOME\portalui\6.0\ptwebui-samples\sampleview\java and 点击 OK,然后点击 Finish.

      展开sampleview并打开 \prod\src\com\plumtree\sampleui\view 文件夹。

  4. 打开HelloWorldView.java文件并复制文件内容.

  粘贴文件内容到之前创建的 HelloWorldView.java文件。

部署客户化项目

  1. 修改PT_HOME\settings\portal 目录下的 CustomActivitySpaces.xml文件为
<AppLibFiles>
  <libfile name="helloworldview"/>
  </AppLibFiles>

   这个配置让Portal启动时从Portal.war中加载helloworldview JAR文件。

  1. 在Eclipse中导出Helloworldview.jar文件,附加到portal.war文件中。或到SOURCE_HOME\portalui\6.0目录中。

       编译源文件:ant build.

       安装到Portal.war:ant install

  2. 注意:不同版本的UICI可能出现build错误,这种情况可以直接Eclipse中导出Helloworldview.jar然后附加的方式。

测试

  1. 启动Portal的同时,启动ptspy.bat。
  2. 在ptspy中可以看到Helloworldview的加载。或出错信息。
  3. 图3

  4. 在IE中浏览

图4
我们可以看到:我们修改后的Login 空间多了Hello World字符。注意:Activity Space是区分大小写的。

新建Activity Space

模式介绍

  Editor Activity Space :定义基于Form的编辑器如何使用MVC模式进行工作。包括了创建门户对象,修改影响Portal条目的配置等。

  AForm Activity Space:定义了基本的Form提交的页面,这种类型的页面并不需要高级的编辑功能。

  以下的两个页面显示了编辑模式和显示模式,当用户点击“Change Text” 后出现编辑保存界面。

图5

图6

编辑项目

  代码可以在SampleProjects-60.zip中找到。在eclipse中编辑类似第二章中描述的,这里不在重复。

部署项目

  1. 修改PT_HOME\settings\portal 目录下的 ActivitySpaces.xml文件为
- <AppLibFiles>
  <libfile name="uiinfrastructure" /> 
  <libfile name="sampleactivityspace" /> 
  <libfile name="portaluiinfrastructure" /> 
  <libfile name="portalpages" /> 
  <libfile name="portalnavigation" /> 
  <libfile name="provUIIncomingNetworkSearch" /> 
  <libfile name="provUIIntrPortWS" /> 
  <libfile name="provUIOutgoingNetworkSearch" /> 
  <libfile name="provUIRPP" /> 
  <libfile name="provUIRAP" /> 
  <libfile name="provUIRemPortWS" /> 
  <libfile name="provUISOAP" /> 
  <libfile name="provUIWWW" /> 
  <libfile name="provUIMWS" /> 
  <libfile name="nullnavigation" /> 
  <libfile name="jsincluder" /> 
  </AppLibFiles>

  这个配置让Portal启动时从Portal.war中加载sampleactivityspace文件。

  1. 在Eclipse中导出jar文件,附加到portal.war文件中。或到SOURCE_HOME\portalui\6.0目录中。

       编译源文件:ant build.

       安装到Portal.war:ant install

  2. 注意:不同版本的UICI可能出现build错误,这种情况可以直接Eclipse中导出jar然后附加的方式。

测试

  1. 启动Portal。
  2. 在浏览器中输入http://localhost:8080/portal/server.pt?space=SampleActivitySpace访问Space,服务器将返回错误信息,因为我们此space不允许匿名访问。Login到portal中,就可以成功访问。

参考文件

  Advanced Portal UI Customizations:
http://edocs.bea.com/alui/devdoc/docs60/Customizing_the_Portal_UI/plumtreedevdoc_advanced_customizing_intro.htm

 
相关文章
 
页面功能  【加入收藏】 【推荐给朋友】 【字体:  】 【关闭】   


EasyJF.com 2006 隐私政策 使用EasyJF前必读