15
戸谷 2014 © Alfresco勉強会#25 ワークフロー(入門編) 2014.12.17

Alfresco勉強会#25 ワークフロー入門

Embed Size (px)

Citation preview

Page 1: Alfresco勉強会#25 ワークフロー入門

戸谷

2014©

Alfresco勉強会#25ワークフロー(入門編)

2014.12.17

Page 2: Alfresco勉強会#25 ワークフロー入門

2014.12.17 2014©

はじめに

2

●勉強会でワークフローについてちゃんと取り上げた会が今までなかった(気がする)。●細かい所までは一回では無理なので今日は入門編

●使用するAlfrescoバージョン●Community Edition 4.2.f

Page 3: Alfresco勉強会#25 ワークフロー入門

2014.12.17 2014©

Alfrescoのワークフロー

3

2種類のワークフロー

シンプルワークフロー (アドバンスト)ワークフロー●コンテンツの格納場所=ワークフローの状態●フォームなし●1コンテンツ=1ワークフローインスタンスに対応

●BPMエンジン(Activiti)を使用●開始や承認時のフォームを定義●1インスタンスは0個以上のコンテンツを含む

デモ

Page 4: Alfresco勉強会#25 ワークフロー入門

2014.12.17 2014©

シンプルワークフロー

4

動作イメージ

作り方

デモ

●スペースにシンプルワークフローのルールを定義

●2段階のワークフロー定義

Content初期格納スペース

承認待ちスペース

承認済みスペース

1)承認依頼

2)承認3)却下

Page 5: Alfresco勉強会#25 ワークフロー入門

2014.12.17 2014©

(アドバンスト)ワークフロー

5

動作イメージ

Alfresco

Content

BPMエンジン

ContentContent

W/Fインスタンス プロセス定義

Page 6: Alfresco勉強会#25 ワークフロー入門

2014.12.17 2014©

(アドバンスト)ワークフロー入門①

6

新規W/F作成が必要なもの

ワークフロー定義ファイル(BPMNファイル)

ワークフロー定義登録Spring Contextファイル

ワークフローモデル(Alfrescoのリポジトリモデル定義

言語リソース(モデル用)

ワークフローフォーム定義(share-config-custom.xmlへの追記)

言語リソース(Share用)

通常は作成するが既存のリソースの流用も可能

作成必須

Page 7: Alfresco勉強会#25 ワークフロー入門

2014.12.17 2014©

(アドバンスト)ワークフロー入門②

7

開発環境準備●Eclipseにactiviti-designer-5.15.0をインストール●以下URLからzipファイルをダウンロード●http://activiti.org/designer/archived/●Eclipseの”help”→”Install New Software”からzipファイルをインストール

Page 8: Alfresco勉強会#25 ワークフロー入門

2014.12.17 2014©

(アドバンスト)ワークフロー入門③

8

作成するワークフロー●フォーム定義やモデルは既存のものを流用●2段階のワークフロー

担当者: プロセス開始時に指定

担当者: ‘demo2‘ユーザを固定で指定

承認 承認

却下 却下

担当者: プロセス開始者

Page 9: Alfresco勉強会#25 ワークフロー入門

2014.12.17 2014©

(アドバンスト)ワークフロー入門④

9

フォームの指定●AlfrescoStartEventやAlfrescoUserTaskを選択するとForm Keyを選択できる。

Page 10: Alfresco勉強会#25 ワークフロー入門

2014.12.17 2014©

(アドバンスト)ワークフロー入門⑤

10

担当者の指定●Performer typeをAssigneeを指定。●Expressionにユーザ名を記述●開始時のフォームで指定した担当者ユーザObj: bpm_assignee●ワークフローを開始したユーザObj: initiator

Page 11: Alfresco勉強会#25 ワークフロー入門

2014.12.17 2014©

(アドバンスト)ワークフロー入門⑥

11

遷移分岐の実現●タスクフォーム内に保持された遷移値を保持する変数をワークフローのスコープで保存する。●遷移内に条件を記述する。

Page 12: Alfresco勉強会#25 ワークフロー入門

2014.12.17 2014©

(アドバンスト)ワークフロー入門⑦

12

spring contextファイル作成

<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>

<beans> <bean id="stduy25demowf-workflowBootstrap" parent="workflowDeployer"> <property name="workflowDefinitions"> <list> <props> <prop key="engineId">activiti</prop> <prop key="location">alfresco/extension/Study25DemoWf.bpmn</prop> <prop key="mimetype">text/xml</prop> <prop key="redeploy">true</prop> </props> </list> </property> </bean></beans>

Page 13: Alfresco勉強会#25 ワークフロー入門

2014.12.17 2014©

(アドバンスト)ワークフロー入門⑧

13

デプロイ●プロジェクトをビルドした結果生成されるjarファイルをtomcat/lib以下にコピーしてAlfrescoを再起動

動作確認

コード

h t t p s : //g i t h u b . c o m /t o 2 y/A l f r e s c o S t u d y/t r e e /m a s t e r/AlfrescoStudy25WorkflowDemo

Page 14: Alfresco勉強会#25 ワークフロー入門

2014.12.17 2014©

まとめ

14

●2つのワークフロー●アドバンストワークフロー●BPMNの表現力を利用可能●多少の開発スキルが必要

●応用編があるとすれば...●複数の担当者を指定する方法●説明を省略したその他のファイルの記述方法●BPMNの各要素の意味と使い方●ワークフロー内からのリポジトリ操作 etc

Page 15: Alfresco勉強会#25 ワークフロー入門