1.概述
本文根據AEAI Portal的特色,爲AEAI Portal門戶平臺初學者提供相對合理的學習路徑,但願能幫助讀者快速掌握AEAI Portal相關技能。web
2.認識與部署
2.1 認識
Portal是一種Web應用,「portal是一種web應用,一般用來提供個性化、單點登陸、彙集各個信息源的內容,並做爲信息系統表現層的宿主。彙集是指未來自各個信息源的內容集成到一個web頁面裏的活動」。數據庫
AEAI Portal是國內(瀋陽數通暢聯軟件技術有限公司)發佈的一款Portal產品。2014年10月20日其Portal推出初版「AEAI Portal門戶集成平臺v3.1版 」,基於AEAI ESB能夠搭建常規的信息門戶、數據門戶、應用門戶。json
2.2 部署
包括安裝JDK、MySql、以及配置PortalServer。下圖爲Portal Server的配置對話框。瀏覽器

3.基礎配置
3.1 導航配置
在「門戶管理—導航管理」中能夠對導航進行管理,也能夠新建一個導航。緩存
新建一個導航,設置編碼、名稱、類型(登陸前、登陸後)、默認主題(登陸後的默認主題風格)等。安全
在新建的導航中添加頁面,如首頁,其中添加Portlet,瀏覽器地址欄輸入http://localhost:8080/portal/request/xx/xxxNaNml便可訪問,其中xx爲對應的導航編碼,xxx.ptml爲新建的頁面(首頁)編碼,還能夠在管理導航中的返回門戶目錄下添加一個連接,連接到新建導航的首頁,方便訪問。函數
選中建立後的導航點擊編輯,能夠修改導航配置信息,添加個性主題(添加個性化主題列表中能夠選擇的主題)等。佈局
3.2 目錄、頁面
在新建的導航中添加目錄(菜單),包括決策分析、輔助功能。學習
在決策分析目錄下添加頁面,以現金流爲例(參考綜合門戶中對應樣例),目錄下添加一個概覽頁面、一個現金流狀況頁面。測試
在決策分析下新建隱藏頁面目錄,包括現金流彈出表格頁面、現金流明細頁面、財年預算頁面、財年預算彈出表格以及財年預算明細頁,共5個頁面(在後面的數據門戶配置中使用)。
3.3 佈局設置
在前面建立的首頁的頁面佈局中添加4個Portlet:一個全動態Portlet(通知提醒)、一個TabPortlet(待辦任務)、一個SSO應用列表Portlet和一個基本圖表Portlet,經過擴展列容器擴展爲兩個列容器,每一個列容器中添加兩個Portlet。列容器能夠配置所佔寬度比等、其中的Portlet能夠在容器間拖動,改變佈局後要點保存按鈕,才能保存佈局信息。
3.4 Portlet設置
能夠在佈局中對Portlet高度、裝飾等屬性進行設置,也能夠在頁面點擊齒輪按鈕設置。瞭解Portlet通用屬性設置,如高度、是否緩存等。
4.信息門戶
4.1 建立頁面、添加Portlet
在知識中心導航中新建目錄,其下新建三個頁面:一個信息概覽頁、一個明細頁、一個信息正文頁面,正文頁面Portlet配置完後要隱藏。
在概覽頁中添加一個信息列表Portlet,明細頁中左側添加菜單列表Portlet(SubMenuListPortlet),右側添加一個信息表格Portlet(InfomationGridPortlet)。
信息正文頁面中添加一個信息正文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、欄目參數key(columnId)、欄目參數默認值、正文頁面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 靜態數據提供
在組件管理—靜態數據中添加上面兩個基本圖表的靜態數據(XML數據);
數據格式參考已有基本圖表靜態數據樣例、數據(屬性值)要本身設置;
靜態數據中設置clickURL屬性使之都連接到現金流頁面;
拷貝靜態數據地址到圖表Portlet的數據URL中測試;
5.1.3 ESB數據提供
經過ESB Http流程能夠從數據表中查詢出所需統計數據,也能夠在賦值轉換組件中經過代碼生成測試數據,數據放入DataSet或DataRow中。
賦值轉換組件選擇轉換模板(DataSet—XML),擴展代碼,添加XML數據相應屬性值。
Response節點返回值設爲XML數據結果(document)。
將流程訪問URL填入圖表Portlet的數據URL中,測試。
5.1.4 Handler數據提供
參考《數據模擬配置及handler開發》文檔中的相關內容。
建立一個普通Web應用。
在應用下建立一個數據構造類(代碼生成測試數據)、一個XML數據提供handler(根據請求參數從數據構造類中獲取相應數據轉換爲XML數據,與ESB中轉換方式相同)。
建立對應JSP頁面,頁面代碼參考已有樣例(獲得返回的XML數據)、配置文件中增長handler配置。
將handler請求地址填寫到圖表Portlet數據URL中測試,handler請求地址寫法參考文檔中給出的地址,端口改成6060,應用名、handler的ID改成本身建立的對應應用、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 分析頁跳轉相當聯頁
關聯頁面財年預算相關頁面Portlet複用綜合門戶決策分析中對應Portlet配置便可;
在現金流頁面的條件查詢Portlet配置中擴展一個連接,連接到關聯財年預算頁面;
在財年預算頁面的條件查詢Portlet配置中擴展一個「返回」連接,返回現金流頁面;
5.3.3 彈出表格、明細頁跳轉
詳細配置及JS參數傳遞請參考「數據模擬配置」文檔及「Portal經常使用JS使用」文檔。
6.應用門戶
6.1 單點登陸
熟悉後臺單點登陸配置,包括新建應用分組及應用管理配置;
以SMC管理控制檯爲例配置單點登陸,CAS認證及表單認證方式SMC都已支持;
在首頁的應用列表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 頁面集成
在導航中新建一個目錄及一個頁面,並在頁面中添加一個Iframe Portlet;
訪問該頁面,配置該Portlet,將url填寫爲導航中任一頁面的連接或外部連接地址,測試是否正常顯示;
6.5 菜單集成
6.5.1 虛擬菜單配置
參考虛擬菜單配置文檔。
在靜態數據中配置虛擬菜單所需Json數據(使用SMC菜單數據),參考Json樣例(直接複用亦可、可是要理解清楚數據各屬性的意義);
點擊「新建菜單」,在導航中新建一個虛擬菜單,將json數據地址拷貝到虛擬菜單數據地址中;
新建虛擬菜單顯示頁面(隱藏),添加SSO界面集成Portlet;
6.5.2 配置SSO界面集成Portlet
參考虛擬菜單配置SSO界面集成文檔
首先須要在SSO應用列表Portlet中添加配置單點登陸的SMC
在Portlet配置中SSO應用選擇上面添加的SMC
URl填寫「DynamicRetrieve」爲經過虛擬菜單動態獲得頁面URL
其它屬性可根據須要配置
在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開發爲例。
建立一個集成Web應用
經過功能建立嚮導建立一個Portlet功能模型,生成模型代碼、頁面
參考日程Portlet開發文檔改造代碼、頁面,重在理解Portlet的交互機制(包括annotion、mode等理解,用到的JS的理解等)
在Portlet配置文件中增長Portlet信息,部署啓動應用。(開發平臺已經自動生成,但須要讀者瞭解)
7.3.2 門戶中添加Portlet配置
在「組件管理—Portlet應用」中添加新建的應用;
在Portlet設置中新增,選擇所屬應用後就能夠選擇應用下的Portlet了,選擇好所屬分組後保存即在門戶中添加了該Portlet,而後就能夠在頁面中添加使用了。
7.4 經常使用JS的熟練
數據門戶中只用到了Portal中幾個在數據門戶中最經常使用的JS,還有不少經常使用的JS,可參考Portal中經常使用JS文檔,而後在Portlet或頁面中調用相應JS,經過Chrome的JS調試熟悉這些JS。
AEAI Portal門戶平臺學習路徑文檔 下載