You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2018/09/25 12:32:07 UTC

[09/34] syncope git commit: [SYNCOPE-1369] Flowable support refactored as extension + code review (now with variable cleanup)

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/approvals/Approval_ja.properties
----------------------------------------------------------------------
diff --git a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/approvals/Approval_ja.properties b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/approvals/Approval_ja.properties
new file mode 100644
index 0000000..5a9cc2d
--- /dev/null
+++ b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/approvals/Approval_ja.properties
@@ -0,0 +1,18 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+userDetails=\u30e6\u30fc\u30b6\u30fc\u8a73\u7d30
+userForm=\u30e6\u30fc\u30b6\u30fc\u3092\u7de8\u96c6

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/approvals/Approval_pt_BR.properties
----------------------------------------------------------------------
diff --git a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/approvals/Approval_pt_BR.properties b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/approvals/Approval_pt_BR.properties
new file mode 100644
index 0000000..00a8971
--- /dev/null
+++ b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/approvals/Approval_pt_BR.properties
@@ -0,0 +1,18 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+userDetails=Detalhes do Usu\u00e1rio
+userForm=Detalhes do Usu\u00e1rio

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/approvals/Approval_ru.properties
----------------------------------------------------------------------
diff --git a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/approvals/Approval_ru.properties b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/approvals/Approval_ru.properties
new file mode 100644
index 0000000..02c159a
--- /dev/null
+++ b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/approvals/Approval_ru.properties
@@ -0,0 +1,20 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+# userDetails=\u00d0\u0098\u00d0\u00bd\u00d1\u0084\u00d0\u00be\u00d1\u0080\u00d0\u00bc\u00d0\u00b0\u00d1\u0086\u00d0\u00b8\u00d1\u008f \u00d0\u00be \u00d0\u00bf\u00d0\u00be\u00d0\u00bb\u00d1\u008c\u00d0\u00b7\u00d0\u00be\u00d0\u00b2\u00d0\u00b0\u00d1\u0082\u00d0\u00b5\u00d0\u00bb\u00d0\u00b5
+userDetails=\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435
+userForm=\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Approvals.html
----------------------------------------------------------------------
diff --git a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Approvals.html b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Approvals.html
new file mode 100644
index 0000000..5bf6234
--- /dev/null
+++ b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Approvals.html
@@ -0,0 +1,35 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
+  <wicket:extend>
+    <section class="content-header">
+      <h1>&nbsp;</h1>
+      <ol class="breadcrumb">
+        <li><a wicket:id="dashboardBr"><i class="fa fa-dashboard"></i> <wicket:message key="dashboard">[DASHBOARD]</wicket:message></a></li>
+        <li class="active"><wicket:message key="approvals"/></li>
+      </ol>
+    </section>
+
+    <section class="content" wicket:id="content">
+      <div class="box">
+        <div class="box-body" wicket:id="wfPanel"/>
+      </div>
+    </section>
+  </wicket:extend>
+</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Approvals.properties
----------------------------------------------------------------------
diff --git a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Approvals.properties b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Approvals.properties
new file mode 100644
index 0000000..1ea8063
--- /dev/null
+++ b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Approvals.properties
@@ -0,0 +1,34 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+taskId=Task
+key=Key
+description=Description
+createTime=Create Time
+dueDate=Due Date
+owner=Owner
+claim=Claim
+manage=Manage
+approvals=Approvals
+delete=Delete
+type=Type
+username=Username
+new_user=New User
+creationDate = Creation Date
+claimDate = Claim Dare
+approval.edit=Approval Edit
+approval.manage=Approval Manage
+any.edit=Edit ${anyTO.type} ${anyTO.username}

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Approvals_it.properties
----------------------------------------------------------------------
diff --git a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Approvals_it.properties b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Approvals_it.properties
new file mode 100644
index 0000000..7e12ce5
--- /dev/null
+++ b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Approvals_it.properties
@@ -0,0 +1,34 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+taskId=Task
+key=Chiave
+description=Descrizione
+createTime=Data di creazione
+dueDate=Scadenza
+owner=Esecutore
+claim=Richiedi
+manage=Gestisci
+approvals=Approvazioni
+delete=Rimuovi
+type=Tipo
+username=Utente
+new_user=Nuovo utente
+creationDate = Data creazione
+claimDate = Data rivendicazione
+approval.manage=Gestisci Approvazione
+approval.edit=Modifica Approvazione
+any.edit=Edit ${anyTO.type} ${anyTO.username}

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Approvals_ja.properties
----------------------------------------------------------------------
diff --git a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Approvals_ja.properties b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Approvals_ja.properties
new file mode 100644
index 0000000..b2ff626
--- /dev/null
+++ b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Approvals_ja.properties
@@ -0,0 +1,34 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+taskId=\u30bf\u30b9\u30af
+key=\u30ad\u30fc
+description=\u8aac\u660e
+createTime=\u4f5c\u6210\u6642\u523b
+dueDate=\u671f\u9650
+owner=\u30aa\u30fc\u30ca\u30fc
+claim=\u7533\u8acb
+manage=\u7ba1\u7406
+approvals=\u627f\u8a8d
+delete=\u524a\u9664
+type=\u30bf\u30a4\u30d7
+username=\u30e6\u30fc\u30b6\u30fc\u540d
+new_user=\u65b0\u3057\u3044\u30e6\u30fc\u30b6\u30fc
+creationDate = \u4f5c\u6210\u65e5
+claimDate = \u7533\u8acb\u65e5
+approval.edit=\u627f\u8a8d \u7de8\u96c6
+approval.manage=\u627f\u8a8d \u7ba1\u7406
+any.edit=${anyTO.type} ${anyTO.username} \u3092\u7de8\u96c6

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Approvals_pt_BR.properties
----------------------------------------------------------------------
diff --git a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Approvals_pt_BR.properties b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Approvals_pt_BR.properties
new file mode 100644
index 0000000..e5ff74c
--- /dev/null
+++ b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Approvals_pt_BR.properties
@@ -0,0 +1,34 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+taskId=Tarefa
+key=Chave
+description=Descri\u00e7\u00e3o
+createTime=Tempo de Cria\u00e7\u00e3o
+dueDate=Data acordada
+owner=Propriet\u00e1rio
+claim=Requerimento
+manage=Ger\u00eancia
+approvals=Aprova\u00e7\u00f5es
+delete=Excluir
+type=Tipo
+username=Usu\u00e1rio
+new_user=Novo Usu\u00e1rio
+creationDate = Data de cria\u00e7\u00e3o
+claimDate = Data de reivindica\u00e7\u00e3o
+approval.manage=Aprova\u00e7\u00e3o
+approval.edit=Aprova\u00e7\u00e3o
+any.edit=Edit ${anyTO.type} ${anyTO.username}

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Approvals_ru.properties
----------------------------------------------------------------------
diff --git a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Approvals_ru.properties b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Approvals_ru.properties
new file mode 100644
index 0000000..6f4fb58
--- /dev/null
+++ b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Approvals_ru.properties
@@ -0,0 +1,52 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+# taskId=\u00d0\u0097\u00d0\u00b0\u00d1\u008f\u00d0\u00b2\u00d0\u00ba\u00d0\u00b0
+taskId=\u0417\u0430\u044f\u0432\u043a\u0430
+# key=\u00d0\u0098\u00d0\u00b4\u00d0\u00b5\u00d0\u00bd\u00d1\u0082\u00d0\u00b8\u00d1\u0084\u00d0\u00b8\u00d0\u00ba\u00d0\u00b0\u00d1\u0082\u00d0\u00be\u00d1\u0080
+key=\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440
+# description=\u00d0\u009e\u00d0\u00bf\u00d0\u00b8\u00d1\u0081\u00d0\u00b0\u00d0\u00bd\u00d0\u00b8\u00d0\u00b5
+description=\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435
+# createTime=\u00d0\u0094\u00d0\u00b0\u00d1\u0082\u00d0\u00b0 \u00d1\u0081\u00d0\u00be\u00d0\u00b7\u00d0\u00b4\u00d0\u00b0\u00d0\u00bd\u00d0\u00b8\u00d1\u008f
+createTime=\u0414\u0430\u0442\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f
+# dueDate=\u00d0\u00a1\u00d1\u0080\u00d0\u00be\u00d0\u00ba
+dueDate=\u0421\u0440\u043e\u043a
+# owner=\u00d0\u0092\u00d0\u00bb\u00d0\u00b0\u00d0\u00b4\u00d0\u00b5\u00d0\u00bb\u00d0\u00b5\u00d1\u0086
+owner=\u0412\u043b\u0430\u0434\u0435\u043b\u0435\u0446
+# claim=\u00d0\u0092\u00d1\u008b\u00d0\u00bf\u00d0\u00be\u00d0\u00bb\u00d0\u00bd\u00d0\u00b8\u00d1\u0082\u00d1\u008c \u00d1\u0081\u00d0\u00be\u00d0\u00b3\u00d0\u00bb\u00d0\u00b0\u00d1\u0081\u00d0\u00be\u00d0\u00b2\u00d0\u00b0\u00d0\u00bd\u00d0\u00b8\u00d0\u00b5
+claim=\u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u0435
+# manage=\u00d0\u00a3\u00d0\u00bf\u00d1\u0080\u00d0\u00b0\u00d0\u00b2\u00d0\u00bb\u00d0\u00b5\u00d0\u00bd\u00d0\u00b8\u00d0\u00b5
+manage=\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435
+# approvals=\u00d0\u0097\u00d0\u00b0\u00d1\u008f\u00d0\u00b2\u00d0\u00ba\u00d0\u00b8
+approvals=\u0417\u0430\u044f\u0432\u043a\u0438
+# delete=\u00d0\u00a3\u00d0\u00b4\u00d0\u00b0\u00d0\u00bb\u00d0\u00b8\u00d1\u0082\u00d1\u008c
+delete=\u0423\u0434\u0430\u043b\u0438\u0442\u044c
+# type=\u00d0\u00a2\u00d0\u00b8\u00d0\u00bf
+type=\u0422\u0438\u043f
+# username=\u00d0\u0098\u00d0\u00bc\u00d1\u008f \u00d0\u00bf\u00d0\u00be\u00d0\u00bb\u00d1\u008c\u00d0\u00b7\u00d0\u00be\u00d0\u00b2\u00d0\u00b0\u00d1\u0082\u00d0\u00b5\u00d0\u00bb\u00d1\u008f
+username=\u0418\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f
+# new_user=\u00d0\u00a1\u00d0\u00be\u00d0\u00b7\u00d0\u00b4\u00d0\u00b0\u00d0\u00bd\u00d0\u00b8\u00d0\u00b5 \u00d0\u00bf\u00d0\u00be\u00d0\u00bb\u00d1\u008c\u00d0\u00b7\u00d0\u00be\u00d0\u00b2\u00d0\u00b0\u00d1\u0082\u00d0\u00b5\u00d0\u00bb\u00d1\u008f
+new_user=\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f
+# creationDate=\u00d0\u0094\u00d0\u00b0\u00d1\u0082\u00d0\u00b0 \u00d1\u0081\u00d0\u00be\u00d0\u00b7\u00d0\u00b4\u00d0\u00b0\u00d0\u00bd\u00d0\u00b8\u00d1\u008f
+creationDate=\u0414\u0430\u0442\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f
+# claimDate=\u00d0\u0094\u00d0\u00b0\u00d1\u0082\u00d0\u00b0 \u00d0\u00bd\u00d0\u00b0\u00d1\u0087\u00d0\u00b0\u00d0\u00bb\u00d0\u00b0 \u00d1\u0081\u00d0\u00be\u00d0\u00b3\u00d0\u00bb\u00d0\u00b0\u00d1\u0081\u00d0\u00be\u00d0\u00b2\u00d0\u00b0\u00d0\u00bd\u00d0\u00b8\u00d1\u008f
+claimDate=\u0414\u0430\u0442\u0430 \u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u044f
+# approval.edit=\u00d0\u00a1\u00d0\u00be\u00d0\u00b3\u00d0\u00bb\u00d0\u00b0\u00d1\u0081\u00d0\u00be\u00d0\u00b2\u00d0\u00b0\u00d0\u00bd\u00d0\u00b8\u00d0\u00b5
+approval.edit=\u0421\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u0435
+# approval.manage=\u00d0\u00a1\u00d0\u00be\u00d0\u00b3\u00d0\u00bb\u00d0\u00b0\u00d1\u0081\u00d0\u00be\u00d0\u00b2\u00d0\u00b0\u00d0\u00bd\u00d0\u00b8\u00d0\u00b5
+approval.manage=\u0421\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u0435
+any.edit=Edit ${anyTO.type} ${anyTO.username}

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Flowable.html
----------------------------------------------------------------------
diff --git a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Flowable.html b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Flowable.html
new file mode 100644
index 0000000..b23fab0
--- /dev/null
+++ b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Flowable.html
@@ -0,0 +1,37 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
+  <wicket:extend>
+    <section class="content-header">
+      <h1>&nbsp;</h1>
+      <ol class="breadcrumb">
+        <li><a wicket:id="dashboardBr"><i class="fa fa-dashboard"></i> <wicket:message key="dashboard"/></a></li>
+        <li class="active"><wicket:message key="extensions"/></li>
+        <li class="active">Flowable</li>
+      </ol>
+    </section>
+
+    <section class="content" wicket:id="content">
+      <span wicket:id="disabled"><i><wicket:message key="disabled"/></i></span>
+      <div class="box">
+        <div class="box-body" wicket:id="bpmnProcessesPanel"/>
+      </div>
+    </section>
+  </wicket:extend>
+</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Flowable.properties
----------------------------------------------------------------------
diff --git a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Flowable.properties b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Flowable.properties
new file mode 100644
index 0000000..5b088d6
--- /dev/null
+++ b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Flowable.properties
@@ -0,0 +1,19 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+xmlEditorTitle=Workflow XML Editor
+userWorkflow=User workflow
+external_editor.title=Flowable Modeler

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/FlowableModelerPopupPage.html
----------------------------------------------------------------------
diff --git a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/FlowableModelerPopupPage.html b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/FlowableModelerPopupPage.html
new file mode 100644
index 0000000..e1afe72
--- /dev/null
+++ b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/FlowableModelerPopupPage.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<html>
+  <head>
+    <title>Apache Syncope / Flowable Modeler</title>
+
+    <meta http-equiv="refresh" content="0; url=../../flowable-modeler/modeler.html"/>
+  </head>
+  <body>
+  </body>
+</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Flowable_it.properties
----------------------------------------------------------------------
diff --git a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Flowable_it.properties b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Flowable_it.properties
new file mode 100644
index 0000000..37fd859
--- /dev/null
+++ b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Flowable_it.properties
@@ -0,0 +1,19 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+xmlEditorTitle=Workflow XML Editor
+userWorkflow=Workflow utenti
+external_editor.title=Flowable Modeler

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Flowable_ja.properties
----------------------------------------------------------------------
diff --git a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Flowable_ja.properties b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Flowable_ja.properties
new file mode 100644
index 0000000..e811544
--- /dev/null
+++ b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Flowable_ja.properties
@@ -0,0 +1,19 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+xmlEditorTitle=\u30ef\u30fc\u30af\u30d5\u30ed\u30fc XML \u30a8\u30c7\u30a3\u30bf\u30fc
+userWorkflow=User workflow
+external_editor.title=Flowable Modeler

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Flowable_pt_BR.properties
----------------------------------------------------------------------
diff --git a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Flowable_pt_BR.properties b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Flowable_pt_BR.properties
new file mode 100644
index 0000000..5b088d6
--- /dev/null
+++ b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Flowable_pt_BR.properties
@@ -0,0 +1,19 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+xmlEditorTitle=Workflow XML Editor
+userWorkflow=User workflow
+external_editor.title=Flowable Modeler

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Flowable_ru.properties
----------------------------------------------------------------------
diff --git a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Flowable_ru.properties b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Flowable_ru.properties
new file mode 100644
index 0000000..515fa3a
--- /dev/null
+++ b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/pages/Flowable_ru.properties
@@ -0,0 +1,19 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+xmlEditorTitle=XML \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u044f
+userWorkflow=User workflow
+external_editor.title=Flowable Modeler

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/panels/BpmnProcessDirectoryPanel.html
----------------------------------------------------------------------
diff --git a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/panels/BpmnProcessDirectoryPanel.html b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/panels/BpmnProcessDirectoryPanel.html
new file mode 100644
index 0000000..a755298
--- /dev/null
+++ b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/panels/BpmnProcessDirectoryPanel.html
@@ -0,0 +1,23 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
+  <wicket:extend>
+    <span wicket:id="newBpmnProcess"/>
+  </wicket:extend>
+</html>

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/panels/NewBpmnProcess.html
----------------------------------------------------------------------
diff --git a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/panels/NewBpmnProcess.html b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/panels/NewBpmnProcess.html
new file mode 100644
index 0000000..6197d5a
--- /dev/null
+++ b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/panels/NewBpmnProcess.html
@@ -0,0 +1,32 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
+  <wicket:extend>
+    <div id="startAtContainer">
+      <form wicket:id="form">
+        <div class="input-group">
+          <input wicket:id="key"/>
+          <div class="input-group-addon">
+            <a wicket:id="submit"><i class="fa fa-file-o" alt="new" title="new"></i></a>
+          </div>
+        </div>
+      </form>
+    </div>
+  </wicket:extend>
+</html>

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/panels/empty.bpmn20.xml
----------------------------------------------------------------------
diff --git a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/panels/empty.bpmn20.xml b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/panels/empty.bpmn20.xml
new file mode 100644
index 0000000..5943197
--- /dev/null
+++ b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/panels/empty.bpmn20.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" 
+             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+             xmlns:flowable="http://flowable.org/bpmn"
+             xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" 
+             xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" 
+             xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" 
+             typeLanguage="http://www.w3.org/2001/XMLSchema" 
+             expressionLanguage="http://www.w3.org/1999/XPath" 
+             targetNamespace="http://www.flowable.org/processdef">
+
+  <process id="%KEY%" name="%KEY%" isExecutable="true">
+    <startEvent id="startevent1" name="Start"></startEvent>
+    <endEvent id="endevent1" name="End"></endEvent>
+    <sequenceFlow id="flow1" sourceRef="startevent1" targetRef="endevent1"></sequenceFlow>
+  </process>
+  <bpmndi:BPMNDiagram id="BPMNDiagram_myProcess">
+    <bpmndi:BPMNPlane bpmnElement="myProcess" id="BPMNPlane_myProcess">
+      <bpmndi:BPMNShape bpmnElement="startevent1" id="BPMNShape_startevent1">
+        <omgdc:Bounds height="35.0" width="35.0" x="180.0" y="110.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="endevent1" id="BPMNShape_endevent1">
+        <omgdc:Bounds height="35.0" width="35.0" x="460.0" y="110.0"></omgdc:Bounds>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
+        <omgdi:waypoint x="215.0" y="127.0"></omgdi:waypoint>
+        <omgdi:waypoint x="460.0" y="127.0"></omgdi:waypoint>
+      </bpmndi:BPMNEdge>
+    </bpmndi:BPMNPlane>
+  </bpmndi:BPMNDiagram>
+</definitions>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget.properties
----------------------------------------------------------------------
diff --git a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget.properties b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget.properties
new file mode 100644
index 0000000..dd5b98f
--- /dev/null
+++ b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget.properties
@@ -0,0 +1,21 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+alerts.view.all=View all approvals
+duedate=Due date
+owner=Owner
+createApproval=Create Approval
+summary=${number} pending approval(s)

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget_it.properties
----------------------------------------------------------------------
diff --git a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget_it.properties b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget_it.properties
new file mode 100644
index 0000000..7b2287e
--- /dev/null
+++ b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget_it.properties
@@ -0,0 +1,21 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+alerts.view.all=Tutte le approvazioni
+duedate=Scadenza
+owner=Assegnato
+createApproval=Approvazione Creazione
+summary=${number} approvazioni pendenti

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget_ja.properties
----------------------------------------------------------------------
diff --git a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget_ja.properties b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget_ja.properties
new file mode 100644
index 0000000..a6089eb
--- /dev/null
+++ b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget_ja.properties
@@ -0,0 +1,21 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+alerts.view.all=\u3059\u3079\u3066\u306e\u627f\u8a8d\u3092\u8868\u793a
+duedate=\u671f\u9650
+owner=\u30aa\u30fc\u30ca\u30fc
+createApproval=\u627f\u8a8d\u3092\u4f5c\u6210
+summary=${number} \u4fdd\u7559\u306e\u627f\u8a8d

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget_pt_BR.properties
----------------------------------------------------------------------
diff --git a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget_pt_BR.properties b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget_pt_BR.properties
new file mode 100644
index 0000000..c24f3d8
--- /dev/null
+++ b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget_pt_BR.properties
@@ -0,0 +1,21 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+alerts.view.all=View all Approvals
+duedate=Due date
+owner=Owner
+createApproval=Create Approval
+summary=${number} pending approval(s)

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget_ru.properties
----------------------------------------------------------------------
diff --git a/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget_ru.properties b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget_ru.properties
new file mode 100644
index 0000000..10281ff
--- /dev/null
+++ b/ext/flowable/client-console/src/main/resources/org/apache/syncope/client/console/widgets/ApprovalsWidget_ru.properties
@@ -0,0 +1,22 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+alerts.view.all=\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432\u0441\u0435 \u0437\u0430\u044f\u0432\u043a\u0438
+duedate=\u0421\u0440\u043e\u043a
+owner=\u0412\u043b\u0430\u0434\u0435\u043b\u0435\u0446
+createApproval=\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0437\u0430\u044f\u0432\u043a\u0443
+summary=\u041e\u0436\u0438\u0434\u0430\u044e\u0442 \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u044f: ${number}

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/client-console/src/main/resources/save-model.html
----------------------------------------------------------------------
diff --git a/ext/flowable/client-console/src/main/resources/save-model.html b/ext/flowable/client-console/src/main/resources/save-model.html
new file mode 100644
index 0000000..abd5ecf
--- /dev/null
+++ b/ext/flowable/client-console/src/main/resources/save-model.html
@@ -0,0 +1,132 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<div class="modal" ng-controller="SaveModelCtrl">
+  <div class="modal-dialog">
+    <div class="modal-content">
+      <div class="modal-header">
+        <h2>{{'MODEL.SAVE.TITLE'| translate}}</h2>
+      </div>
+      <div class="modal-body">
+        <div ng-if="saveDialog.errorMessage && saveDialog.errorMessage.length > 0" class="alert error" style="font-size: 14px; margin-top:20px">
+          <div class="popup-error" style="font-size: 14px">
+            <span class="glyphicon glyphicon-remove-circle"></span>
+            <span>{{saveDialog.errorMessage}}</span>
+          </div>
+        </div>
+        <div class="form-group">
+          <label for="nameField">{{'MODEL.NAME'| translate}}</label>
+          <input type="text"
+                 ng-disabled="status.loading || (error && error.conflictResolveAction == 'saveAs')"
+                 id="nameField"
+                 class="form-control"
+                 ng-model="saveDialog.name" readonly="readonly"
+                 auto-focus />
+        </div>
+        <div class="form-group" style="display: none">
+          <label for="keyField">{{'MODEL.KEY'| translate}}</label>
+          <input type="text"
+                 ng-disabled="status.loading || (error && error.conflictResolveAction == 'saveAs')"
+                 id="keyField"
+                 class="form-control"
+                 ng-model="saveDialog.key" ng-init="saveDialog.key = saveDialog.name"/>
+        </div>
+        <div class="form-group" style="display: none">
+          <label for="docTextArea">{{'MODEL.DESCRIPTION'| translate}}</label>
+          <textarea id="docTextArea" ng-disabled="status.loading" class="form-control" ng-model="saveDialog.description"></textarea>
+        </div>
+        <div class="checkbox" ng-show="!error && !error.isConflict" style="display: none">
+          <label>
+            <input type="checkbox" ng-disabled="status.loading" ng-model="saveDialog.newVersion" >
+            {{'MODEL.SAVE.NEWVERSION'| translate}}
+          </label>
+        </div>
+        <div class="form-group" ng-if="saveDialog.newVersion">
+          <label for="commentTextArea">{{'MODEL.SAVE.COMMENT'| translate}}</label>
+          <textarea id="commentTextArea" class="form-control" ng-model="saveDialog.comment" ng-disabled="status.loading"></textarea>
+        </div>
+
+        <div ng-if="saveDialog.validationErrors" class="alert error" style="font-size: 14px; margin-top:20px">
+
+          <div class="popup-error" style="font-size: 14px">
+            <span class="glyphicon glyphicon-remove-circle"></span>
+            <span>{{'MODEL.VALIDATIONERRORS'| translate:error}}</span>
+          </div>
+        </div>
+
+        <div ng-if="error && error.isConflict && !status.loading" class="alert error" style="font-size: 14px; margin-top:20px">
+
+          <div class="popup-error" style="font-size: 14px">
+            <span class="glyphicon glyphicon-remove-circle"></span>
+            <span>{{'MODEL.CONFLICT.WRITE'| translate:error}}</span>
+          </div>
+
+          <div>
+
+            <div style="font-size: 14px; margin-bottom: 10px">{{'MODEL.CONFLICT.WRITE.OPTIONS'| translate}}</div>
+            <div class="btn-group" data-toggle="buttons">
+              <label class="btn btn-danger"
+                     ng-click="error.conflictResolveAction = 'overwrite'">
+                <input type="radio" name="options" id="option1">
+                {{'MODEL.CONFLICT.WRITE.OPTION.OVERWRITE'| translate}}
+              </label>
+              <label class="btn btn-danger"
+                     ng-click="error.conflictResolveAction = 'discardChanges'">
+                <input type="radio" name="options" id="option2">
+                {{'MODEL.CONFLICT.WRITE.OPTION.DISCARDCHANGES'| translate}}
+              </label>
+              <label class="btn btn-danger"
+                     ng-click="error.conflictResolveAction = 'saveAs'">
+                <input type="radio" name="options" id="option3" ng-disabled="account.type != 'enterprise'">
+                {{'MODEL.CONFLICT.WRITE.OPTION.SAVEAS'| translate}}
+              </label>
+              <label class="btn btn-danger"
+                     ng-click="error.conflictResolveAction = 'newVersion'">
+                <input type="radio" name="options" id="optio43">
+                {{'MODEL.CONFLICT.WRITE.OPTION.NEWVERSION'| translate}}
+              </label>
+            </div>
+
+            <div ng-if="error.conflictResolveAction == 'saveAs'" style="margin-top: 10px">
+              <span>{{'MODEL.CONFLICT.SAVEAS'| translate}}</span>
+              <input type="text" ng-model="error.saveAs" style="width: 300px" auto-focus>
+            </div>
+          </div>
+
+        </div>
+
+      </div>
+      <div class="modal-footer">
+
+        <div class="pull-right">
+          <button type="button" class="btn" ng-click="close()" ng-disabled="status.loading" translate>ACTION.CANCEL</button>
+          <button class="btn btn-primary" ng-click="saveAndClose()" ng-disabled="status.loading || saveDialog.name.length == 0 || saveDialog.key.length == 0" ng-show="!error && !error.isConflict" translate>ACTION.SAVE-AND-CLOSE</button>
+          <button class="btn btn-primary" ng-click="save()" ng-disabled="status.loading || saveDialog.name.length == 0 || saveDialog.key.length == 0" ng-show="!error && !error.isConflict" style="display: none" translate>ACTION.SAVE</button>
+          <button class="btn btn-primary" ng-click="okClicked()" ng-disabled="isOkButtonDisabled()" ng-show="error && error.isConflict" translate>ACTION.OK</button>
+        </div>
+
+        <div class="pull-right popup-error" ng-if="error && !error.isConflict">
+          <span>{{'MODEL.SAVE.ERROR'| translate}}</span>
+        </div>
+
+        <loading></loading>
+
+      </div>
+    </div>
+  </div>
+</div>

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/client-console/src/main/resources/toolbar.js
----------------------------------------------------------------------
diff --git a/ext/flowable/client-console/src/main/resources/toolbar.js b/ext/flowable/client-console/src/main/resources/toolbar.js
new file mode 100644
index 0000000..920718c
--- /dev/null
+++ b/ext/flowable/client-console/src/main/resources/toolbar.js
@@ -0,0 +1,181 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+'use strict';
+
+var FLOWABLE = FLOWABLE || {};
+FLOWABLE.TOOLBAR_CONFIG = {
+    "items" : [
+        {
+            "type" : "button",
+            "title" : "TOOLBAR.ACTION.SAVE",
+            "cssClass" : "editor-icon editor-icon-save",
+            "action" : "FLOWABLE.TOOLBAR.ACTIONS.saveModel"
+        },
+        {
+            "type" : "separator",
+            "title" : "",
+            "cssClass" : "toolbar-separator"
+        },
+        {
+            "type" : "button",
+            "title" : "TOOLBAR.ACTION.CUT",
+            "cssClass" : "editor-icon editor-icon-cut",
+            "action" : "FLOWABLE.TOOLBAR.ACTIONS.cut",
+            "enabled" : false,
+            "enabledAction" : "element"
+        },
+        {
+            "type" : "button",
+            "title" : "TOOLBAR.ACTION.COPY",
+            "cssClass" : "editor-icon editor-icon-copy",
+            "action" : "FLOWABLE.TOOLBAR.ACTIONS.copy",
+            "enabled" : false,
+            "enabledAction" : "element"
+        },
+        {
+            "type" : "button",
+            "title" : "TOOLBAR.ACTION.PASTE",
+            "cssClass" : "editor-icon editor-icon-paste",
+            "action" : "FLOWABLE.TOOLBAR.ACTIONS.paste",
+            "enabled" : false
+        },
+        {
+            "type" : "button",
+            "title" : "TOOLBAR.ACTION.DELETE",
+            "cssClass" : "editor-icon editor-icon-delete",
+            "action" : "FLOWABLE.TOOLBAR.ACTIONS.deleteItem",
+            "enabled" : false,
+            "enabledAction" : "element"
+        },
+        {
+            "type" : "separator",
+            "title" : "TOOLBAR.ACTION.SAVE",
+            "cssClass" : "toolbar-separator"
+        },
+        {
+            "type" : "button",
+            "title" : "TOOLBAR.ACTION.REDO",
+            "cssClass" : "editor-icon editor-icon-redo",
+            "action" : "FLOWABLE.TOOLBAR.ACTIONS.redo",
+            "enabled" : false
+        },
+        {
+            "type" : "button",
+            "title" : "TOOLBAR.ACTION.UNDO",
+            "cssClass" : "editor-icon editor-icon-undo",
+            "action" : "FLOWABLE.TOOLBAR.ACTIONS.undo",
+            "enabled" : false
+        },
+        {
+            "type" : "separator",
+            "title" : "TOOLBAR.ACTION.SAVE",
+            "cssClass" : "toolbar-separator"
+        },
+        {
+            "type" : "button",
+            "title" : "TOOLBAR.ACTION.ALIGNVERTICAL",
+            "cssClass" : "editor-icon editor-icon-align-vertical",
+            "action" : "FLOWABLE.TOOLBAR.ACTIONS.alignVertical",
+            "enabled" : false,
+            "enabledAction" : "element",
+            "disableInForm" : true,
+            "minSelectionCount" : 2
+        },
+        {
+            "type" : "button",
+            "title" : "TOOLBAR.ACTION.ALIGNHORIZONTAL",
+            "cssClass" : "editor-icon editor-icon-align-horizontal",
+            "action" : "FLOWABLE.TOOLBAR.ACTIONS.alignHorizontal",
+            "enabledAction" : "element",
+            "enabled" : false,
+            "disableInForm" : true,
+            "minSelectionCount" : 2
+        },
+        {
+            "type" : "button",
+            "title" : "TOOLBAR.ACTION.SAMESIZE",
+            "cssClass" : "editor-icon editor-icon-same-size",
+            "action" : "FLOWABLE.TOOLBAR.ACTIONS.sameSize",
+            "enabledAction" : "element",
+            "enabled" : false,
+            "disableInForm" : true,
+            "minSelectionCount" : 2
+        },
+        {
+        	"type" : "separator",
+        	"title" : "TOOLBAR.ACTION.SAVE",
+        	"cssClass" : "toolbar-separator",
+        	"disableInForm" : true
+        },
+        {
+            "type" : "button",
+            "title" : "TOOLBAR.ACTION.ZOOMIN",
+            "cssClass" : "editor-icon editor-icon-zoom-in",
+            "action" : "FLOWABLE.TOOLBAR.ACTIONS.zoomIn"
+        },
+        {
+            "type" : "button",
+            "title" : "TOOLBAR.ACTION.ZOOMOUT",
+            "cssClass" : "editor-icon editor-icon-zoom-out",
+            "action" : "FLOWABLE.TOOLBAR.ACTIONS.zoomOut"
+        },
+        {
+            "type" : "button",
+            "title" : "TOOLBAR.ACTION.ZOOMACTUAL",
+            "cssClass" : "editor-icon editor-icon-zoom-actual",
+            "action" : "FLOWABLE.TOOLBAR.ACTIONS.zoomActual"
+        },
+        {
+            "type" : "button",
+            "title" : "TOOLBAR.ACTION.ZOOMFIT",
+            "cssClass" : "editor-icon editor-icon-zoom-fit",
+            "action" : "FLOWABLE.TOOLBAR.ACTIONS.zoomFit"
+        },
+        {
+            "type" : "separator",
+            "title" : "TOOLBAR.ACTION.SAVE",
+            "cssClass" : "toolbar-separator",
+            "disableInForm" : true
+        },
+    	{
+            "type" : "button",
+            "title" : "TOOLBAR.ACTION.BENDPOINT.ADD",
+            "cssClass" : "editor-icon editor-icon-bendpoint-add",
+            "action" : "FLOWABLE.TOOLBAR.ACTIONS.addBendPoint",
+            "id" : "add-bendpoint-button",
+            "disableInForm" : true
+    	},
+    	{
+    	    "type" : "button",
+    	    "title" : "TOOLBAR.ACTION.BENDPOINT.REMOVE",
+    	    "cssClass" : "editor-icon editor-icon-bendpoint-remove",
+    	    "action" : "FLOWABLE.TOOLBAR.ACTIONS.removeBendPoint",
+    	    "id" : "remove-bendpoint-button",
+    	    "disableInForm" : true
+    	},
+        {
+            "type" : "separator",
+            "title": "",
+            "cssClass" : "toolbar-separator",
+            "disableInForm" : true
+        }
+    ],
+    
+    "secondaryItems" : []
+};

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/client-console/src/main/resources/url-config.js
----------------------------------------------------------------------
diff --git a/ext/flowable/client-console/src/main/resources/url-config.js b/ext/flowable/client-console/src/main/resources/url-config.js
new file mode 100644
index 0000000..392d470
--- /dev/null
+++ b/ext/flowable/client-console/src/main/resources/url-config.js
@@ -0,0 +1,39 @@
+/* Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+var FLOWABLE = FLOWABLE || {};
+
+FLOWABLE.URL = {
+
+    getModel: function(modelId) {
+    return window.location.toString().substr(0, window.location.toString().indexOf('/flowable-modeler'))
+            + "/bpmnProcessGET?modelId=" + modelId;
+    },
+
+    getStencilSet: function() {
+    return window.location.toString().substr(0, window.location.toString().indexOf('/flowable-modeler'))
+            + "/flowable-modeler/stencilset_bpmn.json";
+    },
+    
+    getCmmnStencilSet: function() {
+        return FLOWABLE.CONFIG.contextRoot + '/app/rest/stencil-sets/cmmneditor?version=' + Date.now();
+    },
+
+    putModel: function(modelId) {
+    return window.location.toString().substr(0, window.location.toString().indexOf('/flowable-modeler'))
+            + "/bpmnProcessPUT?modelId=" + modelId;
+    },
+    
+    validateModel: function(){
+		return FLOWABLE.CONFIG.contextRoot + '/app/rest/model/validate';
+    }
+};

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/common-lib/pom.xml
----------------------------------------------------------------------
diff --git a/ext/flowable/common-lib/pom.xml b/ext/flowable/common-lib/pom.xml
new file mode 100644
index 0000000..04ffeb7
--- /dev/null
+++ b/ext/flowable/common-lib/pom.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.syncope.ext</groupId>
+    <artifactId>syncope-ext-flowable</artifactId>
+    <version>3.0.0-SNAPSHOT</version>
+  </parent>
+
+  <name>Apache Syncope Ext: Flowable Common Lib</name>
+  <description>Apache Syncope Ext: Flowable Common Lib</description>
+  <groupId>org.apache.syncope.ext.flowable</groupId>
+  <artifactId>syncope-ext-flowable-common-lib</artifactId>
+  <packaging>jar</packaging>
+  
+  <properties>
+    <rootpom.basedir>${basedir}/../../..</rootpom.basedir>
+  </properties>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.syncope.common</groupId>
+      <artifactId>syncope-common-lib</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-checkstyle-plugin</artifactId>
+      </plugin>
+    </plugins>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/to/BpmnProcessTO.java
----------------------------------------------------------------------
diff --git a/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/to/BpmnProcessTO.java b/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/to/BpmnProcessTO.java
new file mode 100644
index 0000000..bb67e3e
--- /dev/null
+++ b/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/to/BpmnProcessTO.java
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.common.lib.to;
+
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.apache.syncope.common.lib.AbstractBaseBean;
+
+@XmlRootElement(name = "bpmnProcess")
+@XmlType
+public class BpmnProcessTO extends AbstractBaseBean implements EntityTO {
+
+    private static final long serialVersionUID = -7044543391316529128L;
+
+    private String key;
+
+    private String modelId;
+
+    private String name;
+
+    private boolean userWorkflow;
+
+    @Override
+    public String getKey() {
+        return key;
+    }
+
+    @Override
+    public void setKey(final String key) {
+        this.key = key;
+    }
+
+    public String getModelId() {
+        return modelId;
+    }
+
+    public void setModelId(final String modelId) {
+        this.modelId = modelId;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(final String name) {
+        this.name = name;
+    }
+
+    public boolean isUserWorkflow() {
+        return userWorkflow;
+    }
+
+    public void setUserWorkflow(final boolean userWorkflow) {
+        this.userWorkflow = userWorkflow;
+    }
+}

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/to/UserRequestForm.java
----------------------------------------------------------------------
diff --git a/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/to/UserRequestForm.java b/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/to/UserRequestForm.java
new file mode 100644
index 0000000..897cfc0
--- /dev/null
+++ b/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/to/UserRequestForm.java
@@ -0,0 +1,147 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.common.lib.to;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Optional;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElementWrapper;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.apache.syncope.common.lib.AbstractBaseBean;
+import org.apache.syncope.common.lib.patch.UserPatch;
+
+@XmlRootElement(name = "userRequestForm")
+@XmlType
+public class UserRequestForm extends AbstractBaseBean {
+
+    private static final long serialVersionUID = -7044543391316529128L;
+
+    private String username;
+
+    private String taskId;
+
+    private String formKey;
+
+    private Date createTime;
+
+    private Date dueDate;
+
+    private String owner;
+
+    private UserTO userTO;
+
+    private UserPatch userPatch;
+
+    private final List<UserRequestFormProperty> properties = new ArrayList<>();
+
+    public String getUsername() {
+        return username;
+    }
+
+    public void setUsername(final String username) {
+        this.username = username;
+    }
+
+    public String getTaskId() {
+        return taskId;
+    }
+
+    public void setTaskId(final String taskId) {
+        this.taskId = taskId;
+    }
+
+    public String getFormKey() {
+        return formKey;
+    }
+
+    public void setFormKey(final String formKey) {
+        this.formKey = formKey;
+    }
+
+    public Date getCreateTime() {
+        if (createTime != null) {
+            return new Date(createTime.getTime());
+        }
+        return null;
+    }
+
+    public void setCreateTime(final Date createTime) {
+        if (createTime != null) {
+            this.createTime = new Date(createTime.getTime());
+        } else {
+            this.createTime = null;
+        }
+    }
+
+    public Date getDueDate() {
+        if (dueDate != null) {
+            return new Date(dueDate.getTime());
+        }
+        return null;
+    }
+
+    public void setDueDate(final Date dueDate) {
+        if (dueDate != null) {
+            this.dueDate = new Date(dueDate.getTime());
+        } else {
+            this.dueDate = null;
+        }
+    }
+
+    public String getOwner() {
+        return owner;
+    }
+
+    public void setOwner(final String owner) {
+        this.owner = owner;
+    }
+
+    public UserTO getUserTO() {
+        return userTO;
+    }
+
+    public void setUserTO(final UserTO userTO) {
+        this.userTO = userTO;
+    }
+
+    public UserPatch getUserPatch() {
+        return userPatch;
+    }
+
+    public void setUserPatch(final UserPatch userPatch) {
+        this.userPatch = userPatch;
+    }
+
+    @JsonIgnore
+    public Optional<UserRequestFormProperty> getProperty(final String id) {
+        return properties.stream().filter(property -> id.equals(property.getId())).findFirst();
+    }
+
+    @XmlElementWrapper(name = "workflowFormProperties")
+    @XmlElement(name = "workflowFormProperty")
+    @JsonProperty("workflowFormProperties")
+    public List<UserRequestFormProperty> getProperties() {
+        return properties;
+    }
+}

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/to/UserRequestFormProperty.java
----------------------------------------------------------------------
diff --git a/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/to/UserRequestFormProperty.java b/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/to/UserRequestFormProperty.java
new file mode 100644
index 0000000..0a431c6
--- /dev/null
+++ b/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/to/UserRequestFormProperty.java
@@ -0,0 +1,124 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.common.lib.to;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.HashMap;
+import java.util.Map;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import org.apache.syncope.common.lib.AbstractBaseBean;
+import org.apache.syncope.common.lib.jaxb.XmlGenericMapAdapter;
+import org.apache.syncope.common.lib.types.UserRequestFormPropertyType;
+
+@XmlRootElement(name = "userRequestFormProperty")
+@XmlType
+public class UserRequestFormProperty extends AbstractBaseBean {
+
+    private static final long serialVersionUID = 9139969592634304261L;
+
+    private String id;
+
+    private String name;
+
+    private UserRequestFormPropertyType type;
+
+    private boolean readable;
+
+    private boolean writable;
+
+    private boolean required;
+
+    private String datePattern;
+
+    @XmlJavaTypeAdapter(XmlGenericMapAdapter.class)
+    private final Map<String, String> enumValues = new HashMap<>();
+
+    private String value;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(final String id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(final String name) {
+        this.name = name;
+    }
+
+    public boolean isReadable() {
+        return readable;
+    }
+
+    public void setReadable(final boolean readable) {
+        this.readable = readable;
+    }
+
+    public boolean isRequired() {
+        return required;
+    }
+
+    public void setRequired(final boolean required) {
+        this.required = required;
+    }
+
+    public UserRequestFormPropertyType getType() {
+        return type;
+    }
+
+    public void setType(final UserRequestFormPropertyType type) {
+        this.type = type;
+    }
+
+    public boolean isWritable() {
+        return writable;
+    }
+
+    public void setWritable(final boolean writable) {
+        this.writable = writable;
+    }
+
+    public String getDatePattern() {
+        return datePattern;
+    }
+
+    public void setDatePattern(final String datePattern) {
+        this.datePattern = datePattern;
+    }
+
+    @JsonProperty
+    public Map<String, String> getEnumValues() {
+        return enumValues;
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+    public void setValue(final String value) {
+        this.value = value;
+    }
+}

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/to/UserRequestTO.java
----------------------------------------------------------------------
diff --git a/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/to/UserRequestTO.java b/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/to/UserRequestTO.java
new file mode 100644
index 0000000..d5fad6c
--- /dev/null
+++ b/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/to/UserRequestTO.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.common.lib.to;
+
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.apache.syncope.common.lib.AbstractBaseBean;
+
+@XmlRootElement(name = "userRequest")
+@XmlType
+public class UserRequestTO extends AbstractBaseBean {
+
+    private static final long serialVersionUID = -8430826310789942133L;
+
+    private String processInstanceId;
+
+    private String executionId;
+
+    private String bpmnProcess;
+
+    private String user;
+
+    public String getProcessInstanceId() {
+        return processInstanceId;
+    }
+
+    public void setProcessInstanceId(final String processInstanceId) {
+        this.processInstanceId = processInstanceId;
+    }
+
+    public String getExecutionId() {
+        return executionId;
+    }
+
+    public void setExecutionId(final String executionId) {
+        this.executionId = executionId;
+    }
+
+    public String getBpmnProcess() {
+        return bpmnProcess;
+    }
+
+    public void setBpmnProcess(final String bpmnProcess) {
+        this.bpmnProcess = bpmnProcess;
+    }
+
+    public String getUser() {
+        return user;
+    }
+
+    public void setUser(final String user) {
+        this.user = user;
+    }
+}

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/to/WorkflowTask.java
----------------------------------------------------------------------
diff --git a/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/to/WorkflowTask.java b/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/to/WorkflowTask.java
new file mode 100644
index 0000000..6b712ab
--- /dev/null
+++ b/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/to/WorkflowTask.java
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.common.lib.to;
+
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.apache.syncope.common.lib.AbstractBaseBean;
+
+@XmlRootElement(name = "workflowTask")
+@XmlType
+public class WorkflowTask extends AbstractBaseBean {
+
+    private static final long serialVersionUID = -3095016727396210808L;
+
+    private String name;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(final String name) {
+        this.name = name;
+    }
+}

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/to/WorkflowTaskExecInput.java
----------------------------------------------------------------------
diff --git a/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/to/WorkflowTaskExecInput.java b/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/to/WorkflowTaskExecInput.java
new file mode 100644
index 0000000..0a7e2be
--- /dev/null
+++ b/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/to/WorkflowTaskExecInput.java
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.common.lib.to;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.HashMap;
+import java.util.Map;
+import javax.ws.rs.PathParam;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import org.apache.syncope.common.lib.AbstractBaseBean;
+import org.apache.syncope.common.lib.jaxb.XmlGenericMapAdapter;
+
+@XmlRootElement(name = "workflowTaskExecInput")
+@XmlType
+public class WorkflowTaskExecInput extends AbstractBaseBean {
+
+    private static final long serialVersionUID = 8060283119070901756L;
+
+    private String userKey;
+
+    @XmlJavaTypeAdapter(XmlGenericMapAdapter.class)
+    private final Map<String, String> variables = new HashMap<>();
+
+    public String getUserKey() {
+        return userKey;
+    }
+
+    @PathParam("userKey")
+    public void setUserKey(final String userKey) {
+        this.userKey = userKey;
+    }
+
+    @JsonProperty
+    public Map<String, String> getVariables() {
+        return variables;
+    }
+}

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/types/BpmnProcessFormat.java
----------------------------------------------------------------------
diff --git a/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/types/BpmnProcessFormat.java b/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/types/BpmnProcessFormat.java
new file mode 100644
index 0000000..549eb9a
--- /dev/null
+++ b/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/types/BpmnProcessFormat.java
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.common.lib.types;
+
+/**
+ * Format for import / export of workflow definition.
+ */
+public enum BpmnProcessFormat {
+
+    XML,
+    JSON
+
+}

