Skip to content

Commit

Permalink
Upgrade, Refactoring
Browse files Browse the repository at this point in the history
Issue #597
  • Loading branch information
rsoika committed Sep 2, 2024
1 parent 9e59473 commit 71ef92a
Show file tree
Hide file tree
Showing 12 changed files with 326 additions and 433 deletions.
68 changes: 36 additions & 32 deletions imixs-office-workflow-app/pom.xml
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
<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">
<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>
<artifactId>imixs-office-workflow</artifactId>
<groupId>org.imixs.workflow</groupId>
<version>5.0.3-SNAPSHOT</version>
<version>5.1.0-SNAPSHOT</version>
</parent>
<artifactId>imixs-office-workflow-app</artifactId>
<packaging>war</packaging>
Expand Down Expand Up @@ -60,7 +62,8 @@
<exec executable="docker">
<arg value="build" />
<arg value="-t" />
<arg value="imixs/${imixs-office.applicationname}:${project.version}" />
<arg
value="imixs/${imixs-office.applicationname}:${project.version}" />
<arg value="../." />
</exec>
</target>
Expand All @@ -75,9 +78,8 @@
</plugins>
</build>
</profile>





<profile>
<id>docker-build-openliberty</id>
<build>
Expand Down Expand Up @@ -111,8 +113,8 @@
</plugins>
</build>
</profile>


<profile>
<id>docker-payara</id>
<build>
Expand Down Expand Up @@ -144,9 +146,9 @@
</plugin>
</plugins>
</build>
</profile>
</profile>


<profile>
<id>docker-wildfly25</id>
<build>
Expand Down Expand Up @@ -178,8 +180,8 @@
</plugin>
</plugins>
</build>
</profile>
</profile>

<profile>
<id>debug</id>
<build>
Expand Down Expand Up @@ -229,12 +231,14 @@
<exec executable="docker">
<arg value="build" />
<arg value="-t" />
<arg value="imixs/${imixs-office.applicationname}:${project.version}" />
<arg
value="imixs/${imixs-office.applicationname}:${project.version}" />
<arg value="../." />
</exec>
<exec executable="docker">
<arg value="push" />
<arg value="imixs/${imixs-office.applicationname}:${project.version}" />
<arg
value="imixs/${imixs-office.applicationname}:${project.version}" />
</exec>
</target>
</configuration>
Expand All @@ -247,8 +251,8 @@
</plugins>
</build>
</profile>


<profile>
<id>docker-hub-latest</id>
<build>
Expand Down Expand Up @@ -283,7 +287,7 @@

</plugins>
</build>
</profile>
</profile>

<!-- Open ID Connect integration -->
<profile>
Expand All @@ -298,7 +302,7 @@
</dependencies>
</profile>
</profiles>

<build>
<plugins>
<plugin>
Expand All @@ -321,7 +325,7 @@
</configuration>
</plugin>

<!-- Manik Hot Deployment -->
<!-- Manik Hot Deployment -->
<plugin>
<groupId>org.imixs.maven</groupId>
<artifactId>manik-hotdeploy-maven-plugin</artifactId>
Expand Down Expand Up @@ -352,8 +356,8 @@
</hotdeployments>

</configuration>
</plugin>
</plugin>

</plugins>
<finalName>imixs-office-workflow</finalName>
</build>
Expand All @@ -366,7 +370,7 @@
<scope>compile</scope>
<version>${project.parent.version}</version>
</dependency>

<!-- Imixs Workflow -->
<dependency>
<groupId>org.imixs.workflow</groupId>
Expand All @@ -392,15 +396,15 @@
<type>jar</type>
<scope>compile</scope>
</dependency>
<!-- Apache Lucene -->
<!-- Apache Lucene -->
<dependency>
<groupId>org.imixs.workflow</groupId>
<artifactId>imixs-workflow-index-lucene</artifactId>
<type>jar</type>
<scope>compile</scope>
</dependency>


<!-- Apache Solr
<dependency>
<groupId>org.imixs.workflow</groupId>
Expand All @@ -423,20 +427,20 @@
<artifactId>imixs-marty</artifactId>
<scope>compile</scope>
</dependency>

<!-- Melman -->
<dependency>
<groupId>org.imixs.workflow</groupId>
<artifactId>imixs-melman</artifactId>
<scope>compile</scope>
</dependency>

<!-- xsl 2.0 support -->
<dependency>
<groupId>net.sf.saxon</groupId>
<artifactId>Saxon-HE</artifactId>
<version>${net.sf.saxon.version}</version>
<groupId>net.sf.saxon</groupId>
<artifactId>Saxon-HE</artifactId>
<version>${net.sf.saxon.version}</version>
</dependency>

