SlideShare a Scribd company logo
Dynamic forms processing with
Liferay workflow
Overview and lessons learnt
Willem Vermeer
Worth IT Den Haag, The Netherlands
10 October 2013
Presenter overview
Willem Vermeer

Java developer

Based in The Netherlands

Working for Worth IT

Back-end oriented

Liferay enthusiast
Presentation overview

Kaleo Workflow overview + demo

Integration with Orbeon forms + demo
Kaleo Workflow
“allows a user to define any number of simple to
complex business processes/workflows, deploy them, and
manage them through a portal interface.
The processes have knowledge of users, groups and roles.
You don’t have to write a single line of code to
accomplish this: all you have to do is create a single XML
document.”
WWW.LIFERAY.COM WWW.FACEBOOK.COOM/LIFERAY @LIFERAY
Prerequisites
Install Kaleo from Marketplace (CE or EE)
into your Liferay Installation
WWW.LIFERAY.COM WWW.FACEBOOK.COOM/LIFERAY @LIFERAY
Terminology
A workflow
- is a directed graph of states, tasks, transitions,
actions and notifications
- can be applied to Liferay Assets such as Web
Content or even Custom Assets
- is executed by an asynchronous engine
WWW.LIFERAY.COM WWW.FACEBOOK.COOM/LIFERAY @LIFERAY
Start and finish
A workflow
- starts in an initial state
- must finish at the end state
- can contain any number of tasks, including parallel
tasks (fork-join)
WWW.LIFERAY.COM WWW.FACEBOOK.COOM/LIFERAY @LIFERAY
Task assignation
A task can be assigned to
- a certain user
- a role
Important: only user with assigned task can
transition it to the next task or state
WWW.LIFERAY.COM WWW.FACEBOOK.COOM/LIFERAY @LIFERAY
Example start
submit
review accepted
rejectstate
task
user
reviewerrole
transition accept
submit
WWW.LIFERAY.COM WWW.FACEBOOK.COOM/LIFERAY @LIFERAY
Workflow Definition
Liferay EE has a graphical editor to create/modify
workflows
WWW.LIFERAY.COM WWW.FACEBOOK.COOM/LIFERAY @LIFERAY
Workflow Definition
Liferay EE has a graphical editor to create/modify
workflows
pulled from marketplace
From Liferay Support:
“Unfortunately we had to pull it from the Marketplace as many major issues were discovered with it.“
WWW.LIFERAY.COM WWW.FACEBOOK.COOM/LIFERAY @LIFERAY
Workflow Definition
Liferay EE has a graphical editor to create/modify
workflows
Liferay CE has XML
pulled from marketplace
From Liferay Support:
“Unfortunately we had to pull it from the Marketplace as many major issues were discovered with it.“
WWW.LIFERAY.COM WWW.FACEBOOK.COOM/LIFERAY @LIFERAY
Workflow definition part 1
<workflow-definition
xmlns="urn:liferay.com:liferay-workflow_6.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:liferay.com:liferay-workflow_6.1.0
http://www.liferay.com/dtd/liferay-workflow-definition_6_1_0.xsd"
>
<name>DevCon Demo</name>
<description>Workflow example</description>
<version>1</version>
<state>
<name>created</name>
<initial>true</initial>
<transitions>
<transition>
<name>submit</name>
<target>submit</target>
</transition>
</transitions>
</state>
WWW.LIFERAY.COM WWW.FACEBOOK.COOM/LIFERAY @LIFERAY
Workflow definition part 2
<task>
<name>submit</name>
<actions>
<action>
<name>submit</name>
<script>
<![CDATA[
Packages.com.liferay.portal.kernel.workflow.WorkflowStatusManagerUtil.updateStatus(
Packages.com.liferay.portal.kernel.workflow.WorkflowConstants.toStatus("pending"),
workflowContext
); ]]>
</script>
<script-language>javascript</script-language>
<execution-type>onAssignment</execution-type>
</action>
</actions>
<assignments>
<user />
</assignments>
<transitions>
<transition>
<name>submit</name>
<target>review</target>
</transition>
</transitions>
</task>
WWW.LIFERAY.COM WWW.FACEBOOK.COOM/LIFERAY @LIFERAY
Workflow definition part 3
<task>
<name>review</name>
<actions>
<notification>
<name>Review Notification</name>
<template>You have a new submission waiting
for your review in the workflow.</template>
<template-language>text</template-language>
<notification-type>email</notification-type>
<execution-type>onAssignment</execution-type>
</notification>
</actions>
<assignments>
<roles>
<role>
<role-type>regular</role-type>
<name>Application Reviewer</name>
</role>
</roles>
</assignments>
<!-- left out the transitions -->
</task>
WWW.LIFERAY.COM WWW.FACEBOOK.COOM/LIFERAY @LIFERAY
Workflow definition part 4
<state>
<name>approved</name>
<actions>
<action>
<name>approve</name>
<script>
<![CDATA[
Packages.com.liferay.portal.kernel.workflow.WorkflowStatusManagerUtil.
updateStatus(
Packages.com.liferay.portal.kernel.workflow.WorkflowConstants.
toStatus("approved"), workflowContext);]]>
</script>
<script-language>javascript</script-language>
<execution-type>onEntry</execution-type>
</action>
</actions>
</state>
</workflow-definition>
WWW.LIFERAY.COM WWW.FACEBOOK.COOM/LIFERAY @LIFERAY
Demo app
Extremely simplified version of customer case
CreateApplication portlet to apply for a grant
ListApplication portlet to display overview of
applications
DEMO
WWW.LIFERAY.COM WWW.FACEBOOK.COOM/LIFERAY @LIFERAY
How to apply a workflow to a custom asset
your portlet app
WorkflowHandler
workflow engine
WWW.LIFERAY.COM WWW.FACEBOOK.COOM/LIFERAY @LIFERAY
Workflow handler declaration
In liferay-portlet.xml add the following to your
portlet:
<portlet>
..
<workflow-handler>
demo.workflow.ApplicationWorkflowHandler
</workflow-handler>
..
</portlet>
WWW.LIFERAY.COM WWW.FACEBOOK.COOM/LIFERAY @LIFERAY
Workflow handler
public abstract interface WorkflowHandler {
public String getClassName();
public abstract java.lang.Object updateStatus(
int status, Map workflowContext)
throws PortalException, SystemException;
// more...
}
WWW.LIFERAY.COM WWW.FACEBOOK.COOM/LIFERAY @LIFERAY
Workflow handler implementation
@Override
public Object updateStatus(int status, Map<String, Serializable>
workflowContext)
throws PortalException, SystemException {
Object applicationId =
workflowContext.get(WorkflowConstants.CONTEXT_ENTRY_CLASS_PK);
long appId = Long.parseLong(applicationId.toString());
Application application =
ApplicationLocalServiceUtil.fetchApplication(appId);
application.setStatus(status);
return ApplicationLocalServiceUtil.updateApplication(application);
}
WWW.LIFERAY.COM WWW.FACEBOOK.COOM/LIFERAY @LIFERAY
Workflow handler invocation
<action>
<name>submit</name>
<script>
<![CDATA[
Packages.com.liferay.portal.kernel.workflow.
WorkflowStatusManagerUtil.updateStatus(
Packages.com.liferay.portal.kernel.workflow.
WorkflowConstants.toStatus("pending"), workflowContext);
]]>
</script>
<script-language>javascript</script-language>
<execution-type>onAssignment</execution-type>
</action>
WWW.LIFERAY.COM WWW.FACEBOOK.COOM/LIFERAY @LIFERAY
How to start the workflow
ServiceContext serviceContext =
ServiceContextFactory.getInstance(
Application.class.getName(), request);
Map<String, Serializable> context = new HashMap<String, Serializable>();
context.put(WorkflowConstants.CONTEXT_ENTRY_CLASS_NAME,
Application.class.getName());
context.put(WorkflowConstants.CONTEXT_ENTRY_CLASS_PK,
Long.toString(app.getApplicationId()));
context.put(WorkflowConstants.CONTEXT_SERVICE_CONTEXT,
serviceContext);
WorkflowInstanceManagerUtil.startWorkflowInstance(
companyId,
groupId,
userId,
workflowDefinitionName,
workflowDefinitionVersion,
phase,
context);
WWW.LIFERAY.COM WWW.FACEBOOK.COOM/LIFERAY @LIFERAY
How to move the workflow
WorkflowTaskManagerUtil.completeWorkflowTask(
companyId,
owningUserId,
workflowTaskId,
nextPhase, // "submit" or "reject" or ..
"comment",
context
);
WWW.LIFERAY.COM WWW.FACEBOOK.COOM/LIFERAY @LIFERAY
How to assign a task to a user
WorkflowTaskManagerUtil.assignWorkflowTaskToUser(
companyId,
userId, // owner
workflowTaskId,
userId, // assignee
"comment",
dueDate,
context // can be an empty Map
);
WWW.LIFERAY.COM WWW.FACEBOOK.COOM/LIFERAY @LIFERAY
How to re-assign a task to another user
long[] userIds = WorkflowTaskManagerUtil.getPooledActorsIds(
companyId,
workflowTaskId
);
WWW.LIFERAY.COM WWW.FACEBOOK.COOM/LIFERAY @LIFERAY
Integration with Orbeon XForms
Orbeon Forms Builder & Forms Runner
Proxy portlet to execute the form runner
Combination with workflow
WWW.LIFERAY.COM WWW.FACEBOOK.COOM/LIFERAY @LIFERAY
Orbeon Xforms Builder
Insert User Group
Logo (please resize)
WWW.LIFERAY.COM WWW.FACEBOOK.COOM/LIFERAY @LIFERAY
Integration with Orbeon - architecture
Insert User Group
Logo (please resize)
application group page
proxy portlet
custom portlet
(drives workflow)
javascript
WWW.LIFERAY.COM WWW.FACEBOOK.COOM/LIFERAY @LIFERAY
Integration with Orbeon - demo
DEMO
WWW.LIFERAY.COM WWW.FACEBOOK.COOM/LIFERAY @LIFERAY
Things to like about Kaleo workflow
Nice, deep integration with Liferay (users, roles)
Control panel access to workflow tasks
Simplicity
WWW.LIFERAY.COM WWW.FACEBOOK.COOM/LIFERAY @LIFERAY
Room for improvement
Extensibility
- limited to scripting in workflow definition
Flexibility
- can't change definition once a workflow has started
Thread safety
- workflow engine is thread UNsafe
Error recovery
- What's wrong with my XML?
WWW.LIFERAY.COM WWW.FACEBOOK.COOM/LIFERAY @LIFERAY
Questions?
@willemvermeer
For more information on Orbeon please visit orbeon.com