http://git-wip-us.apache.org/repos/asf/syncope/blob/3cabe08a/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/types/FlowableEntitlement.java
----------------------------------------------------------------------
diff --git a/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/types/FlowableEntitlement.java b/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/types/FlowableEntitlement.java
new file mode 100644
index 0000000..43825a4
--- /dev/null
+++ b/ext/flowable/common-lib/src/main/java/org/apache/syncope/common/lib/types/FlowableEntitlement.java
@@ -0,0 +1,76 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.common.lib.types;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
+import java.util.Collections;
+import java.util.Set;
+import java.util.TreeSet;
+
+public final class FlowableEntitlement {
+
+    public static final String BPMN_PROCESS_LIST = "BPMN_PROCESS_LIST";
+
+    public static final String BPMN_PROCESS_GET = "BPMN_PROCESS_GET";
+
+    public static final String BPMN_PROCESS_SET = "BPMN_PROCESS_SET";
+
+    public static final String BPMN_PROCESS_DELETE = "BPMN_PROCESS_DELETE";
+
+    public static final String WORKFLOW_TASK_LIST = "WORKFLOW_TASK_LIST";
+
+    public static final String WORKFLOW_FORM_LIST = "WORKFLOW_FORM_LIST";
+
+    public static final String WORKFLOW_FORM_READ = "WORKFLOW_FORM_READ";
+
+    public static final String WORKFLOW_FORM_CLAIM = "WORKFLOW_FORM_CLAIM";
+
+    public static final String WORKFLOW_FORM_SUBMIT = "WORKFLOW_FORM_SUBMIT";
+
+    public static final String USER_REQUEST_DEF_CREATE = "USER_REQUEST_DEF_CREATE";
+
+    public static final String USER_REQUEST_DEF_UPDATE = "USER_REQUEST_DEF_UPDATE";
+
+    public static final String USER_REQUEST_DEF_DELETE = "USER_REQUEST_DEF_DELETE";
+
+    public static final String USER_REQUEST_START = "USER_REQUEST_START";
+
+    public static final String USER_REQUEST_CANCEL = "USER_REQUEST_CANCEL";
+
+    private static final Set<String> VALUES;
+
+    static {
+        Set<String> values = new TreeSet<>();
+        for (Field field : FlowableEntitlement.class.getDeclaredFields()) {
+            if (Modifier.isStatic(field.getModifiers()) && String.class.equals(field.getType())) {
+                values.add(field.getName());
+            }
+        }
+        VALUES = Collections.unmodifiableSet(values);
+    }
+
+    public static Set<String> values() {
+        return VALUES;
+    }
+
+    private FlowableEntitlement() {
+        // private constructor for static utility class
+    }
+}