自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

昕友软件博客

技术文章原创、开源软件、产品、代码段...

  • 博客(29)
  • 资源 (12)
  • 收藏
  • 关注

原创 Liferay7 BPM门户开发之42: Liferay核心JSP定制扩展

Liferay最大的好处是不仅接口强大,利于扩展,就连JSP定制扩展都提供了3种方式。修改核心jsp代码,有3种修改方式:1、暴力修改直接修改(位于portal-web/docroot/html),编译部署,会带来风险,而且不能同步更新。2、全量扩展修改热部署jsp文件(替代原有jsp),这是v7.0下的OSGi方式,实现方式非常优雅。3、CustomJspBag Hook方式实现...

2016-11-30 11:15:00 213

原创 Liferay7 BPM门户开发之41: Expando API入门

Expando 是liferay的一种自定义表格扩展的方式,从5.0就已存在 , 可以在运行时新建表格\字段\行\值.这是一种Service Builder之外的轻量级替代扩展方式,不必像Service Builder那么繁琐,实现的具体技术实际上是列转行,其中ExpandoValue有点像Activiti的act_ru_variable主要有4种接口,分别是表\行\列...

2016-11-29 22:45:00 108

原创 Liferay7 BPM门户开发之40: Form表单的Action到Render的数据传递


 在Form提交后的变量,很多情况是要展现在jsp页面中,这时Action到Render的变量传递就非常有用。例如,您在数据库中添加了学生的详细信息。为了实现这一需求,先创建Form表单(学生的细节,如姓名、出生日期等,通过action url来实现)。当用户提交表单时,这些数据(学生信息)会在你执行CRUD操作的action方法添加。添加完成后,需要把一些...

2016-11-28 00:04:00 199

原创 Liferay7 BPM门户开发之39: Form表单提交的ProcessAction处理


 在v6.2开始后,需要设置<requires-namespaced-parameters>false</requires-namespaced-parameters>  来避免在jsp中写<portlet:namespace/>的input前缀在v7.0发现,注解方式是不灵的!即  "javax.portlet.requir...

2016-11-27 20:17:00 176

原创 Liferay7 BPM门户开发之38: OSGi模块化Bndtools、Maven、Gradle开发构建入门


 前言OSGi是目前动态模块系统的事实上的工业标准,它适用于任何需要模块化、面向服务、面向组件的应用程序。Eclipse如此庞大和复杂的插件体系,就是基于OSGi。Liferay也是基于OSGi。OSGi是模块化设计的一种标准,适用于大中型项目。在一些小型项目中,开发者也可以自己设计私有的classLoader机制来实现插件开发环境,比如openfireOSGi...

2016-11-18 14:03:00 191

原创 Liferay7 BPM门户开发之37: Liferay7下的OSGi Hook集成开发

hook开发是Liferay客制扩展的一种方式,比插件灵活,即可以扩展liferay门户,也能对原有特性进行更改,Liferay有许多内置的服务,比如用hook甚至可以覆盖Liferay服务。可作为系统服务挂钩(Liferay Service Hook),还有其他类型的hook...Liferay6.2 时的hook开发比较有限,而在Liferay7则大为不同,OSGi servic...

2016-11-14 18:36:00 369

原创 Liferay7 BPM门户开发之36: 使用Portlet filters过滤器做切面AOP

使用Portlet filters过滤器做切面AOPPortlet Filters定义于JSR286 Java Portlet Specification 2.0 Portlet Filters是为了在4个生命周期的过程中,提供外部的AOP支持,这非常不显眼,但也很有用,比如可以用在Liferay的Hook开发中。JSR286 Java Portlet Specification 2....

2016-11-14 12:40:00 128

原创 Liferay7 BPM门户开发之35: AssetTag的集成查询


 Tag是liferay中的Asset特性,可以用来对信息进行分类,在iferay中的Asset类型为:1、 Web Content(自定义内容)2、 Documents and Media(文档库和媒体文件)3、 Blogs (博客文章)4、 Message Boards 5、 Wiki Page6、 Bookmarks可以根据tagName来对...

