Customize tasklist interface?

1,218 views
Skip to first unread message

Melissa Palmer

unread,
Sep 11, 2014, 12:55:27 PM9/11/14
to camunda-...@googlegroups.com
Hi All, 

I am trying to customize the Camunda Tasklist UI, to show things such as (for example): 
 - included links to "My Completed Tasks" 
 - Delayed Tasks (we want to setup a concept that a task only needs to be actioned in the future... but people can claim earlier if they like)
 - Ability to view "My Initiated Processes"
 - Ability to search for processes not assigned to logged in user
 - Ability to request cancelling a process 
 - and a number of other customization 

I have see that I could checkout the actually projects at: 

However, 
- I don't have experience with AngularJS, Grunt, Node
- I am working on a windows environment..... and constantly getting different errors when trying to run the "grunt setup" task. 

My question is: 
1) Am I right to be trying to customize in the above way? (could I just edit the js/html for task list of the final deployable version?)
2) Is it better to write a full UI on our own?
3) Or is there a way to include our own "plugins" for the tasklist app ... similar to what I've seen available for the cockpit? 

Thank you very much in advance
Melissa



kstoe...@gmail.com

unread,
Apr 1, 2015, 9:47:49 AM4/1/15
to camunda-...@googlegroups.com, karl-hein...@gmx.at
Hi Melissa,

I am also new to Camunda and I have the same Problem as you described above.

Did you manage already to "checkout" and modify the Camunda Tasklist?
If yes can you give me some advice?
Thank you very much!

Karl-Heinz

Melissa Palmer

unread,
Apr 1, 2015, 10:08:15 AM4/1/15
to camunda-...@googlegroups.com
Hi Karl-Heinz, 

What I ended up doing was using a Maven War Overlay onto of the camunda-webapp this way you can include into your folder structure 
      \src\main\webapp\app\tasklist
      \src\main\webapp\app\cockpit
      \src\main\webapp\app\admin
and then overide any of the files that you need to for the camnuda-webapp. 

We have actually not done any of the customization I listed out above as Camunda 7.2 provides filters which you can setup within the Tasklist as a way of grouping tasks. 

I know that camunda 7.3 they have provided the ability to include your own plugin to the tasklist app, I have not tired this just yet tho. 

Regards
Melissa

kstoe...@gmail.com

unread,
Apr 1, 2015, 12:57:13 PM4/1/15
to camunda-...@googlegroups.com
Hi Melissa,

could you please explain in more Detail how I can do this Overlay?

I am Working with Camunda Eclipse Modeler and I know how to create a war file.

Thanks
Regards
Karl-Heinz

Melissa Palmer

unread,
Apr 2, 2015, 1:54:32 AM4/2/15
to camunda-...@googlegroups.com
Hi Karl, 

You will need to know how to use Maven 
Here is some documentation about War Overlays

Cheers
melissa



On Thursday, 11 September 2014 18:55:27 UTC+2, Melissa Palmer wrote:

Karl-Heinz Stöckler

unread,
Apr 2, 2015, 9:06:33 AM4/2/15
to camunda-...@googlegroups.com
Hi Melissa,

