Liferay-Activiti 功能介绍 (新版Liferay7基本特性) 一句话简介 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的内容搜索异常强大,不多赘述。 详见:What is Liferay Portal 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开发接口,实现更大的灵活性; 文件同步客户端 有些类似百度云客户端,在授权的情况下,可以把文档库同步到个人电脑硬盘。 详情:Using Liferay Sync on Your Desktop 移动端访问文档库 移动端编辑文件 5、企业协作 博客 论坛 用户心情 Wiki 略 书签 略 企业微博 通知 投票 集成XMPP Web聊天 通过集成jabber方式和openfire通讯 集成Email Liferay包含一个邮件插件,可以作为web邮件客户端 5、管理应用 Liferay的强大之处在于不仅内置应用繁多,它还提供易于开发的扩展体系,提供即插即用的平台支持,海量应用商店支持。 管理应用 应用商店 应用商店有数千个免费或商业插件 应用的类别: OSGi Modules Portlets Web Plugins Templates Themes 以上内容为官方文档的微缩版:The Liferay Distinction 6、企业功能 涉及用户数据列表、表单模板、高级表单定制、工作流。 放在下一篇介绍。 多谢观看!