首页 > 代码库 > AEAI Portal门户平台学习路径

AEAI Portal门户平台学习路径

1.概述

本文根据AEAI Portal的特点,为AEAI Portal门户平台初学者提供相对合理的学习路径,希望能帮助读者快速掌握AEAI Portal相关技能。

2.认识与部署

2.1 认识

Portal是一种Web应用,“portal是一种web应用,通常用来提供个性化、单点登录、聚集各个信息源的内容,并作为信息系统表现层的宿主。聚集是指将来自各个信息源的内容集成到一个web页面里的活动”。

AEAI Portal是国内(沈阳数通畅联软件技术有限公司)发布的一款Portal产品。20141020日其Portal推出第一版“AEAI Portal门户集成平台v3.1 ”,基于AEAI ESB可以搭建常规的信息门户、数据门户、应用门户。

2.2 部署

包括安装JDKMySql、以及配置PortalServer。下图为Portal Server的配置对话框。

                           技术分享

3.基础配置

3.1 导航配置

在“门户管理—导航管理”中可以对导航进行管理,也可以新建一个导航。

新建一个导航,设置编码、名称、类型(登录前、登录后)、默认主题(登录后的默认主题风格)等。

在新建的导航中添加页面,如首页,其中添加Portlet,浏览器地址栏输入http://localhost:8080/portal/request/xx/xxxNaNml即可访问,其中xx为对应的导航编码,xxx.ptml为新建的页面(首页)编码,还可以在管理导航中的返回门户目录下添加一个链接,链接到新建导航的首页,方便访问。

选中创建后的导航点击编辑,可以修改导航配置信息,添加个性主题(添加个性化主题列表中可以选择的主题)等。

3.2 目录、页面

在新建的导航中添加目录(菜单),包括决策分析、辅助功能。

在决策分析目录下添加页面,以现金流为例(参考综合门户中对应样例),目录下添加一个概览页面、一个现金流情况页面。

在决策分析下新建隐藏页面目录,包括现金流弹出表格页面、现金流明细页面、财年预算页面、财年预算弹出表格以及财年预算明细页,共5个页面(在后面的数据门户配置中使用)。

3.3 布局设置

在前面创建的首页的页面布局中添加4Portlet:一个全动态Portlet(通知提醒)、一个TabPortlet(待办任务)、一个SSO应用列表Portlet和一个基本图表Portlet,通过扩展列容器扩展为两个列容器,每个列容器中添加两个Portlet。列容器可以配置所占宽度比等、其中的Portlet可以在容器间拖动,改变布局后要点保存按钮,才能保存布局信息。

3.4 Portlet设置

可以在布局中对Portlet高度、装饰等属性进行设置,也可以在页面点击齿轮按钮设置。了解Portlet通用属性设置,如高度、是否缓存等。

4.信息门户

4.1 创建页面、添加Portlet

在知识中心导航中新建目录,其下新建三个页面:一个信息概览页、一个明细页、一个信息正文页面,正文页面Portlet配置完后要隐藏。

在概览页中添加一个信息列表Portlet,明细页中左侧添加菜单列表PortletSubMenuListPortlet),右侧添加一个信息表格PortletInfomationGridPortlet)。

信息正文页面中添加一个信息正文Portlet

4.2 信息列表Portlet、信息正文Portlet模板配置

参考组件模板中已有的信息列表和信息正文模板,列表到正文页面跳转在信息列表模板中实现。

4.3 Portlet配置

4.3.1 信息列表Portlet

信息列表Portlet主要设置“模板”、“信息栏目ID”、正文页面URL三个属性。“模板”添加上面配置的信息列表模板ID;而“信息栏目ID”是内容管理中对应信息分组的ID,在信息分组中选中需要的分组点击“复制信息ID”粘贴到“信息栏目ID”中即可;正文页面URL则填写上面创建的正文页面的链接。其他属性根据需要设置。

4.3.2 菜单列表Portlet

菜单列表Portlet的数据URL等配置参考知识中心里的对应Portlet,默认值可以自己选择,在内容管理—信息分组中拷贝一个分组父节点ID作为columnParentId的值(即可显示该分组下的子节点列表),拷贝其中一个子节点的ID值作为columnParentId的值。

4.3.3 信息表格Portlet

设置展现模板ID、栏目参数keycolumnId)、栏目参数默认值、正文页面URL(使用上面创建的正文页面)等属性。

4.3.4 信息正文Portlet

设置展现模板ID、正文ID参数(contentId)、正文ID默认值等属性。正文Id参数值是通过点击信息列表Portlet或信息表格Portlet中的条目传过来的。在内容管理中对应信息采编或信息发布中的分组下的正文的ID(双击分组下的列表文章,复制信息ID)。

4.3.5 内容管理

内容管理中可以新建编辑分组、采编发布文章(在信息采编中新增文章,保存提交后才可以在信息发布中发布,然后页面Portlet中才可以使用)。采编时还可以给文章添加关键字(在关键字组中配置的),这样在按关键字查询时就能找到包含该关键字的文章。

5.数据门户

5.1 基本图表