I am working already the whole day trying to get that overlay work :(

I have read the two articles, and followed the instructions.

This is how my pom.xml file of my test-process Application looks like
<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>
   
<groupId>org.camunda.bpm.getstarted</groupId>
   
<artifactId>test-process</artifactId>
   
<version>0.0.1-SNAPSHOT</version>
   
<packaging>war</packaging>
   
<!-- import camunda BOM to ensure correct versions of camunda projects -->
   
<dependencyManagement>
       
<dependencies>
           
<dependency>
               
<groupId>org.camunda.bpm</groupId>
               
<artifactId>camunda-bom</artifactId>
               
<version>7.2.0</version>
               
<scope>import</scope>
               
<type>pom</type>
           
</dependency>
       
</dependencies>
   
</dependencyManagement>

   
<dependencies>

       
<dependency>
           
<groupId>org.camunda.bpm.webapp</groupId>
           
<artifactId>camunda-webapp-jboss</artifactId>
           
<version>7.2.0-alpha2</version>
           
<type>war</type>
       
</dependency>


       
<!-- camunda engine dependency -->
       
<dependency>
           
<groupId>org.camunda.bpm</groupId>
           
<artifactId>camunda-engine</artifactId>
           
<scope>provided</scope>
       
</dependency>

       
<!-- camunda cdi beans -->
       
<dependency>
           
<groupId>org.camunda.bpm</groupId>
           
<artifactId>camunda-engine-cdi</artifactId>
       
</dependency>

       
<!-- provides a default EjbProcessApplication -->
       
<dependency>
           
<groupId>org.camunda.bpm.javaee</groupId>
           
<artifactId>camunda-ejb-client</artifactId>
       
</dependency>

       
<!-- Java EE 6 Specification -->
       
<dependency>
           
<groupId>org.jboss.spec</groupId>
           
<artifactId>jboss-javaee-web-6.0</artifactId>
           
<version>3.0.2.Final</version>
           
<type>pom</type>
           
<scope>provided</scope>
           
<exclusions>
               
<exclusion>
                   
<artifactId>xalan</artifactId>
                   
<groupId>xalan</groupId>
               
</exclusion>
           
</exclusions>
       
</dependency>

   
</dependencies>

   
<build>
       
<finalName>test-process</finalName>
       
<plugins>
           
<plugin>
               
<groupId>org.apache.maven.plugins</groupId>
               
<artifactId>maven-war-plugin</artifactId>
               
<version>2.3</version>
               
<configuration>
                   
<failOnMissingWebXml>false</failOnMissingWebXml>
               
</configuration>
           
</plugin>
           
           
<plugin>
               
<groupId>org.apache.maven.plugins</groupId>
               
<artifactId>maven-war-plugin</artifactId>
               
<version>2.3</version>
               
<configuration>
                   
<overlays>
                       
<overlay>
                           
<groupId>org.camunda.bpm.webapp</groupId>
                           
<artifactId>camunda-webapp-jboss</artifactId>
                       
</overlay>
                   
</overlays>
               
</configuration>
           
</plugin>
       
</plugins>
   
</build>
</project>

I have downloaded the file camunda-tasklist-ui-master.zip from here: https://github.com/camunda/camunda-tasklist-ui
Then I have created the folder structure as you mentioned (src/main/webapp/app/tasklist) in my test-process Application. Inside this folder I added the files/folders fonts, images, scripts, styles and index.html from the camunda-tasklist-ui-master.zip

When I run the maven clean and build it works fine. It even shows a Info message that the overlay is processed:
[INFO] Processing overlay [ id org.camunda.bpm.webapp:camunda-webapp-jboss]

But when I try to install the created war file (which now is much bigger than the old one) on my jboss server (which is the preconfigured version from the camunda download webpage http://camunda.org/download/) I get the following error:

15:02:03,955 INFO  [org.jboss.weld.deployer] (MSC service thread 1-2) JBAS016005: Starting Services for CDI deployment: test-process.war
15:02:03,965 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC00001: Failed to start service jboss.deployment.unit."test-process.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit."test-process.war".INSTALL: JBAS018733: Failed to process phase INSTALL of deployment "test-process.war"
    at org
.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:127) [jboss-as-server-7.2.0.Final.jar:7.2.0.Final]
    at org
.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.4.GA.jar:1.0.4.GA]
    at org
.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.4.GA.jar:1.0.4.GA]
    at java
.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_51]
    at java
.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51]
    at java
.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS018027: Failed to add JBoss Web deployment service
    at org
.jboss.as.web.deployment.WarDeploymentProcessor.processDeployment(WarDeploymentProcessor.java:353)
    at org
.jboss.as.web.deployment.WarDeploymentProcessor.deploy(WarDeploymentProcessor.java:126)
    at org
.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:120) [jboss-as-server-7.2.0.Final.jar:7.2.0.Final]
   
... 5 more
Caused by: org.jboss.msc.service.DuplicateServiceException: Service jboss.web.deployment.default-host./camunda.realm is already registered
    at org
.jboss.msc.service.ServiceRegistrationImpl.setInstance(ServiceRegistrationImpl.java:154) [jboss-msc-1.0.4.GA.jar:1.0.4.GA]
    at org
.jboss.msc.service.ServiceControllerImpl.startInstallation(ServiceControllerImpl.java:227) [jboss-msc-1.0.4.GA.jar:1.0.4.GA]
    at org
.jboss.msc.service.ServiceContainerImpl.install(ServiceContainerImpl.java:561) [jboss-msc-1.0.4.GA.jar:1.0.4.GA]
    at org
.jboss.msc.service.ServiceTargetImpl.install(ServiceTargetImpl.java:201) [jboss-msc-1.0.4.GA.jar:1.0.4.GA]
    at org
.jboss.msc.service.ServiceControllerImpl$ChildServiceTarget.install(ServiceControllerImpl.java:2228) [jboss-msc-1.0.4.GA.jar:1.0.4.GA]
    at org
.jboss.msc.service.ServiceTargetImpl.install(ServiceTargetImpl.java:201) [jboss-msc-1.0.4.GA.jar:1.0.4.GA]
    at org
.jboss.msc.service.ServiceControllerImpl$ChildServiceTarget.install(ServiceControllerImpl.java:2228) [jboss-msc-1.0.4.GA.jar:1.0.4.GA]
    at org
