一句話簡介
Liferay是世界領先的開源企業門戶(也可作為綜合門戶),是最強大(沒有之一)的JAVA開源門戶,在Gartner和Forrester和評價非常高,近幾年已經超越了微軟門戶Sharepoint。
Activiti是著名開源jBPM的分支,創始人Tom Baeyens就是JBoss jBPM的項目架構師,以及jBPM另一位架構師Joram Barrez,一起創建的Alfresco公司開發的BPM工作流平台。
商業模式
Liferay和Activiti都分社區開源版 、企業版2種,內核代碼都是一樣的,區別在於收費插件和企業服務支持,從社區版到商業版可無縫轉換。
為什么要選擇Liferay和Activiti
作為IT技術負責人的你是否有以下選型煩惱:
- 選國內閉源產品(比如藍凌OA),受制於大廠,費用高,周期慢,因產品框架限制不一定能實現較特殊的需求;
- 選的技術太舊(比如東軟開發平台),開發出的項目,開發擴展困難,和其他業務系統集成困難,開發人員抵觸;
- 選國內假開源產品,技術能力參差不齊,產品包裝的很牛,但用起來各種細節問題;
為什么選基於Liferay + Activiti 開發企業門戶產品
- Liferay是最優秀的開源企業門戶,使用企業數千,使用者數千萬,產品穩定性和先進度有保障,功能極具擴展性;
- Liferay移動端界面支持好(H5自適應);
- Liferay自身的BPM較弱,所以需要集成較強的BPM,而Activiti是非常優秀的BPM產品,
- Activiti 使用者眾多,功能靈活,上手難度不大,它的前身jBPM在jBoss控制下越來越重,所以不選jBPM;
- Activiti BPM滿足國際BPMN2.0規范,選用Activiti BPM在流程遷移方面有規范、風險低;
- 有代碼,不會受制於人,更可控;
- 開發風險可控,最核心的2個功能(門戶平台和BPM)依托成熟開源,穩定性不用擔心;
總而言之就是核心風險可控,我們只需要關注開發連接插件,即可形成產品
我們要基於Liferay + Activiti 做什么
1、賬戶遷移工具或腳本
如果涉及舊OA或門戶遷移,必須開發遷移工具;
2、組織架構遷移工具或腳本
組織架構是非常重要的基礎數據;
3、權限組的遷移工具或腳本(非必須)
如果涉及舊OA或門戶,權限組最好能批量遷移;
4、Activiti BPM集成Portlet(重點、難度較大)
Liferay自身的BPM較弱,所以需要集成較強Activiti,通過Portlet集成,Portlet其實就是Liferay規范化的servlet 。
5、Activiti BPM集成Liferay權限體系(重點、難度較大)
實現Liferay和Activiti 的權限通訊。
有三個方案:http://www.kafeitu.me/activiti/2012/04/23/synchronize-or-redesign-user-and-role-for-activiti.html
需要慎重選擇方案。
6、Activiti-Designer 流程設計器的中國化改造(重點、難度較大)
Activiti 的表單設計器非常強大,但需要改造符合中國企業使用習慣;
Liferay自身的簡單BPM估計能實現業務流程需求的簡單需求(可能占50%),其余的需要Activiti 實現。
Activiti 中提供了 2 種可視化流程設計器:Web Application 形式的 Activiti Modeler 和 胖客戶端形式的流程編輯器Activiti-Designer,必須先慎重選型。
7、開發開放API,方便業務系統調用
這部分可基於Liferay WebAPI擴展包裝,難度不大;
Liferay 功能介紹
1、創建站點
管理員可創立多站點。
應對集團多分支的組織架構(按組織分割),或者垂直多用途的門戶(按用途分割),比如內外門戶、集中知識門戶、文檔中心等。
配置新站點
可以設置站點的語言、風格、權限等
2、管理頁面
創建頁面
選擇頁面的欄式
在頁面添加應用
比如添加內置的wiki和最新blog列表應用
配置頁面權限
注意:里面的角色(role)是可自行配置的。
創建頁面內容:HTML5類型
通過WYSIWYG Web editor,添加文本、圖片、視頻內容等
創建頁面內容:結構化元數據(Metadata )類型
有點動態表單的概念,這個和Sharepoint的List Field很相似。
支持的元數據(Metadata )類型有:
- Boolean: true (checked) or false (unchecked)
- Date: 日期
- Decimal: 數字,支持小數點位數;
- Documents and Media: 文檔庫類型,文檔和媒體;
- Geolocation: 地理位置,用於移動端;具體可見https://dev.liferay.com/discover/portal/-/knowledge_base/7-0/geolocating-assets
- HTML: 使用WYSIWYG editor編輯的內容;
- Image: 圖片;
- Integer: 整數;
- Link to Page: 鏈接;
- Number: 類似於Decimal,可能是big decimal,有待確認;
- Radio: 多選按鈕;
- Select: 下拉選擇按鈕;
- Separator: 分隔欄;
- Text: 當行文本;
- Text Box: 多行文本,類似Java控件textArea;
控制頁面發布展示和過期時間
scheduling web-content publication
內容搜索
liferay的內容搜索異常強大,不多贅述。
詳見:https://dev.liferay.com/discover/portal/-/knowledge_base/7-0/searching-for-content
3、管理用戶、組織、權限
組織管理
新建組織,並設置上級組織
Type :regular organization or a location,如果選location則沒有下級組織
添加用戶
用戶組
用戶組是剝離組織架構的獨立邏輯分組,一個用戶可以分配給多個用戶組。
例如,公司的辦公室/部門結構既可以通過組織機構進行建模。也能創建用戶組,比如:
- 副總
- 辦公室經理
- 會計
- JAVA開發人員
- 博客管理員
- 等等...
一個用戶組可以創建一群人獨立於他們的組織機構,使它更容易分配一個或多個角色,比如一次性分配權限給所有的JAVA開發人員。
向屬於用戶組的用戶提供預定義的公共或私有頁面。例如:
- 博客管理員用戶組的成員可以創建管理博客
- 會計用戶組的成員可以訪問財務頁面和應用
- ......
下面是創建(博客管理員)用戶組的演示頁面:
角色
角色是用來定義一個特定功能的權限(根據特定范圍)
一個角色基本上只是一個定義了一個功能的權限集合,如留言板管理員。這有點容易和用戶組混淆,但實際上角色還有范圍的管轄權限控制
可以細化到4種范圍類型選擇(Regular role、Site role、Organization role、Team)
導航到控制面板,然后單擊“角色”,可以讓您創建角色、分配權限給他們,將用戶分配給角色。
一個角色僅具有一定管轄范圍的作用。比如
- Site role:一個“企業知識站點留言板管理員”角色只能在一個特定站點(即”企業知識站點“)內管理留言板內容;
- Team role:一個"CVTalk開發團隊"角色只能在一個特定團隊站點(即”CVTalk開發“團隊)內發布內容;
Regular role、Site role、Organization role、Team四種類型的角色之間的范圍差異可以描述如下:
- 規則角色:權限在門戶級別定義,並在門戶級別應用。
- 站點角色:權限被定義在門戶級別,並應用到一個特定的站點。
- 組織角色:權限在門戶級別定義,並應用於一個特定的組織。
- 團隊:權限被定義在一個特定的站點內,並被分配在特定的團隊站點內。
用戶驗證
支持的用戶認證方式:
- Liferay自帶認證
- LDAP
- SSO
- CAS
- NTLM
- OpenId
- Crowd
- Open SSO
- SiteMinder
- Shibboleth
- SAML
4、文檔管理
發布文件上傳
發布元數據(Metadata )數據集
就是通過動態字段建立的數據
分布式集群文檔存儲
Liferay Portal的文件和媒體文件可以存儲在許多不同的服務器或其他媒介方式,
默認情況下,Liferay Portal使用文檔庫中存儲的選擇被稱為簡單的文件存儲在文件系統上。
您也可以使用一個完全不同的方法來存儲文檔和媒體文件:
- CMIS存儲(Content Management Interoperability Services 內容管理交互服務):使用一個單獨的從Liferay存儲文件系統。
- DBstore(數據庫):使用數據庫存儲文件。
- JCRstore(Java內容庫):將文件分布式存儲到兼容JSR-170規范的第三方廠商文檔庫。商業的有IBM、EMC、SAP、Macromedia的產品,開源的產品也不少,一線的CMS開源基本都符合JSR-170規范,比如Magnolia、eXo、Apache Jackrabbit、Liferay本身也符合,基於Magnolia存儲是最優的方案,這樣就把Magnolia作為一個用途專一的分布式存儲倉庫;
- S3store(亞馬遜簡單存儲):使用亞馬遜的雲存儲解決方案。
- 其他定制方案:這需要您自行實現Liferay開發接口,實現更大的靈活性;
文件同步客戶端
有些類似百度雲客戶端,在授權的情況下,可以把文檔庫同步到個人電腦硬盤。
詳情:https://dev.liferay.com/discover/portal/-/knowledge_base/7-0/using-liferay-sync-on-your-desktop
移動端訪問文檔庫
移動端編輯文件
5、企業協作
博客
論壇
用戶心情
Wiki
略
書簽
略
企業微博
通知
投票
集成XMPP Web聊天
通過集成jabber方式和openfire通訊
集成Email
Liferay包含一個郵件插件,可以作為web郵件客戶端
5、管理應用
Liferay的強大之處在於不僅內置應用繁多,它還提供易於開發的擴展體系,提供即插即用的平台支持,海量應用商店支持。
管理應用
應用商店
應用商店有數千個免費或商業插件
應用的類別:
- OSGi Modules
- Portlets
- Web Plugins
- Templates
- Themes
以上內容為官方文檔的微縮版:https://dev.liferay.com/discover/portal
6、企業功能
涉及用戶數據列表、表單模板、高級表單定制、工作流。
放在下一篇介紹。
多謝觀看!