More Related Content

What's hot

XPages Mobile, #dd13
XPages Mobile, #dd13XPages Mobile, #dd13
Workflow Management with Espresso Workflow
Workflow Management with Espresso WorkflowWorkflow Management with Espresso Workflow
Workflow Management with Espresso Workflow
Rolf Kremer
 
Workflow for XPages
Workflow for XPagesWorkflow for XPages
Workflow for XPages
Niklas Heidloff
 
Single page apps_with_cf_and_angular[1]
Single page apps_with_cf_and_angular[1]Single page apps_with_cf_and_angular[1]
Single page apps_with_cf_and_angular[1]
ColdFusionConference
 
Peoplesoft technical consultant interview questions
Peoplesoft technical consultant interview questionsPeoplesoft technical consultant interview questions
Peoplesoft technical consultant interview questions
Sandeep Sharma IIMK Smart City,IoT,Bigdata,Cloud,BI,DW
 
Migration of Existing Web Applications to OSGi at Eclipse Summit Europe 2010
Migration of Existing Web Applications to OSGi at Eclipse Summit Europe 2010Migration of Existing Web Applications to OSGi at Eclipse Summit Europe 2010
Migration of Existing Web Applications to OSGi at Eclipse Summit Europe 2010
Diyan Yordanov
 