.jboss.msc.service.ServiceBuilderImpl.install(ServiceBuilderImpl.java:307) [jboss-msc-1.0.4.GA.jar:1.0.4.GA]
    at org
.jboss.as.web.deployment.WarDeploymentProcessor.processDeployment(WarDeploymentProcessor.java:291)
   
... 7 more

15:02:15,213 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-5) JBAS015877: Stopped deployment test-process.war (runtime-name: test-process.war) in 11231ms
15:02:15,215 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-6) JBAS015876: Starting deployment of "test-process.war" (runtime-name: "test-process.war")
15:02:15,215 ERROR [org.jboss.as.server] (DeploymentScanner-threads - 1) JBAS015863: Replacement of deployment "test-process.war" by deployment "test-process.war" was rolled back with the following failure message:
{"JBAS014671: Failed services" => {"jboss.deployment.unit.\"test-process.war\".INSTALL" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"test-process.war\".INSTALL: JBAS018733: Failed to process phase INSTALL of deployment \"test-process.war\"
    Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS018027: Failed to add JBoss Web deployment service
    Caused by: org.jboss.msc.service.DuplicateServiceException: Service jboss.web.deployment.default-host./camunda.realm is already registered"
}}
15:02:25,800 INFO  [org.camunda.bpm.container.impl.jboss.deployment.processor.ProcessApplicationProcessor] (MSC service thread 1-6) Detected user-provided @ProcessApplication component with name 'DefaultEjbProcessApplication'.
15:02:25,822 INFO  [org.jboss.as.jpa] (MSC service thread 1-6) JBAS011401: Read persistence.xml for primary
15:02:26,220 INFO  [org.jboss.weld.deployer] (MSC service thread 1-2) JBAS016002: Processing weld deployment test-process.war
15:02:26,223 INFO  [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC service thread 1-2) JNDI bindings for session bean named RequestBusinessLogic in deployment unit deployment "test-process.war" are as follows:

    java
:global/test-process/RequestBusinessLogic!RequestBusinessLogic
    java
:app/test-process/RequestBusinessLogic!RequestBusinessLogic
    java
:module/RequestBusinessLogic!RequestBusinessLogic
    java
:global/test-process/RequestBusinessLogic
    java
:app/test-process/RequestBusinessLogic
    java
:module/RequestBusinessLogic

15:02:26,225 INFO  [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC service thread 1-2) JNDI bindings for session bean named DefaultEjbProcessApplication in deployment unit deployment "test-process.war" are as follows:

    java
:global/test-process/DefaultEjbProcessApplication!org.camunda.bpm.application.ProcessApplicationInterface
    java
:app/test-process/DefaultEjbProcessApplication!org.camunda.bpm.application.ProcessApplicationInterface
    java
:module/DefaultEjbProcessApplication!org.camunda.bpm.application.ProcessApplicationInterface
    java
:global/test-process/DefaultEjbProcessApplication
    java
:app/test-process/DefaultEjbProcessApplication
    java
:module/DefaultEjbProcessApplication

15:02:26,304 INFO  [org.jboss.weld.deployer] (MSC service thread 1-2) JBAS016005: Starting Services for CDI deployment: test-process.war
15:02:26,310 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC00001: Failed to start service jboss.deployment.unit."test-process.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit."test-process.war".INSTALL: JBAS018733: Failed to process phase INSTALL of deployment "test-process.war"
    at org
.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:127) [jboss-as-server-7.2.0.Final.jar:7.2.0.Final]
    at org
.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.4.GA.jar:1.0.4.GA]
    at org
.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.4.GA.jar:1.0.4.GA]
    at java
.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_51]
    at java
.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51]
    at java
.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS018027: Failed to add JBoss Web deployment service
    at org
.jboss.as.web.deployment.WarDeploymentProcessor.processDeployment(WarDeploymentProcessor.java:353)
    at org
.jboss.as.web.deployment.WarDeploymentProcessor.deploy(WarDeploymentProcessor.java:126)
    at org
.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:120) [jboss-as-server-7.2.0.Final.jar:7.2.0.Final]
   
... 5 more
Caused by: org.jboss.msc.service.DuplicateServiceException: Service jboss.web.deployment.default-host./camunda.realm is already registered
    at org
.jboss.msc.service.ServiceRegistrationImpl.setInstance(ServiceRegistrationImpl.java:154) [jboss-msc-1.0.4.GA.jar:1.0.4.GA]
    at org
.jboss.msc.service.ServiceControllerImpl.startInstallation(ServiceControllerImpl.java:227) [jboss-msc-1.0.4.GA.jar:1.0.4.GA]
    at org