5.1.1 图表Portlet配置

在概览页中添加两个基本图表Portlet(配置时可以选择不同类型:柱形图、饼状图等,所需XML数据格式基本是相同的),调整高度等使之适合页面显示。分别显示现金流页面的不同部分数据。

5.1.2 静态数据提供

  1. 在组件管理—静态数据中添加上面两个基本图表的静态数据(XML数据);

  2. 数据格式参考已有基本图表静态数据样例、数据(属性值)要自己设置;

  3. 静态数据中设置clickURL属性使之都链接到现金流页面;

拷贝静态数据地址到图表Portlet的数据URL中测试;

5.1.3 ESB数据提供

  1. 通过ESB Http流程可以从数据表中查询出所需统计数据,也可以在赋值转换组件中通过代码生成测试数据,数据放入DataSetDataRow中。

  2. 赋值转换组件选择转换模板(DataSetXML),扩展代码,添加XML数据相应属性值。

  3. Response节点返回值设为XML数据结果(document)。

  4. 将流程访问URL填入图表Portlet的数据URL中,测试。

5.1.4 Handler数据提供

参考《数据模拟配置及handler开发》文档中的相关内容。

  1. 创建一个普通Web应用。

  2. 在应用下创建一个数据构造类(代码生成测试数据)、一个XML数据提供handler(根据请求参数从数据构造类中获取相应数据转换为XML数据,与ESB中转换方式相同)

  3. 创建对应JSP页面,页面代码参考已有样例(得到返回的XML数据)、配置文件中增加handler配置。

  4. handler请求地址填写到图表Portlet数据URL中测试,handler请求地址写法参考文档中给出的地址,端口改为6060,应用名、handlerID改为自己创建的对应应用、handler

5.2 常规数据分析页面构建

5.2.1 页面各Portlet配置(现金流页面)

顶部添加一个条件查询Portlet(多种查询方式,年月、季度等,支持扩展查询字段)。

左侧添加一个基本数据列表Portlet、数据列表详细配置参见文档。

右侧上部添加一个堆栈图表Portlet和一个多维图表Portlet,这两个Portlet所需XML数据属性与基本图表略有不同,可参考FusionChart 官方说明文档;这两个图表数据由handler提供,注意handler接收条件查询Bar和左侧数据列表传过来的参数,返回相应数据。

右侧下部添加一个数据表格Portlet,直接在上面创建的数据构造类、handler中扩展表格数据构造、转换方法,同图表Portlet数据通过数据类型参数区分(具体代码及表格Portlet配置参考文档)。

5.2.2 页面内交互、参数传递

以现金流页面中Portlet间交互为例,选择查询bar查询条件后会重新加载页面,其它Portlet中通过${}取得的查询参数值也随之刷新,重新加载相应Portlet后图表数据即会随参数变化。左侧列表与图表交互、与表格交互同理。

5.3 页面间交互、参数传递

5.3.1 概览页跳转至分析页

概览页中基本图表的数据中配置clickURL属性,点击图表即可跳转至相应页面,例如上面配置的概览图表跳转到现金流页面。

5.3.2 分析页跳转至关联页

  1. 关联页面财年预算相关页面Portlet复用综合门户决策分析中对应Portlet配置即可;

  2. 在现金流页面的条件查询Portlet配置中扩展一个链接,链接到关联财年预算页面;

  3. 在财年预算页面的条件查询Portlet配置中扩展一个“返回”链接,返回现金流页面;

5.3.3 弹出表格、明细页跳转

  • 现金流页面中点击图表弹出表格数据页面,通过设置clickURLJS方法实现;

  • 现金流页面表格Portlet点击单条数据弹出明细页面(全动态Portlet),通过在回调函数中调用JS实现

详细配置及JS参数传递请参考“数据模拟配置”文档及“Portal常用JS使用”文档。

6.应用门户

6.1 单点登录

  1. 熟悉后台单点登录配置,包括新建应用分组及应用管理配置;

  2. SMC管理控制台为例配置单点登录,CAS认证及表单认证方式SMC都已支持;

  3. 在首页的应用列表Portlet配置中添加该应用;

6.2 全动态Portlet(消息提醒)

配置首页的通知提醒(全动态Portlet),查看全动态Portlet配置文档。

6.2.1 熟悉组件模板功能

参考Portal中常用JS及组件模板使用文档,组件模板中内置了全动态模板样例,使用到了freemarker指令,参照文档理解各属性意义、如何遍历数据等,然后新建一个通知提醒的模板。

6.2.2 数据提供

复用综合门户首页的通知提醒Portlet的数据提供handler即可。

6.2.3 Portlet配置

使用上面配置的模板及数据URL配置首页通知提醒Portlet

6.2.4 站内通信配置

参照综合门户对应页面配置(在自己创建的导航中新建目录及页面,完成页面Portlet配置),理清全动态Portlet与该页面跳转关系。

6.3 TabPortlet

结合给出的TabPortlet Json数据格式理解该Portlet(参见综合门户待办任务),了解清楚各属性与Tab显示内容的对应关系,然后自己用所给数据在上面创建的首页中配置成功TabPortlet