Yii Introduction
Yii IntroductionYii Introduction
Yii Introduction
Jason Ragsdale
 
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow ConceptsOracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Chris Muir
 
Weblogic 12c experiences - migrations from iAS-platform
Weblogic 12c experiences - migrations from iAS-platformWeblogic 12c experiences - migrations from iAS-platform
Weblogic 12c experiences - migrations from iAS-platform
Jon Petter Hjulstad
 
JSF 2.0 Preview
JSF 2.0 PreviewJSF 2.0 Preview
JSF 2.0 Preview
Skills Matter
 
Building Multi-Tenant and SaaS products in PHP - CloudConf 2015
Building Multi-Tenant and SaaS products in PHP - CloudConf 2015Building Multi-Tenant and SaaS products in PHP - CloudConf 2015
Building Multi-Tenant and SaaS products in PHP - CloudConf 2015
Innomatic Platform
 
Support Tools für die Admin-Konsole - Nebil Kisa, Advanced Support Engineer
Support Tools für die Admin-Konsole - Nebil Kisa, Advanced Support EngineerSupport Tools für die Admin-Konsole - Nebil Kisa, Advanced Support Engineer
Support Tools für die Admin-Konsole - Nebil Kisa, Advanced Support Engineer
Nicole Szigeti
 