</dependencies>
</project>
Original file line number Diff line number Diff line change
@@ -1,82 +1,90 @@
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:c="http://xmlns.jcp.org/jsp/jstl/core"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:pt="http://xmlns.jcp.org/jsf/passthrough"
xmlns:marty="http://xmlns.jcp.org/jsf/composite/marty"
xmlns:i="http://xmlns.jcp.org/jsf/composite/imixs">

<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:h="http://xmlns.jcp.org/jsf/html" xmlns:c="http://xmlns.jcp.org/jsp/jstl/core"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets" xmlns:pt="http://xmlns.jcp.org/jsf/passthrough"
xmlns:marty="http://xmlns.jcp.org/jsf/composite/marty" xmlns:i="http://xmlns.jcp.org/jsf/composite/imixs">

<div class="imixs-portlet startprocess">
<div class="imixs-header">
<ul>
<li class="active"><span class="typcn typcn-lightbulb"
style="margin-right: 8px;margin-left:0;"></span><h:outputText
value="#{app['portlet_process']}" /></li>
<li class="active"><span class="typcn typcn-lightbulb" style="margin-right: 8px;margin-left:0;"></span>
<h:outputText value="#{app['portlet_process']}" />
</li>
</ul>
</div>
<!-- *** all process nodes where the current user is member of, or the process is public (task=300) *** -->
<ui:repeat value="#{teamController.processList}" var="process">
<ui:repeat value="#{teamController.processList}" var="process">
<h:panelGroup layout="block" styleClass="imixs-viewentry"
rendered="#{(process.item['$taskid'] eq 301 || loginController.isUserInRole('org.imixs.ACCESSLEVEL.MANAGERACCESS') or process.item['isMember'])}">
<h1>
<!-- board -->
<h:link outcome="/pages/notes_board?processref=#{process.item['$uniqueId']}" style="margin-right:10px;"><span class="typcn typcn-th-large-outline" style="margin-right:8px;"></span><h:outputText value="#{process.item['name']}" /></h:link>
<!-- extended search -->
<h:link outcome="/pages/workitems/worklist?processref=#{process.item['$uniqueId']}" title="#{message['nav.search_extended']}"><span class="typcn typcn-zoom-outline" style="margin-left:8px;"></span></h:link>
<!-- archive search -->
<h:link outcome="/pages/workitems/worklist?processref=#{process.item['$uniqueId']}&amp;archive=true" title="#{message['nav.search_archive']}"><span class="typcn typcn-archive" style=""></span></h:link>
<!-- board -->
<h:link outcome="/pages/notes_board?processref=#{process.item['$uniqueId']}"
style="margin-right:10px;"><span class="typcn typcn-th-large-outline"
style="margin-right:8px;"></span>
<h:outputText value="#{process.item['name']}" />
</h:link>
<!-- extended search -->
<h:link outcome="/pages/workitems/worklist?processref=#{process.item['$uniqueId']}"
title="#{message['nav.search_extended']}"><span class="typcn typcn-zoom-outline"
style="margin-left:8px;"></span></h:link>
<!-- archive search -->
<h:link outcome="/pages/workitems/worklist?processref=#{process.item['$uniqueId']}&amp;archive=true"
title="#{message['nav.search_archive']}"><span class="typcn typcn-archive" style=""></span>
</h:link>
<!-- reports -->
<h:link rendered="#{process.item['isManager'] or loginController.isUserInRole('org.imixs.ACCESSLEVEL.MANAGERACCESS')}" outcome="/pages/monitoring_board?processref=#{process.item['$uniqueId']}" title="Monitoring"><span class="typcn typcn-chart-pie-outline"></span></h:link>
<h:link
rendered="#{process.item['isManager'] or loginController.isUserInRole('org.imixs.ACCESSLEVEL.MANAGERACCESS')}"
outcome="/pages/monitoring_board?processref=#{process.item['$uniqueId']}" title="Monitoring">
<span class="typcn typcn-chart-pie-outline"></span>
</h:link>
</h1>
<p>
<h:outputText value="#{process.item['txtdescription']}" escape="false"/>
<h:outputText value="#{process.item['txtdescription']}" escape="false" />
</p>

<!-- *** WorkflowGroup List if user is member*** -->
<ui:param name="isWorkflowCreator" value="#{!(loginController.isUserInRole('org.imixs.ACCESSLEVEL.READERACCESS') or (loginController.isUserInRole('org.imixs.ACCESSLEVEL.NOACCESS') eq true)) }" />
<h:panelGroup
rendered="#{isWorkflowCreator and !empty process.itemList['txtWorkflowList']}">
<ui:param name="isWorkflowCreator"
value="#{!(loginController.isUserInRole('org.imixs.ACCESSLEVEL.READERACCESS') or (loginController.isUserInRole('org.imixs.ACCESSLEVEL.NOACCESS') eq true)) }" />
<h:panelGroup rendered="#{isWorkflowCreator and !empty process.itemList['txtWorkflowList']}">
<ul style="margin: 5px 0;">
<ui:repeat value="#{process.itemList['txtWorkflowList']}"
var="group">
<!-- get first task by group -->
<ui:param name="model"
value="#{modelController.getModelByGroup(group)}" />
<ui:param name="initialTask"
value="#{(!empty model) and (!empty model.findTasksByGroup(group))?model.findTasksByGroup(group).get(0):null}" />