6.4 页面集成

  1. 在导航中新建一个目录及一个页面,并在页面中添加一个Iframe Portlet

  2. 访问该页面,配置该Portlet,将url填写为导航中任一页面的链接或外部链接地址,测试是否正常显示;

6.5 菜单集成

6.5.1 虚拟菜单配置

参考虚拟菜单配置文档。

  1. 在静态数据中配置虚拟菜单所需Json数据(使用SMC菜单数据),参考Json样例(直接复用亦可、但是要理解清楚数据各属性的意义);

  2. 点击“新建菜单”,在导航中新建一个虚拟菜单,将json数据地址拷贝到虚拟菜单数据地址中;

  3. 新建虚拟菜单显示页面(隐藏),添加SSO界面集成Portlet

6.5.2 配置SSO界面集成Portlet

参考虚拟菜单配置SSO界面集成文档

  1. 首先需要在SSO应用列表Portlet中添加配置单点登录的SMC

  2. Portlet配置中SSO应用选择上面添加的SMC

  3. URl填写“DynamicRetrieve”为通过虚拟菜单动态得到页面URL

  4. 其它属性可根据需要配置

  5. ESBServer启动情况下,点击虚拟菜单会转到显示页面显示菜单页

7.进阶功能

7.1 权限配置

7.1.1 权限体系了解

通过Portal相关PPT、文档等途径了解Portal中完善灵活的权限体系。了解清楚群组、用户、角色三者的关联关系以及其权限继承关系等。

7.1.2 群组、角色、用户关联

在群组管理中可以新增编辑群组,在群组下新建用户;在角色管理中可以新增编辑角色,添加关联群组、关联用户。

Portal中内置了一个所有用户角色,该角色关联的群组、用户默认对所有资源都可以访问。

添加测试数据。

7.1.3 资源权限分配

添加好群组、角色、用户后就可以进行资源访问权限分配了。三种方式:按群组分配、按角色分配和按用户分配(在各资源的安全管理Tab页中分配)。

分配好权限后,使用新建的用户重新登录门户测试。

7.1.4 数据权限分配

数据权限是指对数据专门设立的权限,主要针对群组的用户。即只有被允许的用户才能访问该数据。主要流程是,先通过用户查询到用户所在的组群,通过群组确定有哪些权限。基本上各层级资源都支持权限分配(大至导航、小至一个图片)。

主要步骤就是先对编码分组、配置,接着新增数据资源,然后对新增的资源进行授权。

7.1.5 复用说明

我们实际做一些项目的时候,发现了这样的一个问题,就是在这个系统的资源的权限,与另一个系统里同样存在,那么这个时候就需要权限的复用了。权限复用主要分三种:一种是在两个不同的数据库、一种是在同一个数据库下、最后一种是完全不是我们的系统,即权限的体系完全不同。方法分别为:在新数据库中创建视图、直接使用Portal中的权限表以及用户同步。

7.2 用户个性设置

AEAI Portal支持用户的各种个性设置。包括个性布局、个性主题、个性装饰、收藏夹等等。注意它们在数据库表中的记录位置。

7.2.1 个性布局

使用一个普通的帐号登陆系统,登陆系统之后,可以找到个人设置的按钮。点击激活设置面板,就可以对其进行个性布局了。

7.2.2 主题

管理员可以通过后台控制,对主题个性化设计。用户也可以在页面中选择自己喜欢的主题。

7.2.3 个性装饰

装饰与主题相似,同样分为两个部分,一部分是管理员进行设计,另一部分是用户进行使用。

7.2.4 收藏夹

在用户登陆Portal系统之后,上面导航栏处有一个收藏夹的按钮。

在分隔线上面有两个选项,一个是加入收藏夹,另一个是管理收藏夹。分隔线下面有若干个网页的名称,它们都是被收藏了的网页,直接点击就能跳转到该页面了。

点击加入收藏夹就将该网页添加到收藏夹中

7.3 Portlet开发及配置

7.3.1  Portlet开发

     以日程安排Portlet开发为例。

  1. 创建一个集成Web应用

  2. 通过功能创建向导创建一个Portlet功能模型,生成模型代码、页面

  3. 参考日程Portlet开发文档改造代码、页面,重在理解Portlet的交互机制(包括annotionmode等理解,用到的JS的理解等)

  4. Portlet配置文件中增加Portlet信息,部署启动应用。(开发平台已经自动生成,但需要读者了解)

7.3.2 门户中添加Portlet配置

  1. 在“组件管理—Portlet应用”中添加新建的应用;

  2. Portlet设置中新增,选择所属应用后就可以选择应用下的Portlet了,选择好所属分组后保存即在门户中添加了该Portlet,然后就可以在页面中添加使用了。

7.4 常用JS的熟练

    数据门户中只用到了Portal中几个在数据门户中最常用的JS,还有很多常用的JS,可参考Portal中常用JS文档,然后在Portlet或页面中调用相应JS,通过ChromeJS调试熟悉这些JS

 

AEAI Portal门户平台学习路径文档   下载

AEAI Portal门户平台学习路径