Liferay Portal Customizing to Business Needs
Liferay Portal Customizing to Business NeedsLiferay Portal Customizing to Business Needs
Liferay Portal Customizing to Business Needs
InfoAxon Technologies Limited
 
Oracle ADF Overview for Beginners
Oracle ADF Overview for BeginnersOracle ADF Overview for Beginners
Oracle ADF Overview for Beginners
Jithin Kuriakose
 
Modular applications with montage components
Modular applications with montage componentsModular applications with montage components
Modular applications with montage components
Benoit Marchant
 
People soft workflow by surya
People soft workflow by surya People soft workflow by surya
People soft workflow by surya
Surya Prakash Reddy
 
Spring
SpringSpring
JahiaOne 2015 - External user/group providers in Digital Factory 7.1
JahiaOne 2015 - External user/group providers in Digital Factory 7.1JahiaOne 2015 - External user/group providers in Digital Factory 7.1
JahiaOne 2015 - External user/group providers in Digital Factory 7.1
Jahia Solutions Group
 
The Web Framework Dream Team
The Web Framework Dream TeamThe Web Framework Dream Team
The Web Framework Dream Team
Johan Eltes
 
Oracle ADF Architecture TV - Design - ADF BC Application Module Design
Oracle ADF Architecture TV - Design - ADF BC Application Module DesignOracle ADF Architecture TV - Design - ADF BC Application Module Design
Oracle ADF Architecture TV - Design - ADF BC Application Module Design
Chris Muir
 

What's hot (20)

XPages Mobile, #dd13
XPages Mobile, #dd13XPages Mobile, #dd13
XPages Mobile, #dd13
 
Workflow Management with Espresso Workflow
Workflow Management with Espresso WorkflowWorkflow Management with Espresso Workflow
Workflow Management with Espresso Workflow
 
Workflow for XPages
Workflow for XPagesWorkflow for XPages
Workflow for XPages
 
Single page apps_with_cf_and_angular[1]
Single page apps_with_cf_and_angular[1]Single page apps_with_cf_and_angular[1]
Single page apps_with_cf_and_angular[1]
 
Peoplesoft technical consultant interview questions
Peoplesoft technical consultant interview questionsPeoplesoft technical consultant interview questions
Peoplesoft technical consultant interview questions
 
Migration of Existing Web Applications to OSGi at Eclipse Summit Europe 2010
Migration of Existing Web Applications to OSGi at Eclipse Summit Europe 2010Migration of Existing Web Applications to OSGi at Eclipse Summit Europe 2010
Migration of Existing Web Applications to OSGi at Eclipse Summit Europe 2010
 
Yii Introduction
Yii IntroductionYii Introduction
Yii Introduction
 
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow ConceptsOracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
 
Weblogic 12c experiences - migrations from iAS-platform
Weblogic 12c experiences - migrations from iAS-platformWeblogic 12c experiences - migrations from iAS-platform
Weblogic 12c experiences - migrations from iAS-platform
 
JSF 2.0 Preview
JSF 2.0 PreviewJSF 2.0 Preview
JSF 2.0 Preview
 
Building Multi-Tenant and SaaS products in PHP - CloudConf 2015
Building Multi-Tenant and SaaS products in PHP - CloudConf 2015Building Multi-Tenant and SaaS products in PHP - CloudConf 2015
Building Multi-Tenant and SaaS products in PHP - CloudConf 2015
 