<li><h:panelGroup rendered="#{! empty initialTask}">
<h:commandLink title=" " styleClass="action-create"
actionListener="#{workflowController.create(model.version,initialTask.item['numprocessid'],process.item['$uniqueid'])}"
<ui:repeat value="#{process.itemList['txtWorkflowList']}" var="group">
<li>
<!-- get first task by group -->
<ui:param name="version" value="#{modelController.getVersionByGroup(group)}" />
<ui:param name="startTasks"
value="#{modelController.findAllStartTasksByGroup(version,group)}" />
<h:panelGroup rendered="#{! empty startTasks}">
<ui:param name="initialTask" value="#{startTasks.get(0)}" />
<h:commandLink title=" " styleClass="action-create"
actionListener="#{workflowController.create(version,initialTask.item['numprocessid'],process.item['$uniqueid'])}"
action="/pages/workitems/workitem">
<span class="typcn typcn-folder-add"></span> <h:outputText value="#{group}" />
<span class="typcn typcn-folder-add"></span>
<h:outputText value="#{group}" />
</h:commandLink>
<span class="imixs-tooltip"> <h:outputText
value="#{initialTask.item['rtfdescription']}" escape="false" />
<span class="imixs-tooltip">
<h:outputText value="#{initialTask.item['rtfdescription']}" escape="false" />
</span>
</h:panelGroup> <h:outputText style="color:red" rendered="#{empty initialTask}"
</h:panelGroup>
<h:outputText style="color:red" rendered="#{empty startTasks}"
value=" Missing Model Definition: #{group}"></h:outputText>
</li>
</ui:repeat>
</ul>
</h:panelGroup>
</h:panelGroup>
</ui:repeat>









<!-- Administration -->
<c:choose>
<!-- Admin Menu -->
<c:when
test="#{loginController.isUserInRole('org.imixs.ACCESSLEVEL.MANAGERACCESS')}">
<c:when test="#{loginController.isUserInRole('org.imixs.ACCESSLEVEL.MANAGERACCESS')}">
<ui:include src="/pages/portlet_admin.xhtml" />
</c:when>
<c:otherwise>
Expand All @@ -87,11 +95,10 @@
</c:otherwise>
</c:choose>





</div>

</ui:composition>



</div>

</ui:composition>
Original file line number Diff line number Diff line change
Expand Up @@ -22,27 +22,23 @@
</dd>
</dl>

<ui:param name="tasks"
value="#{modelController.findAllTasksByGroup(searchController.searchFilter.item['$WorkflowGroup'])}" />
<dl>
<dt>#{message['worklist.workflowstatus']}:</dt>
<dd>

<ui:param name="model"
value="#{modelController.getModelByGroup(searchController.searchFilter.item['$WorkflowGroup'])}" />
<h:panelGroup rendered="#{! empty model}">
<ui:param name="tasks"
value="#{model.findTasksByGroup(searchController.searchFilter.item['$WorkflowGroup'])}" />
<dl>
<dt>#{message['worklist.workflowstatus']}:</dt>
<dd>
<h:selectOneMenu id="processid_selection" value="#{searchController.searchFilter.item['$taskid']}">
<f:selectItem itemValue="" itemLabel=" " />
<c:forEach items="#{tasks}" var="processentity">
<f:selectItem itemValue="#{processentity.item['numProcessID']}"
itemLabel="#{processentity.item['txtname']}" />
</c:forEach>
<f:ajax event="change" render="@form" onevent="updateSearchForm" />
</h:selectOneMenu>
</dd>
</dl>

<h:selectOneMenu id="processid_selection" value="#{searchController.searchFilter.item['$taskid']}">
<f:selectItem itemValue="" itemLabel=" " />
<c:forEach items="#{tasks}" var="processentity">
<f:selectItem itemValue="#{processentity.item['numProcessID']}"
itemLabel="#{processentity.item['txtname']}" />
</c:forEach>
<f:ajax event="change" render="@form" onevent="updateSearchForm" />
</h:selectOneMenu>
</dd>
</dl>
</h:panelGroup>

<!-- Spaces are shown if the process defines space selection or if property search.filter.spaces=true -->
<ui:param name="spaceSelection" value="#{teamController.getSpacesByProcessId(process.uniqueID)}"></ui:param>
Expand Down
Loading

0 comments on commit 71ef92a

Please sign in to comment.