.jboss.msc.service.ServiceContainerImpl.install(ServiceContainerImpl.java:561) [jboss-msc-1.0.4.GA.jar:1.0.4.GA]
    at org
.jboss.msc.service.ServiceTargetImpl.install(ServiceTargetImpl.java:201) [jboss-msc-1.0.4.GA.jar:1.0.4.GA]
    at org
.jboss.msc.service.ServiceControllerImpl$ChildServiceTarget.install(ServiceControllerImpl.java:2228) [jboss-msc-1.0.4.GA.jar:1.0.4.GA]
    at org
.jboss.msc.service.ServiceTargetImpl.install(ServiceTargetImpl.java:201) [jboss-msc-1.0.4.GA.jar:1.0.4.GA]
    at org
.jboss.msc.service.ServiceControllerImpl$ChildServiceTarget.install(ServiceControllerImpl.java:2228) [jboss-msc-1.0.4.GA.jar:1.0.4.GA]
    at org
.jboss.msc.service.ServiceBuilderImpl.install(ServiceBuilderImpl.java:307) [jboss-msc-1.0.4.GA.jar:1.0.4.GA]
    at org
.jboss.as.web.deployment.WarDeploymentProcessor.processDeployment(WarDeploymentProcessor.java:291)
   
... 7 more

15:02:26,336 INFO  [org.jboss.as.controller] (DeploymentScanner-threads - 1) JBAS014774: Service status report
JBAS014777
:   Services which failed to start:      service jboss.deployment.unit."test-process.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit."test-process.war".INSTALL: JBAS018733: Failed to process phase INSTALL of deployment "test-process.war"

I guess the important message is: Service jboss.web.deployment.default-host./camunda.realm is already registered.
And I think it has something to do with the file camunda-webapp-jboss-7.2.0.war which is in my deployment folder, but I am not sure?

Did you also use the preconfigured server version from the camunda download webpage http://camunda.org/download/?
Can you please give my some more hints on doing this overlay.

Thank you very much!
Karl



Melissa Palmer

unread,
Apr 13, 2015, 3:10:04 AM4/13/15
to camunda-...@googlegroups.com
Hi Karl-Heinz

I am not familiar with the JBoss implementation.. I've been using tomcat. 

I did not sure code from the git-hub repository.. .what I did was run a clean build via your pom file. This creates you a war which I deployed (not customization yet).
They using what was in the war I created a folder structure from that for only the files I wanted to override. 

Regards
Melissa


On Thursday, 11 September 2014 18:55:27 UTC+2, Melissa Palmer wrote:

Karl-Heinz Stöckler

unread,
Apr 16, 2015, 2:52:34 AM4/16/15
to camunda-...@googlegroups.com
Hi,

@ Melissa thanks for your tips.

I have found now a easy way (to customize tasklist, cockpit and admin page) which is sufficient for my needs.

I unzipped (with 7zip) the "camunda-webapp-jboss-7.2.0.war" file which was included in the deployments folder of the prepackaged jboss-camunda server.
Then I navigated to the user-styles.css files of the tasklist/cockpit/admin and there I added my customizations.

After that I ziped all the files again into "camunda-webapp-jboss-7.2.0.zip" and then I changed the ending from zip to war. Then drop this file in the deployments folder.
It is important that the zip/war file does not contain a folder camunda-webapp-jboss-7.2.0, in the zip/war file there needs to be the folders app, META-INF, plugin, WEB-INF, index.html

Second thing was that my broswer cached the old design, so I needed to restart the browser and Refresh the page with CTRL+R.

This worked for me :)

Greetings
Karl

Melissa Palmer

unread,
Apr 28, 2015, 3:25:36 AM4/28/15
to camunda-...@googlegroups.com
Hi Karl-Heinz

Yes what you have done will work however you won't have the ability for
- repeatable build steps you could use within a CI 
- when upgrading the camunda version you are using you most likely will have to repeat these steps again 


Cheers


On Thursday, 11 September 2014 18:55:27 UTC+2, Melissa Palmer wrote:

testgu...@gmail.com

unread,
Aug 17, 2015, 1:28:57 PM8/17/15
to camunda BPM users
Hi Melissa,

I'm working on the overlays you described here to customize the tasklist and cockpit because I don't want to repeat the config each time I upgrade.

Can you helpme in getting this to work ? I'm thinking using the lastest alpha build to start with.

I'm working on a windows environmnet. I created my customize apache maven project but I'm struggling with the file structure of the maven overlay and having troubles getting the latest alpa build to work.

Regards,

testgu...@gmail.com

unread,
Aug 17, 2015, 8:22:51 PM8/17/15
to camunda BPM users
I got it to work. Thanks anyway ;)

Regards,

Reply all
Reply to author
Forward
0 new messages