Support Tools für die Admin-Konsole - Nebil Kisa, Advanced Support Engineer
Support Tools für die Admin-Konsole - Nebil Kisa, Advanced Support EngineerSupport Tools für die Admin-Konsole - Nebil Kisa, Advanced Support Engineer
Support Tools für die Admin-Konsole - Nebil Kisa, Advanced Support Engineer
 
Liferay Portal Customizing to Business Needs
Liferay Portal Customizing to Business NeedsLiferay Portal Customizing to Business Needs
Liferay Portal Customizing to Business Needs
 
Oracle ADF Overview for Beginners
Oracle ADF Overview for BeginnersOracle ADF Overview for Beginners
Oracle ADF Overview for Beginners
 
Modular applications with montage components
Modular applications with montage componentsModular applications with montage components
Modular applications with montage components
 
People soft workflow by surya
People soft workflow by surya People soft workflow by surya
People soft workflow by surya
 
Spring
SpringSpring
Spring
 
JahiaOne 2015 - External user/group providers in Digital Factory 7.1
JahiaOne 2015 - External user/group providers in Digital Factory 7.1JahiaOne 2015 - External user/group providers in Digital Factory 7.1
JahiaOne 2015 - External user/group providers in Digital Factory 7.1
 
The Web Framework Dream Team
The Web Framework Dream TeamThe Web Framework Dream Team
The Web Framework Dream Team
 
Oracle ADF Architecture TV - Design - ADF BC Application Module Design
Oracle ADF Architecture TV - Design - ADF BC Application Module DesignOracle ADF Architecture TV - Design - ADF BC Application Module Design
Oracle ADF Architecture TV - Design - ADF BC Application Module Design
 

Viewers also liked

Curso Liferay 6.2: Unidad Didáctica 05 Workflow
Curso Liferay 6.2: Unidad Didáctica 05 WorkflowCurso Liferay 6.2: Unidad Didáctica 05 Workflow
Curso Liferay 6.2: Unidad Didáctica 05 Workflow
David Vaquero
 
Curso Liferay 6.2: Unidad Didáctica 06 Gestion de Documentos
Curso Liferay 6.2: Unidad Didáctica 06 Gestion de DocumentosCurso Liferay 6.2: Unidad Didáctica 06 Gestion de Documentos
Curso Liferay 6.2: Unidad Didáctica 06 Gestion de Documentos
David Vaquero
 
あなたのコードに ハナマルを。- 〜 ぼっち開発でも出来る
プラグインテスト初めの一歩(仮) -
あなたのコードに ハナマルを。-  〜 ぼっち開発でも出来る
プラグインテスト初めの一歩(仮) -あなたのコードに ハナマルを。-  〜 ぼっち開発でも出来る
プラグインテスト初めの一歩(仮) -
あなたのコードに ハナマルを。- 〜 ぼっち開発でも出来る
プラグインテスト初めの一歩(仮) -
akiko_pusu
 
ある工場はこれでRedmineバージョンアップを決意した
ある工場はこれでRedmineバージョンアップを決意したある工場はこれでRedmineバージョンアップを決意した
ある工場はこれでRedmineバージョンアップを決意した
Kohei Nakamura
 
Redmineの9年間の歩みを振り返ってみる
Redmineの9年間の歩みを振り返ってみるRedmineの9年間の歩みを振り返ってみる
Redmineの9年間の歩みを振り返ってみる
Go Maeda
 
jus研究会名古屋大会「Redmineでプロジェクトを【見える化】しよう!」
jus研究会名古屋大会「Redmineでプロジェクトを【見える化】しよう!」jus研究会名古屋大会「Redmineでプロジェクトを【見える化】しよう!」
jus研究会名古屋大会「Redmineでプロジェクトを【見える化】しよう!」
Taku Yajima
 
開発環境の認証を改善して Redmineを社内標準にした話
開発環境の認証を改善して Redmineを社内標準にした話開発環境の認証を改善して Redmineを社内標準にした話
開発環境の認証を改善して Redmineを社内標準にした話
Ryou Soda
 
Redmineのバージョンアップに追従していくための一工夫
Redmineのバージョンアップに追従していくための一工夫Redmineのバージョンアップに追従していくための一工夫
Redmineのバージョンアップに追従していくための一工夫
Go Maeda
 