2016-11-14 12:35:00 172

原创 Liferay7 BPM门户开发之34: liferay7对外服务类生成(RestService Get Url)

在liferay7中开发不依赖Service Builder的对外服务类,非常简洁,只需要2点注解:在类的前部定义:  @ApplicationPath("/PathXXX")方法前定义:   @GET   @Path("/ActionXXX")   @Produces("text/plain")例子:得到注册用户import com.liferay.portal....

2016-11-14 12:34:00 185 4

原创 Liferay7 BPM门户开发之33: Portlet之间通信的3种方式(session、IPC Render Parameter、IPC Event、Cookies)...

 文章介绍了5种方式,4种是比较常用的:Portlet sessionIPC Public Render ParametersIPC EventCookies参考地址:https://web.liferay.com/zh/community/wiki/-/wiki/Main/Portlet%E9%97%B4%E7%9A%84%E9%80%9A%E4%BF%A1 方式...

2016-11-13 11:59:00 109

原创 Liferay7 BPM门户开发之32: 实现自定义认证登陆(定制Authentication Hook)

 第一步:修改liferay-hook.xml<?xml version="1.0"?><!DOCTYPE hook PUBLIC "-//Liferay//DTD Hook 6.2.0//EN" "http://www.liferay.com/dtd/liferay-hook_6_2_0.dtd"><hook><portal-

2016-11-11 17:43:00 384