講演1 redmineの簡易crmとしての活用事例r2
講演1 redmineの簡易crmとしての活用事例r2講演1 redmineの簡易crmとしての活用事例r2
講演1 redmineの簡易crmとしての活用事例r2
Hidehisa Matsutani
 
Redmine 10周年記念 10年ふりかえり
Redmine 10周年記念 10年ふりかえりRedmine 10周年記念 10年ふりかえり
Redmine 10周年記念 10年ふりかえり
Go Maeda
 
Unofficial Redmine Cookingの紹介
Unofficial Redmine Cookingの紹介Unofficial Redmine Cookingの紹介
Unofficial Redmine Cookingの紹介
Yuuki Nara
 
Redmineを快適に使うためのおすすめ初期設定
Redmineを快適に使うためのおすすめ初期設定Redmineを快適に使うためのおすすめ初期設定
Redmineを快適に使うためのおすすめ初期設定
Go Maeda
 
情報システム部門のタスク管理とIT全般統制 ~ Excel管理からの脱却 ~ (ITS Redmine #RxTstudy #5)
情報システム部門のタスク管理とIT全般統制 ~ Excel管理からの脱却 ~ (ITS Redmine #RxTstudy #5)情報システム部門のタスク管理とIT全般統制 ~ Excel管理からの脱却 ~ (ITS Redmine #RxTstudy #5)
情報システム部門のタスク管理とIT全般統制 ~ Excel管理からの脱却 ~ (ITS Redmine #RxTstudy #5)
Kuniharu(州晴) AKAHANE(赤羽根)
 

Viewers also liked (14)

Curso Liferay 6.2: Unidad Didáctica 05 Workflow
Curso Liferay 6.2: Unidad Didáctica 05 WorkflowCurso Liferay 6.2: Unidad Didáctica 05 Workflow
Curso Liferay 6.2: Unidad Didáctica 05 Workflow
 
Curso Liferay 6.2: Unidad Didáctica 06 Gestion de Documentos
Curso Liferay 6.2: Unidad Didáctica 06 Gestion de DocumentosCurso Liferay 6.2: Unidad Didáctica 06 Gestion de Documentos
Curso Liferay 6.2: Unidad Didáctica 06 Gestion de Documentos
 
あなたのコードに ハナマルを。- 〜 ぼっち開発でも出来る
プラグインテスト初めの一歩(仮) -
あなたのコードに ハナマルを。-  〜 ぼっち開発でも出来る
プラグインテスト初めの一歩(仮) -あなたのコードに ハナマルを。-  〜 ぼっち開発でも出来る
プラグインテスト初めの一歩(仮) -
あなたのコードに ハナマルを。- 〜 ぼっち開発でも出来る
プラグインテスト初めの一歩(仮) -
 
ある工場はこれでRedmineバージョンアップを決意した
ある工場はこれでRedmineバージョンアップを決意したある工場はこれでRedmineバージョンアップを決意した
ある工場はこれでRedmineバージョンアップを決意した
 
Redmineの9年間の歩みを振り返ってみる
Redmineの9年間の歩みを振り返ってみるRedmineの9年間の歩みを振り返ってみる
Redmineの9年間の歩みを振り返ってみる
 
jus研究会名古屋大会「Redmineでプロジェクトを【見える化】しよう!」
jus研究会名古屋大会「Redmineでプロジェクトを【見える化】しよう!」jus研究会名古屋大会「Redmineでプロジェクトを【見える化】しよう!」
jus研究会名古屋大会「Redmineでプロジェクトを【見える化】しよう!」
 
開発環境の認証を改善して Redmineを社内標準にした話
開発環境の認証を改善して Redmineを社内標準にした話開発環境の認証を改善して Redmineを社内標準にした話
開発環境の認証を改善して Redmineを社内標準にした話
 
Redmineのバージョンアップに追従していくための一工夫
Redmineのバージョンアップに追従していくための一工夫Redmineのバージョンアップに追従していくための一工夫
Redmineのバージョンアップに追従していくための一工夫
 
講演1 redmineの簡易crmとしての活用事例r2
講演1 redmineの簡易crmとしての活用事例r2講演1 redmineの簡易crmとしての活用事例r2
講演1 redmineの簡易crmとしての活用事例r2
 
Redmine 10周年記念 10年ふりかえり
Redmine 10周年記念 10年ふりかえりRedmine 10周年記念 10年ふりかえり
Redmine 10周年記念 10年ふりかえり
 
Unofficial Redmine Cookingの紹介
Unofficial Redmine Cookingの紹介Unofficial Redmine Cookingの紹介
Unofficial Redmine Cookingの紹介
 
Redmineを快適に使うためのおすすめ初期設定
Redmineを快適に使うためのおすすめ初期設定Redmineを快適に使うためのおすすめ初期設定
Redmineを快適に使うためのおすすめ初期設定
 
情報システム部門のタスク管理とIT全般統制 ~ Excel管理からの脱却 ~ (ITS Redmine #RxTstudy #5)
情報システム部門のタスク管理とIT全般統制 ~ Excel管理からの脱却 ~ (ITS Redmine #RxTstudy #5)情報システム部門のタスク管理とIT全般統制 ~ Excel管理からの脱却 ~ (ITS Redmine #RxTstudy #5)
情報システム部門のタスク管理とIT全般統制 ~ Excel管理からの脱却 ~ (ITS Redmine #RxTstudy #5)
 
運用業務でのRedmine
運用業務でのRedmine運用業務でのRedmine
運用業務でのRedmine
 

Similar to Liferay Devcon Presentation on Dynamic Forms with Liferay Workflow

Maxim Salnikov - Service Worker: taking the best from the past experience for...
Maxim Salnikov - Service Worker: taking the best from the past experience for...Maxim Salnikov - Service Worker: taking the best from the past experience for...
Maxim Salnikov - Service Worker: taking the best from the past experience for...
Codemotion
 
Breaking SAP portal (HackerHalted)
Breaking SAP portal (HackerHalted)Breaking SAP portal (HackerHalted)
Breaking SAP portal (HackerHalted)
ERPScan
 
The JavaFX Ecosystem
The JavaFX EcosystemThe JavaFX Ecosystem
The JavaFX Ecosystem
Andres Almiray
 
Autosys Trainer CV
Autosys Trainer CVAutosys Trainer CV
Autosys Trainer CV
DS gupta
 
WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...
Fabio Franzini
 
jQuery for web development
jQuery for web developmentjQuery for web development
jQuery for web development
iFour Institute - Sustainable Learning
 
vJUG - The JavaFX Ecosystem
vJUG - The JavaFX EcosystemvJUG - The JavaFX Ecosystem
vJUG - The JavaFX Ecosystem
Andres Almiray
 
Customizing Oracle EBS OA Framework
Customizing Oracle EBS OA FrameworkCustomizing Oracle EBS OA Framework
Customizing Oracle EBS OA Framework
iWare Logic Technologies Pvt. Ltd.
 
Building workflow solution with Microsoft Azure and Cloud | Integration Monday
Building workflow solution with Microsoft Azure and Cloud | Integration MondayBuilding workflow solution with Microsoft Azure and Cloud | Integration Monday
Building workflow solution with Microsoft Azure and Cloud | Integration Monday
BizTalk360
 
Rich Portlet Development in uPortal
Rich Portlet Development in uPortalRich Portlet Development in uPortal
Rich Portlet Development in uPortal
Jennifer Bourey
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
Software Park Thailand
 
Java Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
Java Web Programming on Google Cloud Platform [3/3] : Google Web ToolkitJava Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
Java Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
IMC Institute
 
2015 JavaOne LAD JSF 2.3 & MVC 1.0
2015 JavaOne LAD JSF 2.3 & MVC 1.02015 JavaOne LAD JSF 2.3 & MVC 1.0
2015 JavaOne LAD JSF 2.3 & MVC 1.0
mnriem
 
HTML5 on Mobile
HTML5 on MobileHTML5 on Mobile
HTML5 on Mobile
Adam Lu
 
The JavaFX Ecosystem
The JavaFX EcosystemThe JavaFX Ecosystem
The JavaFX Ecosystem
Andres Almiray
 
The Google App Engine Oil Framework
The Google App Engine Oil FrameworkThe Google App Engine Oil Framework
The Google App Engine Oil Framework
Eric ShangKuan
 
An Introduction to GAEO web framework
An Introduction to GAEO web frameworkAn Introduction to GAEO web framework
An Introduction to GAEO web framework
Eric ShangKuan
 
Breaking SAP portal (DeepSec)
Breaking SAP portal (DeepSec)Breaking SAP portal (DeepSec)
Breaking SAP portal (DeepSec)
ERPScan
 
Os Haase
Os HaaseOs Haase
Os Haase
oscon2007
 
Breaking SAP portal (HashDays)
Breaking SAP portal (HashDays)Breaking SAP portal (HashDays)
Breaking SAP portal (HashDays)
ERPScan
 

Similar to Liferay Devcon Presentation on Dynamic Forms with Liferay Workflow (20)

Maxim Salnikov - Service Worker: taking the best from the past experience for...
Maxim Salnikov - Service Worker: taking the best from the past experience for...Maxim Salnikov - Service Worker: taking the best from the past experience for...
Maxim Salnikov - Service Worker: taking the best from the past experience for...
 
Breaking SAP portal (HackerHalted)
Breaking SAP portal (HackerHalted)Breaking SAP portal (HackerHalted)
Breaking SAP portal (HackerHalted)
 
The JavaFX Ecosystem
The JavaFX EcosystemThe JavaFX Ecosystem
The JavaFX Ecosystem
 
Autosys Trainer CV
Autosys Trainer CVAutosys Trainer CV
Autosys Trainer CV
 
WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...
 
jQuery for web development
jQuery for web developmentjQuery for web development
jQuery for web development
 
vJUG - The JavaFX Ecosystem
vJUG - The JavaFX EcosystemvJUG - The JavaFX Ecosystem
vJUG - The JavaFX Ecosystem
 
Customizing Oracle EBS OA Framework
Customizing Oracle EBS OA FrameworkCustomizing Oracle EBS OA Framework
Customizing Oracle EBS OA Framework
 
Building workflow solution with Microsoft Azure and Cloud | Integration Monday
Building workflow solution with Microsoft Azure and Cloud | Integration MondayBuilding workflow solution with Microsoft Azure and Cloud | Integration Monday
Building workflow solution with Microsoft Azure and Cloud | Integration Monday
 
Rich Portlet Development in uPortal
Rich Portlet Development in uPortalRich Portlet Development in uPortal
Rich Portlet Development in uPortal
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
Java Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
Java Web Programming on Google Cloud Platform [3/3] : Google Web ToolkitJava Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
Java Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
 
2015 JavaOne LAD JSF 2.3 & MVC 1.0
2015 JavaOne LAD JSF 2.3 & MVC 1.02015 JavaOne LAD JSF 2.3 & MVC 1.0
2015 JavaOne LAD JSF 2.3 & MVC 1.0
 
HTML5 on Mobile
HTML5 on MobileHTML5 on Mobile
HTML5 on Mobile
 
The JavaFX Ecosystem
The JavaFX EcosystemThe JavaFX Ecosystem
The JavaFX Ecosystem
 
The Google App Engine Oil Framework
The Google App Engine Oil FrameworkThe Google App Engine Oil Framework
The Google App Engine Oil Framework
 
An Introduction to GAEO web framework
An Introduction to GAEO web frameworkAn Introduction to GAEO web framework
An Introduction to GAEO web framework
 
Breaking SAP portal (DeepSec)
Breaking SAP portal (DeepSec)Breaking SAP portal (DeepSec)
Breaking SAP portal (DeepSec)
 
Os Haase
Os HaaseOs Haase
Os Haase
 
Breaking SAP portal (HashDays)
Breaking SAP portal (HashDays)Breaking SAP portal (HashDays)
Breaking SAP portal (HashDays)
 

Recently uploaded

Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
Ajin Abraham
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
DianaGray10
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
operationspcvita
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Neo4j
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
Pablo Gómez Abajo
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
Jason Yip
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
Ivo Velitchkov
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
Neo4j
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Principle of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptxPrinciple of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptx
BibashShahi
 

Recently uploaded (20)

Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Principle of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptxPrinciple of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptx
 

Liferay Devcon Presentation on Dynamic Forms with Liferay Workflow