原创 Liferay7 BPM门户开发之30: 通用帮助类Validator、ArrayUtil、StringUtil等使用


  废话不多说,直接上代码。验证类Validator主要是空验证、数字、格式验证调用的例子:protected void validateEmailFrom(ActionRequest actionRequest){ String emailFromName = getParameter(actionRequest, "emailFromNam...

2016-11-11 13:41:00 120

原创 Liferay7 BPM门户开发之29: 核心kernel.util包下面的通用帮助类ParamUtil、GetterUtil使用...


 与其闭门造车,不如直接开动原装、进口、免费的法拉利。 -- 作者说不多说废话,直接上代码。 ParamUtilParamUtil、GetterUtil是Liferay最重要的帮助类ParamUtil用途:获取PortletRequest的参数值,并作类型转换和判空处理(内部机制是通过GetterUtil)GetterUtil用途:对输入做类型转换、判...

2016-11-11 13:29:00 246

原创 Liferay7 BPM门户开发之28: Portlet文件上传,及实体类同步更新上传

抓住核心 。Liferay文件上传的核心就是使用UploadPortletRequest类继承关系java.lang.Object   extended byjavax.servlet.ServletRequestWrapper     extended byjavax.servlet.http.HttpServletRequestWrapper    ...

2016-11-11 13:00:00 152 1

原创 Liferay7 BPM门户开发之27: MVC Portlet插件工程开发

官网上的教材说实话实在精简不清晰.https://dev.liferay.com/develop/tutorials/-/knowledge_base/7-0/creating-an-mvc-portlet版本7的Action机制换了:https://dev.liferay.com/develop/tutorials/-/knowledge_base/7-0/mvc-action-...

2016-11-09 16:28:00 127 2

原创 Liferay7 BPM门户开发之26: 集成Activiti到Liferay7

开发顺序:实战任务1,开发BPM管理后台(用于在Liferay管理中心管理Activiti模型上传)一个熟悉Portlet操作的项目,为开发打好基础。http://www.cnblogs.com/starcrm/p/6184721.html  实战任务2,开发BPM管理后台:流程列表清单Portlet万里长征第一步,非常关键。http://www.cnblogs.com/...

2016-11-09 16:28:00 163

原创 Liferay7 BPM门户开发之25: Liferay7应用程序配置(APPLICATION CONFIGURATION)

首先有几个概念需要明确。1、第一个概念是这里的应用程序配置不是写XML之类的配置文件,是类似字典的类型化配置这意味着应用程序配置不只是一个字符串键值对的列表。值还可以有类型,如整数列表,字符串列表,一个网址,甚至可以使用自己的自定义类型。2、第二个概念是模块性。在Liferay 7 中,应用程序是模块化的,组件只是一个有@组件注释的类,通常是一组属性提供元数据。3、第三个概念是在不同...

2016-11-09 16:07:00 172

原创 Liferay7 BPM门户开发之24: Liferay7应用程序安全


  整理中......Resources, Roles, and PermissionsPortal Access Control List (PACL) Custom SSO Providers Authentication Pipelines Sanitizers Service Access Policies Authentication Verifiers...

2016-11-09 16:05:00 87

原创 Liferay7 BPM门户开发之23: 了解内置工作流(Kaleo Workflow)

 Liferay内置的工作流是企业版的功能,虽然简单粗糙,但依然不支持社区版。既然要用更强大的Activiti来替代它,那就非常有必要学习一下内置工作流的一些思想,以便借鉴。它的特点:实体的工作流操作可以通过service layer进行集成;需要添加4个额外的字段来跟踪流程状态;通过Service Builder来建立字段,然后更新service layer;视图层UI可...

2016-11-09 16:04:00 479 1

原创 Liferay7 BPM门户开发之22: Liferay7模型监听器(Model Listeners)


 Model Listeners实现ModelListener接口,用于持久化时的AOP处理一些使用场景:Audit Listener: 在一个独立而分离的数据库,做信息更新的审计;Cache Clearing Listener: 缓存清除时做的额外定制处理;Validation Listener: 实体的验证Entity Update Listener...

2016-11-09 16:01:00 110

原创 Liferay7 BPM门户开发之21: 理解消息总线(Message Bus)体系


 Liferay Message Bus提供了松耦合的消息发送接收机制(生产和消费的设计模式),用于本地服务,不支持远程服务,支持集群。主要用途:两个或多个插件之间的通讯。在事件中发送搜索索引,比如传递工作流的实例索引。发送订阅邮件或系统消息,比如在工作流中的待办到达时,给用户发送提醒消息。定时任务消息发送,比如在工作流中的定时任务启动时,给用户发送提醒...

2016-11-09 15:23:00 215

原创 Liferay7 BPM门户开发之20: 理解Asset Framework


 Asset框架用于将您开发的门户内容添加Liferay的核心系统功能。打个比方,你开发了一个事件TodoList管理的插件,在列表显示的时候,你可以集成Asset框架,让你的自定义内容支持Tag标签、分类、评论、星标等功能。它可以关联任意的门户内容,文本、Int、Image、documents、blog entries, bookmarks,或者任何您自己定义的内...

2016-11-09 12:44:00 125

原创 Liferay7 BPM门户开发之19: 理解Service Builder体系


 Service Builder是Liferay为业务开发而设计的模型驱动(model-driven)平台工具,提供一系列的实体类、数据持久化、服务相关的代码自动生成服务。支持Hibernate and Spring集成,缓存处理,动态查询等特性。令人惊讶的是,Liferay所有的持久化代码、Servie接口代码都是由Service Builder自动生成的,可见其...

2016-11-08 15:53:00 138

原创 Liferay7 BPM门户开发之18: 理解ServiceContext


 ==












2016-11-08 15:51:00 160

原创 Liferay7 BPM门户开发之17: Portlet 生命周期

Portlet 生命周期init() =〉 render() =〉 processAction() =〉 processEvent() =〉 serveResource() =〉destroy()init()    在Liferay容器部署portlet时,启动portlet实例化    init有两个写法: public void init() throws Po...

2016-11-04 12:10:00 239

原创 Liferay7 BPM门户开发之16: Liferay中用户\站点\组织架构\角色\用户组以及关联关系...

用户 、 站点 、 组织架构 、 角色 、 用户组分别是:Users、 Site、 Organization、 Role、 UserGroupsUsers用户是Liferay portal中的关键实体,分别和站点 / 组织架构 / 用户组相互关联;用户是组织架构的一部分;一个用户可以通过访问权限访问多个站点;用户包含的权限有3种作用域:  Site Specific Ro...

2016-11-02 14:52:00 173

原创 Liferay7 BPM门户开发之15: Liferay开发体系简介


 Liferay SDK 开发体系主要分6种:PortletHookThemeLayout TemplatesWeb ModulesExtPortlet :类似于servlet的web组件,编译后是war包,是页面的组成元素,可以把它理解为一个web APP详细介绍:https://web.liferay.com/zh/products/wha...

2016-11-02 12:22:00 157 1

原创 Liferay7 BPM门户开发之14: 通用流程实现从Servlet到Portlet (Part3)

正在编写

2016-11-02 10:41:00 93

原创 Liferay7 BPM门户开发之13: 通用流程实现从Servlet到Portlet (Part2)

正在编写

2016-11-02 10:38:00 87

Activiti流程演示Demo

Activiti流程演示Demo,独立web App,需要开启Acitivi服务。

2017-03-12

Liferay集成Activiti开发工程

Liferay集成Activiti开发工程,需要Liferay IDE支持。

2017-03-12

Liferay平台开发使用详细PPT演示文稿

介绍Liferay企业门户,PPT章节: 概述 功能和使用 开发扩展 安全、认证 高可用 Demo

2017-03-12

Liferay7门户集成Activiti BPM用户组同步

在实际的BPM集成开发过程中,Liferay和Activiti这两个异构的系统之间,用户、组的同步需求非常重要,用来实现签收组的概念,比如指定签收组、会签、抢签都需要用到。 Activiti可以通过自定义实现SessionFactory,实现customUserManager和customRoleManager的方式集成第三方的用户关系。 这里我介绍一个方法,可以借助Liferay的实体监听器来做用户、组、用户-组成员关系的三种同步。其实实现原理非常简单,用户组的同步,就是实现 BaseModelListener 泛型接口 详情见:http://www.cnblogs.com/starcrm/p/6200674.html

2016-12-19

Liferay7门户集成Activiti BPM上传文件部署流程模板

通过ActionURL部署流程文件,实现Activiti的模板后台管理和Liferay的集成。

2016-12-16

Liferay7门户集成Activiti BPM展示流程列表功能

Activiti BPM集成Liferay7的Portlet组件模块,用于展示流程列表,流程XML模板,流程图等。 详细说明: http://www.cnblogs.com/starcrm/p/6177844.html

2016-12-15

Activiti5.21依赖库

用于http://www.cnblogs.com/starcrm/p/5946419.html

2016-10-10

Liferay开发持久化层和服务层演示Demo代码

Liferay开发实战(2):Service Builder生成持久化层,一个简单留言板的例子。 http://www.cnblogs.com/starcrm/p/5175674.html

2016-02-03

Java Web Project开发WebSocket服务端/客户端

为方便开发,用了Jetty服务器,在网上很多例子都是基于jetty7.0的。但jetty9.0以后WebSocket的基类代码变化很多,于是自己动手开发。

2016-01-15

C#使用七牛云存储上传下载文件

项目需要将音视频文件上传服务器,考虑并发要求高,通过七牛来实现。 做了一个简易的压力测试,同时上传多个文件,七牛自己应该有队列处理并发请求,我无论同时提交多少个文件,七牛是批量一个个排队处理了。

2016-01-14

ASP.NET MVC 在线录音录像(音视频录制并上传)

最近有个在线招聘录音的开发需求,需要在招聘网站上让招聘者上传录音和视频。该工程利用WebRTC技术,可以在除了IE以外的浏览器正常运行,推荐Chrome浏览器。

2016-01-07

ASP.net MVC vcard名片二维码自动生成

简单好用的二维码工具,找了很多都没办法生成名片二维码(只能生成网址),于是自己写了一个。

2016-01-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除